188144一码大公开专栏 深度进建算法优化系列五 行使TensorFlow-L

  原问题:专栏 深度研习算法优化系列五 诈骗TensorFlow-Lite对LeNet举行熬炼后量化

  在 深度进筑算法优化系列三 Google CVPR2018 int8量化算法 这篇推文中依然具体介绍了Google提出的Min-Max量化格式,合于意义这一小节就不再赘述了,感兴味的去看一下那篇推文即可。此日严重是操纵 tflite 来跑一下这个量化算法,量化一个最轻松的LeNet-5模型来声明一下量化的有效性。 tflite 全称为 TensorFlow Lite ,是一种用于修立端占定的开源深度进修框架。汉文官方地点全班人放附录了,他们们们领会为这个框架也许把你们用tensorflow陶冶出来的模型变革到搬动端举行安排即可,188144一码大公开在这个改良经由中就不妨主动移用算法实验模型剪枝,模型量化了。由于全班人并不熟谙将 tflite 模型放到 Android 端进行测试的源委,因而所有人将 tflite 模型直接在PC前进行了试验(包括精度,快度,模型大小)。

  筑立少少超参数,离别为 dropout 层的委弃比率,开奖结果!练习率,批量大小,模型需要保管的途径以及训练的迭代次数。

  构筑我们的陶冶网络,这里欺骗LeNet,想愚弄其他们汇集也许自己的搜集反映改削即可。防卫一下这里行使了 tensorflow 中的变量沉用函数,容易的控制在考试阶段不使用 Dropout 。对于 Lenet 能够轮廓的看一下他之前的推文,地方如下: 卷积神经网络练习途径(六) 经典汇集追忆之LeNet 同时在LeNet类中如故定义好了亏损函数和优化器,是以接下来所有人就或许直接启动陶冶啦。

  将模型转为 tflite ,挪用的 tf.lite.TFLiteConverter 。并实行量化操作,如此模型大小被退缩到了之前的 1/4 支配。代码如下:

  末尾你再写两个试验的代码,区分对原始模型和量化后模型的推理疾度和精度实行一个考试,代码如下:

  # # 输出成就是长度为10(对应0-9)的一维数据,香港正版创富图库中心。最大值的下标即是展望的数字

  可能看到对LeNet量化后模型的大小变为原始模型的近 1/4 ,并且精度险些不降,且运行快度也有 3-4 倍加快。也声明了训练后量化的有效性。今天有时就叙到这里了,所有人把源码放到github上了,地方见附录。