上周开始在公司用办公电脑的CPU来玩这个,但是速度太慢了,快就20分钟一张图,慢就40分钟一张图.实在没办法,我又是一个穷逼,家里面现在只有一张RX580,还是几年前买的.现在n卡在windows下面部署这个东西容易的多,甚至能在B站下载到绿色压缩包,解压即用,amd只能自己想办法解决了.
更新APT与软件
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install wget gnupg2 git python3 python3-venv python3-pip
安装显卡驱动
amd官方驱动
sudo amdgpu-install --uninstall
卸载驱动(如果有需要的话先卸载老驱动)
访问amd官网下载amdgpu-install_xxxxxx.xxxxxx_all.deb
进入安装包所在的目录
接着在终端输入:sudo apt install ./amdgpu-install_xxxxxxx-xxxxxx_all.deb
(注:amdgpu-install_xxxxxxx-xxxxxx_all.deb指的是你下载的amdgpu版本
然后sudo apt update
再sudo apt upgrade -y
之前因为没有添加 --no-dkms 老是报错,不过现在无所谓了,这个dkms不用安装也没关系,毕竟我使用的是UBUNTU22.10
sudo amdgpu-install --no-dkms
sudo apt install rocm-dev
//安装完后重启,这个驱动安装时间很久,但是又必须使用官方源.
sudo reboot
重启后设置环境变量参数
ls -l /dev/dri/render*
sudo usermod -a -G render $LOGNAME
sudo usermod -a -G video $LOGNAME
echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=render' | sudo tee -a /etc/adduser.conf
sudo reboot
重启后检查驱动与rocm转换信息.
# 显示gpu性能监控
rocm-smi
#查看显卡信息的两条命令(直接在终端输入)
/opt/rocm/bin/rocminfo
/opt/rocm/opencl/bin/clinfo
#有一条报错可能是没安装好
添加环境变量
echo ‘export PATH=$PATH:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin/x86_64’ | sudo tee -a /etc/profile.d/rocm.sh
MIopen
这个东西我本来想安装的,但是系统提示已经安装过了,而且我的显卡并不是5000和6000的,而是RX580
#安装hip
sudo apt-get install miopen-hip
#下载miopenkernels,适用与gfx1030的a卡,如果你不是可以试一下
链接:https://www.123pan.com/s/xW39-oyMmH
sudo dpkg -i miopenkernels-gfx1030-36kdb_1.1.0.50200-65_amd64.deb
安装pytorch
这个可以自行决定是安装在python沙盘中还是安装在python的默认地址,如果是安装在环境中的话,要先安装stable-diffusion,然后在其中建立沙盘目录.建立在沙盘中的好处是可以把git和python的目录都弄到 stable-diffusion里面,方便迁移,你甚至可以把他们放到沙盘里面,方便在其他机器上面部署.
注意: pytorch库的安装很看脸,我昨天用了一整天,每次都是安装到一半报错网络问题,结果今天早上一下就安装好了. 需要用git clone安装的那些子项目也是这样的,网速好的时候啪一下就行了,网速不好的时候能折腾一整天.
如果将whl安装在沙盘目录中的过程
先克隆stable-diffusion-webui 看下面
建立python的沙盘环境目录
如果不想做移动环境,或者说想把依赖库直接安装到python的主目录中,这一步可以不用做.但是如果要做的话,后面执行启动脚本的时候也记得先要进入venv环境再执行.
python3 -m venv venv
# 进入环境
source venv/bin/activate
更新pip并设置国内源
#如果没有安装过pip,先安装
sudo apt install python3-pip
# windows下在用户目录建立.pip目录,linux操作如下
mkdir ~/.pip
echo -e "[global]\nindex-url = https://mirrors.aliyun.com/pypi/simple/\n[install]\ntrusted-host = mirrors.aliyun.com" > ~/.pip/pip.conf
#然后更新版本
python -m pip install --upgrade pip wheel
RDNA2架构
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.1.1
RX580架构
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm3.7
安装stable-diffusion-webui
# 先克隆下来
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
# 然后进入该目录
cd stable-diffusion-webui
根据目录中的库列表,安装依赖库
这里使用清华大学的源,虽然上面我们已经设置pip用阿里源,不过我发现清华的我这边快一点.
pip install -r requirements.txt' -i https://pypi.tuna.tsinghua.edu.cn/simple
启动命令
在你启动之前,你需要有模型,模型就是别人的AI训练集,虽然目前noval很流行,但是经过我的测试,生成我需要的无限制图,当时anything-v3更好.
下载模型
下载地址
根据你的需求,下载
4g版本,据说不怎么吃配置
Anything-V3.0-pruned.ckpt
建议下面两个,vae是必须要下载的,无论你下载4G的还是7G的模型都需要 vae.pt. NOVAL也是如此.
Anything-V3.0.ckpt
Anything-V3.0.vae.pt
这个网站上还有其他不少流行的模型,当然你有耐心你显卡好你素材多,也可以自己训练模型.
放置模型
下载到的模型,放在stable-diffusion-webui中的子目录中,路径是
stable-diffusion-webui/models/Stable-diffusion/
RDNA2 环境变量
如果你的AMD显卡是 5000 6000 系的,就是RDNA2架构的话,不但上面的pytorch要安装对应版本,这里的环境变量设置也要注意一下.
export HSA_OVERRIDE_GFX_VERSION=10.3.0
RX580 环境变量
export HSA_OVERRIDE_GFX_VERSION=8.0.3
正式运行
决定了环境变量,就直径进入python环境(如果之前是直接将库安装到主目录就不用source这一行)
source venv/bin/activate
export HSA_OVERRIDE_GFX_VERSION=8.0.3
python launch.py --precision full --no-half
另外的参数
我发现我的显卡还是太差了, launch.py
的其他参数很有帮助
--lowvram --always-batch-cond-uncond --skip-torch-cuda-test
所以我的完整运行命令是
python launch.py --lowvram --always-batch-cond-uncond --skip-torch-cuda-test --precision full --no-half
最后
我考虑还是过段时间我们这边快递解封了的时候,买个N卡矿卡算了,AMD的显卡是真的要啥没啥.