【发布时间】:2019-07-12 03:03:22
【问题描述】:
我已经看到在 Keras 中使用 LSTM 构建编码器-解码器网络的示例,但我想要一个 ConvLSTM 编码器-解码器,并且由于 ConvLSTM2D 不接受任何“initial_state”参数,因此我可以传递编码器的初始状态对于解码器,我尝试在 Keras 中使用 RNN,并尝试将 ConvLSTM2D 作为 RNN 的单元传递,但出现以下错误:
ValueError: ('`cell` should have a `call` method. The RNN was passed:', <tf.Tensor 'encoder_1/TensorArrayReadV3:0' shape=(?, 62, 62, 32) dtype=float32>)
这就是我尝试定义 RNN 单元的方式:
first_input = Input(shape=(None, 62, 62, 12))
encoder_convlstm2d = ConvLSTM2D(filters=32, kernel_size=(3, 3),
padding='same',
name='encoder'+ str(1))(first_input )
encoder_outputs, state_h, state_c = keras.layers.RNN(cell=encoder_convlstm2d, return_sequences=False, return_state=True, go_backwards=False,
stateful=False, unroll=False)
【问题讨论】:
-
嗨,玛丽亚姆,我在 Keras 上开了一个关于这个的问题。 github.com/keras-team/keras/issues/12995
标签: tensorflow keras conv-neural-network recurrent-neural-network encoder-decoder