首页 > 解决方案 > 如何在最后一个轴之外连接 keras 层

问题描述

我试图在最后一个轴之外连接 keras 层。

concat_layer = keras.layers.concatenate([layer1,layer2],axis=3);

layer1 和 layer2 的形状都是 (?,7,7),现在我希望它变成 (?,7,7,2) 而不是 (?,7,14)。如果我像axis = 3一样写,它会返回“IndexError:列表分配索引超出范围”......

我应该怎么办?太感谢了!

标签: tensorflowkeras

解决方案


Keras后端有一个expand_dim操作,您可以将其与Lambda层一起使用。尝试:

import keras.backend as K
from keras.layers import Lambda, concatenate

layer1 = Lambda(lambda x: K.expand_dims(x, axis=3))(layer1)
layer2 = Lambda(lambda x: K.expand_dims(x, axis=3))(layer2)
concat_layer = concatenate([layer1, layer2], axis=3)

推荐阅读