用python写一个卷积神经网络代码,输入是(20,30,2),输出为(1,4)
时间: 2023-11-13 14:05:02 浏览: 27
好的,以下是一个简单的卷积神经网络代码:
```python
import tensorflow as tf
# 定义输入和输出的形状
input_shape = (20, 30, 2)
output_shape = (1, 4)
# 定义模型的输入层
inputs = tf.keras.layers.Input(shape=input_shape)
# 添加第一层卷积层
conv1 = tf.keras.layers.Conv2D(filters=16, kernel_size=(3, 3), activation='relu')(inputs)
pool1 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv1)
# 添加第二层卷积层
conv2 = tf.keras.layers.Conv2D(filters=32, kernel_size=(3, 3), activation='relu')(pool1)
pool2 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv2)
# 添加第三层卷积层
conv3 = tf.keras.layers.Conv2D(filters=64, kernel_size=(3, 3), activation='relu')(pool2)
pool3 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv3)
# 将特征图展开成一维向量
flatten = tf.keras.layers.Flatten()(pool3)
# 添加全连接层
dense1 = tf.keras.layers.Dense(units=128, activation='relu')(flatten)
dense2 = tf.keras.layers.Dense(units=64, activation='relu')(dense1)
# 添加输出层
outputs = tf.keras.layers.Dense(units=4, activation='softmax')(dense2)
# 定义模型
model = tf.keras.Model(inputs=inputs, outputs=outputs)
# 输出模型结构
model.summary()
```
这个卷积神经网络模型包含了三层卷积层和两个全连接层,最终输出一个 1x4 的向量。你可以根据需要修改各层的参数和结构。