差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 人工智能:视觉:efficientvit:efficientvit-模型结构 [2026/01/26 02:37] – 创建 ctbots | 人工智能:视觉:efficientvit:efficientvit-模型结构 [2026/01/27 07:29] (当前版本) – ctbots | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== | + | ====== |
| - | ===== fficientvit | + | ===== efficientvit |
| + | baseline版本: | ||
| < | < | ||
| EfficientVit( | EfficientVit( | ||
| 行 407: | 行 408: | ||
| ) | ) | ||
| ) | ) | ||
| + | ) | ||
| + | </ | ||
| + | |||
| + | large版本模型 | ||
| + | < | ||
| + | EfficientVitLarge( | ||
| + | (stem): Stem( | ||
| + | (in_conv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3, 32, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(32, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (res0): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): ConvBlock( | ||
| + | (conv1): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(32, 32, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(32, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (conv2): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(32, 32, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(32, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (stages): Sequential( | ||
| + | (0): EfficientVitLargeStage( | ||
| + | (blocks): Sequential( | ||
| + | (0): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): FusedMBConv( | ||
| + | (spatial_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(32, 512, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 64, kernel_size=(1, | ||
| + | (norm): BatchNorm2d(64, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (1): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): FusedMBConv( | ||
| + | (spatial_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(64, 256, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 64, kernel_size=(1, | ||
| + | (norm): BatchNorm2d(64, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (1): EfficientVitLargeStage( | ||
| + | (blocks): Sequential( | ||
| + | (0): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): FusedMBConv( | ||
| + | (spatial_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(64, 1024, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(1024, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(128, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (1): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): FusedMBConv( | ||
| + | (spatial_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(128, 512, kernel_size=(3, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 128, kernel_size=(1, | ||
| + | (norm): BatchNorm2d(128, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (2): EfficientVitLargeStage( | ||
| + | (blocks): Sequential( | ||
| + | (0): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(128, 2048, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(2048, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(2048, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (1): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 1024, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (2): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 1024, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (3): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 1024, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (4): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 1024, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (5): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 1024, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (6): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 1024, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(256, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (3): EfficientVitLargeStage( | ||
| + | (blocks): Sequential( | ||
| + | (0): ResidualBlock( | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(256, 6144, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(6144, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(6144, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (1): EfficientVitBlock( | ||
| + | (context_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): LiteMLA( | ||
| + | (qkv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 1536, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | (aggreg): ModuleList( | ||
| + | (0): Sequential( | ||
| + | (0): Conv2d(1536, | ||
| + | (1): Conv2d(1536, | ||
| + | ) | ||
| + | ) | ||
| + | (kernel_func): | ||
| + | (proj): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (local_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (2): EfficientVitBlock( | ||
| + | (context_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): LiteMLA( | ||
| + | (qkv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 1536, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | (aggreg): ModuleList( | ||
| + | (0): Sequential( | ||
| + | (0): Conv2d(1536, | ||
| + | (1): Conv2d(1536, | ||
| + | ) | ||
| + | ) | ||
| + | (kernel_func): | ||
| + | (proj): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (local_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (3): EfficientVitBlock( | ||
| + | (context_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): LiteMLA( | ||
| + | (qkv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 1536, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | (aggreg): ModuleList( | ||
| + | (0): Sequential( | ||
| + | (0): Conv2d(1536, | ||
| + | (1): Conv2d(1536, | ||
| + | ) | ||
| + | ) | ||
| + | (kernel_func): | ||
| + | (proj): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (local_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (4): EfficientVitBlock( | ||
| + | (context_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): LiteMLA( | ||
| + | (qkv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 1536, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | (aggreg): ModuleList( | ||
| + | (0): Sequential( | ||
| + | (0): Conv2d(1536, | ||
| + | (1): Conv2d(1536, | ||
| + | ) | ||
| + | ) | ||
| + | (kernel_func): | ||
| + | (proj): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (local_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (5): EfficientVitBlock( | ||
| + | (context_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): LiteMLA( | ||
| + | (qkv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 1536, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | (aggreg): ModuleList( | ||
| + | (0): Sequential( | ||
| + | (0): Conv2d(1536, | ||
| + | (1): Conv2d(1536, | ||
| + | ) | ||
| + | ) | ||
| + | (kernel_func): | ||
| + | (proj): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (local_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (6): EfficientVitBlock( | ||
| + | (context_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): LiteMLA( | ||
| + | (qkv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 1536, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | (aggreg): ModuleList( | ||
| + | (0): Sequential( | ||
| + | (0): Conv2d(1536, | ||
| + | (1): Conv2d(1536, | ||
| + | ) | ||
| + | ) | ||
| + | (kernel_func): | ||
| + | (proj): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(1024, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | (local_module): | ||
| + | (pre_norm): Identity() | ||
| + | (main): MBConv( | ||
| + | (inverted_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (depth_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): Identity() | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (point_conv): | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(3072, | ||
| + | (norm): BatchNorm2d(512, | ||
| + | (act): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | (shortcut): Identity() | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | ) | ||
| + | (head): ClassifierHead( | ||
| + | (in_conv): ConvNormAct( | ||
| + | (dropout): Dropout(p=0.0, | ||
| + | (conv): Conv2d(512, 3072, kernel_size=(1, | ||
| + | (norm): BatchNorm2d(3072, | ||
| + | (act): GELUTanh() | ||
| + | ) | ||
| + | (global_pool): | ||
| + | (classifier): | ||
| + | (0): Linear(in_features=3072, | ||
| + | (1): LayerNorm((3200, | ||
| + | (2): GELUTanh() | ||
| + | (3): Dropout(p=0.0, | ||
| + | (4): Linear(in_features=3200, | ||
| + | ) | ||
| + | ) | ||
| ) | ) | ||
| </ | </ | ||