Нейронные сети
May 17, 2021

Нейронные сети простым языком. Часть 5. Основы Tensorflow.

В этой статье вы узнаете как программировать нейронные сети с помощью ML-библиотеки Tensorflow.

MNIST

Импортируем нужные модули: функция для моделирования сети, слои, функция для разделения данных, а так же функция для чтения файлов (.npz).

Первая и вторая строка отвечает за отключение лишних логов.

Загружаем тренировочный набор и разделяем данные на тренировочные и тестовые.

Далее инициализируем сеть и слои, указываем количество нейронов и функции активации.

Первый слой в сети (Flatten) преобразует формат изображений из 2d-массива (28 на 28 пикселей) в 1d-массив из 28 * 28 = 784 пикселей. У этого слоя нет параметров для изучения, он только переформатирует данные.

Следующие слои - Dense. Это полносвязные нейронные слои.

Каждый нейрон последнего слоя содержит оценку, которая указывает вероятность того, что текущее изображение принадлежит одному из 10 классов.

Компилируем сеть с заданными параметрами, а так же запускаем тренировку.

Если вам нужно указать количество батчей:

model.fit(x_train, y_train, epochs=n_epoch, batch_size=n_batch)

Для тестирования сети в момент тренировки:

model.fit(x_train, y_train, epochs=n_epoch, validation_data=(x_test, y_test))

Если вам требуется вычислить предсказание после тренировки:

Требуется импорт модуля NumPy argmax для полученияиндекса максимального элемента массива.

print(argmax(model.predict(var)))

MSC

Импортируем нужные модули.

Загружаем набор данных, а так же разделяем его на тренировочные и тестовые.

Инициализируем сеть и слои, указываем количество нейронов и функции активации.

LSTM – рекурентный слой, слой с долгой кратковременной памятью. return_sequences = True означает, что данные стоит прогонять несколько раз, что и называется подкреплением.

Компилируем сеть с заданными параметрами и запускаем тренировку.