写一个cnn的train
时间: 2024-02-19 19:58:19 浏览: 28
下面是一个简单的CNN训练代码示例,使用了Keras库:
```python
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
from keras.optimizers import Adam
# 构建CNN模型
model = Sequential()
model.add(Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64, (3,3), activation='relu'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64, (3,3), activation='relu'))
model.add(Flatten())
model.add(Dense(64, activation='relu'))
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(optimizer=Adam(lr=0.001), loss='categorical_crossentropy', metrics=['accuracy'])
# 加载数据集
train_images, train_labels, test_images, test_labels = load_data()
# 训练模型
model.fit(train_images, train_labels, epochs=10, batch_size=64, validation_data=(test_images, test_labels))
```
在上面的代码中,我们首先定义了一个简单的CNN模型,包括三个卷积层、两个最大池化层和两个全连接层。然后,我们使用Keras的compile函数编译模型,指定了优化器、损失函数和评估指标。接着,我们加载了训练和测试数据集,并使用fit函数对模型进行训练。在fit函数中,我们指定了训练的轮数、批次大小和验证集。