Lab01 NM PasichnyiSI

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Міністерство освіти і науки України

Національний технічний університет


«Дніпровська політехніка»

ЗВІТ
Практична робота №1
з дисципліни
«НЕЙРОННІ МЕРЕЖІ»

Виконав:
студент гр. 123м-23-1
Пасічний С.І.
Прийняв:
ас. каф. ПЗКС,
Новодранова Н.О.

Дніпро
2024
ПРАКТИЧНА РОБОТА №1
Завдання: створити простий проект з реалізації нейронної мережі для
проблеми класифікації. Виконати класифікацію на наборі даних рукописних
цифр MNIST.
Хід роботи
Лістинг коду:
# Імпортуємо необхідні бібліотеки
import numpy as np
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical
import tensorflow as tf

# Встановлюємо параметри проекту


batch_size = 128
num_classes = 10
epochs = 10

# Завантажуємо набір даних MNIST


(x_train, y_train), (x_test, y_test) = mnist.load_data()

# Нормалізуємо дані
x_train = x_train.astype('float32') / 255
x_test = x_test.astype('float32') / 255

# Перетворюємо вектори класів на матриці класів


y_train = to_categorical(y_train, num_classes)
y_test = to_categorical(y_test, num_classes)

# Створюємо модель нейронної мережі


model = keras.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dropout(0.2),
layers.Dense(num_classes, activation='softmax')
])

# Компілюємо модель
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# Тренуємо модель
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs,
validation_data=(x_test, y_test))

# Оцінюємо модель на тестовому наборі даних


score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])

Результат:

Цей код створює модель нейронної мережі з одним прихованим шаром з


128 нейронами, використовуючи функцію активації ReLU, та одним вихідним
шаром з 10 нейронами, використовуючи функцію активації softmax. Модель
компілюється з оптимізатором Adam та функцією втрат categorical cross-
entropy. Потім модель тренується на наборі даних MNIST з розміром пакету 128
та кількістю епох 10. Після тренування модель оцінюється на тестовому наборі
даних.

You might also like