You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何准确列出torchvision中的所有CNN分类模型?

TorchVision 中的 CNN 分类模型整理

一、核心模型类(可直接实例化)

  • AlexNet(亚历克斯网络)
  • ConvNeXt(卷积下一代网络)
  • DenseNet(密集连接网络)
  • EfficientNet(高效网络)
  • GoogLeNet(谷歌网络)
  • Inception3(InceptionV3 网络)
  • MNASNet(移动端 NAS 搜索网络)
  • MaxVit(混合视觉Transformer*注:结合CNN与Transformer架构)
  • MobileNetV2(移动端轻量网络V2)
  • MobileNetV3(移动端轻量网络V3)
  • RegNet(正则化残差网络)
  • ResNet(残差网络)
  • ResNeXt(残差网络变体)
  • ShuffleNetV2(轻量洗牌网络V2)
  • SqueezeNet(轻量压缩网络)
  • VGG(视觉几何组网络)

二、便捷构造函数(直接返回初始化/预训练模型)

AlexNet 系列

  • alexnet

ConvNeXt 系列

  • convnext_tiny
  • convnext_small
  • convnext_base
  • convnext_large

DenseNet 系列

  • densenet121
  • densenet161
  • densenet169
  • densenet201

EfficientNet 系列

  • efficientnet_b0、efficientnet_b1、efficientnet_b2、efficientnet_b3、efficientnet_b4、efficientnet_b5、efficientnet_b6、efficientnet_b7
  • efficientnet_v2_s、efficientnet_v2_m、efficientnet_v2_l

GoogLeNet 系列

  • googlenet

InceptionV3 系列

  • inception_v3

MNASNet 系列

  • mnasnet0_5、mnasnet0_75、mnasnet1_0、mnasnet1_3

MaxVit 系列

  • maxvit_t

MobileNet 系列

  • mobilenet_v2
  • mobilenet_v3_small、mobilenet_v3_large

RegNet 系列

  • RegNet-X:regnet_x_400mf、regnet_x_800mf、regnet_x_1_6gf、regnet_x_3_2gf、regnet_x_8gf、regnet_x_16gf、regnet_x_32gf
  • RegNet-Y:regnet_y_400mf、regnet_y_800mf、regnet_y_1_6gf、regnet_y_3_2gf、regnet_y_8gf、regnet_y_16gf、regnet_y_32gf、regnet_y_128gf

ResNet/ResNeXt/WideResNet 系列

  • ResNet 基础:resnet18、resnet34、resnet50、resnet101、resnet152
  • ResNeXt:resnext50_32x4d、resnext101_32x8d、resnext101_64x4d
  • WideResNet:wide_resnet50_2、wide_resnet101_2

ShuffleNetV2 系列

  • shufflenet_v2_x0_5、shufflenet_v2_x1_0、shufflenet_v2_x1_5、shufflenet_v2_x2_0

SqueezeNet 系列

  • squeezenet1_0、squeezenet1_1

VGG 系列

  • 基础版:vgg11、vgg13、vgg16、vgg19
  • 带批归一化版:vgg11_bn、vgg13_bn、vgg16_bn、vgg19_bn

三、精准筛选模型的代码示例

方法1:基于类型与命名规则过滤

import torchvision
import inspect

# 筛选CNN分类模型类(排除Transformer、权重类、内部输出类)
cnn_model_classes = [name for name, obj in inspect.getmembers(torchvision.models)
                     if inspect.isclass(obj)
                     and not name.endswith("Weights")
                     and not name.endswith("Outputs")
                     and not name.startswith("_")
                     and name not in ["VisionTransformer", "SwinTransformer"]]

print("CNN分类模型类列表:", cnn_model_classes)

方法2:使用官方list_models函数(更可靠)

import torchvision

# 列出所有图像分类模型
classification_models = torchvision.models.list_models(module=torchvision.models)
# 可选:进一步过滤纯CNN模型(排除Transformer类)
cnn_models = [m for m in classification_models if m not in ["vit_b_16", "vit_b_32", "vit_l_16", "vit_l_32", "vit_h_14", "swin_t", "swin_s", "swin_b", "swin_v2_t", "swin_v2_s", "swin_v2_b"]]

print("CNN分类模型列表:", cnn_models)

内容的提问来源于stack exchange,提问作者Eric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:46:59