使用 TF-slim 冻结图 resnet_v1_50 失败

Failed on freeze graph for resnet_v1_50 using TF-slim

我想冻结模型并部署它们。我首先按照 1 and 2, using InceptionV3, and it was good. Then I am trying to do the same for resnet_v1_50, downloaded from the provided url 的 slim 附带的教程进行操作。

如有任何建议,我们将不胜感激!

谢谢!

步骤如下:

cd /path/to/tensorflow-models/research/slim
# export inference graph, success
python export_inference_graph.py --alsologtostderr --model_name=resnet_v1_50 --output_file=resnet_v1_50_inf_graph.pb
# freeze the inference graph with the trained weights, failed
python ~/.local/lib/python2.7/site-packages/tensorflow/python/tools/freeze_graph.py \
    --input_graph=resnet_v1_50_inf_graph.pb \
    --input_checkpoint=/path/to/models/resnet_v1_50.ckpt \
    --input_binary=true --output_graph=frozen_resnet_v1_50.pb \
    --output_node_names=resnet_v1_50/predictions/Reshape

错误消息太长,我重定向了一个以供参考here

如以下行所示,导出推理图时应将labels_offset设置为1

InvalidArgumentError (see above for traceback): Assign requires shapes of both 
tensors to match. lhs shape= [1001] rhs shape= [1000]
     [[Node: save/Assign_265 = Assign[T=DT_FLOAT, _class= . 
["loc:@resnet_v1_50/logits/biases"], use_locking=true, validate_shape=true, 
_device="/job:localhost/replica:0/task:0/device:GPU:0"](resnet_v1_50/logits/biases, 
save/RestoreV2_265/_1)]]

命令如下:

python export_inference_graph.py --model_name=resnet_v1_50 --labels_offset=1 --output_file=resnet_v1_50_inf_graph.pb