不明白你的意思,但在metaflow文章中,他也使用了一個輸出節點。你可以添加幾個,取決於你如何命名你的tensor
。
在你的情況下,看看network.py
。你需要看看output_layer
:
self.output = self.conv_layer("reconstruction_layer", self.layer_params[-1],
non_linear_mapping_layer, linear=True)
正如你可以看到它已經命名由於conv_layer
,所以在metaflow代碼,你需要做的是這樣的:
def freeze_graph(model_folder):
# We retrieve our checkpoint fullpath
checkpoint = tf.train.get_checkpoint_state(model_folder)
input_checkpoint = checkpoint.model_checkpoint_path
# We precise the file fullname of our freezed graph
absolute_model_folder = "/".join(input_checkpoint.split('/')[:-1])
output_graph = absolute_model_folder + "/frozen_model.pb"
# Before exporting our graph, we need to precise what is our output node
# This is how TF decides what part of the Graph he has to keep and what part it can dump
# NOTE: this variable is plural, because you can have multiple output nodes
output_node_names = "reconstruction_layer"
...
注意:有時它在命名中有一個前綴,如精確性是metaflow文章Accuracy/predictions
的前綴。因此,打印出存儲在檢查點中的所有變量名是有意義的。
順便說一下,由於TF 1.0,你可以保存你的模型與SavedModelBuilder
。這是首選的方式,因爲它提供了跨多種語言的兼容性。唯一的注意事項是,它仍然不是一個單一的文件,但與Tensorflow服務很好。
使用您的建議無效。我用一個不同的名字做了一個新的張量,現在它可以工作。它現在說:「在最終圖中將6個變量轉換爲常量操作,31個操作」。但它不會將任何內容保存到pb文件中。 –
我不得不爲我們os.path。加入因爲Windows使用\而不是/ ...它現在可以工作。 –
你可以標記答案已解決嗎?謝謝! –