Rust 機器學習,一定要知道的這些庫,可以替代 Python 庫了
大家好,我是漁夫。
今天聊聊,Rust 機器學習必須了解的庫。
最近,很多伙伴在機器學習領域,將自己主力語言 Python 開始瞄準到 Rust。頭疼的是,Rust 還是太年輕了,很多庫要么還沒成熟,要么還在開發(fā)中,沒有 Python 那么豐富。
不過,Rust 社區(qū)非常活躍并且增長迅猛,很多大佬也在努力嘗試 Rust 來開發(fā)很多機器學習庫,但目前為止,很多大廠積極擁抱 Rust 來重構底層基礎設施,這是值得關注。下面是,Rust 常見機器學習庫。
ndarray
ndarray 是 NumPy 庫中的一個核心數據結構,它是一個用于表示多維數組的對象。ndarray 在存儲和操作大型多維數組時非常高效,廣泛應用于科學計算、數據分析、機器學習等領域。
在 Rust 開發(fā)中,ndarray 庫可以作為替代 NumPy 庫。
Github 地址:https://github.com/rust-ndarray/ndarray
Polars
可以作為替代 Python 中 pandas 庫,Polars 是個開源的數據處理庫,提供快速和靈活的數據處理能力,尤其處理大型數據集時。Polars 的設計目標是提供類似于 Pandas 的 API,但利用 Rust 的性能優(yōu)勢來提高數據處理的速度。
Github 地址:https://github.com/pola-rs/polars
tch-rs
tch-rs 是一個使得 Rust 能夠與 PyTorch 框架結合的工具,擴展了 Rust 在機器學習和深度學習領域的應用能力。廣泛用于計算機視覺和自然語言處理等研究和應用領域,tch-rs 允許 Rust 開發(fā)者利用 PyTorch 的功能,進行深度學習模型的開發(fā)和部署。
Github 地址:https://github.com/LaurentMazare/tch-rs
Burn
Burn 是一個新的綜合動態(tài)深度學習框架,使用 Rust 構建,以極高的靈活性、計算效率和可移植性作為其主要目標。這個庫之前也推薦過,非常值得去關注。
Github 地址:https://github.com/tracel-ai/burn
Candle
Candle 是由 Hugging Face 開發(fā)的 Rust 語言機器學習框架。主要是為 Rust 開發(fā)者在機器學習領域提供了新的工具,使得構建和部署機器學習應用變得更加容易。
- 極簡設計:提供簡潔的 API,易于使用。
- 高性能:利用 Rust 語言的性能優(yōu)勢。
- 易用性:API 設計借鑒了 PyTorch,降低學習成本。
- 靈活性:支持多種后端,方便在不同環(huán)境中部署。
- 安全性:Rust 語言保證了內存安全和線程安全。
GIthub 地址:https://github.com/huggingface/candle
Linfa
linfa 提供一個全面的工具包來使用 Rust 構建機器學習應用程序。類似 Python 的scikit-learn 庫,專注于日常 ML 任務的常見預處理任務和經典 ML 算法。
GIthub 地址:https://github.com/rust-ml/linfa
plotters
Plotters 是一個繪圖庫,設計用于用純 Rust 渲染圖形、繪圖和圖表,支持各種類型的后端,包括位圖、矢量圖、活塞窗口、GTK/Cairo 和 WebAssembly。類似 Python 的 matplotlib 庫。
Github 地址:https://github.com/plotters-rs/plotters
petgraph
petgraph 是一個圖數據結構庫,圖是節(jié)點以及節(jié)點之間的邊的集合。petgraph 提供了多種圖形類型、這些圖形的算法以及以格式輸出圖形 graphviz 的功能。
Github 地址:https://github.com/petgraph/petgraph
tensorflow-rust
TensorFlow 的 Rust 語言綁定,允許 Rust 開發(fā)者使用 TensorFlow 的機器學習框架。
Github 地址:https://github.com/tensorflow/rust