整理了一些使用 Pytorch 中遇到的常见问题和技巧, 持续更新中 ……
问题 | Test 时, 即使使用 Module.eval() 仍然每次输出结果不一致 |
---|---|
原因 | torch.nn.Module.eval() 和 torch.nn.Module.train() 的某些 layer 的操作是不一样的, 比如 BatchNorm 和 Dropout |
方案 | 法一:forward() 中 设置 x = F.dropout(x, p=0.5, training=False); 法二: 直接使用 nn.Dropout() |