首页 > 其他分享 >torch.nn.Dropout()

torch.nn.Dropout()

时间:2022-08-16 16:00:46浏览次数:83  
标签:nn Dropout torch 0.5 inplace 0.0000

1. torch.nn.Dropout()

class torch.nn.Dropout(p=0.5, inplace=False)

随机将输入张量中部分元素设置为 \(0\)。对于每次前向调用,被置 \(0\) 的元素都是随机的。

参数:

  • p:将元素置 \(0\) 的概率。(默认:0.5)
  • inplace:设置为 \(True\),会在原地执行操作。(默认:\(False\))

示例:

import torch
from torch import nn, autograd

m = nn.Dropout(p=0.5)
input = autograd.Variable(torch.randn(4, 4))
output = m(input)
print(output)
tensor([[ 2.3192,  0.0000,  0.0000, -0.0000],
        [ 0.0000,  0.3854, -1.9737, -0.0000],
        [-2.8518, -0.7907, -1.2949, -0.0000],
        [-0.0000, -3.0302, -0.0000, -0.0000]])

2. torch.nn.Dropout2d()

class torch.nn.Dropout2d(p=0.5, inplace=False)

随机将输入张量中整个通道设置为 \(0\)。对于每次前向调用,被置 \(0\) 的通道都是随机的。

通常输入来自 \(Conv2d\) 模块。

如果特征图中相邻像素是强相关的(在前几层卷集层很常见),那么nn.Dropout不会归一化激活,而只会降低学习率。

在这种情形下,nn.Dropout2d()可以提高特征图之间的独立程度,所以应该使用它。

参数:

  • p (\(float,optional\)):将元素置 \(0\) 的概率。(默认:0.5)
  • inplace (\(bool, optional\)):设置为 \(True\),会在原地执行操作。(默认:\(False\))

形状:

  • 输入:\(((N, C,H,W))\)
  • 输出:\(((N, C,H,W))\)(与输入相同)

示例:

import torch
from torch import nn, autograd

m = nn.Dropout2d(p=0.2)
input = autograd.Variable(torch.randn(2, 3, 2, 2))
output = m(input)
print(output)
tensor([[[[-0.2310,  0.2985],
          [-1.1936, -0.7231]],

         [[-0.7498,  0.2923],
          [-0.2470, -0.7570]],

         [[ 2.0942, -0.2796],
          [ 0.7177,  3.7006]]],


        [[[-0.0000, -0.0000],
          [-0.0000,  0.0000]],

         [[ 0.1563,  0.9973],
          [ 0.8000,  1.1723]],

         [[-0.1494,  0.2946],
          [-0.4893, -0.3955]]]])


来自:Dropout layers

标签:nn,Dropout,torch,0.5,inplace,0.0000
From: https://www.cnblogs.com/keye/p/16591856.html

相关文章

  • PyTorch 环境配置及安装
    目录1.创建Python子环境:2.Pytorch的安装2.1.查看电脑GPU支持的CUDA版本2.2.CUDA驱动检查2.3.Pytorch包下载(GPU)2.4.检查安装3.JupyterNotebook1.创建P......
  • torch.utils.data
    classtorch.utils.data.Dataset表示\(Dataset\)的抽象类。所有其他数据集都应该进行子类化。所以子类应该覆写__len__和__getitem__,前者提供了数据集的大小,后者支持......
  • doris-flink-connect1.14.5编译及问题处理
    1前提条件编译源码来自https://github.com/apache/doris-flink-connector,日期2022-08-161.1版本dorisflinkJDK1.1.11.14.51.81.2是否独立编译没有......
  • Spring 高级 AutowiredAnnotationBeanPostProcessor 运行分析
    1、AutowiredAnnotationBeanPostProcessor运行分析AutowiredAnnotationBeanPostProcessor的作用:AutowiredAnnotationBeanPostProcessor解析@Autowired与@Value----......
  • C++版DNN最简主体框架
    附属代码:Matconvolution(Mat&delt,Mat&w,floatbias=0,intflp=0){Matdst;Matw_r180,delt_r180;switch(flp){case0://如果flp==0,只对w翻......
  • Navicat 1451 Cannot delete or update aparent row: a foreign key constraint fails
    如下图,全选后删除不了  原因:外键约束导致的. 解决:先将外键所在行删除,ctrl+s,再全选中删除. ......
  • autodl-训练HGNN
    报错情况: 一开始以为是yaml版本不对,后来从代码处入手:参考:(92条消息)[报错]yaml.constructor.ConstructorError:couldnotdetermineaconstructorforthetag‘ta......
  • connect (2)
    Anelectricalconnectorisanelectromechanicaldeviceusedtojoinelectricalconductorsandcreateanelectricalcircuit.Mostelectricalconnectorshaveag......
  • connect
    connect[Origin:connectere,fromcom-+nectere'totie']Anecktieortieisanarrowpieceofcloththatsomeone,usuallyaman,putsunderhisshirtcollar......
  • 1. Pytorch - 初识
    1.1学习动机2020-2022,Pytorch框架已经陪伴我两年,它是我研究生生活中必不可少的工具,在研究生最后的一年时光以及未来的工作中也同样是必不可少的工具。现已秋招,......