51

60分钟入门PyTorch,官方教程手把手教你训练第一个深度学习模型

 4 years ago
source link: https://www.tuicool.com/articles/v6bANvR
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

zAVZZbv.jpg!web

教程链接:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html

这是一份非常简洁的学习材料,目标是让学习者了解 PyTorch 的 Tensor 库和神经网络,以及如何训练一个可以进行图像分类的神经网络。

虽然是入门课程,但也有一定门槛:课程参与者要具备 Numpy 基础知识。

该教程共分为五节:

  1. PyTorch 简介

  2. Autograde:自动微分

  3. 神经网络

  4. 训练一个分类器

  5. 数据并行

ZF3IFnb.jpg!web

本教程的五大板块。

第 1 节「PyTorch 简介」介绍了 PyTorch 的基本技术细节,如 Tensor、基本操作句法,还包括 Torch Tensor 与 Numpy 数组之间的转换、CUDA Tensor 等基础知识。

如果想进一步了解 PyTorch 的 Tensor 操作信息,还可以按文中给出的链接找到相应教程,包括数学运算、线性代数、随机数等。

RrUNf2B.png!web

第 2 节介绍了 PyTorch 中用于微分的包——Autograd。它是 PyTorch神经网络的核心,为张量的所有操作提供了自动微分。为了更加直观地理解与之相关的术语,教程还给出了一些例子。

第 3 节介绍了训练一个神经网络的常见步骤,包括定义具有一些可学习参数的神经网络、遍历输入数据集、通过神经网络处理输入、计算损失、将梯度传播回网络参数、更新网络权重等。

JrEneiu.png!web

在学会定义网络、计算损失、更新权重之后,第 4 节开始讲解如何训练一个分类器。教程使用了 CIFAR10 数据集,将训练步骤分为 5 步:

1. 载入 CIFAR10 并将其标准化;

2. 定义一个卷积神经网络;

3. 定义损失函数和优化器;

4. 训练网络;

5. 在测试集上测试网络

3y2ai2R.jpg!web

CIFAR10 数据集。

此外,这一节还讲解了如何在 GPU 上训练神经网络。

如果想进一步加速训练过程,还可以选修第 5 节——数据并行,学习如何在多个 GPU 上训练网络。

在这一教程中,每个小节都有 GoogleColab 链接,可以让学习者实时运行代码,获取实战经验。

f2IJ3eJ.gif

如果想在本地运行文件,还可以下载 Notebook。

yyaQnmj.png!web

参考链接:

  • https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html

  • https://news.ycombinator.com/item?id=21240057

  • https://www.youtube.com/watch?v=u7x8RXwLKcA


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK