本文转自『机器之心』(almosthuman2014)
教程链接:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html
这是一份非常简洁的学习材料,目标是让学习者了解 PyTorch 的 Tensor 库和神经网络,以及如何训练一个可以进行图像分类的神经网络。
虽然是入门课程,但也有一定门槛:课程参与者要具备 Numpy 基础知识。
该教程共分为五节:
  1. PyTorch 简介
  2. Autograde:自动微分
  3. 神经网络
  4. 训练一个分类器
  5. 数据并行
本教程的五大板块。
第 1 节「PyTorch 简介」介绍了 PyTorch 的基本技术细节,如 Tensor、基本操作句法,还包括 Torch Tensor 与 Numpy 数组之间的转换、CUDA Tensor 等基础知识。
如果想进一步了解 PyTorch 的 Tensor 操作信息,还可以按文中给出的链接找到相应教程,包括数学运算、线性代数、随机数等。
第 2 节介绍了 PyTorch 中用于微分的包——Autograd。它是 PyTorch 神经网络的核心,为张量的所有操作提供了自动微分。为了更加直观地理解与之相关的术语,教程还给出了一些例子。
第 3 节介绍了训练一个神经网络的常见步骤,包括定义具有一些可学习参数的神经网络、遍历输入数据集、通过神经网络处理输入、计算损失、将梯度传播回网络参数、更新网络权重等。
在学会定义网络、计算损失、更新权重之后,第 4 节开始讲解如何训练一个分类器。教程使用了 CIFAR10 数据集,将训练步骤分为 5 步:
1. 载入 CIFAR10 并将其标准化;
2. 定义一个卷积神经网络;
3. 定义损失函数和优化器;
4. 训练网络;
5. 在测试集上测试网络
CIFAR10 数据集。
此外,这一节还讲解了如何在 GPU 上训练神经网络。
如果想进一步加速训练过程,还可以选修第 5 节——数据并行,学习如何在多个 GPU 上训练网络。
在这一教程中,每个小节都有 GoogleColab 链接,可以让学习者实时运行代码,获取实战经验。
如果想在本地运行文件,还可以下载 Notebook。
参考链接:
  • https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html
  • https://news.ycombinator.com/item?id=21240057
  • https://www.youtube.com/watch?v=u7x8RXwLKcA
推荐阅读
继续阅读
阅读原文