TensorFlow的新型模型优化工具包可使模型速度提高3倍

简介: 本周TensorFlow推出了一个新的模型优化工具包。这套技术同时适用于新老开发员以优化机器学习模型,特别是运行TensorFlowLite的开发人员。任何现有TensorFlow模型均适用。

  本周TensorFlow推出了一个新的模型优化工具包。这套技术同时适用于新老开发员以优化机器学习模型,特别是运行TensorFlowLite的开发人员。任何现有TensorFlow模型均适用。

  什么是TensorFlow中的模型优化?

  TensorFlowLite转换工具新支持训练后量化。理论上,这可以使数据中的压缩率提高四倍,相关机器学习模型的执行速度提高三倍。

  在量化它们所使用的模型时,功耗也降低。

  启用训练后量化

  此量化技术已集成到TensorFlowLite转换工具中。启动非常容易。构建TensorFlow模型后,您可以在TensorFlowLite转换工具中简单地启用“post_training_quantize”标志。如果模型被保存并存储在saved_model_dir中,则可以生成量化的tfliteflatbuffer。

 ca5927fb66af5d96fb102ce68954a6a0

  有一个说明性的教程解释了如何做。TensorFlowLite当前不支持在平台上使用此技术部署,但计划将其合并到通用TensorFlow工具中。

  训练后量化的优势

  这种量化技术的好处包括:

  l模型尺寸减少约四倍。

  l在主要由卷积层组成的模型中执行速度提高10-50%。

  l是RNN模型速度的三倍。

  l由于减少了内存和计算要求,大多数模型的功耗也会降低。

  下图显示了使用单核在GooglePixel2手机上几个模型的模型尺寸减小,执行时间加速。我们可以看到优化后的模型几乎小了四倍。

 c6c63e8dadd424e190b2225a11d576dd

  加速和模型尺寸的减小不会对精度产生太大影响。启动时小尺寸的模型可能会遭受更大的损失。这是一个比较:

 9c37cd1a78f2ee1d809cdd6466fe1de2

  它是如何工作的?

  在幕后,它以减少参数精度(神经网络权重)的方式来运行优化。从训练时间32位浮点表达至更小更有效的8位整数表达中缩减模型尺寸。

  这些优化在结果模型中用固定和浮点算数混合的内核粗略地操作,以确保配对。这能够快速执行最重的计算,但精度较低。但是,最敏感的数据仍然是以高精度计算的,准确性较高。

相关文章
|
3天前
|
机器学习/深度学习 算法 TensorFlow
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
谷物识别系统,本系统使用Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对11种谷物图片数据集('大米', '小米', '燕麦', '玉米渣', '红豆', '绿豆', '花生仁', '荞麦', '黄豆', '黑米', '黑豆')进行训练,得到一个进度较高的H5格式的模型文件。然后使用Django框架搭建了一个Web网页端可视化操作界面。实现用户上传一张图片识别其名称。
29 0
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
|
7天前
|
机器学习/深度学习 人工智能 算法
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
43 0
|
9天前
|
机器学习/深度学习 自然语言处理 TensorFlow
构建高效的机器学习模型:基于Python和TensorFlow的实践
构建高效的机器学习模型:基于Python和TensorFlow的实践
31 0
|
17天前
|
机器学习/深度学习 人工智能 算法
食物识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
食物识别系统采用TensorFlow的ResNet50模型,训练了包含11类食物的数据集,生成高精度H5模型。系统整合Django框架,提供网页平台,用户可上传图片进行食物识别。效果图片展示成功识别各类食物。[查看演示视频、代码及安装指南](https://www.yuque.com/ziwu/yygu3z/yhd6a7vai4o9iuys?singleDoc#)。项目利用深度学习的卷积神经网络(CNN),其局部感受野和权重共享机制适于图像识别,广泛应用于医疗图像分析等领域。示例代码展示了一个使用TensorFlow训练的简单CNN模型,用于MNIST手写数字识别。
45 3
|
22天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
关于Tensorflow!目标检测预训练模型的迁移学习
这篇文章主要介绍了使用Tensorflow进行目标检测的迁移学习过程。关于使用Tensorflow进行目标检测模型训练的实战教程,涵盖了从数据准备到模型应用的全过程,特别适合对此领域感兴趣的开发者参考。
30 3
关于Tensorflow!目标检测预训练模型的迁移学习
|
22天前
|
机器学习/深度学习 TensorFlow API
Python深度学习基于Tensorflow(3)Tensorflow 构建模型
Python深度学习基于Tensorflow(3)Tensorflow 构建模型
76 2
|
22天前
|
机器学习/深度学习 数据可视化 TensorFlow
【Python 机器学习专栏】使用 TensorFlow 构建深度学习模型
【4月更文挑战第30天】本文介绍了如何使用 TensorFlow 构建深度学习模型。TensorFlow 是谷歌的开源深度学习框架,具备强大计算能力和灵活编程接口。构建模型涉及数据准备、模型定义、选择损失函数和优化器、训练、评估及模型保存部署。文中以全连接神经网络为例,展示了从数据预处理到模型训练和评估的完整流程。此外,还提到了 TensorFlow 的自动微分、模型可视化和分布式训练等高级特性。通过本文,读者可掌握 TensorFlow 基本用法,为构建高效深度学习模型打下基础。
|
22天前
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
|
22天前
|
机器学习/深度学习 TensorFlow API
Python安装TensorFlow 2、tf.keras和深度学习模型的定义
Python安装TensorFlow 2、tf.keras和深度学习模型的定义
|
22天前
|
机器学习/深度学习 大数据 TensorFlow
使用TensorFlow实现Python简版神经网络模型
使用TensorFlow实现Python简版神经网络模型