diff options
author | metamuffin <metamuffin@disroot.org> | 2023-09-20 17:23:45 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-09-20 17:23:45 +0200 |
commit | 4a17c06f22d3236da6f30c397695ef3771a9d393 (patch) | |
tree | 5d8477d40ad4119406d93e01541bf97bdcc85c0f /src/main.rs | |
parent | fbfee0a2bb436a6205d67f561dbd6284621504d6 (diff) | |
download | embeddings-sort-4a17c06f22d3236da6f30c397695ef3771a9d393.tar embeddings-sort-4a17c06f22d3236da6f30c397695ef3771a9d393.tar.bz2 embeddings-sort-4a17c06f22d3236da6f30c397695ef3771a9d393.tar.zst |
support for different vector metrics
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index 474532c..2dda2da 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,7 +19,9 @@ enum Embedder { Brightness, Hue, Color, - Content, + ContentEuclidean, + ContentCosineSim, + ContentManhatten, } #[derive(Debug, Clone, Copy, clap::ValueEnum)] @@ -32,7 +34,7 @@ enum TspAlg { #[derive(Debug, Parser)] struct Args { /// Characteristic to sort by - #[arg(short, long, default_value = "content")] + #[arg(short, long, default_value = "content-euclidean")] embedder: Embedder, /// Symlink the sorted images into this directory @@ -175,7 +177,15 @@ fn main() -> Result<()> { Embedder::Brightness => process_embedder(BrightnessEmbedder, &args, &cfg), Embedder::Hue => process_embedder(HueEmbedder, &args, &cfg), Embedder::Color => process_embedder(ColorEmbedder, &args, &cfg), - Embedder::Content => process_embedder(ContentEmbedder::new(&cfg), &args, &cfg), + Embedder::ContentCosineSim => { + process_embedder(ContentEmbedder::<CosineSimilarity>::new(&cfg), &args, &cfg) + } + Embedder::ContentEuclidean => { + process_embedder(ContentEmbedder::<EuclidianDistance>::new(&cfg), &args, &cfg) + } + Embedder::ContentManhatten => { + process_embedder(ContentEmbedder::<ManhattenDistance>::new(&cfg), &args, &cfg) + } }?; if args.benchmark { |