/usls

A Rust library integrated with ONNXRuntime, providing a collection of ML models.

Primary LanguageRustMIT LicenseMIT

usls

| Documentation |

ONNXRuntime Release Page CUDA Toolkit Page TensorRT Page

Crates Page Crates.io Total Downloads

usls is a Rust library integrated with ONNXRuntime that provides a collection of state-of-the-art models for Computer Vision and Vision-Language tasks, including:

Click to expand Supported Models

Supported Models

Model Task / Type Example CUDA f32 CUDA f16 TensorRT f32 TensorRT f16
YOLOv5 Classification
Object Detection
Instance Segmentation
demo
YOLOv6 Object Detection demo
YOLOv7 Object Detection demo
YOLOv8 Object Detection
Instance Segmentation
Classification
Oriented Object Detection
Keypoint Detection
demo
YOLOv9 Object Detection demo
YOLOv10 Object Detection demo
RTDETR Object Detection demo
FastSAM Instance Segmentation demo
SAM Segment Anything demo
SAM2 Segment Anything demo
MobileSAM Segment Anything demo
EdgeSAM Segment Anything demo
SAM-HQ Segment Anything demo
YOLO-World Object Detection demo
DINOv2 Vision-Self-Supervised demo
CLIP Vision-Language demo ✅ Visual
❌ Textual
✅ Visual
❌ Textual
BLIP Vision-Language demo ✅ Visual
❌ Textual
✅ Visual
❌ Textual
DB Text Detection demo
SVTR Text Recognition demo
RTMO Keypoint Detection demo
YOLOPv2 Panoptic Driving Perception demo
Depth-Anything Monocular Depth Estimation demo
MODNet Image Matting demo
GroundingDINO Open-Set Detection With Language demo
Sapiens Body Part Segmentation demo

⛳️ ONNXRuntime Linking

You have two options to link the ONNXRuntime library

  • Option 1: Manual Linking

    • For detailed setup instructions, refer to the ORT documentation.

    • For Linux or macOS Users:

      • Download the ONNX Runtime package from the Releases page.
      • Set up the library path by exporting the ORT_DYLIB_PATH environment variable:
        export ORT_DYLIB_PATH=/path/to/onnxruntime/lib/libonnxruntime.so.1.19.0
  • Option 2: Automatic Download

    Just use --features auto

    cargo run -r --example yolo --features auto

🎈 Quick Start

cargo run -r --example yolo   # blip, clip, yolop, svtr, db, ...

🥂 Integrate Into Your Own Project

Add usls as a dependency to your project's Cargo.toml

cargo add usls

Or use a specific commit:

[dependencies]
usls = { git = "https://github.com/jamjamjon/usls", rev = "commit-sha" }

📌 License

This project is licensed under LICENSE.