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

相关推荐
烈风逍遥12 小时前
基于 Vue 3+Spring Boot 构建 RAG 智能知识库
人工智能
机器之心12 小时前
1/10成本、Opus 4.7级表现,Cursor甩出了性价比之王Composer 2.5
人工智能·openai
机器之心12 小时前
从卖token到卖结果,这些公司开始让AI背KPI了
人工智能·openai
效能革命笔记12 小时前
AI模型平台选型指南:开源生态与国产算力如何优选
人工智能·开源
机器之心12 小时前
H100去哪儿了?
人工智能·openai
多年小白12 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
小领航13 小时前
构建 MySQL MCP Server
人工智能·node.js
paperClub13 小时前
AACR 2026 · AI诊断:深度学习在肿瘤早期检测中的应用
人工智能·深度学习
碳基硅坊13 小时前
使用RAGFlow搭建本地知识库
人工智能·知识库·rag·ragflow
w1wi13 小时前
CRA 差距分析完全指南 | 合规落地第一步
网络·人工智能·安全