Ich verwende Tensorflow parse_single_sequence_example für die Decodierung der record_string von TFRecordReader. Es gibt zwei dicts zurück, eines für context_features und eines für sequence_features.Tensorflow Runtime-Wörterbuch-Lookup, hendling Ausgabe von tf.parse_single_sequence_example
filename_queue = tf.train.string_input_producer('temp.text', num_epochs=1, shuffle=True)
reader = tf.TFRecordReader()
key, record_string = reader.read(filename_queue)
context_features={
"output":tf.FixedLenFeature([],tf.int64)
}
sequence_features={
"input_sequence":tf.FixedLenSequenceFeature([5,],tf.float32)
}
context_parsed, sequence_parsed = tf.parse_single_sequence_example(serialized=record_string,context_features=context_features,sequence_features=sequence_features)
context_parsed und sequence_parsed sind beide Wörterbücher. Wie bekomme ich das Tensor-Objekt, das den Schlüsseln zugeordnet ist? Wenn ich die folgende holen tun Betrieb
with tf.Session() as sess:
a=sess.run([context_parsed],feed_dict=None)
Es schlägt fehl, und das ist verständlich.
Fetch argument {'output': <tf.Tensor 'ParseSingleSequenceExample/ParseSingleSequenceExample:1' shape=() dtype=int64>} of {'output': <tf.Tensor 'ParseSingleSequenceExample/ParseSingleSequenceExample:1' shape=() dtype=int64>} has invalid type <class 'dict'>, must be a string or Tensor. (Can not convert a dict into a Tensor or Operation.)
Wie hole ich den context_parsed ['output'] Tensor? Wie füttere ich diesen Tensor zu einem Platzhalter in meinem Diagramm?
out=context_parsed['output']
Ich füge die Zeile oben und versuchen, sie zu holen, aber es funktioniert nicht, und das Terminal wird gerade in ipython stecken.
with tf.Session() as sess:
a=sess.run(out,feed_dict=None)
Ich füge auch die Ausgabe von tf.contrib.learn.run_n
In [13]: context = tf.contrib.learn.run_n(context_parsed, n=1, feed_dict=None)
In [14]: context[0]
Out[14]: {'length': 6, 'output': 4}
In [15]: context = tf.contrib.learn.run_n(out, n=1, feed_dict=None)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-15-e5d7d977676f> in <module>()
----> 1 context = tf.contrib.learn.run_n (out, n = 1, feed_dict = None)
/home/ankgoyal/anaconda3/lib/python3.5/site- packages/tensorflow/contrib/learn/python/learn/graph_actions.py in run_n(output_dict, feed_dict, restore_checkpoint_path, n)
553 output_dict=output_dict,
554 feed_dicts=itertools.repeat(feed_dict, n),
--> 555 restore_checkpoint_path=restore_checkpoint_path)
556
557
/home/ankgoyal/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/graph_actions.py in run_feeds(output_dict, feed_dicts, restore_checkpoint_path)
579 ValueError: if `output_dict` or `feed_dicts` is None or empty.
580 """
--> 581 if not output_dict:
582 raise ValueError('output_dict is invalid: %s.' % output_dict)
583 if not feed_dicts:
/home/ankgoyal/anaconda3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py in __bool__(self)
513 `TypeError`.
514 """
--> 515 raise TypeError("Using a `tf.Tensor` as a Python `bool` is not allowed. "
516 "Use `if t is not None:` instead of `if t:` to test if a "
517 "tensor is defined, and use the logical TensorFlow ops "
TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use the logical TensorFlow ops to test the value of a tensor.
Wie hole ich das context_parsed [ 'Ausgang'] Tensor? Wie füttere ich diesen Tensor zu einem Platzhalter in meinem Diagramm?