基础-pytorch

2-1.张量数据结构

Pytorch的基本数据结构是张量Tensor。张量即多维数组。Pytorch的张量和numpy中的array很类似

2-2.自动微分机制

神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情。

3-1.低阶API示范

下面的范例使用Pytorch的低阶API实现线性回归模型和DNN二分类模型

3-2.中阶API示范

Pytorch的中阶API主要包括各种模型层,损失函数,优化器,数据管道等等

3-3.高阶API示范

Pytorch没有官方的高阶API,一般需要用户自己实现训练循环、验证循环、和预测循环

4-2.张量的数学运算

张量数学运算主要有:标量运算,向量运算,矩阵运算,以及 使用非常强大而灵活的爱因斯坦求和函数torch.einsum进行任意维的张量运算

5-2.模型层layers

torch.nn中内置了非常丰富的各种模型层。它们都属于nn.Module的子类,具备参数管理功能

5-3.损失函数losses

一般来说,监督学习的目标函数由损失函数和正则化项组成。(Objective = Loss + Regularization)

5-4. TensorBoard可视化

TensorBoard正是这样一个神奇的炼丹可视化辅助工具。它原是TensorFlow的小弟,但它也能够很好地和Pytorch进行配合。甚至在Pytorch中使用TensorBoard比TensorFlow中使用TensorBoard还要来的更加简单和自然

6-1.构建模型的3种方法

1,继承nn.Module基类构建自定义模型
2,使用nn.Sequential按层顺序构建模型
3,继承nn.Module基类构建模型并辅助应用模型容器进行封装(nn.Sequential,nn.ModuleList,nn.ModuleDict)

6-3.使用GPU训练模型

深度学习的训练过程常常非常耗时,一个模型训练几个小时是家常便饭,训练几天也是常有的事情,有时候甚至要训练几十天