如何在你的电脑上完成whisper的简单部署

前言

这几天正在做whisper相关的工作,github上的whisper源码,whisper相当容易安装,但当我在自己的电脑上安装使用时出现了各种各样的bug,正好需要写篇技术文档,顺便记录下安装环境中遇到的各种坑。(文章是基于windows10介绍的,不同的系统可能会有一些差异)

一、显卡驱动、CUDA ToolKit、cuDNN的下载

1. 显卡驱动

显卡驱动是最基础的,当然前提是你有一块GPU,并想用这个GPU完成一些工作,首先查看自己的显卡驱动是否符合自己的需求,在桌面空白处右击打开NVIDIA控制面板或者点击开始菜单右侧的搜索栏输入NVIDIA Control Panel,点击左下角的系统信息
显卡信息
可以看到自己的驱动程序版本为522.30,该版本已经满足我的需求,故没有进行更新。(可能有人会问怎么判断满足需求呢,其实这里的显卡驱动程序对于CUDA来说是向下兼容的,保持较新的版本即可)
如果你的显卡驱动不能满足你的需求,打开英伟达显卡驱动官网,选择自己电脑上对应的显卡驱动,比如我的显卡是Geforce GTX 1050Ti(Notebooks对应笔记本系列),点击搜索NVIDIA驱动
可以看到当前最新的显卡驱动为528.49,点击下载–>同意并开始下载
驱动版本
按照提示完成驱动更新即可,这一步不会有坑。

2. CUDA ToolKit

CUDA和cuDNN的安装可以参考文章,这里做一下搬运。
进入CUDA官网,点击Download Now,此时进入的页面是最新版本的cuda12.0下载页面
cuda12.0
下拉点击Resources中的Archive of Previous CUDA Releases.
cuda
可以找到之前的cuda版本,这里选择cuda11.7,选择相应的电脑配置
cuda11.7
点击下载
离线安装包下载
运行安装程序,这里是一个临时目录,安装完成后会自动删除里边的文件,默认即可
setup
点击ok—>同意并继续,
在这里插入图片描述
如果你是第一次安装点击精简即可(会默认安装在系统盘下),如果你是多次安装,点击自定义安装,不要选择下面三项
在这里插入图片描述
不要选CUDA中的Visual Studio Integration
在这里插入图片描述
点击下一步
在这里插入图片描述
记住这里的安装位置
安装完成后,查看系统变量中是否添加了路径,如果没有,需要自己添加
在这里插入图片描述
测试环境是否安装成功
运行cmd,输入nvcc --version即可查看版本号;
set cuda,可以查看 CUDA 设置的环境变量。

nvcc --version
set cuda

在这里插入图片描述

3. cuDNN的安装

点击cuDNN的下载地址,这里需要注册一个帐号,才能进入下载界面。
在这里插入图片描述
点击复选框
在这里插入图片描述
点击Archived cuDNN Releases选择对应版本
在这里插入图片描述
根据前面的CUDA版本下载
在这里插入图片描述
下载好的压缩包
在这里插入图片描述
解压,可以看到有三个文件夹在这里插入图片描述
将这三个文件夹复制到cuda安装目录中,在安装cuda中提到的路径
在这里插入图片描述
拷贝时看到,CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里不需要担心,直接复制即可。cuDNN 解压缩后的同名文件夹中的配置文件会添加到 CUDA安装目录中的同名文件夹中。
在这里插入图片描述
现在大家应该可以理解,cuDNN 其实就是 CUDA 的一个补丁而已,专为深度学习运算进行优化的,然后再添加环境变量。
添加至系统变量
往系统环境变量中的 path 添加如下路径(根据自己的路径进行修改)
在这里插入图片描述
验证是否安装成功
配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和 bandwidthTest.exe:
首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe,应该得到下图结果:
在这里插入图片描述
在这里插入图片描述
参考博客:
【CUDA】cuda安装 (windows版)
至此显卡驱动、CUDA ToolKit、cuDNN安装完成。

二、windows下安装conda

可以参考文章conda的安装,Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。
首先进入conda官网,选择适合自己版本的,本文以Windows为例,点击Download即可开始下载最新conda版本,conda的版本在这里无所谓的一般不会有影响。
在这里插入图片描述
下载完成后得到一个exe文件,双击即可开始安装:
在这里插入图片描述
点击Next:
在这里插入图片描述
点击I Agree:
在这里插入图片描述
这里可以选择用户,我选择的Just Me:
在这里插入图片描述
选择安装路径(路径名不要有中文),建议放在C盘(默认的安装位置),我的C盘资源紧张,放在了F盘上:
在这里插入图片描述
把这两项都勾选上,第一项是自动添加环境变量,无需手动添加,非常方便,接下来一直点击Next即可完成安装:
在这里插入图片描述
测试是否配置成功,WIN+R键输入cmd:
在这里插入图片描述
输入conda命令,出现如下界面,完成安装:

conda

在这里插入图片描述

三、使用scoop包管理工具完成ffmpeg安装

参考文章
Scoop是Windows的命令行安装程序,是一个强大的包管理工具。可以在github上找到其项目的相关信息。
ffmpeg堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器。
因为ffmpeg的安装比较复杂,可以借助scoop完成安装。
由于我的C盘空间有限,使用如下命令更改安装位置
首先在终端输入powershell:
在这里插入图片描述
输入以下命令:

#将Scoop安装到自定义目录(命令行方式),默认为C:\Users<user>\scoop
$env:SCOOP='E:\Applications\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
#将Scoop配置为将全局程序安装到自定义目录 SCOOP_GLOBAL(命令行方式),默认为C:\ProgramData\scoop
$env:SCOOP_GLOBAL='E:\Applications\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')

不会科学上网的可能无法使用 iwr -useb get.scoop.sh | iex 安装,可使用下面的脚本将链接替换

#可能需要通过下面的命令设置权限之后再安装
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
#iwr -useb get.scoop.sh | iex
#网络慢可以使用下面替换为cnpm和fastgit的链接
 iwr -useb https://raw.fastgit.org/ScoopInstaller/Scoop/master/bin/install.ps1 | %{
    
    $_.Content.replace("github.com","ghproxy.com/https://github.com").replace("raw.githubusercontent.com","ghproxy.com/https://raw.githubusercontent.com")} | iex

scoop安装完成,使用scoop安装ffmpeg

scoop install ffmpeg

如果下载速度慢,可以更改下载设置,参考文章,这里不再做过多介绍。

四、whisper安装使用

在终端执行命令

conda create -n whisper python=3.9
conda activate whisper
pip install git+https://github.com/openai/whisper.git

注意:从github下载好的whisper自带的依赖中torch是cpu版本,所以在clone完成后需要自行修改torch依赖,进入anaconda环境中比如我的路径如下:

F:\anaconda3\envs\whisper\Lib\site-packages

找到你自己的路径,将torch相关文件夹删除,在回到终端输入:

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia 

安装完成后,输入:

whisper FilePath --model_dir YourModelDir --model medium --language Chinese

Ok!接下来便可以体验whisper模型。

猜你喜欢

转载自blog.csdn.net/m0_52156129/article/details/129263703