使用deepin V23 RC2 在本地搭建Stable Diffusion
使用deepin V23 RC2 在本地搭建Stable Diffusion
本文将详细介绍如何在deepin V23 RC2系统上搭建Stable Diffusion,包括环境准备、资源选择、常见问题解决以及使用方法。
一、选择资源
1. Stable Diffusion
这里使用的是网上比较主流的AUTOMATIC1111/stable-diffusion-webui。这个项目可以帮助你在本地搭建一个功能强大的 Stable Diffusion 模型。
2. 模型资源
由于网络条件限制,无法下载官方(https://huggingface.co/stabilityai/)的模型,选择使用Civitai上的模型。模型下载好后,请放置在`stable-diffusion-webui/models/Stable-diffusion`文件夹下。
二、环境搭建
安装步骤
sudo apt install git python3.10-venv -y
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui
python3.10 -m venv venv
使用上面命令行克隆完成 stable-diffusion-webui 后会自动进入到 stable-diffusion-webui 文件夹。这个时候我们 直接在终端内运行:
./webui.sh
此时系统会继续补全所需要的依赖环境,包括自动安装 pytorch 等等。友情提醒,这里需要花费很长的时间去安装一堆的文件,可能是网络的原因。
三、常见问题
1. AttributeError: 'NoneType' object has no attribute 'lowvram'
这个报错,网上找了2个方法,方法1和方法2都贴出来,实测方法1没生效,方法2才生效。
方法1:编辑 webui-user.sh 文件,修改参数
进入stable-diffusion-webui文件夹,找到 webui-user.sh文件,右键编辑,找到此行文本:
set COMMANDLINE_ARGS=
在此文本后增加一行参数:
--lowvram --precision full --no-half --skip-torch-cuda-test
方法2:修改sd_models.py 源文件
该文件在 modules 文件夹内,如图:
把661行send_model_to_cpu函数的前面4行注释,下面增加lowvram.send_everything_to_cpu(),如下图:
同样的,防止大家出错,直接附上代码:
def send_model_to_cpu(m):
#if m.lowvram:
# lowvram.send_everything_to_cpu()
#else:
# m.to(devices.cpu)
lowvram.send_everything_to_cpu()
2. OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'
解决方法,在stable-diffusion-webui文件夹下新建一个名叫“openai”的文件夹,在文件夹内右键打开终端,手动下载依赖文件:
git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
3. 提示没有GPU,需要add --skip-torch-cuda-test
这个最简单了,就是全部走CPU不依赖显卡,跳过CUDA。首先还是在stable-diffusion-webui下找到webui-user.sh文件,然后将#export COMMANDLINE_ARGS="" 修改为 export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"
至此,本地的Stable Diffusion就算搭建完成了!
四、开始文生图
所有环境部署好后,依然是在 stable-diffusion-webui 文件夹下运行:
./webui.sh
文件,安装以来和运行程序都是执行这个文件,哈哈,运行后,大家会看到终端内显示:Running on local URL: http://127.0.0.1:7860
同时,浏览器上会打开一个网页:
五、部分参数解释
- Checkpoint/模型: 选择下载的模型,例如国风3模型。
- 正向词 (Prompt) 和 负向词 (Negative Prompt): 用来描述你希望生成的图片特征和避免的特征。
- Sampling Steps: 这个参数决定了生成图片的迭代次数,通常30步是一个不错的选择。
- CFG Scale: 这个参数控制了生成图片的创意自由度,7 是一个常见的设置。
- Seed: 这个参数决定了图片生成的随机性,相同的 seed 可以生成相似的图片。设为 -1 时,系统会随机生成。
填写完参数后,点击右上角的 Generate 按钮。命令行会显示生成进度,大约需要N分钟(看电脑性能了)。
希望能帮助到想玩Stable Diffusion的同学们,如果觉得教程有用,还请点赞收藏下,如果能帮转发扩散下就更好了,哈哈~