【问题标题】:Keras L2 normalisation of concatenated vectors级联向量的 Keras L2 归一化
【发布时间】:2020-03-27 12:27:01
【问题描述】:

我正在尝试在 Keras 中构建一个网络,该网络应该分别输出两个维度为 3 和 4 的单位长度向量,并且目前正在使用维度为 7 的最终密集层来实现这一点。我现在的问题是,我现在知道如何在这之后添加一个图层,分别标准化两个向量的长度。据我了解,通常可以使用类似

的方式对矢量输出进行归一化
l2_norm = Lambda(lambda  x: K.l2_normalize(x,axis=1))(prevDense)

但不清楚如何改变这两个分别对待两个“半”。有什么想法吗?

【问题讨论】:

    标签: tensorflow machine-learning keras keras-layer


    【解决方案1】:

    您似乎想使用Lambda 层先对张量进行切片,然后再进行归一化。在这种情况下,您可以执行以下操作:

    # slicing the tensors
    slice1 = Lambda(lambda x: x[:,:4])(prevDense)
    slice2 = Lambda(lambda x: x[:,:3])(prevDense)
    
    l2_norm_slice1 = Lambda(lambda  x: K.l2_normalize(slice1,axis=1))(slice1)
    l2_norm_slice2 = Lambda(lambda  x: K.l2_normalize(slice2,axis=1))(slice2)
    
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2016-05-08
      • 1970-01-01
      • 2015-09-12
      • 2020-04-23
      • 2015-11-23
      • 2021-07-26
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      相关资源
      最近更新 更多