TensorFlow freeze_graph.py: O nome 'save / Const: 0' refere-se a um tensor que não existe

Atualmente, estou tentando exportar um modelo treinado do TensorFlow como um arquivo ProtoBuf para usá-lo com a API do TensorFlow C ++ no Android. Portanto, eu estou usando ofreeze_graph.py roteiro.

Eu exportei meu modelo usandotf.train.write_graph:

tf.train.write_graph(graph_def, FLAGS.save_path, out_name, as_text=True)

e estou usando um ponto de verificação salvo comtf.train.Saver.

Eu invocofreeze_graph.py conforme descrito na parte superior do script. Depois de compilar, eu corro

bazel-bin/tensorflow/python/tools/freeze_graph \
--input_graph=<path_to_protobuf_file> \
--input_checkpoint=<model_name>.ckpt-10000 \
--output_graph=<output_protobuf_file_path> \
--output_node_names=dropout/mul_1

Isso me dá a seguinte mensagem de erro:

TypeError: Cannot interpret feed_dict key as Tensor: The name 'save/Const:0' refers to a Tensor which does not exist. The operation, 'save/Const', does not exist in the graph.

Como o erro indica, não tenho um tensorsave/Const:0 no meu modelo exportado. No entanto, o código defreeze_graph.py diz que é possível especificar esse nome de tensor pela bandeirafilename_tensor_name. Infelizmente, não consigo encontrar nenhuma informação sobre qual deve ser esse tensor e como configurá-lo corretamente para o meu modelo.

Alguém pode me dizer como produzir umsave/Const:0 tensor no meu modelo ProtoBuf exportado ou como definir o sinalizadorfilename_tensor_name corretamente?

questionAnswers(3)

yourAnswerToTheQuestion