PyTorch踩坑记录1

1 model.eval()无法关闭dropout

因为model.eval()控制self.training参数,只有用nn.Dropout(0.5)声明才能在调用model.eval()后关闭,用F.dropout(x, p=0.5)是没办法自动关闭的,需要手动把self.training的参数传入到F.dropout()里才行。

网上查到是因为model.eval()会影响继承nn.module类的self.方法的训练和测试,但是F.dropout更像是一个函数没继承nn,module。

另外,回归模型在后面几层应该避免使用dropout,最多在浅层使用。

2 BCEloss归一化

在tf2中BCEloss没有归一化,但是在torch中的损失函数是归一化了的。

相关推荐
幂律智能几秒前
吾律——让普惠法律服务走进生活
人工智能·经验分享
IT_陈寒5 分钟前
Java性能优化:从这8个关键指标开始,让你的应用提速50%
前端·人工智能·后端
带娃的IT创业者8 分钟前
如何开发一个教育性质的多线程密码猜测演示器
网络·python·算法
yzx9910139 分钟前
构建未来:深度学习、嵌入式与安卓开发的融合创新之路
android·人工智能·深度学习
非门由也20 分钟前
《sklearn机器学习——特征提取》
人工智能·机器学习·sklearn
机器学习之心1 小时前
基于CNN的航空发动机剩余寿命预测 (MATLAB实现)
人工智能·matlab·cnn
钝挫力PROGRAMER1 小时前
AI中的“预训练”是什么意思
人工智能
Godspeed Zhao1 小时前
自动驾驶中的传感器技术39——Radar(0)
人工智能·机器学习·自动驾驶·毫米波雷达
idealmu2 小时前
知识蒸馏(KD)详解一:认识一下BERT 模型
人工智能·深度学习·bert
Cathyqiii2 小时前
生成对抗网络(GAN)
人工智能·深度学习·计算机视觉