第六章PyTorch进阶训练技巧

6.1 自定义损失函数

6.1.1以函数方式定义

6.1.2以类方式定义

  1. Loss:继承自_loss,部分继承自_WeightedLoss;
  2. _WeightedLoss继承自_loss;
  3. _loss继承自 nn.Module

6.2 动态调整学习率(scheduler

6.2.1 使用官方scheduler:

  1. 了解官方提供的API:PyTorch已经在torch.optim.lr_scheduler为我们封装好了一些动态调整学习率的方法供我们使用
  2. 使用官方API

6.2.2 自定义scheduler

自定义函数adjust_learning_rate来改变param_grouplr的值

6.3 模型微调

6.3.1 模型微调的流程

  1. 在数据集上预训练一个神经网络模型;
  2. 创建新的神经网络模型;
  3. 为目标模型添加输出层;
  4. 在目标数据集上训练目标模型。

6.3.2 使用已有模型结构

  1. 实例化网络;
  2. 传递pretrained参数;

6.3.3 训练特定层

6.4 半精度训练的设置:

  1. import autocast
  2. 模型设置
  3. 训练过程

你可能感兴趣的:(python,pytorch)