教程
端到端完整的PyTorch-Ignite教程,带有交互式Google Colab笔记本。
初学者
1. 开始使用
欢迎来到PyTorch-Ignite的快速入门指南,该指南涵盖了启动和运行项目的基本要素,同时介绍了Ignite的基本概念。只需几行代码,您就可以训练和验证您的模型。完整的代码可以在本指南的末尾找到。
2. 使用IMDb评论的文本分类变换器
在本教程中,我们将使用PyTorch-Ignite对Transformers库中的模型进行微调,用于文本分类。我们将遵循微调预训练模型教程来进行文本预处理,并定义模型、优化器和数据加载器。
中级
1. 在CPU、GPU或TPU上进行分布式训练
本教程简要介绍了如何在一个或多个CPU、GPU或TPU上使用Ignite进行分布式训练。我们还将介绍几个辅助函数和Ignite概念(设置常见的训练处理程序、从检查点保存/加载等),您可以轻松地将这些内容整合到您的代码中。
2. 使用 PyTorch Ignite 的机器翻译
本教程简要介绍了如何使用PyTorch Ignite训练机器翻译模型(或任何其他seq2seq模型)。 本笔记本使用了来自Huggingface的模型、数据集和分词器,因此它们可以轻松替换为🤗 Hub中的其他模型。
3. 使用Ignite进行强化学习
在本教程中,我们将实现一个名为 Reinforce的 基于策略梯度的算法,并使用PyTorch-Ignite来解决OpenAI的 Cartpole问题。
高级
1. 使用Ignite的集体通信
在本教程中,我们将了解如何使用高级分布式函数,如all_reduce()、all_gather()、broadcast()和barrier()。我们将讨论它们各自的独特用例,并以可视化的方式展示它们。
其他教程
- 使用卷积神经网络进行文本分类
- 变分自编码器
- 用于分类Fashion-MNIST数据集的卷积神经网络
- 在马和斑马之间使用Nvidia/Apex训练Cycle-GAN - 在W&B上的日志
- 另一个在马与斑马之间的训练 Cycle-GAN,使用原生 Torch CUDA AMP - 在 W&B 上的日志
- 在CIFAR100上微调EfficientNet-B0
- 使用Ax进行超参数调整
- 在Cifar100上基准测试混合精度训练: torch.cuda.amp vs nvidia/apex
可复现的训练示例
受到 torchvision/references的启发, 我们为视觉任务提供了几个可重复的基线:
特点:
- 分布式训练:本地或Horovod,并使用 PyTorch native AMP