|
.ckpt 和 .safetensors 后缀名的文件都是用来保存模型的权重和参数的,但是有以下区别:
.ckpt 文件是用 pickle 序列化的,这意味着它们可能包含恶意代码,如果你不信任模型来源,加载 .ckpt 文件可能会危及你的安全。
.safetensors 文件是用 numpy 保存的,这意味着它们只包含张量数据,没有任何代码,加载 .safetensors 文件更安全和快速。
为了将 .ckpt 文件转换为 .safetensors 文件,你需要先加载 .ckpt 文件中的数据,然后用 numpy 保存为 .safetensors 文件。这个过程需要一些额外的步骤和工具。
embeddings模型是一种用于生成图片的语言理解组件,它可以接受文本提示并产生token embeddings。
embeddings模型可以与编码器和解码器配合使用,通过余弦距离比较编码后的embeddings和目标图片的相似性,从而优化生成图片的质量。
embeddings模型有多种不同的训练方法,例如Textual Inversion、Hypernetwork、Dreambooth 和 LoRA,它们各有优劣和适用场景。
.vae.pt 后缀名文件是用来保存变分自编码器(VAE)的权重和参数的,VAE 是一种生成模型,可以用来对图像进行编码和解码。VAE 的作用是:
为 Stable-diffusion 的模型提供:
低维的隐空间,可以在这个空间中控制图像的风格和特征。
初始化的图像,可以在这个图像的基础上进行细化和改进。
颜色校正的功能,可以让生成的图像更加鲜艳或者柔和。
hypernetworks .pt 文件是用来保存超网络(hypernetworks)的权重和参数的,超网络是一种可以生成其他网络权重的网络。超网络的特点是:
可以用来对 Stable-diffusion 的模型进行文本反演(textual inversion),即根据自己的图片训练一个小部分的神经网络,然后用这个结果来生成新的图片。
可以用来对 Stable-diffusion 的模型进行风格迁移(style transfer),即根据自己的图片或者其他模型生成一个新的权重,然后用这个权重来改变生成图片的风格。
可以用 NovelAI 的 hypernetwork 自训练工具来创建自己的 .pt 文件,然后把它复制到 Stable-diffusion 的 models/hypernetworks 文件夹中。
LoRA是一种用于大语言模型的低秩逼近(Low-Rank Approximation)技术,可以减少参数量和计算量,提高训练效率和生成质量。
LoRA也可以用于Stable-diffusion中的交叉关注层(cross-attention layers),从而改善用文字生成图片的效果。
LoRA模型的个头都比较小,常见的都是144MB左右,使用的时候要与精简版(prund)的Stable Diffusion1.5模型配合使用。
LoRA模型训练时占用的显存非常小,一般在7GB左右,适合低配电脑使用。 |
|