【问题标题】:Keras Lambda layer: How to multiply input with a group constant matrices?Keras Lambda 层:如何将输入与一组常数矩阵相乘?
【发布时间】:2018-02-11 02:50:25
【问题描述】:

我的输入大小为(k, n, n),它代表kn-by-n 矩阵。我有另一组常数矩阵(k, n, n)。我打算将这两组k矩阵的对应矩阵相乘,会得到(k, n, n)的输出。在 keras 中使用Lambda 来实现这一点时,我遇到了批量大小的问题——我需要沿着批量大小维度重复常量矩阵batch_size 次,然后我可以使用batch_dot。但是,batch_size 是作为张量给出的,repeat_elements 无法接受。我应该怎么做才能实现这一层?

【问题讨论】:

    标签: deep-learning keras keras-layer


    【解决方案1】:

    解决方案是使用tile。令y 为常数矩阵张量。那么,

    from keras import backend as K
    
    def my_lambda_function(x):
        K.batch(x, K.tile(K.expand_dims(y, axis=0), (K.shape(x)[0], 1, 1, 1)), axes=(3, 2))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 1970-01-01
      • 2019-10-13
      • 2020-04-15
      • 2015-10-12
      • 1970-01-01
      相关资源
      最近更新 更多