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

相关推荐
梦道长生9 小时前
对于extend和append无法解决的字典解析情况
python
2501_901006479 小时前
c++如何利用C++23 std--print加速大量格式化数据的文件IO性能【进阶】
jvm·数据库·python
2501_945837439 小时前
OpenClaw:让 AI 从 “会说” 到 “会做” 的开源智能体框架
人工智能
AI产品测评官9 小时前
2026年AI招聘软件试用防坑指南:世纪云猎199元全功能体验方案深度测评
大数据·人工智能
bryant_meng9 小时前
【Autonomous Driving】Shadow Mode and Imitation Learning
人工智能·计算机视觉·监督学习·模仿学习·影子模式
享客多网络9 小时前
2026年滨海新区GEO获客公司,本地企业增长新引擎
人工智能·python
渡难繁辰9 小时前
ChCode: Python 7000 行代码手搓了一个终端 Coding Agent
人工智能
AI品信智慧数智人9 小时前
你的五一小长假,有AI伴游助手陪伴吗?
人工智能
dinl_vin9 小时前
LangChain 系列·(六):RAG 评估——你怎么知道它够好?
人工智能·langchain
玩转单片机与嵌入式9 小时前
别再只把 MCU 当控制器:新一代芯片正在把 AI 推理搬到设备端
人工智能·单片机·嵌入式硬件