1、升级Python版本(可选)
CentOS 7.9 系统默认安装的Python版本有两个,如果输入python -V我们看到的是python2的版本信息,如果我们输入python3 -V我们看到的是python3的版本信息。
由于whisper要求使用的是python版本是在3.8到3.11之间的版本。
CentOS 7.9自带的python版本是不符合的,我们需要卸载它或者升级它。如果我们不想要升级python版本,那么我们也可以使用Anaconda中的python版本,并且这里推荐使用Anaconda,如果你想要安装Anaconda,那么可以直接跳到第二步。
查看CentOS版本。我目前使用的是CentOS 7.9。
cat /etc/centos-release
查看python3版本。
python3 -V
1.1、升级python版本。
# 安装依赖
yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
# 创建目录
mkdir -p /usr/local/python3
# 去 https://www.python.org/ftp/python 找一个自己想要下载的版本
wget -c https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz
# 解压
xz -d Python-3.9.9.tar.xz
tar -xvf Python-3.9.9.tar.xz
# 切换到 Python-3.9.9 目录
cd Python-3.9.9
# 编译并安装
./configure --prefix=/usr/local/python3 && make && make install
1.2、修改配置
- 删除旧的软链接。
# 先查看一下有哪些软链接
ll /usr/bin | grep python
ll /usr/bin | grep pip
# 删除软链接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
- 创建软链接。
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
2、安装Anaconda
下载Anaconda可以去官方下载。
- 创建目录。
mkdir -p /opt/Anaconda
- 下载Anaconda。
wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
- 执行脚本。
bash Anaconda3-2023.03-1-Linux-x86_64.sh
然后根据提示进行安装即可。
最后要记得关闭当前连接,重连接进来。
输入下面的命令可以看到版本信息说明已经安装成功了。
conda -V
3、安装FFmpeg
在CentOS7.9中不能使用下面的命令安装FFmpeg,我们需要从源码编译中安装FFmpeg。
yum install ffmpeg
FFmpeg部分源码使用汇编编写,所以我们需要安装汇编语言编译器。
-
安装yasm
# 下载 wget -c http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz # 解压 tar -zxvf yasm-1.3.0.tar.gz # 切换目录 cd yasm-1.3.0 # 执行配置 ./configure # 编译并安装 make && make install
-
安装FFmpeg
# 下载源码 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg # 切花目录 cd ffmpeg # 执行配置 ./configure # 编译并安装 make && make install
-
查看FFmpeg版本信息
ffmpeg --version
4、安装CUDA
先执行下面的命令查看你显卡最高支持的CUDA版本。
nvidia-smi
4.1、安装CUDA
在NVIDIA官网下载支持的CUDA版本,可能国内网络无法正常访问NVIDIA官方CUDA下载网页,为了方便大家,这里我把一些常用的下载链接放到下面。下面下载的CUDA版本都是11.8版本。
4.1.1、CentOS
注意下面安装到CUDA版本都是11.8。
Linux操作系统,x86_64架构,CentOS 7,在线安装方式:(不推荐)经过测试,通过此种方式来安装会导致原来的NVIDIA显卡驱动出现问题,并且默认安装的是最新版本的CUDA。
sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
Linux操作系统,x86_64架构,CentOS 7,本地安装方式:(推荐)经过测试,这种方式是可以正确安装CUDA的。注意:如果你已经安装了显卡驱动,那么要记得把显卡驱动的选项去掉。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
Linux操作系统,x86_64架构,CentOS 7,本地安装方式:这种方式没有测试过。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
4.1.2、RedHat
注意下面安装到CUDA版本都是11.8。
Linux操作系统,x86_64架构,RHEL 7,在线安装方式:(不推荐)
sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
Linux操作系统,x86_64架构,RHEL 7,本地安装方式:(推荐)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
Linux操作系统,x86_64架构,RHEL 7,本地安装方式:
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
4.1.3、Ubuntu
注意下面安装到CUDA版本都是11.8。
Linux操作系统,x86_64架构,Ubuntu 22.04,在线安装方式:(不推荐)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda
Linux操作系统,x86_64架构,Ubuntu 22.04,本地安装方式:(推荐)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
Linux操作系统,x86_64架构,Ubuntu 22.04,本地安装方式:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
4.2、配置环境变量
- 编辑下面文件
vim ~/.bashrc
- 在文件末尾添加下面的内容
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
如果添加失败,可能是你没有正确安装CUDA,默认是安装到/usr/local
目录下,你可以去该目录找一下是否有cuda-xx.x
的目录,如果没有,那么说明你没有正确安装CUDA。
- 最后要记得重新载入一下
.bashrc
文件
source ~/.bashrc
sudo ldconfig
-
查看CUDA版本
如果能看到版本信息,说明已经正确安装CUDA,并且正确配置CUDA环境变量。
nvcc -V
5、安装cuDNN(可选)
- cuDNN对系统软硬件的要求。
- cuDNN对CPU架构和系统版本的要求。
-
安装cuDNN
具体可以看官方安装指南。
先前条件:已安装NVIDIA显卡驱动,已安装CUDA。
安装zlib
# Ubunut sudo apt-get install zlib1g # RHEL sudo yum install zlib
选择下载的版本
Download cuDNN v8.9.1 (May 5th, 2023), for CUDA 11.x
选择下载对应系统的安装器
Local Installer for Linux x86_64 (Tar) # 对所有Linux系统可用
安装cuDNN
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz # 把8.x.x.x_cudaX.Y替换为自己下载的cuDNN版本和CUDA版本
拷贝cuDNN到CUDA中
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
具体可以查看官方说明文档。
6、安装PyTorch
我这里安装的是PyTorch 2.0.1版本,CUDA 11.8。
-
下载PyTorch
conda activate whisper pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
-
验证是否安装成功
python import torch torch.__version__ torch.cuda.is_available() # 如果返回 True,说明PyTorch可以使用CUDA
7、安装Whisper
pip install -U openai-whisper
输入下面的命令可以看到Whisper的帮助信息,说明已经安装成功。
whisper -h
8、Whisper的使用
具体可以添加哪些参数可以使用下面的命令来查看。
whisper -h
这里简单的列举一些应用。
把audio.mp3
使用large
模型进行转录,转录的结果保存在/opt/whisper
路径下,名称为audio.srt
文件,使用的使用CUDA
加速转录,指定语言为Chinese
。我们可以省略所有的参数,默认使用small
模型。
whisper audio.mp3 --model large --output_format srt --output_dir /opt/whisper --device cuda --language Chinese
最简单的写法。
whisper audio.mp3
说明:模型越大,转录的结果越准确,转录的时间越长。
Q.E.D.