:::: MENU ::::

TalkingData's Blog

现在开始,用数据说话。

锐眼洞察 | Apple开源机器学习框架 Turi Create 简介与实践

cialis erfaring cialis i norge hva er kamagra cialis efeitos secundarios cialis bula viagra effekt viagra norge viagra på nett viagra nettbutikk viagra infarmed levitra comprimidos cialis uten resept cialis pris levitra eller cialis kamagra gel comprar viagra farmacia
Tech

锐眼洞察 | Apple开源机器学习框架 Turi Create 简介与实践

作者:TalkingData研发工程师 张永超

本文为TalkingData原创,未经授权禁止转载。申请授权请在评论中留言联系!

logo.png

日前,苹果在 GitHub 平台上公布了 Turi Create 框架,苹果表示,这个框架旨在通过简化机器学习模型的开发,降低开发者构建模型的门槛。详细说明如下:

Turi Create 概述

Turi Create简化了自定义机器学习模型的开发。你不需要成为机器学习的专家,即可为你的程序添加推荐,对象检测,图像分类,图像相似度识别或活动分类。

  • 易于使用:让你聚焦于任务而不是算法
  • 可视化:内置的流式可视化功能可以探索你的数据
  • 灵活:支持文本,图像,音频,视频和传感器数据
  • 快速和可扩展性:可在单台机器上处理大型数据集
  • 易于准备配置:模型导出到Core ML,即可用于iOS,macOS,watchOS和tvOS应用程序

使用Turi Create,你可以处理很多常见的场景:

你还可以使用基本的机器学习模型做成基于算法的工具包:

支持的平台

Turi Create支持:

  • macOS 10.12+
  • Linux(依赖于glibc 2.12+)
  • Windows 10(需要WSL)

系统要求

  • Python 2.7(即将支持Python 3.5+)
  • x86_64架构

安装

Linux不同变种的安装详细说明,参阅LINUX_INSTALL.md。常见的安装问题,参阅INSTALL_ISSUES.md

苹果官方推荐使用环境virtualenv,安装或建立Turi Create。请务必使用你的系统pip安装virtualenv。

WX20180117-182218

安装Turi Create的方法参照标准的python包安装步骤。要创建一个名为venv的Python虚拟环境,请参照以下步骤:

WX20180117-182233
要激活新的虚拟环境并在此环境中安装Turi Create,请按照下列步骤操作:

WX20180117-182243
另外,如果你使用的是Anaconda,你可以使用它的虚拟环境:

WX20180117-182306
在您的虚拟环境中安装Turi Create:

WX20180117-182315

GPU支持

Turi Create不一定需要GPU,但某些模型可以通过使用GPU加速。如果要在安装turicreate包后启用GPU支持,请执行以下步骤:

  • 安装CUDA 8.0(说明
  • 为CUDA 8.0安装cuDNN 5(说明

确保将CUDA库路径添加到LD_LIBRARY_PATH环境变量。通常情况下,这意味着将以下行添加到 ~/.bashrc文件中:

WX20180117-182326
如果你将cuDNN文件安装到单独的目录中,请确保单独添加它。下一步是卸载mxnet并安装启用CUDA的mxnet-cu80包:

WX20180117-182336

确保你安装的MXNet版本与turicreate依赖的版本相同(当前为0.11.0)。如果你在设置GPU时遇到困难,可参阅MXNet安装说明

当然,除了上述的安装方式之外,你还可以从源码构建,如果想要从源码构建,可参阅BUILD.md中的详细说明。

猫狗大战

Turi Create可以训练定制的机器学习模型。这意味着可以开发可识别不同对象的模型,只要您使用大量图像训练模型即可。

这里我们以识别猫狗为例,建立一个自定义的模型,可以识别图像是猫还是狗。

1. 下载猫和狗的图像

第一步是下载很多猫和狗的图像。这是必要的,因为我们将使用图像来训练我们的自定义模型。这里我使用的是Kaggle Dogs vs. Cats的数据集。如果你觉得在这里单独下载麻烦,可直接在Kaggle Cats and Dogs Dataset中下载全量数据集。

下载好图像数据集之后,我们解压到对应的文件夹内备用。

2. 标记数据、训练模型

在开始训练我们的模型前,首先需要对每一张图像标记其为‘cat’还是‘dog’。幸运的是Turi Create提供了标记基于不同文件夹的图像的功能,具体代码如下:

WX20180117-182352

标记完成后,可以看到数据集的全局情况:

上述代码的最后一行 data.explore(),会自动打开Turi Create的图像可视化查看工具,在这里你可以看到每张图像以及相应的标记,也是一种核查标记是否正确的方式。

数据集准备完成后,就可以进行模型的训练了。在训练的时候,会将数据集按照‘二八原则’进行训练集和测试集划分,然后进行模型训练:

WX20180117-182407

训练的过程可能会花一点时间,长短取决对机器的配置。在训练的过程中,Turi Create会打印出每一步执行的动作,如下:


……

最终我们得到的正确率为:0.986954749287,但看这个结果还不错。并且已经导出了mymodel.model和支持Core ML 的 CatsAndDogs.mlmodel

3. 移植模型到iOS应用程序

有了CatsAndDogs.mlmodel模型文件后,我们就可以将其移植到iOS应用程序中了。关于如何集成,可参考Apple官方的图像识别例子,这里不再陈述:

总结

本篇内容对Apple公开的Turi Create机器学习框架进行了简单的介绍,并实践了Turi Create在图像识别方面的一些基本用法。Turi Create不仅仅能用于图像识别,在其他方面能有很好的表现,目前Turi Create还刚开源不久,相信在社区的力量下,会带来不同的功能和体验,拭目以待。

Leave a comment

随时欢迎您 联系我们