云服务器部署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

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那