卷积神经网络对图片分类预测代码
时间: 2023-09-27 17:03:54 浏览: 86
基于卷积神经网络-双向长短期记忆网络CNN-BILSTM分类预测,matlab代码,要求2019及以上版本 多特征输入单输出
以下是一个简单的卷积神经网络对MNIST手写数字数据集进行分类的预测代码:
```python
import tensorflow as tf
from tensorflow.keras.datasets import mnist
# 加载数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)
x_train = x_train / 255.0
x_test = x_test / 255.0
# 构建模型
model = tf.keras.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(64, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test accuracy:', test_acc)
# 进行预测
predictions = model.predict(x_test)
```
在这个代码中,首先加载了MNIST数据集,然后对数据进行预处理。接着构建了一个包含一个卷积层、一个池化层、一个Flatten层、一个全连接层和一个Softmax层的卷积神经网络模型。然后编译模型,使用训练集进行训练,评估模型的准确率,并使用测试集进行预测。
阅读全文