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 分钟前
使用python 发送数据到第三方接口,同步等待太慢
开发语言·python
njsgcs9 分钟前
pyautocad获得所选圆弧的弧长总和
开发语言·windows·python
阿巴~阿巴~10 分钟前
NumPy数值分析:从基础到高效运算
人工智能·python·numpy
xier_ran35 分钟前
Python 切片(Slicing)完全指南:从基础到多维矩阵
开发语言·python·矩阵
aneasystone本尊36 分钟前
LiteLLM 快速入门
人工智能
百***349540 分钟前
Python连接SQL SEVER数据库全流程
数据库·python·sql
2501_9411114041 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
大模型实验室Lab4AI42 分钟前
【Github热门项目】DeepSeek-OCR项目上线即突破7k+星!突破10倍无损压缩,重新定义文本-视觉信息处理
人工智能·ocr·deepseek-ocr
中科米堆1 小时前
冲压钣金件案例 | 三维扫描3d偏差检测分析解决方案-CASAIM
人工智能·3d·3d全尺寸检测
IT_陈寒1 小时前
React性能优化实战:我用这5个技巧将组件渲染速度提升了70%
前端·人工智能·后端