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

news/2024/7/24 11:56:15 标签: 服务器, stable diffusion, 运维, AIGC

文章目录

  • 在学校服务器部署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

http://www.niftyadmin.cn/n/5335459.html

相关文章

CloudPanel RCE漏洞复现(CVE-2023-35885)

0x01 产品简介 CloudPanel 是一个基于 Web 的控制面板或管理界面,旨在简化云托管环境的管理。它提供了一个集中式平台,用于管理云基础架构的各个方面,包括虚拟机 (VM)、存储、网络和应用程序。 0x02 漏洞概述 由于2.3.1 之前的 CloudPanel 具有不安全的文件管理器 cook…

蓝桥杯(C++ 矩形总面积 错误票据 分糖果1 三国游戏 分糖果2)

目录 一、矩形总面积 思路: 代码: 二、错误票据 思路: 代码: 三、分糖果1 思路: 代码: 四、三国游戏 思路: 代码: 五、分糖果2 思路: 代码:…

C#MQTT编程08--MQTT服务器和客户端(cmd版)

1、前言 前面完成了winform版,wpf版,为什么要搞个cmd版,因为前面介绍了mqtt的报文结构,重点分析了【连接报文】,【订阅报文】,【发布报文】,这节就要就看看实际报文是怎么组装的,这…

vue3:ref,reactive,toRef,toRefs,computed

ref 接受一个内部值并返回一个响应式且可变的 ref 对象,在setup函数内部访问ref函数需要加.value, 如果要加类型,要用泛型,不加则会类型推论,也可以不给初始值,则是any,且是undefined 一般来说…

开发安全之:Cross-Site Scripting (XSS) 漏洞

近期,我会结合研发云陆续发布开发安全相关的文章,欢迎大家关注! Overview echo json_encode($arr):向一个 Web 浏览器发送了未验证的数据,从而导致该浏览器执行恶意代码。 Details Cross-Site Scripting (XSS) 漏洞…

【保姆级教程】2024华数杯B题52页word参考论文(附带四小问py/matlab代码+完整数据集+代码运行结果高清图)

ICM B 题:光伏发电(成品在文末获取) 该题目出题的难度与方向都与美赛 ICM 的题型高度相似,将本次竞赛当做美赛的 练手赛,个人认为是非常合适的一种选择。同时 28 号就可以出成绩,也可以在美赛前 实现查漏补缺,提前预祝…

x86 和 x64 arm的区别

x86和x64是基于英特尔x86架构的复杂指令集架构(ISA),而ARM是一种精简指令集架构。 什么是指令集架构 假设我们现在要开发一个cpu,就好比说我们去修建一栋楼,开发商会先将图纸设计好。设计好之后由施工单位按照设计图…

15分钟学会Pinia

Pinia 核心 Pinia 介绍 官方文档:pinia.web3doc.top/ What is Pinia ? Pinia 是一个状态管理工具,它和 Vuex 一样为 Vue 应用程序提供共享状态管理能力。语法和 Vue3 一样,它实现状态管理有两种语法:选项式API 与 组合式API&a…