【发布时间】:2018-07-19 15:36:29
【问题描述】:
我想根据其他一些 tensorflow 常量/占位符的值创建一个 tensorflow 常量。假设输入必须是 tf.constant / tf.placeholder。
如何应用 tensorflow 逻辑来基于该常量创建一个常量? 例如:
i = tf.constant(...)
ei = tf.zeros(shape=[N])
ei[i] = 1
这是行不通的,因为
TypeError: 'Tensor' object does not support item assignment
这是有道理的,因为你不应该改变一个常数。我也不希望我在这个例子中的ei 是变量,因为它们在逻辑上是常量,并且在我运行我的网络时不应该被优化。
【问题讨论】:
-
目前,您必须逐个元素(或逐行、逐矩阵等)构造常量。我打开an issue in TensorFlow 请求一个运算符,该运算符允许您生成一个替换了其中一些元素的张量,因为在许多情况下它似乎比它应该更复杂,但截至今天它还没有向前发展。您将不得不使用连接、堆叠等。
-
首先,非常感谢您的回答以及您打开了该问题。我不明白这么大的图书馆怎么没有一个简单的方法来做这样一个基本的事情。我已经阅读了您的问题,似乎只需要几个月才能引起注意。缺少这个更好的API,能否请你给我一个相对简单的方法来做我问的操作?
标签: python python-3.x tensorflow