云服务器部署Stable Diffusion Webui从0到1总结:反复重启+循环debug

本文主要是介绍云服务器部署Stable Diffusion Webui从0到1总结:反复重启+循环debug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 在学校服务器部署Stable Diffusion Webui
    • (一)准备工作
    • (二)环境配置
    • (三)git拉取项目到本地
    • (四)运行项目
  • 遇到的问题:
    • (一)使用git clone时,Failed to connect to 127.0.0.1 port 7890
    • (二)使用git clone时,出现RPC failed
    • (三)RuntimeError: Couldn’t install open_clip
    • (四)Couldn't checkout {name}'s hash: {commithash}.
    • (五)Failure when receiving data from the peer
    • (六)OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
    • (七)Failed to connect to github.com port 443 after 127293 ms: Couldn't connect to server
    • (八)FileNotFoundError: No checkpoints found. When searching for checkpoints for Stable-diffusion
    • (九) Can't load tokenizer for 'openai/clip-vit-large-patch14'

在学校服务器部署Stable Diffusion Webui

(一)准备工作

查看显卡

 nvidia-smi

查看git版本号

git --version

(二)环境配置

配置一个新环境

conda create -n sd python=3.10.6

查看已有环境

conda env list

激活该环境

conda activate sd

进入用于存放项目的空文件夹

cd sdwebui

(三)git拉取项目到本地

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

(四)运行项目

进入项目目录下

 cd stable-diffusion-webui

运行

bash webui.sh -f

遇到的问题:

(一)使用git clone时,Failed to connect to 127.0.0.1 port 7890

git config --global --list
git config--global user.name dx
 git config --global user.password dxdxdxdx

查看是否设置代理

git config --global http.proxy

取消设置代理

git config --global --unset http.proxy

(二)使用git clone时,出现RPC failed

因为git库上面放了一些数据,整个库较大。curl的postBuffer 默认值较小,配置下个这个值,就不会出现该错误了

git config --global http.postBuffer 1024288000

再进行git clone 则不会再报错了

(三)RuntimeError: Couldn’t install open_clip

根据错误信息分析,程序在安装“open_clip”包时,尝试从GitHub上克隆代码仓库,但是克隆失败了,可能是由于网络连接问题或GitHub服务器出现问题导致的。可以重新运行程序,或等会再试,就可以了。

(四)Couldn’t checkout {name}'s hash: {commithash}.

这可能是因为存在Unknown option:-C的问题:
在这里插入图片描述
这个错误的意思是git版本不对,不能识别-C的命令,但是可以识别-c的命令,因此有两种解决方式:
方式一:更新git版本
方式二:更改-C的命令为-c

该错误需要修改module文件夹下的launch_utils.py文件
先进入module文件夹

cd module

进入launch_utils文件夹的编辑模式

vim launch_utils.py

在vim 中查找-C 并替换成 -c

:%s/-C/-c/g   # 查找全部-C并替换成-c

然后退出vim重新运行就行,退出方式:先点击Esc键,这一步的意思是vim准备接受命令了。然后直接敲击键盘输入命令。这一步需要注意的是,不要试图用鼠标在屏幕上找要任何输入命令的地方。你只需要点了Esc键,直接敲击键盘,然后键入命令,回车就行。另外,注意输入法需要是英文状态。(这一部分可以具体参考【git学习】如何编辑git config --global的配置文件)

:wq!    

之后返回stable-diffusion-webui文件夹重新运行即可

cd ..

(五)Failure when receiving data from the peer

多试几次还不行的话等一会再试几次。我的是等了一会再试直接就可以了。

(六)OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

进入Git Bash Here解除ssl验证

git config --global http.sslVerify "false"

(七)Failed to connect to github.com port 443 after 127293 ms: Couldn’t connect to server

设置代理

git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890

然后再取消设置代理

git config --global --unset http.proxy
git config --global --unset https.proxy

(八)FileNotFoundError: No checkpoints found. When searching for checkpoints for Stable-diffusion

Stable-diffusion模型没有下载完成,根据报错提示在 huggingface.co 下载模型放到对应目录,如下载 stable-diffusion-v1-5 模型
点击图中下载按钮,下载 v1-5-pruned-emaonly.safetensors 到 stable-diffusion-webui/models/Stable-diffusion 目录,其他模型同理。
在这里插入图片描述
点击图中下载按钮,下载 v1-5-pruned-emaonly.safetensors 到 stable-diffusion-webui/models/Stable-diffusion 目录,其他模型同理。

模型下载完成,再次执行启动命令,提示已启动到 7860 端口,则可以通过 IP+7860 端口访问。
这一部分主要参考自一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

(九) Can’t load tokenizer for ‘openai/clip-vit-large-patch14’

也是存在文件缺失的问题,根据报错提示在 huggingface.co 下载模型放到对应目录,https://huggingface.co/openai/clip-vit-large-patch14/tree/main
下载文件为:
1、config.json
2、flax_model.msgpack
3、merges.txt
4、preprocessor_config.json
5、pytorch_model.bin
6、special_tokens_map.json
7、tokenizer.json
8、tokenizer_config.json
9、vocab.json

将以上九个文件放到新文件夹下:

cd stable-diffusion-webui
mkdir -p openai/clip-vit-large-patch14

这篇关于云服务器部署Stable Diffusion Webui从0到1总结:反复重启+循环debug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/611168

相关文章

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详