主业写代码,副业做 AI
大家好,我是程序员晓晓
模型分类与使用
在 AI绘画Stable Diffusion 中,模型分为大模型、VAE、Lora、Embedding、Hypernetwork 等。
大模型
大模型又称基础模型、底模、主模型。英文名 Checkpoint,简称 ckpt。模型文件通常以 .ckpt 或 .safetensors 结尾,文件大小在 2G~7G 之间。
• .ckpt:这是 TensorFlow 框架中用于保存训练过程中的模型的权重的一种格式。这种模型文件通常包含了模型的参数和状态信息,例如权重、偏置项等。文件保存了模型的检查点,在训练过程中或者在训练完成后,可以使用这些检查点来恢复模型的状态,继续训练,或者进行推理和预测。
• .safetensors: 这种模型文件包含了经过序列化的张量数据,通常是模型参数的一部分。其设计更注重于数据的安全和完整性。
在 Stable Diffusion WebUI 中,大模型的存放目录为:stable-diffusion-webui/models/Stable-diffusion。只需将下载好的模型文件拷贝至该目录,即可在 WebUI 左上角切换使用,如果是在运行状态下进行的拷贝,则需点击右侧的刷新按钮重新加载模型。
大模型决定了 AI 绘画的主要风格,目前主要有三大类:真人写实、二次元、2.5D 等。
VAE
VAE,全称 Variational Autoencoder,中文叫变分自编码器,结合了自编码器(Autoencoder)和概率推断的思想,主要用于无监督学习任务。模型文件通常以 .pt 或 .safetensors 结尾。在 SD 中的作用可以理解为“滤镜”。
在 Stable Diffusion WebUI 中,需要提前设置才能在主界面上选择 VAE 模型。设置步骤:点击 Settings -> User interface -> 找到 [info] Quicksettings list -> 添加 sd_vae -> Apply settings -> Reload UI。
VAE 模型的存放目录为:stable-diffusion-webui/models/VAE。只需将下载好的 VAE 模型文件拷贝至该目录,即可在 WebUI 界面上切换使用。
VAE 模型要搭配大模型一起使用。但不是所有大模型都需要 VAE, 因为一些稳定的大模型本身就自带 VAE,可以直接生成色彩正常的图像,再额外使用 VAE 可能会适得其反。
常用的 VAE 模型是 Stability AI 推出的 EMA(Exponential Moving Average)和 MSE(Mean Square Error),对应 vae-ft-ema-560000-ema-pruned.safetensors 和 vae-ft-mse-840000-ema-pruned.safetensors,在实际出图效果上,EMA 更锐利、而 MSE 更平滑。
如果一个大模型生成的图片发灰,颜色暗淡,就需要使用 VAE 模型。
Lora
Lora 模型是一种微调模型,用于生成特定的人物、物品或画风。全称 Low-Rank Adaptation,中文叫低秩自适应模型。模型文件通常以 .ckpt、.safetensors 和 .pt 结尾,文件大小和训练时指定的网络纬度参数有关,通常是 36M, 72M, 144M 等。
在 Stable Diffusion WebUI 中,Lora 模型的存放目录为:stable-diffusion-webui/models/Lora。需要将下载好的 Lora 模型文件拷贝至该目录,然后在正向提示词中输入使用,提示词语法:
<lora:模型文件名:权重>
注意是英文冒号符,且包含尖括号。
权重的取值范围是:0-1。权重越高则生成的图片越贴近模型提供的风格,通常建议设置在 0.5~0.8 之间。
也可点击 Stable Diffusion WebUI 界面中的 Lora 选项卡,鼠标聚焦正向提示词输入框后,点击想要使用的 Lora 模型,输入框内会自动填充提示词,然后修改权重即可。
部分 Lora 模型会存在触发词,需要在正向提示词中进行添加,具体需查看模型使用说明。多个 Lora 模型可同时使用,最终出图效果会综合每个 Lora 的风格。
Embedding
Embedding 模型是一种微调模型。它是 Textual Inversion(文本反转)训练的结果。中文叫嵌入模型。它通过训练少量的图像,让大模型快速学会一个新的概念,可以简单的理解为提示词“打包”。模型文件通常以 .pt 结尾,文件大小通常只有几十 kb。
在 Stable Diffusion WebUI 中,Embedding 模型的存放目录为:stable-diffusion-webui/embeddings。需要将下载好的 Embedding 模型文件拷贝至该目录,然后在提示词中输入模型文件名即可使用。
在正向提示词场景下,Embedding 模型可以通过很小的训练成本,快速获得特定的人物形象、画风、姿势动作等,但因为训练数据量小,精度有限,出图效果上不如 Lora 模型,所以并不常用。
而在负向提示词场景下,由于每次出图都需要在负面提示词中输入一长串词语,例如“低分辨率、模糊、扭曲的五官、错误的手指、多余的数字,水印”等,使用 Embeddings 模型可以将这一长串的负向提示词“打包”为一个提示词,并产生同等甚至更好的效果,所以 Embedding 模型常用于负向提示词。
目前常用的负向提示词 Embedding 模型是 EasyNegative,下载地址为 https://civitai.com/models/7808/easynegative。
在 WebUI 中,点击 Textual Inversion 选项卡即可看到 Embedding 模型,鼠标聚焦负向提示词输入框后,点击想要使用的 Embedding 模型,输入框内会自动填充提示词。
Embedding 是一种广泛应用于自然语言处理(NLP)和计算机视觉(CV)等领域的机器学习模型,它可以将高维度的数据转化为低维度的嵌入空间(Embedding Space),并保留原始数据的特征和语义信息,从而提高模型的效率和准确性。
注意到 Lora 模型和 Embedding 模型选项卡内均无模型预览图,要提供预览图,只需在模型文件同级目录下添加一个和模型文件名相同的图片文件即可。
Hypernetwork
Hypernetwork(超网络)模型现在已经不常用了,逐渐被 Lora 模型替代。模型文件通常以 .pt 结尾,文件大小在 100MB 左右。
在 Stable Diffusion WebUI 中,Hypernetwork 模型的存放目录为:stable-diffusion-webui/models/hypernetworks。需要将下载好的 Hypernetwork 模型文件拷贝至该目录,然后在正向提示词中输入使用,提示词语法:
<hypernet:模型文件名:权重>
部分 Hypernetwork 模型会存在触发词,需要在正向提示词中进行添加,具体需查看模型使用说明。多个 Hypernetwork 模型之间尽量不要混用。
模型下载
C 站(https://civitai.com) 是全球最大的 Stable Diffusion 模型分享和下载网站。
Hugging Face(https://huggingface.co) 是全球最大的机器学习社区,包含模型、数据集和应用等。
以上网站均需要科学上网。
写在最后
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。