本人是一个AI新手,最近在研究文生图方面相关内容时看到Stable Diffusion WebUI这个项目,想在本地部署安装试用看下效果,安装过程中遇到了一些问题,此处记录一下
问题1:Python 3.12.1 (tags/v3.12.1:2305ca5, Dec 7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] Version: 1.8.0-RC Commit hash: <none> Installing torch and torchvision Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple, https://download.pytorch.org/whl/cu121 ERROR: Could not find a version that satisfies the requirement torch==2.1.2 (from versions: 2.2.0, 2.2.0+cu121, 2.2.1, 2.2.1+cu121) ERROR: No matching distribution found for torch==2.1.2
解决方案:试用正确的python版本,我本地安装的python版本是3.12.1,而Stable Diffusion WebUI要求的python是3.10.6,必须使用这个版本,其他版本会出现上述这个问题。这点官方文档上也有说明
Install Python 3.10.6 (Newer version of Python does not support torch), checking "Add Python to PATH". Install git. Download the stable-diffusion-webui repository, for example by runninggit clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
.
Run webui-user.bat
from Windows Explorer as normal, non-administrator, user.
问题二:RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
解决方法:按照错误的提示在webui-user.bat中的COMMANDLINE_ARGS参数添加--skip-torch-cuda-test值,即COMMANDLINE_ARGS=--skip-torch-cuda-test
问题三:解决问题二重新运行后报错unable to access 'https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git/': Failed to connect to github.com port 443: Timed out
解决方法:这是我电脑配置的问题,重连下网络,用git-cmd.exe运行就可以了(因为公司电脑权限控制,所以git安装后没有配置到环境变量中)
问题四:ERROR: Could not build wheels for antlr4-python3-runtime, ffmpy, which is required to install pyproject.toml-based projects
解决问题:手动用pip命令安装antlr4-python3-runtime, ffmpy,依赖。
pip install antlr4-python3-runtime
pip install ffmpy
问题五:stderr: ERROR: Could not find a version that satisfies the requirement jsonmerge==1.8.0 (from versions: 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.4.0, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 1.7.0, 1.8.0, 1.9.0, 1.9.1, 1.9.2) ERROR: No matching distribution found for jsonmerge==1.8.0
解决方法:无法下载依赖的原因未知,可能是网络原因,百度了对应的jsonmerge1.8.0的安装包,然后通过pip命令安装。具体步骤如下
1.下载依赖文件,下载下来之后是一个压缩文件,将文件解压
2.命令行进入到解压文件夹,运行python setup.py install
3.运行成功后 执行pip show jsonmerge 查看版本
Name: jsonmerge
Version: 1.8.0
Summary: Merge a series of JSON documents.
Home-page:
Author: Tomaz Solc
Author-email: tomaz.solc@tablix.org
License: MIT
Location: d:\soft\python3.10.6\lib\site-packages\jsonmerge-1.8.0-py3.10.egg
Requires: jsonschema
Required-by:
命令行返回以上内容说明安装成功
4.pip命令清除缓存后重新运行解决
5.若还是报这个错误,看下使用的python版本,由于我的电脑先安装了3.12.1曾用这个版本运行过,所以Stable Diffusion WebUI的环境配置中已经生成了对应路径,所以即便安装了jsonmerge-1.8.0,启动还是会报上面的错误。可以在stable-diffusion-webui-master目录下的venv文件夹中找到pyvenv.cfg文件,将文件中的python路径和版本改为python3.10.6对应的路径和版本。清除缓存后重新运行成功
问题六:模型加载失败,解决完上面的问题我的项目已经可以正常运行,打开web网页,由于电脑没有“科学上网”所以模型没有下载成功因此会报没有模型的错误
解决方案:科学上网后重新运行,或者手动下载模型文件,添加到stable-diffusion-webui-master目录\models\Stable-diffusion中
问题七:模型下载完成后放入到对应的位置重新运行,会报错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.原因还是由于网络问题不能访问hugging face
解决方案:手动下载文件包放到本地,并把对应代码中的文档引用路径改为本地路径
代码路径:D:\AI\stable-diffusion-webui-master\repositories\stable-diffusion-stability-ai\ldm\modules\encoders\moudules.py
D:\AI\stable-diffusion-webui-master\repositories\generative-models\sgm\modules\encoders\moudules.py
(这是我电脑的项目路径,D:\AI\stable-diffusion-webui-master替换为你电脑中的对应路径即可)
每个文件中有两处要修改,全局搜索/openai/clip-vit-large-patch14,修改为本地路径,我的路径是D:\AI\stable-diffusion-webui-master\models--openai--clip-vit-large-patch14
def __init__(self, version="D:\AI\stable-diffusion-webui-master\models--openai--clip-vit-large-patch14", device="cuda", max_length=77,
freeze=True, layer="last", layer_idx=None): # clip-vit-base-patch32
保存文件重新运行后模型能够正常生成图片
PS:生成过程中发现我的电脑CPU吃满了但是GPU没动,网上有两种说法一种是没装conda,一种是显卡不是N卡,没法调度,因为时间问题不再往下研究了,准备直接上云了