Keras / Théano - como multiplicar pelo vector em camada Lambda

votos
2

Eu estou tentando implementar uma camada de lambda, em que a função desempenhada pela camada de lambda está a efectuar transpose(P)*x, onde xé uma matriz com Mlinhas e cada entrada de Pé 1/M.

O problema que eu estou correndo em é que eu não consigo descobrir como criar uma matriz estática com cada entrada de Pconjunto para 1/M. Eu sei que pode obter Musando a shape()função definida por tensores THEANO, mas não tenho certeza de como, em seguida, criar o vector.

Publicado 23/11/2015 em 16:46
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Acho que são coisas mais complicar. Se você deseja multiplicar com uma matriz preenchida com constantes, você pode simplesmente dividir por um escalar que é então transmitido sobre sua matriz de entrada, por exemplo,

Lambda(lambda x: x / M)

onde Mpode ser definida como

from keras import backend as K
M = K.shape(x)[0]

dando

Lambda(lambda x: x / K.shape(M)[0])
Respondeu 16/09/2016 em 13:28
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more