Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tensorflow 0.8 Import and Export output tensors problems

I am using Tensorflow 0.8 with Python 3. I am trying to train the Neural Network, and the goal is to automatically export/import network states every 50 iteration. The problem is when I export the output tensor at the first iteration, the output tensor name is ['Neg:0', 'Slice:0'], but when I export the output tensor at the second iteration, the output tensor name is changed as ['import/Neg:0', 'import/Slice:0'], and importing this output tensor is not working then:

ValueError: Specified colocation to an op that does not exist during import: import/Variable in import/Variable/read

I wonder if anyone has ideas on this problem. Thanks!!!

like image 655
Ruofan Kong Avatar asked Apr 26 '16 23:04

Ruofan Kong


1 Answers

That's how tf.import_graph_def works.

If you don't want the prefix, just set the name parameter to the empty string as showed in the following example.

# import the model into the current graph
with tf.Graph().as_default() as graph:

    const_graph_def = tf.GraphDef()
    with open(TRAINED_MODEL_FILENAME, 'rb') as saved_graph:
      const_graph_def.ParseFromString(saved_graph.read())
      # replace current graph with the saved graph def (and content)
      # name="" is important because otherwise (with name=None)
      # the graph definitions will be prefixed with import.
      # eg: the defined operation FC2/unscaled_logits:0
      # will be import/FC2/unscaled_logits:0
      tf.import_graph_def(const_graph_def, name="")
    [...]
like image 79
nessuno Avatar answered Nov 15 '22 08:11

nessuno