【免费下载链接】VisionHOPE
Official PyTorch implementation of VisionHOPE: Visual Backbones as Self-Modifying Learning Systems.
本文带你完整走通VisionHOPE 目标检测全流程:在 COCO 2017 数据集上训练与评估基于 Mask R-CNN 的实例检测模型。VisionHOPE 是 "Visual Backbones as Self-Modifying Learning Systems"(把视觉骨干网络当作可自修改的学习系统)的官方 PyTorch 实现,内置 COCO 检测、ADE20K 分割和 ImageNet 分类三大任务的训练/评估脚本,开箱即用。
1. 项目简介:VisionHOPE 是什么?
VisionHOPE 的核心是一种名为SRNL(自引用嵌套学习)的骨干网络,它在处理图像的过程中让"模型记住什么"和"如何更新记忆"共同演化。VisionHOPE 算子包含三个关键设计:
- 五组耦合记忆:分别存储内容、生成 key/value 表征、控制学习率与记忆保留,随视觉上下文累积协同演化;
- 稳定更新机制:软注入上限 + 谱值钳制,保证 token 级与 chunk 级记忆递推不发散;
- 四方向空间扫描:按行/列对齐做 4 个方向的扫描,再空间恢复并学习通道级融合。
项目提供Tiny / Small / Base三档分层骨干,COCO 检测任务中搭配 FPN 颈部 + 双分支 Mask R-CNN(RPN + RoI 头),具体配置见 tasks/detection/config.py。
2. 环境准备:安装依赖与数据集
2.1 安装依赖
目标检测依赖 MMCV/MMDET 生态,建议使用Linux + NVIDIA GPU + CUDA 12.1 + Python 3.10,并与分类任务使用相互独立的 Python 环境:
git clone https://gitcode.com/gh_mirrors/vi/VisionHOPE cd VisionHOPE python -m pip install torch==2.1.0 torchvision==0.16.0 # 按 README 说明安装 mmcv==2.1.0(cu121/torch2.1 版本)后: python -m pip install -r requirements/detection.txt python -m pip install --no-deps -e .检测任务的完整依赖清单(mmdet、pycocotools 等)在 requirements/detection.txt。CUDA 扩展会在首次使用时自动编译。
2.2 准备 COCO 2017 数据集
从 COCO 官网下载 2017 版本,按如下结构摆放(或用--data-root指定其他位置):
data/coco/ ├── train2017/ ├── val2017/ └── annotations/instances_{train,val}2017.json2.3 下载预训练权重
COCO 训练强烈建议使用 ImageNet 预训练的 VisionHOPE 骨干初始化。权重文件统一放在weights/目录(可用WEIGHTS_ROOT环境变量改路径):
python -m pip install --upgrade huggingface_hub hf download PSRben/VisionHOPE visionhope_small.pth --local-dir weights3. 训练:COCO Mask R-CNN 一键启动 🚀
训练脚本位于 scripts/train/,每个模型大小对应 1×(12 epochs)与 3×(36 epochs)两种训练计划,例如:
| 脚本 | 说明 |
|---|---|
| visionhope_tiny_coco_1x.sh | Tiny 骨干,1× 计划 |
| visionhope_small_coco_1x.sh | Small 骨干,1× 计划 |
| visionhope_base_coco_1x.sh | Base 骨干,1× 计划 |
| visionhope_small_coco_3x.sh | Small 骨干,3× 计划 |
以 8 卡训练 VisionHOPE-S(1× 计划)为例:
NPROC_PER_NODE=8 bash scripts/train/visionhope_small_coco_1x.sh \ --data-root data/coco --pretrained weights/visionhope_small.pth常用参数说明(完整帮助:python -m visionhope.tasks.cli train detection --help):
NPROC_PER_NODE:GPU 数量,默认 8;单卡设为 1 即可;--batch-size:每 GPU批量(默认 8),学习率按全局批量自动缩放,除非显式传--lr;--pretrained:ImageNet 骨干权重路径,检测/分割任务默认自动加载;--resume outputs/.../training_state.pth:断点续训。
📁 输出默认落在outputs/train/<脚本名>/:用best.pth做评估,training_state.pth用于续训;--save-top-k(默认 5)控制按 bbox mAP 保留的 top-k 检查点。
4. 评估:COCO val2017 一键测试
对应的测试脚本在 scripts/test/,以 Small 1× 为例:
CUDA_VISIBLE_DEVICES=0 bash scripts/test/visionhope_small_coco_1x.sh \ --data-root data/coco --checkpoint weights/visionhope_small_coco_1x.pth脚本内部等价于执行 run_inference.sh(即python -m visionhope.tasks.cli inference detection ...),默认使用fused 快速推理模式(--mode ordinary可关闭)、FP32 精度、1333×800测试尺度。常用可调参数:
--test-scale W H:保持宽高比的测试缩放,默认1333 800;--precision fp16/bf16:混合精度评估;--limit N:只评估 N 张图,适合快速验证流程。
✅ 结果保存在outputs/test/<脚本名>/,包含 Box AP、Mask AP 等 COCO 指标(bbox+segm双指标),多次评估可用--output指定不同目录。
5. 官方结果参考 📊
COCO val2017 上 Mask R-CNN 的官方成绩(ImageNet 预训练初始化,完整检测器 FLOPs 在 1280×800 下统计):
1× 计划
| 骨干 | FLOPs (G) | Box AP ↑ | Mask AP ↑ |
|---|---|---|---|
| VisionHOPE-T | 266 | 47.9 | 43.1 |
| VisionHOPE-S | 365 | 49.5 | 44.2 |
| VisionHOPE-B | 516 | 50.5 | 45.0 |
3× 计划
| 骨干 | FLOPs (G) | Box AP ↑ | Mask AP ↑ |
|---|---|---|---|
| VisionHOPE-T | 266 | 49.4 | 44.1 |
| VisionHOPE-S | 365 | 50.5 | 45.0 |
可以看到,仅 266G FLOPs 的 VisionHOPE-T 在 1× 短训练下就拿到 47.9 Box AP,效率相当能打。
6. 新手避坑清单 ⚠️
- 环境隔离:COCO 与 ADE20K 任务建议各自使用独立的 Python 3.10 环境,避免 mmcv 版本冲突;
- 权重命名规则:COCO 检查点格式为
visionhope_<size>_coco_<schedule>.pth(如visionhope_small_coco_3x.pth),与 ImageNet 的visionhope_<size>.pth区分开; --share-direction-skip必须与训练时一致:训练脚本默认开启该选项,评估时保持一致;- 学习率缩放:改批量时 lr 会按全局批量线性缩放,追求可复现可显式传
--lr; - 查看参数:任何时候执行
python -m visionhope.tasks.cli train detection --help或inference detection --help即可查看全部参数与默认值,更多说明见 tasks/README.md。
按以上步骤,你只需几行命令就能完成 VisionHOPE 目标检测从环境搭建、COCO Mask R-CNN 训练到评估的全流程。如需进一步扩展,可继续阅读 README.md 中的分类/分割任务与高效推理章节。
【免费下载链接】VisionHOPE
Official PyTorch implementation of VisionHOPE: Visual Backbones as Self-Modifying Learning Systems.
相关推荐
Detectron 快速上手实战指南:基于 COCO 的模型推理与训练全流程(Mask R-CNN / Faster R-CNN)
Detectron 快速上手实战指南:基于 COCO 的模型推理与训练全流程(Mask R CNN / Faster R CNN) 本文以仓库根目录下的 GET
计算机视觉深度学习在 CoreNet 中使用 CatLIP 预训练模型进行 MS-COCO 目标检测:Mask R-CNN 训练与评估完整指南
在 CoreNet 中使用 CatLIP 预训练模型进行 MS COCO 目标检测:Mask R CNN 训练与评估完整指南 CatLIP(CLIP level
深度学习计算机视觉NLP多模态模型训练大模型ConvNeXt COCO 目标检测与实例分割实战指南:Mask R-CNN 与 Cascade Mask R-CNN 配置、训练与推理全解
ConvNeXt COCO 目标检测与实例分割实战指南:Mask R CNN 与 Cascade Mask R CNN 配置、训练与推理全解 导读 :本文围绕
人工智能深度学习计算机视觉预训练微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考