cnn实现mnist数据集识别代码,能够自选图片识别
时间: 2023-01-11 15:55:36 浏览: 120
在这里给出一个简单的实现方式。
首先,你需要安装必要的 Python 库,例如 TensorFlow、NumPy 和 Matplotlib。然后,使用下面的代码加载 MNIST 数据集:
```
import tensorflow as tf
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
```
接下来,你需要定义 CNN 模型的结构。这里给出一个简单的例子:
```
model = tf.keras.Sequential()
model.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu', input_shape=(28,28,1)))
model.add(tf.keras.layers.MaxPooling2D(pool_size=2))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(units=10, activation='softmax'))
```
接下来,你可以使用下面的代码来训练模型:
```
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
```
最后,你可以使用下面的代码来评估模型的准确率:
```
model.evaluate(x_test, y_test, verbose=2)
```
如果你想让模型对自选图片进行识别,你可以使用下面的代码:
```
import cv2
# 读取图片文件并转换为 NumPy 数组
image = cv2.imread('my_image.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image = image.astype('float32') / 255
image = np.expand_dims(image, axis=-1)
# 使用模型对图片进行识别
predictions = model.predict(np.array([image]))
predicted_
阅读全文