fix(simclr): 周期性落盘,中途中断不再丢失训练成果
此前 fit() 只在全部 epoch 跑完后才保存骨架,一次跑到 epoch 12 被停掉后 13 分钟的训练全部作废。 - 每 save_interval(默认 5)个 epoch 保存一次骨架 - 捕获 KeyboardInterrupt,中断时先落盘再返回 - 聚类脚本改用 resolve_device,自监督分支不再有 GPU 守卫 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
141cb907f2
commit
b6f83fcad0
@@ -22,12 +22,12 @@
|
||||
|
||||
work_dir: runs/cluster
|
||||
seed: 42
|
||||
device: cuda # method=pretrained 时可以 --set device=cpu
|
||||
device: auto # auto 按 cuda > mps > cpu 挑最快的可用后端;也可写 cuda / mps / cpu
|
||||
|
||||
num_clusters: 6 # 想分几类改这里(或 --num-clusters 6)
|
||||
num_clusters: 4 # 想分几类改这里(或 --num-clusters 6)
|
||||
|
||||
# pretrained: ImageNet 预训练卷积骨架直接抽特征,不训练,CPU 也能跑,几分钟出结果。
|
||||
# simclr: 在本目录数据上自监督训练项目自己的卷积骨架,域适配更好,需要 Nvidia GPU。
|
||||
# simclr: 在本目录数据上自监督训练项目自己的卷积骨架,域适配更好;Mac 上走 MPS 即可。
|
||||
method: pretrained
|
||||
|
||||
# method=pretrained 用的骨架(method=simclr 的骨架配在 simclr.backbone,两者字段完全不同,
|
||||
@@ -97,7 +97,8 @@ simclr:
|
||||
epochs: 100
|
||||
batch_size: 256
|
||||
temperature: 0.2 # 越小越关注难负样本
|
||||
amp: true
|
||||
amp: auto # CUDA 上开、MPS 上关
|
||||
save_interval: 5 # 每 5 个 epoch 落一次盘,中途中断也能拿到权重
|
||||
log_interval: 20
|
||||
checkpoint: null # 填已有的 simclr_backbone.pth 可跳过重复训练
|
||||
projection: {hidden_channels: 256, out_channels: 128}
|
||||
|
||||
Reference in New Issue
Block a user