1 回答

TA贡献1841条经验 获得超3个赞
要操作串联,您应该提供除串联轴之外形状相同的图层...在图像的情况下,如果您想在特征维度(轴 -1)上串联它们,则图层必须具有相同的batch_dim、宽度和高度。
如果你想强制执行该操作,你需要做一些等于维度的事情。一种可能性是填充。下面是我在最后一个维度上连接两层的示例
batch_dim = 32
x1 = np.random.uniform(0,1, (batch_dim, 10,10,192)).astype('float32')
x2 = np.random.uniform(0,1, (batch_dim, 21,21,64)).astype('float32')
merged_tensors = Concatenate()([ZeroPadding2D(((6,5),(6,5)))(x1), x2]) # (batch_dim, 21, 21, 192+64)
使用池化而不是填充:
batch_dim = 32
x1 = np.random.uniform(0,1, (batch_dim, 10,10,192)).astype('float32')
x2 = np.random.uniform(0,1, (batch_dim, 21,21,64)).astype('float32')
merged_tensors = Concatenate()([MaxPool2D(2)(x2), x1]) # (batch_dim, 10, 10, 192+64)
添加回答
举报