周末在家里的17年买的小米笔记本上安装了stable-diffusion,实践证明运行sd并不需要配置很高的电脑,如果只是想玩一玩,完全可以在自己的电脑上安装体验一下。
自己部署的模型,要比在mj,或者各种网站上更自由。可以去huggingface或者civitai网站上找自己感兴趣的模型进行部署。
当然如果想要作为生产力工具,还是必须上配置了。
安装python
没有用anacoda,直接装的python3.10.6
官方建议的python版本就是3.10.6。按照官方的来准没错。
安装git
都是开发,略。
安装stable-diffusion-webui
去stable-diffusion-webui的官方github下载
AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com)
运行webui-user.bat即可
根据stable-diffusion-webui官方的说法,只需要这三步就可以运维sd-webui了。
如果你的运气比较好,到这步可能就直接成功了。那么后面的也就不用看了。
但如果你和我一样,电脑不是很给力,可能也会遇到各种报错。
下面就是我解决各种报错后一个整理。
提示
安装过程中会下载很多依赖包和模型,都很大。所以提前规划去比较大的硬盘空间。至少30G,以后下载的模型都是G起步的。
另外安装过程中可能需要去外面下载一些文件,所以网络上也打通比较好。我安装的时候是开着的。
最开始遇到的报错是cuda disable。所以去安装cuda
安装cuda
cuda是啥?
CUDA通过CPU任务分发和GPU并行处理的方式,把计算任务通过CPU分发给GPU进行并行计算加速。应用程序通过可以CUDA编译器将程序转化为可以在英NVIDIA GPU上执行的机器码快速运行。
win10+英伟达mx150安装cuda,cudnn,GPU版本pytorch-CSDN博客
我这台电脑是双显卡,英伟达的显卡是GeForce MX150

查看NVIDA显卡的驱动版本
桌面右键->NVIDIA控制面板->帮助->系统信息

查看cuda所需要的显卡驱动版本
1. CUDA 12.6 Release Notes — Release Notes 12.6 documentation (nvidia.com)
显卡驱动版本只要大于cuda对应的最低版本就行

找到对应电脑的cuda版本。我这里选择10.1
CUDA Toolkit Archive | NVIDIA Developer

下载完成后安装即可。

安装完成后,使用nvcc看一下
1 | nvcc -V |

这样就是安装成功了
安装cuDNN
cuDNN 是 NVIDIA 的 CUDA 深度神经网络库,可以显著提高训练速度和推断速度。
cuDNN要匹配CUDA的版本,下载地址:https://developer.nvidia.com/rdp/cudnn-archive

下载解压之后,把里面的全部文件复制到cuda的安装文件夹
之前cuda的默认安装目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
最后可以测试一下cudnn是否安装ok
在extras/demo_suite下有个bandwithTest.exe。执行下,result = PASS

安装pytorch
地址 PyTorch

最低的是cuda 11.8。估计不行,姑且试试吧
pip3 install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu118
安装完成后,测试一下
1 | import torch |
报错,说有依赖的dll文件没找到。

解决:
下载 dll 文件依赖分析工具 Dependencies
下载地址:https://github.com/lucasg/Dependencies/tree/v1.11.1
使用 Dependencies 分析报错 ddl 文件的依赖
发现是libomp140_x86_64这个依赖没有
去下面这个网站上可以下载到
libomp140.x86_64.dll : Free .DLL download. (dllme.com)

再次尝试,又悲剧了

显卡驱动太低。其实之前装cuda是10.1。pytorch要求的cuda是11.8,所以不行。
从头再来,升级显卡驱动
NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

下了一个最新的

安装好新驱动,傻瓜式安装即可

更新驱动之后,重新安装cuda,cudnn,pytorch
pytorch我这次可以安装12.4版本了
1 | pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 |

ok了
stable-diffusion-webui成功
去stable-diffusion-webui的官方github下载
AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com)
运行webui-user.bat即可
下载了一堆东西。所以一定要找一个空间大的盘。

可以看到sd-webui又去下载了torch。所以我这里也怀疑其实不需要自己手动安装pytorch。
启动成功之后,服务运行在7860端口
赶紧生成一个试试
1 | cat |

感觉不是很好啊

去网上找了段prompt
1 | city future, 8k, exploration, cinematic, realistic, unreal engine, hyper detailed, volumetric light, moody cinematic epic concept art, realistic matte painting, hyper photorealistic |
反向提示词
1 | lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name |

这个生成的还不错

看我可怜的4G的显存,都是跑满的。

我这台电脑,生产一张512x512,20步的图,大约5分钟。还是相当慢的。