从零开始做机器学习项目——语音识别
一、备注:这里是电脑pytorch环境安装(D:\yingyong\PyTorch)
torch下载地址:https://download.pytorch.org/whl/cu113/torch-1.10.2%2Bcu113-cp38-cp38-win_amd64.whl
torchaudio下载地址:
https://download.pytorch.org/whl/cu113/torchaudio-0.10.2%2Bcu113-cp38-cp38-win_amd64.whl
torchvision下载地址:
https://download.pytorch.org/whl/cu113/torchvision-0.11.3%2Bcu113-cp38-cp38-win_amd64.whl
二、Pycharm配置pytorch项目
Pycharm版本:Pycharm Community Edition 2024.1.1
pytorch:Gpu版本
1、新建项目

选择anaconda下载地址中pytorch.exe文件,如图路径
打开设置,添加本地编译器

选择系统编译器,选择路径,和上面一样,之后全部点OK

打开Pycharm控制台,先输入import torch,在输入print(torch.cuda.is_available()),如图返回True说明配置成功

2、Jupyter配置Pytorch
打开Anaconda控制台

输入conda activate pytorch进入pytorch虚拟环境
输入conda install nb_conda开始安装,等待一会

输入y继续安装

安装完成

输入conda list查看已有的包可以看到ipython这个包

输入jupyter notebook打开网页

三、入门
1、写代码工具
Pycharm:代码以代码块为单位运行,每次从头开始运行,适合大项目
Pycharm控制台:以任意行为块,但是阅读性较差,可以看到变量属性
Jupyter:以任意行为块来运行,方便代码阅读和修改
2、加载数据
1)Dataset

四、部署Whisper到windows本地
1、安装FFmpeg
官网:FFmpeg
下载windows版本

下载后解压缩

添加bin目录地址至:环境变量—系统变量—Path
打开cmd输入ffmpeg -version验证安装成功

2、安装Whisper
打开Anaconda Prompt
输入conda activate pytorch进入创建好的虚拟环境“pytorch”
输入pip install -U openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple从清华镜像下载whisper

输入whisper -h检验安装是否成功

输入 :whisper 地址 --model samll --output_format txt --language Chinese进行识别
参数说明:--model表示选择什么模型进行识别,small表示选择small模型
--output_format表示选择什么输出格式
--language表示识别语言
第一次进行识别会从外网下载,small模型大小大概40MB,需要等待几分钟,之后再识别就可以离线识别

【报错】这个错误表明 Whisper 在尝试转录音频时遇到了数值计算问题(NaN 值),导致解码失败。

尝试以下步骤解决:
1)检查CUDA版本与Pytorch是否兼容:torch.cuda.is_available()返回True说明兼容
2)查看GPU显存是否不足:5MB/4096MB,显存足够
3)使用CPU环境尝试转录,转录成功
4)强制使用FP32模式转录,禁用fp16半精度计算 whisper test1.mp3 --model small --language Chinese --fp16 False
【下载medium模型下载太慢】复制下载链接,在迅雷快速下载到本地,使用本地模型识别
3、在项目中使用whisper模型
使用如下代码测试
import os
import whisper
#加载模型
model = whisper.load_model("small")
#转录音频
file_path = r"D:\Work\GraduateDesign\test.mp3"
if not os.path.exists(file_path):
raise FileNotFoundError(f"文件不存在!请检查路径:{file_path}")
result = model.transcribe(file_path)
print(result["text"])
【报错】FileNotFoundError: [WinError 2] 系统找不到指定的文件。

首先检查确认路径无误,根据报错提示最下面一行的地址定位到文件(上图紫色地址),将shell值从False修改为True即可

随后又出现了NaN报错,于是将测试代码修改如下:
import whisper
# 加载模型(自动下载)
model = whisper.load_model("small") # 首次运行会自动下载模型
# 转录音频
result = model.transcribe(
audio="课文1吃水不忘挖井.mp3",
language="zh", # 中文
fp16=False, # 一定记得设置这个参数,避免Nan问题
)
print(result["text"])
更多推荐

所有评论(0)