1

我正在做一个关于图像字幕的项目。我想将一批具有 shape=(batch_size, 512) 的图像特征设置为 Lasagne (theano) 中 LSTMLayer 的初始隐藏状态。LSTMLayer 的序列输入是一批文本序列,shape=(batch_size, max_sequence_length, 512)。我注意到千层面中的 LSTMLayer 有一个 hid_init 参数。有谁知道如何将它用于千层面中的 LSTMLayer?我需要自己实现一个自定义的 LSTMLayer 吗?

4

1 回答 1

1

您不需要设置 h_0 参数,因为 h_0 使用 c0(请参阅此处输入链接描述并记下从 h0 到 c0 的连接),因此,您只需设置 c0 参数:

decoder = LSTMLayer(l_word_embeddings,
                num_units=LSTM_UNITS,
                cell_init=your_image_features_layer_512_shape, #this is c0
                mask_input=l_mask)

您可以将 c0 设置为层或其他数组(请参阅千层面 LSTM 文档在此处输入链接描述)。

准备进一步讨论。

于 2017-05-02T12:42:03.230 回答