torch.nn.dropout和torch.nn.dropout2d的区别

本文介绍了PyTorch中的Dropout和Dropout2d两种正则化技术。Dropout随机按0.5的概率将输入张量的所有元素置为0,而Dropout2d则按0.5的概率对二维输入张量的每个通道进行零填充。通过实例展示了它们在操作上的不同,帮助理解这两种正则化方法在神经网络中的应用。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
import torch
import torch.nn as nn
import torch.autograd as autograd

m = nn.Dropout(p=0.5)
n = nn.Dropout2d(p=0.5)
input = autograd.Variable(torch.randn(2, 6, 3)) ## 对dim=1维进行随机置为0

print(m(input))
print('****************************************************')
print(n(input))

结果是:
在这里插入图片描述
可以看到torch.nn.Dropout对所有元素中每个元素按照概率0.5更改为零, 绿色椭圆,而torch.nn.Dropout2d是对每个通道按照概率0.5置为0, 红色方框内。
注:只是圈除了部分。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/appleml/article/details/88670580

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值