今天在模型推理时,对模型设置为model.eval()之后,每次结果都不一样,感到很奇怪,经过调试找到原因,采用F.dropout2d时(下载的别人的模型),在推理时,需要手动将p设置为0,否则就每次不一样了,为了便于模型管理采用nn.Dropout,因为eval(),会自动处理dropout的。
模型中千万别在forward中直接使用F.dropout2d,要使用nn.Dropout
最新推荐文章于 2022-01-11 11:44:15 发布
今天在模型推理时,对模型设置为model.eval()之后,每次结果都不一样,感到很奇怪,经过调试找到原因,采用F.dropout2d时(下载的别人的模型),在推理时,需要手动将p设置为0,否则就每次不一样了,为了便于模型管理采用nn.Dropout,因为eval(),会自动处理dropout的。