Stable Diffusion 是一种以 CLIP ViT-L/14 文本编码器的(非池化)文本嵌入为条件的潜在扩散模型。
一. 安装环境
创建并激活一个合适的名为conda的环境:ldm
conda env create -f environment.yaml
conda activate ldm
更新现有的虚拟环境:
conda install pytorch torchvision -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .
二. 配置模型
2.1 stable diffusion v1
Stable Diffusion v1 指的是模型架构的特定配置,该架构使用下采样因子 8 自动编码器和 860M UNet 和 CLIP ViT-L/14 文本编码器用于扩散模型。该模型在 256x256 图像上进行预训练,然后在 512x512 图像上进行微调。
模型一共有四个尺度:
1.sd-v1-1.ckpt
:在laion2B-en上分辨率为256x256迭代了237k 步。在laion512x512高分辨率上迭代了194k 步(来自 LAION-5B 的分辨率为>= 1024x1024的 170M 的示例。
2.sd-v1-2.ckpt
: 从 sd-v1-1.ckpt微调得到。在laion-aesthetics v2 5+
上分辨率为512x512迭代了515k 步(laion2B-en 的一个子集,具有估计的美学分数> 5.0,并另外过滤到具有原始大小>= 512x512和估计水印概率< 0.5的图像。水印估计来自LAION-5B元数据,美学分数是使用LAION-Aesthetics Predictor V2估算的)。
3.sd-v1-3.ckpt
: 从sd-v1-2.ckpt微调得到。512x512“laion-aesthetics v2 5+”分辨率为512x512迭代了195k 步,文本条件下降 10%,以改进无分类器指导采样。
4.sd-v1-4.ckpt
: 从sd-v1-2.ckpt微调得到。“laion-aesthetics v2 5+”分辨率为512x512迭代了225k 步,文本条件下降 10%,以改进无分类器指导采样。
本次测试使用的模型是sd-v1-1.ckpt。
2.2 运行并测试生成效果
获得stable-diffusion-v1-*-original权重后,将它们链接起来:
mkdir -p models/ldm/stable-diffusion-v1/
ln -s <path/to/model.ckpt> models/ldm/stable-diffusion-v1/model.ckpt
或者直接把模型放在models/ldm/stable-diffusion-v1/
下面。
测试一下从文本到图像:文章来源:https://www.toymoban.com/news/detail-500597.html
python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms
默认情况下,以 50 步渲染大小为 512x512的图像。
测试一下从图像到图像:文章来源地址https://www.toymoban.com/news/detail-500597.html
python scripts/img2img.py --prompt "A fantasy landscape, trending on artstation" --init-img <path-to-img.jpg> --strength 0.8
到了这里,关于使用Stable Diffusion进行Ai+艺术设计(以智慧灯杆为例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!