stable diffusion的安装
一、前言 二、安装python环境 1、已经安装python环境,但非3.10.6版本(可以不看) 三、安装stable diffusion 四、运行 五、启动报错 1、Torch is not able to use GPU 2、Installing open_clip 卡住 3、报错提示 "git" clone --config core.filemode=false 4、not a git repository (or any of the parent directories): .git 5、Installing requirements 卡住 6、no module 'xformers'. Processing without... 7、Stable diffusion model failed to load 8、A tensor with NaNs was produced in Unet一、前言
最近对 stable diffusion 很感兴趣,就打算安装学习一下,下面是安装的过程。
折腾了三个晚上,这里记录一下。
如果电脑分多个用户,请务必在管理员用户中安装,还有就是保存网络通畅,能避免一些问题。
二、安装python环境
stable diffusion运行需要安装python环境,因为是国外的网站,下载会比较慢,最好提前下载好。
因为后续的软件(stable diffusion webui)要求安装3.10.6版本的python,所以这里就安装这个版本
下载地址:https://www.python.org/downloads/release/python-3106/
选择适合自己的版本,我的window11 64位的系统,选择这个:
下载下来后是这样的
新建一个空文件夹,路径不要有中文字符,我这里是:
E:\environment\Python\python3.10.6
然后右击击这个文件,选择以 管理员的身份运行
选好之后选择下一步
等待下载结束
接着 window + x
出现了python 的版本号就说明安装成功了。
1、已经安装python环境,但非3.10.6版本(可以不看)
我以前安装过python3.10.4版本,如果不需要使用以前的版本,在打开原版本的安装程序时就会提示,选择这个卸载即可
如果卸载后安装文件夹不是空的,手动删除其余文件即可。
如果原来的版本还需要使用,在安装3.10.6版本时如何保留原来的版本?
和初次安装一样,不过在这一步时不勾选这个选项即可
这个是环境变量,我们后续手动修改。
右击此电脑,选择属性
选择高级系统设置
选择环境变量
找到 Path 这个变量,点击编辑
找到原来的python环境安装根目录,改为python3.10.6版本的环境根目录,再点击确定
ctrl + x,选择
输入 python 查看版本号
可以看到把python的版本切换到3.10.6了,需要切回原来的版本就在这里把路径改为原版本的根目录。
三、安装stable diffusion
stable diffusion是开源出来一堆源代码,比较难用,一般下载由 AUTOMATIC1111 大神开发的Stable Diffusion WebUI。
这是他的用户页面:
如果打不开 github 的小伙伴可以下载个 steam++
安装请自行百度,没什么坑。
Stable Diffusion WebUI 下载地址如下:
https://github.com/AUTOMATIC1111/stable-diffusion-webui?tab=readme-ov-file
这里的 master 是作者开发的分支
切换为发行版本
选择一个版本,这里选择最新的 v1.10.1 版
不过看路径都是一样的。
这里选择用 git 下载,也建议用 git ,我以前安装过了,这里偷个懒,git 的安装不难,请自行百度。
接着新建一个空的文件夹,不要有中文,我这里是
E:\software\StableDiffusionWebui
下载成功是这样的
命令如下:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
也可以直接下载压缩包
下载下来是这样的文件
不过这样下载下来后面会报 git 相关的错,别问我是怎么知道的。
四、运行
在安装的根目录找到 webui-user.bat 文件,文件如下:
双击打开会出现一个黑窗口
第一次打开会比较慢,因为要下载很多的文件
五、启动报错
这里记录我安装过程中踩过的坑。
1、Torch is not able to use GPU
启动报错如下:
RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
其实后面也给出了解决办法,就是在启动文件 webui-user.bat 中加上 --skip-torch-cuda-test 参数
--skip-torch-cuda-test
保存退出。
但是我有显卡,不想用这种方式解决,没有独立显卡或者使用A卡的小伙伴可以用这种方式解决。我在后面去掉了这个参数。
对于N卡用户需要安装 cuda,有显卡的应该都安装了驱动了吧(/滑稽)
我在安装 cuda 前先更新了驱动
再查看本机的显卡适合安装哪个版本的 cuda ,ctrl + x 选择 Window 终端(管理员),使用如下命令:
nvidia-smi
我在安装前更新了驱动,这是我的
可以看到我适合 12.6 版本的 cuda ,然后在这里下载,地址如下:
https://developer.nvidia.com/cuda-toolkit-archive
找到 12.6 版本的 cuda ,下载下来是这样的
双击打开,这里的路径默认就好
等待下载完成
等待下载完成,然后同意并继续
这里默认就好
勾选,点击 NEXT
等待安装完成
这是“Nsight Visual Studio版本摘要”,点击下一步确认
然后关闭即可
然后查看cuda是否安装成功,打开控制台,输入如下命令:
nvcc -V
然后看看能不能检测到 cuda ,随便找个目录,我是在这里:
D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\
新建 txt 文件,这里为 test.txt
打开加入如下代码
import torch
print(torch.cuda.is_available()) # 应该返回True
保存退出,再将 txt 后缀名改为 py
接着使用
cmd
打开黑窗口
接着使用 根目录\venv\Scripts\python.exe 执行,根据自己情况修改,我的 pyhon.exe 路径是
D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\python.exe
执行 test.py 文件,命令如下:
E:\software\StableDiffusionWebui\stable-diffusion-webui\venv\Scripts\python.exe E:\software\StableDiffusionWebui\stable-diffusion-webui\venv\Scripts\test.py
可以看到已经检测到了 cuda ,然后再次重启。
2、Installing open_clip 卡住
这个应该是网络的问题,我使用公司的网络时没有遇到这个错。
3、报错提示 “git” clone --config core.filemode=false
如果出现如下图所示的错:
打开控制台,输入如下命令:
git config --global http.sslverify "false"
然后重启。
4、not a git repository (or any of the parent directories): .git
使用 git 下载就没有遇到这个问题
我一开始是使用压缩包下载的这里做个记录
启动报错:
fatal: not a git repository (or any of the parent directories): .git
在根目录空白处右击选择 Git Bash Here ,然后输入如下命令:
git init
如果报错
ambiguous argument ‘HEAD’: unknown revision or path not in the working tree.
这个死活解决不了,就删了用 git 下载,就没有出现这个问题。
5、Installing requirements 卡住
启动时卡在 Installing requirements
进入这个目录,使用这里的 python.exe
使用
cmd
进入控制台
再使用
activate
进入虚拟环境
然后使用目录当前目录的 pyhon.exe 下载根目录的 requirements_versions.txt 文件,根据自己情况修改,我的 pyhon.exe 路径是
D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\python.exe
requirements_versions.txt 文件路径是
D:\software\StableDiffusionHand\stable-diffusion-webui\requirements_versions.txt
所以我的命令如下:
D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\python.exe -m pip install -r D:\software\StableDiffusionHand\stable-diffusion-webui\requirements_versions.txt
等待下载完成,网络好的情况下下载很快的
下好之后,如果再次重启报错:
Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
这是缺少 clip-vit-large-patch14 文件,虽然再最后面已经给出了对应下载地址,但试了一下下载不了
可以到这里下载
对应 git 的下载命令如下:
git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
或者这里下载文件
这里先演示用 git 下载的方式,先到根目录下新建 openai 文件夹
git 的命令如下:
git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
或者和我第一次那样下载,在根目录新建 openai 文件夹,进入 openai 后新建 clip-vit-large-patch14 文件夹
接着将下载的文件放入
然后重新启动
成功加载模型
当然,模型也需要单独下载,启动没模型会报模型加载失败的错,模型如何下载可以看 7 。
6、no module ‘xformers’. Processing without…
小伙伴们在 5 应该注意到这个问题了吧,不过这个错误应该可以不理会,我本机没处理一样使用。。。证据如下:
回到错误:
no module ‘xformers’. Processing without…
no module ‘xformers’. Processing without…
No module ‘xformers’. Proceeding without it.
后面尝试一下解决,打开 launch_utils.py 文件
使用 COMMANDLINE_ARGS 搜索,在460行中加上如下命令:
--xformers
再次重启。
7、Stable diffusion model failed to load
启动报如下错:
就是没模型,加上就好,模型的后缀为 safetensors ,大小一般 2 - 11 G。
我是在这里下载模型的,下载好后放到这个目录就好了
接着重启
8、A tensor with NaNs was produced in Unet
这个错误是在图生图遇到的,具体如下:
modules.devices.NansException: A tensor with NaNs was produced in Unet. This could be either because there’s not enough precision to represent the picture, or because your video card does not support half type. Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.
可以在 webui-user.bat 文件中加入
--no-half --disable-nan-check
解决
总结
### 文章总结:Stable Diffusion的安装过程与常见问题处理#### 一、前言
文章记录了作者安装Stable Diffusion的过程,分享了安装的步骤以及遇到的主要问题和解决方法。安装过程中强调要在管理员权限下操作,并确保网络通畅。
#### 二、安装Python环境
- **版本要求**:Stable Diffusion需要Python 3.10.6版本。
- **下载与安装**:从官方网站下载Python 3.10.6安装包,并安装在无中文路径的文件夹中。安装完成后,确认Python版本是否正确。
- **多版本共存**:若已安装其他Python版本,需手动调整环境变量中的Path指向,以切换Python版本。
#### 三、安装Stable Diffusion
- **下载Stable Diffusion WebUI**:推荐使用git从[AUTOMATIC1111的GitHub页面](https://github.com/AUTOMATIC1111/stable-diffusion-webui?tab=readme-ov-file)下载最新版本,或通过git clone命令下载。
- **解压或git clone**:选择通过下载压缩包或git clone安装,但建议使用git方式以避免后续git相关的错误。
#### 四、运行
- **启动Stable Diffusion**:在Stable Diffusion WebUI的安装根目录下找到并运行`webui-user.bat`文件。
#### 五、启动报错与解决方案
1. **Torch is not able to use GPU**:
- **问题**:提示GPU无法使用。
- **解决方案**:在`webui-user.bat`文件中添加`--skip-torch-cuda-test`参数(不推荐),或安装适合当前显卡的CUDA版本,并验证CUDA安装成功。
2. **Installing open_clip卡住**:
- **问题**:安装过程中在某些网络环境下可能卡住。
- **解决方案**:尝试更换网络环境或使用公司网络,以确保网络连接速度。
3. **git clone 相关错误**:
- **错误提示**:关于`.git`目录或`git clone`命令的错误。
- **解决方案**:确保使用git下载Stable Diffusion WebUI,避免直接使用压缩包导致缺失必要的git配置信息。
4. **Installing requirements卡住**:
- **问题**:下载安装依赖时进度卡住。
- **解决方案**:手动进入虚拟环境,并使用根目录下的`python.exe`执行`requirements_versions.txt`文件中的依赖安装命令。
5. **no module ‘xformers’**:
- 问题显示缺少xformers模块,但基本不影响使用。
- 可以尝试在启动文件中添加`--xformers`参数。
6. **Stable diffusion model failed to load**:
- **问题**:模型加载失败。
- **解决方案**:下载模型文件(一般为`.safetensors`格式),并将其放置在指定的模型文件夹中。
7. **A tensor with NaNs was produced in Unet**:
- **错误描述**:在图生图过程中遇到精度不足或不支持half类型的问题。
- **解决方案**:在`webui-user.bat`中添加`--no-half --disable-nan-check`参数。
通过以上步骤和解决方案,作者成功安装并运行了Stable Diffusion,为其他读者提供了有力的参考。