python - tensorflow pdf español
TensorFlow: usando un tensor para indexar otro tensor (1)
Afortunadamente, el caso exacto sobre el que estás preguntando es compatible con TensorFlow por tf.gather()
:
result = x_t * tf.gather(e_t, x_t)
with tf.Session() as sess:
print sess.run(result) # ==> ''array([1, 0, 3, 3, 0, 5, 0, 7, 1, 3])''
La tf.gather()
es menos potente que la indexación avanzada de NumPy : solo admite la extracción de segmentos completos de un tensor en su 0ª dimensión. Se ha solicitado soporte para una indexación más general, y se está rastreando en este problema de GitHub .
Tengo una pregunta básica sobre cómo hacer indexación en TensorFlow.
En numpy:
x = np.asarray([1,2,3,3,2,5,6,7,1,3])
e = np.asarray([0,1,0,1,1,1,0,1])
#numpy
print x * e[x]
puedo conseguir
[1 0 3 3 0 5 0 7 1 3]
¿Cómo puedo hacer esto en TensorFlow?
x = np.asarray([1,2,3,3,2,5,6,7,1,3])
e = np.asarray([0,1,0,1,1,1,0,1])
x_t = tf.constant(x)
e_t = tf.constant(e)
with tf.Session():
????
¡Gracias!