名词解释:
丹摩智算(damodel):是一款带有RTX4090,Tesla-P40等显卡的公有云服务器。
stable diffusion:是一个大模型,可支持文生图,图生图,文生视频等功能
一.实验目标
注册丹摩智算(damodel) 账户,创建带有显卡(Tesla-P40)的公有云服务器,系统为:ubuntu22.04_tensorflow2.1,通过ssh协议连接到公有云服务器,在该服务器上安装stable diffusion,适配成功后,通过浏览器访问stable diffusion后,实现文生图的功能
二.实验环境准备
1.公有云:丹摩智算(damodel)
2.系统:ubuntu22.04_tensorflow2.1
3.显卡:Tesla-P40
4.ssh连接工具:finalshell
5.stable diffusion:Stable Diffusion web UI
三.实验步骤
1.丹摩智算(damodel) 账户 注册
2.创建带显卡的公有云服务器。显卡:Tesla-P40 系统:ubuntu22.04_tensorflow2.1
3.ssh连接工具finalshell下载安装
4.通过ssh协议连接后,在ubuntu22.04_tensorflow2.1公有云上部署stable diffusion
5.Stable Diffusion web UI部署成功后,通过浏览器访问
6.在Stable Diffusion web UI页面上,输入关键词,生成图片
四.实验过程
注意事项:
由于需要下载模型,模型50g大小,所以磁盘一定要在创建实例的时候一次性创建够用。例如:200g系统盘,300g数据盘。
1.丹摩智算(damodel) 账户 注册
浏览器登录地址:https://www.damodel.com/home
注册成功后进入页面
点击创建实例
2.创建带显卡的公有云服务器。显卡:Tesla-P40 系统:ubuntu22.04_tensorflow2.1
选择显卡型号,操作系统和默认支持框架,并选择使用优惠券和付费方式
创建成功后
3.ssh连接工具finalshell下载安装
下载地址:FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.5.6,更新日期2024.8.27 - FinalShell官网
弹出来
安装成功后, 丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩! 找到实例登录的用户名和密码(访问链接和密码分别复制获取)
输入实例 ip和用户名,密码
登录成功后
4.Stable Diffusion web UI下载与部署
注意事项:由于github访问慢的原因,所以本文会用离线下载后上传安装Python组件的方式和修改github地址为gitee两种方式来解决。gitee库已放在文章中,过程vim 修改utils文件,请仔细修改,耐心操作
地址:GitCode - 全球开发者的开源社区,开源代码托管平台
安装依赖项:# 更新库
sudo apt update
# 基于Debian的:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
中间输入y
sudo apt install --no-install-recommends google-perftools
转至期望安装webui的目录,执行以下命令:mkdir /opt/software
cd /opt/software
git clone https://gitcode.com/gh_mirrors/st/stable-diffusion-webui.git
或者在本地下载之后上传
创建用户,设置密码
root@crm1uavhri0c73fveip0-arhmb:/opt/software# useradd diffusion
root@crm1uavhri0c73fveip0-arhmb:/opt/software# passwd diffusion
输入密码:123456
webui.sh
。 bash webui.sh -f
这里遇到一个问题,执行到上面下载步骤,有2G大小的文件需要下载,但是网速只有200k,需要两个小时才能下载成功。需要耐心等待。
查看webui-user.sh
以获取选项。
创建目录:/opt/software/stable-diffusion-webui/
mkdir /opt/software/stable-diffusion-webui/
修改文件,去掉root登录限制
sudo apt install python3-pip
手动下载whl文件后,上传到服务器,然后安装
下载地址:https://download.pytorch.org/whl/cu121/torch-2.1.2%2Bcu121-cp310-cp310-linux_x86
pip install torch-2.1.2+cu121-cp310-cp310-linux_x86_64.whl
下载clip并安装
下载地址:
https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip
用sheel工具上传
下载后安装:
python3 -m pip install CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary
’
安装bc计算工具
apt-get install bc
/opt/software/stable-diffusion-webui/venv/bin/python -m pip install /opt/package/CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary
下载安装openc_clip
地址:https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip
下载后上传
安装:
/opt/software/stable-diffusion-webui/venv/bin/python -m pip install /opt/package/open_clip-bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip --prefer-binary
python -m pip install open_clip_torch
python3 -m pip install open_clip_torch
安装
修改文件/opt/software/stable-diffusion-webui/modules/launch_utils.py,
vim 找到198行,替换stable-diffusion-webui-assets.git的github地址为gitee
mkdir -p /opt/software/stable-diffusion-webui/repositories
cd /opt/software/stable-diffusion-webui/repositories/
git clone https://gitee.com/akavir/stable-diffusion-webui-assets.git
xsinbegin/stable-diffusion-stability-ai
修改stable-diffusion-stability-ai 地址为gitee.
修改stablediffusion地址为gitee
vim /opt/software/stable-diffusion-webui/modules/launch_utils.py
https://gitee.com/akavir/stablediffusion.git
修改generative-models: from https://github.com/Stability-AI/generative-models.git
https://gitee.com/llf/Stability-AI-generative-models.git
更改k-diffusion库
vim /opt/software/stable-diffusion-webui/modules/launch_utils.py
找到该行
用下面的链接替换
https://gitee.com/dinglinhe/k-diffusion.git
替换blip
地址为:
https://gitee.com/dinglinhe/BLIP.git
安装xfromer
pip install xformers
执行 部署脚本
bash /opt/software/stable-diffusion-webui/webui.sh -f
注:本文未安装模型,在安装模型前需要扩展硬盘
5.Stable Diffusion web UI部署成功后,通过浏览器访问
http://127.0.0.1:7860
注:本文由于模型下载的缘故,暂未成功,后续补充
6.在Stable Diffusion web UI页面上,输入关键词,生成图片
需要等待模型下载成功后,继续实验
五.演示效果:
模型下载成功后演示
六.注意事项
1.丹摩智算(damodel)平台优惠券只有50元,创建成功实例后,由于是按时间进行算费,需要注意使用时效的问题
2.ERROR: This script must not be launched as root, aborting...
错误解决:
方法一. 运行 bash webui.sh如果是root用户,需要注释掉webui.sh中关于root权限的判断。
创建用户
方法二:或者:bash webui.sh -f
3.必须先执行sudo apt update 更新库,再安装依赖环境,否则会报错
4.ERROR: Cannot activate python venv, aborting...
5.
Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage)
七.附录
官网手册:
🔥 丹摩迎新季|5折GPU,开学季大放价 | 帮助文档 - DAMODEL
总结
### 文章总结:丹摩智算与Stable Diffusion的实现与应用本文介绍了如何在丹摩智算(damodel)公有云上搭建并运行Stable Diffusion模型,实现文字到图片生成的功能。以下是详细步骤和关键点:
#### 一、实验目标
1. **注册丹摩智算(damodel)账户**:注册并获取云平台服务权限。
2. **创建GPU云服务器**:配置带有Tesla-P40显卡的Ubuntu 22.04(支持TensorFlow 2.1)公有云服务器。
3. **安装Stable Diffusion**:在服务器上安装Stable Diffusion web UI,并通过浏览器访问和使用。
#### 二、实验环境准备
1. **公有云**:丹摩智算(damodel)。
2. **系统**:Ubuntu 22.04(预装TensorFlow 2.1)。
3. **显卡**:Tesla-P40。
4. **连接工具**:finalshell。
5. **应用**:Stable Diffusion web UI。
#### 三、实验步骤
1. **注册丹摩智算账户**:通过浏览器访问[https://www.damodel.com/home](https://www.damodel.com/home)注册并登录。
2. **创建带显卡的服务器**:在平台上选择Tesla-P40显卡和Ubuntu 22.04_tensorflow2.1系统,并创建实例。
3. **安装ssh工具**:下载并安装finalshell,用于远程连接公有云服务器。
4. **部署Stable Diffusion**:
- 更新系统库并安装依赖项。
- 通过Git或本地上传方式安装Stable Diffusion web UI及其组件。
- 修改配置文件以去除root权限限制,并调整依赖组件的GitHub访问链接为Gitee以加速下载。
- 为Stable Diffusion web UI设置代理用户及密码。
5. **启动Stable Diffusion web UI**:执行部署脚本启动应用,并通过浏览器访问[`http://127.0.0.1:7860`](http://127.0.0.1:7860)界面。
6. **使用Stable Diffusion**:在web UI界面输入关键词,生成图片。
#### 四、实验过程注意事项
- **模型下载**:Stable Diffusion模型较大(约50GB),需在创建实例时指定足够大的磁盘空间。
- **优惠时效**:丹摩智算优惠券只有50元,使用时需注意时间费用问题。
- **权限问题**:避免以root用户运行安装脚本,可创建普通用户或使用`-f`参数绕过root检测。
- **依赖缺失**:确保依赖库更新到位并在初次安装前安装相应工具,如`google-perftools`等。
- **文件下载速度慢**:如需要从GitHub下载大量数据,可尝试更改源至Gitee或使用预先下载好的文件。
#### 五、演示效果
待模型下载并安装成功后,将通过Stable Diffusion web UI展示基于输入的关键词生成的图片。
#### 六、常见问题解决
- **root权限问题**:两种方法解决:修改脚本权限判断或直接使用`-f`参数。
- **依赖库更新**:必须先执行`sudo apt update`更新库。
- **内存和性能工具**:确保安装了`google-perftools`和优化内存使用的工具。
#### 七、附录
- 提供了丹摩智算平台的使用手册和优惠活动链接。
通过以上详细步骤,读者可以在丹摩智算公有云平台上成功搭建并使用Stable Diffusion,进行图文生成的创作工作。