Создать программу для распознавания рукописных цифр с использованием TensorFlow.
Распознавание рукописных цифр с TensorFlowЗадание: Создать программу для распознавания рукописных цифр с использованием TensorFlow.
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1)).astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1)).astype('float32') / 255
model = tf.keras.models.Sequential([
layers.Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Conv2D(64, kernel_size=(3, 3), activation='relu'),
layers.MaxPooling2D(pool_size=(2, 2)),
layers.Flatten(),
layers.Dropout(0.5),
layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5, validation_split=0.1)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test Accuracy: {test_acc * 100:.2f}%")
Результат выполнения кодаПосле обучения модели на наборе данных MNIST точность на тестовом наборе составляет примерно 99%. Этот код использует TensorFlow и Keras для создания сверточной нейронной сети (CNN), которая обучается на наборе данных MNIST для распознавания рукописных цифр. Модель использует два сверточных слоя и два слоя максимального пулинга для извлечения признаков, а затем полносвязный слой для классификации. | |
|
| |
| Просмотров: 238 | |
| Всего комментариев: 0 | |