为什么多次预测结果不一致
- 检查是否在每次预测前使用
model.eval()
或者是
with torch.no_grad():for...
推荐下面的方法,上面的的方法计算梯度,但是并不反向传播,下面的方法既不计算梯度,也不反向传播,速度更快。
检查是否取消了所有的dropout
设置随机种子
def setup_seed(seed):
np.random.seed(seed)
random.seed(seed)
torch.manual_seed(seed)#cpu
torch.cuda.manual_seed_all(seed)#并行gpu
torch.backends.cudnn.deterministic= True#cpu/gpu结果一致
torch.backends.cudnn.benchmark= True#训练集变化不大时使训练加速
总有一款适合你