1. ECS配置
l 镜像选择Ubuntu22.04 64位,亦可选取Ubuntu 18(自动下载好硬件驱动与cuda,但是python3.10与pip与git需要自己配置),本文后续依照Ubuntu22.04 64位介绍。
l 系统盘大小设置为128GB(停机模式主要费用产生原因,也可以调小从而省钱,不过stable diffusion模型体积通常较大,需要个人取舍)
l 网络按流量计费,带宽建议拉高25Mbps~50Mbps
l 安全组密钥对等安全设置按照指引即可,登录名建议ecs-user
2. 系统配置
l Ubuntu22.04镜像Python3.10以及git已经预先安装好,无需配置
l 运行 sudo apt-get update
l 安装python3.10版本venv:sudo apt install python3.10-venv
venv是python自带的虚拟环境服务(与anaconda类似),主角stable-diffusion-webui即在venv虚拟环境下服务
l 安装完成Ubuntu22会跳出Daemons using outdated libraries紫屏界面,这里是22的新特性我也没有研究 直接回车
3. 硬件相关配置
Nvidia官网根据GPU型号等信息查询Cuda安装命令:
sudo dpkg -i cuda-keyring*.deb
sudo apt-get updatesudo
apt-get -y install cuda
l 上述命令在V100以及T4显卡下测试适用
l 运行 nvidia-smi 查看安装情况
l 已经安装完成cuda和显卡驱动
4. 部署stable-diffusion-webui
l 在/home/ecs-user或其他目录下运行命令clone源码并进入目录
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
P.S.此后所有操作默认在stable-diffusion-webui目录下
l 修改launch.py 200~300行的https://github.com为https://ghproxy.com/https://github.com
此处是利用Ghproxy进行代理,加速国内Git
l 运行bash webui.sh
此时会报错虚拟环境无法激活,查阅issues
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/1120
应该运行python3 -m venv venv/
l 更新pip: pip install --upgrade pip
l 换源pip:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
l 运行bash webui.sh 开始自动下载依赖库
P.S. Installing gfpgan \clip \open_clip以及clone时间都可能较长,耐心等待,若失败可以重新尝试运行bash webui.sh
**
Installing gfpgan开始需要等待较长时间,若最后仍出现错误 可尝试激活venv环境自行安装:
source venv/bin/activate
pip install basicsr
pip install facexlib
pip install -r requirements_versions.txt
成功安装gfpgan
**
最后会自动下载stable diffusion v1.5模型 大小4gb , 其实应该可以修改launch.py(我并没有尝试过)不自动下载该模型或者是下载别的模型,该模型绘制效果似乎一般。
5. 端口开放
l 执行至此处距离成功只有一步之遥了,回到阿里云控制台-网络与安全-安全组,选中ECS服务器使用的安全组-配置规则,手动添加端口,授权对象可以0.0.0.0或者查下本机ip地址。
l 回到服务器bash webui.sh服务运行 但是通过我们自己的电脑访问仍然失败
原因感谢@巫师傅 排查后发现需要添加listen参数使得local address变为0.0.0.0
l 最后一步,启动程序(释放当前示例并重新创建ECS示例后同样只需要输入该命令)
bash webui.sh --listen
随后便可以在浏览器利用服务器公网IP+端口的访问了。
6. 扩展插件(非必须,但是强烈推荐)
完成前五步之后,我们已经可以愉快地使用Prompt进行绘制了,但由于Stable Diffusion以及其Webui开源的特性,社区中涌现出了许多实用的插件以及颠覆性的技术(人民群众的力量是无穷的),在Extensions条目中我们可以看到已安装的插件,新版webui已经内置了一些实用插件,例如Lora。
点击extensions可以看到已经安装并识别出的扩展插件
点击extensions下的Avaliable可以一键安装支持的插件(如果有梯子)
这里我选择安装了两个插件,一个是大名鼎鼎的controlnet,另一个是可以编辑3D骨骼的插件。