如何在没有for循环的情况下提取theano中张量的成对对角线?

时间:2016-04-08 04:01:20

标签: python theano

我有一个四维张量“a”,其尺寸为m x n x n x k。 我想获得以下张量“b”:使用python我有:

 b = [a[:,0,0,3:-3]]
 for i in xrange(1,n):
    b=numpy.concatenate((b,[a[:,i,i,3:-3]]))

如何在不使用for循环的情况下将其转换为theano代码? n大约是500,所以如果我只是在theano中进行for循环就会崩溃。

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

i = theano.shared(numpy.asarray(range(n)))
b = a[:,i,i,3:-3]

Theano基本上继承了Numpy's array indexing