【发布时间】:2016-06-30 15:29:26
【问题描述】:
有没有办法在不运行 eval() 的情况下使张量可迭代以获取其 numpy 数组?
在对张量使用split() 之后,我试图遍历张量的两个部分,但它发生在我的神经网络隐藏层的构造中,因此它需要在我能够开始会话之前发生.
import tensorflow as tf
x = tf.placeholder('float', [None, nbits])
layer = [x]
for i in range(1,numbits):
layer.append(tf.add(tf.matmul(weights[i-1], layer[i-1]), biases[i-1]))
aes, bes = tf.split(1, 2, layer[-1])
if i%2 == 1:
for am, a, b in zip(add_layer, aes, bes):
layer.append(am.ex(a, b))
问题是此时layer[-1] 是tf.placeholder,所以aes 和bes 都是张量,我不能用zip() 遍历它们。
任何想法都将不胜感激。
【问题讨论】:
-
@彼得霍金斯,谢谢。我担心没有比深入研究 Tensorflow 内置函数更简单的方法了。我最终做的是使用
tf.slice()将每个拆分成单独的元素,这比我预期的要痛苦。
标签: python numpy tensorflow