diff options
author | Lia Lenckowski <lialenck@protonmail.com> | 2023-09-07 16:41:02 +0200 |
---|---|---|
committer | Lia Lenckowski <lialenck@protonmail.com> | 2023-09-07 16:41:02 +0200 |
commit | ad8e831a5cbe5bb65d0567d4bdde95bd3ef3de75 (patch) | |
tree | 355c1ed5244495090b914e9136e977ae22956585 /src/embedders.rs | |
parent | c4b03717914e5c907f7f47dc2a85df6b57763c58 (diff) | |
download | embeddings-sort-ad8e831a5cbe5bb65d0567d4bdde95bd3ef3de75.tar embeddings-sort-ad8e831a5cbe5bb65d0567d4bdde95bd3ef3de75.tar.bz2 embeddings-sort-ad8e831a5cbe5bb65d0567d4bdde95bd3ef3de75.tar.zst |
add progress bars/spinners
Diffstat (limited to 'src/embedders.rs')
-rw-r--r-- | src/embedders.rs | 14 |
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() } } |