# office_vlm 预训练权重（vendor 共享）

`vlm_detection` / `semantic_nav` 首次运行会拉取约 **500MB** 权重。放入 JuiceFS **vendor** 后，各用户 workspace 通过 `setup_model_cache.sh` 幂等软链到 `~/.cache`，避免重复下载。

## 模型与下载地址

| 用途 | 代码 | 文件名 | 约大小 | 下载 URL |
|------|------|--------|--------|----------|
| Faster R-CNN v2 | `fasterrcnn_resnet50_fpn_v2(weights="DEFAULT")` | `fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth` | ~167 MB | https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth |
| CLIP ViT-B/32 | `clip.load("ViT-B/32")` | `ViT-B-32.pt` | ~338 MB | https://openaipublic.azureedge.net/clip/models/40d365715913c9da98579312b702a82c18be219cc2a73407c4526f58eba950af/ViT-B-32.pt |

CLIP 校验 SHA256：`40d365715913c9da98579312b702a82c18be219cc2a73407c4526f58eba950af`

本地打包目录示例（上传前）：

```text
office_vlm_models/
├── torch/hub/checkpoints/
│   └── fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth
└── clip/
    └── ViT-B-32.pt
```

## vendor 卷内路径（容器内 `/opt/vendor`）

```text
/opt/vendor/models/office_vlm/
├── torch/hub/checkpoints/fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth
└── clip/ViT-B-32.pt
```

运行时缓存（软链目标）：

| 框架 | 路径 |
|------|------|
| torchvision | `~/.cache/torch/hub/checkpoints/fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth` |
| CLIP | `~/.cache/clip/ViT-B-32.pt` |

## 各环境 vendor 挂载主机（读写）

| 环境 | SSH Host | 卷上路径（与 `/opt/vendor` 对应） |
|------|----------|-----------------------------------|
| **DEV** | `wpinfra` | `/mnt/jfs-dev/shared-libraries/vendor/models/office_vlm/` |
| **UAT** | `gpurunner` | `/data/vendor/models/office_vlm/` |
| **SIT** | `databallsitslave`（或 `databallsitmaster`） | `/data/vendor/models/office_vlm/` |
| **PROD** | `databallproddb` | `/data/vendor/models/office_vlm/` |

说明：

- Space 容器内 vendor 只读挂载为 `/opt/vendor`（与上表 `.../vendor/` 为同一 JuiceFS 树）。
- SIT 边缘 `databall01` 为 `/mnt/jfs-sit-vendor` → 容器 `/opt/vendor`。
- DEV→SIT vendor 全量同步见 `pms/scripts/juicefs/rsync_wpinfra_to_sit_vendor.sh`；本目录随 vendor 树一并同步。

## 本仓库脚本

| 脚本 | 作用 |
|------|------|
| `setup_model_cache.sh` | 幂等 `ln -sf` vendor → `~/.cache` |
| `gzsim_run.sh` | 启动仿真前自动 `source setup_model_cache.sh` |

运维上传脚本（pms 仓库）：`pms/scripts/vendor/upload_office_vlm_models.sh`

## 手动下载示例

```bash
mkdir -p office_vlm_models/torch/hub/checkpoints office_vlm_models/clip
curl -fL -o office_vlm_models/torch/hub/checkpoints/fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth \
  https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_v2_coco-dd69338a.pth
curl -fL -o office_vlm_models/clip/ViT-B-32.pt \
  https://openaipublic.azureedge.net/clip/models/40d365715913c9da98579312b702a82c18be219cc2a73407c4526f58eba950af/ViT-B-32.pt
sha256sum office_vlm_models/clip/ViT-B-32.pt
# 应等于 40d365715913c9da98579312b702a82c18be219cc2a73407c4526f58eba950af
```
