无法在keras中划分矩阵和向量



矩阵a具有形状(4,3),而z具有形状(4,)。我的意图是用z中的标量除以a中的每3个dim向量。考虑以下示例:

输入:

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]]

以下是我使用kerasLambda层进行相同操作的尝试,其中K.sum(xin[0], axis=1)将是axin[1]将是z

x = Lambda(lambda xin: K.sum(xin[0], axis=1) / xin[1], name='mean')([x1,x2])

但是当我运行这个代码时,我会得到以下错误:

InvalidArgumentError(请参阅上面的回溯(:不兼容的形状:[4,3]与[4]

x = Lambda(
lambda xin: K.sum(xin[0], axis=1) / K.expand_dims(xin[1]), name='mean'
)([x1,x2])

函数expand_dims将把(4,)转换为(4,1),使两种形状兼容。

最新更新