Timedistributed层和卷积层的问题

我在编写maskrcnn代码的时候出现了这么个问题:

这时源码中的一行代码:(print语句是我自己添加的)

KL代表的是keras.layers

print("第一个:{}".format(x.shape))

x = KL.TimeDistributed(KL.Conv2D(fc_layers_size, (pool_size, pool_size), padding="valid"),name="mrcnn_class_conv1")(x)


print("第2个:{}".format(x.shape))

然后出来的结果是这样的:

第一个:(8, ?, 7, 7, 256)

第2个:(?, 32, 1, 1, 1024)

然后我编写的代码是基本一模一样,参数是一样的,只不过是用tensorflow2.0的keras API

print("第一个:{}".format(x.shape))

x=tf.keras.layers.TimeDistributed(tf.keras.layers.Conv2D(fc_layers_size,(pool_size,pool_size),padding="valid"),name='mrcnn_class_conv1')(x)

print("第2个:{}".format(x.shape))

然后出来的结果是这样的:

第一个:(8, None, 7, 7, 256)

第2个:(None, None, 1, 1, 1024)

为什么出来的结果不一样呢?又大佬可以解决嘛

看下你的timesteps怎么设置的,32应该是步长数