diff options
author | lialenck <lialenck@noreply.codeberg.org> | 2023-09-20 20:29:11 +0000 |
---|---|---|
committer | lialenck <lialenck@noreply.codeberg.org> | 2023-09-20 20:29:11 +0000 |
commit | c65db2b7bf16f1e1b4f35cf796d3d1d78c1a9332 (patch) | |
tree | 6698bf8fb3e3b6c77207533b970badfe6c9b2eb4 /src/main.rs | |
parent | fbfee0a2bb436a6205d67f561dbd6284621504d6 (diff) | |
parent | bcfc1b328f10188567ec99720a04418dec728868 (diff) | |
download | embeddings-sort-c65db2b7bf16f1e1b4f35cf796d3d1d78c1a9332.tar embeddings-sort-c65db2b7bf16f1e1b4f35cf796d3d1d78c1a9332.tar.bz2 embeddings-sort-c65db2b7bf16f1e1b4f35cf796d3d1d78c1a9332.tar.zst |
Merge pull request 'support for different vector metrics' (#1) from metamuffin/embeddings-sort:main into main
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..f9bf4fc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,7 +19,9 @@ enum Embedder { Brightness, Hue, Color, - Content, + ContentEuclidean, + ContentAngularDistance, + 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::ContentAngularDistance => { + process_embedder(ContentEmbedder::<AngularDistance>::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 { |