代码之家  ›  专栏  ›  技术社区  ›  claudius

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

  •  0
  • claudius  · 技术社区  · 6 年前

    矩阵 a 有形状 (4,3) z 有形状 (4,) . 我的目的是想把每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]]
    

    下面是我使用角膜的尝试 Lambda 图层位置 K.sum(xin[0], axis=1) 会是 xin[1] 会是 Z

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

    但当我运行此代码时,我得到以下错误:

    InvalidArgumentError(有关回溯,请参阅上面的内容):不兼容的形状:[4,3]对[4]

    1 回复  |  直到 6 年前
        1
  •  1
  •   Daniel Möller    6 年前
    x = Lambda(
        lambda xin: K.sum(xin[0], axis=1) / K.expand_dims(xin[1]), name='mean'
    )([x1,x2])
    

    功能 expand_dims 会转的 (4,) 进入之内 (4,1) ,使两个形状兼容。