stable-diffusion初体验

  |   0 评论   |   0 浏览

背景

Stable Diffusion是一个潜在扩散模型(Latent Diffusion Models, LDM)。

在线体验地址

初体验

下载代码

git clone https://github.com/runwayml/stable-diffusion.git

官方配置

conda env create -f environment.yaml
conda activate ldm

本文配置环境

conda create -n ldm python=3.8.5
conda activate ldm

python -m pip install pip==20.3 cudatoolkit==11.3 pytorch==1.11.0 torchvision==0.12.0 numpy==1.19.2

下载模型(可略)

Huggingface上有数据集、预训练模型、NLP课程和文档。[3]

模型见: https://huggingface.co/runwayml/stable-diffusion-v1-5

也可以不下载,运行例子的时候,会自动下载。

wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt

python运行

安装依赖

pip install diffusers==0.10.2 transformers scipy ftfy accelerate -i https://mirrors.aliyun.com/pypi/simple/

运行示例

from diffusers import StableDiffusionPipeline
import torch

model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]  
    
image.save("astronaut_rides_horse.png")

首次运行时,模型会下载到 ~/.cache/ 目录下。

结果:输出一张图片,如下图。

111.png

重复运行生成的图片,每次都不一样。

脚本运行

python -m install opencv-python omegaconf invisible-watermark einops pytorch_lightning taming-transformers clip kornia

问题:ImportError: cannot import name 'VectorQuantizer2' from 'taming.modules.vqvae.quantize'

结果:


安装ldm本身

pip install -e .

下载准备模型

mkdir -p models/ldm/stable-diffusion-v1
wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt -O models/ldm/stable-diffusion-v1/model.ckpt

运行

python scripts/txt2img.py --prompt "a photo of a sheep on a window"

结果

Image20230208115810.png

参考

  1. stable-diffusion
  2. Huggingface 超详细介绍
  3. Stable Diffusion 本地部署教程
  4. 当我让AI描绘古代男子谪仙外貌。。。
  5. 太乙中文stable diffusion模型