如何在Keras中首先通过conv网络,然后通过递归网络传递一对图像?

2024-04-16 21:36:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想比较两个图像都是卷积和递归网络。首先,我想通过一些类似VGG的堆栈传递我的第一个图像,然后将其输入第一个RNN输入。然后第二个图像应该通过相同的VGG,然后进入RNN的第二个输入。在

如何使用Keras实现这个拓扑?在

递归网络在处理第二幅图像时应该记住第一幅图像。在

更新

假设我有两个输入:

input1 = layers.Input(...)
input2 = layers.Input(...)

目前我有两个VGG分支机构

^{pr2}$

我如何将其替换为应用于两个输入的符号vgg_stack,然后将这些结果传递给RNN?在


Tags: 图像网络input堆栈layers符号卷积keras
1条回答
网友
1楼 · 发布于 2024-04-16 21:36:22

您应该尝试使用TimeDistributed包装器。您可以找到the doc here

它基本上将批处理后的第一个维度作为“时间维度”,并应用层(或模型?)你把它作为每一个暂时步骤的论据。所以就这样用吧:

from keras.layers import TimeDistributed

input_layer = Input((num_of_images, image_dims...))
# m_cnn is your VGG like model, taking one image as input.
layer1 = TimeDistributed(m_cnn)(input_layer)
layer2 = YourRNNLayer(...)(layer1)

我希望这对你有意义:)

相关问题 更多 >