[英]Keras/Theano - how to multiply by vector in Lambda layer
我正在尝试实现一个 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])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.