gpt4 book ai didi

python - 如何在 Keras 中首先通过卷积网络然后通过循环网络传递一对图像?

转载 作者:行者123 更新时间:2023-11-30 09:08:59 24 4
gpt4 key购买 nike

我想比较具有卷积网络和循环网络的两个图像。首先,我想将我的第一张图像传递给一些类似 VGG 的堆栈,然后将其输入到第一个 RNN 输入中。然后第二个图像应该通过相同的 VGG,然后进入 RNN 的第二个输入。

如何使用 Keras 实现此拓扑?

循环网络在处理第二个图像时应该记住第一个图像。

更新

假设我有两个输入:

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

目前我有两个 VGG 分支

x1 = vgg_stack(...)(x1)
x2 = vgg_stack(...)(x2)

x = layers.concatenate([x1, x2])

x = final_MLP(...)(x)

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

最佳答案

您应该尝试使用 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)

我希望这对你有意义:)

关于python - 如何在 Keras 中首先通过卷积网络然后通过循环网络传递一对图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45123413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com