开发知识

Rust 机器学习,一定要知道的这些库,可以替代 Python 库了

来源: 码农渔夫  日期:2024-04-26 22:37:03  点击:32  属于:开发知识

大家好,我是渔夫。

今天聊聊,Rust 机器学习必须了解的库。

最近,很多伙伴在机器学习领域,将自己主力语言 Python 开始瞄准到 Rust。头疼的是,Rust 还是太年轻了,很多库要么还没成熟,要么还在开发中,没有 Python 那么丰富。

不过,Rust 社区非常活跃并且增长迅猛,很多大佬也在努力尝试 Rust 来开发很多机器学习库,但目前为止,很多大厂积极拥抱 Rust 来重构底层基础设施,这是值得关注。下面是,Rust 常见机器学习库。

ndarray

ndarray 是 NumPy 库中的一个核心数据结构,它是一个用于表示多维数组的对象。ndarray 在存储和操作大型多维数组时非常高效,广泛应用于科学计算、数据分析、机器学习等领域。

在 Rust 开发中,ndarray 库可以作为替代  NumPy 库。

Github 地址:https://github.com/rust-ndarray/ndarray

Polars

可以作为替代 Python 中 pandas 库,Polars 是个开源的数据处理库,提供快速和灵活的数据处理能力,尤其处理大型数据集时。Polars 的设计目标是提供类似于 Pandas 的 API,但利用 Rust 的性能优势来提高数据处理的速度。

Github 地址:https://github.com/pola-rs/polars

tch-rs

tch-rs 是一个使得 Rust 能够与 PyTorch 框架结合的工具,扩展了 Rust 在机器学习和深度学习领域的应用能力。广泛用于计算机视觉和自然语言处理等研究和应用领域,tch-rs 允许 Rust 开发者利用 PyTorch 的功能,进行深度学习模型的开发和部署。

Github 地址:https://github.com/LaurentMazare/tch-rs

Burn

Burn 是一个新的综合动态深度学习框架,使用 Rust 构建,以极高的灵活性、计算效率和可移植性作为其主要目标。这个库之前也推荐过,非常值得去关注。

Github 地址:https://github.com/tracel-ai/burn

Candle

Candle 是由 Hugging Face 开发的 Rust 语言机器学习框架。主要是为 Rust 开发者在机器学习领域提供了新的工具,使得构建和部署机器学习应用变得更加容易。

  • 极简设计:提供简洁的 API,易于使用。
  • 高性能:利用 Rust 语言的性能优势。
  • 易用性:API 设计借鉴了 PyTorch,降低学习成本。
  • 灵活性:支持多种后端,方便在不同环境中部署。
  • 安全性: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 是一个图数据结构库,图是节点以及节点之间的边的集合。petgraph 提供了多种图形类型、这些图形的算法以及以格式输出图形 graphviz 的功能。

Github 地址:https://github.com/petgraph/petgraph

tensorflow-rust

TensorFlow 的 Rust 语言绑定,允许 Rust 开发者使用 TensorFlow 的机器学习框架。

Github 地址:https://github.com/tensorflow/rust