由于 ROCm PyTorch 太大, GitHub Actions 总是报错“存储空间不足”,导致无法利用 GitHub 自动构建发布镜像,所以不再提供成品镜像。用户运行前需要先构建镜像(基本就是下载,加上少量编译)。
如将来 AMD 缩减 PyTorch 包大小,会将再次启用自动构建。
-
确保 Linux 宿主机上正确安装了 Radeon software for Linux with ROCm。
git clone https://github.com/YanWenKun/ComfyUI-Docker.git
cd ComfyUI-Docker/rocm
docker build . -t yanwk/comfyui-boot:rocm
mkdir -p storage
docker run -it --rm \
--name comfyui-rocm \
--device=/dev/kfd --device=/dev/dri \
--group-add=video --ipc=host --cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
--security-opt label=disable \
-p 8188:8188 \
-v "$(pwd)"/storage:/root \
-e CLI_ARGS="" \
yanwk/comfyui-boot:rocm
git clone https://github.com/YanWenKun/ComfyUI-Docker.git
cd ComfyUI-Docker/rocm
podman build . -t yanwk/comfyui-boot:rocm
mkdir -p storage
podman run -it --rm \
--name comfyui-rocm \
--device=/dev/kfd --device=/dev/dri \
--group-add=video --ipc=host --cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
--security-opt label=disable \
-p 8188:8188 \
-v "$(pwd)"/storage:/root \
-e CLI_ARGS="" \
yanwk/comfyui-boot:rocm
启动完成后,访问 http://localhost:8188/
(以下内容介绍另外的安装使用方式,与本镜像无关)
ROCm 有一个 PyTorch 镜像:
docker pull rocm/pytorch:rocm6.2.3_ubuntu22.04_py3.10_pytorch_release_2.3.0
mkdir -p storage
docker run -it --rm \
--name comfyui-rocm \
--device=/dev/kfd --device=/dev/dri \
--group-add=video --ipc=host --cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
--security-opt label=disable \
-p 8188:8188 \
--user root \
--workdir /root/workdir \
-v "$(pwd)"/storage:/root/workdir \
rocm/pytorch:rocm6.2.3_ubuntu22.04_py3.10_pytorch_release_2.3.0 \
/bin/bash
git clone https://github.com/comfyanonymous/ComfyUI.git
# Or use conda
pip install -r ComfyUI/requirements.txt
# Or python3
python ComfyUI/main.py --listen --port 8188
这个镜像很大,但如果你运行遇到困难,可以尝试用这个镜像手动安装运行 ComfyUI。 它已经安装好了最重要的 PyTorch,你只需要再安装少量 Python 包即可运行 ComfyUI。
(以下内容介绍另外的安装使用方式,与本镜像无关)
WSL2 支持 ROCm 与 DirectML。
-
ROCm
如果你的 AMD GPU 在 兼容性列表 中,你可以在 WSL2 环境中安装 Radeon software ,也可以通过 Docker Desktop 使用 ROCm PyTorch 镜像。
-
DirectML
DirectML 支持大多数 GPU(包括 AMD APU 与 Intel GPU)。 该方法比纯 CPU 快,比 Linux 下的 ROCm 慢,且支持的 GPU 型号更多(甚至核显也能跑)。
-
ZLUDA
这里 ZLUDA 不是跑在 WSL2 上,而是 Windows 原生运行。ZLUDA 能“翻译”CUDA 指令给 AMD GPU 运行。 这里不写详细了,因为老方法很可能一更新就不能用了,还请搜索教程。 但还是提一点建议,先试着跑 SD-WebUI,这个起手要容易不少。