Tools
This page lists tools and libraries for building, training, and deploying machine learning models.
We follow a dual track approach:
- Python is the current focus of this tutorial, thanks to its simplicity and vast ecosystem.
- Rust will be introduced later, offering performance, safety, and modern systems programming advantages.
Both ecosystems are valuable. As you progress, you’ll see how ideas map across Python and Rust.
🐍 Python Tools
Python is the de facto language for AI/ML. It has an extensive ecosystem that supports everything from data preprocessing to large-scale deep learning.
Python Programming Language
- Purpose: High-level, beginner-friendly language.
- Explanation: Powers rapid experimentation and ML research.
- Open-Source: python.org
NumPy
- Purpose: Numerical computing.
- Explanation: Provides arrays, matrices, and vectorized math operations.
- Open-Source: github.com/numpy/numpy
Pandas
- Purpose: Data manipulation and analysis.
- Explanation: Intuitive DataFrame structures for handling datasets.
- Open-Source: github.com/pandas-dev/pandas
scikit-learn
- Purpose: Traditional ML algorithms.
- Explanation: Regression, classification, clustering, and preprocessing tools.
- Open-Source: github.com/scikit-learn/scikit-learn
PyTorch
- Purpose: Deep learning framework.
- Explanation: Dynamic computation graphs, widely used in academia and industry.
- Open-Source: github.com/pytorch/pytorch
Transformers (Hugging Face)
- Purpose: State-of-the-art NLP models.
- Explanation: Pretrained models for text classification, translation, and more.
- Open-Source: github.com/huggingface/transformers
FastAPI
- Purpose: Deploy ML models as web APIs.
- Explanation: Fast, modern Python web framework.
- Open-Source: github.com/tiangolo/fastapi
🦀 Rust Tools
Rust is emerging as a strong language for ML, with a rapidly growing ecosystem. It emphasizes performance and memory safety, making it well-suited for production systems.
Rust Programming Language
- Purpose: Systems language for ML tasks.
- Explanation: Ensures speed and safety with zero-cost abstractions.
- Open-Source: github.com/rust-lang/rust
linfa
- Purpose: Traditional ML algorithms.
- Explanation: Regression, clustering, and other core ML tasks.
- Open-Source: github.com/rust-ml/linfa
tch-rs
- Purpose: Deep learning with PyTorch C++ backend.
- Explanation: Rust bindings for PyTorch.
- Open-Source: github.com/LaurentMazare/tch-rs
rust-bert
- Purpose: NLP tasks.
- Explanation: Pretrained models for sentiment analysis, translation, etc.
- Open-Source: github.com/guillaume-be/rust-bert
polars
- Purpose: Data processing.
- Explanation: High-performance DataFrame library.
- Open-Source: github.com/pola-rs/polars
nalgebra
- Purpose: Linear algebra computations.
- Explanation: Matrices and vectors for ML/math foundations.
- Open-Source: github.com/dimforge/nalgebra
actix-web
- Purpose: Model deployment.
- Explanation: Web framework for serving Rust ML models as APIs.
- Open-Source: github.com/actix/actix-web
Next Steps
- Learn more about Why Python for AI/ML.
- Or check Why Rust for AI/ML.
- Continue to Tutorial Roadmap.