腾讯云部署stablediffusion
近期尝试在腾讯云上部署,遇到了一些问题,特总结一下。
先看看效果:
一、服务器购买
云服务商的选择上,很普通,大家随意选择腾讯云/阿里云/移动云/华为云…都可以。本文使用的竞按时竞价收费。
1. 腾讯云上包月
https://cloud.tencent.com/act/pro/gpu-study , 60元/15天(最近贵了)。选择GN7-T4即可。
2. 腾讯云按时竞价收费。
https://buy.cloud.tencent.com/cvm?tab=custom&step=1&devPayMode=spotpaid®ionId=8&templateCreateMode=createLt
新用户可以8.8购买200元现金券(GPU自由卡),用于扣费。再额外充值20元流量费即可。购买链接:https://cloud.tencent.com/act/pro/gpu?from=16752#ziyouka
先等服务器自己安装显卡驱动。预计等个5分钟。等不及的可以通过一下命令看下是否完成
3、更新Python到python3.10
自带的python 和 python3 都是 2.7 和 3.6.9版本,直接使用会出现查找很久的问题,直接更新成python3.10
用apt安装
apt的全称是“Advanced Packaging Tool”,是 Linux 系统下的一款安装包管理工具。在 Ubuntu 的终端中输入如下指令,目的是更新当前系统的软件并安装一个组件 software-properties-common。
Ubuntu 自带的软件源的 Python 版本不是我们所要求的,需要增加一个软件源,下面增加的是名为“deadsnakes”的由第三方维护的软件源(https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa),到编写本书此内容的为止,其 Python 版本已经更新到 Python 3.9.4 。继续在终端输入如下质量,即可为 Ubuntu 增加了一个软件源。
在执行上述指令的过程中,会有提示出现,敲击“回车”(“retrun”)键即可。
然后用下面的指令安装我们所需要的 Python 版本。
按照如图所示的方式,可以进入到它的交互模式——注意,如果使用python
还不能进入到图示的交互模式,这是因为 Ubuntu 的软连接还没有修改。
exit(); 退出
4、将更新后的python3.10设置成默认
参考文档(https://blog.csdn.net/ultimate1212/article/details/83866217)
安装了3.10后,我们系统中有多个python版本,要将我们需要的3.10版本设置成默认。
使用命令
会列出所有的python版本,但你现在高概率会出现“update-alternatives: error:no alternatives for python”,就说你的版本没有录入。那就补充下好了。
注意:要同时补充python和python3。
不想研究的,直接复制如下代码即可
验证方法
5、创建python3的虚拟环境
代码如下
当你看到“done”的时候就OK了
2、修改launch.py文件
进入到对应的文件夹
· 1
修改launch.py的代码
· 1
主要两个目的:
①由于腾讯源没有“torch==2.0.1+cu117“,导致需要从“–extra-index-url”的“https://download.pytorch.org/whl/cu117”中进行下载,速度非常慢。故此处对launch.py代码进行修改
找到torch_command = os.environ.get(‘TORCH_COMMAND’, “pip install torch2.0.1+cu117 torchvision0.15.2+cu117 --extra-index-url https://download.pytorch.org/whl/cu117”),并修改
修改后:torch_command = os.environ.get(‘TORCH_COMMAND’, “pip install torch2.0.1 torchvision0.15.2”)
修改方法:输入“i”,再移动到对应位子上进行删除
②因为众所周知的网络原因,要对github的连接做处理
在每个 https://github.com/ (就在下面几行,注意每一个都要改)开头的链接前面添加 https://ghproxy.com/ ,变成如图所示的 https://ghproxy.com/https://github.com/的样子
两步修改完成后的样子如下
输入“:wq”,回车,保存并推出。
不确认自己有没有修改成功的,可以cat看一下
3、下载chilloutmix模型
进入stable-diffusion-webui/models/Stable-diffusion文件夹,下载chilloutmix模型到本地。
这些都弄好了之后呢,然后还需要一些额外的文件和模型,目前大家从网上看到比较火的两个模型:chilloutmix 和 Lora(包含18+内容,这个算了算了。。),下载文件都可以从 civitai.com/ 网站找到。
如果服务器无法访问civitai.com/,可以从https://civitai.com/api/download/models/9475
魔法下载文件到本地,再上传到腾讯云服务器stable-diffusion-webui/models/Stable-diffusion目录下。
输入创建服务器的密码即可。 152.*.*.179是自己服务器的外网IP地址。
sd-v1-4.ckpt,下载地址:huggingface.co/CompVis/sta…
chilloutmix 模型,下载地址:civitai.com/models/6424…
Korean-doll 模型,说是韩风美女,下载地址: https://civitai.com/models/11619/korean-doll-likenesss
GFPGANv1.4.pth 脸部优化,下载地址:github.com/TencentARC/…
1 和 2 放在 models/Stable-diffusion 目录,3 放到 models/Lora 目录,最后一个放在项目的根目录。
直接下載好慢 我用电脑下载再传上去的
之前按照前辈的方法,直接开始./weiui.sh。结果出现以下报错,查了半天,简单除暴的删除就行了。
报错
步骤如下:
在stable-diffusion-webui文件夹中删除venv文件
5、重头戏./webui.sh
因为是云服务器,为了完成后可以远程访问,对命令做如下修改
./webui.sh --listen --no-half --
此命令运行实例后,渲染图片的时候报内存不够
如果报错如上 可以 运行
再重新执行
出现 Running on local URL: http://0.0.0.0:7860 就成功了
电脑访问http://云主机ip:7860 就可以了
注大家玩的愉快!!!
watch -n 0.1 nvidia-smi
启动命令后面加上--medvram 或者--lowvram,牺牲运行速度减少显存需求
安装xformers 你启动时有这个信息吗? No module 'xformers'. Proceeding without it. 使用xfomers似乎可以减少显存需求,安装方式也很简单,同样是上面的webui-user.bat,在commandline_args后面加上--xformers,启动时就会自动安装了。
或者直接调整启动命令 :
./webui.sh --listen --no-half --medvram –xformers
解:此错误表示显存已满,无法继续工作,通常是因为上传的参考图片尺寸过大,因为上一条说了参考图片尺寸需要与输出尺寸一致,所以参考图片的上限也是 1024x512(Google Colab 免费用户),如果参考图片尺寸在 1024x512 以内,请查看是否有参数设置的过高,然后重新运行「3 - Launch WebUI for stable diffusion」,调整参考图片尺寸重新上传或者修改参数。
nohup yourcommand &
关闭启动程序
https://blog.csdn.net/LX_Stefanie/article/details/129995952 安装相关的
https://www.bilibili.com/read/cv21987039/ 内存不足问题排查。
https://www.bilibili.com/read/cv19174345/ 问题排查相关
https://publicprompts.art/hyper-realistic-anime-portraits/ prompts提示词参考
https://www.bilibili.com/read/cv21954296 安装换衣服插件
荣翔 2023-04-06
啟雲 2023-02-24
会修电视电脑的呆不萌 2023-04-20