hello云胜

技术与生活

0%

周末在家里的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

image-20240810233036974

查看NVIDA显卡的驱动版本

桌面右键->NVIDIA控制面板->帮助->系统信息

image-20240811084057836

查看cuda所需要的显卡驱动版本

1. CUDA 12.6 Release Notes — Release Notes 12.6 documentation (nvidia.com)

显卡驱动版本只要大于cuda对应的最低版本就行

image-20240811084259668

找到对应电脑的cuda版本。我这里选择10.1

CUDA Toolkit Archive | NVIDIA Developer

image-20240811084603172

下载完成后安装即可。

image-20240811094926981

安装完成后,使用nvcc看一下

1
nvcc -V

image-20240811100508343

这样就是安装成功了

安装cuDNN

cuDNN 是 NVIDIA 的 CUDA 深度神经网络库,可以显著提高训练速度和推断速度。

cuDNN要匹配CUDA的版本,下载地址:https://developer.nvidia.com/rdp/cudnn-archive

image-20240811121144255

下载解压之后,把里面的全部文件复制到cuda的安装文件夹

之前cuda的默认安装目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

最后可以测试一下cudnn是否安装ok

在extras/demo_suite下有个bandwithTest.exe。执行下,result = PASS

image-20240811195913840

安装pytorch

地址 PyTorch

image-20240811200900500

最低的是cuda 11.8。估计不行,姑且试试吧

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

安装完成后,测试一下

1
2
import torch
torch.cuda.is_available()

报错,说有依赖的dll文件没找到。

image-20240810231824923

解决:

下载 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)

image-20240810231743447

再次尝试,又悲剧了

image-20240811200724002

显卡驱动太低。其实之前装cuda是10.1。pytorch要求的cuda是11.8,所以不行。

从头再来,升级显卡驱动

NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

image-20240811201114948

下了一个最新的

image-20240811201216185

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

image-20240811202703950

更新驱动之后,重新安装cuda,cudnn,pytorch

pytorch我这次可以安装12.4版本了

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

image-20240811215328749

ok了

stable-diffusion-webui成功

去stable-diffusion-webui的官方github下载

AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com)

运行webui-user.bat即可

下载了一堆东西。所以一定要找一个空间大的盘。

image-20240811223435653

可以看到sd-webui又去下载了torch。所以我这里也怀疑其实不需要自己手动安装pytorch。

启动成功之后,服务运行在7860端口

赶紧生成一个试试

1
cat

image-20240812073547811

感觉不是很好啊

00008-3897014488

去网上找了段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

image-20240812071322701

这个生成的还不错

00007-807413399

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

image-20240811234044069

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