keras Python角:图层输出与输入完全相同的内容

j9per5c4  于 2023-02-04  发布在  Python
关注(0)|答案(3)|浏览(135)

我正在使用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中是否有这样的层/结构?谢谢!

8ljdwjyq

8ljdwjyq1#

对于标识之类的简单操作,您可以只使用Lambda层,如下所示:
model.add(Lambda(lambda x: x))
这将返回与输入完全相同的输出。

r8xiu3jd

r8xiu3jd2#

实际上,Layer中默认的call()实现是identity,因此您只需用途:

model.add(Layer())
wr98u20j

wr98u20j3#

你可以用,

layer = tf.keras.layers.Activation('linear')
x = tf.constant([1.0, -1.0, 1.5])
y = layer(x) # output: same as x

更新日期:2023年1月31日

tensorflow==2.12.0开始,支持专用层简单地通过输入,

layer = tf.keras.layers.Identity() 
x = tf.constant([1.0, -1.0, 1.5])
y = layer(x) # output: same as x

参考:docs

相关问题