InsCode Stable Diffusion使用教程【InsCode Stable Diffusion美图活动一期】

记录一下如何使用 InsCode Stable Diffusion 进行 AI 绘图以及使用感受。

一、背景介绍

目前市面上比较权威,并能用于工作中的 AI 绘画软件其实就两款。一个叫 Midjourney(简称 MJ),另一个叫 Stable Diffusion(简称 SD)。MJ 需要付费使用,而 SD 开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。

和 MJ 相比,SD 最大的优势是开源,这意味着 Stable Diffusion 的潜力巨大、发展飞快。由于开源免费属性,SD 已经收获了大量活跃用户,开发者社群已经为此提供了大量免费高质量的外接预训练模型(fine-tune)和插件,并且在持续维护更新。在第三方插件和模型的加持下,SD 拥有比 Midjourney 更加丰富的个性化功能。

Stable Diffusion 简介

Stable Diffusion 是 2022 年发布的深度学习文本到图像生成模型,它主要用于根据文本的描述产生详细图像(即 txt2img 应用场景),尽管它也可以应用于其他任务,如内补绘制(inpainting)、外补绘制(outpainting),以及在提示词(英语)指导下产生图生图的翻译(img2img)。

模型原理

在这里插入图片描述
引用一张广为人知的 SD 原理图(源于论文https://arxiv.org/abs/2112.10752),该模型主要可以分为三个部分:

  • 变分编码器(Vector Quantised Variational AutoEncoder,VQ-VAE)
  • 扩散模型(Diffusion Model, DM),在生成图片中起着最重要的作用
  • 条件控制器(Conditioning)

详细原理介绍可参考文章 Stable Diffusion 简介

用一句话总结 SD 的模型原理:图片通过 VAE 转换到低维空间,配合 Conditioning 的 DM 产生新的变量,再通过 VAE 将生成的变量转换为图片

推荐电脑配置

Stable Diffusion 对电脑配置有一定的要求,比较推荐的配置如下:

操作系统:SD 更加适配于 windows。建议使用 windows10、windows11。

内存:8GB 以上,建议使用 16GB 或以上的内存。在内存比较小的情况下,可能需要调高虚拟内存,以容纳模型文件。

硬盘:40GB 以上的可用硬盘空间,建议准备 60GB 以上空间,最好是固态硬盘。

显卡:最低需要显存 2GB,建议显存不少于 4GB,推荐 8GB 以上。型号方面,因为需要用到 CUDA 加速,所以 N 卡支持良好。A 卡可以用,但速度明显慢于英伟达显卡,当然,如果你的电脑没有显卡也可以用 CPU 花几百倍时间生成。

下面是进行 512x 图片生成时主流显卡速度对比:

在这里插入图片描述

Stable Diffusion WebUI

目前有一些基于 Stable Diffusion 封装的 webui 开源项目,可以通过界面交互的方式来使用 Stable-diffusion,自身还可以通过插件等方式获得更多能力,极大的降低了使用门槛,以下是几个比较火的 webui 项目:

  • https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • https://github.com/Sygil-Dev/sygil-webui

这些项目,和平常软件安装方法有所不同,不是下载安装即可用的软件,需要准备执行环境、编译源码,针对不同操作系统(操作系统依赖)、不同电脑(硬件依赖)还有做些手工调整,这需要使用者拥有一定的程序开发经验。

二、Stable Diffusion 模型在线使用地址

InsCode 的 Stable Diffusion 环境主要用于学习和使用 Stable Diffusion,已经安装了相关软件和组件库,可在线直接启动 Stable Diffusion WebUI 进行创作。还可以一键购买算力,训练大模型,极大的降低了 AI 绘图使用门槛。

Stable Diffusion 模型在线使用地址:https://inscode.csdn.net/@inscode/Stable-Diffusion

进入之后点击运行并使用,会弹出一个购买算力资源的窗口。由于是试用,不涉及到连续生成多张图片等场合,因此算力足够用了,选择 RTX 3080 即可(0.51元/小时),目前活动免费试用。

操作完成之后,会跳转到 InsCode 工作台界面,在算力资源中,已经可以看到刚才选择的机器了。

在这里插入图片描述
待它初始化完成,右侧有三个选项,选择 Stabel Diffusion WebUI 进入即可。进入界面如下图:

在这里插入图片描述

三、Stable Diffusion WebUI 界面介绍与参数解析

  • 第一部分:界面最上端 stable diffusion ckpt 可以选择模型文件,InsCode 上面提供了几个常用模型,如 chilloutmix、GuoFeng3、Cute_Animals 可供选择。为 InsCode Stable Diffusion 安装某个自己喜欢的模型可查看这里!

  • 第二部分,便是 stable diffusion webui 项目的主要功能与设置操作

    文生图:顾名思义是通过文本的描述来生成图片
    图生图:用一张图片生成相似的图片
    附加功能:额外的设置
    图片信息:若图片是由 AI 生成的图片,当上传一张图片后,这里会提示图片的相关 prompt 关键字与模型参数设置
    模型合并:可以合并多个模型,有多个模型的权重来生成图片
    训练:模型训练,可以提供自己的图片进行模型的训练,这样别人就可以使用自己训练的模型进行图片的生成
    设置:UI 界面设置
    扩展:插件扩展,这里可以安装一些开源的插件,例如汉化插件

  • 第三部分:是正(负)面提示词输入框,我们需要在此框中输入图片的描述信息,正面提示词是我们希望生成的图片需要的文本,负面提示词是我们不希望生成的图片文本。

    开始不知道怎么写提示词,可以先参考优秀的风格模板作为起手式,还可以借助描述语工具和网站,多出图多研究,掌握了出图规律,慢慢就可以自己写提示词啦,写提示词要尽可能写的详细。跑 AI 的过程就像抽卡,抽出一堆卡,选出你审美范畴里觉得好看的。

  • 第四部分:界面左下方,便是模型输入的相关参数:

    采样方法:里面设置了很多采样算法,各有优缺,具体每个算法的效果,可以自行尝试
    采样迭代步数:模型迭代一次的步数
    平铺:生成一张可以平铺的图像
    面部修复:面部修复功能,可以提供面部细节,但是非写实风格的人物开启面部修复可能导致面部崩坏
    高清修复:可以把低分辨率的照片调整到高分辨率
    宽度高度:输出图片的尺寸
    提示词相关性CFG:较高的数值将提高生成结果与提示的匹配度
    随机种子:seed 一样的情况下,可以生成比较相似的图片,记住保留你喜欢的种子,以便下次再次生成相似的图像
    生成批次:每次生成图像的组数。一次运行生成图像的数量为 生成批次 * 每批数量
    每批数量:同时生成多少个图像

  • 第五部分:便是一键生成图片的按键,我们设置完成以上参数的设置后,点击生成按键,便可以自动生成图片了,

    生成下面的5个小图标(从左到右依次分别是)

    • 复原上次生成图片的提示词(自动记录)
    • 清空当前所有提示词
    • 打开模型选择界面
    • 应用选择的风格模板到当前的提示词
    • 存档当前的正(负)面提示词
  • 相关的图片会展示在第六部分区域。

四、如何在 InsCode 给 Stable Diffusion 安装模型

常用模型下载网址

目前,模型数量最多的两个网站是 civitai 和 Huggingface。

civitai 又称 C 站,有非常多精彩纷呈的模型,有了这些模型,但是该网站在国内是被屏蔽的。登录需要科学上网。

在这里插入图片描述
Huggingface 则相对朴实无华一些,对模型的审核也会更加严格一些。但是好处在于不需要科学上网,而且网速很快。

在这里插入图片描述
此外,AI 图站可以淘到不少 C 站下架了的模型,也是相当不错的。

常用模型及说明

如果你点开上述网站去下载模型,就会发现有各种不同类型的模型。

CivitAI 上的模型主要分为四类:Checkpoint、LoRA、Textual Inversion、Hypernetwork,分别对应 4 种不同的训练方式。

  • Checkpoint:是 SD 能够绘图的基础模型,因此被称为大模型、底模型或者主模型,WebUI 上就叫它 Stable Diffusion 模型。安装完 SD 软件后,必须搭配主模型才能使用。不同的主模型,其画风和擅长的领域会有侧重。Checkpoint 模型包含生成图像所需的一切,不需要额外的文件。但是它们体积很大,通常为2G-7G。存放在 Stable Diffusion 安装目录的 models 的 Stable-diffusion 目录里。

  • LoRA:一种轻量化的模型微调训练方法,是在原有大模型的基础上,对该模型进行微调,用于输出固定特征的人或事物。特点是对于特定风格特征的出图效果好,训练速度快,模型文件小,一般 10-200 MB,需要搭配大模型使用。存放在 Stable Diffusion 安装目录的 models 的 Lora 目录里

  • Embedding/Textual lnversion:一种使用文本提示来训练模型的方法,可以简单理解为一组打包的提示词,用于生成固定特征的人或事物。特点是对于特定风格特征的出图效果好,模型文件非常小,一般几十 K,但是训练速度较慢,需要搭配大模型使用。存放在 Stable Diffusion 安装目录下的 Embeddings 目录里。

  • Hypernetwork:目前 Hypernetworks 已经不太用,类似 LoRA,但模型效果不如 LoRA,一般几十 K,需要搭配大模型使用。存放在 Stable Diffusion 安装目录的 models 下的 Hypernetworks 目录里。

模型推荐:Checkpoint > LoRA > Textual Inversion > Hypernetwork

通常情况 Checkpoint 模型搭配 LoRA 或 Textual Inversion 模型使用,可以获得更好的出图效果。

补充:还有一类 VAE 模型,简单理解它的作用就是提升图像色彩效果,让画面看上去不会那么灰蒙蒙,此外对图像细节进行细微调整。

几个推荐模型

  • DreamShaper

    胜任多种风格(写实、原画、2.5D 等),能生成很棒的人像和风景图的 Checkpoint 模型。

    在这里插入图片描述

  • Chilloutmix/Chikmix

    Chilloutmix 就是大名鼎鼎的亚洲美女模型。市面上你看到的大量的 AI 美女,基本上都是这个模型生成的。当时最火的图应该下面这个系列。

    在这里插入图片描述

    也正是这个模型,让 AI 绘画彻底出圈。

  • Cetus-Mix

    这是一个二次元的混合模型,融合了很多二次元的模型,实际使用效果还不错。对提示词的要求不高。

    在这里插入图片描述

  • Guofeng 系列

    这是一个中国华丽古风风格模型,也可以说是一个古风游戏角色模型,具有 2.5D 的质感。目前最新的版本是 GuoFeng3.4。

    在这里插入图片描述

  • blindbox

    可生成盲盒风格的 LoRA 模型,使用时主模型建议选 ReV Animated。

    在这里插入图片描述

如何在 InsCode 给 Stable Diffusion 安装 Lora

  1. 首先,在自己的电脑上下载好需要安装的 Lora 文件,并通过 Jupyter Lab 启动 GPU,如下图所示:

    在这里插入图片描述

  2. 打开 JupyterLab 界面,找到上传入口,将下载好的 Lora 上传到 GPU。

    在这里插入图片描述

  3. 打开 Terminal ,将已经上传到 GPU 的 Lora 文件复制到 /release/stable-diffusion-webui/models/Lora 文件夹下。

    在这里插入图片描述
    具体命令:

    # cd /root/workspace
    # ls
    jupyterlab.log  shinkai_makoto_offset.safetensors  stable-diffusion-webui.log
    # cp shinkai_makoto_offset.safetensors /release/stable-diffusion-webui/models/Lora 
    # cd /release/stable-diffusion-webui/models/Lora
    # ls
    Cute_Animals.safetensors     SuoiresnuStyle-Rech44.safetensors  ZhouShuyi.safetensors   capi-09.safetensors                 mix4.safetensors
    GuoFeng3.2_Lora.safetensors  YaeMiko_mixed.safetensors          cZhouShuyi.safetensors  koreanDollLikeness_v15.safetensors  	shinkai_makoto_offset.safetensors
    

    注意,这里的 shinkai_makoto_offset.safetensors 是我下载的 Lora 文件

  4. 当看到下载的 Lora 模型文件已经存在 Lora 文件夹下,重新打开 Stable Diffusion WebUI,点击右侧红圈中的 icon,稍等片刻,可以看到 Lora 界面被打开

    在这里插入图片描述

  5. 点击 Lora 之后,可以看到当前 Stable Diffusion 已经安装的 Lora,找到自己上传的 Lora,就会在 Prompt 产生一行对该 Lora 的引用。

    在这里插入图片描述

至此,当前的 Stable Diffusion 版本已经装好了某个自己喜欢的 Lora,同理 , 可以用同样的操作方式安装 Checkpoint、 Embedding 等。

接下来我们使用 InsCode Stable Diffusion 来进行 AI 绘图。

五、使用 InsCode Stable Diffusion 进行 AI 绘图

下面是我的一些生成例子的图片展示,附带参数设置以提示词和种子:

生成图一

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 768x1024
Model hash: 7234b76e42
Model: chilloutmix-Ni
Version: v1.2.0
Seed: 162297642

提示词:

Prompt: Best quality,raw photo,seductive smile,cute,realistic lighting,beautiful detailed eyes,(collared shirt:1.1),bowtie,pleated skirt,floating long hair,beautiful detailed sky,
Negtive Prompt: Negative prompt: nsfw, ng_deepnegative_v1_75t,badhandv4, (worst quality:2), (low quality:2), (normal quality:2), lowres,watermark, monochrome

生成图二

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 768x1024
Model hash: 74c61c3a52
Model: GuoFeng3
Version: v1.2.0
Seed: 1110161009

提示词:

Prompt: best quality,red clothes,smile,handsome girl,fairy and elegant aura,delicate makeup,
Negtive Prompt: nsfw,ng_deepnegative_v1_75t,badhandv4,(worst quality:2),(low quality:2),(normal quality:2),lowres,watermark,monochrome,modern element,topless female,

生成图三

在图三图四中使用了 Makoto Shinkai 的 Lora 模型,可以生成新海诚画风图片

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 1440x810
Model hash: 9c321174ae
Model: ghostmix_v11
Version: v1.2.0
Seed: 2262843784

提示词:

Prompt: ((Best quality)), ((masterpiece)), abandoned brutalist architecture of Pripyat,sunlight,cloudy weather, hyper realistic DSLR photo, Nikon D5 lora:add_detail:1,mist,
Negtive Prompt: ng_deepnegative_v1_75t,easynegative,(worst quality:2), (low quality:2), (normal quality:1.8), lowres, ((monochrome)), ((grayscale)),sketch,ugly,morbid, deformed,logo,text, bad anatomy,bad proportions,disfigured,extra arms, extra legs, fused fingers,extra digits, fewer digits, mutated hands, poorly drawn hands,bad hands, (loli, young, child, infant, teenager:1.5), ((((turned on lights))))

生成图四

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 1440x810
Model hash: 9c321174ae
Model: ghostmix_v11
Version: v1.2.0
Seed: 4267252388

提示词:

Prompt: shinkai makoto, kimi no na wa., air conditioner, antennae, architecture, building, cable, city, cloud, cloudy sky, comet, crane (machine), house, industrial pipe, japan, light, night, night sky, no humans, outdoors, pipeline, satellite dish, shinjuku (tokyo), sky, star (sky), tokyo (city), window,lora:shinkai_makoto_offset:1
Negtive Prompt: (painting by bad-artist-anime:0.9), (painting by bad-artist:0.9), watermark, text, error, blurry, jpeg artifacts, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, (worst quality, low quality:1.4), bad anatomy

六、使用体验

本次功能测评到此结束。总得来说,InsCode 上面在线运行 Stable Diffusion 体验非常棒。然而,有时候会卡死,需要重启 GPU。此外,chilloutmix 在负面提示词较少时容易生成涩图。。。不利于青少年学习

感兴趣的小伙伴可以亲自尝试一下!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/38677.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 uiautomator2+pytest+allure 进行 Android 的 UI 自动化测试

目录 前言: 介绍 pytest uiautomator2 allure 环境搭建 pytest uiautomator2 allure pytest 插件 实例 初始化 driver fixture 机制 数据共享 测试类 参数化 指定顺序 运行指定级别 重试 hook 函数 断言 运行 运行某个文件夹下的用例 运行某…

RabbitMQ保证消息的可靠投递,Java实现RabbitMQ消息的可靠投递,Springboot实现RabbitMQ消息的可靠投递

文章目录 一、RabbitMQ消息可靠性概述1、引出问题2、RabbitMQ消息可靠性保证的四个环节 二、保证生产者消息发送到RabbitMQ服务器1、服务端确认:Transaction模式(1)JavaAPI(2)springbootAPI 2、服务端确认:…

laravel 的SQL使用正则匹配

案例场景 精准正则匹配 查询结果 代码如下 $regexp ^ . $new_str . [^0-9];$info Test::query()->where(is_del, 0)->whereRaw("name REGEXP $regexp")->pluck(name, id)->toArray();字符 “^” 匹配以特定字符或者字符串开头的文本 name 字段值包含…

【kubernetes系列】Kubernetes之调度器和调度过程

Kubernetes之调度器和调度过程 概述 当用户请求向API server创建新的Pod时,API server检查授权、权限等没有任何问题的话,他会把这个请求交由Scheduler,由Scheduler检查所有符合该Pod要求的列表,开始执行Pod调度逻辑&#xff0c…

AI智能助手的未来:与人类互动的下一代人工智能技术

自我介绍⛵ 📣我是秋说,研究人工智能、大数据等前沿技术,传递Java、Python等语言知识。 🙉主页链接:秋说的博客 📆 学习专栏推荐:人工智能:创新无限、MySQL进阶之路、C刷题集、网络安…

WEB APIs day4 (1)

一、日期对象 1.实例化 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevi…

数据结构——六大排序 (插入,选择,希尔,冒泡,堆,快速排序)

1. 插入排序 1.1基本思路 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 我们熟知的斗地主就是一个插入排序 1.2 代码实现 我们这里将一个无序数组变成有序数组 插入排序时…

antd-React Table 中文转化

1.首先需要进行中文包导入 2.引入标签对Table进行包裹即可 import zh_CN from antd/lib/locale-provider/zh_CN;import {ConfigProvider} from antd;<ConfigProvider locale{zh_CN}><Tablecolumns{columns}rowKey{record > record.id}dataSource{data}pagination{p…

SQL进阶(2)——SQL语句类型 增删改查CRUD 事务初步 表关联关系 视图 +索引

目录 引出SQL语句类型1.DML数据操纵语言&#xff08;重点&#xff09;2.DQL数据查询语言&#xff08;重点&#xff09;3.DDL(Data Definition Language了解)4.DCL(Data Control Language了解)5.TCL 事务控制语言 运算符和其他函数1.运算符2.其它函数增删改查CRUD 视图索引事务1…

如何克服Leetcode做题的困境

文章目录 如何克服Leetcode做题的困境问题背景克服困境的建议实践与理论结合切忌死记硬背分析解题思路不要过早看答案迭代式学习寻求帮助坚持与耐心查漏补缺 结论 如何克服Leetcode做题的困境 问题背景 明明自觉学会了不少知识&#xff0c;可真正开始做Leetcode题目时&#x…

基于单片机的恒温恒湿温室大棚温湿度控制系统的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;液晶显示当前温湿度按键设置温湿度报警上限和下限&#xff1b;温度低于下限继电器闭合加热片进行加热&#xff1b;温度超过上限继电器闭合开启风扇进行降温湿度低于下限继电器闭合加湿器进行加湿湿度高于上限继电器闭合开启风扇进行…

JavaWeb(3)——HTML、CSS、JS 快速入门

一、JavaScript 运算符 • 赋值运算符&#xff08; &#xff09; 赋值运算符执行过程&#xff1f; 将等号右边的值赋予给左边, 要求左边必须是一个容器 出现是为了简化代码, 比如让 let age 18 &#xff0c;age 加 2 怎么写呢 let age 18age 2console.log(age)age * 2con…

苹果APP安装包ipa如何安装在手机上

苹果APP安装包ipa如何安装在手机上 苹果APP的安装比安卓复杂且困难&#xff0c;很多人不知道如何将ipa文件安装到手机上。以下是几种苹果APP安装在iOS设备的方式&#xff0c;供大家参考。 一、上架App Store 这是最正规的方式。虽然审核过程复杂、时间较长&#xff0c;且审核…

关于电脑显示器屏幕看不出灰色,灰色和白色几乎一样无法区分,色彩调整方法

问题&#xff1a; 电脑显示器屏幕看不出灰色&#xff0c;灰色和白色几乎一样无法区分。白色和灰色有色差。 解决方法&#xff1a; 打开“控制面板” ->“色彩管理” ->“高级” ->“校正显示器” 在下一步调节中调成中间这一个实例的样子就可以了 进行微调&#x…

基于linux下的高并发服务器开发(第二章)- 2.9 waitpid 函数

#include <sys/types.h> #include <sys/wait.h>pid_t waitpid(pid_t pid, int *wstatus, int options); 功能&#xff1a;回收指定进程号的子进程&#xff0c;可以设置是否阻塞。 参数&#xff1a; - pid: pid > 0…

小白到运维工程师的自学之路 第五十四集 (ansible自动化运维工具)

一、概述 Ansible是一种开源的自动化工具&#xff0c;用于自动化任务的执行、配置管理和应用部署。它采用基于Python编写的简单、轻量级的语法&#xff0c;可以通过SSH协议远程管理和配置多台计算机。 Ansible的主要特点包括&#xff1a; 1、简单易用&#xff1a;设计简单&a…

(33)接收信号强度指示(RSSI)

文章目录 前言 33.1 在你的自动驾驶仪上设置RSSI 33.2 在MissionPlanner的HUD中显示RC接收器的RSSI值 33.3 连接实例 33.4 特殊用例 前言 本文介绍了如何获取自动驾驶仪的接收信号强度指示&#xff08;RSSI&#xff09;。 33.1 在你的自动驾驶仪上设置RSSI RSSI 可通过一…

ChatGPT变现五个思路

一、前言 ChatGPT是一款AI聊天机器人&#xff0c;发布于2022年11月。凭借着在广泛的知识领域为消费者问题做出清晰、详尽解答的出色能力&#xff0c;其一经推出就引发全球轰动&#xff0c;自然也得到零售行业的高度关注。例如&#xff0c;消费者只要询问ChatGPT如何布置一个梦…

flink1.16读取hive数据存到es 本地和服务器上遇到的问题和解决思路

话不多说 直接上官网 Overview | Apache Flink hive版本 3.1.3000 ​ hadoop 版本 3.1.1.7.1.7 ​ flink 1.16.2 ​ 代码 很简单我还是贴下 import com.fasterxml.jackson.databind.ObjectMapper import com.typesafe.config.{Config, ConfigFactory} import org.apache…

Redis可视化工具 - Another Redis Desktop Manager 安装与使用详细步骤

一、下载安装 Another Redis Desktop Manager AnotherRedisDesktopManager 发行版 - Gitee.com&#xff08;gitee&#xff09; 2. 安装 以管理员身份运行下载的安装包 选择是为所有用户还是当前用户安装&#xff0c;按需选择 选择安装位置&#xff0c;点击安装进行安装 安装…