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几秒前
AI 提出科学假设之后:从数据筛选到实验验证
人工智能·chatgpt·开源·agent·codex
kaixin_啊啊2 分钟前
【零基础学AI】第 19 章——用分类模型识别类别
人工智能·分类·数据挖掘
123_不打狼3 分钟前
Squidiff:基于条件扩散模型预测细胞发育与扰动响应
开发语言·python·squidiff
databook7 分钟前
用Python DSL 写轻量数据质检工具
python·数据分析
郝学胜-神的一滴17 分钟前
AI 编程智能体 17:四步搞定专属AI智能体
大数据·人工智能·python·神经网络·算法·langchain·强化学习
岁寒良木20 分钟前
麒麟 V10 (x86_64) 离线/联网部署 Docker 26.1.4 与 MaxKB v2.10 LTS 实战指南
python·docker·kylin
vx1530278236222 分钟前
CDGA|AI时代,数据治理的位置下沉了吗?
大数据·人工智能·cdga·数据治理
微尘hjx29 分钟前
【StrongSort 03】多轨迹算法StrongSort改进点
人工智能·算法·yolo·视觉检测·ultralytics·strongsort·轨迹算法
openKylin30 分钟前
openKylin亮相 2026 麒麟软件教育医疗创新应用大会
人工智能·开源·openkylin
梦帮科技30 分钟前
QML-04-QGraph-Diff:量子非欧图扩散生成模型与 SE(3) 等变分子晶格逆向合成完整技术指南(上部分)
人工智能·算法·自动化·量子计算·傅里叶分析