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

相关推荐
不爱土豆唯爱马铃薯4 分钟前
用MonkeyCode做一个野外数据采集表 | MonkeyCode实操系列EP06
人工智能·数据分析
董员外5 分钟前
RAG 系统进化论(九):RAG 评测,怎样证明系统真的变好了?
人工智能·设计模式·程序员
香吧香12 分钟前
Python 基础语法总结
python
IT小盘14 分钟前
10-使用Reranker提升RAG回答准确率
人工智能·python
小黑技术栈18 分钟前
DevEco Code Plan+Build模式:审方案再执行的技术实践
人工智能
卷无止境20 分钟前
Python 装饰器:给函数穿件"外套",到底难在哪?
后端·python
Thom58022 分钟前
【聚宽 JoinQuant】聚宽如何获取持仓和订单?get_orders()与get_open_orders()教程
人工智能·经验分享·量化交易·聚宽·量化编程
EasyDSS23 分钟前
景区客流遇冷?用EasyDSS企业融媒体平台直播/点播解锁「云上文旅」新玩法
人工智能·媒体·直播·点播·easydss
刘一说26 分钟前
AI科技热点日报 | 2026年08月04日
人工智能·科技
大地之灯28 分钟前
从零做一个自己的 CLI
python·agent