选自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