在numpy中,如果我有一个布尔数组,我可以使用它来选择另一个数组的元素:
>>> import numpy as np
>>> x = np.array([1, 2, 3])
>>> idx = np.array([True, False, True])
>>> x[idx]
array([1, 3])
我需要在Theano中完成这个任务。以下是我的尝试,但结果与预期不符。
>>> 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.])
请问有人能解释一下theano结果并给出如何得到numpy结果的建议吗?我需要知道如何做才能正确实例化theano函数声明中的“givens”参数。提前感谢。
[2, 1, 2]
,因为[True, False, True]
被解释为[0, 1, 0]
。 - Eric