稍微花了点时间折腾一下,废话不多说,直接上
电脑详细配置
windows10 家庭版
32G 内存
i5 CPU
N卡 8G 显存
2T 硬盘
1.git 是基本配置,没有一定要安装,后续Stable Diffusion
会自己 clone
一些东西
https://git-scm.com/download/win
2.N卡的 CUDA ,这东西要和Pytorch
版本匹配,我安装的是 12.3 版本,直接去官网下载安装就可以了,C盘需要一定的空间
https://developer.nvidia.com/cuda-downloads
3.pytorch 库, 我用的Pytorch 是目前最高版本12.1, 一定要注意 下载 GPU的版本
, 对应的python版本是310
https://download.pytorch.org/whl/torch_stable.html
*[cu121/torch-2.1.1%2Bcu121-cp310-cp310-win_amd64.whl](https://download.pytorch.org/whl/cu121/torch-2.1.1%2Bcu121-cp310-cp310-win_amd64.whl)
*[cu121/torchaudio-2.1.1%2Bcu121-cp310-cp310-win_amd64.whl](https://download.pytorch.org/whl/cu121/torchaudio-2.1.1%2Bcu121-cp310-cp310-win_amd64.whl)
*[cu121/torchvision-0.16.1%2Bcu121-cp310-cp310-win_amd64.whl](https://download.pytorch.org/whl/cu121/torchvision-0.16.1%2Bcu121-cp310-cp310-win_amd64.whl)
分别下载着3个先放到一个文件夹
准备好这些我们就可以正式开始clone 库了
打开终端Cmd 进入预习准备的文件夹
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
然后安装对应的库, 可以先查看
python --version
提示是 3.10.几 就可以
创建一个虚拟环境隔开
python -m venv venv
进入venv目录,编辑pyvenv.cfg配置文件,
将“include-system-site-packages = false”改为“include-system-site-packages = true”。
这一步的作用是允许虚拟环境中的 Python 解释器访问系统全局的 site-packages 目录。
修改完之后,用户进入`venv\Script目录 `
运行`activate`文件激活虚拟运行环境。如果有其他提示 就使用 `activate.bat`
安装一些需要的库
pip install requirements_versions.txt
如果提示错误,可以试试
pip install -r requirements_versions.txt
这个过程非常慢,如果遇到卡主的问题,可以试试关闭一些辅助的上网工具
完成后,下载模型
所有环境下载好之后,我们必须要下载一个模型,模型我们一般都是去Hugging Face、C站、炼丹阁、海艺、Hotiq这些网站进行下载。
下载后的模型放在\models\Stable-diffusion文件夹中
然后运行
webui-user.bat
问题与解决
1.RuntimeError: Expected all tensors to be on the same device,
but found at least two devices, cpu and cuda:0!
这个可以通过修改webui-user.bat 启动参数解决
set COMMANDLINE_ARGS=--precision full --no-half --lowvram --always-batch-cond-uncond --opt-split-attention
- --skip-torch-cuda-test, 这个命令就说明CUDA 不对,用不了GPU,使用这个就是使用CPU进行训练
手写代码
import torch
torch.cuda.is_available()
如果返回false 就证明下载的不对
解决 下载对应的 torch
torch.__version__
然后
pip uninstall torch 下载后
pip install 下载后本地存的地址 一共有3个包
最后运行跑起来