You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Label-free visualization for pretrain / finetune / extract
--visualize-data (pretrain/finetune) and --label-csv (extract) now accept a CSV with an image column and an optionallabel column.
Image-only or single-class input still produces a UMAP plot; supervised metrics are skipped (they are meaningless without ≥ 2 classes):
extract: metrics.csv is written only when ≥ 2 label classes exist.
pretrain/finetune: the per-epoch metric row is retained with supervised fields left empty, plus an explicit skip message.
--metrics-sample-size now caps both metrics and UMAP inputs; <= 0 disables the cap. Sampling below 10 points prints an explicit "Skipping UMAP" message instead of failing silently.
extract --label-csv without an image column now fails fast with a clear error (previously an unreachable fallback).
Evaluator hardening
kNN accuracy skips k values larger than the CV training fold, avoiding sklearn warnings/NaNs on small sets.
UMAP clamps n_neighbors to the sample count, so small CSVs render instead of erroring.
KMeans clustering guards against duplicate/degenerate embeddings and CV folds respect the smallest class size.
Attention-pool
When no cached pooling checkpoint exists, attention-pool still requires labels; the CSV is validated (image + label columns) before the training-start message is printed.
Docs & tooling
CLI help, README (EN/CN), and the design spec updated; regression tests added for image-only UMAP, single-class inputs, sampling caps, and small-sample warnings.