diff --git a/makefile b/makefile index 4268fd8..3dd1b09 100644 --- a/makefile +++ b/makefile @@ -59,7 +59,7 @@ sort_umap: python scripts/sortcolor.py -s umap --dpi 300 --seed 21 parallel_umap: - parallel -j 8 python scripts/sortcolor.py -s umap --dpi 300 --seed ::: {1..8} + parallel -j 12 python scripts/sortcolor.py -s umap --dpi 300 --seed ::: $$(seq 101 112) sort_lex: python scripts/sortcolor.py -s lex --dpi 300 diff --git a/scripts/lex_sorted_indices.npy b/scripts/lex_sorted_indices.npy deleted file mode 100644 index 971bb7a..0000000 Binary files a/scripts/lex_sorted_indices.npy and /dev/null differ diff --git a/scripts/sortcolor.py b/scripts/sortcolor.py index d50bc00..8ceb975 100644 --- a/scripts/sortcolor.py +++ b/scripts/sortcolor.py @@ -86,14 +86,16 @@ elif KIND == "umap": reducer = UMAP( n_components=1, n_neighbors=250, - min_dist=0.005, + min_dist=1e-2, metric="euclidean", random_state=SEED, + negative_sample_rate=2, ) embedding = reducer.fit_transform(np.array(rgb_values)) # Sort colors by the 1D representation preds = embedding[:, 0] + del reducer, embedding elif KIND in ("cielab", "lab", "ciede2000"): from skimage.color import deltaE_ciede2000, rgb2lab @@ -130,10 +132,11 @@ else: sorted_indices = np.argsort(preds) # Save the sorted indices to disk -if (KIND == "umap" and SEED == 21) or (KIND != "umap"): - file_path = f"scripts/{KIND}_sorted_indices.npy" - np.save(file_path, sorted_indices) - print(f"Sorted indices saved to {file_path}") +# if (KIND == "umap") or (KIND != "umap"): +Path(f"scripts/{KIND}").mkdir(parents=True, exist_ok=True) +file_path = f"scripts/{KIND}/preds_{SEED:06d}.npy" +np.save(file_path, preds) +print(f"Predictions saved to {file_path}") # Sort colors by the 1D representation sorted_colors = [colors[i] for i in sorted_indices] @@ -280,18 +283,19 @@ def plot_preds( prefix = "" if KIND == "umap": - prefix = f"{SEED:02d}" + prefix = f"{SEED:04d}" fname = f"{DIR}/{prefix}{KIND}_sorted_colors_circle.png" plot_preds( preds, np.array(rgb_values), fname, - roll=True, + roll=False, dpi=DPI, inner_radius=INNER_RADIUS, figsize=(SIZE, SIZE), ) +print(f"saved {fname}") HILBERT = False