Skip to main content

Crate yscv

Crate yscv 

Source
Expand description

YSCV is a pure-Rust computer vision and deep learning framework with SIMD-accelerated tensor operations, image processing, model training, and ONNX inference.

§Quick start

use yscv::prelude::*;

// Create a tensor and run a simple operation.
let a = Tensor::from_vec(vec![2, 3], vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0]).unwrap();
let b = a.scale(2.0);
assert_eq!(b.sum(), 42.0);

// Load an ONNX model and run inference.
// let runner = yscv::onnx::OnnxRunner::load("model.onnx").unwrap();
// let output = runner.run(&[("input", &input_tensor)]).unwrap();

§Module overview

ModuleDescription
tensorN-dimensional tensor with SIMD-accelerated math
autogradAutomatic differentiation compute graph
optimOptimizers (SGD, Adam, AdamW, LAMB, RAdam)
kernelsLow-level SIMD/GPU compute kernels
modelModel building, training, data loading, losses
imgprocImage I/O, filtering, color, morphology, features
videoVideo capture and frame processing
detectObject detection utilities
recognizeRecognition / embedding search
trackMulti-object tracking (Hungarian, etc.)
evalEvaluation metrics (accuracy, F1, confusion matrix)
onnxONNX model loading and inference
cliCommand-line interface helpers

Re-exports§

pub use yscv_autograd as autograd;
pub use yscv_cli as cli;
pub use yscv_detect as detect;
pub use yscv_eval as eval;
pub use yscv_imgproc as imgproc;
pub use yscv_kernels as kernels;
pub use yscv_model as model;
pub use yscv_onnx as onnx;
pub use yscv_optim as optim;
pub use yscv_recognize as recognize;
pub use yscv_tensor as tensor;
pub use yscv_track as track;
pub use yscv_video as video;

Modules§

prelude
Commonly used types from across the yscv ecosystem.