Falls hit like a fist 🤛
Falls heal all in the moist mist 🏞️
Fall's harvest last wish 🍂
Anyways, here's how to get AUTOMATIC1111's Stable Diffusion with Deforum and ControlNet working with a AMD Radeon RX 6700 XT (Navi 22) starting with a fresh install of jammy jellyfish minimal no internet Ubuntu 22.04.
Ubuntu has a spam first run window, just close it, now connect the internet, and open a terminal by pressing Ctrl+Alt+T to run the following:
sudo apt -y update && sudo apt -y upgrade && sudo apt -y autoclean && sudo apt -y autoremove
sudo apt -y install git python3-pip
Look up the late version at repo.radeon.com/amdgpu-install/latest
wget https://repo.radeon.com/amdgpu-install/latest/ubuntu/jammy/amdgpu-install_5.7.50700-1_all.deb
sudo apt install ./amdgpu-install_5.7.50700-1_all.deb -y
Rocm 5.4.2 will work natively, which is faster and easier, while higher versions of rocm are supported and docker images are actively updated https://hub.docker.com/r/rocm/pytorch/
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.4.2 ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list
sudo amdgpu-install --rocmrelease=5.4.2 --usecase=rocm,hip --no-dkms
This environment variable is necessary for Navi22 so add these lines to the end of the .bashrc text document:
alias python=python3
export HSA_OVERRIDE_GFX_VERSION=10.3.0
sudo nano ~/.bashrc
source ~/.bashrc
BasicsSR has problems installing from pip sometimes and it can be installed from github:
git clone https://github.com/xinntao/BasicSR.git
cd BasicSR
pip install -r requirements.txt
sudo chown -R $USER:$USER /usr/local
python setup.py develop
This example is only for rocm 5.4.2 due to this working list of pip dependencies and working docker containers will be need to be adapted. Create a text file list.txt:
absl-py==1.4.0
accelerate==0.18.0
addict==2.4.0
aenum==3.1.12
aiofiles==23.1.0
aiohttp==3.8.4
aiosignal==1.3.1
altair==4.2.2
antlr4-python3-runtime==4.9.3
anyio==3.6.2
async-timeout==4.0.2
attrs==22.2.0
av==10.0.0
basicsr==1.4.2
beautifulsoup4==4.12.0
blendmodes==2022
boltons==23.0.0
cachetools==5.3.0
certifi==2022.12.7
charset-normalizer==3.1.0
clean-fid==0.1.35
click==8.1.3
clip @ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1
cmake==3.26.1
coloredlogs==15.0.1
contourpy==1.0.7
cycler==0.11.0
deprecation==2.1.0
einops==0.6.0
entrypoints==0.4
facexlib==0.2.5
fastapi==0.95.0
ffmpy==0.3.0
filelock==3.10.7
filterpy==1.4.5
flatbuffers==23.3.3
font-roboto==0.0.1
fonts==0.0.3
fonttools==4.39.3
frozenlist==1.3.3
fsspec==2023.3.0
ftfy==6.1.1
future==0.18.3
gdown==4.7.1
gfpgan @ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379
gitdb==4.0.10
GitPython==3.1.31
google-auth==2.17.1
google-auth-oauthlib==1.0.0
gradio==3.23.0
grpcio==1.53.0
h11==0.14.0
httpcore==0.16.3
httpx==0.23.3
huggingface-hub==0.13.3
humanfriendly==10.0
idna==3.4
imageio==2.27.0
imageio-ffmpeg==0.4.8
importlib-metadata==6.1.0
importlib-resources==5.12.0
inflection==0.5.1
invisible-watermark==0.1.5
Jinja2==3.1.2
jsonmerge==1.9.0
jsonschema==4.17.3
kiwisolver==1.4.4
kornia==0.6.11
lark==1.1.5
lazy_loader==0.2
linkify-it-py==2.0.0
lit==16.0.0
llvmlite==0.39.1
lmdb==1.4.0
lpips==0.1.4
Markdown==3.4.3
markdown-it-py==2.2.0
MarkupSafe==2.1.2
matplotlib==3.7.1
mdit-py-plugins==0.3.3
mdurl==0.1.2
mpmath==1.3.0
multidict==6.0.4
networkx==3.0
numba==0.56.4
numexpr==2.8.4
numpy==1.23.5
oauthlib==3.2.2
omegaconf==2.3.0
onnx==1.13.1
onnxruntime==1.14.1
#open-clip-torch @ git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b
opencv-contrib-python==4.7.0.72
opencv-python==4.7.0.72
orjson==3.8.9
packaging==23.0
pandas==2.0.0
piexif==1.1.3
Pillow==9.5.0
PIMS==0.6.0
pkgutil_resolve_name==1.3.10
protobuf==3.20.3
psutil==5.9.4
pyasn1==0.4.8
pyasn1-modules==0.2.8
pydantic==1.10.7
pyDeprecate==0.3.2
pydub==0.25.1
Pygments==2.14.0
pyparsing==3.0.9
pyrsistent==0.19.3
PySocks==1.7.1
python-dateutil==2.8.2
python-multipart==0.0.6
pytorch-lightning==1.7.7
pytorch-triton-rocm==2.0.1
pytz==2023.3
PyWavelets==1.4.1
PyYAML==6.0
realesrgan==0.3.0
regex==2023.3.23
requests==2.28.2
requests-oauthlib==1.3.1
resize-right==0.0.2
rfc3986==1.5.0
rich==13.3.3
rsa==4.9
safetensors==0.3.0
scikit-image==0.19.3
scipy==1.10.1
semantic-version==2.10.0
sentencepiece==0.1.97
six==1.16.0
slicerator==1.1.0
smmap==5.0.0
sniffio==1.3.0
soupsieve==2.4
starlette==0.26.1
sympy==1.11.1
tb-nightly==2.13.0a20230403
tensorboard==2.12.1
tensorboard-data-server==0.7.0
tensorboard-plugin-wit==1.8.1
tifffile==2023.3.21
timm==0.4.12
tokenizers==0.13.2
toolz==0.12.0
torch==2.0.0+rocm5.4.2
torchdiffeq==0.2.3
torchmetrics==0.11.4
torchsde==0.2.5
torchvision==0.15.1+rocm5.4.2
tqdm==4.65.0
trampoline==0.1.2
transformers==4.25.1
typing_extensions==4.5.0
tzdata==2023.3
uc-micro-py==1.0.1
urllib3==1.26.15
uvicorn==0.21.1
wcwidth==0.2.6
websockets==11.0
Werkzeug==2.2.3
yapf==0.32.0
yarl==1.8.2
zipp==3.15.0
Then install the list in a terminal where list.txt is:
pip install -r list.txt --force-reinstall --extra-index-url https://download.pytorch.org/whl/rocm5.4.2
Cuda should be working after restarting the computer, which can be verified as True with:
python -c 'import torch; print(torch.cuda.is_available()); print(torch.version)'
If the AMD graphics card somehow works on linux, then install stable diffusion and extensions:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
git clone https://github.com/deforum-art/sd-webui-deforum extensions/deforum
git clone https://github.com/Mikubill/sd-webui-controlnet extensions/sd-webui-controlnet
wget https://huggingface.co/lllyasviel/ControlNet/resolve/main/models/control_sd15_canny.pth -P extensions/sd-webui-controlnet/models
wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt -P models/Stable-diffusion
To start it, just run:
cd ~/stable-diffusion-webui && python launch.py