1 .训练模型时,对梯度进行截断
import torch as t
_ = nn.utils.clip_grad_norm_(model.parameters(), clip)
2 .load预训练好的模型
cpu->cpu或者gpu->gpu,直接
model.load_state_dict(t.load(param_file)) # load模型
gpu上训练,在cpu上载入
model.load_state_dict(t.load(params_file, map_location='cpu'))
3.学习率衰减
每5个epoch衰减为原来的0.1
optimizer = optim.SGD(f.parameters(), lr=lr)
schedulerF = optim.lr_scheduler.StepLR(optimizer, step_size=5, gamma=0.1)
或者
optimizer.param_groups[0]['lr'] = max(optimizer.param_groups[0]['lr'] * flags.lr_decay, flags.min_lr)