关于SD webui 部署运行的一些坑

news/2024/11/18 3:01:42/

[Bug 1]: RuntimeError: Couldn't install gfpgan

可以先尝试:

pip install gfpgan

不过是在虚拟环境venv下的

E:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install gfpgan

如果还是无法安装gfpgan的原因是网络问题,就算已经科学上网,并设置为全局,也无法从github上下载源代码,从而导致install失败。
解决方法是直接到github下载 GFPGAN 代码到本地,并进行本地安装。
因为stable diffusion会在其根目录创建虚拟python环境venv,因此安装方法与github有所不同。可参考以下方法:

  1. 从github将GFPGAN的源文件下载到本地,这一步可以使用git clone也可以直接下载zip文件。下载后,解压(如果用git clone就不需要)到d:\\stable-diffusion-webui\venv\Scripts目录下(stable-diffusion-webui是你stable diffusion webui的根目录,这个地址只是我电脑中的,请根据自己放的位置调整)。
  2. 打开cmd,cd到d:\\stable-diffusion-webui\venv\Scripts\GFPGAN-master下。
  3. 使用命令d:\\stable-diffusion-webui\venv\Scripts\python.exe -m pip install basicsr facexlib安装GFPGAN的依赖。
  4. 再使用d:\\stable-diffusion-webui\venv\Scripts\python.exe -m pip install -r requirements.txt安装GFPGAN的依赖。
  5. 使用E:\\stable-diffusion-webui\venv\Scripts\python.exe setup.py develop安装GFPGAN。

安装完毕后,再打开stable diffusion根目录的webui-user.bat会发现不再要求安装GFPGAN。如果遇到其他github上的模块无法安装也可以用同样的方法

[Bug 2]: AssertionError: Torch is not able to use GPU;

解决方法:修改launch.py代码:

launch.py
问题分析:查了一下似乎是CUDA和torch版本不匹配的问题,但我的CUDA版本是每问题的。所以把相关的两行注释掉,绕过这个检测好了。建议先检查一下自己的版本,实在不行再用我的这个方法。

2.23更新 实际上这个问题很可能是因为.bat自动安装了CPU版本的torch,所以无法使用CUDA。

建议检查一下python环境里能不能用CUDA和torch的版本

不能用CUDA

检查torch版本:cpu
解决方法:先用pip uninstall torch卸载cpu版本的torch

然后到torch官网https://pytorch.org/get-started/locally/ 选择自己匹配的版本,复制命令自行安装torch

复制红框框里的命令安装torch,我是用pip比较快
安装完后检查是GPU版本能用CUDA就OK了

GPU版本,能用CUDA

参考:自力更生:Stable Diffusion webui本地部署遇到的坑及解决 - 哔哩哔哩

[Bug 3]: RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'

[Bug]: RuntimeError: "LayerNormKernelImpl" not implemented for 'Half' · Issue #5232 · AUTOMATIC1111/stable-diffusion-webui · GitHub

一般都是在 COMMANDLINE_ARGS 里加 --no-half 参数


http://www.ppmy.cn/news/73319.html

相关文章

【SAP Abap】X-DOC:SE18/19 - SAP第四代增强概念理解

【SAP Abap】X-DOC:SE18/19 - SAP第四代增强概念理解 1、Tcode2、概念3、增强选项类型4、增强实现类型5、增强操作方式6、增强选项与增强实现关系7、增强实施建议 1、Tcode SE18:Business Add-Ins: Definitions(增强点定义/查看)…

深度解析Qt背景设计:从基础到高级,从Widget到Quick

深度解析Qt背景设计:从基础到高级,从Widget到Quick 一、Qt背景设计的基础知识(Basic Knowledge of Qt Background Design)1.1 Qt背景的基本概念(Basic Concepts of Qt Background)1.1.1 QWidget和QQuickIte…

网易游戏开发实习生一面面经

面试时长20min(没有手撕代码) 1、介绍一下自己 2、MonoBehaviour是干什么的 3、说一下Update和FixedUpdate、LateUpdate的区别 4、关于xlua你了解多少 5、你觉得xlua有什么优缺点的地方 6、对Unity插件有了解吗 7、说一下shared_ptr和weak_ptr&#xff1…

C++ map用法总结(整理)

1,map简介 map是STL的一个关联容器,它提供一对一的hash。 第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value); map以模板(泛型)方式实现,可以存储任意类型的…

2023五一数学建模B题完整思路

已更新五一数学建模ABC题思路,文章末尾获取! B题思路: 问题1:附件1为该快递公司记录的2018年4月19日—2019年4月17日的站点城市之间(发货城市-收货城市)的快递运输数据,请从收货量、发货量、快递数量增长/减少趋势、…

厚积薄发|迭代为什么叫冲刺?

上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道。–《道德经》 软件工程从原始的作坊式工作方式,经过了哪些思考、哪些方案的试探,才在不断地尝试与改善后,走…

java接口与实现

文章目录 一、Java接口二、Java实现接口三、Java接口回调四、Java接口与多态五、Java接口参数六、Java接口与抽象类的比较七、Java接口的UML图总结 一、Java接口 接口是Java语言中一种重要的数据类型,通常使用关键字interface来定义一个接口。 接口的定义和类的定…

成功的产品经理,应该了解一定的开发知识

产品经理在互联网产品开发中扮演着协调和推动的重要角色。然而,由于产品经理没有直接的实际权力,与开发团队合作时可能会遇到各种挑战。当你给开发人员分配任务时,他们可能会找各种借口推脱工作。 在项目开发中,所有成员必须共同…