Создать программу для распознавания рукописных цифр с использованием 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 для распознавания рукописных цифр. Модель использует два сверточных слоя и два слоя максимального пулинга для извлечения признаков, а затем полносвязный слой для классификации.

Категория: Практические упражнения Python | Добавил: Admin (03.05.2024)
Просмотров: 23 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: