热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【机器学习】TensorFlow在iOS端的用例

【机器学习】TensorFlow在iOS端的用例,Go语言社区,Golang程序员人脉社

支持原创,更多内容欢迎关注作者博客:
http://www.china10s.com/blog/?p=490

机器学习这种计算方式,于上世纪就已经被世人所知,但是受限制于计算机的计算能力和网络速度等原因,没有得到发展。在摩尔效应下,现在的计算机性能大幅提升,即便是手上的iPhone,都会比当时美国登月所使用的机器要强。于是,在这个背景下,机器学习开始飞速发展,各大公司都已经在这方面投入资源,希望能够分一杯羹。

Google 一直是以技术作为导向的公司,现在他们也开源了一套计算机引擎–TensorFlow。他支持PC和移动版本,并且学习资源充足。它具有:高度的灵活性、可移植性、自动求微分、多语言支持、性能最优化等特点。可以说是缩短了科研与产品之间的距离,省去了大量重复代码的编写时间。

TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

现在,我们可以很快速的将 TensorFlow 部署到移动平台上去,包括 iOS 和 Android 平台。以 iOS 为例,介绍一下如何部署:

第一步,下载 TensorFlow 文件

由于 TensoreFlow 已经在 Github 开源,可以直接下载:

Github 主页地址

V1.1.0 下载地址

第二步,下载 Model 文件

有了工具,还得有训练出来的模型,这里不需要我们再训练(也没有样本数据)。

下载现成的训练模型:

Inception v1

下载完成之后,在 camera 工程目录下新建 data 文件夹。将下载下来的如下文件拷入:
imagenet_comp_graph_label_strings.txt
tensorflow_inception_graph.pb

第三步,相关工具

在缺少 libtool 的情况下,是无成功进行编译的,安装的方式如下:

sudo apt-get install libtool

第四步,编译库文件

在如下目录执行脚本:

sudo ./tensorflow-master/tensorflow/contrib/makefile/build_all_ios.sh

这个编译过程大约要花费1个小时左右的时间(和机器性能有关)。

编译完成之后,生成 libtensorflow-core.a,将生成结果拷贝到 camera 工程目录下
like

第五步,识别结果如图所示

杯子


iPhone


鼠标


笔记本


推荐阅读
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
author-avatar
书友73892718
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有