CifNetForImageClassification( (resnet): CifNetModel( (embedder): CifNetEmbeddings( (embedder): CifNetConvLayer( (convolution): Conv2d(3, 32, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) (normalization): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (pooler): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) ) (encoder): CifNetEncoder( (stages): ModuleList( (0): CifNetStage( (layers): Sequential( (0): CifNetBasicLayer( (shortcut): CifNetShortCut( (convolution): Conv2d(32, 128, kernel_size=(1, 1), stride=(2, 2), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(32, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) ) ) (1): CifNetStage( (layers): Sequential( (0): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (1): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (2): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (3): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) ) ) (2): CifNetStage( (layers): Sequential( (0): CifNetBasicLayer( (shortcut): CifNetShortCut( (convolution): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (1): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (2): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (3): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) ) ) (3): CifNetStage( (layers): Sequential( (0): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (1): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (2): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) (3): CifNetBasicLayer( (shortcut): Identity() (layer): Sequential( (0): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) (1): CifNetConvLayer( (convolution): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (normalization): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activation): SiLU() ) ) ) ) ) ) ) (pooler): AdaptiveAvgPool2d(output_size=(1, 1)) ) (classifier): Sequential( (0): Flatten(start_dim=1, end_dim=-1) (1): Linear(in_features=64, out_features=10, bias=True) ) ) ---------------------------------------------------------------- Layer (type) Output Shape Param # ================================================================ Conv2d-1 [4, 32, 112, 112] 4,704 BatchNorm2d-2 [4, 32, 112, 112] 64 SiLU-3 [4, 32, 112, 112] 0 CifNetConvLayer-4 [4, 32, 112, 112] 0 MaxPool2d-5 [4, 32, 56, 56] 0 CifNetEmbeddings-6 [4, 32, 56, 56] 0 Conv2d-7 [4, 128, 28, 28] 36,864 BatchNorm2d-8 [4, 128, 28, 28] 256 SiLU-9 [4, 128, 28, 28] 0 CifNetConvLayer-10 [4, 128, 28, 28] 0 Conv2d-11 [4, 128, 28, 28] 147,456 BatchNorm2d-12 [4, 128, 28, 28] 256 SiLU-13 [4, 128, 28, 28] 0 CifNetConvLayer-14 [4, 128, 28, 28] 0 Conv2d-15 [4, 128, 28, 28] 4,096 BatchNorm2d-16 [4, 128, 28, 28] 256 CifNetShortCut-17 [4, 128, 28, 28] 0 CifNetBasicLayer-18 [4, 128, 28, 28] 0 CifNetStage-19 [4, 128, 28, 28] 0 Conv2d-20 [4, 128, 28, 28] 147,456 BatchNorm2d-21 [4, 128, 28, 28] 256 SiLU-22 [4, 128, 28, 28] 0 CifNetConvLayer-23 [4, 128, 28, 28] 0 Conv2d-24 [4, 128, 28, 28] 147,456 BatchNorm2d-25 [4, 128, 28, 28] 256 SiLU-26 [4, 128, 28, 28] 0 CifNetConvLayer-27 [4, 128, 28, 28] 0 Identity-28 [4, 128, 28, 28] 0 CifNetBasicLayer-29 [4, 128, 28, 28] 0 Conv2d-30 [4, 128, 28, 28] 147,456 BatchNorm2d-31 [4, 128, 28, 28] 256 SiLU-32 [4, 128, 28, 28] 0 CifNetConvLayer-33 [4, 128, 28, 28] 0 Conv2d-34 [4, 128, 28, 28] 147,456 BatchNorm2d-35 [4, 128, 28, 28] 256 SiLU-36 [4, 128, 28, 28] 0 CifNetConvLayer-37 [4, 128, 28, 28] 0 Identity-38 [4, 128, 28, 28] 0 CifNetBasicLayer-39 [4, 128, 28, 28] 0 Conv2d-40 [4, 128, 28, 28] 147,456 BatchNorm2d-41 [4, 128, 28, 28] 256 SiLU-42 [4, 128, 28, 28] 0 CifNetConvLayer-43 [4, 128, 28, 28] 0 Conv2d-44 [4, 128, 28, 28] 147,456 BatchNorm2d-45 [4, 128, 28, 28] 256 SiLU-46 [4, 128, 28, 28] 0 CifNetConvLayer-47 [4, 128, 28, 28] 0 Identity-48 [4, 128, 28, 28] 0 CifNetBasicLayer-49 [4, 128, 28, 28] 0 Conv2d-50 [4, 128, 28, 28] 147,456 BatchNorm2d-51 [4, 128, 28, 28] 256 SiLU-52 [4, 128, 28, 28] 0 CifNetConvLayer-53 [4, 128, 28, 28] 0 Conv2d-54 [4, 128, 28, 28] 147,456 BatchNorm2d-55 [4, 128, 28, 28] 256 SiLU-56 [4, 128, 28, 28] 0 CifNetConvLayer-57 [4, 128, 28, 28] 0 Identity-58 [4, 128, 28, 28] 0 CifNetBasicLayer-59 [4, 128, 28, 28] 0 CifNetStage-60 [4, 128, 28, 28] 0 Conv2d-61 [4, 64, 28, 28] 73,728 BatchNorm2d-62 [4, 64, 28, 28] 128 SiLU-63 [4, 64, 28, 28] 0 CifNetConvLayer-64 [4, 64, 28, 28] 0 Conv2d-65 [4, 64, 28, 28] 36,864 BatchNorm2d-66 [4, 64, 28, 28] 128 SiLU-67 [4, 64, 28, 28] 0 CifNetConvLayer-68 [4, 64, 28, 28] 0 Conv2d-69 [4, 64, 28, 28] 8,192 BatchNorm2d-70 [4, 64, 28, 28] 128 CifNetShortCut-71 [4, 64, 28, 28] 0 CifNetBasicLayer-72 [4, 64, 28, 28] 0 Conv2d-73 [4, 64, 28, 28] 36,864 BatchNorm2d-74 [4, 64, 28, 28] 128 SiLU-75 [4, 64, 28, 28] 0 CifNetConvLayer-76 [4, 64, 28, 28] 0 Conv2d-77 [4, 64, 28, 28] 36,864 BatchNorm2d-78 [4, 64, 28, 28] 128 SiLU-79 [4, 64, 28, 28] 0 CifNetConvLayer-80 [4, 64, 28, 28] 0 Identity-81 [4, 64, 28, 28] 0 CifNetBasicLayer-82 [4, 64, 28, 28] 0 Conv2d-83 [4, 64, 28, 28] 36,864 BatchNorm2d-84 [4, 64, 28, 28] 128 SiLU-85 [4, 64, 28, 28] 0 CifNetConvLayer-86 [4, 64, 28, 28] 0 Conv2d-87 [4, 64, 28, 28] 36,864 BatchNorm2d-88 [4, 64, 28, 28] 128 SiLU-89 [4, 64, 28, 28] 0 CifNetConvLayer-90 [4, 64, 28, 28] 0 Identity-91 [4, 64, 28, 28] 0 CifNetBasicLayer-92 [4, 64, 28, 28] 0 Conv2d-93 [4, 64, 28, 28] 36,864 BatchNorm2d-94 [4, 64, 28, 28] 128 SiLU-95 [4, 64, 28, 28] 0 CifNetConvLayer-96 [4, 64, 28, 28] 0 Conv2d-97 [4, 64, 28, 28] 36,864 BatchNorm2d-98 [4, 64, 28, 28] 128 SiLU-99 [4, 64, 28, 28] 0 CifNetConvLayer-100 [4, 64, 28, 28] 0 Identity-101 [4, 64, 28, 28] 0 CifNetBasicLayer-102 [4, 64, 28, 28] 0 CifNetStage-103 [4, 64, 28, 28] 0 Conv2d-104 [4, 64, 28, 28] 36,864 BatchNorm2d-105 [4, 64, 28, 28] 128 SiLU-106 [4, 64, 28, 28] 0 CifNetConvLayer-107 [4, 64, 28, 28] 0 Conv2d-108 [4, 64, 28, 28] 36,864 BatchNorm2d-109 [4, 64, 28, 28] 128 SiLU-110 [4, 64, 28, 28] 0 CifNetConvLayer-111 [4, 64, 28, 28] 0 Identity-112 [4, 64, 28, 28] 0 CifNetBasicLayer-113 [4, 64, 28, 28] 0 Conv2d-114 [4, 64, 28, 28] 36,864 BatchNorm2d-115 [4, 64, 28, 28] 128 SiLU-116 [4, 64, 28, 28] 0 CifNetConvLayer-117 [4, 64, 28, 28] 0 Conv2d-118 [4, 64, 28, 28] 36,864 BatchNorm2d-119 [4, 64, 28, 28] 128 SiLU-120 [4, 64, 28, 28] 0 CifNetConvLayer-121 [4, 64, 28, 28] 0 Identity-122 [4, 64, 28, 28] 0 CifNetBasicLayer-123 [4, 64, 28, 28] 0 Conv2d-124 [4, 64, 28, 28] 36,864 BatchNorm2d-125 [4, 64, 28, 28] 128 SiLU-126 [4, 64, 28, 28] 0 CifNetConvLayer-127 [4, 64, 28, 28] 0 Conv2d-128 [4, 64, 28, 28] 36,864 BatchNorm2d-129 [4, 64, 28, 28] 128 SiLU-130 [4, 64, 28, 28] 0 CifNetConvLayer-131 [4, 64, 28, 28] 0 Identity-132 [4, 64, 28, 28] 0 CifNetBasicLayer-133 [4, 64, 28, 28] 0 Conv2d-134 [4, 64, 28, 28] 36,864 BatchNorm2d-135 [4, 64, 28, 28] 128 SiLU-136 [4, 64, 28, 28] 0 CifNetConvLayer-137 [4, 64, 28, 28] 0 Conv2d-138 [4, 64, 28, 28] 36,864 BatchNorm2d-139 [4, 64, 28, 28] 128 SiLU-140 [4, 64, 28, 28] 0 CifNetConvLayer-141 [4, 64, 28, 28] 0 Identity-142 [4, 64, 28, 28] 0 CifNetBasicLayer-143 [4, 64, 28, 28] 0 CifNetStage-144 [4, 64, 28, 28] 0 CifNetEncoder-145 [[-1, 64, 28, 28]] 0 AdaptiveAvgPool2d-146 [4, 64, 1, 1] 0 CifNetModel-147 [[-1, 64, 28, 28], [-1, 64, 1, 1]] 0 Flatten-148 [4, 64] 0 Linear-149 [4, 10] 650 ================================================================ Total params: 2,013,354 Trainable params: 2,013,354 Non-trainable params: 0 ---------------------------------------------------------------- Input size (MB): 2.30 Forward/backward pass size (MB): 373.25 Params size (MB): 7.68 Estimated Total Size (MB): 383.22 ----------------------------------------------------------------