mirror of
https://github.com/mii443/usls.git
synced 2025-12-03 02:58:22 +00:00
🐍 v0.1.0 (#53)
This commit is contained in:
@@ -1,40 +1,25 @@
|
||||
use usls::{models::Dinov2, DataLoader, Options};
|
||||
use anyhow::Result;
|
||||
use usls::{models::DINOv2, DataLoader, Options};
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// build model
|
||||
let options = Options::default()
|
||||
.with_model("dinov2/s-dyn.onnx")?
|
||||
.with_ixx(0, 2, 224.into())
|
||||
.with_ixx(0, 3, 224.into());
|
||||
let mut model = Dinov2::new(options)?;
|
||||
let x = [DataLoader::try_read("images/bus.jpg")?];
|
||||
let y = model.run(&x)?;
|
||||
println!("{y:?}");
|
||||
fn main() -> Result<()> {
|
||||
tracing_subscriber::fmt()
|
||||
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
|
||||
.with_timer(tracing_subscriber::fmt::time::ChronoLocal::rfc_3339())
|
||||
.init();
|
||||
|
||||
// TODO:
|
||||
// query from vector
|
||||
// let ys = model.query_from_vec(
|
||||
// "./assets/bus.jpg",
|
||||
// &[
|
||||
// "./examples/dinov2/images/bus.jpg",
|
||||
// "./examples/dinov2/images/1.jpg",
|
||||
// "./examples/dinov2/images/2.jpg",
|
||||
// ],
|
||||
// Metric::L2,
|
||||
// )?;
|
||||
// images
|
||||
let xs = [
|
||||
DataLoader::try_read("./assets/bus.jpg")?,
|
||||
DataLoader::try_read("./assets/bus.jpg")?,
|
||||
];
|
||||
|
||||
// or query from folder
|
||||
// let ys = model.query_from_folder("./assets/bus.jpg", "./examples/dinov2/images", Metric::IP)?;
|
||||
// model
|
||||
let options = Options::dinov2_small().with_batch_size(xs.len()).commit()?;
|
||||
let mut model = DINOv2::new(options)?;
|
||||
|
||||
// results
|
||||
// for (i, y) in ys.iter().enumerate() {
|
||||
// println!(
|
||||
// "Top-{:<3}{:.7} {}",
|
||||
// i + 1,
|
||||
// y.1,
|
||||
// y.2.canonicalize()?.display()
|
||||
// );
|
||||
// }
|
||||
// encode images
|
||||
let y = model.encode_images(&xs)?;
|
||||
println!("Feat shape: {:?}", y.shape());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user