Je reçois l'erreur suivante:Comment itérer un tenseur en tensorflow?
TypeError: 'Tensor' object is not iterable.
Je suis en train d'utiliser un espace réservé et FIFOQueue
pour alimenter des données. Mais le problème ici est que je ne peux pas traiter les données. Quelqu'un pourrait-il fournir une solution?
Je suis nouveau dans TensorFlow et j'ai confondu le concept d'espace réservé et de tenseur.
Voici le 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()
J'ai besoin d'utiliser batch. Alors pourriez-vous s'il vous plaît fournir une solution par lots? – JerryWind
Le code que j'ai ci-dessus est l'idée générale. Vous avez besoin d'un tenseur 3D de [num_batches, batch_size, data_len], puis pour chaque lot, vous récupérez la découpe dont vous avez besoin. – ReverseFall