我想在以下事项中计算张量的子集:
我有一个张量T
和一个指数张量I
。我想得到张量C
,以便:
C[i] = T[i, I[i]]
要做到这一点,我以为我会做:
first_dim = I.get_shape()[0]
R = tf.range(first_dim)
S = tf.stack([R, I], 1)
tf.gather(T, S)
但我在第二行遇到了问题:
ValueError: Cannot convert an unknown Dimension to a Tensor: ?
I
的形状取决于某个占位符的大小。是否有不同的方法来解决我的问题或获得另一个张量维度的大小范围,这在TF图形编译时是不知道的?
答案 0 :(得分:0)
使用tf.shape
代替get_shape
。