1
我想通過將index
應用於輸入張量的子擴展來獲得輸出張量。TensorFlow中的索引子擴展
例如,在與NumPy,
import numpy as np
input = np.random.random((100,5)) # matrix
index = np.randint(5, size=(100,)) # vector
output = data[np.arange(index.shape[0]), index] # vector
給我需要的輸出(我想這個象徵性的版本)。
Similiarly在Theano,
import theano.tensor as T
import theano
input = T.matrix() # symbolic matrix
index = T.ivector() # symbolic vector
output = input[T.arange(index.shape[0]), index] # symbolic vector
給了我希望的output
。
我怎樣才能做到這一點在TensorFlow?
import tensorflow as tf
input = tf.placeholder('float32', [None, 5])
index = tf.placeholder('int32', [None])
output = ???
不像NumPy的,的index
的長度(=的input
第一尺寸)是不固定的例子。
我怕,讓我錯誤的結果:<我希望輸出與長度100向量(在numpy的例子)。但聚會給了我一個矩陣。 @jdehesa – codebomb
我想要什麼: [輸入[0] [指數[0],輸入[1] [指數[1],輸入[2] [指數[2],...] 什麼TF。收集得到: [輸入[指數[0],輸入[指數[1],...] – codebomb
@codebomb好了,對不起,我誤會了!我現在編輯它。 – jdehesa