AMD 7000系列显卡部署Stable Diffusion(Ubuntu 22.04)

AMD 7000系列显卡部署Stable Diffusion(Ubuntu 22.04)

    正在检查是否收录...

OS Ubuntu 22.04.4 LTS 64-bit

GPU AMD® Radeon rx 7600

前言

Ubuntu 22.04 安装 ROCm6.0教程+踩坑http://t.csdnimg.cn/d9vLb

由于之前已经安装了ROCm6.0, 所以后面部署SD用的都是6.0的依赖,也有些问题没有解决,如开启xFormers,主要是需要

PyTorch 2.2.2+cu121 with CUDA 1201 (you have 2.4.0.dev20240424+rocm6.0) 

根据MarKA的文章,似乎5.7稳定支持,所以bug可能少一点?ROCm5.7请参考原文。

本文代码的步骤大量搬运了MarKA的文章,并根据遇到的问题做了修改和补充。

一、前期准备

1. 检查ROCm信息

显卡正常显示即表示驱动安装正常

rocminfo

2. 安装conda

任意conda版本皆可,本文使用MarKA的文章提到的miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash ./Miniconda3-latest-Linux-x86_64.sh conda config --set auto_activate_base false #禁用自动进入conda环境

3. 创建conda环境

创建一个名为sd的环境,python版本为3.10.6(版本可自行指定):

conda create -n sd python=3.10.6 -y conda activate sd #激活sd这个环境

[注]:删除conda环境

conda remove --name sd --all

二、 安装PyTorch

1. 安装PyTorch(在sd这个环境中)

注意:安装torch请用官方源,国内源会出现import torch错误

似乎6.0已经不需要Preview (Nightly)版,可以用正式版的链接了(2024-04-25)

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.0

Preview (Nightly)版链接长这样,如果上面url有问题就用下面的吧
https://download.pytorch.org/whl/nightly/rocm6.0

2. 复查安装情况

验证torch安装及GPU导入情况,如返回Success和True表示一切正常:
python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure' python3 -c 'import torch; print(torch.cuda.is_available())'
如出现False请检查你的安装步骤中是否使用了第三方conda及pip源 检查GPU设备名称:
python3 -c "import torch; print(f'device name [0]:', torch.cuda.get_device_name(0))"
检查显示PyTorch环境中的组件信息
python3 -m torch.utils.collect_env

这里重点看 Is CUDA available: True

Python version: 3.10.14 (main, Mar 21 2024, 16:24:04) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-6.5.0-28-generic-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: AMD Radeon RX 7600 (gfx1102)
Nvidia driver version: Could not collect
cuDNN version: Could not collect
HIP runtime version: 6.0.32830
MIOpen runtime version: 3.0.0
Is XNNPACK available: True

三、部署Stable Diffusion WebUI

1. 克隆Stable Diffusion WebUI到本地

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
github访问有问题的修改host后进行下载(改为140.82.113.3):
echo "140.82.113.3 github.com" | sudo tee -a /etc/hosts git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

2. 进入SD目录并安装依赖

cd stable-diffusion-webui pip install -r requirements.txt -i https://pypi.org/simple
注意:实测使用国内pip源(清华源)会出现问题,请使用官方pip源;

3. 启动测试(在SD目录)

使用最小参数进行测试:
python launch.py --listen --autolaunch
不能访问http://huggingface.io的小伙伴请用以下命令(似乎是hf的一个国内镜像)
HF_ENDPOINT=https://hf-mirror.com python launch.py --listen --autolaunch

4. 启动命令(在SD目录)

conda activate sd && cd ~/stable-diffusion-webui HSA_OVERRIDE_GFX_VERSION=11.0.0 python3 launch.py #启动命令后面可以带参数,常用参数 #(完整参数含义可以在官网查询:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings) --precision full #启用全精度浮点运算 --no-half #启用半精度浮点运算,我8G,不加就爆显存 --medvram #6G/8G显存爆显存的话加上这个 --lowvram #4G显存爆显存的话加上这个 --always-batch-cond-uncond #禁用批量生成图片 --xformers #优化显存占用的插件,需额外安装 

注:

HIP_VISIBLE_DEVICES=0 可以不添加,多显卡用户(例如核显+独显)出现RuntimeError: Torch is not able to use GPU问题的时候将0改为1并加到HSA_OVERRIDE_GFX_VERSION前面; HSA_OVERRIDE_GFX_VERSION= 这里要根据自己显卡型号修改: HSA_OVERRIDE_GFX_VERSION=9.0.6对应显卡型号: Radeon VII HSA_OVERRIDE_GFX_VERSION=10.3.0对应显卡型号:RX5000 / 6000系列 HSA_OVERRIDE_GFX_VERSION=11.0.0对应显卡型号:RX7000系列

四、其他

显卡监控

#显卡监控 watch -n 1 rocm-smi (1表示每隔1秒刷新) #如果想显示更详细的信息,安装AMD的radeontop监控软件 sudo apt install mesa-utils radeontop sudo radeontop

关于ROCm6.1

amd官网已经更新,链接在下面,但官方文件大量使用了docker,头疼,不进一步尝试了。

五、报错

#如果出现报错: ValueError: Unknown scheme for proxy URL URL('socks://127.0.0.1:7890/') #说明代理或端口出错,一般是折腾系统代理导致的,执行解除所有代理命令: unset all_proxy; unset ALL_PROXY
#爆显存提示 Kernel has requested more VGPRs than are available on this agent code: 0x2d Aborted (core dumped)
#xFormers,ROCm6.0下暂时没解决,提示: PyTorch 2.2.2+cu121 with CUDA 1201 (you have 2.4.0.dev20240424+rocm6.0) 

参考资料:

1. AMD显卡满血Stable Diffusion无脑部署笔记(ROCm5.7.1/6.1)(SD+Fooocus+ComfyUI)(不定期更新) - MarKA的文章 - 知乎
2. AMD显卡 Ubuntu 部署Stable DIffusion WebUI基于Pytorch2.0.0 Rocm5.4.2

3. A卡2023最新AI画图教程:3A主机安装ROCm运行Stable Diffusion画图

4. Installing PyTorch for ROCm — ROCm installation (Linux)

pythondiffusionpytorchgitwebuiwebidegithubgpustable diffusion2024linuxurliconivaproxyclonecreatesocdoc
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-17589.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

llama-factory训练RLHF-PPO模型

上一篇

深度解读昇腾CANN多流并行技术,提高硬件资源利用率

下一篇
  • 复制图片
按住ctrl可打开默认菜单