convolução python com dimensão diferente

Estou tentando implementar uma rede neural convolucional em Python.
No entanto, quando eu uso signal.convolve ou np.convolve, ele não pode convolver em X, Y (X é 3d, Y é 2d). X estão treinando minibatches. Y são filtros. Eu não quero fazer o loop para cada vetor de treinamento como:

for i in xrange(X.shape[2]):
    result = signal.convolve(X[:,:,i], Y, 'valid')
    ....

Então, existe alguma função que eu possa usar para realizar convolução de maneira eficiente?

questionAnswers(1)

yourAnswerToTheQuestion