tensorflow深度学习实战笔记(四):bazel编译tensorflow工具的使用方法

一、下载并安装

下载地址:https://github.com/bazelbuild/bazel/releases

官网安转教程:https://docs.bazel.build/versions/master/install-ubuntu.html

安装比较简单,可以参考官方教程进行。

安装成功的测试:在终端输入bazel,如果没有报“未找到命令”,说明已经安装成功。

二、bazel常用工具的编译和使用

要使用tensorflow源码中的工具,必选先用bazel进行编译,编译后,就可以直接使用,以后都不用在编译了,有些工具编译时间会很长,取决与你的电脑配置以及你编译的是那个工具。

2.1固化模型的工具

a)编译

在源码路径下执行下面的命令,请注意路径的问题:

如果报错“ERROR: The 'build' command is only supported from within a workspace.
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".”,则说明你执行命令的路径有问题。后面的同理。

bazel build tensorflow/python/tools:freeze_graph

b)使用方法

在编译好的tensorflow源码目录下的bazel-bin中进行,首先要确认bazel-bin文件夹存在。

bazel-bin/tensorflow/python/tools/freeze_graph \
  --input_graph=/tmp/inception_v3_inf_graph.pb \
  --input_checkpoint=/tmp/checkpoints/inception_v3.ckpt \
  --input_binary=true --output_graph=/tmp/frozen_inception_v3.pb \
  --output_node_names=InceptionV3/Predictions/Reshape_1

2.2summarize_graph工具(查看网络节点内容)

a)编译

bazel build tensorflow/tools/graph_transforms:summarize_graph

b)使用方法

在编译好的tensorflow源码目录下的bazel-bin中进行,首先要确认bazel-bin文件夹存在。

bazel-bin/tensorflow/tools/graph_transforms/summarize_graph \
  --in_graph=/tmp/inception_v3.pb

2.3label_image(用训练好的模型给测试图片打标签)

a)编译

bazel build tensorflow/examples/label_image:label_image

b)使用方法

在编译好的tensorflow源码目录下的bazel-bin中进行,首先要确认bazel-bin文件夹存在。

bazel-bin/tensorflow/examples/label_image/label_image \
  --image=/home/yuping-chen/slim/my_data/fruits/fruit_photos/火龙果/3.jpeg \
  --input_layer=input \
  --output_layer=InceptionV3/Predictions/Reshape_1 \
  --graph=/home/yuping-chen/slim/my_model/frozen_model/inception_v3.pb \
  --labels=/home/yuping-chen/slim/my_data/fruits/fruit_photos/labels.txt \
  --input_mean=0 \
  --input_std=299

2.4pb转成tflite文件

a)编译

bazel build tensorflow/contrib/lite/toco:toco

b)使用方法

在编译好的tensorflow源码目录下的bazel-bin中进行,首先要确认bazel-bin文件夹存在。

/home/yuping-chen/bazel/tensorflow/bazel-bin/tensorflow/contrib/lite/toco/toco \
  --input_file=/home/yuping-chen/slim/my_model/frozen_model/inception_v3.pb \
  --input_format=TENSORFLOW_GRAPHDEF \
  --output_format=TFLITE \
  --output_file=/home/yuping-chen/slim/my_model/frozen_model/inception_v3.tflite \
  --inference_type=FLOAT \
  --input_type=FLOAT \
  --input_arrays=input \
  --output_arrays=InceptionV3/Predictions/Reshape_1 \
  --input_shapes=1,299,299,3

其他工具也可以类似方法进行编译。

猜你喜欢

转载自blog.csdn.net/chenyuping333/article/details/82108509
今日推荐