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

相关推荐
chao_6666663 分钟前
2026定制AI玩具/AI硬件头部厂商全解析,定制需求选型参考
人工智能
大佬王5 分钟前
WebSocket 连接池生产级实现:实时行情高可用与负载均衡
python·架构
gorgeous(๑>؂<๑)8 分钟前
【CVPR26-陶大程-南洋理工】启发式推理先验助力数据高效型指代目标检测
人工智能·目标检测·计算机视觉
Sharewinfo_BJ12 分钟前
香港Databricks AI DAYS参会笔记:Agentic Analytics离我们还有多远
大数据·人工智能·数据分析·powerbi
羽师27 分钟前
RAG工作流程的执行时机
人工智能
常宇杏起32 分钟前
AI安全进阶:AI模型投毒攻击的检测与防御
大数据·人工智能·安全
ronindong33 分钟前
Cursor 插件分享 | md-couture:一键将 Markdown 转换成带精美样式的 HTML
人工智能·python·ai编程
智慧地球(AI·Earth)34 分钟前
规则引擎实战:Python中re库和pyknow库规则引擎实战教程
开发语言·python·程序人生
小陈phd35 分钟前
多模态大模型学习笔记(三十六)—— 扩散模型与可控生成:从AI涂鸦到精准作画的技术革命
人工智能·笔记·学习