Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

Awesome-Rust-MachineLearning

> 编程语言
Open source

This repository is a list of machine learning libraries written in Rust. It's a compilation of GitHub repositories, blogs, books, movies, discussions, papers, e

2.3K stars0 likes3 views
WebsiteGitHub

About

This repository is a list of machine learning libraries written in Rust. It's a compilation of GitHub repositories, blogs, books, movies, discussions, papers, e

This repository is a list of machine learning libraries written in Rust. It's a compilation of GitHub repositories, blogs, books, movies, discussions, papers. This repository is targeted at people who are thinking of migrating from Python.

It is divided into several basic library and algorithm categories. And it also contains libraries that are no longer maintained and small libraries. It has commented on the helpful parts of the code. It also commented on good libraries within each category.

We can find a better way to use Rust for Machine Learning.

  • Website (en)
  • GitHub (en)
  • GitHub (ja)

ToC

  • Support Tools
    • Jupyter Notebook
    • Graph Plot
    • Vector
    • Dataframe
    • Image Processing
    • Natural Language Processing (preprocessing)
    • Graphical Modeling
    • Interface & Pipeline & AutoML
    • Workflow
    • GPU
  • Comprehensive (like sklearn)
  • Comprehensive (statistics)
  • Gradient Boosting
  • Deep Neural Network
  • Graph Model
  • Natural Language Processing (model)
  • Recommendation
  • Information Retrieval
    • Full Text Search
    • Nearest Neighbor Search
  • Reinforcement Learning
  • Supervised Learning
  • Unsupervised Learning & Clustering Model
  • Statistical Model
  • Evolutionary Algorithm
  • Reference
    • Nearby Projects
    • Blogs
      • Introduction
      • Tutorial
      • Apply
      • Case Study
    • Discussion
    • Books
    • Movie
    • PodCast
    • Paper
  • Thanks

Support Tools

Jupyter Notebook

evcxr can be handled as Jupyter Kernel or REPL. It is helpful for learning and validation.

  • google/evcxr - An evaluation context for Rust.
  • emakryo/rustdef - Jupyter extension for rust.
  • murarth/rusti - REPL for the Rust programming language

Graph Plot

It might want to try plotters for now.

  • 38/plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely
  • igiagkiozis/plotly - Plotly for Rust
  • milliams/plotlib - Data plotting library for Rust
  • tiby312/poloto - A simple 2D plotting library that outputs graphs to SVG that can be styled using CSS.
  • askanium/rustplotlib - A pure Rust visualization library inspired by D3.js
  • SiegeLord/RustGnuplot - A Rust library for drawing plots, powered by Gnuplot.
  • saona-raimundo/preexplorer - Externalize easily the plotting process from Rust to gnuplot.
  • procyon-rs/vega_lite_4.rs - rust api for vega-lite v4
    • procyon-rs/showata - A library of to show data (in browser, evcxr_jupyter) as table, chart...
  • coder543/dataplotlib - Scientific plotting library for Rust
  • shahinrostami/chord_rs - Rust crate for creating beautiful interactive Chord Diagrams. Pro version available at https://m8.fyi/chord

ASCII line graph:

  • loony-bean/textplots-rs Terminal plotting library for Rust
  • orhanbalci/rasciigraph Zero dependency Rust crate to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
  • jakobhellermann/piechart a rust crate for drawing fancy pie charts in the terminal
  • milliams/plot Command-line plotting tool written in Rust

Examples:

  • Plotters Developer's Guide - Plotter Developer's Guide https://plotters-rs.github.io/book/intro/introduction.html
  • Plotly.rs - Plotly.rs Book https://igiagkiozis.github.io/plotly/content/plotly_rs.html
  • petgraph_review https://timothy.hobbs.cz/rust-play/petgraph_review.html
  • evcxr-jupyter-integration https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html
  • Rust for Data Science: Tutorial 1 - DEV Community https://dev.to/davidedelpapa/rust-for-data-science-tutorial-1-4g5j
  • Preface | Data Crayon https://datacrayon.com/posts/programming/rust-notebooks/preface/
  • Drawing SVG Graphs with Rust [https://cetra3.github.io/blog/drawing-svg-graphs-rust/](Drawing SVG Graphs with Rust https://cetra3.github.io/blog/drawing-svg-graphs-rust/)

Vector

Most things use ndarray or std::vec.

Also, look at nalgebra. When the size of the matrix is known, it is valid. See also: ndarray vs nalgebra - reddit

  • dimforge/nalgebra - Linear algebra library for Rust.
  • rust-ndarray/ndarray - ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
  • AtheMathmo/rulinalg - A linear algebra library written in Rust
  • arrayfire/arrayfire-rust - Rust wrapper for ArrayFire
  • bluss/arrayvec - A vector with a fixed capacity. (Rust)
  • vbarrielle/sprs - sparse linear algebra library for rust
  • liborty/rstats - Rust Statistics and Vector Algebra Library
  • PyO3/rust-numpy - PyO3-based Rust binding of NumPy C-API

Dataframe

It might want to try polars for now. datafusion looks good too.

  • ritchie46/polars - Rust DataFrame library
  • apache/arrow - In-memory columnar format, in Rust.
  • apache/arrow-datafusion - Apache Arrow DataFusion and Ballista query engines
  • milesgranger/black-jack - DataFrame / Series data processing in Rust
  • nevi-me/rust-dataframe - A Rust DataFrame implementation, built on Apache Arrow
  • kernelmachine/utah - Dataframe structure and operations in Rust
  • sinhrks/brassfibre - Provides multiple-dtype columner storage, known as DataFrame in pandas/R

Image Processing

It might want to try image-rs for now. Algorithms such as linear transformations are implemented in other libraries as well.

  • image-rs/image - Encoding and decoding images in Rust
    • image-rs/imageproc - Image processing operations
  • rust-cv/ndarray-image - Allows conversion between ndarray's types and image's types
  • rust-cv/cv - Rust CV mono-repo. Contains pure-Rust dependencies which attempt to encapsulate the capability of OpenCV, OpenMVG, and vSLAM frameworks in a cohesive set of APIs.
  • twistedfall/opencv-rust - Rust bindings for OpenCV 3 & 4
  • rustgd/cgmath - A linear algebra and mathematics library for computer graphics.
  • atomashpolskiy/rustface - Face detection library for the Rust programming language

Natural Language Processing (preprocessing)

  • google-research/deduplicate-text-datasets - This repository contains code to deduplicate language model datasets as descrbed in the paper "Deduplicating Training Data Makes Language Models Better" by Katherine Lee, Daphne Ippolito, Andrew Nystrom, Chiyuan Zhang, Douglas Eck, Chris Callison-Burch and Nicholas Carlini. This repository contains both the ExactSubstr deduplication implementation (written in Rust) along with the scripts we used in the paper to perform deduplication and inspect t

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

JavaScriptawasomedeep-learningimage-processingmachine-learning

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言