我正在尝试实现一个 lambda 层,其中 lambda 层执行的函数正在执行 transpose(P)*x
,其中 x
是一个数组,其中M
行,P
的每个条目为 1/M
。
我遇到的问题是,我无法弄清楚如何创建一个将 P
的每个条目设置为 1/M
的静态数组。我知道我可以使用为 theano 张量定义的 shape()
函数获得 M
,但我不确定如何创建向量。
最佳答案
我认为你把事情过于复杂化了。如果你想与一个充满常量的矩阵相乘,你可以简单地除以一个标量,然后将其广播到你的输入矩阵上,例如
Lambda(lambda x: x / M)
其中M
可以定义为
from keras import backend as K
M = K.shape(x)[0]
给予
Lambda(lambda x: x / K.shape(M)[0])
关于python - Keras/Theano - 如何在 Lambda 层中乘以向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878321/