En numpy, si j'ai un tableau booléen, je peux l'utiliser pour sélectionner les éléments d'un autre tableau :
>>> import numpy as np
>>> x = np.array([1, 2, 3])
>>> idx = np.array([True, False, True])
>>> x[idx]
array([1, 3])
J'ai besoin de faire cela dans Theano. C'est ce que j'ai essayé, mais j'ai obtenu un résultat inattendu.
>>> from theano import tensor as T
>>> x = T.vector()
>>> idx = T.ivector()
>>> y = x[idx]
>>> y.eval({x: np.array([1,2,3]), idx: np.array([True, False, True])})
array([ 2., 1., 2.])
Quelqu'un peut-il expliquer le résultat de Theano et suggérer comment obtenir le résultat de Numpy ? J'ai besoin de savoir comment faire cela afin d'instancier correctement un argument 'givens' dans une déclaration de fonction theano. Merci d'avance.