【免费下载链接】VisionHOPE
Official PyTorch implementation of VisionHOPE: Visual Backbones as Self-Modifying Learning Systems.
VisionHOPE 是"视觉骨干作为自修改学习系统(Visual Backbones as Self-Modifying Learning Systems)"的官方 PyTorch 实现,提供Tiny / Small / Base三档层级式视觉骨干,覆盖图像分类、目标检测与语义分割。本文带你一次看懂 VisionHOPE 模型规格:三个版本的参数量、FLOPs、基准成绩差多少,以及按任务场景给出可落地的选择建议,帮你用最短时间选对 checkpoint。
VisionHOPE 是什么?🧠
传统 CNN 用固定的共享卷积核提取特征,而 VisionHOPE 基于SRNL(Self-Referential Nested Learning,自指嵌套学习)算子:模型在处理每张图像时,不仅更新"记住什么"(记忆),还会同时更新"如何更新"(规则本身),实现图内的自适应学习。
VisionHOPE 算子的三个核心设计(见 models/operator.py 与 models/srnl.py):
- 耦合记忆:5 个记忆分别存储内容、生成 key/value 表示、控制学习率与保留率,随视觉上下文共同演化;
- 稳定更新:软注入上限 + 谱钳制,保证 token 级与 chunk 级记忆递推都不发散;
- 空间对齐扫描:4 个方向的行列对齐块扫描 + 空间恢复与逐通道学习融合。
三大骨干规格对比:参数、宽度与深度 ⚙️
三档模型共享同一套四级层级式结构(见 models/hierarchical.py),由 models/factory.py 中的MODEL_CONFIGS统一配置。区别只在于每个 stage 的通道宽度(embed_dims)、算子内部宽度(mixer_dims)与块数(depths):
| 配置项 | 🐣 Tiny | 🐤 Small | 🐔 Base |
|---|---|---|---|
| 模型名 | visionhope_tiny | visionhope_small | visionhope_base |
| embed_dims(4 级) | 64 / 128 / 256 / 512 | 64 / 160 / 320 / 512 | 96 / 192 / 448 / 640 |
| mixer_dims(4 级) | 32 / 64 / 128 / 256 | 32 / 80 / 160 / 256 | 48 / 96 / 224 / 320 |
| depths(4 级块数) | 3 / 4 / 18 / 4 | 4 / 8 / 25 / 8 | 4 / 8 / 25 / 8 |
| 参数量 | 26.6 M | 52.9 M | 91.2 M |
| 分类 FLOPs(224×224) | 4.9 G | 9.8 G | 17.3 G |
一个值得注意的细节:Tiny 走的是"浅而窄"路线(stage 4 仅 4 个块、总深度 29),而 Small 与 Base 深度相同(4/8/25/8),Base 靠加宽通道(约 1.5 倍宽度)换取精度,而不是加深网络——这意味着 Base 的额外推理开销主要来自算力而非串行延迟。
三大基准实测成绩一览 🏆
以下数据来自官方 README.md 的 Main results,全部使用 ImageNet-1K 预训练骨干:
ImageNet-1K 分类(224×224 单裁剪,FP32)
| 模型 | 参数 (M) | FLOPs (G) | Top-1 (%) |
|---|---|---|---|
| VisionHOPE-T | 26.6 | 4.9 | 84.1 |
| VisionHOPE-S | 52.9 | 9.8 | 85.2 |
| VisionHOPE-B | 91.2 | 17.3 | 85.6 |
COCO 检测 / 实例分割(Mask R-CNN,val2017,1280×800)
| 骨干 | 调度 | FLOPs (G) | Box AP ↑ | Mask AP ↑ |
|---|---|---|---|---|
| VisionHOPE-T | 1× | 266 | 47.9 | 43.1 |
| VisionHOPE-T | 3× | 266 | 49.4 | 44.1 |
| VisionHOPE-S | 1× | 365 | 49.5 | 44.2 |
| VisionHOPE-S | 3× | 365 | 50.5 | 45.0 |
| VisionHOPE-B | 1× | 516 | 50.5 | 45.0 |
ADE20K 语义分割(UPerNet,单尺度验证,512×2048)
| 骨干 | 参数 (M) | FLOPs (G) | mIoU (%) |
|---|---|---|---|
| VisionHOPE-T | 55.4 | 942 | 49.4 |
| VisionHOPE-S | 81.8 | 1043 | 50.3 |
| VisionHOPE-B | 121.2 | 1200 | 51.8 |
💡 一个有趣的现象:COCO 上Tiny + 3× 训练 ≈ Small + 1×(49.4 vs 49.5 Box AP),说明小骨干对"多训几轮"的性价比极高。
怎么选?三档模型选型指南 🎯
按任务场景直接对号入座:
选 Tiny:低延迟、边缘部署、快速实验
- FLOPs 不到 Small 的一半(4.9G vs 9.8G),是三者中唯一适合端侧/移动端推理的档位;
- 84.1% 的 Top-1 已超过多数 20M 参数级经典骨干;
- 适合:原型验证、批量推理服务、COCO 1× 预算受限的场景。
选 Small:多数场景的最优平衡点 ✅
- 参数翻倍只换来 1.1 个点(85.2%),但分类精度已接近饱和区间,同时密集任务(mIoU 50.3)提升明显;
- 官方训练/评估脚本(如 scripts/train/visionhope_small.sh、scripts/test/visionhope_small.sh)也以最完整的任务覆盖作为默认示例;
- 适合:通用骨干、检测 + 分割都要做、训练预算中等。
选 Base:追求 SOTA 上限
- 分类提升边际较小(+0.4 点),但在 ADE20K 上拉开到51.8 mIoU(比 Small 高 1.5 点),是密集预测任务的最强选择;
- 推理 FLOPs 达到 17.3G,请确认显存与吞吐预算;
- 适合:高精度语义分割、对延迟不敏感的离线分析管线。
一句话总结:端侧选 Tiny,通用选 Small,密集任务冲上限选 Base。
快速上手:加载权重与查看复杂度 🔧
模型名与 checkpoint 文件名的对应关系定义在 tasks/specs.py:
| 模型名 | 分类权重 | COCO 权重 | ADE20K 权重 |
|---|---|---|---|
visionhope_tiny | visionhope_tiny.pth | visionhope_tiny_coco_1x.pth | visionhope_tiny_ade20k.pth |
visionhope_small | visionhope_small.pth | visionhope_small_coco_3x.pth | visionhope_small_ade20k.pth |
visionhope_base | visionhope_base.pth | visionhope_base_coco_1x.pth | visionhope_base_ade20k.pth |
权重放入weights/目录后,加载模型只需一行(接口见 models/factory.py):
from visionhope.models import create_model model = create_model("visionhope_small", checkpoint_path="weights/visionhope_small.pth")不确定自己 GPU 上跑得动哪个档位?不用数据集即可直接测量参数量、FLOPs、吞吐与显存(入口 run_inference.sh):
bash run_inference.sh complexity --model visionhope_small bash run_inference.sh efficiency --model visionhope_base训练则直接换用对应脚本,例如 8 卡训练 VisionHOPE-S:
NPROC_PER_NODE=8 bash scripts/train/visionhope_small.sh \ --data-root data/imagenet --output outputs/visionhope_small总结:一张表带走核心结论 📌
| 你的需求 | 推荐档位 | 关键依据 |
|---|---|---|
| 边缘/移动端推理 | Tiny | 4.9G FLOPs、26.6M 参数,最低算力门槛 |
| 通用骨干、多任务 | Small | 85.2% Top-1,检测分割均均衡 |
| 语义分割冲精度 | Base | ADE20K 51.8 mIoU,三档最高 |
| 训练预算有限 | Tiny + 3× 调度 | COCO 49.4 Box AP ≈ Small 1× 水平 |
VisionHOPE 三档规格覆盖了从 4.9G 到 17.3G FLOPs 的完整区间,且共享同一套 SRNL 算子与层级结构——选型时不必担心换档带来的工程成本。建议先用run_inference.sh efficiency在自己的 GPU 上实测目标档位,再决定最终 checkpoint。
【免费下载链接】VisionHOPE
Official PyTorch implementation of VisionHOPE: Visual Backbones as Self-Modifying Learning Systems.
相关推荐
一键导出QQ空间全部历史说说:Excel、图片与网页时间线全交付
一键导出QQ空间全部历史说说:Excel、图片与网页时间线全交付 跑完一遍 GetQzonehistory,你会在 resource/result/你的QQ号/
网页爬虫数据分析Buzz模型大小对比:tiny/base/small模型适用场景分析
Buzz模型大小对比:tiny/base/small模型适用场景分析 引言:离线语音转写的模型选择困境 你是否曾面临这样的困境:在笔记本电脑上运行语音转写时,T
人工智能语音音频本地部署桌面应用BEVFormer模型对比分析:Tiny、Small、Base、V2版本如何选择
BEVFormer模型对比分析:Tiny、Small、Base、V2版本如何选择 BEVFormer作为ECCV 2022的突破性工作,彻底改变了自动驾驶感知领
人工智能深度学习计算机视觉自动驾驶
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考