AMD GPU加速openAI whisper音视频转字幕和文字
今天总算搞定了,用amd显卡加速openAI-whisper音视频转字幕和文字。要比用cpu快了很多很多。
下面是我的电脑配制

第一步:为amd显卡安装完整的rocm
到amd官网下载自己对应该的显卡驱动安装脚本
https://www.amd.com/zh-hans/support
我的显卡是6600xt

这是会跳到脚本下载页面

默认保存在下载目录

来到下载目录下面
空白处鼠标右键选择在终端打开

分别在终端输入下面的命令
sudo vim /etc/os-release

按i 用键盘上的上下左右移动键,移到Deepin这里,把Deepin改为ubuntu
改完后按一下键盘上最左上角的ESC键退出修改模式
按着在英文输入状态下 按shift+:
再输入wq就保存退出了vim编辑器回到了终端。不会vim的可以用别的编辑器或者自己网上稍微找个vim的教程看一下。
按着在终端输入
sudo chmod +x ./amdgpu-install_5.5.50503-1_all.deb (给脚本增加权重)
sudo apt install ./amdgpu-install_5.5.50503-1_all.deb (安装脚本)
等脚本安装好后,
到/etc/apt/

然后在空白处,鼠标右键选择以管理员身份打开

修改下面的这两个文件

如果系统自带的文本编辑器打不开,就到应用商店安装一个Sublime Text4
把amdgpu.list里的
deb https://repo.radeon.com/amdgpu/5.6/ubuntu focal main(amdgpu后面的数字改成5.6或者5.4.2只能这两个数字,暂时)
把rocm.list里的
deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.6 focal main (apt后面的数字改成5.6或者5.4.2只能这两个数字,暂时)
先别问为什么只能5.6或者5.4.2,后面你自然知道了
改好后保存
开始安装显卡驱动:终端输入
sudo apt update
sudo amdgpu-install --usecase=rocm,hip,mllib --no-dkms
直接等安装完成,可能会比较慢。我试过最快的安装时候是上午9点前,晚上2点以后。不过我知道一个比较快的方法,就是自己去下载,来替换终端下载。这个一下说不清,以后有空录个视频吧。
如果安装的时候出现什么依赖,留言!!!!!!万一出现依赖应该也就这么一个
出现依赖liburi-encode-perl_1.1.1-1这个到这里下载
[https://cloud.189.cn/web/share?code=Q3UJjm3i2yey](https://cloud.189.cn/web/share?code=Q3UJjm3i2yey)(访问码:urv9)
再用sudo vim /etc/os-release把前面改的ubuntu换会Deepin
到此rocm安装完成
其实脚本不用卸载,这样备注一下就好,下次要用方便


第二步安装openAI whisper
1:终端分别输入:
echo 'export PATH=/home/deepin(改成自己的用户名,打开终端就能看到)/.local/bin:$PATH' >>~/.bashrc
source ~/.bashrc
安装:sudo apt install python3-pip
升级:python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip
安装需要的软件包:python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U vosk pysubs2 SRTranslator openai-whisper setuptools-rust ffmpeg
上面安装完后,打开网站https://pytorch.org/
把网页下拉

如果你前面安装的rocm5.4.2就选择

把下面的复制到终端安装pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.2
如果rocm安装的是5.6

把下面的复制到终端
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.6
说一下,5.4.2是稳定版,5.6的是日构版,我用的就是5.6的,因为我系统安装的是rocm5.6
**!!!!!!如果你的系统前面已经安装了别的rocm版本就要先卸载,再安装这两个版本了。!!!!!!!**
第三步完善设置
1:sudo vim /etc/modprobe.d/amdgpu.conf打开后在里面添加
options amdgpu si\_support=1
options amdgpu cik\_support=1
2:等上面安装好后,在终端分别输入下面这个命令
ls -l /dev/dri/render\*
sudo usermod -a -G render \$LOGNAME
sudo usermod -a -G video \$LOGNAME
3:设置用户 GPU 使用权限,将当前用户加入到权限组:
sudo usermod -a -G video \$LOGNAME
4:为系统以后的用户都添加权限
sudo /opt/rocm/bin/rocminfo
sudo /opt/rocm/opencl/bin/clinfo
5:将 ROCm 添加到环境变量:
sudo echo 'export PATH=\$PATH:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin' | sudo tee -a /etc/profile.d/rocm.sh
监控(optional)
AMD 没有 NVIDIA 类似 nvidia-smi 的命令,只能使用第三方,这里推荐 radeontop,可以直接使用 apt 安装。
sudo apt-get install radeontop
sudo radeontop
6:在终端输入
sudo /opt/rocm/bin/rocminfo
如果没有报错,说明安装成功了。到这里还没有完,接着网下看
7:将ROCm路径加入系统PATH环境变量
在终端输入
sudo echo 'export PATH=\$PATH:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin' | sudo tee -a /etc/profile.d/rocm.sh
8:终端输入
sudo vim ~/.bashrc #添加下面
export HSA_OVERRIDE_GFX_VERSION=10.3.0 #我这里的显卡是amd的RX6600xt
export LD_LIBRARY_PATH=/opt/rocm/lib
source ~/.bashrc#通重新执行刚修改的初始化文件
到这里可以说是完成了,但还要修改一个文件和检查一下
在终端输入
python3
import torch
torch.cuda.is_available()
如果返回True
恭喜你,安装成功。如图

最输入exit()退出python
如果你输出的不是这样的,去看看这篇https://www.bilibili.com/read/cv22748315/
最重要,最重要,最重要的一步来了,如果不修改timing.py文件,音视频转换字幕或文字会报错
一定要用Visual Studio Code修改,应用商店安装一下,然后在Visual Studio Code里安装一个python插件(不会的自己网上查一下,很简单的,这里就不介绍了)。
到/home/deepin(你用户名)/.local/lib/python3.10/site-packages/whisper
到whisper找到timing.py


把57行的 `@numba.jit改成@numba.jit(nopython=True)`
最后保存,到此结束
whisper音频转字幕或文字,这里有介绍https://github.com/openai/whisper
gpu就是比cpu要快很多很多,显卡利用率最好百分之90多


到此结束!!!!