选自GitHub
机心编译
参与:吴攀
在正在进行的WWDC 2017上,苹果宣布了金属2的发布。详见《机器之心》报道。在WWDC 2017会议开幕式上,XMART实验室在GitHub上开放了一个基于Metal的现代机器学习框架Bender。值得一提的是,本德也是著名动画《飞出个未来》中的金属机器人主角。本文中,机器之心编译并介绍了该项目。
项目地址:https://github.com/xmartlabs/Bender
Bender是MetalPerformanceShaders上面的抽象层,可以用来操作神经网络。Bender出现后,苹果的机器学习环境有了自己的框架。
本项目的文档在文档文件中:
API包含入门所需的最重要的信息;
支持的层解释了它支持哪些层,以及它们如何映射到张量流指令。
导入解释了如何导入其他框架的模型,比如TensorFlow。您可以找到关于如何为自定义实现增强此功能的信息。
介绍
Bender是MetalPerformanceShaders上面的抽象层,可以用来操作神经网络。在人工智能领域,人们对在移动设备上执行神经网络越来越感兴趣,即使训练过程是预先在别处完成的。我们希望人们可以更容易地在iOS上运行预培训网络。
Bender允许您轻松使用最常见的层,如卷积、池化、完全连接和一些规范化,从而轻松定义和运行神经网络。此外,这些层以灵活的方式接收参数。我们希望加载在TensorFlow或Caffe2上训练的模型。Bender目前有一个TensorFlow的适配器,它可以加载一个带有变量的图形,并将其转换成Bender的图层。这个函数只支持TensorFlow指令的一部分,但我们计划对其进行增强,以覆盖更广的范围。
Bender有,但还处于活跃开发阶段。我们也希望看到社会的需求能够促进其发展。注意它的API还不是很稳定。
为什么我们需要班德?
在Xmartlabs,我们想开始一个机器学习项目,然后我们研究了可以在iOS中使用的框架。我们发现金属性能着色器很有用,但不是很用户友好。我们发现我们重复了很多代码和信息。这就是为什么我们开始构建一个框架来处理这些事情。
我们还发现需要把TensorFlow训练的模型翻译成iOS。因此,我们需要编写能够将权重转换成MPSCN格式的脚本,并将TensorFlow层中不同类型的参数映射到MPSCN核心使用的参数。TensorFlow可以为iOS编译,但目前不支持在GPU上运行,这正是我们需要的。我们也不想在我们的项目中包含张量流的静态库。因此,我们开发了一个适配器,它可以将TF图解析并翻译成我们的Bender层。
施用方式
您可以使用我们的自定义运算符在Bender中定义您自己的网络,或者您可以加载从TensorFlow导出的模型。您可以通过以下方式定义网络和加载模型:
导入弯曲//定义一个网络以及它将如何加载其权重/参数
让随机加载器=随机参数加载器网络=网络,参数加载器:随机加载器)
//从张量流转换图形
let URL = bundle . main . URL!
let converter = tfconverter . defaultnetwork . nodes = converter . ConvertGraph
//初始化网络
network.initialize
//运行网络
letinputImage =...network.run { output in...
}
您可以在导入文档中找到更多信息。
如果您想定义自己的网络,可以执行以下操作:
letnetwork =...network.start->>。卷积)
->;>。实例表单
->;>。卷积,neuronType:。relu)
->;>。实例表单
->;>。完全连接
->;>。神经元
->;>。完全连接
->;>。Softmax...
有关更多信息,请参见API文档。
环境要求
iOS 10.0+
Xcode 8.3+
参与
可以在GitHub上参与投稿;
如果要添加新功能,请打开问题;
如果发现bug或需要帮助,请在提交问题前参考以往的问题、FAQ和StackOverflow上的流程。
请在投稿前查阅CONTINUED文件了解更多信息。如果您在您的应用程序中使用了Bender,请告诉我们。
样本
按照以下三个步骤,可以运行一个样例项目:克隆Bender库,打开Bender工作室空,运行Example项目。
固定
最新流程
安装Bender并将以下代码添加到您的Podfile中:
pod 'MetalBender ',:git = > 1;https://github . com/xmartlabs/Bender . git '
记得班德是为iOS 10编译的。所以你必须添加平台:ios,“10.0”到你的Podfile
著作者
SRL圣诞实验室:https://github.com/xmartlabs
@ xmartlabs:https://twitter.com/xmartlabs
更改日志
请参见CHANGELOG.md文件。
有关GMIS 2017大会的更多信息,请点击“阅读原文”查看机器之心官网↓↓ⅵ
1.《BENDER 开源 | 基于Metal的机器学习框架Bender:可在iOS上运行TensorFlow模型》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《BENDER 开源 | 基于Metal的机器学习框架Bender:可在iOS上运行TensorFlow模型》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1664779.html