用tensorflow写一个卷积神经网络模型训练
时间: 2024-05-01 15:16:32 浏览: 87
TensorFlow实现卷积神经网络
以下是一个用TensorFlow实现卷积神经网络模型的示例代码:
```
import tensorflow as tf
# 定义模型
def create_model():
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(10, activation='softmax')
])
return model
# 加载数据集
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train = x_train.reshape((-1, 28, 28, 1))
x_test = x_test.reshape((-1, 28, 28, 1))
x_train = x_train / 255.0
x_test = x_test / 255.0
# 构建模型
model = create_model()
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))
# 评估模型
model.evaluate(x_test, y_test)
```
这个模型使用了一个卷积层和一个池化层来提取特征,然后通过一个全连接层来进行分类。数据集使用的是MNIST手写数字数据集。在训练和评估时,使用了Adam优化器和交叉熵损失函数。您可以根据需要修改模型和训练参数。
阅读全文