Neural network 模型的层数

Neural network 模型的层数,neural-network,conv-neural-network,pytorch,Neural Network,Conv Neural Network,Pytorch,我在训练CNN。出于报告目的,我想了解模型的层数 从我在下面代码中看到的内容来看,我一共有6个层,第一层,第二层,第二层,第二层,fc1,fc2,fc3。我说得对吗 Net( (layer1): Sequential( (0): Conv2d(3, 10, kernel_size=(5, 5), stride=(1, 1)) (1): BatchNorm2d(10, eps=1e-05, momentum=0.1, affine=True, track_running_sta

我在训练CNN。出于报告目的,我想了解模型的层数

从我在下面代码中看到的内容来看,我一共有6个层,第一层,第二层,第二层,第二层,fc1,fc2,fc3。我说得对吗

Net(
  (layer1): Sequential(
    (0): Conv2d(3, 10, kernel_size=(5, 5), stride=(1, 1))
    (1): BatchNorm2d(10, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
    (4): Dropout(p=0.2, inplace=False)
  )
  (layer2): Sequential(
    (0): Conv2d(10, 20, kernel_size=(5, 5), stride=(1, 1))
    (1): BatchNorm2d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    (2): ReLU()
    (3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
    (4): Dropout(p=0.2, inplace=False)
  )
  (conv2_drop): Dropout2d(p=0.5, inplace=False)
  (fc1): Linear(in_features=500, out_features=250, bias=True)
  (fc2): Linear(in_features=250, out_features=50, bias=True)
  (fc3): Linear(in_features=50, out_features=10, bias=True)
)

我的NN是否有6层,或者第1层和第2层各自增加4层?总共有14层?

,我们不太清楚人们会考虑什么层(是<代码>扁平化< /代码>一层还是一个操作?如果它被实现为<代码> Trask.NN。模块< /代码>?)神经网络本质上是执行操作的图形,层是一种有用的抽象,它帮助我们对它们进行推理

在IMO的PyTorch中,它将是
torch.nn.Module
的单个实例,因此在本例中它将是
14
。更重要的是,<代码> BatchNorm <代码>被普遍认为是一个层,为了方便起见,我将考虑别人(<代码> Relu < /代码>,<代码> MpPOOL2D2<代码>,<代码>辍学< /代码>)。
在这种情况下,
layer1
layer2
更像是一个块(层堆栈)。尽管如此,您的
fc1
fc2
fc3
还是应该被IMO(注意,我再次使用了它)编码为另一个
块(可能包裹在
torch.nn.sequential
中)。

stackoverflow的一个弱点是,它很容易将各种各样的问题放入不同的筒仓中。。。我猜这就是为什么否决票。。。在兄弟论坛上发布CNN问题,你可能会得到更好的理解,但是我个人喜欢在这里被问到这些问题,所以。。。看看