浅谈pytorch中的dropout的概率p


Posted in Python onMay 27, 2021

最近需要训练一个模型,在优化模型时用了dropout函数,为了减少过拟合。

训练的时候用dropout,测试的时候不用dropout。刚开始以为p是保留神经元的比率,训练设置0.5,测试设置1,loss根本没减小过,全设置成1也是一样的效果,后来就考虑到是不是p设置错了。

上网一搜,果然是的!!!p的含义理解错了!不是保留的,而是不保留的!

具体的代码为:

x2 = F.dropout(x1, p)

x1是上一层网络的输出,p是需要删除的神经元的比例。

当p=0时,保留全部神经元更新。当p=1时,神经元输出的值都为0。

补充:Pytorch--Dropout笔记

dropout常常用于抑制过拟合,pytorch也提供了很方便的函数。但是经常不知道dropout的参数p是什么意思。

在TensorFlow中p叫做keep_prob,就一直以为pytorch中的p应该就是保留节点数的比例,但是实验结果发现反了,实际上表示的是不保留节点数的比例。

看下面的例子:

a = torch.randn(10,1)
>>> tensor([[ 0.0684],
        [-0.2395],
        [ 0.0785],
        [-0.3815],
        [-0.6080],
        [-0.1690],
        [ 1.0285],
        [ 1.1213],
        [ 0.5261],
        [ 1.1664]])

p=0.5

torch.nn.Dropout(0.5)(a)
>>> tensor([[ 0.0000],  
        [-0.0000],  
        [ 0.0000],  
        [-0.7631],  
        [-0.0000],  
        [-0.0000],  
        [ 0.0000],  
        [ 0.0000],  
        [ 1.0521],  
        [ 2.3328]])

p=0

torch.nn.Dropout(0)(a)
>>> tensor([[ 0.0684],
        [-0.2395],
        [ 0.0785],
        [-0.3815],
        [-0.6080],
        [-0.1690],
        [ 1.0285],
        [ 1.1213],
        [ 0.5261],
        [ 1.1664]])

p=1

torch.nn.Dropout(0)(a)
>>> tensor([[0.],  
        [-0.], 
        [0.],  
        [-0.], 
        [-0.], 
        [-0.], 
        [0.],  
        [0.],  
        [0.],  
        [0.]])

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python datetime时间格式化去掉前导0
Jul 31 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
Feb 24 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
python 按不同维度求和,最值,均值的实例
Jun 28 Python
Python中return self的用法详解
Jul 27 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
Python3使用Matplotlib 绘制精美的数学函数图形
Apr 11 Python
Python3中的bytes和str类型详解
May 02 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
Django 实现图片上传和下载功能
Dec 31 Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
Pytorch 如何实现常用正则化
PyTorch 实现L2正则化以及Dropout的操作
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
pytorch 实现在测试的时候启用dropout
使用Python脚本对GiteePages进行一键部署的使用说明
You might like
php的array_multisort()使用方法介绍
2012/05/16 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
安全生产责任书
2014/03/12 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
公司行政管理制度范本
2015/08/05 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL