tsai-0.1.0 has been yanked.
tsai-rs
Time series deep learning in Rust — a feature-parity port of Python tsai.
Features
- Comprehensive Model Zoo: InceptionTimePlus, PatchTST, MiniRocket, RNNPlus, and more
- Data Augmentation: 30+ time series transforms (noise, warping, masking, etc.)
- Training Framework: Callbacks, schedulers, metrics, and checkpointing
- Analysis Tools: Confusion matrix, top losses, permutation importance
- Explainability: GradCAM, attention visualization, attribution maps
- Multiple Backends: CPU (ndarray), GPU (WGPU/Metal), or PyTorch (tch)
Quick Start
Add to your Cargo.toml:
[]
= "0.1"
Classification Example
use *;
Using sklearn-like API
use ;
let mut clf = new;
clf.fit?;
let predictions = clf.predict?;
Feature Flags
| Feature | Description |
|---|---|
backend-ndarray (default) |
CPU backend using ndarray |
backend-wgpu |
GPU backend (Metal on macOS, Vulkan on Linux/Windows) |
backend-mlx |
Native Apple Silicon GPU via MLX (macOS only) |
backend-tch |
PyTorch backend via tch-rs |
wandb |
Weights & Biases integration |
Enable GPU support:
# Cross-platform GPU (recommended for most users)
[]
= { = "0.1", = ["backend-wgpu"] }
# Native Apple Silicon (M1/M2/M3/M4 Macs)
[]
= { = "0.1", = ["backend-mlx"] }
Model Zoo
CNN Models
InceptionTimePlus- InceptionTime with improvementsResNetPlus- ResNet adapted for time seriesXceptionTimePlus- Xception-inspired architectureOmniScaleCNN- Multi-scale CNNXCMPlus- Explainable CNN
Transformer Models
TSTPlus- Time Series TransformerTSPerceiver- Perceiver for time seriesPatchTST- Patch-based Transformer
ROCKET Family
MiniRocket- Fast random convolutional featuresMultiRocketPlus- Multiple ROCKET kernelsHydraPlus- Hybrid ROCKET
RNN Models
RNNPlus- LSTM/GRU with improvementsRNNAttention- RNN with attention
Tabular Models
TabTransformer- Transformer for tabular dataTabFusionTransformer- Fusion of time series and tabular
Data Formats
tsai-rs supports multiple data formats:
// NumPy
let x = read_npy?;
let = read_npz?;
// CSV
let dataset = read_csv?;
// Parquet
let dataset = read_parquet?;
Transforms
Apply data augmentation during training:
use ;
let transform = new
.add
.add
.add;
Available transforms include:
- Noise:
GaussianNoise,MagAddNoise,MagMulNoise - Warping:
TimeWarp,WindowWarp,MagWarp - Masking:
CutOut,TimeStepOut,VarOut - Mixing:
MixUp1d,CutMix1d,IntraClassCutMix1d - Imaging:
TSToRP,TSToGASF,TSToGADF,TSToMTF
CLI
# Install CLI
# List available datasets
# Fetch a dataset
# Train a model
# Evaluate
Examples
See the examples/ directory for more:
ucr_inception_time.rs- UCR classification with InceptionTimePlusforecasting_patchtst.rs- Long-term forecasting with PatchTSTmultivariate_classification.rs- Multivariate time series classification
Benchmarks
Run benchmarks:
License
Apache-2.0. See LICENSE for details.
Acknowledgments
- tsai - The original Python library
- Burn - Rust deep learning framework
- Research papers cited in THIRD_PARTY_NOTICES.md
Contributing
Contributions welcome! Please read our contributing guidelines before submitting PRs.