首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tensorflow动态循环的最佳实践?

tensorflow动态循环的最佳实践?
EN

Stack Overflow用户
提问于 2017-11-20 04:51:03
回答 1查看 677关注 0票数 0

我想实现一个两轮循环。

并且发现使用tf.while_loop很难做到

由tensorflow实现两轮循环的最佳方法是什么?

我希望是这样的:

代码语言:javascript
复制
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]))

有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-21 01:38:15

您并没有指定您想要的行为,但我的猜测是,您粘贴的代码不会达到预期的效果。以下是您可以选择的一些选项:

  • 使用tf.while_loop。这将用with循环构造一个图。当您运行这样的图形时,它将在C++运行时使用CPU或GPU高效运行。
  • 使用常规python循环(for i in range(10):)并对session.run()进行多次调用。这样,无论您需要在调用session.run()之间执行什么操作,都会发生在python中,而且速度可能很慢。例如,传递给session.run()的输出张量被复制到CPU内存中(如果主计算是在GPU上完成的)。这种做法通常是不鼓励的。
  • 使用最近发布的急切执行 -在“文档”部分有更多文档的链接。急切的执行允许您对控制流使用任意python代码,但是所有的操作仍然在CPU/GPU上高效地完成。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47385259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档