前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CNN模型 int8量化实现方式(二)

CNN模型 int8量化实现方式(二)

作者头像
用户1148525
发布2019-05-26 11:49:33
1.6K0
发布2019-05-26 11:49:33
举报

python 版本切换 sudo update-alternatives --list python

sudo update-alternatives --config python

卸载TensorFlow

先介绍卸载, 如果你的tensorflow是用pip安装的,那下面简单的命令就可以完成卸载了

代码语言:javascript
复制
sudo pip uninstall tensorflow_gpu  
sudo pip3 uninstall tensorflow_gpu

这里介绍一个完全基于 Tensorflow 的模型量化方法,以 yolo v3 为例

1)利用现有yolo v3 模型 生成 Tensorflow pb 模型 基于 https://github.com/mystic123/tensorflow-yolo-v3 Run python ./convert_weights.py and python ./convert_weights_pb.py

2)完全基于 Tensorflow 的量化 https://blog.csdn.net/u011961856/article/details/76736103

1.源码编译安装tensorflow 可参考 https://blog.csdn.net/u011961856/article/details/76725411

2 编译量化工具

代码语言:javascript
复制
sudo bazel build tensorflow/tools/quantization:quantize_graph

3.模型量化:

代码语言:javascript
复制
sudo bazel-bin/tensorflow/tools/quantization/quantize_graph --input=/tmp/classify_image_graph_def.pb --output_node_names="softmax" --output=/tmp/quantized_graph.pb --mode=eightbit

/tmp/ 这个路径我的修改为自己的绝对路径

代码语言:javascript
复制
sudo bazel-bin/tensorflow/tools/quantization/quantize_graph --input=/home/zhangjun/tensorflow/tmp/classify_image_graph_def.pb --output_node_names="softmax" --output=/home/zhangjun/tensorflow/tmp/quantized_graph.pb --mode=eightbit

4.测试量化模型: 测试量化前的模型结果:

代码语言:javascript
复制
sudo bazel-bin/tensorflow/examples/label_image/label_image --graph=/tmp/classify_image_graph_def.pb --input_width=299 --input_height=299 --input_mean=128 --input_std=128 --input_layer="Mul:0" --output_layer="softmax:0" --labels="/tmp/imagenet_synset_to_human_label_map.txt" --image="/tmp/cropped_panda.jpg"

/tmp/ 这个路径我的修改为自己的绝对路径

代码语言:javascript
复制
sudo bazel-bin/tensorflow/examples/label_image/label_image --graph=/home/zhangjun/tensorflow/tmp/classify_image_graph_def.pb --input_width=299 --input_height=299 --input_mean=128 --input_std=128 --input_layer="Mul:0" --output_layer="softmax:0" --labels="/home/zhangjun/tensorflow/tmp/imagenet_synset_to_human_label_map.txt" --image="/home/zhangjun/tensorflow/tmp/cropped_panda.jpg"

测试量化后的模型结果:

代码语言:javascript
复制
   sudo bazel-bin/tensorflow/examples/label_image/label_image --graph=/tmp/quantized_graph.pb --input_width=299 --input_height=299 --input_mean=128 --input_std=128 --input_layer="Mul:0" --output_layer="softmax:0" --labels="/tmp/imagenet_synset_to_human_label_map.txt" --image="/tmp/cropped_panda.jpg"

/tmp/ 这个路径我的修改为自己的绝对路径

代码语言:javascript
复制
bazel-bin/tensorflow/examples/label_image/label_image --graph=/home/zhangjun/tensorflow/tmp/quantized_graph.pb --input_width=299 --input_height=299 --input_mean=128 --input_std=128 --input_layer="Mul:0" --output_layer="softmax:0" --labels="/home/zhangjun/tensorflow/tmp/imagenet_synset_to_human_label_map.txt" --image="/home/zhangjun/tensorflow/tmp/cropped_panda.jpg"

tensorflow 对于 模型的量化目前来说并不成熟,处于开发阶段,tensorflow lite 是应该已经支持 量化模型的运行, 而 tensorflow 本身的支持很有限,貌似正在集成

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年12月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档