矩阵a
的形状为(4,3)
,而z
的形状为(4,)
。
我的意图是我想将a
中的每3个暗矢量除以z
中的标量。
考虑以下示例:
输入:
a = [[1,1,1],
[2,2,2],
[2,2,2],
[5,5,5]]
z = [10,10,10,5]
预期输出:
[[.1,.1,.1],
[.2,.2,.2],
[.2,.2,.2],
[1,1,1]]
下面是我尝试使用keras Lambda
层做同样的事情,其中K.sum(xin[0], axis=1)
将是a
,而xin[1]
将是z
x = Lambda(lambda xin: K.sum(xin[0], axis=1) / xin[1], name='mean')([x1,x2])
但是当我运行此代码时,出现以下错误:
InvalidArgumentError(请参阅上面的回溯):不兼容的形状:[4,3]与[4]
答案 0 :(得分:1)
x = Lambda(
lambda xin: K.sum(xin[0], axis=1) / K.expand_dims(xin[1]), name='mean'
)([x1,x2])
函数expand_dims
将(4,)
变成(4,1)
,使两种形状兼容。