[Share Experiences] 使用deepin V23 RC2 在本地搭建Stable Diffusion
Tofloor
poster avatar
流浪的加菲
deepin
2024-06-26 16:40
Author

最近尝试了下在deepin V23 RC2本地部署Stable Diffusion(SD官方提供的在线版能力比较弱鸡,而且很多参数不能调节,使用次数还有限制),经历了一波三折总算是成功了,趁热把经验分享出来,以后可以愉快的玩耍了。

Stable Diffusion官网:https://stablediffusionweb.com/

image.png

下面附上我的生图过程的截图:

本次搭建环境用的是一款AMD的核显笔记本,纯CPU生图,巨卡

4adf24bd78696e7709ce3e9d47ad8ae.png


正文开始了

一、选择资源

1、Stable Diffusion。

这里用的是网上比较主流的 AUTOMATIC1111/stable-diffusion-webui

大神真的是太强大了,通过这个项目可以帮助你在本地搭建一个功能强大的 Stable Diffusion 模型。

2、模型资源。

因为网络条件限制没法下载官方(https://huggingface.co/stabilityai/)的模型,我这里选择的是 Civitai 上的模型。

模型下载好后,请放置在 stable-diffusion-webui/models/Stable-diffusion 文件夹下:

image.png

二、环境搭建

本人不是开发人员,纯小白一枚,在网上找了个教程,复制的命令行到终端直接安装的。

参考资料(Github):Install and Run on AMD GPUs

怕大家无法访问,我直接附上代码吧:

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

image.png

因为deepin V23 RC2 上系统预装了Python、Git,,所以上面这段命令行在V23 RC2 上貌似主要是克隆stable-diffusion-webui到本地

image.png

使用上面命令行克隆完成 stable-diffusion-webui 后会自动进入到 stable-diffusion-webui 文件夹

image.png

这个时候我们 直接在终端内运行 ./webui.sh 此时系统会继续补全所需要的依赖环境,包括自动安装 pytorch 等等

image.png

友情提醒,这里需要花费很长的时间去安装一堆的文件,可能是我网络的原因joy

三、常见问题

自动补全环境依赖没啥好讲的,这里重点说下我遇到的问题(报错``````)

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

完成修改后如下图:

image.png

方法2:修改sd_models.py 源文件(感谢zhuopengzhangnewgena的分享)

该文件在 modules 文件夹内,如图:

image.png

把661行send_model_to_cpu函数的前面4行注释,下面增加lowvram.send_everything_to_cpu(),如下图:

image.png

同样的,防止大家出错,直接附上代码:

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'.

Failed to create model quickly; will retry using slow method.

解决方法,在stable-diffusion-webui文件夹下新建一个名叫“openai”的文件夹,在文件夹内右键打开终端,手动下载依赖文件:

git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git

image.png

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"

image.png

至此,我们本地的Stable Diffusion就算搭建完成了!

我在本地部署的时候只遇到了上述三个问题,大家有遇到其他问题的,请自行查找资料解决~~

四、开始文生图

所有环境部署好后,我们依然是在 stable-diffusion-webui 文件夹下运行 ./webui.sh 文件,安装以来和运行程序都是执行这个文件,哈哈,运行后,大家会看到终端内显示:Running on local URL: http://127.0.0.1:7860

image.png

image.png

同时,浏览器上会打开一个网页:

image.png

五、部分参数解释

  • Checkpoint/模型: 选择下载的模型,例如国风3模型。
  • 正向词 (Prompt) 和 负向词 (Negative Prompt): 用来描述你希望生成的图片特征和避免的特征。
  • Sampling Steps: 这个参数决定了生成图片的迭代次数,通常30步是一个不错的选择。
  • CFG Scale: 这个参数控制了生成图片的创意自由度,7 是一个常见的设置。
  • Seed: 这个参数决定了图片生成的随机性,相同的 seed 可以生成相似的图片。设为 -1 时,系统会随机生成。

image.png

applaud 填写完参数后,点击右上角的 Generate 按钮。命令行会显示生成进度,大约需要N分钟(看电脑性能了)。

bac0f78d55c8057e087f28027566649.png


希望能帮助到想玩Stable Diffusion的同学们,如果您觉得我的教程有用,还请点赞收藏下,如果能帮转发扩散下就更好了,哈哈~tail

Reply Favorite View the author
All Replies
流浪的加菲
deepin
2024-06-26 16:41
#1

沙发自己坐了,有问题做补充

Reply View the author
berners
deepin
Backbone of ecological co-construction group
2024-06-26 17:50
#2

过程中有没有死机?

Reply View the author
流浪的加菲
deepin
2024-06-26 17:57
#3
berners

过程中有没有死机?

哈哈,虽然电脑配置很差,但是没有死机,就是第一个报错搞了好久,网上大部分教程都是方法1,我这边尝试是没用的`````````

Reply View the author
阿尼樱奈奈
Moderator
2024-06-26 18:05
#4

like

Reply View the author
神末shenmo
deepin
Spark-App
2024-06-26 18:09
#5

提示:stable diffusion webui的仓库被gitcode扒走了,所以现在你可以不魔法上网高速获取

git clone https://gitcode.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui

更新:已经无了~

可以去gitee注册一个账号,选择新建仓库---导入仓库---输入github链接,然后clone下来~

Reply View the author
流浪的加菲
deepin
2024-06-26 18:39
#6
神末shenmo

提示:stable diffusion webui的仓库被gitcode扒走了,所以现在你可以不魔法上网高速获取

git clone https://gitcode.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui

更新:已经无了~

可以去gitee注册一个账号,选择新建仓库---导入仓库---输入github链接,然后clone下来~

那大家尝试的就可以换下仓库,从gitcode克隆,哈哈哈哈哈

Reply View the author
jiutian123
deepin
2024-06-26 21:22
#7

电脑太差了,先不装了 以后看看like

Reply View the author
神末shenmo
deepin
Spark-App
2024-06-27 02:39
#8
jiutian123

电脑太差了,先不装了 以后看看like

有N卡可以用CUDA,速度快很多的,不必一定要用CPU硬算

消费级显卡就可以玩了,不一定非要专业的设备,我这里一块笔记本自带的3060 mobile就可以稳定半分钟一组图

https://bbs.deepin.org.cn/post/263719

我比较喜欢这张

{D0FE3264-09DF-F1BD-70CC-49AE550A5E85}.png

如果显存不足可以按把参数按比例缩小,然后AI超分辨率

用这个就可以

图片.png

Reply View the author
神末shenmo
deepin
Spark-App
2024-06-27 02:42
#9
流浪的加菲

那大家尝试的就可以换下仓库,从gitcode克隆,哈哈哈哈哈

无了~403了

Reply View the author
流浪的加菲
deepin
2024-06-27 09:44
#10
jiutian123

电脑太差了,先不装了 以后看看like

还能比我电脑配置差吗,没有独显,CPU还是AMD Ryzen7 3700U,出一张图感觉至少15分钟,哈哈😂

Reply View the author
zijinyise
deepin
2024-07-02 15:39
#11

我准备用这台电脑装一个玩一下

image.png

Reply View the author
流浪的加菲
deepin
2024-07-02 15:44
#12
zijinyise

我准备用这台电脑装一个玩一下

image.png

可以呀,欢迎交流,你这配置比我笔记本强多了

image.png

Reply View the author
绍贝格尔
deepin
2024-07-03 10:43
#13

image.png

image.png

我碰到这两个错误这怎么处理,我没搜到处理方法

Reply View the author
绍贝格尔
deepin
2024-07-03 10:49
#14
绍贝格尔

image.png

image.png

我碰到这两个错误这怎么处理,我没搜到处理方法

执行这个第一个解决了 sudo apt-get install libgoogle-perftools4 libtcmalloc-minimal4 -y ; 第二个不知道怎么解决

Reply View the author
流浪的加菲
deepin
2024-07-03 11:34
#15
绍贝格尔

执行这个第一个解决了 sudo apt-get install libgoogle-perftools4 libtcmalloc-minimal4 -y ; 第二个不知道怎么解决

第二个问题好像是Python环境的问题,我之前也遇到了,但是我一直执行命令行,所有文件都安装完成后就没了。这个安装命令 sudo apt install git python3.10-venv -y 里是有安装Python容器管理工具venv的,在Stable Diffusion文件夹下:

image.png

我也是小白哈,如果说的有问题欢迎大家指正。😂

Reply View the author