dspk_synapse_ml/lib.rs
1//! `dspk-synapse-ml`: pretrained neuro models from the literature, each traceable to its authors.
2//! The spike sorters live in their own crates, one per upstream project, each under its upstream's
3//! licence (`dspk-sorter-kilosort`, `dspk-sorter-ms5`, `dspk-sorter-si`).
4//!
5//! - [`models`]: pretrained networks run as released (parked until their artifacts are verified).
6//! - [`manifest`]: how to run each published model (format, tensors, provenance); with feature
7//! `hub` its file is downloaded through the `dspk-hub` catalog.
8//! - [`provenance`]: paper, code, license and download source of every sorter and model
9//! (from `dspk-synapse`).
10//! - [`runtime`]: tensor execution for the pretrained models.
11
12pub mod manifest;
13pub mod models;
14pub mod runtime;
15
16// Provenance lives in dspk-synapse (shared by the models here and the sorter crates)
17pub use dspk_synapse::provenance;
18pub use provenance::{ArtifactSource, Attributed, Paper, Provenance, ProvenanceKind, UpstreamCode};
19
20pub use manifest::{
21 ArraySpec, ModelCatalog, ModelFormat, ModelManifest, SafetensorEntryHeader, SafetensorsMap,
22 TensorIoSpec, TensorPortSpec,
23};
24pub use models::{
25 DARTSORT_DENOISER_MODEL_ID, DARTSORT_VAE_MODEL_ID, DartsortVaeEmbedder, DartsortWaveformDenoiser,
26 SPIKENET2_IED_MODEL_ID, SpikeNet2Detector, UNITREFINE_CURATION_MODEL_ID, UnitCurationResult,
27 UnitRefineClassifier,
28};
29pub use runtime::{OnnxRuntimeSession, RuntimeTensor, burn_conv1d, burn_linear_2d, validate_tensor_port};