【问题标题】:Python Keras: An layer output exactly the same thing as inputPython Keras:一个层输出与输入完全相同的东西
【发布时间】:2018-04-28 02:38:01
【问题描述】:

我正在使用 Keras 构建网络。在这个过程中,我需要一个层,它接受一个 LSTM 输入,什么都不做,只是输出与输入完全相同。即如果LSTM的每条输入记录都像[[A_t1, A_t2, A_t3, A_t4, A_t5, A_t6]],我正在寻找一个层:

model.add(SomeIdentityLayer(x))

SomeIdentityLayer(x) 将[[A_t1, A_t2, A_t3, A_t4, A_t5, A_t6]] 作为输入和输出[[A_t1, A_t2, A_t3, A_t4, A_t5, A_t6]]。 Keras 中有这样的层/结构吗?谢谢!

【问题讨论】:

    标签: tensorflow keras lstm keras-layer keras-2


    【解决方案1】:

    对于像身份这样更简单的操作,您可以使用 Lambda 层,例如:

    model.add(Lambda(lambda x: x))

    这将返回与您的输入完全相同的输出。

    【讨论】:

    • 您需要添加 input_shape=your_input_shape 例如model.add(Lambda(lambda x: x, input_shape=x)) 如果您希望这是网络中的唯一层
    • 您知道这与使用 tf.identity() 之间的复杂性差异吗?
    【解决方案2】:

    其实Layer中默认的call()实现是identity,所以你可以直接使用:

    model.add(Layer()) 
    

    【讨论】:

    • 您知道两种解决方案(Lambda(lambda x: x)Layer())在运行时复杂性方面哪个更可取吗?
    猜你喜欢
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    相关资源
    最近更新 更多