在 64 位 Ubuntu 22.04 LTS 上安装并运行 Stable Diffusion

在 64 位 Ubuntu 22.04 LTS 上安装并运行 Stable Diffusion

https://github.com/CompVis/stable-diffusion/

有人在 64 位 Ubuntu 22.04 LTS 上使用过这个吗?你能分享一下如何让它运行的步骤吗,或者只是链接到一个已知的经过测试/可以运行的指南?

答案1

明白了。我会写下来,希望对其他人有帮助。这最初只涵盖 CPU“采样”(生成图像),直到我让 GPU 采样工作。采样应该完全离线运行。

使用 pip 安装

  1. pip install --upgrade diffusers transformers scipy torch
  2. sudo apt install git-lfs
  3. 克隆 git 存储库https://huggingface.co/runwayml/stable-diffusion-v1-5(您必须先登录或注册并接受其许可协议)

然后,您可以创建一个小型 Python 脚本(在上面克隆的 git repo 的本地工作副本中)并运行它来尝试自己采样:

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

更简单和更好的方法

https://github.com/invoke-ai/InvokeAI#installation

这也提供了一个非常好的 Web GUI。

板载 GPU 说明

我的 GPU 显示为Intel CometLake-S GT2 [UHD Graphics 630]来自lspci | grep VGAneofetchscreenfetch调用它Mesa Intel(R) UHD Graphics 630 (CML GT2)。无论如何,我不知道如何使用这个 GPU 进行采样(或者是否有可能)。

答案2

从您的评论中:

我正在寻找“简单按钮”

目前,相当大一部分(可能是大多数)的 Stable Diffusion 用户使用本地安装的自动1111web-UI。有一个安装脚本这也是主要的启动机制(每次启动时执行 Git 更新):

sudo apt install wget git python3 python3-venv # system dependencies
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)
# Download model file(s) (e.g. Hugging Face account, which does require an account and login) and install into `models/Stable-Diffusion` subdirectory

完整依赖项和可选依赖项均处于开启状态这一页

这个特定的存储库似乎以闪电般的速度移动,并迅速添加了许多特点附有文件。

答案3

虽然迟到了,但是 Stable Diffusion 2.1(基础版)同样简单:

from PIL import Image
from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler
import torch

prompt = "Smurf village in summer"
iterations = 100

model_id = "stabilityai/stable-diffusion-2-1-base"

print("Loading model")
scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, 
torch_dtype=torch.float16)
pipe = pipe.to("cuda")

image = pipe(prompt, guidance_scale=9, num_inference_steps=iterations).images[0]
image.save("output.jpg", 'JPEG', quality=70)
print("Image saved as output.jpg")

对我来说效果很好,试试看。要求与上述相同:

pip install pillow diffusers torch

我写了一篇关于这个的散文这里,但本质上这就是您需要运行的。

希望这可以帮助!

相关内容