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

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

3天内不再提示

TensorFlow官方发布消息称将引入一个新的优化工具包

zhKF_jqr_AI 来源:未知 作者:李倩 2018-09-21 08:53 次阅读

编者按:几个月前,Tensorflow发布了一份名为《Quantizing deep convolutional networks for efficient inference》的白皮书,主要介绍团队关于模型量化的相关工作,所谓量化,简单来说就是将32浮点数近似地用8位整数存储和计算,量化后,模型占用存储空间减小75%,能起到压缩模型的效果。而现在,这项技术就快和大家见面了。

今天凌晨,TensorFlow官方发布消息称将引入一个新的优化工具包,方便机器学习初学者和高级开发人员进行优化,方便模型的部署和执行。

它的名字是训练后量化(post-training quantization),这是模型量化的一类,主要优点有:

模型占用存储空间缩小75%

如果是主要由卷积层组成的模型,执行速度提高10–50%

如果是基于RNN的模型,执行速度提高3倍

内存、算力要求的降低也意味着大多数模型的功耗会大幅降低

内存、算力、功耗,这是模型量化的主要优化对象,而在实践中,最能从中收益的自然是在各种移动端设备上使用机器学习模型的开发人员,尤其是TensorFlow Lite的用户。

下图展示了使用这个优化工具包后,几种典型模型在存储空间占用上的变化(单核Android Pixel 2手机):

模型尺寸比较:经优化的模型几乎为原来的1/4

下图是训练后量化对模型执行的加速效果(单核Android Pixel 2手机):

延迟比较:经优化的模型执行速度提高了1.2到1.4倍

通常情况下,模型压缩会对原有准确率造成不同程度的影响,但训练后量化的影响几乎等同于无,它能在缩小尺寸、提高速度的前提下保持模型精度,如下图所示(单核Android Pixel 2手机):

启用模型量化

现在训练后量化已被集成到TensorFlow Lite中,它的使用方法很简单:首先构建一个TensorFlow模型,其次在conversion tool中找到模型量化的标志“posttrainingquantize”。假设模型存储在savedmodeldir中,那么具体命令就是:

converter=tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)

converter.post_training_quantize=True

tflite_quantized_model=converter.convert()

open(“quantized_model.tflite”, “wb”).write(tflite_quantized_model)

具体操作可见github:github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/tutorials/posttrainingquant.ipynb

虽然目前开发者们只能在TensorFlow Lite中用到这个技术,但官方也称将尽快把它整合到一般的TensorFlow工具中。

小结

除了训练后量化,在之前提到的白皮书中,Tensorflow还提到了训练时量化,它能使模型的准确率更高。而综合来看,它们都是基于量化设计的技术,依靠把32浮点数近似地用8位整数存储和计算来达到内存占用更少、计算更少和功耗更少的目的。

随着深层神经网络不断在现实中落地,这种技术将适应现代科技设备的发展步伐,为开发者和产品用户带来便利。

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

    关注

    66

    文章

    8116

    浏览量

    130546
  • tensorflow
    +关注

    关注

    13

    文章

    313

    浏览量

    60242

原文标题:模型大小缩小75%,TensorFlow推出模型优化工具包

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

收藏 人收藏

    评论

    相关推荐

    求助,请问有没有labview opc ua工具包 2018 啊

    如题,求助,请问有没有labview opc ua工具包 2018 啊。只要2018的哦
    发表于 01-25 20:14

    labview工具包下载

    求助labview2020控制仿真工具包,官网下载不了,这个说能免注册下载网址我打开也是空白,求助好心人帮帮忙分享 https://download.ni.com/#evalua
    发表于 01-16 15:07

    【LuckFox Pico Plus开发板免费试用】+ADB工具包的使用

    ADB工具包种较为使用的工具软件,这里就介绍下它的基本用法。 在使用前,需下载ADB工具包软件。 在解压后,其内容如图1所示,该
    发表于 10-20 15:23

    ARM KEIL™MDK工具包的操作流程

    本笔记介绍了ARM®KEIL™MDK工具包的操作流程,该工具包采用了μVision®和MicroSemi(Actel™)包含嵌入式ARM®Cortex™-M3处理器的全新智能融合2(SF2)系列
    发表于 09-04 06:16

    ARM KEIL™MDK工具包的操作流程

    本笔记介绍了ARM®KEIL™MDK工具包的操作流程,该工具包采用了μVision®和MicroSemi的SmartFusion2(™)系列,该系列包含嵌入式ARM®Cortex™-M3处理器
    发表于 08-29 07:39

    ARM软件开发工具包2.50版参考指南

    ARM软件开发工具包(SDT)由套应用程序以及支持文档和示例组成,使您能够为ARM系列RISC处理器编写和调试应用程序。 您可以使用SDT来开发、生成和调试C、C++或ARM汇编语言程序。
    发表于 08-21 07:17

    如何在OpenVINO trade工具包中推断两图像?

    无法在OpenVINO™工具包中对两输入图像运行推理。
    发表于 08-15 08:24

    为什么无法使用POT优化Tensorflow (TF)或MXNet模型?

    无法使用 POT 优化 Tensorflow (TF) 或 MXNet 模型,以便在 英特尔凌动® 平台上使用 OpenVINO™ 工具套件进行推理。 运行 pot -h。 接收错误消息: 非法指令例外
    发表于 08-15 08:05

    如何在OpenVINO工具包中使用带推理引擎的blob?

    无法确定如何在OpenVINO™工具包中使用带推理引擎的 blob。
    发表于 08-15 07:17

    TensorFlow神经网络量化为8位

    使用CoreML量化工具优化模型以进行部署。查看34T苹果开发者34Twebsite了解更多更新。 请注意,目前无法在iOS上通过CoreML部署8位量化TensorFlow模型。但是,您可
    发表于 08-10 06:01

    c++对于ARM软件开发工具包用户及参考指引

    这本书描述了armc++ 1.0版本的ARM软件开发工具包,以下简称为armc++。ARM c++是工具,当与ARM软件开发工具包2.11或更高版本
    发表于 08-08 06:29

    利用OpenVINO工具包检测汽车品牌

    地检测品牌、车标和形状。 OpenVINO TM的Intel&Distribution工具包全面的工具包,用于快速开发模拟人类视觉的应用程序和解决方案。该
    发表于 08-04 07:36

    如何使用TensorFlow神经网络模型部署到移动或嵌入式设备上

    使用TensorFlow的transform_graph工具生成优化的8位模型,该模型效率更高,但精度较低。 4.在设备上对
    发表于 08-02 06:43

    如何访问已与eIQ工具包起安装的python版本?

    1.7.3 Ubuntu 安装程序并将该工具包安装在远程板上。 但是,我想知道如何访问该工具包的命令行工具,以及如何访问已与eIQ 工具包
    发表于 06-07 06:46

    想要构建简单的wifi温度计,在哪里可以找到这样简单的工具包和源代码?

    我们正计划构建简单的 wifi 温度计。内置热电偶。可充电电池。Android 应用程序以 F 和 C 显示温度。电池百分比。任何演示套件随时可用?请告诉我们在哪里可以找到这样简单的工具包和源代码?
    发表于 06-01 09:15