Skip to content

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

  • PyTorch

    • Purpose: Deep learning framework.
    • Explanation: Dynamic computation graphs, widely used in academia and industry.
    • Open-Source: github.com/pytorch/pytorch
  • Transformers (Hugging Face)

  • 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

  • rust-bert

  • polars

  • nalgebra

  • actix-web


Next Steps