feat(configs): 新增 resnet101 的自监督聚类配置
resnet101 此前不在 TorchvisionBackbone 的支持列表里,先补进 _SUPPORTED (out_channels 2048),随后被既有的参数化测试自动覆盖:能前向、声明维度与实际一致。 configs/cluster/film_simclr_resnet101.yaml 仿照 resnet18/50 两份,只改骨架与 batch_size,其余超参一致以便横向对比: - 42.5M 参数(resnet18 11.2M / resnet50 23.5M),layer2+3 仍是 1536 维, 与 resnet50 相同,差别在深度(layer3 有 23 个 block 而非 6 个) - batch_size 取 128:MPS 上 resnet50 在 1024 已 OOM,resnet101 约重 1.8 倍故再降一档; 注释里说明该数字来自 MPS,16 GB 独显上可往上调 - pretrained 首次使用会下载约 171 MB 权重 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c9e7e4104c
commit
6e543660ce
@@ -470,7 +470,7 @@ view_transforms: # 生成两个视图的随机增强
|
||||
|
||||
#### 换一个骨架
|
||||
|
||||
**仓库自带 resnet18 / resnet50 的现成配置**,直接用:
|
||||
**仓库自带 resnet18 / resnet50 / resnet101 的现成配置**,直接用:
|
||||
|
||||
```bash
|
||||
uv run python scripts/cluster_unlabeled.py --config configs/cluster/film_simclr_resnet18.yaml \
|
||||
@@ -478,6 +478,9 @@ uv run python scripts/cluster_unlabeled.py --config configs/cluster/film_simclr_
|
||||
|
||||
uv run python scripts/cluster_unlabeled.py --config configs/cluster/film_simclr_resnet50.yaml \
|
||||
--work-dir runs/simclr_r50 --set simclr.epochs=40
|
||||
|
||||
uv run python scripts/cluster_unlabeled.py --config configs/cluster/film_simclr_resnet101.yaml \
|
||||
--work-dir runs/simclr_r101 --set simclr.epochs=40
|
||||
```
|
||||
|
||||
两者在 Apple MPS 上的实测开销(14,579 张,128×128 双视图):
|
||||
@@ -486,6 +489,7 @@ uv run python scripts/cluster_unlabeled.py --config configs/cluster/film_simclr_
|
||||
| --- | --- | --- | --- | --- |
|
||||
| resnet18 | 11.2M | 384 | 约 93 秒 | 1024 可用 |
|
||||
| resnet50 | 23.5M | 1536 | 约 155 秒 | **1024 会 OOM**(需 18.7 GiB),配置里用 256 |
|
||||
| resnet101 | 42.5M | 1536 | 未实测 | 配置里用 128(按规模比例保守取值) |
|
||||
|
||||
resnet50 每 epoch 的耗时与 batch 基本无关(算力受限),所以显存不够时往下调 batch 不花额外时间,
|
||||
只是 NT-Xent 的负样本变少。
|
||||
@@ -508,7 +512,8 @@ resnet18 参数量是 tiny_conv 的 37 倍(11.2M vs 0.3M),1 个 epoch 远
|
||||
| --- | --- | --- | --- |
|
||||
| `tiny_conv` | — | 256(可调) | 自研深度可分离卷积,默认,最轻 |
|
||||
| `torchvision` | `resnet18` / `resnet34` | 512 | 通用基线 |
|
||||
| `torchvision` | `resnet50` | 2048 | 最强也最重,MPS 上注意 batch |
|
||||
| `torchvision` | `resnet50` | 2048 | 更强也更重,MPS 上注意 batch |
|
||||
| `torchvision` | `resnet101` | 2048 | 最深,首次使用会下载约 171 MB 权重 |
|
||||
| `torchvision` | `mobilenet_v3_small` / `_large` | 576 / 960 | 面向实时部署 |
|
||||
| `torchvision` | `shufflenet_v2_x1_0` | 1024 | 同上 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user