Task04:PyTorch生态简介
0. 教程地址
https://github.com/datawhalechina/thorough-pytorch
1. torchvision(图像)
-
torchvision.datasets:
计算机视觉领域常见的数据集,包括CIFAR、EMNIST、Fashion-MNIST等
-
torchvision.transforms:
数据预处理方法,可以进行图片数据的放大、缩小、水平或垂直翻转等
-
torchvision.models:
预训练模型,包括图像分类、语义分割、物体检测、实例分割、人体关键点检测、视频分类等模型
-
torchvision.io:
视频、图片和文件的IO操作,包括读取、写入、编解码处理等
-
torchvision.ops:
计算机视觉的特定操作,包括但不仅限于NMS,RoIAlign(MASK R-CNN中应用的一种方法),RoIPool(Fast R-CNN中用到的一种方法)
-
torchvision.utils:
图片拼接、可视化检测和分割等操作
2. PyTorchVideo(视频)
-
基于 PyTorch:
使用 PyTorch 构建。使所有 PyTorch 生态系统组件的使用变得容易。
-
Model Zoo:
PyTorchVideo提供了包含I3D、R(2+1)D、SlowFast、X3D、MViT等SOTA模型的高质量model zoo(目前还在快速扩充中,未来会有更多SOTA model),并且PyTorchVideo的model zoo调用与PyTorch Hub做了整合,大大简化模型调用,具体的一些调用方法可以参考下面的【使用 PyTorchVideo model zoo】部分。
-
数据预处理和常见数据:
PyTorchVideo支持Kinetics-400, Something-Something V2, Charades, Ava (v2.2), Epic Kitchen, HMDB51, UCF101, Domsev等主流数据集和相应的数据预处理,同时还支持randaug, augmix等数据增强trick。
-
模块化设计:
PyTorchVideo的设计类似于torchvision,也是提供许多模块方便用户调用修改,在PyTorchVideo中具体来说包括data, transforms, layer, model, accelerator等模块,方便用户进行调用和读取。
-
支持多模态:
PyTorchVideo现在对多模态的支持包括了visual和audio,未来会支持更多模态,为多模态模型的发展提供支持。
-
移动端部署优化:
PyTorchVideo支持针对移动端模型的部署优化(使用前述的PyTorchVideo/accelerator模块),模型经过PyTorchVideo优化了最高达7倍的提速,并实现了第一个能实时跑在手机端的X3D模型(实验中可以实时跑在2018年的三星Galaxy S8上,具体请见Android Demo APP)。
3. torchtext(文本)
-
数据处理工具
torchtext.data.functional、torchtext.data.utils
-
数据集
torchtext.data.datasets
-
词表工具
torchtext.vocab
-
评测指标
torchtext.metrics