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

相关推荐
勇往直前plus几秒前
python格式化字符串
开发语言·前端·python
_Li.6 分钟前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
源雀数智6 分钟前
源雀AI SCRM开源版重磅升级:AI智能标签库
人工智能·企业微信·流量运营
未来之窗软件服务10 分钟前
AI人工智能(二十四)错误示范ASR张量错误C#—东方仙盟练气期
开发语言·人工智能·c#·仙盟创梦ide·东方仙盟
智语观潮17 分钟前
OpenAI Codex 0.105.0:按住空格键,对着终端说话就能写代码
人工智能
机 _ 长17 分钟前
Transformer架构深度解析:从翻译模型到大语言模型的核心技术
人工智能·深度学习
数字生命卡兹克20 分钟前
Claude Code更新,你终于可以随时随地在手机上Vibe Coding了。
人工智能·产品
咋吃都不胖lyh20 分钟前
导出可复用的包版本信息(核心命令)
python
用户48159301959122 分钟前
01-Transformer基础入门-从词嵌入到注意力机制
人工智能
小碗细面27 分钟前
告别996!Claude Code 6个实用工作流程
前端·人工智能·ai编程