3

Theano 中返回 Vector 中特定值的索引的过程是什么?在 NumPy 中,这将是numpy.where(my_array==x). TheanoTensor.where是一个 switch 语句。

4

1 回答 1

5

numpy.where(condition, [x ,y]) 有 2 种行为。Theano 始终支持您向 where() 提供 3 个参数。正如 NumPy doc[1] 中所说,numpy.where(cond) 等价于 nonzero()。

你可以在 Theano 中这样做:

import theano
import numpy as np
v = np.arange(10)
var = theano.tensor.vector()
out = theano.tensor.eq(var, 2).nonzero()[0]
print out.eval({var: v})

检查第 5 行。NumPy nonzero() 返回一个元组。Theano 也这样做。在 nonzero() 的输入中,每个维度的元组中都有一个向量。

[1] http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

于 2013-12-16T01:46:20.903 回答