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

相关推荐
Metaphor6924 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
樊小肆4 小时前
DeepSeeker-Code源码导读11-统一注册表registry
人工智能·agent
鉴生Eric4 小时前
从冷负荷预测到群控寻优:用 AI 智能体把中央空调能耗打下来 20%+ 的全链路实践
人工智能
水獭比特5 小时前
工作流都公开了,为什么还不能继承 Owner 权限?
javascript·人工智能·node.js
不加辣椒5 小时前
第 3 章 信任壁垒:为什么 AI 生成的代码不可直接信任
人工智能
toolsmith5 小时前
我用AI拆解了Charles的授权机制,发现密钥被写死在了代码里
java·人工智能
小羊435 小时前
Agent规划范式进化论:从CoT到Plan-and-Execute
人工智能
AI探索派5 小时前
Agent Teams和Agent Swarm是什么?多Agent协作原理实战拆解
人工智能·架构·agent
wizardpisces5 小时前
Prompt 堆叠的尽头,是系统设计问题
人工智能
Wang's Blog5 小时前
Vibe Coding一人即团队系列8: Claude Code 模型选型指南
人工智能