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

相关推荐
孟郎郎5 分钟前
打造一切(Craft Anything)——克隆构造世间万物
人工智能·ai·github·软件构建·开源软件
Martina_032117 分钟前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图
master33643 分钟前
AI领域常用名词的系统梳理
人工智能·ai
Spidermanbaout1 小时前
Prompt-Engineering实战-2026年11月2日
人工智能·机器学习·ai·chatgpt·ai编程
卷无止境1 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
阿里云大数据AI技术2 小时前
EMR Serverless StarRocks + DLF Paimon 多模态数据湖检索
人工智能
文青的青2 小时前
不写一行代码,用 WorkBuddy 搭建并上线个人静态博客
人工智能
IT_陈寒2 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
Dawson Zhu2 小时前
从空间 Scaling 到时间 Scaling
人工智能·语言模型·架构·aigc·agi