深入浅出PyTorch(六)PyTorch生态简介

此博客为datawhle开源学习平台2025年2月组队学习打卡笔记链接,开源学习手册链接视频教程链接

torchvision

" The torchvision package consists of popular datasets, model architectures, and common image transformations for computer vision. "

  • torchvision.datasets主要包含了一些我们在计算机视觉中常见的数据集
  • torchvision.transforms中就包含了许多这样的操作:
  1. 获取的数据是格式或者大小不一的图片,需要进行归一化和大小缩放等操作
  2. 图片数据有限时,需要通过对现有图片数据进行各种变换,如缩小或放大、水平或垂直翻转等
  • torchvision.models:为了提高训练效率,减少不必要的重复劳动,PyTorch官方也提供了一些预训练好的模型供我们使用
  • torchvision.io提供了视频、图片和文件的 IO 操作的功能,它们包括读取、写入、编解码处理操作。随着torchvision的发展,io也增加了更多底层的高效率的API。
  • torchvision.ops 为我们提供了许多计算机视觉的特定操作,包括但不仅限于NMS,RoIAlign(MASK R-CNN中应用的一种方法),RoIPool(Fast R-CNN中用到的一种方法)。
  • torchvision.utils 为我们提供了一些可视化的方法,可以帮助我们将若干张图片拼接在一起、可视化检测和分割的效果。

PyTorchVideo

PyTorchVideo 是一个专注于视频理解工作的深度学习库。PytorchVideo提供了加速视频理解研究所需的可重用、模块化和高效的组件。PyTorchVideo是使用PyTorch开发的,支持不同的深度学习视频组件,如视频模型、视频数据集和视频特定转换。
安装:

pip install pytorchvideo

PyTorchVideo提供了三种使用方法,并且给每一种都配备了tutorial

  1. TorchHub,这些模型都已经在TorchHub存在。我们可以根据实际情况来选择需不需要使用预训练模型。除此之外,官方也给出了TorchHub使用的 tutorial 。
  2. PySlowFast,使用 PySlowFast workflow 去训练或测试PyTorchVideo models/datasets.
  3. PyTorch Lightning建立一个工作流进行处理

torchtext

torchtext是PyTorch官方用于自然语言处理(NLP)的工具包
主要包含了以下的主要组成部分:

  • 数据处理工具 torchtext.data.functional、torchtext.data.utils
  • 数据集 torchtext.data.datasets
  • 词表工具 torchtext.vocab
  • 评测指标 torchtext.metrics
    安装:
pip install torchtext

torchaudio

torchaduio是PyTorch官方用于语音处理的工具包
主要包括以下几个部分:

  1. torchaudio.io:有关音频的I/O
  2. torchaudio.backend:提供了音频处理的后端,包括:sox,soundfile等
  3. torchaudio.functional:包含了常用的语音数据处理方法,如:spectrogram,create_fb_matrix等
  4. torchaudio.transforms:包含了常用的语音数据预处理方法,如:MFCC,MelScale,AmplitudeToDB等
  5. torchaudio.datasets:包含了常用的语音数据集,如:VCTK,LibriSpeech,yesno等
  6. torchaudio.models:包含了常用的语音模型,如:Wav2Letter,DeepSpeech等
  7. torchaudio.models.decoder:包含了常用的语音解码器,如:GreedyDecoder,BeamSearchDecoder等
  8. torchaudio.pipelines:包含了常用的语音处理流水线,如:SpeechRecognitionPipeline,SpeakerRecognitionPipeline等
  9. torchaudio.sox_effects:包含了常用的语音处理方法,如:apply_effects_tensor,apply_effects_file等
  10. torchaudio.compliance.kaldi:包含了与Kaldi工具兼容的方法,如:load_kaldi_fst,load_kaldi_ark等
  11. torchaudio.kalid_io:包含了与Kaldi工具兼容的方法,如:read_vec_flt_scp,read_vec_int_scp等
  12. torchaudio.utils:包含了常用的语音工具方法,如:get_audio_backend,set_audio_backend等

安装:

pip install torchaudio # conda install torchaudio

torchaudio中对于一些公共数据集,我们可以主要通过torchaudio.datasets来实现。对于私有数据集,我们也可以通过继承torch.utils.data.Dataset来构建自己的数据集。数据集的读取和处理,我们可以通过torch.utils.data.DataLoader来实现

import torchaudio
import torch

# 公共数据集的构建
yesno_data = torchaudio.datasets.YESNO('.', download=True)
data_loader = torch.utils.data.DataLoader(
    yesno_data,
    batch_size=1,
    shuffle=True,
    num_workers=4)

Kaldi是一个用于语音识别研究的工具箱,由CMU开发,开源免费。它包含了构建语音识别系统所需的全部组件,是语音识别领域最流行和影响力最大的开源工具之一。torchaudio中提供了一些与Kaldi工具兼容的方法,这些方法分别属于torchaduio.compliance.kaldi,torchaduio.kaldi_io

在torchaudio.compliance.kaldi中,torchaudio提供了以下三种方法:

  • torchaudio.compliance.kaldi.spectrogram:从语音信号中提取Spectrogram特征
  • torchaudio.compliance.kaldi.fbank:从语音信号中提取FBank特征
  • torchaduio.compliance.kaldi.mfcc:从语音信号中提取MFCC特征

torchaduio.kaldi_io是一个torchaudio的子模块,用于读取和写入Kaldi的数据集格式。
主要接口包括:

  • torchaudio.kaldi_io.read_vec_int_ark:从Kaldi的scp文件中读取float类型的数据
  • torchaudio.kaldi_io.read_vec_flt_scp
  • torchaudio.kaldi_io.read_vec_flt_ark
  • torchaudio.kaldi_io.read_mat_scp
  • torchaudio.kaldi_io.read_mat_ark
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Techhuman

创作不易,请您支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值