pytorch | 打印网络结构

print

直接print就可以打印网络结构

model = resnet50(pretrained=True)
print(model)

但是这样有一点乱,如果结构复杂的话

在这里插入图片描述

torchinfo

安装这个库
pip install torchinfo

import torchinfo


model = resnet50(pretrained=True)
# 设置input_size  因为会为你计算参数量
torchinfo.summary(model=model,input_size=(16, 3, 224, 224))

打印结果如下:
在这里插入图片描述

==========================================================================================
Layer (type:depth-idx)                   Output Shape              Param #
==========================================================================================
ResNet                                   [16, 1000]                --
├─Conv2d: 1-1                            [16, 64, 112, 112]        9,408
├─BatchNorm2d: 1-2                       [16, 64, 112, 112]        128
├─ReLU: 1-3                              [16, 64, 112, 112]        --
├─MaxPool2d: 1-4                         [16, 64, 56, 56]          --
├─Sequential: 1-5                        [16, 256, 56, 56]         --
│    └─Bottleneck: 2-1                   [16, 256, 56, 56]         --
│    │    └─Conv2d: 3-1                  [16, 64, 56, 56]          4,096
│    │    └─BatchNorm2d: 3-2             [16, 64, 56, 56]          128
│    │    └─ReLU: 3-3                    [16, 64, 56, 56]          --
│    │    └─Conv2d: 3-4                  [16, 64, 56, 56]          36,864
│    │    └─BatchNorm2d: 3-5             [16, 64, 56, 56]          128
│    │    └─ReLU: 3-6                    [16, 64, 56, 56]          --
│    │    └─Conv2d: 3-7                  [16, 256, 56, 56]         16,384
│    │    └─BatchNorm2d: 3-8             [16, 256, 56, 56]         512
│    │    └─Sequential: 3-9              [16, 256, 56, 56]         16,896
│    │    └─ReLU: 3-10                   [16, 256, 56, 56]         --
│    └─Bottleneck: 2-2                   [16, 256, 56, 56]         --
│    │    └─Conv2d: 3-11                 [16, 64, 56, 56]          16,384
│    │    └─BatchNorm2d: 3-12            [16, 64, 56, 56]          128
│    │    └─ReLU: 3-13                   [16, 64, 56, 56]          --
│    │    └─Conv2d: 3-14                 [16, 64, 56, 56]          36,864
│    │    └─BatchNorm2d: 3-15            [16, 64, 56, 56]          128
│    │    └─ReLU: 3-16                   [16, 64, 56, 56]          --
│    │    └─Conv2d: 3-17                 [16, 256, 56, 56]         16,384
│    │    └─BatchNorm2d: 3-18            [16, 256, 56, 56]         512
│    │    └─ReLU: 3-19                   [16, 256, 56, 56]         --
│    └─Bottleneck: 2-3                   [16, 256, 56, 56]         --
│    │    └─Conv2d: 3-20                 [16, 64, 56, 56]          16,384
│    │    └─BatchNorm2d: 3-21            [16, 64, 56, 56]          128
│    │    └─ReLU: 3-22                   [16, 64, 56, 56]          --
│    │    └─Conv2d: 3-23                 [16, 64, 56, 56]          36,864
│    │    └─BatchNorm2d: 3-24            [16, 64, 56, 56]          128
│    │    └─ReLU: 3-25                   [16, 64, 56, 56]          --
│    │    └─Conv2d: 3-26                 [16, 256, 56, 56]         16,384
│    │    └─BatchNorm2d: 3-27            [16, 256, 56, 56]         512
│    │    └─ReLU: 3-28                   [16, 256, 56, 56]         --
├─Sequential: 1-6                        [16, 512, 28, 28]         --
│    └─Bottleneck: 2-4                   [16, 512, 28, 28]         --
│    │    └─Conv2d: 3-29                 [16, 128, 56, 56]         32,768
│    │    └─BatchNorm2d: 3-30            [16, 128, 56, 56]         256
│    │    └─ReLU: 3-31                   [16, 128, 56, 56]         --
│    │    └─Conv2d: 3-32                 [16, 128, 28, 28]         147,456
│    │    └─BatchNorm2d: 3-33            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-34                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-35                 [16, 512, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-36            [16, 512, 28, 28]         1,024
│    │    └─Sequential: 3-37             [16, 512, 28, 28]         132,096
│    │    └─ReLU: 3-38                   [16, 512, 28, 28]         --
│    └─Bottleneck: 2-5                   [16, 512, 28, 28]         --
│    │    └─Conv2d: 3-39                 [16, 128, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-40            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-41                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-42                 [16, 128, 28, 28]         147,456
│    │    └─BatchNorm2d: 3-43            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-44                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-45                 [16, 512, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-46            [16, 512, 28, 28]         1,024
│    │    └─ReLU: 3-47                   [16, 512, 28, 28]         --
│    └─Bottleneck: 2-6                   [16, 512, 28, 28]         --
│    │    └─Conv2d: 3-48                 [16, 128, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-49            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-50                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-51                 [16, 128, 28, 28]         147,456
│    │    └─BatchNorm2d: 3-52            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-53                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-54                 [16, 512, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-55            [16, 512, 28, 28]         1,024
│    │    └─ReLU: 3-56                   [16, 512, 28, 28]         --
│    └─Bottleneck: 2-7                   [16, 512, 28, 28]         --
│    │    └─Conv2d: 3-57                 [16, 128, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-58            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-59                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-60                 [16, 128, 28, 28]         147,456
│    │    └─BatchNorm2d: 3-61            [16, 128, 28, 28]         256
│    │    └─ReLU: 3-62                   [16, 128, 28, 28]         --
│    │    └─Conv2d: 3-63                 [16, 512, 28, 28]         65,536
│    │    └─BatchNorm2d: 3-64            [16, 512, 28, 28]         1,024
│    │    └─ReLU: 3-65                   [16, 512, 28, 28]         --
├─Sequential: 1-7                        [16, 1024, 14, 14]        --
│    └─Bottleneck: 2-8                   [16, 1024, 14, 14]        --
│    │    └─Conv2d: 3-66                 [16, 256, 28, 28]         131,072
│    │    └─BatchNorm2d: 3-67            [16, 256, 28, 28]         512
│    │    └─ReLU: 3-68                   [16, 256, 28, 28]         --
│    │    └─Conv2d: 3-69                 [16, 256, 14, 14]         589,824
│    │    └─BatchNorm2d: 3-70            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-71                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-72                 [16, 1024, 14, 14]        262,144
│    │    └─BatchNorm2d: 3-73            [16, 1024, 14, 14]        2,048
│    │    └─Sequential: 3-74             [16, 1024, 14, 14]        526,336
│    │    └─ReLU: 3-75                   [16, 1024, 14, 14]        --
│    └─Bottleneck: 2-9                   [16, 1024, 14, 14]        --
│    │    └─Conv2d: 3-76                 [16, 256, 14, 14]         262,144
│    │    └─BatchNorm2d: 3-77            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-78                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-79                 [16, 256, 14, 14]         589,824
│    │    └─BatchNorm2d: 3-80            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-81                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-82                 [16, 1024, 14, 14]        262,144
│    │    └─BatchNorm2d: 3-83            [16, 1024, 14, 14]        2,048
│    │    └─ReLU: 3-84                   [16, 1024, 14, 14]        --
│    └─Bottleneck: 2-10                  [16, 1024, 14, 14]        --
│    │    └─Conv2d: 3-85                 [16, 256, 14, 14]         262,144
│    │    └─BatchNorm2d: 3-86            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-87                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-88                 [16, 256, 14, 14]         589,824
│    │    └─BatchNorm2d: 3-89            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-90                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-91                 [16, 1024, 14, 14]        262,144
│    │    └─BatchNorm2d: 3-92            [16, 1024, 14, 14]        2,048
│    │    └─ReLU: 3-93                   [16, 1024, 14, 14]        --
│    └─Bottleneck: 2-11                  [16, 1024, 14, 14]        --
│    │    └─Conv2d: 3-94                 [16, 256, 14, 14]         262,144
│    │    └─BatchNorm2d: 3-95            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-96                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-97                 [16, 256, 14, 14]         589,824
│    │    └─BatchNorm2d: 3-98            [16, 256, 14, 14]         512
│    │    └─ReLU: 3-99                   [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-100                [16, 1024, 14, 14]        262,144
│    │    └─BatchNorm2d: 3-101           [16, 1024, 14, 14]        2,048
│    │    └─ReLU: 3-102                  [16, 1024, 14, 14]        --
│    └─Bottleneck: 2-12                  [16, 1024, 14, 14]        --
│    │    └─Conv2d: 3-103                [16, 256, 14, 14]         262,144
│    │    └─BatchNorm2d: 3-104           [16, 256, 14, 14]         512
│    │    └─ReLU: 3-105                  [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-106                [16, 256, 14, 14]         589,824
│    │    └─BatchNorm2d: 3-107           [16, 256, 14, 14]         512
│    │    └─ReLU: 3-108                  [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-109                [16, 1024, 14, 14]        262,144
│    │    └─BatchNorm2d: 3-110           [16, 1024, 14, 14]        2,048
│    │    └─ReLU: 3-111                  [16, 1024, 14, 14]        --
│    └─Bottleneck: 2-13                  [16, 1024, 14, 14]        --
│    │    └─Conv2d: 3-112                [16, 256, 14, 14]         262,144
│    │    └─BatchNorm2d: 3-113           [16, 256, 14, 14]         512
│    │    └─ReLU: 3-114                  [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-115                [16, 256, 14, 14]         589,824
│    │    └─BatchNorm2d: 3-116           [16, 256, 14, 14]         512
│    │    └─ReLU: 3-117                  [16, 256, 14, 14]         --
│    │    └─Conv2d: 3-118                [16, 1024, 14, 14]        262,144
│    │    └─BatchNorm2d: 3-119           [16, 1024, 14, 14]        2,048
│    │    └─ReLU: 3-120                  [16, 1024, 14, 14]        --
├─Sequential: 1-8                        [16, 2048, 7, 7]          --
│    └─Bottleneck: 2-14                  [16, 2048, 7, 7]          --
│    │    └─Conv2d: 3-121                [16, 512, 14, 14]         524,288
│    │    └─BatchNorm2d: 3-122           [16, 512, 14, 14]         1,024
│    │    └─ReLU: 3-123                  [16, 512, 14, 14]         --
│    │    └─Conv2d: 3-124                [16, 512, 7, 7]           2,359,296
│    │    └─BatchNorm2d: 3-125           [16, 512, 7, 7]           1,024
│    │    └─ReLU: 3-126                  [16, 512, 7, 7]           --
│    │    └─Conv2d: 3-127                [16, 2048, 7, 7]          1,048,576
│    │    └─BatchNorm2d: 3-128           [16, 2048, 7, 7]          4,096
│    │    └─Sequential: 3-129            [16, 2048, 7, 7]          2,101,248
│    │    └─ReLU: 3-130                  [16, 2048, 7, 7]          --
│    └─Bottleneck: 2-15                  [16, 2048, 7, 7]          --
│    │    └─Conv2d: 3-131                [16, 512, 7, 7]           1,048,576
│    │    └─BatchNorm2d: 3-132           [16, 512, 7, 7]           1,024
│    │    └─ReLU: 3-133                  [16, 512, 7, 7]           --
│    │    └─Conv2d: 3-134                [16, 512, 7, 7]           2,359,296
│    │    └─BatchNorm2d: 3-135           [16, 512, 7, 7]           1,024
│    │    └─ReLU: 3-136                  [16, 512, 7, 7]           --
│    │    └─Conv2d: 3-137                [16, 2048, 7, 7]          1,048,576
│    │    └─BatchNorm2d: 3-138           [16, 2048, 7, 7]          4,096
│    │    └─ReLU: 3-139                  [16, 2048, 7, 7]          --
│    └─Bottleneck: 2-16                  [16, 2048, 7, 7]          --
│    │    └─Conv2d: 3-140                [16, 512, 7, 7]           1,048,576
│    │    └─BatchNorm2d: 3-141           [16, 512, 7, 7]           1,024
│    │    └─ReLU: 3-142                  [16, 512, 7, 7]           --
│    │    └─Conv2d: 3-143                [16, 512, 7, 7]           2,359,296
│    │    └─BatchNorm2d: 3-144           [16, 512, 7, 7]           1,024
│    │    └─ReLU: 3-145                  [16, 512, 7, 7]           --
│    │    └─Conv2d: 3-146                [16, 2048, 7, 7]          1,048,576
│    │    └─BatchNorm2d: 3-147           [16, 2048, 7, 7]          4,096
│    │    └─ReLU: 3-148                  [16, 2048, 7, 7]          --
├─AdaptiveAvgPool2d: 1-9                 [16, 2048, 1, 1]          --
├─Linear: 1-10                           [16, 1000]                2,049,000
==========================================================================================
Total params: 25,557,032
Trainable params: 25,557,032
Non-trainable params: 0
Total mult-adds (G): 65.43
==========================================================================================
Input size (MB): 9.63
Forward/backward pass size (MB): 2845.31
Params size (MB): 102.23
Estimated Total Size (MB): 2957.17
==========================================================================================

猜你喜欢

转载自blog.csdn.net/holly_Z_P_F/article/details/130012706