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中的损失函数是归一化了的。

相关推荐
steven_yzx12 小时前
自动驾驶相机坐标系转换2
人工智能·数码相机·自动驾驶
丝雨_xrc12 小时前
Claude Opus 4.7 新手快速上手指南
大数据·网络·人工智能
QYR-分析12 小时前
全球汽车微孔锂电铜箔市场分析及发展机遇
大数据·人工智能·汽车
chaofan98012 小时前
突破大模型落地瓶颈:Claude 4.7 与 GPT-5.5 长上下文工程实测
数据库·人工智能·python·gpt·自动化·php·api
惊鸿一博12 小时前
自动驾驶_一段式端到端_三条技术路线_UniAD_SparseDrive_概述
人工智能·机器学习·自动驾驶
2501_9012005312 小时前
PHP源码部署需要多大硬盘空间_PHP项目存储空间估算方法【方法】
jvm·数据库·python
byte轻骑兵12 小时前
【LE Audio】BASS精讲[5]: 状态特征解析,广播接收状态实时可视全流程
人工智能·算法·音视频·语音识别·le audio·低功耗音频
IT_陈寒12 小时前
Vite的HMR怎么突然失效了?原来是我太年轻
前端·人工智能·后端
豆瓣鸡12 小时前
Agent实战练习
java·python·学习