返回顶部
首页 > 资讯 > 后端开发 > Python >浅谈pytorch中的dropout的概率p
  • 236
分享到

浅谈pytorch中的dropout的概率p

2024-04-02 19:04:59 236人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

最近需要训练一个模型,在优化模型时用了dropout函数,为了减少过拟合。 训练的时候用dropout,测试的时候不用dropout。刚开始以为p是保留神经元的比率,训练设置0.5,

最近需要训练一个模型,在优化模型时用了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.]]) 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 浅谈pytorch中的dropout的概率p

本文链接: https://lsjlt.com/news/126950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈pytorch中的dropout的概率p
    最近需要训练一个模型,在优化模型时用了dropout函数,为了减少过拟合。 训练的时候用dropout,测试的时候不用dropout。刚开始以为p是保留神经元的比率,训练设置0.5,...
    99+
    2024-04-02
  • 浅谈pytorch中stack和cat的及to_tensor的坑
    初入计算机视觉遇到的一些坑 1.pytorch中转tensor x=np.random.randint(10,100,(10,10,10)) x=TF.to_tensor(x) ...
    99+
    2024-04-02
  • 浅谈Pytorch中autograd的若干(踩坑)总结
    关于Variable和Tensor 旧版本的Pytorch中,Variable是对Tensor的一个封装;在Pytorch大于v0.4的版本后,Varible和Tensor合并了,意...
    99+
    2024-04-02
  • 浅谈tensorflow与pytorch的相互转换
    目录1.变量预定义2.创建变量并初始化3.语句执行4.tensor5.其他函数本文以一段代码为例,简单介绍一下tensorflow与pytorch的相互转换(主要是tensorflo...
    99+
    2024-04-02
  • 浅谈pytorch中的nn.Sequential(*net[3: 5])是啥意思
    看到代码里面有这个 1 class ResNeXt101(nn.Module): 2 def __init__(self): 3 super(ResN...
    99+
    2024-04-02
  • 浅谈mysql中各种表空间(tablespaces)的概念
    mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一下这些...
    99+
    2024-04-02
  • 谈谈对Pytorch中的forward的理解
    目录写在前面正文为什么都用def forward,而不改个名字?forward有什么特殊功能?第一条:.forward()可以不写第二条:优先运行forward方法总结写在前面 以下...
    99+
    2023-05-14
    Pytorch中的forward Pytorch forward
  • 浅谈一下基于Pytorch的可视化工具
    目录准备网络网络结构的可视化---PytorchViz训练过程可视化---TensorboardXVisdom可视化深度学习网络通常具有很深的层次结构,而且层与层之间通常会有并联、串...
    99+
    2023-05-14
    Pytorch Pytorch可视化工具
  • 浅析Python中的随机采样和概率分布
    目录1. random.choice2. random.choices(有放回)3. numpy.sample(无放回)4.rng.choices 和 rng.sample5. nu...
    99+
    2024-04-02
  • 浅谈JVM中的JOL
    目录JOL简介使用JOL分析VM信息使用JOL分析String使用JOL分析数组使用JOL分析自动装箱使用JOL分析引用关系总结JOL简介 JOL的全称是Java Object La...
    99+
    2024-04-02
  • 浅谈Unity中的Shader
    目录一、Shader基础知识1.1、什么是Shader1.2、OpenGL的渲染流程1.3、shader的种类1.4、shader的开发语言二、Unity中Shader知识介绍2.1...
    99+
    2024-04-02
  • 浅谈python中的多态
    目录一、多态二、多态性三、鸭子类型一、多态 多态是指一类事物有多种形态,比如动物类,可以有猫,狗,猪等等。(一个抽象类有多个子类,因而多态的概念依赖于继承) import abc class Animal(met...
    99+
    2022-06-02
    python 多态
  • 浅谈Shell中的函数
    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell也支持函数。Shell函数必须先定义后使用。 1.Shell函数的定义格式 可以带function关键字...
    99+
    2022-06-04
    shell 函数
  • 浅谈Vue中的this.$store.state.xx.xx
    目录Vue this.$store.state.xx.xx获取store中的数据我的项目文件结构vue项目都在什么时候用store.state、$store.state和this.$...
    99+
    2024-04-02
  • 浅谈MySQL中的group by
    目录1、前言 2、准备user表2.1 group by规则2.2 group by使用2.3 having使用2.4 order by与limit2.5 with rol...
    99+
    2024-04-02
  • PyTorch中dropout设置训练和测试模式的实现示例
    这篇文章主要介绍PyTorch中dropout设置训练和测试模式的实现示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!看代码吧~class Net(nn.Module):…model =&nbs...
    99+
    2023-06-15
  • 浅谈JavaScript中的parseInt()的妙用
    起因 写这篇博客的起因是今天在刷leetcode的每日一题,是一道字符串转换整数 (atoi)的题,感兴趣的话可以点击题目名称去看一下具体描述。在我多次debug终于成功提交之后,去...
    99+
    2024-04-02
  • 浅谈Node.js中的定时器
    Node.js中定时器的实现 上一篇博文提到,在Node中timer并不是通过新开线程来实现的,而是直接在event loop中完成。下面通过几个JavaScript的定时器示例以及Node相关源码来分析在...
    99+
    2022-06-04
    定时器 浅谈 Node
  • 浅谈python中的占位符
    占位符,顾名思义就是插在输出里站位的符号。我们可以把它理解成我们预定饭店。当我们告诉饭店的时候,饭店的系统里会有我们的预定位置。虽然我们现在没有去但是后来的顾客就排在我们后面。 常见的占位符有三种:   1...
    99+
    2022-06-04
    浅谈 python
  • 浅谈Java中的Queue家族
    目录Queue接口Queue的分类BlockingQueueDequeTransferQueueQueue接口 先看下Queue的继承关系和其中定义的方法: Queue继承自Col...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作