【免费下载链接】mobilenetv4_hybrid_medium.ix_e550_r256_in1k
如果你刚开始用timm库做图像分类,一定会被mobilenetv4_hybrid_medium.ix_e550_r256_in1k这种"天书式"的模型命名劝退。其实,这条 timm 模型名就是一张自描述的"参数说明书":架构 + 训练配方 + 输入分辨率 + 数据集,一段都不会多。本文带你逐段拆解ix、e550、r256、in1k的真实含义,5 分钟读懂这个 11.1M 参数的轻量级 MobileNetV4 图像分类预训练模型。
一、先认识主角:这个模型是做什么的?📦
mobilenetv4_hybrid_medium.ix_e550_r256_in1k是一个基于MobileNetV4架构的图像分类预训练模型,由 timm(PyTorch Image Models)项目训练并发布,训练数据是经典的ImageNet-1k(1000 类)。几个关键指标(摘自 README.md):
| 指标 | 数值 | 通俗理解 |
|---|---|---|
| 参数量 | 11.1M | 比 ResNet50(25.6M)小一半,适合端侧部署 |
| 计算量 GMACs | 1.3 | 推理非常快 |
| Top-1 精度 | 82.49% | 轻量级模型中的第一梯队 |
| 训练 / 测试输入 | 256×256 / 320×320 | 名字里的r256由此而来 |
仓库只有 4 个文件,各司其职:
- README.md:模型卡片,含指标说明、三种用法示例与精度对比表
- config.json:模型架构与预处理(均值、标准差、分辨率)配置
- model.safetensors:safetensors 格式权重(约 44.7MB)
- pytorch_model.bin:PyTorch 原生格式的同一份权重(约 44.8MB)
📌 注意:官方 TensorFlow 版 MobileNetV4 权重至今未发布,这批 timm 权重是目前已知唯一公开的 MNV4 权重,见 README.md。
二、timm 命名总规律:架构名.预训练标签
timm 的模型 ID 永远由一个点号一分为二:
mobilenetv4_hybrid_medium . ix_e550_r256_in1k └───────── 架构名 ─────────┘ └─────── 训练标签 ───────┘架构名mobilenetv4_hybrid_medium这样读:
mobilenetv4:MobileNetV4 系列(专为移动 / 端侧生态设计)hybrid:结构变体,卷积 + gDC(门控深度卷积)混合堆叠;同系列还有conv(纯卷积)、conv_aa、conv_blur等变体medium:规模档位,另有small、large
训练标签ix_e550_r256_in1k才是密码所在,下面逐个拆。
三、逐个拆解:ix、e550、r256、in1k 到底是什么?
1️⃣ix——timm 内部的训练变体标记
ix是 timm 给这批权重打的内部配方标记,用于区分同一架构下不同训练策略产出的权重版本:同为 hybrid_medium,既有基础配方e500_r224_in1k,也有ix_e550_r256_in1k这种训练预算更高的版本。你不必纠结它的具体来源,只要记住:看到ix前缀 = 一个经过特别配方训练的权重变体,在精度对比中通常更有竞争力(可对照 README.md 的 Model Comparison 表)。
2️⃣e550——训练了 550 个 epoch
e是 epochs(训练轮数)的缩写,e550表示该权重在 ImageNet 上训练了550 轮。
这个规律在同 README 对比表里随处可见:例如resnet50d.ra4_e3600_r224_in1k中的e3600就是 3600 轮,ra4则是 Randaugment v4 数据增强。轮数越多,通常精度越高,但训练成本也越大。
3️⃣r256——训练输入分辨率 256×256
r是 resolution(分辨率)的缩写,r256表示训练时输入图像为 256×256。
⚠️ 常见误解:r256并不限制你只能用 256 分辨率推理。配置文件里明确写着测试输入为 320×320(config.json),README 的对比表中同一标签就分别列出了 256、320、384、448 多种评测输入下的成绩——分辨率换越大,精度越高、速度越慢。
4️⃣in1k——在 ImageNet-1000 上训练
数据集后缀约定:
| 后缀 | 含义 |
|---|---|
in1k | 直接在 ImageNet-1k(1000 类)上从头训练 |
in12k_ft_in1k | 先在 ImageNet-12k(12000 类)预训练,再微调回 1000 类 |
ra4 | 使用 Randaugment v4 增强 |
in12k_ft_in1k通常精度更高,但需要更大算力;in1k直训更简单,适合大多数场景。
四、命名与配置互相印证 🔍
命名不是玄学,每个片段都能在 config.json 里找到对应字段:
| 命名片段 | 对应配置字段 | 值 |
|---|---|---|
| (架构名) | architecture | mobilenetv4_hybrid_medium |
| 完整标签 | pretrained_cfg.tag | ix_e550_r256_in1k |
r256 | input_size | [3, 256, 256] |
| (测试用 320) | test_input_size | [3, 320, 320] |
in1k | num_classes | 1000 |
五、上手一步:如何调用这个模型
读懂命名,调用其实就一行核心代码(完整示例见 README.md):
import timm model = timm.create_model('mobilenetv4_hybrid_medium.ix_e550_r256_in1k', pretrained=True) model = model.eval()timm 会根据这个模型 ID 自动下载对应权重,并用resolve_model_data_config拿到与命名匹配的预处理参数(均值 / 标准差、目标分辨率),省去手工配置。
六、命名速查表:以后遇到别的 timm 模型也能秒懂
| 片段模式 | 含义 | 本文例子 |
|---|---|---|
mobilenetv4 | 模型架构系列 | MobileNetV4 |
hybrid/conv/conv_aa | 结构变体 | hybrid(混合结构) |
small/medium/large | 规模档位 | medium(11.1M 参数) |
ix | 内部训练变体标记 | 特别配方权重的标记 |
eNNN | 训练轮数 | e550(550 轮) |
rNNN | 训练输入分辨率 | r256(256×256) |
in1k/in12k | 训练数据集 | in1k(ImageNet-1000) |
_ft_in1k | 微调回 1000 类 | (本模型无此后缀) |
ra4 | Randaugment v4 增强 | (本模型无此后缀) |
一句话总结:mobilenetv4_hybrid_medium.ix_e550_r256_in1k= MobileNetV4 混合结构中等规模 + timm 特别配方(ix)训练 550 轮(e550)、训练分辨率 256×256(r256)、数据集 ImageNet-1000(in1k)。看懂点号前后的两段,你就掌握了 timm 全部预训练模型的命名密码。
【免费下载链接】mobilenetv4_hybrid_medium.ix_e550_r256_in1k
相关推荐
读懂模型命名:InternVideo2-Stage1-1B-224p-K600 中 1B、224p、K600 到底是什么意思
读懂模型命名:InternVideo2 Stage1 1B 224p K600 中 1B、224p、K600 到底是什么意思 很多新手第一次见到 InternV
一文读懂 Qwen1.5-7B-Chat_rai_1.8.0_medusa_1.0_npu 命名:Qwen、RAI、Medusa、NPU 到底各代表什么?
一文读懂 Qwen1.5 7B Chat_rai_1.8.0_medusa_1.0_npu 命名:Qwen、RAI、Medusa、NPU 到底各代表什么? Qw
人工智能大模型模型优化Qwenrai、medusa、npu到底是什么意思?Llama-3.2-1B-Instruct_rai_1.8.0_medusa_1.0_npu命名秘密全解析
rai、medusa、npu到底是什么意思?Llama 3.2 1B Instruct_rai_1.8.0_medusa_1.0_npu命名秘密全解析 💡 一
大模型人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考