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

移动开发者_@移动开发者,谷歌发布移动端深度学习框架TensorFlowLite

本文由编程笔记#小编为大家整理,主要介绍了@移动开发者,谷歌发布移动端深度学习框架TensorFlowLite相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了@移动开发者,谷歌发布移动端深度学习框架TensorFlow Lite相关的知识,希望对你有一定的参考价值。




@移动开发者,谷歌发布移动端深度学习框架TensorFlow Lite

翻译 | 刘畅Troy


谷歌今天终于发布了TensorFlow Lite 的开发者预览!该项目是在5月份的I/O开发者大会上宣布的,据Google网站描述,对移动和嵌入式设备来说,TensorFlow是一种轻量级的解决方案,支持多平台运行,从机架式服务器到微小的物联网设备。近几年来,由于其作为机器学习模型的使用已成倍增长,所以移动设备和嵌入式设备也出现了部署需求。Tensorflow Lite使机器学习模型设备能够实现低延迟的推理。


在本文中,Google展示了TensorFlow Lite的框架构成以及一些功能特性。


TensorFlow Lite设计初衷




  • 轻量级:允许在具有很小的二进制大小和快速初始化/启动的机器学习模型设备上进行推理。


  • 跨平台:能够运行在许多不同的平台上,首先支持androidios平台


  • 快速:针对移动设备进行了优化,包括显著提高模型加载时间和支持硬件加速



现在越来越多的移动设备集成了定制硬件来更有效地处理机器学习带来的工作负载。TensorFlow Lite支持Android神经网络API(Android Neural Networks API)利用这些新的加速器硬件。当加速器硬件不可用的时候,TensorFlow Lite会执行优化CPU,这可以确保你的模型仍然可以很快的运行在一个大的设备上。


TensorFlow Lite架构设计


下面的关系图显示了TensorFlow Lite的构架设计:



组件包括:




  • TensorFlow模型:一个保存在磁盘上训练好的TensorFlow模型。


  • TensorFlow Lite转换器:一个将模型转换为Tensorflow Lite文件格式的程序。


  • TensorFlow模型文件:基于FlatBuffers格式的模型文件,已针对最大速度和最小尺寸进行了优化。



Tensorflow Lite模型文件将被部署在一个移动应用程序,其中:




  • Java API:在Android上对C++API的一个封装。


  • C++ API:加载Tensorflow Lite模型文件和调用解释器。在Android和iOS上共用同一个库文件。 


  • 解释器:采用一组运算符来执行模型。解释器支持选择性的运算负荷;没有运算符大小只有70kb,当所有的运算符加载时,大小是300kb。正常的移动端的Tensorflow(包含一个规范的运算符操作集)需要1.5M的大小,可以看到解释器显著减少了内存。



关于选择Android设备,解释器会采用Android Neural Networks API来进行硬件加速,或者如果没有可用的,默认为CPU执行。


开发人员还可以使用C++ API实现可由解释器使用的定制的内核。


模型


Tensorflow Lite已经有一些训练和优化好的支持移动端的模型:




  • MobileNet: 一种能够识别1000类不同目标的视觉模型,它是为在移动设备和嵌入式设备上高效执行而独特设计的。


  • Inception v3: 一个图像识别的模型,在功能上类似MobileNet,提供更高的精度同时也有较大的尺寸


  • Smart Reply: 一种设备级的会话模型,针对即将到来的会话聊天消息,它提供一种触摸响应。在Android Wear上,第一方和第三方的消息应用程序均使用了此功能。



Inception v3和MobileNet均是在ImageNet数据集上预训练好的。通过迁移学习,你可以轻松的在你自己的数据集上再训练这个模型。


什么是TensorFlow Mobile?


正如你可能知道的,通过Tensorflow Mobile API,Tensorflow已经支持了在移动端和嵌入式上部署模型。未来TensorFlow Lite应该被视为Tensorflow Mobile的演化,并随着它的成熟将成为模型部署在移动端和嵌入式设备上的推荐方案。目前TensorFlow Lite是开发者预览版,同时Tensorflow Mobile仍然支持APP的开发。


Tensorflow Lite的应用范围大,目前处于积极开发中。通过这个开发者预览版,我们有意地启动了一个带约束的平台来确保一些最重要的常用模型的性能。我们计划根据用户的需求对未来的功能扩展进行优先级排序。我们持续开发的目标是为了降低对开发人员经验的要求,并能为一系列移动和嵌入式设备部署模型。


我们非常兴奋开发者能够上手使用Tensorflow Lite。对于其余的Tensorflow项目,我们计划使用同一强度来支持和解决外部社区问题。期待你能用TensorFlow Lite做些非常酷的事情。


更多关于Tensorflow Lite的功能和信息,请点击TensorFlow Lite文档:

http://tensorflow.org/mobile/tflite


祝大家Tensorflow Lite编程快乐。




推荐阅读
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有