【限时免费】 有手就会!distil-medium.en模型本地部署与首次推理全流程实战

有手就会!distil-medium.en模型本地部署与首次推理全流程实战

【免费下载链接】distil-medium.en 【免费下载链接】distil-medium.en 项目地址: https://gitcode.com/mirrors/distil-whisper/distil-medium.en

写在前面:硬件门槛

在开始之前,请确保你的设备满足以下最低硬件要求,以便顺利运行distil-medium.en模型:

  • 推理(Inference):至少需要4GB显存的GPU(如NVIDIA GTX 1050或更高版本),或者使用CPU(性能较低)。
  • 微调(Fine-tuning):推荐使用显存大于8GB的GPU(如NVIDIA RTX 2080或更高版本)。

如果你的设备不满足这些要求,可能会遇到性能问题或无法运行的情况。


环境准备清单

在开始之前,请确保你的系统已经安装了以下工具和库:

  1. Python 3.8 或更高版本:推荐使用Python 3.8+,可以通过python --version检查版本。
  2. pip 包管理工具:确保pip是最新版本,可以通过pip install --upgrade pip升级。
  3. PyTorch:根据你的硬件选择安装PyTorch(支持CUDA或CPU版本)。可以通过以下命令安装:
    pip install torch torchvision torchaudio
    
  4. Transformers库:安装最新版本的transformers库:
    pip install transformers
    
  5. Datasets库(可选):如果你需要加载示例音频数据,可以安装:
    pip install datasets[audio]
    

模型资源获取

distil-medium.en是一个开源的语音识别模型,你可以通过以下代码直接加载模型和处理器:

from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor

model_id = "distil-whisper/distil-medium.en"
model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id)
processor = AutoProcessor.from_pretrained(model_id)

模型会自动下载到本地缓存目录中,无需手动下载。


逐行解析“Hello World”代码

以下是一个完整的示例代码,用于加载模型并进行短语音识别:

import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset

# 检查设备(GPU或CPU)
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

# 加载模型和处理器
model_id = "distil-whisper/distil-medium.en"
model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

# 创建语音识别管道
pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    max_new_tokens=128,
    torch_dtype=torch_dtype,
    device=device,
)

# 加载示例音频数据
dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = dataset[0]["audio"]

# 进行语音识别
result = pipe(sample)
print(result["text"])

代码逐行解析:

  1. 设备检查

    • device = "cuda:0" if torch.cuda.is_available() else "cpu":检查是否有可用的GPU,如果没有则使用CPU。
    • torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32:根据设备选择数据类型(GPU使用半精度浮点数以节省显存)。
  2. 加载模型和处理器

    • AutoModelForSpeechSeq2Seq.from_pretrained:加载预训练模型。
    • AutoProcessor.from_pretrained:加载处理器,用于音频特征提取和文本分词。
  3. 创建管道

    • pipeline:创建一个语音识别管道,指定模型、分词器、特征提取器等参数。
  4. 加载音频数据

    • load_dataset:从示例数据集中加载音频数据。
  5. 语音识别

    • pipe(sample):对音频进行识别,返回识别结果。

运行与结果展示

运行上述代码后,你将看到类似以下输出:

"HELLO WORLD THIS IS A TEST AUDIO"

这表明模型已经成功识别了音频内容。


常见问题(FAQ)与解决方案

1. 运行时显存不足

  • 问题:运行时报错“CUDA out of memory”。
  • 解决方案
    • 降低batch_sizechunk_length_s参数。
    • 使用torch.float16数据类型以节省显存。

2. 音频文件无法加载

  • 问题:加载本地音频文件时报错。
  • 解决方案
    • 确保音频文件格式为常见格式(如MP3、WAV)。
    • 使用pipe("audio.mp3")直接加载本地文件。

3. 识别结果不准确

  • 问题:识别结果与预期不符。
  • 解决方案
    • 确保音频质量清晰。
    • 尝试调整max_new_tokens参数以增加输出长度。

结语

【免费下载链接】distil-medium.en 【免费下载链接】distil-medium.en 项目地址: https://gitcode.com/mirrors/distil-whisper/distil-medium.en

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值