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

相关推荐
码视野几秒前
基于 Vue3 + Element Plus 的【智慧新能源汽车充电桩运维调度与分时共享租赁系统】设计与实现(附完整源码与PRD)
运维·人工智能·汽车·vue3
冬奇Lab5 分钟前
开源项目第198期:Omarchy — DHH 打造的「意见鲜明」Linux 桌面系统
人工智能·开源·操作系统
zww89491118 分钟前
AI智能商城APP定制开发实战:从需求到上线完整指南
大数据·人工智能
wangjialelele12 分钟前
RAG 检索增强生成全面解析:从知识库构建到检索、重排序与生成优化
人工智能·ai·agent·rag·检索增强生成
从零开始学习人工智能25 分钟前
Labelme AI-Points 功能背后的ONNX模型:下载、配置与使用解析
人工智能
zx_7414848131 分钟前
【Python 入门】面向对象基础:类、对象、成员变量与构造方法
开发语言·python
招财小梗39 分钟前
沈阳商贸公司AI企业服务优势几何?
大数据·人工智能·python
ZKKLLY1 小时前
生成式引擎优化赛道崛起,优质GEO服务商该如何筛选评估
大数据·人工智能
IT古董1 小时前
FDE(Forward Deployed Engineer)详解:AI时代正在崛起的新型工程师
大数据·人工智能·数据挖掘
ZISHU_9872 小时前
用 TLabel 给 SynTouch BioTac 数据做语义标注:从原始信号到结构化标注
开发语言·人工智能·python·数据·机器人触觉