简单的PyTorch教程来自官网教程 、 和 。
PyTorch是一个基于 的科学计算包它主要有两个用途:
下面的代码构造一個$5 \times 3$的未初始化的矩阵:
我们来显示几张图片看看,是一个batch的图片显示的代码如下:
# 把batch张图片拼接成一个大图现在我们来实现一个用于训練模型的通用函数。这里我们会演示怎么实现:
# 每个epoch都分为训练和验证阶段 # 只有训练的时候track用于梯度计算的历史信息 # 如果是训练,那么需要backward和更新参数 # 保存验证集上的最佳模型我们首先加载一个预训练的模型(imagenet上的resnet)因为我们的类别数和imagenet不同,所以我们需要删掉原来的全连接层换成新的全连接层。这里我们让所有的模型参数都可以调整包括新加的全连接层和预训练的层。
# 所有的参数都可以训练最终我们嘚到的分类准确率大概在94.7%
我们用可以固定住前面层的参数,只训练最后一层这比之前要快将近一倍,因为反向计算梯度只需要计算最後一层但是前向计算的时间是一样的。
# 值训练最后一个全连接层最终我们得到的分类准确率大概在96%。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。