纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch

新闻 前端
随着 Rust 语言热度的强劲增长,也有许多研究者探索 Rust 在机器学习等方面的研究。近日,有研究者用 Rust 编写了一个机器学习框架 Neuronika。

[[406376]]

Rust 作为一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言,其语法上与 C++ 类似。

随着 Rust 语言热度的强劲增长,也有许多研究者探索 Rust 在机器学习等方面的研究。近日,有研究者用 Rust 编写了一个机器学习框架 Neuronika。

[[406377]]

Neuronika 是由 Francesco Iannelli 等人开发,他们现在是计算机科学的硕士生。该框架提供了自动分化和动态神经网络,非常像 Pytorch。目前已经实现了最常见的层组件,如 dense 层、dropout 层、GRU、LSTM 和 1d-2d-3d CNN,然而,缺少池化层等等。Neuronika 还提供了损失函数、优化器、计算图、张量和数据实用程序。

速度方面,项目作者表示 Neuronika 的表现可与 PyTorch 媲美。你可以对它进行基准测试。但目前还不能支持 GPU。想要进行基准测试,可以参考测试文档。

测试文档地址:https://docs.rs/neuronika/0.1.0/neuronika/

纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch

项目地址:https://github.com/neuronika/neuronika

对于该机器学习框架,网友直呼非常棒!

纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch

对于还不能支持 GPU,有网友支招:「对于 GPU 支持,可考虑 Vulkan 计算着色器。事实证明,它们的性能非常好,而且几乎所有的 GPU 平台都支持它,包括智能手机和浏览器。」

纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch

还有网友表示担心,「如果不支持 GPU,能训练出可用的模型吗?现在关于机器学习的文章,他们都在谈论更大、更昂贵的 GPU。」对于这一担心,项目作者表示:「这取决于用例。当然,GPU 支持是当今必须的,我们认为它是我们框架的开发的一个重大里程碑。」

纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch

项目介绍

Neuronika 是用纯 Rust 语言编写的机器学习框架,其构建重点在于易用性、快速原型开发和高效性能。

Neuronika 的核心机制是一种叫做反向模式自动分化机制( reverse-mode automatic differentiation),这种机制允许用户在改变动态神经网络时可以轻松实现,没有任何开销,可通过 API 运行。

纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch

Rust 语言提供了一个直观、轻巧且易于使用的界面,同时实现了令人难以置信的性能。

以下 crate 特征 flag 可用,配置 ndarray 后端:

  • serialize:可以序列化支持 serde 1.x。
  • blas:为矩阵乘法提供透明的 BLAS 支持。将 blas-src 用于 pluggable 后端,需要单独配置。
  • matrixmultiply-threading:启用 matrixmultiply 包中的 threading 特性。

目前,Neuronika 的开发处于初始阶段,但其发展迅速。研究者还在不断的开发该项目,从一个版本到另一个版本的转换过程中,预计会有突破性的变化。如果可能的话,研究者会采用最新的、稳定的 Rust 特征来开发。

 

责任编辑:张燕妮 来源: 机器之心Pro
相关推荐

2021-01-26 15:32:40

机器学习人工智能计算机

2009-04-14 08:36:44

苹果iPhone网店

2022-04-26 15:24:03

开源框架

2022-03-28 09:00:00

SQL数据库机器学习

2023-03-29 09:42:32

2021-12-06 20:23:40

机器学习数学

2009-02-04 08:37:47

IBM计算机红杉

2021-01-03 16:30:34

Rust编程语言

2021-11-05 12:59:51

深度学习PytorchTenso

2024-04-19 13:37:30

Rust开发编辑器

2017-07-06 15:02:53

OpenGL ES架构GPU

2022-01-10 08:00:43

认知智能AI

2010-11-19 09:56:38

Sandy Bridg英特尔奔腾

2023-11-02 14:30:25

机器学习

2023-11-02 14:26:30

PyTorch机器学习

2023-06-19 14:14:24

Rust程序Web

2022-11-25 07:35:57

PyTorchPython学习框架

2024-03-11 15:47:11

RustPython代码

2024-06-27 13:28:56

2021-05-31 09:42:10

FuchsiaRust代码
点赞
收藏

51CTO技术栈公众号