docs: 修正 clusters/ 是软链的说法
默认 link_mode 是 hard(scripts/cluster_unlabeled.py 与 configs/cluster/film.yaml 都是),README 里却有三处说成软链,与同一节上文"放的是硬链接"自相矛盾。 - 产出清单与导出小节改为硬链接。 - "导出的是真实文件(不是软链)"在硬链接下不成立——条目本身就是原图数据, 复制的意义是脱离 runs/ 路径、去掉排序前缀、避免删改牵连原图。 - 跨机器那条注记原本只讲失效软链,补成 SourceResolver 实际处理的三种条目 (硬链接走 inode 反查 assignments.csv / 有效软链 / 失效软链重定位)。 - scripts/export_clusters.py 的 docstring 是同一处错误,一并修正。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
29ff7a2c9b
commit
6a8941c18a
@@ -3,9 +3,9 @@
|
||||
|
||||
uv run python scripts/export_clusters.py --work-dir runs/orgnized_from_r101_k40
|
||||
|
||||
聚类脚本产出的 `clusters/` 里是**软链**,方便人工翻看、调整——可以把图在子目录之间
|
||||
挪动、删掉分错的、把 `cluster_03` 改名成 `grease`。这个脚本以整理后的目录为准,
|
||||
把每张图的**真实文件**复制出来:
|
||||
聚类脚本产出的 `clusters/` 默认是**硬链接**(`link_mode: hard`),方便人工翻看、调整——
|
||||
可以把图在子目录之间挪动、删掉分错的、把 `cluster_03` 改名成 `grease`。这个脚本以整理后的
|
||||
目录为准,把每张图**复制**成独立的副本:
|
||||
|
||||
```
|
||||
data/orgnized_from_r101_k40/
|
||||
@@ -15,14 +15,14 @@ data/orgnized_from_r101_k40/
|
||||
└── manifest.json # 每张图的原始路径与所属类别,便于追溯
|
||||
```
|
||||
|
||||
**软链失效也没关系。** 从服务器拷回来的 clusters/ 目录,软链指向的是服务器路径
|
||||
(`/home/deep/ModelTrainEval/data/raw/...`),在本机全部失效。脚本会读出链接目标,
|
||||
按其中的 `data/` 段重新落到本机 `--source-root` 上;万一还找不到,再用文件名在
|
||||
源目录里兜底索引一次。
|
||||
|
||||
clusters/ 里若是**硬链接**(`link_mode: hard`,默认),条目本身就是原图;脚本按 inode
|
||||
**硬链接条目本身就是原图**,只是路径在 runs/ 下、文件名带着排序前缀。脚本按 inode
|
||||
反查 assignments.csv 认出它对应哪张原图,好让文件名和 `--prefix-parent` 拿到真正的来源。
|
||||
|
||||
**软链失效也没关系**(`link_mode: sym` 时)。从服务器拷回来的 clusters/ 目录,软链指向的
|
||||
是服务器路径(`/home/deep/ModelTrainEval/data/raw/...`),在本机全部失效。脚本会读出链接
|
||||
目标,按其中的 `data/` 段重新落到本机 `--source-root` 上;万一还找不到,再用文件名在
|
||||
源目录里兜底索引一次。
|
||||
|
||||
导出的文件名用**原图的名字**,不带 clusters/ 里的 `0125_` 排序前缀。
|
||||
加 `--prefix-parent` 则再拼上原父目录名(`反面纵黑点/abc.png` -> `反面纵黑点_abc.png`),
|
||||
便于导出后仍能看出图片来自哪个原始目录。
|
||||
|
||||
Reference in New Issue
Block a user