PyTorch/[PyTorch 学习笔记] 3.1 模型创建步骤与 nn.Module
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/module_containers.py
这篇文章来看下 PyTorch 中网络模型的创建步骤。网络模型的内容如下,包括模型创建和权值初始化,这些内容都在nn.Module
中有实现。

本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/module_containers.py
这篇文章来看下 PyTorch 中网络模型的创建步骤。网络模型的内容如下,包括模型创建和权值初始化,这些内容都在nn.Module
中有实现。
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson2/transforms/
这篇主要分为几个部分介绍 transforms:
最后是数据增强的实战:对人民币二分类实验进行数增强。
我们在安装PyTorch
时,还安装了torchvision
,这是一个计算机视觉工具包。有 3 个主要的模块:
torchvision.transforms
: 里面包括常用的图像预处理方法torchvision.datasets
: 里面包括常用数据集如 mnist、CIFAR-10、Image-Net 等torchvision.models
: 里面包括常用的预训练好的模型,如 AlexNet、VGG、ResNet、GoogleNet 等本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson2/rmb_classification/
实现 1 元人民币和 100 元人民币的图片二分类。前面讲过 PyTorch 的五大模块:数据、模型、损失函数、优化器和迭代训练。
数据模块又可以细分为 4 个部分:
本章代码:
在深度学习中,权值的更新是依赖于梯度的计算,因此梯度的计算是至关重要的。在 PyTorch 中,只需要搭建好前向计算图,然后利用torch.autograd
自动求导得到所有张量的梯度。
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/computational_graph.py
深度学习就是对张量进行一系列的操作,随着操作种类和数量的增多,会出现各种值得思考的问题。比如多个操作之间是否可以并行,如何协同底层的不同设备,如何避免冗余的操作,以实现最高效的计算效率,同时避免一些 bug。因此产生了计算图 (Computational Graph)。
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/linear_regression.py
1 | torch.cat(tensors, dim=0, out=None) |
功能:将张量按照 dim 维度进行拼接
本章代码:
Tensor 中文为张量。张量的意思是一个多维数组,它是标量、向量、矩阵的高维扩展。
标量可以称为 0 维张量,向量可以称为 1 维张量,矩阵可以称为 2 维张量,RGB 图像可以表示 3 维张量。你可以把张量看作多维数组。
2017 年 1 月,FAIR(Facebook AI Research)发布了 PyTorch。PyTorch 是在 Torch 基础上用 python 语言重新打造的一款深度学习框架。Torch 是采用 Lua 语言为接口的机器学习框架,但是因为 Lua 语言较为小众,导致 Torch 学习成本高,因此知名度不高。