首页 > 解决方案 > vgg_19 slim 模型是frozen.pb 图?

问题描述

我下载了 vgg_19_2016_08_28.tar.gz 并提取了一个 vgg-19.pb 图。我将它用于 tf2onnx。但是,这似乎有一些动态参数,因此如果失败,则为 tf2onnx。我想检查 vgg-19.pb 是否为冻结图,如果不是,我如何获得冻结的 vgg_19.pb 图?

tensorflow_inception_graph 的相同问题 - inception_v3_2016_08_28.tar.gz

resnet 的相同问题 - resnet_v1_50_2016_08_28.tar.gz

全部从这里下载 - https://github.com/tensorflow/models/tree/master/research/slim#pre-trained-models

标签: tensorflow-servingtensorflow-slim

解决方案


要将 TF 模型转换为 ONNX,您需要冻结图形。用于冻结图形的 TensorFlow 工具是https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py

例如

 python -m tensorflow.python.tools.freeze_graph \
   --input_graph=my_checkpoint_dir/graphdef.pb \
   --input_binary=true \
   --output_node_names=output \
   --input_checkpoint=my_checkpoint_dir \
   --output_graph=tests/models/fc-layers/frozen.pb 

要查找模型开发人员将知道的 TensorFlow 图的输入和输出,或者您可以参考 TensorFlow 的 summarise_graph 工具 ( https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/graph_transforms ),例如:

summarize_graph --in_graph=tests/models/fc-layers/frozen.pb

推荐阅读