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

相关推荐
DevUI团队1 小时前
🚀 【Angular】MateChat V20.2.2版本发布,新增8+组件,欢迎体验~
前端·javascript·人工智能
DevUI团队2 小时前
🚀 MateChat V1.11.0 震撼发布!新增工具按钮栏组件及体验问题修复,欢迎体验~
前端·javascript·人工智能
乡村中医2 小时前
AIChat渲染md格式优化-Web Worker
人工智能
老迟聊架构2 小时前
说说Vibe Coding的适应范围
人工智能·程序员·架构
数据智能老司机2 小时前
PyTorch 深度学习——使用神经网络来拟合数据
pytorch·深度学习
数据智能老司机2 小时前
PyTorch 深度学习——用于图像的扩散模型
pytorch·深度学习
数据智能老司机2 小时前
PyTorch 深度学习——Transformer 是如何工作的
pytorch·深度学习
闲云一鹤3 小时前
本地部署 B 站 IndexTTS2 模型 - AI 文本生语音神器
前端·人工智能
前端双越老师4 小时前
Skills 是什么?如何用于 Agent 开发?
人工智能·node.js·agent
明月_清风4 小时前
Python 装饰器前传:如果不懂“闭包”,你只是在复刻代码
后端·python