找回密码
 立即注册
搜索

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

机器之心报道

编辑:陈萍

这是一个用 Rust 编写的机器学习框架,与 PyTorch 相似,现已完成最常见的层组件(dense 层、dropout 层等),速度堪比 PyTorch。

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

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



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

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

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



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

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



对于还不能支持 GPU,有网友支招:「对于 GPU 支持,可思索 Vulkan 计算着色器。理想证明,它们的功能非常好,而且几乎一切的 GPU 平台都支持它,包括智能手机和阅读器。」



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



项目引见

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

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



Rust 言语提供了一个直观、轻巧且易于运用的界面,同时完成了令人难以置信的功能。

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


  • serialize:可以序列化支持 serde 1.x。
  • blas:为矩阵乘法提供透明的 BLAS 支持。将 blas-src 用于 pluggable 后端,需求单独配置。
  • matrixmultiply-threading:启用 matrixmultiply 包中的 threading 特性。
目前,Neuronika 的开发处于初始阶段,但其发展迅速。研讨者还在不断的开发该项目,从一个版本到另一个版本的转换过程中,估计会有打破性的变化。假如能够的话,研讨者会采用最新的、波动的 Rust 特征来开发。

参考链接:

https://www.reddit.com/r/rust/comments/o0actf/announcing_neuronika_010_a_deep_learning/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评7

沦落到还要和pytorch比速度,那还不是输了
回复

使用道具 举报

风涧碎雪 2021-6-19 09:12:18 显示全部楼层
Neuronika 的核心机制是一种叫做反向形式自动分化机制( reverse-mode automatic differentiation),反向形式自动差分机制?
回复

使用道具 举报

罗那猫囡 2021-6-19 09:15:06 显示全部楼层
分享了
回复

使用道具 举报

猪麦_ 2021-6-19 09:25:00 显示全部楼层
[泪奔]
回复

使用道具 举报

老哥,这波稳
回复

使用道具 举报

十月丫头 2021-6-20 17:28:21 显示全部楼层
这么强,支持楼主,佩服
回复

使用道具 举报

abc5441 2021-6-21 22:46:36 显示全部楼层
撸过
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies