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位整数存储和计算来达到内存占用更少、计算更少和功耗更少的目的。

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

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

    关注

    67

    文章

    8570

    浏览量

    137420
  • tensorflow
    +关注

    关注

    13

    文章

    336

    浏览量

    62443

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    款让工具管理更自由的RFID智能工具包

    CK-B1A是款采用RFID技术的双肩工具背包,在设计上没有改变传统工具包的使用方式,但在内部增加了识别能力。在人员准备离开现场时,通过键锁定,
    的头像 发表于 05-21 16:15 557次阅读
    <b class='flag-5'>一</b>款让<b class='flag-5'>工具</b>管理更自由的RFID智能<b class='flag-5'>工具包</b>

    KITSGTL5000EVBE 开发工具包无响应,i2c 失败的原因?

    KITSGTL5000EVBE 开发工具包无响应,i2c 失败
    发表于 04-22 07:11

    eIQ 工具包在 Ubuntu 22.04 中不起作用怎么解决?

    LTSRelease:22.04Codename:jammy 在哪里可以找到 eIQ Toolkit 1.16 的官方安装说明?有没有办法在没有 GPU 的情况下启动 eIQ 工具包?为什么 eIQ Toolkit Portal 无法启动?
    发表于 04-22 06:54

    在 NPU 上运行了 eIQ TensorFlow Lite 示例模型报错

    TensorFlow Lite 示例,引用IMX_ML_User_Guide,但遇到了微码不匹配错误。 我们的设置使用 BSP 版本 scarthgap-6.6.36-2.1.0 和 eIQ 工具包版本
    发表于 03-18 06:52

    淘宝搜索API:关键词优化工具,提升曝光率!

    ​  在电商领域,曝光率是决定商品销量的关键因素之。淘宝作为国内领先的电商平台,提供了强大的搜索API接口,帮助开发者构建关键词优化工具,从而提升商品在搜索结果中的排名和曝光。本文详细介绍淘宝
    的头像 发表于 01-05 15:38 425次阅读
    淘宝搜索API:关键词<b class='flag-5'>优化工具</b>,提升曝光率!

    发布应用催促加急撤销审核

    ;gt; 版本信息”下待发布的版本。 点击右上角的“提交审核”。 在弹出的窗口中确认版本号无误后,点击“确认”。 如果软件中支持的设备类型范围大于配置支持设备时选择的设备范围,并且软件支持PC
    发表于 12-26 10:43

    发布元服务提交审核

    ;gt; 版本信息”下待发布的版本。 点击右上角的“提交审核”。 在弹出的窗口中确认版本号无误后,点击“确认”。 如果软件中支持的设备类型范围大于配置支持设备时选择的设备范围,并且软件支持PC
    发表于 12-04 14:23

    元服务发布选择待发布软件

    ;gt; 版本信息”下待发布的版本。 进入“软件版本”区域,点击“版本选取” 5.弹出窗口展示已上传的、通过检查的软件,选择待发布的软件
    发表于 11-03 17:10

    Analog Devices发布ADI Power Studio™和网页端新工具 简化电源管理设计和优化

    ADI Power Studio多种ADI工具整合成完整的产品系列,助力简化电源管理设计和优化工作。 ADI Power Studio
    的头像 发表于 10-15 11:08 4.3w次阅读

    eForce无线通信软件开发工具包兼容WLAN模块WKR612AA1

    近期,eForce株式会社宣布,其面向嵌入式设备的无线通信软件开发工具包(μC3-WLAN SDK)现已兼容 KAGA FEI 生产的无线局域网(WLAN)模块"WKR612AA1"。
    的头像 发表于 09-24 15:16 1906次阅读

    请问rt thread 发布版的源码中 如何导出bsp工程

    我下载了发布版的压缩解压后, 在env下 想导出bsp工程,但是报错, (.venv) 123@LENOVO-MACO G
    发表于 09-16 06:01

    IQM 宣布 Resonance 量子云平台重大升级,推出全新软件开发工具包

    进程,并为终端用户带来性能强大的新代量子系统。 此次升级 Qrisp——源自德国弗劳恩霍夫 FOKUS 研究所的项目——设为平台新的默认软件开发
    的头像 发表于 07-11 11:03 856次阅读

    harmony-utils之FormatUtil,格式化工具

    harmony-utils之FormatUtil,格式化工具
    的头像 发表于 07-03 18:22 727次阅读

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

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

    鸿蒙5开发宝藏案例分享---优化应用体积大小问题

    ?** 鸿蒙体积优化实战:藏在官方文档里的宝藏技巧!** 大家好呀~我是你们的鸿蒙开发小伙伴!今天在翻官方文档时,发现了
    发表于 06-13 10:09