第二课:开发机器学习app前的准备工作

框架的选择

如上一节课所说,随着机器学习的发展,目前已经出现很多不错的学习框架,这里我们做个对比:

TensorFlow:深度学习最流行的库之一,它不仅便携、高效、可扩 展,还能在不同计算机上运行。小到智能手机,大到计算机集群。它是一款轻量级的软件,可以立刻生成你的训练模型,也能重新实现它;TensorFlow 拥抱创新,有强大的社区、企业支持, 因此它广泛用于从个人到企业、从初创公司到大公司等不同群体。

Caffe: 卷积神经网络框架,专注于卷积神经网络和图像处理,是用 C ++语言写成的。

Theano: 是一个用 Python编写的极其灵活的Python机器学习库,用它定义复杂的模型相当容易,因此它在研究中极其流行。

Torch: 是一个专注于GPU 实现的机器学习库,得到了几个大公司的研究团队的支持。

CNTK: 微软研究人员开发的用于深度神经网络和多GPU加速技术的完整开源工具包。

除了上面列举的框架外还有不少学习框架,这里就不一一列举,本课程的重点是选择其中一个框架,然后学习如何使用,就像第一节课讲的那样,我们按着先学会使用,再理解内部原理的路线去学习。

在本课程中选用 TensorFlow 作为进行机器学习的基础框架,至于为什么选择这个框架,这里做了一个总结:

可用性:TensorFlow 工作流程相对容易,API 稳定,兼容性好,并且 TensorFlow 与 Numpy 完美结合,这使大多数精通 Python 数据科学家很容易上手。与其他一些库不同,TensorFlow 不需要任何编译时间, 这允许你可以更快地迭代想法。在TensorFlow 之上已经建立了多个高级 API,例如Keras 和 SkFlow,这给用户使用TensorFlow 带来了极大的好处。

灵活性:TensorFlow 能够在各种类型的机器上运行,从超级计算机到嵌入式系统。它的分布式架构使大量数据集的模型训练不需要太多的时间。TensorFlow 可以同时在多个CPU,GPU 或者两者混合运行。

运行效率:自 TensorFlow 第一次发布以来,开发团队花费了大量的时间和努力 来改进TensorFlow 的大部分的实现代码。 随着越来越多的开发人员努力,TensorFlow 的效率不断提高。

支持:TensorFlow 由谷歌提供支持,谷歌投入了大量精力开发 TensorFlow,它希望 TensorFlow 成为机器学习研究人员和开发人员的通用语言。此外,谷歌在自己的日常工作中也使用 TensorFlow,并且持续对其提供支持,在 TensorFlow 周围形成了 一个强大的社区。谷歌已经在 TensorFlow 上发布了多个预先训练好的机器学习模型,他们可以自由使用。

模型的选择

框架选好后,接下来我们就要对模型进行选择了。可以在 TensorFlow Models 找到很多已经设计好的模型:

official 目录里面是正式发布的模型

research 目录里面是由谷歌的研究人员们写的模型

tutorials 目录里面是 TensorFlow 教程里面用到的模型

先说一下本课程中模型的定义,一个模型由两部分组成,第一部分是用于生成或者说训练模型的代码,包含如何提取和处理输入数据的特征,如何构建神经网络(如神经网络有几层)等;第二部分就是通过这个代码加上大量数据训练出来的模型二进制文件,叫做 Pre-trained model(这部分不是每一个模型都包含)。在本课程中,因为暂时不涉及到训练自己的模型(下一个系列课程会专门介绍如何训练自己的模型),所以只需要找到相应的模型的 Pre-trained model 就可以了。

使用Tensorflow Object Detection API来进行静态图片的物体识别,可以在Model Zoo里面找到我们需要的 Pre-trained model ,一共有 5 个。

第一列为 Pre-trained model 的名字,第二列为模型的识别速度,第三列为衡量识别效果的一个指标,越高越好,第三列为输出形式,都是输出识别物体的 Box(物体在图片中的位置,矩形框)。

接下来我们选择第一个 ssd_mobilenet_v1_coco 来完成功能,它的模型二进制文件最小,识别速度最快,识别率是最低的,但是对于我们的功能是足够了。请先下载下来备用。

平台的选择

大家都知道现在IT领域最火的两个技术,一个是人工智能,另外一个是物联网(IOT)。Android是大部分物联网设备未来的内在系统,而TensorFlow又是业内标准的训练框架,这两个系统的整合将会产生巨大的化学反应。本系列课程我们选择安卓平台进行手把手的学习。

为了能在 Android 上面加载准备好的 Model 二进制文件并 Inference(推理),还需要 TensorFlow 的 Android 接口库,在TensorFlow Android Inference Interface可以找到这个接口库的全部代码,这个接口库的二进制包是一个 Android 的 AAR 文件。一般有 3 种方法来获取这个 AAR 文件:

下载全部代码,从头开始编译

通过 JCenter Package 获取(在工程配置文件里面添加依赖 org.tensorflow:tensorflow-android)

从 Inference interface 的 CI 系统 获取最新的二进制包(nightly build)

Android环境的搭建

本课程使用 Android Studio 进行开发,相关配置如下:

Android Studio 3

Gradle 3.3

Compile SDK Version 25

Build Tool 26.02

总结

在本课时中,我们找到可以解决问题的模型并下载了相应的 Pre-trained model; 还下载了可以在 Android 上面运行 TensorFlow 并 Inference 的 TensorFlow Android 接口;最后还准备好了 Android 的开发环境。接下来的课程我们就准备开工了,敬请关注公众号。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容