Files
usls/examples/dinov2/main.rs
2025-05-16 15:45:27 +08:00

25 lines
675 B
Rust

use anyhow::Result;
use usls::{models::DINOv2, DataLoader, ModelConfig};
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();
// images
let xs = DataLoader::try_read_n(&["./assets/bus.jpg", "./assets/bus.jpg"])?;
// model
let config = ModelConfig::dinov2_small()
.with_batch_size_all(xs.len())
.commit()?;
let mut model = DINOv2::new(config)?;
// encode images
let y = model.encode_images(&xs)?;
println!("Feat shape: {:?}", y.shape());
Ok(())
}