我在编写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)
为什么出来的结果不一样呢?又大佬可以解决嘛