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

相关推荐
xwill*3 分钟前
python 字符串拼接
linux·windows·python
superman超哥16 分钟前
仓颉锁竞争优化深度解析
c语言·开发语言·c++·python·仓颉
一晌小贪欢17 分钟前
【Python办公自动化】Python办公自动化常用库新手指南
开发语言·python·python自动化办公·python3·python办公自动化·python办公
泰迪智能科技0120 分钟前
分享|深化产教融合丨图书联合编写招募直播
人工智能
沐雪架构师27 分钟前
OpenAgents:让AI智能体Agent像人类一样联网协作
人工智能
其美杰布-富贵-李33 分钟前
Python 反射完整学习笔记
笔记·python·学习·反射
热心市民小刘050538 分钟前
12.23二叉树的层序遍历
python
我要充满正能量39 分钟前
拥抱AI Coding,让我更自信能胜任我的工作
人工智能·ai编程·claude
yaoh.wang41 分钟前
力扣(LeetCode) 111: 二叉树的最小深度 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·深度优先
安达发公司1 小时前
安达发|效率革命:APS自动排程,为“金属丛林”安装精准导航
大数据·运维·人工智能·aps高级排程·aps排程软件·安达发aps·aps自动排程