cnnpython代码
时间: 2023-08-31 17:09:40 浏览: 75
cnn_lstm预测模型附python代码.zip
以下是一个简单的CNN模型的Python代码示例:
```python
import tensorflow as tf
# 定义CNN模型
model = tf.keras.models.Sequential([
# 第一层卷积层,卷积核大小为(3,3),卷积核个数为32,使用ReLU激活函数
tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)),
# 第二层池化层,池化核大小为(2,2)
tf.keras.layers.MaxPooling2D((2,2)),
# 第三层卷积层,卷积核大小为(3,3),卷积核个数为64,使用ReLU激活函数
tf.keras.layers.Conv2D(64, (3,3), activation='relu'),
# 第四层池化层,池化核大小为(2,2)
tf.keras.layers.MaxPooling2D((2,2)),
# 将卷积层的输出张量展平成向量
tf.keras.layers.Flatten(),
# 第五层全连接层,输出维度为128,使用ReLU激活函数
tf.keras.layers.Dense(128, activation='relu'),
# 第六层输出层,输出维度为10,使用Softmax激活函数
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))
```
在上面的代码中,我们使用了`tf.keras`模块来定义和训练CNN模型。首先,我们定义了一个`Sequential`模型,它是由一系列层组成的线性堆叠。然后,我们向模型中添加了卷积层、池化层、全连接层和输出层。在编译模型时,我们指定了优化器、损失函数和评估指标。最后,我们使用`fit`方法来训练模型,并指定训练数据、训练轮数和验证数据。
阅读全文