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

相关推荐
Larcher19 分钟前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式
牧艺26 分钟前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
CodePlayer竟然被占用了1 小时前
Codex 用电脑的三种姿势:选错模式,你就白烧 Token
人工智能
用户8356290780511 小时前
使用 Python 自动化 PowerPoint 形状布局与格式设置
后端·python
袋鼠云数栈UED团队2 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
Awu12272 小时前
⚡从零开发 Agent CLI(二):CLI 框架搭建与子命令路由
人工智能·aigc
码上天下2 小时前
React Query 缓存 AI 对话历史的几个权衡
人工智能
米小虾2 小时前
2026半年盘点:AI界发生的6件大事,正在彻底改变产业格局
人工智能
用户8356290780513 小时前
用 Python 自动化 PowerPoint 演讲者备注添加
后端·python