└── README.md /README.md: -------------------------------------------------------------------------------- 1 | @[TOC](在linux中使用A卡进行ai模型训练) 2 | 3 | # 吐槽 4 | rocm都更新这么多版本了怎么还没有windows的 5 | ~~##RX580用户看过来 6 | rocm4.0版本后就不支持RX580了,垃圾AMD 7 | ## 使用的设备配置 8 | linux:Ubuntu20.04.1 9 | CPU:R9-5900hx 10 | GPU:RX6800M 12G 11 | python:3.10.6 12 | ### 2022-10-24 23:21:50一键部署工具发布 13 | 顺序:1-8-2-3-4-5-7-6 14 | 加个源:deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main 15 | 下载链接https://www.123pan.com/s/xW39-dVMmH提取码:2333 16 | # 安装GPU驱动 17 | 如果你已经安装成功了gpu驱动可以跳过 18 | 如果之前装过其它版本没有驱动成功的,在终端输入 19 | `sudo amdgpu-install --uninstall`卸载驱动 20 | 21 | 访问[amd官网](https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20)下载amdgpu-install_xxxxxx.xxxxxx_all.deb 22 | 23 | 进入安装包所在的目录 24 | 接着在终端输入:`sudo apt install ./amdgpu-install_xxxxxxx-xxxxxx_all.deb`(注:amdgpu-install_xxxxxxx-xxxxxx_all.deb指的是你下载的amdgpu版本 25 | 26 | 然后`sudo apt update`再`sudo apt upgrade -y` 27 | 28 | 开始安装驱动 29 | ```shell 30 | sudo amdgpu-install --no-dkms 31 | sudo apt install rocm-dev 32 | //安装完后重启 33 | sudo reboot 34 | ``` 35 | 36 | 配置环境 37 | ```shell 38 | ls -l /dev/dri/render* 39 | sudo usermod -a -G render $LOGNAME 40 | sudo usermod -a -G video $LOGNAME 41 | sudo reboot 42 | ``` 43 | **测试** 44 | ```shell 45 | # 显示gpu性能监控 46 | rocm-smi 47 | #查看显卡信息的两条命令(直接在终端输入) 48 | /opt/rocm/bin/rocminfo 49 | /opt/rocm/opencl/bin/clinfo 50 | #有一条报错可能是没安装好 51 | ``` 52 | ## 添加path 53 | 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 54 | # 安装MIopen 55 | 56 | ```shell 57 | #安装hip 58 | sudo apt-get install miopen-hip 59 | #下载miopenkernels,适用与gfx1030的a卡,如果你不是可以试一下 60 | 链接:https://www.123pan.com/s/xW39-oyMmH 61 | sudo dpkg -i miopenkernels-gfx1030-36kdb_1.1.0.50200-65_amd64.deb 62 | ``` 63 | 64 | # RDNA2架构安装pytorch 65 | ```shell 66 | pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.1.1 67 | ``` 68 | ## RX580(gfx803)用户安装这个 69 | ```shell 70 | pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm3.7 71 | ``` 72 | 73 | # 运行stable-diffusion-webui 74 | ```shell 75 | sudo apt install git 76 | git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 77 | cd stable-diffusion-webui 78 | #一般会提示pip版本太低,更新一下 79 | python -m pip install --upgrade pip wheel 80 | pip install -r requirements.txt' -i https://pypi.tuna.tsinghua.edu.cn/simple 81 | HSA_OVERRIDE_GFX_VERSION=10.3.0 python launch.py --precision full --no-half 82 | #HSA_OVERRIDE_GFX_VERSION可以模拟版本可以填9.0.0或者8.0.3(没试过) 83 | //一般来讲会提示没有模型,如果有扔./models/Stable-diffusion里,本文不提供,自行百度 84 | ``` 85 | ### 提示cuda错误,解决方法 86 | torch is not able to use gpu 87 | ```python 88 | #打开launch.py找到这句代码 89 | commandline_args = os.environ.get('COMMANDLINE_ARGS', "") 90 | #改成 91 | commandline_args = os.environ.get('COMMANDLINE_ARGS', "--skip-torch-cuda-test") 92 | ``` 93 | # 疑难杂症解决 94 | ## rocm-gdb依赖libpython3.8解决 95 | 进软件和更新——其他软件——添加下面软件源 96 | 97 | ```shell 98 | deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main 99 | ``` 100 | 更新一下软件源 101 | ```powershell 102 | sudo apt upgrade 103 | sudo apt update 104 | ``` 105 | 安装libpython3.8并重新运行amdgpu-install 106 | 107 | ```powershell 108 | sudo apt install libpython3.8 109 | sudo apt install rocm-dev 110 | ``` 111 | ## rocm-llvm依赖python但无法安装它 112 | 找个目录进行操作 113 | ```shell 114 | apt download rocm-llvm 115 | ar x rocm-llvm_xxxx.xxxxx_amd64.deb 116 | tar xf control.tar.xz 117 | #编辑文件,如果没有vim将先安装sudo apt install vim 118 | vim control 119 | #找到如下一行: 120 | Depends: python, libc6, libstdc++6|libstdc++8, libstdc++-5-dev|libstdc++-7-dev, libgcc-5-dev|libgcc-7-dev, rocm-core 121 | #改为如下内容: 122 | Depends: python3, libc6, libstdc++6|libstdc++8, libstdc++-5-dev|libstdc++-7-dev|libstdc++-10-dev, libgcc-5-dev|libgcc-7-dev|libgcc-10-dev, rocm-core 123 | #重新打包 124 | tar c postinst prerm control | xz -c > control.tar.xz 125 | ar rcs rocm-llvm.deb debian-binary control.tar.xz data.tar.xz 126 | #安装前先安装依赖 127 | sudo apt install libstdc++-10-dev libgcc-10-dev rocm-core 128 | #安装 129 | sudo dpkg -i rocm-llvm.deb 130 | #重新安装驱动 131 | sudo amdgpu-install --no-dkms 132 | ``` 133 | ## 运行launch.py时出现语法错误/切换python版本版本 134 | 多半是你ubuntu默认python不对应 135 | 136 | ```shell 137 | #先查看本地安装了多少个python 138 | ls /usr/bin/python* 139 | #正常来讲会出现一下内容 140 | #/usr/bin/python /usr/bin/python3.10-config /usr/bin/python3-futurize 141 | #/usr/bin/python3 /usr/bin/python3.8 /usr/bin/python3-pasteurize 142 | #/usr/bin/python3.10 /usr/bin/python3-config 143 | #我们要用的是python3.10的,所以 144 | sudo rm /usr/bin/python #删除原来的链接 145 | sudo ln -s /usr/bin/python3.10 /usr/bin/python #创建新的链接 146 | python --version #测试 147 | ``` 148 | ## Can't run without a checkpoint. Find and place a .ckpt file into any of those locations. The program will exit. 149 | 你没有模型,把模型放进/models/Stable-diffusion里面吧(cpkt文件) 150 | ## 安装完驱动重启黑屏 151 | 152 | 启动的时候选择第二项(recovery模式)后,再选第一项继续进入系统,进来后卸载驱动 153 | ## 运行后下载插件超时 154 | 下载插件的速度三取决与年访问github是否流畅,很卡的话就修改launch.py吧 155 | 例 156 | 157 | ```powershell 158 | gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379") 159 | 修改成 160 | gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "git+ https://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379") 161 | ``` 162 | ## GPU看戏(指GPU不工作) 163 | 用root环境运行webui吧(没试过) 164 | 165 | ```shell 166 | su 167 | #输入密码,如果没设置就用sudo passwd root设置密码 168 | HSA_OVERRIDE_GFX_VERSION=10.3.0 python launch.py --precision full --no-half 169 | #HSA_OVERRIDE_GFX_VERSION可以模拟版本可以填9.0.0或者8.0.3(没试过) 170 | ``` 171 | 172 | # 愉快玩耍 173 | 进webui目录执行以下操作 174 | 175 | ```powershell 176 | HSA_OVERRIDE_GFX_VERSION=10.3.0 python launch.py --precision full --no-half 177 | ``` 178 | 如果运行时出现什么hip错误找不到gfx1030或者其他版号的可以不用管,等待一会就可以了,后面生成就不会提示,(每次启动第一次运行都会这样) 179 | 180 | ## 显卡监控(选装) 181 | 182 | ```shell 183 | sudo apt install radeontop 184 | radeontop 185 | ``` 186 | --------------------------------------------------------------------------------