1.1 查看本地系统信息
由于ROCm目前(2024.2.12)只支持linux下使用,所以如果你的系统是windows或者mac(黑苹果)的话就只能使用CPU进行跑图。
进入你的系统,
uname -m && cat /etc/*release ## 查看你的系统版本并记住
uname -srmv ## 查看你的 Kernel 版本并记住
1.2 核对官网要求系统信息
先打开AMD ROCm Document,在左侧的导航栏里找到 System requirements 选项,进入之后在右侧找到 Supported GPUs,然后选择你所使用的 AMD GPU,看看是否支持你所使用的GPU,然后记住Architecture 和 LLVM target。然后再往下翻找到 Supported operating systems,找到你的操作系统,记住你所在的操作系统版本右侧的 Kernel 版本。如果你使用的是VMware系统(ESXI)的话则需要找到最下方的Virtualization support。
在此,我的GPU是 AMD Radeon™ RX 7900 XTX,我的系统版本是 ubuntu 22.04.03,所以需要记住Architecture 是 RDNA3,LLVM target 是 gfx1100,Kernel 是 6.2。如果你的 Kernel 要求和 1.1 中得到的你的电脑 Kernel 版本不一样,则需要修改内核。
在左侧找到 Installation via AMDGPU installer,然后下翻找到你所在的系统并点击,我的是ubuntu 22.04,得到代码并且执行。记住这里的rocm版本是6.0.2
sudo apt update
wget <https://repo.radeon.com/amdgpu-install/6.0.2/ubuntu/jammy/amdgpu-install_6.0.60002-1_all.deb>
sudo apt install ./amdgpu-install_6.0.60002-1_all.deb
然后继续下翻找到 Installing ROCm packages 得到代码
如果你的系统是 desktop (桌面版有图形界面),建议选择For graphical workloads using the open-source driver add graphics. For example:
sudo amdgpu-install --usecase=graphics,rocm
如果你的系统是 server (服务器版无图形界面),建议选择
For multiple use cases separate them with commas:
sudo amdgpu-install --usecase=hiplibsdk,rocm
找到左侧 Installing PyTorch for ROCm,这里提供了多种方式,我选择原生安装,点击最右侧导航栏的 Using a wheels package 选项,然后在中间看到 option 3。
sudo apt update
sudo apt install libjpeg-dev python3-dev python3-pip
pip3 install wheel setuptools
下面这行代码rocm5.6改成你的rocm版本,我的是rocm5.6,如果你是6.0.2就改成rocm6.0
pip3 install --pre torch torchvision torchaudio --index-url <https://download.pytorch.org/whl/nightly/rocm5.6/>
此时验证你的 Pytorch 是否安装成功
python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure
显示success
python3 -c 'import torch; print(torch.cuda.is_available()
显示true
则为成功,否则为失败。
执行下列指令
git clone <https://github.com/AUTOMATIC1111/stable-diffusion-webui>
cd stable-diffusion-webui
python -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip wheel
执行下列指令并等待一段时间,第一次执行时间比较久,因为要下载模型,注意:代码中rocm后的版本记得换成你的rocm版本,我的是rocm6.0.2
# It's possible that you don't need "--precision full", dropping "--no-half" however crashes my drivers
TORCH_COMMAND='pip install torch torchvision --extra-index-url <https://download.pytorch.org/whl/rocm{version}>' python launch.py --precision full --no-half
第一次执行成功之后你每次只需要进入 stable-diffusion-webUI 文件夹,执行下列代码即可
cd stable-diffusion-webui
source venv/bin/activate
# It's possible that you don't need "--precision full", dropping "--no-half" however crashes my drivers
TORCH_COMMAND='pip install torch torchvision --extra-index-url <https://download.pytorch.org/whl/rocm{version}>' python launch.py --precision full --no-half
5.1 显卡显存太小
加上 --lowvram 选项
TORCH_COMMAND='pip install torch torchvision --extra-index-url <https://download.pytorch.org/whl/rocm{version}>' python launch.py --precision full --no-half --lowvram
5.2 Error Expecting value: line 1 column 1 (char 0)
加上 --no-gradio-queue选项
TORCH_COMMAND='pip install torch torchvision --extra-index-url <https://download.pytorch.org/whl/rocm{version}>' python launch.py --precision full --no-half --no-gradio-queue
5.3 局域网其他设备无法访问webUI
加上--share 和 --listen