【发布时间】:2020-12-04 17:33:27
【问题描述】:
我有以下型号。
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
def get_model():
input_img = keras.Input(shape=(None, 5, 5, 1), name='image')
input_vec = keras.Input(shape=(None, 3), name='bvec')
x = layers.TimeDistributed(layers.Conv2D(50, 3, activation='relu'), name='conv_1')(input_img)
x = layers.TimeDistributed(layers.Flatten(), name='flatten')(x)
x = layers.TimeDistributed(layers.Concatenate(), name='concat')([x, input_vec])
output = layers.GRU(units=10, name='gru')(tensor)
model = keras.models.Model(inputs=[input_img, input_vec], outputs=output)
m = get_model()
作为输入,我有一系列图像和矢量对。
一般的想法是,我希望将一系列图像分别输入到 CNN,然后与一系列相关输入向量连接,然后传递到 RNN 单元。类似的想法可以在on a medium blog 找到,尽管在那篇文章中只有一个图像输入序列,没有向量序列。
问题发生在连接层。这是回溯的结尾:
TypeError: Dimension value must be integer or None or have an __index__ method, got value 'TensorShape([None, None, 450])' with type '<class 'tensorflow.python.framework.tensor_shape.TensorShape'>'
我想这可能是我的一个语法错误。
如何在 TimeDistributed 基础上连接两个输入?
【问题讨论】:
标签: python tensorflow keras