纯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/
纯Rust编写的机器学习框架Neuronika,速度堪比PyTorch相关推荐
- 超棒!纯Rust编写的机器学习框架,速度堪比PyTorch
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 这 ...
- 2020年十大机器学习框架
目录 1. TensorFlow 2. Theano 3. Scikit学习 4.咖啡 5. Apache Mahout 6. Apache Spark 8.亚马逊SageMaker 9. Accor ...
- 八个最好的开源机器学习框架和库
人工智能(AI)技术正迅速改变我们生活中几乎每一个领域.从我们如何交流到,用于交通的手段,我们似乎越来越沉迷于人工智能.由于AI快速发展,大量的人才和资源致力于加速技术的发展.利用以下最好的开源AI技 ...
- 迭代速度慢?成熟的机器学习流如何设计:微博大规模机器学习框架Weiflow揭秘...
本文从开发效率(易用性).可扩展性.执行效率三个方面,介绍了微博机器学习框架 Weiflow 在微博的应用和最佳实践. 在机器学习流中,模型训练只是其中耗时最短的一环.如果把机器学习流比作烹饪,那么模 ...
- 机器学习框架_编写生产级机器学习框架的经验教训
机器学习框架 My wonderful colleagues at Atomwise and I have written a production-level PyTorch framework f ...
- 各种语言的机器学习框架
C++ 计算机视觉 ·CCV-基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 ·OpenCV-它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, ...
- Web开发的机器学习框架
目前,机器学习是软件开发中最热门的趋势之一.许多分析师甚至认为机器学习将彻底改变某些程序的开发过程,包括Web和移动应用程序. 以下几点清楚地表明了机器学习对Web开发的强大影响: 传统数据挖掘的良好 ...
- 思考:开发者如何挑选最合适的机器学习框架?
http://blog.itpub.net/31077337/viewspace-2158437/ 如今,各种各样的机器学习工具活跃在开源社区,这些工具有助于减轻配置和测试AI相关工作的负载.但是,如 ...
- 最牛逼的开源机器学习框架,你知道几个
最牛逼的开源机器学习框架,你知道几个 作者 大白鲸团队 关注 2015.12.29 20:16 字数 1829 阅读 3689评论 0喜欢 7 机器学习毫无疑问是当今最热的话题,它已经渗透到生活的方方 ...
最新文章
- 那些让我唏嘘不已的嫡亲同学
- python爬虫流程-Python爬虫程序架构和运行流程原理解析
- 大容量导入或导出的数据格式 -- Unicode字符格式
- 生产订单中的下层物料信息
- Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题
- asp连接mysql字符串_asp连接数据库字符串
- Centos 7.5安装配置MongoDB 4.0.4
- 解读最新的 Xamarin 更新
- java sftp mget_总结三种Shell脚本编程中避免SFTP输入密码的方法
- C语言和设计模式(之开篇)
- 如何用PS把背景完全扣掉,变成透明
- Bridging legacy APIs 桥接遗留API
- 计算机 澳洲 博士后 要考雅思么,博士后移民澳大利亚(澳洲做科研博士后)
- android 画爱心进度条_android自定义圆形进度条,实现动态画圆效果
- Redis和消息队列
- MATLAB泰勒级数展开
- 微信开发者工具下载及调试
- 极米h6和 极米rs pro2区别,4k版极米h6和rspro2哪个好
- Python 扫雷游戏 完整源代码+图片素材
- Django Rest framework (看完直接上手用)
热门文章
- 如何禁止灵格斯的新词锐词弹出框
- 信息上传服务器加速cpu处理,英特尔发布全新第二代至强可扩展处理器携手浪潮加速新型应用发展...
- 第一个 Mybatis 程序(CURD操作)
- 内存都是由半导体器件构成的_开启5G新时代——XPS成像技术在半导体器件中的应用...
- java多线程-死锁的一些问题
- BERT 预训练模型及文本分类(情感分类)
- 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例。
- 2019北京智源大会全部议题完整公开
- 《微博营销》——微博能为你做什么
- 人人都能成为安全防范的高手 ——《黑客新型攻击防范:深入剖析犯罪软件》