CNN多输入数据预测 python
时间: 2023-10-22 16:06:50 浏览: 43
如果你有多个输入(比如文本和图像),你可以使用Keras函数式API来构建一个拥有多个输入的CNN模型。下面是一个简单的例子:
```python
from keras.layers import Input, Conv2D, MaxPooling2D, Flatten, Dense
from keras.models import Model
# 定义第一个输入
text_input = Input(shape=(100,), name='text_input')
embedding_layer = Embedding(input_dim=10000, output_dim=128)(text_input)
flatten_layer1 = Flatten()(embedding_layer)
# 定义第二个输入
image_input = Input(shape=(28, 28, 1), name='image_input')
conv_layer1 = Conv2D(32, (3, 3), activation='relu')(image_input)
pooling_layer1 = MaxPooling2D((2, 2))(conv_layer1)
conv_layer2 = Conv2D(64, (3, 3), activation='relu')(pooling_layer1)
pooling_layer2 = MaxPooling2D((2, 2))(conv_layer2)
flatten_layer2 = Flatten()(pooling_layer2)
# 合并两个输入
merged_layer = concatenate([flatten_layer1, flatten_layer2])
# 定义分类层
dense_layer1 = Dense(64, activation='relu')(merged_layer)
output_layer = Dense(10, activation='softmax')(dense_layer1)
# 定义模型
model = Model(inputs=[text_input, image_input], outputs=output_layer)
```
在这个例子中,我们同时输入了文本和图像数据,并且使用了Keras的函数式API来定义了一个具有两个输入的CNN模型。你可以根据你的具体情况修改这个例子以适应你的数据。