aboutsummaryrefslogtreecommitdiff
path: root/src/embedders.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/embedders.rs')
-rw-r--r--src/embedders.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/embedders.rs b/src/embedders.rs
index 7257a27..97cc5ac 100644
--- a/src/embedders.rs
+++ b/src/embedders.rs
@@ -1,7 +1,8 @@
use anyhow::Result;
+use indicatif::{ParallelProgressIterator, ProgressStyle};
use rayon::prelude::*;
-use std::path::{Path, PathBuf};
use serde::{Deserialize, Serialize};
+use std::path::{Path, PathBuf};
pub trait MetricElem: Send + Sync + 'static + Serialize + for<'a> Deserialize<'a> {
fn dist(&self, _: &Self) -> f64;
@@ -32,11 +33,14 @@ impl<T: EmbedderT> BatchEmbedder for T {
const NAME: &'static str = T::NAME;
fn embeds(&mut self, paths: &[PathBuf]) -> Result<Vec<Self::Embedding>> {
+ let st = ProgressStyle::
+ with_template("{bar:20.cyan/blue} {pos}/{len} Embedding images...")?;
paths.par_iter()
- .map(|p| self.embed(p))
- .collect::<Vec<_>>()
- .into_iter()
- .try_collect()
+ .progress_with_style(st)
+ .map(|p| self.embed(p))
+ .collect::<Vec<_>>()
+ .into_iter()
+ .try_collect()
}
}