TensorFlow Lite

谷歌移动端深度学习框架
授权协议 Apache-2.0
开发语言 C/C++ Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 夏飞跃
操作系统 跨平台
开源组织 Google
适用人群 未知
 软件概览

TensorFlow Lite 是一款 TensorFlow 用于移动设备和嵌入式设备的轻量级解决方案。

TensorFlow 可以在多个平台上运行,从机架式服务器到小型 IoT 设备。但是随着近年来机器学习模型的广泛使用,出现了在移动和嵌入式设备上部署它们的需求。而 TensorFlow Lite 允许设备端的机器学习模型的低延迟推断。

设计初衷

  • 轻量级:允许小 binary size 和快速初始化/启动的设备端机器学习模型进行推断。

  • 跨平台:运行时的设计使其可以在不同的平台上运行,最先允许的平台是安卓和 iOS。

  • 快速:专为移动设备进行优化,包括大幅提升模型加载时间,支持硬件加速。

现在,越来越多移动设备内置了专门的自定义硬件以高效处理机器学习工作负载。TensorFlow Lite 支持安卓神经网络 API,以充分利用新的可用加速器。

当加速器硬件不可用时,TensorFlow Lite 返回至经优化的 CPU 执行操作,确保模型仍然可在大量设备上快速运行。

架构

下图展示了 TensorFlow Lite 的架构设计:

组件包括

  • TensorFlow 模型(TensorFlow Model):训练后的 TensorFlow 模型,保存在磁盘中。

  • TensorFlow Lite 转换器(TensorFlow Lite Converter):该程序将模型转换成 TensorFlow Lite 文件格式。

  • TensorFlow Lite 模型文件(TensorFlow Lite Model File):该格式基于 FlatBuffers,经过优化以适应最大速度和最小规模。

然后将 TensorFlow Lite 模型文件部署到移动 App 中:

  • Java API:安卓设备上适用于 C++ API 的便利封装。

  • C++ API:加载 TensorFlow Lite 模型文件,启动编译器。安卓和 iOS 设备上均有同样的库。

  • 编译器(Interpreter):使用运算符执行模型。解释器支持选择性加载运算符;没有运算符时,编译器只有 70KB,加载所有运算符后,编译器为 300KB。这比 TensorFlow Mobile(具备一整套运算符)的 1.5M 要小得多。

  • 在选择的安卓设备上,编译器将使用安卓神经网络 API 进行硬件加速,或者在无可用 API 的情况下默认执行 CPU。

开发者还使用 C++ API 实现自定义 kernel,它可被解释器使用。

模型

TensorFlow Lite 已经支持多个面向移动端训练和优化的模型:

  • MobileNet:一种能够识别超过 1000 种不同物体的视觉模型,专为移动端和嵌入式设备设计;

  • Inception V3:一种图像识别模型,功能上类似于 MobileNet,但能提供更高的准确率(当然模型也更大);

  • Smart Reply:一种设备端对话模型,能对接收到的会话聊天信息提供触发性应答。第一方和第三方通信 App 可在 Android Wear 上使用该特性。

Inception v3 和 MobileNet 都在 ImageNet 数据集上训练过,你可以通过迁移学习轻松地在自己的图像数据集上重新训练这些模型。

  • TensorFlow Lite TensorFlow Lite 指南 TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 IoT 设备上运行 TensorFlow 模型。它支持设备端机器学习推断,延迟较低,并且二进制文件很小。 TensorFlow Lite 包括两个主要组件:解释器用来 转换器是模型的格式转换,优化,提高性能,减小模型大小 TensorFlow Li

  • 现在很多算法都是用pytorch框架训练的,但是在移动端部署很多又使用TensorFlow lite,因此需要将pytorch模型转换到TensorFlow lite。 将pytorch模型转到TensorFlow lite的流程是pytorch->onnx->tensorflow->tensorflow lite,本文记录一下踩坑的过程。 1、pytorch转onnx 这一步比较简单,使用pyt

  • TensorFlow Lite 是 Google 的机器学习框架,用于在多种设备和平台上部署机器学习模型,例如移动设备(iOS 和 Android)、桌面设备和其他边缘设备。 TensorFlow Lite https://www.tensorflow.google.cn/lite 最近,我们又添加了在浏览器中运行 TensorFlow Lite 模型的支持。要使用 TensorFlow Lite

  • TensorFlow Lite 指南 TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 IoT 设备上运行 TensorFlow 模型。它支持设备端机器学习推断,延迟较低,并且二进制文件很小。 TensorFlow Lite 包括两个主要组件: TensorFlow Lite 解释器,它可在手机、嵌入式 Linux 设备和微控制器等很多不同类型的硬件上运行经过专门优

  • (一)平台支持 操作系统 iOS、Android、Linux 开发平台 ARM64(支持RK3399)、Raspberry Pi、iOS (二)下载源代码 到GitHub仓库下载2.0全部代码: wget https://github.com/tensorflow/tensorflow/archive/master.zip 解压后进入: unzip master.zip cd ./tensorf

  • TensorFlow Lite provides programming APIs in C++, Java and Python, with experimental bindings for several other languages (C, Swift, Objective-C). TensorFlow Lite支持的API语言非常多。 C++ 加载Model Tensorflow Li

  • 下载源代码 git clone https://github.com/tensorflow/tensorflow 运行相关的TFLite android例子程序 https://github.com/tensorflow/tensorflow/tree/r2.1/tensorflow/lite/examples/android/app 我们看到这个下面的例子程序已经移到专门的examples仓库里

  • Google最近发布了Tensorflow Lite,并且提供了demo,虽然该demo可以使用bazel build –cxxopt=’–std=c++11’ //tensorflow/contrib/lite/java/demo/app/src/main:TfLiteCameraDemo命令成功编译出来,但是文档中并没有提及如何纯粹的编译出动态库,参考之前的一篇文章《当 Android 开发者

  • 环境 Win10 x86 64 TensorFlow 2.3.1 Python3.6 目录 安装tflite pip3 install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp36-cp36m-win_amd64.whl tflite下载地址平台版本对应 本机是intel的cpu但安装amd64也可以正常运行,

  • TensorFlow Lite 简介 TensorFlow Lite 是一款用于在移动设备、嵌入式设备和物联网设备上运行机器学习模型的轻量级框架。它是 TensorFlow 在移动领域的延伸,旨在解决手机等设备上机器学习计算资源有限的问题。TensorFlow Lite 通过优化模型大小、量化和包含特定设备需求的内核等方式实现了高效运行模型的能力。 TensorFlow Lite 支持多种语言的开

  • 模型文件格式: 模型的主结构,modle结构体 /tensorflow$ vi contrib/lite/schema/schema.fbs +420 table Model { // Version of the schema. version:uint; // A list of all operator codes used in this model. This is /

  • 1、main函数中获取setting的值 tflite::Lable_image::Main函数: 输入参数全部存储在Setting里面: ./lable_image      -i  ./grace_hopper.bmp    -l ./labels.txt 用于输出结果的标签有哪些。比如 background tench goldfish great white sharp tiger sha

  • 一、软件选择版本如下: python3.6 + TensorFlow1.13.1。 1、注意虽然TensorFlow也支持python3.7,但本人在导包时发现lite包无法在import tensorflow后得到。换用python3.6后问题解决。 2、一度选用TensorFlow1.5,但本人安装后tf.contrib.lite的包没有toco_convert方法,因此无法使用此环境搞tfl

  • 个人博客:haichenyi.com。感谢关注   项目里面用到了tflite,用于做简单的图片处理,不是判断图片是什么类型,就是传进去图片,生成新图片,类似于前面一篇讲的GPUImage的滤镜功能,但是比滤镜功能更加强大。   我这里要做的就是集成,拿人家训练好的模型直接来用,我不用去训练模型。 第一步 依赖 //依赖库 implementation 'org.tensorflow:tensor

  • 本文档描述了如何构建 TensorFlow Lite iOS 库。如果仅需使用,可以直接使用 TensorFlow Lite CocoaPod 版本。参阅 TensorFlow Lite iOS Demo 获取示例(参考博客https://blog.csdn.net/mandagod/article/details/104347293)。 下载TensorFlow源代码 git clone htt

  •         TensorFlow Lite是专门针对移动和嵌入式设备的特性重新实现的TensorFlow版本。相比普通的TensorFlow,它的功能更加精简,不支持模型的训练,不支持分布式运行,也没有太多跨平台逻辑,支持的op也比较有限。TensorFlow Lite使用运行于移动端,有些设备甚至是资源非常有限,因此在内存和解析方面必须尽可能减少开销。TensorFlow导出的模型使用的是P

  • 交叉编译 安装工具链 sudo apt-get update sudo apt-get install crossbuild-essential-arm64   如果你使用docker,可能不需要加上sudo 构建 复制Tensorflow代码仓库。在代码仓库根目录下运行下面的脚本来下载依赖: 你也可以尝试使用docker镜像tensorflow/tensorflow:nightly-devel

 相关资料
  • 本文向大家介绍用过哪些移动端深度学习框架?相关面试题,主要包含被问及用过哪些移动端深度学习框架?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 开源的有:小米的MACE,骁龙的SNPE,腾讯的FeatherCNN和ncnn,百度的mobile-deep-learning(MDL);caffe、tensorflow lite都有移动端,只是可能没有上面的框架效率高。据传还有支付宝的xNN,商

  • 5.8 二面 简单自我介绍 先问了下adam优化器的算法公式,有点忘了 糊弄了一下😢 然后让我详细介绍项目 扯了10min 让我讲一些数学求导原理(项目相关) 扯下一个项目 场景优化题 attention块中可以优化哪些地方 qkv 矩阵乘优化,kvcache引入后,qkT变成gemm和gemv两种优化 softmax似乎也有优化手段,但我答错了 面试官让我回去看看flash attention

  • 本书将全面介绍深度学习从模型构造到模型训练的方方面面,以及它们在计算机视觉和自然语言处理中的应用。

  • 本书将全面介绍深度学习从模型构造到模型训练的方方面面,以及它们在计算机视觉和自然语言处理中的应用。Github 地址:https://github.com/d2l-ai/d2l-zh

  • 主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推

  • Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code

  • torch是什么 torch就是诸多深度学习框架中的一种 业界有几大深度学习框架:1)tensorflow,谷歌主推,时下最火,小型试验和大型计算都可以,基于python,缺点是上手相对较难,速度一般;2)torch,facebook主推,用于小型试验,开源应用较多,基于lua,上手较快,网上文档较全,缺点是lua语言相对冷门;3)mxnet,大公司主推,主要用于大型计算,基于python和R,缺

  • 我太菜了,C++需要恶补才行,面试完基本上就知道自己寄,面试官特别好给我说了很多,也让我充分认识到自己的不足 如果是项目的话,会问你项目背景以及项目最终的实现结果等等 如果是自己学习的项目的话,会问你对这个项目的学习心得 最后问对C++对掌握程度 实现vector