浅谈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网络编程学习笔记(六):Web客户端访问
Jun 09 Python
python定时检查某个进程是否已经关闭的方法
May 20 Python
python字符串编码识别模块chardet简单应用
Jun 15 Python
在win和Linux系统中python命令行运行的不同
Jul 03 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
python如何使用unittest测试接口
Apr 04 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
解决Djang2.0.1中的reverse导入失败的问题
Aug 16 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 Python
python安装第三方库如xlrd的方法
Oct 31 Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
Pytorch 如何实现常用正则化
PyTorch 实现L2正则化以及Dropout的操作
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
pytorch 实现在测试的时候启用dropout
使用Python脚本对GiteePages进行一键部署的使用说明
You might like
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
php截取后台登陆密码的代码
2012/05/05 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
跟老齐学Python之网站的结构
2014/10/24 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
自我评价范文
2013/12/22 职场文书
财务会计实训报告
2014/11/05 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
实习介绍信范文
2015/05/05 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
python 中的jieba分词库
2021/11/23 Python