浅谈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实用技巧两则
Aug 29 Python
python多重继承新算法C3介绍
Sep 28 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
遗传算法python版
Mar 19 Python
Python多线程threading模块用法实例分析
May 22 Python
ipad上运行python的方法步骤
Oct 12 Python
如何在python中写hive脚本
Nov 08 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 Python
让文件路径提取变得更简单的Python Path库
Pytorch中的数据集划分&正则化方法
Pytorch 如何实现常用正则化
PyTorch 实现L2正则化以及Dropout的操作
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
pytorch 实现在测试的时候启用dropout
使用Python脚本对GiteePages进行一键部署的使用说明
You might like
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
php编写简单的文章发布程序
2015/06/18 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
利用php输出不同的心形图案
2016/04/22 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
副科竞争上岗演讲稿
2014/05/12 职场文书
公司联欢会策划方案
2014/05/19 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书