学习 Pytorch:逐步训练您的第一个深度学习模型
这篇博文是关于开始学习 pytorch 的,并提供图像分类的动手教程。
来源:AI夏令营这是我的故事:我最近给大学硕士生上了一堂深度学习辅导课。具体来说,是关于在 Pytorch 中训练他们的第一个多层感知器 (MLP)。作为该领域的初学者,他们的问题让我震惊不已。与此同时,我对他们的挣扎感同身受,并回想起自己也是初学者。这就是这篇博文的全部内容。
如果您习惯使用 numpy、tensorflow,或者想要通过动手编码教程加深对深度学习的理解,请加入。
我们将在 pytorch 中训练我们的第一个模型,称为多层感知器 (MLP),同时解释设计选择。代码可在 github 上找到。
代码可在 github 上找到我们开始吧?
导入
导入 torch导入 torch.nn 作为 nn导入 torch.nn. functional 作为 F导入 torch.optim 作为 optim导入 torchvision导入 torchvision.transforms 作为 transforms导入 numpy 作为 np导入 matplotlib.pyplot 作为 plt
导入 torch
导入 torch导入 torch.nn 作为 nn
导入 torch . nn 作为 nn导入 torch.nn. functional 作为 F
导入 torch . nn . functional as Fimport torch.optim as optim
import torch . optim as optimimport torchvision
import torchvisionimport torchvision.transforms as transforms
import torchvision . 变换 作为 变换导入 numpy 作为 np
导入 numpy 作为 np导入 matplotlib.pyplot 作为 plt
导入 matplotlib . pyplot 作为 plttorch.nn 包包含训练我们的神经网络所需的所有层。首先需要实例化这些层,然后使用它们的实例进行调用。在初始化期间,我们指定所有可训练组件。权重通常存在于继承 torch.nn.Module 类的类中。替代方案包括 torch.nn.Sequential 或 torch.nn.ModuleList 类,它们也继承自 torch.nn.Module 类。即使没有任何可训练参数,层类通常也以大写字母开头,因此感觉像这样声明它们:
torch.nn
torch.nn.Module
torch.nn.Sequential
torch.nn.ModuleList
torch.nn.Module
torch.nn. functional
torch.nn