1-1.结构化数据建模流程范例
titanic数据集的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存
titanic数据集的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存
cifar2数据集为cifar10数据集的子集,只包括前两种类别airplane和automobile
imdb数据集的目标是根据电影评论的文本内容预测评论的情感标签。
2020年发生的新冠肺炎疫情灾难给各国人民的生活造成了诸多方面的影响
Pytorch的基本数据结构是张量Tensor。张量即多维数组。Pytorch的张量和numpy中的array很类似
神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情。
本节我们将介绍 Pytorch的动态计算图
下面的范例使用Pytorch的低阶API实现线性回归模型和DNN二分类模型
Pytorch的中阶API主要包括各种模型层,损失函数,优化器,数据管道等等
Pytorch没有官方的高阶API,一般需要用户自己实现训练循环、验证循环、和预测循环
张量结构操作主要包括:张量创建,索引切片,维度变换,合并分割
张量数学运算主要有:标量运算,向量运算,矩阵运算,以及 使用非常强大而灵活的爱因斯坦求和函数torch.einsum进行任意维的张量运算
利用这些张量的API我们可以构建出神经网络相关的组件(如激活函数,模型层,损失函数
Pytorch通常使用Dataset和DataLoader这两个工具类来构建数据管道
torch.nn中内置了非常丰富的各种模型层。它们都属于nn.Module的子类,具备参数管理功能
一般来说,监督学习的目标函数由损失函数和正则化项组成。(Objective = Loss + Regularization)
TensorBoard正是这样一个神奇的炼丹可视化辅助工具。它原是TensorFlow的小弟,但它也能够很好地和Pytorch进行配合。甚至在Pytorch中使用TensorBoard比TensorFlow中使用TensorBoard还要来的更加简单和自然
1,继承nn.Module基类构建自定义模型
2,使用nn.Sequential按层顺序构建模型
3,继承nn.Module基类构建模型并辅助应用模型容器进行封装(nn.Sequential,nn.ModuleList,nn.ModuleDict)
Pytorch通常需要用户编写自定义训练循环,训练循环的代码风格因人而异
深度学习的训练过程常常非常耗时,一个模型训练几个小时是家常便饭,训练几天也是常有的事情,有时候甚至要训练几十天