用tensorflow2写一个卷积神经网络代码,输入是(10,30,2),输出为(1,4)
时间: 2023-11-15 13:06:24 浏览: 59
使用tensorflow构建卷积神经网络(CNN).zip
5星 · 资源好评率100%
好的,以下是一个简单的卷积神经网络的代码,可以满足你的需求:
```python
import tensorflow as tf
# 定义输入层
inputs = tf.keras.Input(shape=(10, 30, 2))
# 定义卷积层
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)
# 扁平层
flatten = tf.keras.layers.Flatten()(pool2)
# 全连接层
dense1 = tf.keras.layers.Dense(units=64, activation='relu')(flatten)
# 输出层
outputs = tf.keras.layers.Dense(units=4, activation='softmax')(dense1)
# 定义模型
model = tf.keras.Model(inputs=inputs, outputs=outputs)
# 打印模型结构
model.summary()
```
这个模型包含了两个卷积层和一个全连接层,输出层使用 softmax 激活函数,使得输出结果符合概率分布。其中,第一个卷积层使用 16 个 3x3 的卷积核,第二个卷积层使用 32 个 3x3 的卷积核。扁平层将卷积层的输出展开成一维向量,全连接层包含了 64 个神经元。最后输出一个 4 元素的向量,对应着 4 个类别。
阅读全文