2016-04-08 2 views
1

У меня есть 4-мерный тензор «a» с размерами m x n x n x k. Я хочу, чтобы получить следующий тензор «Ъ»: с помощью питона у меня есть:Как извлечь попарно диагональ в тензоре в anano без цикла?

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

как я могу преобразовать это в Theano код без использования для цикла? n около 500, поэтому он падает, если я просто делаю цикл for в anano.

ответ

2

вы можете попробовать это:

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

Theano в основном унаследовал Numpy's array indexing.

+0

Можете ли вы объяснить больше? – jezrael

+0

@jezrael Я добавил ссылку. – dontloo

+0

@dontloo большое спасибо! это сработало! – user6175310

Смежные вопросы