Rust作为一种系统编程语言,注重安全性,尤其是并发安全性,支持函数式、命令式和泛型编程范式。它在语法上类似于C++。随着Rust语言流行度的强劲增长,许多研究者也对Rust在机器学习等方面的研究进行了探索。最近,一些研究人员用Rust编写了一个机器学习框架Neuronika。Neuronika由FrancescoIannelli等人开发,他们现在是计算机科学专业的硕士生。该框架提供自动微分和动态神经网络,很像Pytorch。已经实现了最常见的层组件,例如密集层、丢弃层、GRU、LSTM和1d-2d-3dCNN,但是缺少池化层等。Neuronika还提供损失函数、优化器、计算图、张量和数据实用程序。在速度方面,项目作者表示Neuronika的性能可与PyTorch相媲美。你可以对它进行基准测试。但目前还不支持GPU。对于基准测试,您可以参考测试文档。测试文档地址:https://docs.rs/neuronika/0.1.0/neuronika/项目地址:https://github.com/neuronika/neuronika对于这个机器学习框架,网友们都称其非常好!对于目前还不支持GPU,有网友建议:“对于GPU的支持,可以考虑Vulkancomputeshaders。事实证明它们的性能非常好,几乎所有的GPU平台都支持,包括智能手机和浏览器。”有网友表示担忧,“不支持GPU,能不能训练出可用的模型?现在机器学习的文章,都在讲更大更贵的GPU。”对于这种担忧,项目作者表示:“这取决于用例。当然,GPU支持在今天是必须的,我们认为这是我们框架发展的一个重要里程碑。”项目介绍Neuronika是一个纯Rust编写的机器学习框架,专注于易用性、快速原型设计和高效性能。Neuronika的核心机制是一种称为反向模式自动微分的机制,它允许用户轻松实现更改在动态神经网络中没有任何开销,并且可以通过API运行。Rust语言提供了一个直观、轻量级且易于使用的界面,同时实现了令人难以置信的性能。以下板条箱功能标志可用于配置ndarray后端:serialize:支持serde1.x进行序列化。blas:为矩阵乘法提供透明的BLAS支持。将blas-src用于可插拔后端,需要单独配置。matrixmultiply-threading:启用matrixmultiply包中的线程功能。目前,Neuronika的发展还处于起步阶段,但发展迅速。该项目仍在由研究人员开发,预计在从一个版本过渡到另一个版本时会发生重大变化。在可能的情况下,研究人员使用最新、稳定的Rust功能进行开发。
