我想实现一个两轮循环。
并且发现使用tf.while_loop很难做到
由tensorflow实现两轮循环的最佳方法是什么?
我希望是这样的:
import tensorflow as tf
a = tf.constant([1,2,3,4,5])
b = tf.constant([1,2,3,4,5])
sess = tf.Session()
for i in tf.range(tf.constant(0),tf.shape(a)[0]):
for j in tf.range(tf.constant(0),tf.shape(b)[0]):
print(sess.run([i,j]))有可能吗?
发布于 2017-11-21 01:38:15
您并没有指定您想要的行为,但我的猜测是,您粘贴的代码不会达到预期的效果。以下是您可以选择的一些选项:
tf.while_loop。这将用with循环构造一个图。当您运行这样的图形时,它将在C++运行时使用CPU或GPU高效运行。for i in range(10):)并对session.run()进行多次调用。这样,无论您需要在调用session.run()之间执行什么操作,都会发生在python中,而且速度可能很慢。例如,传递给session.run()的输出张量被复制到CPU内存中(如果主计算是在GPU上完成的)。这种做法通常是不鼓励的。https://stackoverflow.com/questions/47385259
复制相似问题