纯 PyTorch 资源
PyTorch 博客
https://pytorch.org/blog/
PyTorch 文档
https://pytorch.org/docs
PyTorch 性能调优指南
https://pytorch.org/tutorials/recipes/recipes/tuning_guide.html#
PyTorch Recipes
https://pytorch.org/tutorials/recipes/recipes_index.html
PyTorch Recipes 是一系列小教程,用于展示你可能想要创建的常见 PyTorch 功能和工作流程,例如在 PyTorch 中加载数据以及在 PyTorch 中保存和加载模型以进行推理。
PyTorch 生态系统
https://pytorch.org/ecosystem/
大量基于纯 PyTorch 构建的工具,用于为不同领域添加专门的功能,从用于 3D 计算机视觉的 PyTorch3D 到用于快速数据增强的 Albumentations 再到用于模型评估的 TorchMetrics。
在 VSCode 中设置 PyTorch
https://code.visualstudio.com/docs/datascience/pytorch-support
VSCode 是目前最流行的 IDE 之一。而且它对 PyTorch 的支持越来越好。
基于 PyTorch 的外部库
fast.ai
https://github.com/fastai/fastai
fastai 是一个开源库,它负责构建神经网络的许多繁琐的部分,并使得仅用几行代码即可创建最先进的模型成为可能。他们的免费库、课程和文档都是世界一流的。
MosaicML
https://github.com/mosaicml/composer
用于更高效的模型训练:你训练模型的速度越快,你就能越快地找出哪些方法有效,哪些方法无效。MosaicML 的开源 Composer 库通过在后台实现加速算法来帮助你更快地使用 PyTorch 训练神经网络,这意味着你可以更快地从现有的 PyTorch 模型中获得更好的结果。他们的所有代码都是开源的,他们的文档非常棒。
PyTorch Lightning
https://www.pytorchlightning.ai/
PyTorch Lightning 可处理你在纯 PyTorch 中经常需要手动执行的许多步骤,例如编写训练和测试循环、模型检查点、日志记录等。PyTorch Lightning 建立在 PyTorch 之上,可让你使用更少的代码创建 PyTorch 模型。
从哪里寻找数据集
机器学习项目始于数据。没有数据,就没有机器学习。
以下资源是查找各种主题和问题领域的开源且通常随时可用的数据集的最佳资源。
Paperswithcode 数据集
https://paperswithcode.com/datasets
搜索最常用和最常见的机器学习基准数据集,了解它们包含的内容、来源和可找到的位置。你通常还可以看到每个数据集上当前表现最佳的模型。
HuggingFace 数据集
https://huggingface.co/docs/datasets
不仅是查找各种问题领域的数据集的资源,而且还是下载并开始在几行代码内使用它们的库。
添加链接描述
Kaggle 数据集
https://www.kaggle.com/datasets
查找通常伴随 Kaggle 竞赛的各种数据集,其中许多数据集直接来自行业。
Google 数据集搜索
https://datasetsearch.research.google.com/
就像在 Google 上搜索一样,但是专门用于数据集。
这些应该足以让您入门,但是,对于您自己的特定问题,您可能需要构建自己的数据集。
深度学习领域的工具
以下资源主要针对特定问题领域(例如计算机视觉和推荐引擎/系统)的库和预训练模型。
计算机视觉
如果你的数据是视觉、图像、X 光扫描、生产线视频甚至手写文档,则可能是计算机视觉问题。
TorchVision — PyTorch 的常驻计算机视觉库。找到大量加载视觉数据的方法以及大量用于解决自己问题的预训练计算机视觉模型。
https://pytorch.org/vision/stable/index.html
timm(Torch 图像模型)库 — 最全面的计算机视觉库和预训练计算机视觉模型资源之一。几乎所有使用 PyTorch 进行计算机视觉的新研究都以某种方式利用了 timm 库。
https://github.com/rwightman/pytorch-image-models
Yolov5 用于对象检测 — 如果你希望在 PyTorch 中构建对象检测模型,yolov5 GitHub 仓库可能是最快的入门方式。
https://github.com/ultralytics/yolov5
VISSL(视觉自监督学习)库 — 自监督学习是让数据本身学习模式的艺术。自监督学习不是为不同类别提供标签并学习这样的表示,而是尝试在没有标签的情况下复制类似的结果。VISSL 提供了一种易于使用的方法,可以开始使用 PyTorch 进行自监督学习计算机视觉模型。
https://github.com/facebookresearch/vissl
自然语言处理
TorchText — PyTorch 内置的文本域库。与 TorchVision 一样,它包含大量用于加载数据的预构建方法和大量可用于解决自己问题的预训练模型。
https://pytorch.org/text/stable/index.html
HuggingFace Transformers 库 — HuggingFace Transformers 库在 GitHub 上的星星数比 PyTorch 库本身多。这是有原因的。并不是说 HuggingFace Transformers 比 PyTorch 更好,而是因为它在自己的领域是最好的:为 NLP 提供数据加载器和预训练的最先进的模型等等。
https://huggingface.co/docs/transformers/index
福利:要了解有关如何使用 HuggingFace Transformers 库及其所有相关组件的更多信息,HuggingFace 团队提供免费的在线课程。
https://huggingface.co/learn
语音
TorchAudio — PyTorch 的音频领域库。查找用于准备数据的内置方法和用于在音频数据中查找模式的预构建模型架构。
https://pytorch.org/audio/stable/index.html
SpeechBrain — 一个基于 PyTorch 构建的开源库,用于处理语音问题,例如识别(将语音转换为文本)、语音增强、语音处理、文本转语音等。
https://speechbrain.github.io/
推荐系统
https://pytorch.org/torchrec/
TorchRec 是 PyTorch 最新的内置域库,用于通过深度学习为推荐引擎提供支持。TorchRec 附带推荐数据集和模型,可供尝试和使用。但是,如果自定义推荐引擎无法满足你的要求(或工作量太大),许多云供应商都会提供推荐引擎服务。
https://pytorch.org/torchrec/
时序数据
如果你的数据包含时间成分,并且你想利用过去的模式来预测未来,例如预测明年比特币的价格或更合理的问题,即预测下周某个城市的电力需求,你将需要研究时间序列库。
这两个库不一定使用 PyTorch,但是,由于时间序列是一个常见的问题,我将它们包括在这里。
Salesforce Merlion — 使用 Merlion 的数据加载器、预构建模型、AutoML(自动机器学习)超参数调整等,将你的时间序列数据转化为智能,用于时间序列预测和时间序列异常检测,所有这些都受到实际用例的启发。
https://github.com/salesforce/Merlion
Facebook Kats — Facebook 的整个业务都依赖于预测:什么时候是投放广告的最佳时机?所以你可以打赌他们在时间序列预测软件上投入了大量资金。Kats(用于分析时间序列数据的工具包)是他们用于时间序列预测、检测和数据处理的开源库。
https://github.com/facebookresearch/Kats