Кeras - это библиотека в Python, которая предоставляет высокоуровневый API для создания и тренировки нейронных сетей. В сочетании с TensorFlow, библиотекой глубокого обучения с открытым исходным кодом, Keras позволяет легко и эффективно создавать, обучать и использовать модели глубокого обучения.
pip install keras tensorflow
import keras
from keras.models import Sequential
from keras.layers import Dense
Модель нейронной сети состоит из входного слоя, нескольких скрытых слоев и выходного слоя. Входной слой принимает данные, скрытые слои выполняют преобразования, а выходной слой производит прогнозы.
Для создания модели нейронной сети с использованием Keras:
model = Sequential()
model.add(Dense(128, input_dim=10, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# Определение функции потерь и оптимизатора
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
В этом примере мы создаем модель с одним входным слоем, двумя скрытыми слоями и одним выходным слоем. Входной слой имеет размерность 10, а выходной слой - 1. Функция активации relu
используется для скрытых слоев, а sigmoid
- для выходного слоя.
После создания модели необходимо ее обучить на данных:
# Подготовка данных
x_train, y_train = ...
x_test, y_test = ...
# Тренировка модели
model.fit(x_train, y_train, epochs=10, batch_size=32, validation_data=(x_test, y_test))
epochs
определяет количество проходов по данным, а batch_size
- размер каждого мини-пакета при каждом проходе. Функция validation_data
предоставляет данные для проверки, позволяя контролировать переобучение.
После обучения модель можно оценить на тестовых данных:
# Оценка модели
score = model.evaluate(x_test, y_test, verbose=0)
Вернётся массив из двух значений: ошибки и точности.
Обученную модель можно сохранить в файл для последующего использования:
# Сохранение модели
model.save('my_model.h5')
Чтобы загрузить сохраненную модель:
# Загрузка модели
new_model = keras.models.load_model('my_model.h5')
Keras и TensorFlow предоставляют мощные инструменты для создания, обучения и оценки моделей глубокого обучения. В этом руководстве мы рассмотрели основные шаги по созданию модели нейронной сети в Keras и ее тренировке с использованием TensorFlow.