用法介绍
Dropout主要的作用是在神经网络训练过程中防止模型过拟合。神经网络的输入单元是否归零服从伯努利分布,并以概率p p p随机地将神经网络的输入单元归零。pytorch中常见的关于Dropout的实现有两种方法分别是torch.nn.Dropout和torch.nn.Dropout2d,它们的区别在于torch.nn.Dropout是对所有输入单元按照特定概率归零,而torch.nn.Dropout2d是对每个通道的输入单元按照特定概率归零。它们具体详细的用法如下所示:
CLASS torch.nn.Dropout(p=0.5, inplace=False)
- p:所有输入单元归零的概率,默认值是0.5
- inplace:表示是否进行覆盖运算。如果设置为True表示直接对该tensor进行修改,默认值是False
CLASS torch.nn.Dropout2d(p=0.5, inplace=False)
- p:通道单元归零的概率,默认值是0.5
- inplace:表示是否进行覆盖运算。如果设置为True表示直接对该tensor进行修改,默认值是False
代码介绍
torch.nn.Dropout和torch.nn.Dropout2d的代码实例如下所示:
import torch
import torch.nn as nn
Dropout = nn.Dropout(p = 0.2)
Dropout2d = nn.Dropout2d(p = 0.2)
input_tensor = torch.randn(3, 4, 4)
print(Dropout(input_tensor))
print(Dropout2d(input_tensor))
Original: https://blog.csdn.net/qq_38406029/article/details/121884017
Author: 鬼道2022
Title: pytorch中的Dropout用法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/707979/
转载文章受原作者版权保护。转载请注明原作者出处!