Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

googlenet layer info is incorrect #97

Closed
xiangyun-hz opened this issue Nov 15, 2021 · 3 comments
Closed

googlenet layer info is incorrect #97

xiangyun-hz opened this issue Nov 15, 2021 · 3 comments

Comments

@xiangyun-hz
Copy link

Describe the bug
the torchinfo of googlenet is not match with print(geegolenet)

main.py
#! /usr/bin/env python3
#! -- coding: utf-8 --

import torch
import torchvision.models as models
from torchinfo import summary

if name == 'main':
print(torch.version)

model = models.googlenet()
print(model)
model_stats = summary(model, (1, 3, 112, 112), depth=500, verbose=1)
print(model_stats)

log:
1.10.0+cu113
/usr/local/lib/python3.6/dist-packages/torchvision/models/googlenet.py:80: FutureWarning: The default weight initialization of GoogleNet will be changed in future releases of torchvision. If you wish to keep the old behavior (which leads to long initialization times due to scipy/scipy#11299), please set init_weights=True.
' due to scipy/scipy#11299), please set init_weights=True.', FutureWarning)
GoogLeNet(
(conv1): BasicConv2d(
(conv): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(maxpool1): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)
(conv2): BasicConv2d(
(conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(conv3): BasicConv2d(
(conv): Conv2d(64, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(maxpool2): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)
(inception3a): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(192, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(192, 96, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(96, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(192, 16, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(16, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(inception3b): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(128, 192, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(256, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(32, 96, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(maxpool3): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=True)
(inception4a): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(480, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(480, 96, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(96, 208, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(208, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(480, 16, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(16, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(16, 48, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(480, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(inception4b): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(512, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(512, 112, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(112, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(112, 224, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(224, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(512, 24, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(24, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(24, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(inception4c): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(512, 24, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(24, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(24, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(inception4d): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(512, 112, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(112, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(512, 144, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(144, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(144, 288, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(288, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(512, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(512, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(inception4e): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(528, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(528, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(160, 320, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(320, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(528, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(32, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(528, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(maxpool4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=True)
(inception5a): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(832, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(256, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(832, 160, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(160, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(160, 320, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(320, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(832, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(32, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(832, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(inception5b): Inception(
(branch1): BasicConv2d(
(conv): Conv2d(832, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(branch2): Sequential(
(0): BasicConv2d(
(conv): Conv2d(832, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(192, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(192, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch3): Sequential(
(0): BasicConv2d(
(conv): Conv2d(832, 48, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(1): BasicConv2d(
(conv): Conv2d(48, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
(branch4): Sequential(
(0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=True)
(1): BasicConv2d(
(conv): Conv2d(832, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
)
)
(aux1): InceptionAux(
(conv): BasicConv2d(
(conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(fc1): Linear(in_features=2048, out_features=1024, bias=True)
(fc2): Linear(in_features=1024, out_features=1000, bias=True)
)
(aux2): InceptionAux(
(conv): BasicConv2d(
(conv): Conv2d(528, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn): BatchNorm2d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
)
(fc1): Linear(in_features=2048, out_features=1024, bias=True)
(fc2): Linear(in_features=1024, out_features=1000, bias=True)
)
(avgpool): AdaptiveAvgPool2d(output_size=(1, 1))
(dropout): Dropout(p=0.2, inplace=False)
(fc): Linear(in_features=1024, out_features=1000, bias=True)
)

==========================================================================================
Layer (type:depth-idx) Output Shape Param #

GoogLeNet -- --
├─BasicConv2d: 1-1 [1, 64, 56, 56] --
│ └─Conv2d: 2-1 [1, 64, 56, 56] 9,408
│ └─BatchNorm2d: 2-2 [1, 64, 56, 56] 128
├─MaxPool2d: 1-2 [1, 64, 28, 28] --
├─BasicConv2d: 1-3 [1, 64, 28, 28] --
│ └─Conv2d: 2-3 [1, 64, 28, 28] 4,096
│ └─BatchNorm2d: 2-4 [1, 64, 28, 28] 128
├─BasicConv2d: 1-4 [1, 192, 28, 28] --
│ └─Conv2d: 2-5 [1, 192, 28, 28] 110,592
│ └─BatchNorm2d: 2-6 [1, 192, 28, 28] 384
├─MaxPool2d: 1-5 [1, 192, 14, 14] --
├─Inception: 1-6 [1, 256, 14, 14] --
│ └─BasicConv2d: 2-7 [1, 64, 14, 14] --
│ │ └─Conv2d: 3-1 [1, 64, 14, 14] 12,288
│ │ └─BatchNorm2d: 3-2 [1, 64, 14, 14] 128
│ └─Sequential: 2-8 [1, 128, 14, 14] --
│ │ └─BasicConv2d: 3-3 [1, 96, 14, 14] --
│ │ │ └─Conv2d: 4-1 [1, 96, 14, 14] 18,432
│ │ │ └─BatchNorm2d: 4-2 [1, 96, 14, 14] 192
│ │ └─BasicConv2d: 3-4 [1, 128, 14, 14] --
│ │ │ └─Conv2d: 4-3 [1, 128, 14, 14] 110,592
│ │ │ └─BatchNorm2d: 4-4 [1, 128, 14, 14] 256
│ └─Sequential: 2-9 [1, 32, 14, 14] --
│ │ └─BasicConv2d: 3-5 [1, 16, 14, 14] --
│ │ │ └─Conv2d: 4-5 [1, 16, 14, 14] 3,072
│ │ │ └─BatchNorm2d: 4-6 [1, 16, 14, 14] 32
│ │ └─BasicConv2d: 3-6 [1, 32, 14, 14] --
│ │ │ └─Conv2d: 4-7 [1, 32, 14, 14] 4,608
│ │ │ └─BatchNorm2d: 4-8 [1, 32, 14, 14] 64
│ └─Sequential: 2-10 [1, 32, 14, 14] --
│ │ └─MaxPool2d: 3-7 [1, 192, 14, 14] --
│ │ └─BasicConv2d: 3-8 [1, 32, 14, 14] --
│ │ │ └─Conv2d: 4-9 [1, 32, 14, 14] 6,144
│ │ │ └─BatchNorm2d: 4-10 [1, 32, 14, 14] 64
├─Inception: 1-7 [1, 480, 14, 14] --
│ └─BasicConv2d: 2-11 [1, 128, 14, 14] --
│ │ └─Conv2d: 3-9 [1, 128, 14, 14] 32,768
│ │ └─BatchNorm2d: 3-10 [1, 128, 14, 14] 256
│ └─Sequential: 2-12 [1, 192, 14, 14] --
│ │ └─BasicConv2d: 3-11 [1, 128, 14, 14] --
│ │ │ └─Conv2d: 4-11 [1, 128, 14, 14] 32,768
│ │ │ └─BatchNorm2d: 4-12 [1, 128, 14, 14] 256
│ │ └─BasicConv2d: 3-12 [1, 192, 14, 14] --
│ │ │ └─Conv2d: 4-13 [1, 192, 14, 14] 221,184
│ │ │ └─BatchNorm2d: 4-14 [1, 192, 14, 14] 384
│ └─Sequential: 2-13 [1, 96, 14, 14] --
│ │ └─BasicConv2d: 3-13 [1, 32, 14, 14] --
│ │ │ └─Conv2d: 4-15 [1, 32, 14, 14] 8,192
│ │ │ └─BatchNorm2d: 4-16 [1, 32, 14, 14] 64
│ │ └─BasicConv2d: 3-14 [1, 96, 14, 14] --
│ │ │ └─Conv2d: 4-17 [1, 96, 14, 14] 27,648
│ │ │ └─BatchNorm2d: 4-18 [1, 96, 14, 14] 192
│ └─Sequential: 2-14 [1, 64, 14, 14] --
│ │ └─MaxPool2d: 3-15 [1, 256, 14, 14] --
│ │ └─BasicConv2d: 3-16 [1, 64, 14, 14] --
│ │ │ └─Conv2d: 4-19 [1, 64, 14, 14] 16,384
│ │ │ └─BatchNorm2d: 4-20 [1, 64, 14, 14] 128
├─MaxPool2d: 1-8 [1, 480, 7, 7] --
├─Inception: 1-9 [1, 512, 7, 7] --
│ └─BasicConv2d: 2-15 [1, 192, 7, 7] --
│ │ └─Conv2d: 3-17 [1, 192, 7, 7] 92,160
│ │ └─BatchNorm2d: 3-18 [1, 192, 7, 7] 384
│ └─Sequential: 2-16 [1, 208, 7, 7] --
│ │ └─BasicConv2d: 3-19 [1, 96, 7, 7] --
│ │ │ └─Conv2d: 4-21 [1, 96, 7, 7] 46,080
│ │ │ └─BatchNorm2d: 4-22 [1, 96, 7, 7] 192
│ │ └─BasicConv2d: 3-20 [1, 208, 7, 7] --
│ │ │ └─Conv2d: 4-23 [1, 208, 7, 7] 179,712
│ │ │ └─BatchNorm2d: 4-24 [1, 208, 7, 7] 416
│ └─Sequential: 2-17 [1, 48, 7, 7] --
│ │ └─BasicConv2d: 3-21 [1, 16, 7, 7] --
│ │ │ └─Conv2d: 4-25 [1, 16, 7, 7] 7,680
│ │ │ └─BatchNorm2d: 4-26 [1, 16, 7, 7] 32
│ │ └─BasicConv2d: 3-22 [1, 48, 7, 7] --
│ │ │ └─Conv2d: 4-27 [1, 48, 7, 7] 6,912
│ │ │ └─BatchNorm2d: 4-28 [1, 48, 7, 7] 96
│ └─Sequential: 2-18 [1, 64, 7, 7] --
│ │ └─MaxPool2d: 3-23 [1, 480, 7, 7] --
│ │ └─BasicConv2d: 3-24 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-29 [1, 64, 7, 7] 30,720
│ │ │ └─BatchNorm2d: 4-30 [1, 64, 7, 7] 128
├─Inception: 1-10 [1, 512, 7, 7] --
│ └─BasicConv2d: 2-19 [1, 160, 7, 7] --
│ │ └─Conv2d: 3-25 [1, 160, 7, 7] 81,920
│ │ └─BatchNorm2d: 3-26 [1, 160, 7, 7] 320
│ └─Sequential: 2-20 [1, 224, 7, 7] --
│ │ └─BasicConv2d: 3-27 [1, 112, 7, 7] --
│ │ │ └─Conv2d: 4-31 [1, 112, 7, 7] 57,344
│ │ │ └─BatchNorm2d: 4-32 [1, 112, 7, 7] 224
│ │ └─BasicConv2d: 3-28 [1, 224, 7, 7] --
│ │ │ └─Conv2d: 4-33 [1, 224, 7, 7] 225,792
│ │ │ └─BatchNorm2d: 4-34 [1, 224, 7, 7] 448
│ └─Sequential: 2-21 [1, 64, 7, 7] --
│ │ └─BasicConv2d: 3-29 [1, 24, 7, 7] --
│ │ │ └─Conv2d: 4-35 [1, 24, 7, 7] 12,288
│ │ │ └─BatchNorm2d: 4-36 [1, 24, 7, 7] 48
│ │ └─BasicConv2d: 3-30 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-37 [1, 64, 7, 7] 13,824
│ │ │ └─BatchNorm2d: 4-38 [1, 64, 7, 7] 128
│ └─Sequential: 2-22 [1, 64, 7, 7] --
│ │ └─MaxPool2d: 3-31 [1, 512, 7, 7] --
│ │ └─BasicConv2d: 3-32 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-39 [1, 64, 7, 7] 32,768
│ │ │ └─BatchNorm2d: 4-40 [1, 64, 7, 7] 128
├─Inception: 1-11 [1, 512, 7, 7] --
│ └─BasicConv2d: 2-23 [1, 128, 7, 7] --
│ │ └─Conv2d: 3-33 [1, 128, 7, 7] 65,536
│ │ └─BatchNorm2d: 3-34 [1, 128, 7, 7] 256
│ └─Sequential: 2-24 [1, 256, 7, 7] --
│ │ └─BasicConv2d: 3-35 [1, 128, 7, 7] --
│ │ │ └─Conv2d: 4-41 [1, 128, 7, 7] 65,536
│ │ │ └─BatchNorm2d: 4-42 [1, 128, 7, 7] 256
│ │ └─BasicConv2d: 3-36 [1, 256, 7, 7] --
│ │ │ └─Conv2d: 4-43 [1, 256, 7, 7] 294,912
│ │ │ └─BatchNorm2d: 4-44 [1, 256, 7, 7] 512
│ └─Sequential: 2-25 [1, 64, 7, 7] --
│ │ └─BasicConv2d: 3-37 [1, 24, 7, 7] --
│ │ │ └─Conv2d: 4-45 [1, 24, 7, 7] 12,288
│ │ │ └─BatchNorm2d: 4-46 [1, 24, 7, 7] 48
│ │ └─BasicConv2d: 3-38 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-47 [1, 64, 7, 7] 13,824
│ │ │ └─BatchNorm2d: 4-48 [1, 64, 7, 7] 128
│ └─Sequential: 2-26 [1, 64, 7, 7] --
│ │ └─MaxPool2d: 3-39 [1, 512, 7, 7] --
│ │ └─BasicConv2d: 3-40 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-49 [1, 64, 7, 7] 32,768
│ │ │ └─BatchNorm2d: 4-50 [1, 64, 7, 7] 128
├─Inception: 1-12 [1, 528, 7, 7] --
│ └─BasicConv2d: 2-27 [1, 112, 7, 7] --
│ │ └─Conv2d: 3-41 [1, 112, 7, 7] 57,344
│ │ └─BatchNorm2d: 3-42 [1, 112, 7, 7] 224
│ └─Sequential: 2-28 [1, 288, 7, 7] --
│ │ └─BasicConv2d: 3-43 [1, 144, 7, 7] --
│ │ │ └─Conv2d: 4-51 [1, 144, 7, 7] 73,728
│ │ │ └─BatchNorm2d: 4-52 [1, 144, 7, 7] 288
│ │ └─BasicConv2d: 3-44 [1, 288, 7, 7] --
│ │ │ └─Conv2d: 4-53 [1, 288, 7, 7] 373,248
│ │ │ └─BatchNorm2d: 4-54 [1, 288, 7, 7] 576
│ └─Sequential: 2-29 [1, 64, 7, 7] --
│ │ └─BasicConv2d: 3-45 [1, 32, 7, 7] --
│ │ │ └─Conv2d: 4-55 [1, 32, 7, 7] 16,384
│ │ │ └─BatchNorm2d: 4-56 [1, 32, 7, 7] 64
│ │ └─BasicConv2d: 3-46 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-57 [1, 64, 7, 7] 18,432
│ │ │ └─BatchNorm2d: 4-58 [1, 64, 7, 7] 128
│ └─Sequential: 2-30 [1, 64, 7, 7] --
│ │ └─MaxPool2d: 3-47 [1, 512, 7, 7] --
│ │ └─BasicConv2d: 3-48 [1, 64, 7, 7] --
│ │ │ └─Conv2d: 4-59 [1, 64, 7, 7] 32,768
│ │ │ └─BatchNorm2d: 4-60 [1, 64, 7, 7] 128
├─Inception: 1-13 [1, 832, 7, 7] --
│ └─BasicConv2d: 2-31 [1, 256, 7, 7] --
│ │ └─Conv2d: 3-49 [1, 256, 7, 7] 135,168
│ │ └─BatchNorm2d: 3-50 [1, 256, 7, 7] 512
│ └─Sequential: 2-32 [1, 320, 7, 7] --
│ │ └─BasicConv2d: 3-51 [1, 160, 7, 7] --
│ │ │ └─Conv2d: 4-61 [1, 160, 7, 7] 84,480
│ │ │ └─BatchNorm2d: 4-62 [1, 160, 7, 7] 320
│ │ └─BasicConv2d: 3-52 [1, 320, 7, 7] --
│ │ │ └─Conv2d: 4-63 [1, 320, 7, 7] 460,800
│ │ │ └─BatchNorm2d: 4-64 [1, 320, 7, 7] 640
│ └─Sequential: 2-33 [1, 128, 7, 7] --
│ │ └─BasicConv2d: 3-53 [1, 32, 7, 7] --
│ │ │ └─Conv2d: 4-65 [1, 32, 7, 7] 16,896
│ │ │ └─BatchNorm2d: 4-66 [1, 32, 7, 7] 64
│ │ └─BasicConv2d: 3-54 [1, 128, 7, 7] --
│ │ │ └─Conv2d: 4-67 [1, 128, 7, 7] 36,864
│ │ │ └─BatchNorm2d: 4-68 [1, 128, 7, 7] 256
│ └─Sequential: 2-34 [1, 128, 7, 7] --
│ │ └─MaxPool2d: 3-55 [1, 528, 7, 7] --
│ │ └─BasicConv2d: 3-56 [1, 128, 7, 7] --
│ │ │ └─Conv2d: 4-69 [1, 128, 7, 7] 67,584
│ │ │ └─BatchNorm2d: 4-70 [1, 128, 7, 7] 256
├─MaxPool2d: 1-14 [1, 832, 4, 4] --
├─Inception: 1-15 [1, 832, 4, 4] --
│ └─BasicConv2d: 2-35 [1, 256, 4, 4] --
│ │ └─Conv2d: 3-57 [1, 256, 4, 4] 212,992
│ │ └─BatchNorm2d: 3-58 [1, 256, 4, 4] 512
│ └─Sequential: 2-36 [1, 320, 4, 4] --
│ │ └─BasicConv2d: 3-59 [1, 160, 4, 4] --
│ │ │ └─Conv2d: 4-71 [1, 160, 4, 4] 133,120
│ │ │ └─BatchNorm2d: 4-72 [1, 160, 4, 4] 320
│ │ └─BasicConv2d: 3-60 [1, 320, 4, 4] --
│ │ │ └─Conv2d: 4-73 [1, 320, 4, 4] 460,800
│ │ │ └─BatchNorm2d: 4-74 [1, 320, 4, 4] 640
│ └─Sequential: 2-37 [1, 128, 4, 4] --
│ │ └─BasicConv2d: 3-61 [1, 32, 4, 4] --
│ │ │ └─Conv2d: 4-75 [1, 32, 4, 4] 26,624
│ │ │ └─BatchNorm2d: 4-76 [1, 32, 4, 4] 64
│ │ └─BasicConv2d: 3-62 [1, 128, 4, 4] --
│ │ │ └─Conv2d: 4-77 [1, 128, 4, 4] 36,864
│ │ │ └─BatchNorm2d: 4-78 [1, 128, 4, 4] 256
│ └─Sequential: 2-38 [1, 128, 4, 4] --
│ │ └─MaxPool2d: 3-63 [1, 832, 4, 4] --
│ │ └─BasicConv2d: 3-64 [1, 128, 4, 4] --
│ │ │ └─Conv2d: 4-79 [1, 128, 4, 4] 106,496
│ │ │ └─BatchNorm2d: 4-80 [1, 128, 4, 4] 256
├─Inception: 1-16 [1, 1024, 4, 4] --
│ └─BasicConv2d: 2-39 [1, 384, 4, 4] --
│ │ └─Conv2d: 3-65 [1, 384, 4, 4] 319,488
│ │ └─BatchNorm2d: 3-66 [1, 384, 4, 4] 768
│ └─Sequential: 2-40 [1, 384, 4, 4] --
│ │ └─BasicConv2d: 3-67 [1, 192, 4, 4] --
│ │ │ └─Conv2d: 4-81 [1, 192, 4, 4] 159,744
│ │ │ └─BatchNorm2d: 4-82 [1, 192, 4, 4] 384
│ │ └─BasicConv2d: 3-68 [1, 384, 4, 4] --
│ │ │ └─Conv2d: 4-83 [1, 384, 4, 4] 663,552
│ │ │ └─BatchNorm2d: 4-84 [1, 384, 4, 4] 768
│ └─Sequential: 2-41 [1, 128, 4, 4] --
│ │ └─BasicConv2d: 3-69 [1, 48, 4, 4] --
│ │ │ └─Conv2d: 4-85 [1, 48, 4, 4] 39,936
│ │ │ └─BatchNorm2d: 4-86 [1, 48, 4, 4] 96
│ │ └─BasicConv2d: 3-70 [1, 128, 4, 4] --
│ │ │ └─Conv2d: 4-87 [1, 128, 4, 4] 55,296
│ │ │ └─BatchNorm2d: 4-88 [1, 128, 4, 4] 256
│ └─Sequential: 2-42 [1, 128, 4, 4] --
│ │ └─MaxPool2d: 3-71 [1, 832, 4, 4] --
│ │ └─BasicConv2d: 3-72 [1, 128, 4, 4] --
│ │ │ └─Conv2d: 4-89 [1, 128, 4, 4] 106,496
│ │ │ └─BatchNorm2d: 4-90 [1, 128, 4, 4] 256
├─AdaptiveAvgPool2d: 1-17 [1, 1024, 1, 1] --
├─Dropout: 1-18 [1, 1024] --
├─Linear: 1-19 [1, 1000] 1,025,000

Total params: 6,624,904
Trainable params: 6,624,904
Non-trainable params: 0
Total mult-adds (M): 384.08

Input size (MB): 0.15
Forward/backward pass size (MB): 13.05
Params size (MB): 26.50
Estimated Total Size (MB): 39.70

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'python3 main.py'
  2. look at the log, thr torch info of list is not match print,such as the num of Linear
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [ubuntu18.04]
  • Browser [e.g. chrome, safari]
  • Version [1.5.3]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

@xiangyun-hz
Copy link
Author

In other owrds, two InceptionAux structs is missing.

@TylerYep
Copy link
Owner

Thank you for opening this. I can confirm this is an issue and am investigating a fix.

@TylerYep
Copy link
Owner

This has been resolved in 71e89b6 and will be released into v1.6.2!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants