aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-09-20 17:23:45 +0200
committermetamuffin <metamuffin@disroot.org>2023-09-20 17:23:45 +0200
commit4a17c06f22d3236da6f30c397695ef3771a9d393 (patch)
tree5d8477d40ad4119406d93e01541bf97bdcc85c0f /src/main.rs
parentfbfee0a2bb436a6205d67f561dbd6284621504d6 (diff)
downloadembeddings-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.rs16
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 {