差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
人工智能:torch:常用模型结构:efficientvit-模型结构 [2026/01/23 07:02] – [fficientvit 模型的模型PNG格式] ctbots人工智能:torch:常用模型结构:efficientvit-模型结构 [2026/01/26 02:39] (当前版本) – 移除 ctbots
行 1: 行 1:
-====== fficientvit-模型结构 ====== 
-===== fficientvit 模型的文本结构输出  ===== 
-<code> 
-EfficientVit( 
-  (stem): Stem( 
-    (in_conv): ConvNormAct( 
-      (dropout): Dropout(p=0.0, inplace=False) 
-      (conv): Conv2d(3, 8, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) 
-      (norm): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-      (act): Hardswish() 
-    ) 
-    (res0): ResidualBlock( 
-      (pre_norm): Identity() 
-      (main): DSConv( 
-        (depth_conv): ConvNormAct( 
-          (dropout): Dropout(p=0.0, inplace=False) 
-          (conv): Conv2d(8, 8, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False) 
-          (norm): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-          (act): Hardswish() 
-        ) 
-        (point_conv): ConvNormAct( 
-          (dropout): Dropout(p=0.0, inplace=False) 
-          (conv): Conv2d(8, 8, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-          (norm): BatchNorm2d(8, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-          (act): Identity() 
-        ) 
-      ) 
-      (shortcut): Identity() 
-    ) 
-  ) 
-  (stages): Sequential( 
-    (0): EfficientVitStage( 
-      (blocks): Sequential( 
-        (0): ResidualBlock( 
-          (pre_norm): Identity() 
-          (main): MBConv( 
-            (inverted_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(8, 32, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (depth_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=32, bias=False) 
-              (norm): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (point_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(32, 16, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Identity() 
-            ) 
-          ) 
-        ) 
-        (1): ResidualBlock( 
-          (pre_norm): Identity() 
-          (main): MBConv( 
-            (inverted_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(16, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (depth_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=64, bias=False) 
-              (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (point_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(64, 16, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(16, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Identity() 
-            ) 
-          ) 
-          (shortcut): Identity() 
-        ) 
-      ) 
-    ) 
-    (1): EfficientVitStage( 
-      (blocks): Sequential( 
-        (0): ResidualBlock( 
-          (pre_norm): Identity() 
-          (main): MBConv( 
-            (inverted_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(16, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (depth_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=64, bias=False) 
-              (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (point_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Identity() 
-            ) 
-          ) 
-        ) 
-        (1): ResidualBlock( 
-          (pre_norm): Identity() 
-          (main): MBConv( 
-            (inverted_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (depth_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=128, bias=False) 
-              (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Hardswish() 
-            ) 
-            (point_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(128, 32, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Identity() 
-            ) 
-          ) 
-          (shortcut): Identity() 
-        ) 
-      ) 
-    ) 
-    (2): EfficientVitStage( 
-      (blocks): Sequential( 
-        (0): ResidualBlock( 
-          (pre_norm): Identity() 
-          (main): MBConv( 
-            (inverted_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(32, 128, kernel_size=(1, 1), stride=(1, 1)) 
-              (norm): Identity() 
-              (act): Hardswish() 
-            ) 
-            (depth_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=128) 
-              (norm): Identity() 
-              (act): Hardswish() 
-            ) 
-            (point_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Identity() 
-            ) 
-          ) 
-        ) 
-        (1): EfficientVitBlock( 
-          (context_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): LiteMLA( 
-              (qkv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(64, 192, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): Identity() 
-                (act): Identity() 
-              ) 
-              (aggreg): ModuleList( 
-                (0): Sequential( 
-                  (0): Conv2d(192, 192, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=192, bias=False) 
-                  (1): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1), groups=12, bias=False) 
-                ) 
-              ) 
-              (kernel_func): ReLU() 
-              (proj): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-          (local_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): MBConv( 
-              (inverted_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1)) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (depth_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=256) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (point_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-        ) 
-        (2): EfficientVitBlock( 
-          (context_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): LiteMLA( 
-              (qkv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(64, 192, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): Identity() 
-                (act): Identity() 
-              ) 
-              (aggreg): ModuleList( 
-                (0): Sequential( 
-                  (0): Conv2d(192, 192, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=192, bias=False) 
-                  (1): Conv2d(192, 192, kernel_size=(1, 1), stride=(1, 1), groups=12, bias=False) 
-                ) 
-              ) 
-              (kernel_func): ReLU() 
-              (proj): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-          (local_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): MBConv( 
-              (inverted_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1)) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (depth_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=256) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (point_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-        ) 
-      ) 
-    ) 
-    (3): EfficientVitStage( 
-      (blocks): Sequential( 
-        (0): ResidualBlock( 
-          (pre_norm): Identity() 
-          (main): MBConv( 
-            (inverted_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1)) 
-              (norm): Identity() 
-              (act): Hardswish() 
-            ) 
-            (depth_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), groups=256) 
-              (norm): Identity() 
-              (act): Hardswish() 
-            ) 
-            (point_conv): ConvNormAct( 
-              (dropout): Dropout(p=0.0, inplace=False) 
-              (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-              (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-              (act): Identity() 
-            ) 
-          ) 
-        ) 
-        (1): EfficientVitBlock( 
-          (context_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): LiteMLA( 
-              (qkv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(128, 384, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): Identity() 
-                (act): Identity() 
-              ) 
-              (aggreg): ModuleList( 
-                (0): Sequential( 
-                  (0): Conv2d(384, 384, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=384, bias=False) 
-                  (1): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1), groups=24, bias=False) 
-                ) 
-              ) 
-              (kernel_func): ReLU() 
-              (proj): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-          (local_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): MBConv( 
-              (inverted_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1)) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (depth_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (point_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-        ) 
-        (2): EfficientVitBlock( 
-          (context_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): LiteMLA( 
-              (qkv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(128, 384, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): Identity() 
-                (act): Identity() 
-              ) 
-              (aggreg): ModuleList( 
-                (0): Sequential( 
-                  (0): Conv2d(384, 384, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=384, bias=False) 
-                  (1): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1), groups=24, bias=False) 
-                ) 
-              ) 
-              (kernel_func): ReLU() 
-              (proj): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-          (local_module): ResidualBlock( 
-            (pre_norm): Identity() 
-            (main): MBConv( 
-              (inverted_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1)) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (depth_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=512) 
-                (norm): Identity() 
-                (act): Hardswish() 
-              ) 
-              (point_conv): ConvNormAct( 
-                (dropout): Dropout(p=0.0, inplace=False) 
-                (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-                (norm): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-                (act): Identity() 
-              ) 
-            ) 
-            (shortcut): Identity() 
-          ) 
-        ) 
-      ) 
-    ) 
-  ) 
-  (head): ClassifierHead( 
-    (in_conv): ConvNormAct( 
-      (dropout): Dropout(p=0.0, inplace=False) 
-      (conv): Conv2d(128, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False) 
-      (norm): BatchNorm2d(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 
-      (act): Hardswish() 
-    ) 
-    (global_pool): SelectAdaptivePool2d(pool_type=avg, flatten=Flatten(start_dim=1, end_dim=-1)) 
-    (classifier): Sequential( 
-      (0): Linear(in_features=1024, out_features=1280, bias=False) 
-      (1): LayerNorm((1280,), eps=1e-05, elementwise_affine=True) 
-      (2): Hardswish() 
-      (3): Dropout(p=0.0, inplace=False) 
-      (4): Linear(in_features=1280, out_features=1000, bias=True) 
-    ) 
-  ) 
-) 
-</code> 
  
-===== efficientvit 模型的模型PNG格式  ===== 
-{{:人工智能:torch:常用模型结构:efficientvit结构图.png}}