Ich erhalte die folgende Fehlermeldung:Wie man einen Tensor im Tensorfluss iteriert?
TypeError: 'Tensor' object is not iterable.
Ich versuche, einen Platzhalter zu verwenden und FIFOQueue
Daten zu füttern. Aber das Problem hier ist, dass ich die Daten nicht stapelweise verarbeiten kann. Könnte jemand eine Lösung anbieten?
Ich bin neu in TensorFlow und verwechselte das Konzept von Platzhalter und Tensor. Hier
ist der Code:
#-*- coding:utf-8 -*-
import tensorflow as tf
import sys
q = tf.FIFOQueue(1000,tf.string)
label_ph = tf.placeholder(tf.string,name="label")
enqueue_op = q.enqueue_many(label_ph)
qr = tf.train.QueueRunner(q,enqueue_op)
m = q.dequeue()
sess_conf = tf.ConfigProto()
sess_conf.gpu_options.allow_growth = True
sess = tf.Session(config=sess_conf)
sess.run(tf.global_variables_initializer())
coord = tf.train.Coordinator()
tf.train.start_queue_runners(coord=coord, sess=sess)
image_batch = tf.train.batch(
m,batch_size=3,
enqueue_many=True,
capacity=9
)
for i in range(0, 10):
print "-------------------------"
#print(sess.run(q.dequeue()))
a = ['a','b','c','a1','b1','c1','a','b','c2','a','b','c3',]
sess.run(enqueue_op,{label_ph:a})
b = sess.run(m)
print b
q.close()
coord.request_stop()
Ich brauche Batch zu verwenden. Könnten Sie bitte eine Batch-Lösung bereitstellen? – JerryWind
Der Code, den ich oben habe, ist die allgemeine Idee. Sie benötigen einen 3D-Tensor aus [num_batches, batch_size, data_len] und dann für jeden Stapel das benötigte Stück. – ReverseFall