繁体   English   中英

Keras/Theano - 如何在 Lambda 层中乘以向量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM