keras多输入cnn分类代码
时间: 2023-05-21 22:02:41 浏览: 61
以下是一个使用 Keras 实现多输入 CNN 分类的示例代码:
```python
from keras.layers import Input, Conv2D, MaxPooling2D, Flatten, Dense
from keras.models import Model
# 定义第一个输入层
input1 = Input(shape=(32, 32, 3))
conv1 = Conv2D(32, (3, 3), activation='relu')(input1)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
# 定义第二个输入层
input2 = Input(shape=(32, 32, 3))
conv2 = Conv2D(32, (5, 5), activation='relu')(input2)
pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)
# 将两个输入层合并
merged = Flatten()(pool1)
merged = Dense(64, activation='relu')(merged)
merged = Flatten()(pool2)
merged = Dense(64, activation='relu')(merged)
# 输出层
output = Dense(10, activation='softmax')(merged)
# 定义模型
model = Model(inputs=[input1, input2], outputs=output)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
```
这个模型有两个输入层,每个输入层都是一个 32x32 的 RGB 图像。每个输入层都有一个卷积层和一个最大池化层,然后将它们合并成一个全连接层。最后,输出层是一个具有 10 个类别的 softmax 分类器。