浅谈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中的Matplotlib模块入门教程
Apr 15 Python
浅谈Python实现Apriori算法介绍
Dec 20 Python
在CentOS6上安装Python2.7的解决方法
Jan 09 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
python画微信表情符的实例代码
Oct 09 Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
Pytorch 如何实现常用正则化
PyTorch 实现L2正则化以及Dropout的操作
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
pytorch 实现在测试的时候启用dropout
使用Python脚本对GiteePages进行一键部署的使用说明
You might like
php调用新浪短链接API的方法
2014/11/08 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
YII框架关联查询操作示例
2019/04/29 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
python3.x实现发送邮件功能
2018/05/22 Python
python使用tornado实现简单爬虫
2018/07/28 Python
Python中捕获键盘的方式详解
2019/03/28 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
用python计算文件的MD5值
2020/12/23 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
迎八一活动主题
2014/01/31 职场文书
服务员岗位责任制
2014/02/11 职场文书
入党自荐书范文
2014/03/09 职场文书
主持词开场白
2014/03/17 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书