国内的资料,基本都在推荐秋叶大佬的一键部署包,想着都是基于Python的开源项目,部署也不会很复杂,试试从零开始。

折腾AI生成图,特意更换了显卡,3060 12g入门版本;服役七年的960光荣下线

核心的pytorch cuda安装,以前编写pyhton游戏辅助脚本时,本地安装过,没想到还是碰到坑,cuda加密一直无法激活。

待处理

1.重新规划文章结构,先介绍 pytorch,版本的对应关系,如何查看版本 2.本地如何从零开始新建虚拟环境,部署 Pytorch 3.翻译稿子,从零开始 stable diffusion https://stable-diffusion-art.com/install-windows/ 4.整理参考资料

步骤

用中文搜索可能找不到相关一步一步安装的教程。在Google里面你用英文去搜索,有很多类似的教程,就是从零开始。介绍了一下,我们需要安装git,然后又说明了一下,我们需要安装python。然后就是你去把仓库下载过来,直接双击脚本搞定了。

https://github.com/AUTOMATIC1111/stable-diffusion-webui

详细的使用和答疑,翻看issueshttps://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki

我也不知道为什么就没人解释这个仓库是干嘛的。其实从名字也不难看出来,它是一个界面控制台,让我们用起来更方便。实际上在安装的时候,他会去下载官方的仓库内容,获取实际的SD代码。

仓库呢同时也做了一个安装启动脚本。会自动识别当前文件夹,是否有Python虚拟环境。如果有的话默认使用当前路径的的python

如果是纯小白用户,建议看一下:https://stable-diffusion-art.com/install-windows/

pytorch

https://pytorch.org/get-started/locally/

这里才是我今天想说的,首先你不要听他们的步骤直接启动脚本。Python通过requirement文件去安装依赖库,这个都是小问题。核心就是你的显卡版本驱动的版本,需要和pytorch对应。这个呢,也有很多人介绍相应的关系,网上找一找就有了。

参考:https://blog.csdn.net/weixin_40660408/article/details/129896700

创建一个虚拟环境对,就是一个空的虚拟环境,你在里面直接先去官网执行脚本,把pytorch安装好了。

python -c "import torch; print(torch.version.cuda)"
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"

上面两个脚本可以检查一下你需要安装的cuda版本,也能检查一下你安装是否成功了。

这里不建议花里胡哨的操作,你先按照官方页面的逻辑复制过来,直接安装就好了,直接pip去安装,你的pytorch很有可能失败,或者没有激活cuda。

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

重点:文件夹的路径不要有乱七八糟的东西,不然很有可能导致pytorch无法使用。

中间来来回回安装了很多次,也尝试了把官方的安装文件下载下来手动去安装。就是想着升级一下2.0的版本,因为官方的文档说2.0速度会快一些。但是之前用的不多,也不知道Python的版本和这个是不是有影响。中间呢也查看了官方的手册,说的是建议用3.8的版本。这里就产生了一个小冲突,之前用过一键安装部署包,它里面是3.10的版本。最后就是从零开始先新建文件夹,创建虚拟环境,确保torch已经安装成功了。

然后把这个安装好的虚拟环境移动到web UI的文件夹里面。这个时候再去启动脚本安装,其他的依赖问题就不大了。

移动后,需要执行:python -m pip install –upgrade –force-reinstall pip,修复一下 pip

可能看起来挺莫名其妙的,但是这个地方折腾了挺久的。因为它一直无法正确的识别我torch。为了排除所有的干扰因素,才想到先安装它,再去安装其他的依赖库。

Xformers

建议开启,能加速图像生成和减少现存占用,副作用,同一组参数,生成的图像相对不是那么稳定

stable-diffusion-webui:Xformers

huggingface optimization

Optimization Ratio Time taken Torch active/reserved Sys VRAM
100.00% 2m 57.03s 7440/10058 MiB 12288/12288 MiB (100.0%)
51.02% 1m 29.21s 4547/7164 MiB 9298/12288 MiB (75.67%)
((masterpiece)),((best quality)),((high detial)),((realistic,))
Industrial age city, deep canyons in the middle,chinese architectural streets,bazaars, Bridges, (rainy days:1.2), (steampunk:0.8), chinese architecture
Negative prompt: nsfw,((cowboy)),(((pubic))), ((((pubic_hair))))sketch, duplicate, ugly, huge eyes, text, logo, monochrome, worst face, (bad and mutated hands:1.3), (worst quality:2.0), (low quality:2.0), (blurry:2.0), horror, geometry, bad_prompt, (bad hands), (missing fingers), multiple limbs, bad anatomy, (interlocked fingers:1.2), Ugly Fingers, (extra digit and hands and fingers and legs and arms:1.4), crown braid, ((2girl)), (deformed fingers:1.2), (long fingers:1.2),succubus wings,horn,succubus horn,succubus hairstyle, (bad-artist-anime), bad-artist, bad hand, borrowed character, text focus, watermark, sample watermark, character watermark, lofter username, photo date watermark, movie poster, magazine cover, journal, cover, cover page, doujin cover, album cover, manga cover, brand name imitation, EasyNegative,Tights, silk stockings,shorts
Steps: 35, Sampler: DPM adaptive, CFG scale: 5.5, Seed: 2223996555, Size: 1088x1088, Model hash: 543bcbc212, Model: base_Anything-V3.0-pruned, Clip skip: 2, ENSD: 31337

后记

为什么不是推荐那个一键部署包,因为他那个包里面,有部分设置是作者私人定制过的,和官方原模原样的是不一样的。如果你是初学者,你可能不知道为什么要设置那些参数最好的逻辑还是先用官方给的。随着你用的时间越来越长,多去看看官方的手册,你就知道哪些参数需要调整了。

显卡的选择

数据货币矿难之后, 显卡的价格相对来说不是那么高了,普通的入门玩家,30603060ti之间抉择,一般都会推荐大显存12G版本的3060,毕竟能生成更大分辨率的图,为什么需要更大的分辨率,因为你可以在生成的时候,把分辨率调大,这样生成的图像就会更加清晰,更加细腻。如果你是想要生成一些小图,那么8G的显存也是够用的。

还有一点,高清放大选项,具化细节,让画面细节更加丰富,也需要更多的显存。

以下是NVIDIA GeForce GTX 970、GeForce RTX 3060 Ti、GeForce RTX 3060、GeForce RTX 3080和GeForce RTX 3080 Ti的单精度(FP32)、半精度(FP16)和双精度(FP64)浮点数计算能力的规格汇总表:

显卡型号 发布年份 单精度浮点数计算能力(TFLOPS) 半精度浮点数计算能力(TFLOPS) 双精度浮点数计算能力(TFLOPS)
GeForce GTX 970 2014 3.49 87.2 0.109
GeForce RTX 3060 Ti 2020 16.2 32.4 0.51
GeForce RTX 3060 2021 12.7 25.4 0.39
GeForce RTX 3080 2020 29.8 58.9 0.93
GeForce RTX 3080 Ti 2021 34.8 68.7 1.36

摘录来的,各种显卡性能测试数据

更新

间隔半年,本来还想再梳理一下安装步骤,科普更多的基础概念,结果发现,普通人玩AI画图,真就是基于大佬给的图片参数,进行参数调整,或者基于已有的图片,进行格式化的重新渲染。

中间有过项目,尝试用AI来绘制小程序的UI素材,结果折腾半天,效果都不如意,不如我直接从官方的小程序拉资源图片。