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

相关推荐
CelestialYuxin3 分钟前
A.R.I.S.系统:YOLOx在破碎电子废料分拣中的新探索
人工智能·深度学习·算法
njsgcs10 分钟前
用软件的订阅通知来唤醒ai Webhook
人工智能
破晓之翼12 分钟前
Skill原理及国内大模型实践
人工智能·python
IT管理圈17 分钟前
Cursor Rules 实战指南—让AI按你的规矩写代码
python
Java后端的Ai之路21 分钟前
微调模型成本太高,用RAG技术,低成本实现AI升级
开发语言·人工智能·python·rag·ai升级
Allen正心正念202524 分钟前
AI coding——Cursor版本履历与特性介绍
人工智能
Guass25 分钟前
【搭建OpenClaw】
人工智能
Jason_Honey225 分钟前
【蚂蚁金服Agent算法岗一面】
人工智能·算法·自然语言处理·面试
智算菩萨28 分钟前
交错多模态内容生成:从“单张图“到“图文混排长文“的创作范式变革
人工智能·算法·aigc
楚兴28 分钟前
Go + Eino 构建 AI Agent(一):Hello LLM
人工智能·后端