2017-02-16 25 views
0

Используя batano_dot от anano, но я нашел что-то похожее на ошибку. Транспонирование массива numpy делает batched_dot неудачным, даже результирующая фигура верна. Ниже мой mwe. Мои вопросы: должна ли последняя строка работать и это ошибка?theano batched_dot ведет себя непредвиденно

Я использую установку для устранения кровотечений, которая в настоящее время является Theano-0.9.0b1. При необходимости я могу решить эту проблему на github.

Спасибо.

import theano.tensor as T 
import numpy as np 
a = T.dtensor3('a') 
b = T.dmatrix('b') 

a_np = np.zeros((4,2,2)) 
b_np = np.zeros((4,2)) 

bd = T.batched_dot(a,b) 
ok = bd.eval({a:a_np,b:b_np}) 

a_transposed_np = np.zeros((2,2,4)) 
not_ok = bd.eval({a:a_transposed_np.T,b:b_np}) 

ответ

0

Я не знаю, как batched_dot работает, но шагает вашего транспонированной матрицы могут бросать его

In [128]: a_transposed_np = np.zeros((2,2,4)) 
In [129]: a_transposed_np.shape 
Out[129]: (2, 2, 4) 
In [130]: a_transposed_np.T.shape 
Out[130]: (4, 2, 2) 
In [131]: a_transposed_np.strides 
Out[131]: (64, 32, 8) 
In [132]: a_transposed_np.T.strides 
Out[132]: (8, 32, 64) 
In [133]: np.zeros((4,2,2)).strides 
Out[133]: (32, 16, 8) 

np.transpose создает view, изменение формы, успехов и порядка (к F), без копирования данных.

a_transposed_np.T.copy() Работает?

+0

Спасибо, это прогресс, действительно. Я просто обнаружил, что у других людей была такая же проблема [ссылка] (https://github.com/fchollet/keras/issues/2742#issuecomment-219763042) – FBerendsen

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

  • Нет связанных вопросов^_^