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

相关推荐
睿智的易哥14 小时前
2026年AI+教育的加速跑:从政策到课桌的变革
人工智能
心运软件14 小时前
Python实战:中国大学排行榜数据采集与可视化大屏
后端·python
用户81818706274614 小时前
第9章 编程接口与 RPC 协议
人工智能
长不胖的路人甲14 小时前
什么是赫夫曼树(哈夫曼树 / Huffman Tree)
python·算法·霍夫曼树
互联网江湖14 小时前
一加、realme“分家”,OPPO更宠谁?
人工智能
A153625514 小时前
国内进销存软件排名2026 电商&零售企业选型指南
大数据·人工智能·零售
网易云信14 小时前
AI 提效的"组织悖论"——为什么个人越用越强,组织却看不到效果?
人工智能
魔镜er14 小时前
03-张量
人工智能·pytorch·python
后端小肥肠14 小时前
做个人 IP 不用真人出镜,我做了个一键生成 IP 动画视频的 Skill
人工智能·aigc·agent
墨舟的AI笔记14 小时前
大模型游戏剧情评测:用自动化指标抑制幻觉与 OOC 出戏
人工智能