0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用于移动设备的框架TensorFlow Lite发布重大更新

jmiy_worldofai 来源:lq 2019-01-21 13:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

TensorFlow用于移动设备的框架TensorFlow Lite发布重大更新,支持开发者使用手机等移动设备的GPU来提高模型推断速度。

在进行人脸轮廓检测的推断速度上,与之前使用CPU相比,使用新的GPU后端有不小的提升。在Pixel 3和三星S9上,提升程度大概为4倍,在iPhone 7上有大约有6倍。

为什么要支持GPU?

众所周知,使用计算密集的机器学习模型进行推断需要大量的资源。

但是移动设备的处理能力和功率都有限。虽然TensorFlow Lite提供了不少的加速途径,比如将机器学习模型转换成定点模型,但总是会在模型的性能或精度上做出让步。

而将GPU作为加速原始浮点模型的一种选择,不会增加量化的额外复杂性和潜在的精度损失。

在谷歌内部,几个月来一直在产品中使用GPU后端做测试。结果证明,的确可以加快复杂网络的推断速度。

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

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

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

使用GPU加速,对于更复杂的神经网络模型最为重要,比如密集的预测/分割或分类任务。

在相对较小的模型上,加速的效果就没有那么明显了,使用CPU反而有利于避免内存传输中固有的延迟成本。

如何使用?

安卓设备(用Java)中,谷歌已经发布了完整的Android Archive (AAR) ,其中包括带有GPU后端的TensorFlow Lite。

你可以编辑Gradle文件,用AAR替代当前的版本,并将下面的代码片段,添加到Java初始化代码中。

//InitializeinterpreterwithGPUdelegate.GpuDelegatedelegate=newGpuDelegate();Interpreter.Optionsoptions=(newInterpreter.Options()).addDelegate(delegate);Interpreterinterpreter=newInterpreter(model,options);//Runinference.while(true){writeToInputTensor(inputTensor);interpreter.run(inputTensor,outputTensor);readFromOutputTensor(outputTensor);}//Cleanup.delegate.close();在iOS设备(用C++)中,要先下载二进制版本的TensorFlowLite。然后更改代码,在创建模型后调用ModifyGraphWithDelegate()。//InitializeinterpreterwithGPUdelegate.std::unique_ptrinterpreter;InterpreterBuilder(model,op_resolver)(&interpreter);auto*delegate=NewGpuDelegate(nullptr);//defaultconfigif(interpreter->ModifyGraphWithDelegate(delegate)!=kTfLiteOk)returnfalse;//Runinference.while(true){WriteToInputTensor(interpreter->typed_input_tensor< float>(0));if(interpreter->Invoke()!=kTfLiteOk)returnfalse;ReadFromOutputTensor(interpreter->typed_output_tensor< float>(0));}//Cleanup.interpreter=nullptr;DeleteGpuDelegate(delegate);

(更多的使用教程,可以参见TensorFlow的官方教程,传送门在文末)

还在发展中

当前发布的,只是TensorFlow Lite的开发者预览版。

新的GPU后端,在安卓设备上利用的是OpenGL ES 3.1 Compute Shaders,在iOS上利用的是Metal Compute Shaders。

能够支持的GPU操作并不多。有:

ADD v1、AVERAGE_POOL_2D v1、CONCATENATION v1、CONV_2D v1、DEPTHWISE_CONV_2D v1-2、FULLY_CONNECTED v1、LOGISTIC v1

MAX_POOL_2D v1、MUL v1、PAD v1、PRELU v1、RELU v1、RELU6 v1、RESHAPE v1、RESIZE_BILINEAR v1、SOFTMAX v1、STRIDED_SLICE v1、SUB v1、TRANSPOSE_CONV v1

TensorFlow官方表示,未来将会扩大操作范围、进一步优化性能、发展并最终确定API。

完整的开源版本,将会在2019年晚些时候发布。

传送门

使用教程:

https://www.tensorflow.org/lite/performance/gpu

项目完整文档:

https://www.tensorflow.org/lite/performance/gpu_advanced

博客地址:

https://medium.com/tensorflow/tensorflow-lite-now-faster-with-mobile-gpus-developer-preview-e15797e6dee7

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222881
  • 移动设备
    +关注

    关注

    0

    文章

    521

    浏览量

    55768
  • tensorflow
    +关注

    关注

    13

    文章

    331

    浏览量

    61841
  • TensorFlow Lite
    +关注

    关注

    0

    文章

    26

    浏览量

    802

原文标题:TensorFlow Lite发布重大更新!支持移动GPU、推断速度提升4-6倍

文章出处:【微信号:worldofai,微信公众号:worldofai】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    微软发布多项智能Microsoft 365 Copilot副驾驶重大更新

     365 Copilot 副驾驶 重大更新,助力每家企业从任务自动化迈向流程自主化,加速成为“前沿企业”。这些新功能由微软全新的智能引擎 Work IQ 驱动,通过多智能体(Agents)协同让 Copilot 更加懂您、主动替您行动,大幅提升工作效率与创造力。
    的头像 发表于 12-02 09:49 396次阅读

    【上海晶珩睿莓1开发板试用体验】将TensorFlow-Lite物体归类(classify)的输出图片移植到LVGL9.3界面中

    既然调通了TensorFlow-Lite物体归类(classify)和LVGL9.3代码,那么把这两个东西结合起来也是没问题的,需要注意的是,TensorFlow-Lite是C++代码,而
    发表于 09-21 00:39

    【上海晶珩睿莓1开发板试用体验】TensorFlow-Lite物体归类(classify)

    目前尚未得知睿莓1开发板上面有NPU或者DPU之类的额外处理器,因此使用树莓派系列使用最广泛的TensorFlow-Lite库进行物体归类,使用CPU运行代码,因此占用的是CPU的算力。在
    发表于 09-12 22:43

    技术洞见:THEIA S1 &amp; S1 LITE 直播机实操效果真的棒!

    的专业级演播室效果。 赋能移动,重构格局 THEIA S1 LITE 致力于打造移动创作闭环: 远程协作: 通过网页端 WebGUI 管理系统,导播可异地轻松接管设备调控。 随着TH
    发表于 08-25 15:39

    芯科科技Arduino开发资源重大更新

    Silicon Labs (芯科科技)近期于在线技术社群中发布了面向Arduino Core和Matter库的重大更新,带来了两个关键突破:全面支持Matter 1.4标准,以及人工智能和机器学习
    的头像 发表于 08-20 15:51 609次阅读

    无法将Tensorflow Lite模型转换为OpenVINO™格式怎么处理?

    Tensorflow Lite 模型转换为 OpenVINO™ 格式。 遇到的错误: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostP
    发表于 06-25 08:27

    迅为iTOP-3576开发板适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。

    计算、个人移动互联网设备及其他多媒体产品。 支持INT4/INT8/INT16/FP16/BF16/TF32混合运算,并凭借其强大的兼容性,可以轻松转换基于TensorFlow、MXNet
    发表于 06-19 10:48

    DevEco重大更新快来体验吧

    HarmonyOS首个api17 release已经正式发布了。这次的更新DevEco增加了很多重大特性,系统能力也有所增强。DevEco现在支持创建api17的应用了,模拟器也首次支持阔折叠手机
    发表于 05-17 20:59

    迅为iTOP-RK3576开发板/核心板6TOPS超强算力NPU适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品

    计算、个人移动互联网设备及其他多媒体产品。 支持INT4/INT8/INT16/FP16/BF16/TF32混合运算,并凭借其强大的兼容性,可以轻松转换基于TensorFlow、MXNet
    发表于 05-16 14:46

    微软Copilot迎来重大更新

    “在微软成立50周年之际,微软AI首席执行官穆斯塔法·苏莱曼发布了Copilot的重大更新,这标志着人工智能助手进入了一个全新的时代。穆斯塔法在活动中表示:“Copilot不仅仅是一个AI,它是属于
    的头像 发表于 04-09 16:40 687次阅读

    FlexBuild构建Debian 12,在“tflite_ethosu_delegate”上构建失败了怎么解决?

    /workspace/tn_debian_FlexBuild 构建/components_lsdk2412/apps/ml/tflite/tensorflow/lite/tools/cmake
    发表于 04-01 06:53

    LibreELEC 12.0.2 为树莓派用户带来重大变化!

    LibreELEC12.0.2,一个开源媒体中心,现集成Kodi21.2,从ARM升级到AArch64,并为RaspberryPi4/5带来这些重大更新。在其上一个12.0.1版本发布五个月
    的头像 发表于 03-25 09:20 837次阅读
    LibreELEC 12.0.2 为树莓派用户带来<b class='flag-5'>重大</b>变化!

    迅为iTOP-RK3576开发板/核心板适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品

    计算、个人移动互联网设备及其他多媒体产品。 支持INT4/INT8/INT16/FP16/BF16/TF32混合运算,并凭借其强大的兼容性,可以轻松转换基于TensorFlow、MXNet
    发表于 01-23 10:26

    EE-217:更新ADSP-TS101S TigerSHARC EZ-KIT Lite固件

    电子发烧友网站提供《EE-217:更新ADSP-TS101S TigerSHARC EZ-KIT Lite固件.pdf》资料免费下载
    发表于 01-14 16:39 0次下载
    EE-217:<b class='flag-5'>更新</b>ADSP-TS101S TigerSHARC EZ-KIT <b class='flag-5'>Lite</b>固件

    迅为RK3576开发板适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品

    计算、个人移动互联网设备及其他多媒体产品。 支持INT4/INT8/INT16/FP16/BF16/TF32混合运算,并凭借其强大的兼容性,可以轻松转换基于TensorFlow、MXNet
    发表于 12-27 14:18