# BYOBNet (GENet, RepVGG, MobileOne, ...)

**类别：** CNN · **代码：** [`timm/models/byobnet.py`](https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/byobnet.py) · **架构：** 53 · **预训练权重：** 57（其中 41 个包含 ImageNet-1k 结果）

Bring-Your-Own-Blocks Network，一种由 dataclass 配置构建的灵活网络，可将 block 堆叠为 stage。它实现了 GPU-Efficient Networks（`gernet_*`）、RepVGG、MobileOne、RegNetZ、CLIP 的 ResNet 图像塔（`*_clip`）以及多种 ResNet 风格的 `timm` 变体。

## 论文

* [面向 GPU 高效网络的神经网络架构设计](https://arxiv.org/abs/2006.14090)
* [RepVGG：让 VGG 风格的 ConvNet 再次强大](https://arxiv.org/abs/2101.03697)
* [MobileOne：改进的 1 毫秒移动骨干网络](https://arxiv.org/abs/2206.04040)
* [快速且准确的模型扩展](https://arxiv.org/abs/2103.06877)
* [演进归一化-激活层](https://arxiv.org/abs/2004.02967)
* [从自然语言监督中学习可迁移的视觉模型](https://arxiv.org/abs/2103.00020)

## 用法

请参阅[快速入门](../quickstart)了解如何加载预训练权重、进行图像预处理和微调，以及参阅[特征提取](../feature_extraction)了解如何将这些模型用作骨干网络。

```py
>>> import timm
>>> model = timm.create_model('repvgg_a2.rvgg_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)
```

## 模型 API 支持

| 功能 | `ByobNet` |
|---|---|
| [`features_only=True` 特征图](../model_api#intermediate-features) | ✓（步长 2、4、8、16、32） |
| [`forward_intermediates()`](../model_api#intermediate-features) | ✓ |
| [`prune_intermediate_layers()`](../model_api#intermediate-features) | ✓ |
| [任意输入尺寸，无需更改](../model_api#input-size) | ✓ |
| [`set_input_size()`](../model_api#input-size) | – |
| [`dynamic_img_size=True`](../model_api#input-size) | – |
| [`set_grad_checkpointing()`](../model_api#training-hooks) | ✓ |
| [逐层学习率衰减（`group_matcher()`）](../model_api#training-hooks) | ✓ |
| [`reset_classifier()`](../model_api#classifier) | ✓ |

✓ 支持，✓ (square) 仅支持方形尺寸，✗ 不支持，– 无需支持（模型本身已接受任意输入尺寸）。通过在每个功能上运行随机初始化的模型（`ByobNet` 使用 `mobileone_s1`，尺寸为 224）进行验证，预期同一类的其他架构表现相同。详情请参阅 [模型 API](../model_api) 页面。

## 架构

| 架构 | 参数（M） | GMAC | 输入大小 | 预训练权重 |
|---|---:|---:|---:|---:|
| `bat_resnext26ts` | 10.73 | 2.53 | 256 | 1 |
| `eca_resnet33ts` | 19.68 | 4.76 | 256 | 1 |
| `eca_resnext26ts` | 10.30 | 2.43 | 256 | 1 |
| `gcresnet33ts` | 19.88 | 4.76 | 256 | 1 |
| `gcresnet50t` | 25.90 | 5.42 | 256 | 1 |
| `gcresnext26ts` | 10.48 | 2.43 | 256 | 1 |
| `gcresnext50ts` | 15.67 | 3.75 | 256 | 1 |
| `gernet_l` | 31.08 | 4.57 | 256 | 1 |
| `gernet_m` | 21.14 | 3.02 | 224 | 1 |
| `gernet_s` | 8.17 | 0.75 | 224 | 1 |
| `mobileone_s0` | 2.08 | 0.28 | 224 | 1 |
| `mobileone_s1` | 4.76 | 0.83 | 224 | 1 |
| `mobileone_s2` | 7.81 | 1.30 | 224 | 1 |
| `mobileone_s3` | 10.08 | 1.90 | 224 | 1 |
| `mobileone_s4` | 14.84 | 2.98 | 224 | 1 |
| `regnetz_b16` | 9.72 | 1.45 | 224 | 1 |
| `regnetz_b16_evos` | 9.74 | 1.43 | 224 | 0 |
| `regnetz_c16` | 13.46 | 2.51 | 256 | 1 |
| `regnetz_c16_evos` | 13.49 | 2.48 | 256 | 1 |
| `regnetz_d8` | 23.37 | 3.97 | 256 | 1 |
| `regnetz_d8_evos` | 23.46 | 4.50 | 256 | 1 |
| `regnetz_d32` | 27.58 | 5.98 | 256 | 1 |
| `regnetz_e8` | 57.70 | 9.91 | 256 | 1 |
| `repvgg_a0` | 8.31 | 1.36 | 224 | 1 |
| `repvgg_a1` | 12.79 | 2.36 | 224 | 1 |
| `repvgg_a2` | 25.50 | 5.12 | 224 | 1 |
| `repvgg_b0` | 14.34 | 3.06 | 224 | 1 |
| `repvgg_b1` | 51.83 | 11.82 | 224 | 1 |
| `repvgg_b1g4` | 36.13 | 7.31 | 224 | 1 |
| `repvgg_b2` | 80.32 | 18.38 | 224 | 1 |
| `repvgg_b2g4` | 55.78 | 11.33 | 224 | 1 |
| `repvgg_b3` | 110.96 | 26.21 | 224 | 1 |
| `repvgg_b3g4` | 75.63 | 16.06 | 224 | 1 |
| `repvgg_d2se` | 120.39 | 66.99 | 320 | 1 |
| `resnet32ts` | 17.96 | 4.63 | 256 | 1 |
| `resnet33ts` | 19.68 | 4.76 | 256 | 1 |
| `resnet50_clip` | 38.32 | 6.14 | 224 | 3 |
| `resnet50_clip_gap` | 23.53 | 5.39 | 224 | 3 |
| `resnet50_mlp` | 26.65 | 7.05 | 256 | 0 |
| `resnet50x4_clip` | 87.14 | 21.35 | 288 | 1 |
| `resnet50x4_clip_gap` | 65.62 | 19.57 | 288 | 1 |
| `resnet50x16_clip` | 167.33 | 74.90 | 384 | 1 |
| `resnet50x16_clip_gap` | 136.20 | 70.32 | 384 | 1 |
| `resnet50x64_clip` | 420.38 | 265.02 | 448 | 1 |
| `resnet50x64_clip_gap` | 365.03 | 253.96 | 448 | 1 |
| `resnet51q` | 35.70 | 6.38 | 256 | 1 |
| `resnet61q` | 36.85 | 7.80 | 256 | 1 |
| `resnet101_clip` | 56.26 | 9.81 | 224 | 2 |
| `resnet101_clip_gap` | 42.52 | 9.11 | 224 | 2 |
| `resnext26ts` | 10.30 | 2.43 | 256 | 1 |
| `seresnet33ts` | 19.78 | 4.76 | 256 | 1 |
| `seresnext26ts` | 10.39 | 2.43 | 256 | 1 |
| `test_byobnet` | 0.46 | 0.03 | 160 | 1 |

GMACs 和参数量对应于每种架构的默认输入大小和分类器，数据来自[基准测试结果](https://github.com/huggingface/pytorch-image-models/tree/main/results)。

## 预训练权重

Top-1 是在所列评估规模下，来自 [`results-imagenet.csv`](https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv) 的 ImageNet-1k 验证准确率，- 表示该权重没有 ImageNet-1k 结果（例如预训练权重或图文权重）。Classes 是预训练分类器的大小，对于没有分类器的权重则为无。

权重按来源分组：预训练配置中给出的论文或来源，否则为 `timm` 以外的 Hub 组织，否则为预训练标签的第一部分（`architecture.tag`）。仅包含单个权重的来源将列在“其他”下。

### `rvgg` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `repvgg_a0.rvgg_in1k` | 224 | 72.426 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_a0.rvgg_in1k) |
| `repvgg_a1.rvgg_in1k` | 224 | 74.474 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_a1.rvgg_in1k) |
| `repvgg_a2.rvgg_in1k` | 224 | 76.488 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_a2.rvgg_in1k) |
| `repvgg_b0.rvgg_in1k` | 224 | 75.158 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b0.rvgg_in1k) |
| `repvgg_b1.rvgg_in1k` | 224 | 78.370 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b1.rvgg_in1k) |
| `repvgg_b1g4.rvgg_in1k` | 224 | 77.608 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b1g4.rvgg_in1k) |
| `repvgg_b2.rvgg_in1k` | 224 | 78.788 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b2.rvgg_in1k) |
| `repvgg_b2g4.rvgg_in1k` | 224 | 79.396 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b2g4.rvgg_in1k) |
| `repvgg_b3.rvgg_in1k` | 224 | 80.528 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b3.rvgg_in1k) |
| `repvgg_b3g4.rvgg_in1k` | 224 | 80.224 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_b3g4.rvgg_in1k) |
| `repvgg_d2se.rvgg_in1k` | 320 | 83.550 | 320 | 1000 | mit | [timm](https://huggingface.co/timm/repvgg_d2se.rvgg_in1k) |

### `openai` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `resnet50_clip.openai` | 224 | - | - | 1024 | mit | [timm](https://huggingface.co/timm/resnet50_clip.openai) |
| `resnet50_clip_gap.openai` | 224 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet50_clip_gap.openai) |
| `resnet50x4_clip.openai` | 288 | - | - | 640 | mit | [timm](https://huggingface.co/timm/resnet50x4_clip.openai) |
| `resnet50x4_clip_gap.openai` | 288 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet50x4_clip_gap.openai) |
| `resnet50x16_clip.openai` | 384 | - | - | 768 | mit | [timm](https://huggingface.co/timm/resnet50x16_clip.openai) |
| `resnet50x16_clip_gap.openai` | 384 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet50x16_clip_gap.openai) |
| `resnet50x64_clip.openai` | 448 | - | - | 1024 | mit | [timm](https://huggingface.co/timm/resnet50x64_clip.openai) |
| `resnet50x64_clip_gap.openai` | 448 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet50x64_clip_gap.openai) |
| `resnet101_clip.openai` | 224 | - | - | 512 | mit | [timm](https://huggingface.co/timm/resnet101_clip.openai) |
| `resnet101_clip_gap.openai` | 224 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet101_clip_gap.openai) |

### `ra2` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `eca_resnet33ts.ra2_in1k` | 256（测试 288） | 80.716 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/eca_resnet33ts.ra2_in1k) |
| `gcresnet33ts.ra2_in1k` | 256（测试 288） | 80.588 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gcresnet33ts.ra2_in1k) |
| `gcresnet50t.ra2_in1k` | 256（测试 288） | 81.458 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gcresnet50t.ra2_in1k) |
| `resnet32ts.ra2_in1k` | 256（测试 288） | 79.388 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/resnet32ts.ra2_in1k) |
| `resnet33ts.ra2_in1k` | 256（测试 288） | 79.710 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/resnet33ts.ra2_in1k) |
| `resnet51q.ra2_in1k` | 256（测试 288） | 82.356 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/resnet51q.ra2_in1k) |
| `resnet61q.ra2_in1k` | 256（测试 288） | 82.532 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/resnet61q.ra2_in1k) |
| `resnext26ts.ra2_in1k` | 256（测试 288） | 77.186 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/resnext26ts.ra2_in1k) |
| `seresnet33ts.ra2_in1k` | 256（测试 288） | 80.814 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/seresnet33ts.ra2_in1k) |

### `ch` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `bat_resnext26ts.ch_in1k` | 256 | 78.280 | 256 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/bat_resnext26ts.ch_in1k) |
| `eca_resnext26ts.ch_in1k` | 256（测试 288） | 78.020 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/eca_resnext26ts.ch_in1k) |
| `gcresnext26ts.ch_in1k` | 256（测试 288） | 78.436 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gcresnext26ts.ch_in1k) |
| `gcresnext50ts.ch_in1k` | 256（测试 288） | 81.242 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gcresnext50ts.ch_in1k) |
| `regnetz_c16_evos.ch_in1k` | 256（测试 320） | 82.660 | 320 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_c16_evos.ch_in1k) |
| `regnetz_d8_evos.ch_in1k` | 256（测试 320） | 84.138 | 320 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_d8_evos.ch_in1k) |
| `seresnext26ts.ch_in1k` | 256（测试 288） | 78.292 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/seresnext26ts.ch_in1k) |

### `apple` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `mobileone_s0.apple_in1k` | 224 | 71.398 | 224 | 1000 | mobileone-license | [timm](https://huggingface.co/timm/mobileone_s0.apple_in1k) |
| `mobileone_s1.apple_in1k` | 224 | 75.760 | 224 | 1000 | mobileone-license | [timm](https://huggingface.co/timm/mobileone_s1.apple_in1k) |
| `mobileone_s2.apple_in1k` | 224 | 77.504 | 224 | 1000 | mobileone-license | [timm](https://huggingface.co/timm/mobileone_s2.apple_in1k) |
| `mobileone_s3.apple_in1k` | 224 | 78.002 | 224 | 1000 | mobileone-license | [timm](https://huggingface.co/timm/mobileone_s3.apple_in1k) |
| `mobileone_s4.apple_in1k` | 224 | 79.446 | 224 | 1000 | mobileone-license | [timm](https://huggingface.co/timm/mobileone_s4.apple_in1k) |

### `ra3` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `regnetz_b16.ra3_in1k` | 224（测试 288） | 80.740 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_b16.ra3_in1k) |
| `regnetz_c16.ra3_in1k` | 256（测试 320） | 82.662 | 320 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_c16.ra3_in1k) |
| `regnetz_d8.ra3_in1k` | 256（测试 320） | 84.044 | 320 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_d8.ra3_in1k) |
| `regnetz_d32.ra3_in1k` | 256（测试 320） | 84.028 | 320 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_d32.ra3_in1k) |
| `regnetz_e8.ra3_in1k` | 256（测试 320） | 85.016 | 320 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/regnetz_e8.ra3_in1k) |

### `yfcc15m` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `resnet50_clip.yfcc15m` | 224 | - | - | 1024 | mit | [timm](https://huggingface.co/timm/resnet50_clip.yfcc15m) |
| `resnet50_clip_gap.yfcc15m` | 224 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet50_clip_gap.yfcc15m) |
| `resnet101_clip.yfcc15m` | 224 | - | - | 512 | mit | [timm](https://huggingface.co/timm/resnet101_clip.yfcc15m) |
| `resnet101_clip_gap.yfcc15m` | 224 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet101_clip_gap.yfcc15m) |

### `idstcv` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `gernet_l.idstcv_in1k` | 256 | 81.354 | 256 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gernet_l.idstcv_in1k) |
| `gernet_m.idstcv_in1k` | 224 | 80.702 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gernet_m.idstcv_in1k) |
| `gernet_s.idstcv_in1k` | 224 | 76.874 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/gernet_s.idstcv_in1k) |

### `cc12m` 标签

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `resnet50_clip.cc12m` | 224 | - | - | 1024 | mit | [timm](https://huggingface.co/timm/resnet50_clip.cc12m) |
| `resnet50_clip_gap.cc12m` | 224 | - | - | none | mit | [timm](https://huggingface.co/timm/resnet50_clip_gap.cc12m) |

### 其他

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `test_byobnet.r160_in1k` | 160 | 45.858 | 160 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/test_byobnet.r160_in1k) |

