2017-02-20 6 views
0

Я хотел бы рассчитать подмножество тензора по следующему вопросу: У меня есть тензор 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

Использовать tf.shape вместо get_shape.

+0

Пробовал это, он все еще говорит, что это первое измерение не определено. – sygi

Смежные вопросы