TensorFlow Lite 支持移动 GPU,速度推测提升4-6倍

2023-05-16

最近,开源机器学习框架 TensorFlow Lite 更新,新版更新支持了 GPU。

支持 GPU 原因

虽然移动设备的处理能力和功率都有限。虽然 TensorFlow Lite 提供了不少的加速途径,比如将机器学习模型转换成定点模型,但总是会在模型的性能或精度上做出让步。而将GPU作为加速原始浮点模型的一种选择,不会增加量化的额外复杂性和潜在的精度损失。

随着 TensorFlow Lite GPU 后端开发者预览版的发布,将能够利用移动 GPU 来选择模型训练 (如下所示),对于不支持的部分,将自动使用 CPU 进行推理。

新的后端利用了:

  • OpenGL ES 3.1 在 Android 设备上计算着色器

  • iOS 设备上的金属计算着色器

eb062a79e4770b0c5839fb248fbda45ac7f.jpg

目前 TensorFlow Lite 仍使用 CPU 浮点推断进行人脸轮廓检测 (非人脸识别)。未来会利用新的 GPU 后端,可以将 Pixel 3 和三星 S9 的推理速度提升 4~6 倍。

GPU 与 CPU 性能

在Pixel 3的人像模式(Portrait mode)中,与使用CPU相比,使用GPU的Tensorflow Lite,用于抠图/背景虚化的前景-背景分隔模型加速了4倍以上。新深度估计(depth estimation)模型加速了10倍以上。

在能够为视频增加文字、滤镜等特效的YouTube Stories和谷歌的相机AR功能Playground Stickers中,实时视频分割模型在各种手机上的速度提高了5-10倍。

7903bc91ac7f1630df7b62ea5b18baf9eee.jpg

对于不同的深度神经网络模型,使用新GPU后端,通常比浮点CPU快2-7倍。对4个公开模型和2个谷歌内部模型进行基准测试的效果如下:

在更加复杂的神经网络模型上 GPU 加速效果最显著,这些模型本身更有利于 GPU 的利用,例如密集的预测 / 分割或分类任务。在小型模型中,加速效果效果可能略差,但 CPU 的使用可以降低内存传输固有的延迟成本。

另外,关于如何加速的问题——为了获得最佳体验,建议优化输入 / 输出张量复制和 / 或网络架构。有关此类优化的详细信息,可以在 TensorFlow Lite GPU 文档中找到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TensorFlow Lite 支持移动 GPU,速度推测提升4-6倍 的相关文章

  • 什么是tensorflow.python.data.ops.dataset_ops._OptionsDataset?

    我正在使用来自tensorflow的Transformer代码 https www tensorflow org beta tutorials text transformer https www tensorflow org beta t
  • 如何在 keras 模型中使用张量流度量函数?

    使用Python 3 5 2张量流RC 1 1 我正在尝试在 keras 中使用张量流度量函数 所需的功能接口似乎是相同的 但调用 import pandas import numpy import tensorflow contrib k
  • “Dense”对象没有属性“op”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在尝试使用tensorflow keras制作一个完全连接的模型 这是我的代码 from tensorflow keras m
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 如何保存 Tensorflow.js 模型?

    我想制作一个创建 保存和训练 tensorflow js 模型的用户界面 但我无法在创建模型后保存模型 我什至从tensorflow js文档复制了这段代码 但它不起作用 const model tf sequential layers t
  • 如何检查 webgl(two.js) 的客户端性能

    我有一个使用 Three JS 的图形项目 现在我想自动检查客户端 GPU 性能并计算可以在应用程序中加载多少元素 我想到了诸如 GPU 基准测试之类的东西 看一眼stats js https github com mrdoob stats
  • 如何正确将 tflite_graph.pb 转换为 detector.tflite

    我正在使用tensorflow对象检测API使用tensorflow中的ssdlite mobilenet v2 coco 2018 05 09来训练自定义模型模型动物园 https github com tensorflow models
  • 使用 Mac M1 在 Docker 容器内的 pip 安装中找不到 Tensorflow

    我正在尝试使用新的 Mac M1 运行一些项目 这些项目已经在英特尔处理器上运行 并被使用英特尔的其他开发人员使用 我无法构建这个简单的 Dockerfile FROM python 3 9 RUN python m pip install
  • 在 Android 上保持 TensorFlow 模型加密

    我搜索了解是否有一种技术可以在 Android 应用程序中保持经过训练的张量流模型 pb 文件 的安全 但没有找到任何有用的东西 我正在发布一个包含我在训练集上构建的张量流模型的应用程序 当我发布该应用程序时 任何人都可以访问该模型并将其用
  • 支持 Nvidia CUDA 工具包 9.2

    Tensorflow gpu 绑定到 Nvidia CUDA Toolkit 的特定版本的原因是什么 当前版本似乎专门寻找 9 0 并且不适用于任何更高版本 例如 我安装了最新的 Toolkit 9 2 并将其添加到路径中 但 Tensor
  • 使用输入管道时如何替换 feed_dict?

    假设您有一个已与feed dict到目前为止将数据注入到图表中 每隔几个时期 我就会通过将任一数据集的一批数据输入到我的图表中来评估训练和测试损失 现在 出于性能原因 我决定使用输入管道 看看这个虚拟示例 import tensorflow
  • 您必须使用 dtype float(Tensorflow) 为占位符张量“Placeholder”提供值

    import tensorflow as tf import os import sklearn preprocessing import pandas as pd import numpy as np print os getcwd os
  • 导入tensorflow时,出现以下错误:没有名为“numpy.core._multiarray_umath”的模块

    我已经安装了 Ancaconda3 和 Tensorflow 当我尝试在 python shell 中导入 Tensorflow 时 收到以下错误 ModuleNotFoundError 没有名为 numpy core multiarray
  • Tensorflow图像读取空

    这个问题是基于 Tensorflow图像读取与显示 https stackoverflow com questions 33648322 tensorflow image reading display 根据他们的代码 我们得到以下内容 s
  • Tensorboard 和 Dropout 层

    我有一个非常基本的查询 我制作了 4 个几乎相同 差异在于输入形状 的 CNN 并在连接到全连接层的前馈网络时合并了它们 几乎相同的 CNN 的代码 model3 Sequential model3 add Convolution2D 32
  • tf.gfile 在 TensorFlow 中起什么作用?

    我见过人们使用以下几个函数tf gfile例如tf gfile GFile or tf gfile Exists 我有一个想法tf gfile处理文件 但是 我无法找到官方文档来了解它还提供了什么 如果你能帮我的话那就太好了 对于登陆这里的
  • conv1D 中形状的尺寸

    我尝试过构建一个只有一层的 CNN 但遇到了一些问题 事实上 编译器告诉我 ValueError 检查模型输入时出错 预期的 conv1d 1 input 具有 3 个维度 但得到形状为 569 30 的数组 这是代码 import num
  • Tensorflow如何生成不平衡组合数据集

    我对新数据集 API tensorflow 1 4 有疑问 我有两个数据集 我需要创建一个组合的不平衡数据集 即 每个批次应包含第一个数据集中一定数量的元素和第二个数据集中一定数量的元素 例如 dataset1 tf data Datase
  • 有没有办法在bigquery中使用kmeans、tensorflow保存的模型?

    我知道这有点愚蠢 因为 BigQueryML 现在为 Kmeans 提供了良好的初始化 尽管如此 我还是需要在张量流中训练一个模型 然后将其传递给 BigQuery 进行预测 我保存了模型 一切正常 直到我尝试将其上传到 bigquery
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是

随机推荐

  • 我凭什么为美国人买单?(转)

    香港一个朋友的妈妈是我见到过最忠诚的股迷 xff0c 老太太做了一辈子的护士 xff0c 八九年退休后成了专业股迷 xff0c 只要开市风雨不误去银行大厅炒股机前上班 老太太炒股同别人不同 xff0c 她只炒一只股 xff0c 那就是香港股
  • postgresql 清空数据表数据

    在 mysql中 xff0c 只需要执行 xff1a TRUNCATE table name 即可 xff0c 数据会情况 xff0c 而且自增id也会变回0 xff1b 但在 postgresql 则稍有不同 xff0c 因为 postg
  • 适合初学者小白的10本Python书籍,你值得收藏

    我会经常分享一本书 你看完如果对你有帮助 xff0c 值得你购买 xff0c 请到官网购买正版书籍 声明 xff1a 我不是卖书的 xff0c 我搞得是Python技术 xff0c 文章最后免费为你准备了一些Python资料 Python是
  • Rust开发操作系统系列:从零制作x86_64位系统

    Rust开发操作系统系列 xff1a 从零制作x86 64位系统 在发表这个文章之前 xff0c 我曾发布过另一篇文章 xff1a Rust开发操作系统系列 xff1a 全新Hello World系统 那篇文章我发布在云栖社区以及我自己的博
  • 莫名其妙报module 'urllib' has no attribute 'request'的解决方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 以前在pycharm下运行好好的程序 xff0c 今天就加了两个log xff0c 莫名其妙报错说urllib下找不到request 报错 xff1a module 39
  • 【NativeScript Vue 2019--中文字幕】精通原生手机UI之路

    在NativeScript原生手机app开发里 xff0c 其中的UI界面就跟我们常用的html 或blade模板 或vue的普通template不一样了 xff0c 其中就有很多值得警惕的了 xff0c 有的方式是好的 xff0c 可以提
  • SpringBoot整合阿里云OSS文件上传、下载、查看、删除

    该项目源码地址 xff1a https github com ggb2312 JavaNotes tree master springboot integration examples xff08 其中包含SpringBoot和其他常用技术
  • sql server 对储存过程和函数的加密解密

    加密使用关键字 xff1a ENCRYPTION CREATE procedure dbo sp EytTest 64 para varchar 50 WITH ENCRYPTION as begin select 64 para end
  • 设计模式之(十三)备忘机制Memento

    Memento备望录模式定义 memento是一个保存另外一个对象内部状态拷贝的对象 这样以后就可以将该对象恢复到原先保存的状态 Memento模式相对也比较好理解 我们看下列代码 public class Originator publi
  • 从点击Button到弹出一个MessageBox, 背后发生了什么

    思考一个最简单的程序行为 xff1a 我们的Dialog上有一个Button xff0c 当用户用鼠标点击这个Button时 xff0c 我们弹出一个MessageBox 这个看似简单的行为 xff0c 谁能说清楚它是如何运行起来的 xff
  • Windows 7 封装篇(一)【母盘定制】[手动制作]定制合适的系统母盘

    Windows 7 封装篇 xff08 一 xff09 母盘定制 手动制作 定制合适的系统母盘 http www win10u com article html 10 html Windows 7 封装篇 xff08 一 xff09 母盘定
  • #ifdef __cplusplus 倒底是什么意思?

    时常在cpp的代码之中看到这样的代码 ifdef cplusplus extern 34 C 34 endif 一段代码 ifdef cplusplus endif 这样的代码到底是什么意思呢 xff1f 首先 xff0c cplusplu
  • ping过程详细解读

    0 前言 在讲解ping过程之前 xff0c 我们需要了解以下概念 1 何为ping PING Packet Internet Groper xff0c 因特网包探索器 xff0c 用于测试网络连通性的程序 Ping发送一个ICMP Int
  • 使用源码安装MariaDB

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 系统 xff1a CentOS 6 5 x86 64 为什么源码安装 xff1f 自定义编译参数 xff0c 编译器优化 xff0c 自定义安装位置 源码安装系统需求 xf
  • VS2015配置Linux开发远程调试

    VS2015配置Linux开发远程调试 简介 vs2015支持跨平台开发 软件环境 VS2015 update3 Visual C 43 43 for Linux Development VC Linux exe 安装步骤 安装VS2015
  • 将linux文件中的tab更换为空格的三种方法

    将linux文件中的tab更换为空格的三种方法 1 xff0c 用sed命令 sed s t g filename gt filename1 2 用tr命令 cat filename tr 34 t 34 34 34 gt filename
  • React生命周期-踩坑记_10

    React生命周期 生命周期概览 生命周期的状态 组件的生命周期可分成三个状态 xff1a Mounting xff1a 已插入真实 DOMUpdating xff1a 正在被重新渲Unmounting xff1a 已移出真实 DOMcom
  • 转录组入门(5): 序列比对

    欢迎来GitHub上fork xff0c 一起进步 xff1a https github com xuzhougeng 比对软件很多 xff0c 首先大家去收集一下 xff0c 因为我们是带大家入门 xff0c 请统一用hisat2 xff
  • amavisd 规则备忘

    邮件服务器在做内容过滤 xff0c 结果误杀好多邮件 xff0c 有一些常用规则再现 xff0c 记录一下 20150113 初版 amavisd 版本为2 6 4 https wiki apache org spamassassin Ru
  • TensorFlow Lite 支持移动 GPU,速度推测提升4-6倍

    最近 xff0c 开源机器学习框架 TensorFlow Lite 更新 xff0c 新版更新支持了 GPU 支持 GPU 原因 虽然移动设备的处理能力和功率都有限 虽然 TensorFlow Lite 提供了不少的加速途径 xff0c 比