Машинное обучение с TensorFlow: создание первых моделей на Python

Читать в полной версии →

Рассказываем о библиотеке TensorFlow и показываем, как создать первые модели машинного обучения с использованием TensorFlow на Python.

Что такое TensorFlow

Библиотека TensorFlow предназначена для работы с числами и для создания моделей машинного обучения. Задача библиотеки — помогать в обучении искусственного интеллекта. Изначально TensorFlow разрабатывалась для Python, хотя есть версии и для других языков.

Кроме открытого исходного кода, у TensorFlow есть и другие преимущества:

Установка и настройка TensorFlow

Перед установкой TensorFlow убедитесь, что у вас установлены Python версии 3.6–3.9 и pip.

Для установки используйте команду:

pip install tensorflow

После этого запустите Python и импортируйте TensorFlow:

import tensorflow as tf

print(tf.__version__).

Основные концепции TensorFlow

Приступая к работе с TensorFlow, будьте уверены, что знакомы с основными терминами и понятиями, необходимыми для работы с этой библиотекой.

Тензоры: многомерные массивы данных

Тензоры представляют собой многомерные массивы в TensorFlow. Одномерный тензор может представлять собой вектор, двумерный — матрицу, а тензор с большим числом измерений может использоваться для представления сложных структур данных, таких как изображения или временные ряды.

Операции с тензорами

В TensorFlow возможны разные типы операций с тензорами, например стандартные математические функции, такие как сложение и вычитание, и более сложные операции: матричное умножение, вычисление свертки и логические операции.

Граф вычислений

Граф вычислений в TensorFlow — это набор операций и тензоров, связанных между собой. Граф определяет, каким образом будут проводиться вычисления, каков порядок выполнения операций и зависимость между ними.

Сессии

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

Keras — высокоуровневый API

Keras — это встроенный в TensorFlow высокоуровневый API с удобным интерфейсом для определения слоев нейронных сетей, настройки параметров обучения и управления процессом обучения. С помощью Keras можно быстро создавать сложные модели, используя всего несколько строк кода.

Создание простой модели на Python

Чтобы создать простую модель на Python, выполните следующие шаги.

Подготовка данных

Для начала нужно подготовить данные, которые будут использоваться для обучения модели, например 1000 строк данных по 10 признаков (labels) на каждую, с помощью библиотеки NumPy.

import numpy as np data = np.random.rand(1000, 10)

labels = np.random.randint(2, size=(1000, 1))

Построение модели

Затем с помощью API Keras для TensorFlow строится сама модель, состоящая из нужного числа слоев, например последовательная модель (Sequential), состоящая из двух слоев: один скрытый и один выходной.

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import

Dense model = Sequential([ Dense(32, activation='relu', input_shape=(10,)),

Dense(1, activation='sigmoid') ])

Компиляция модели

Компиляция включает выбор оптимизатора, функции потерь и метрик, которые будут использоваться для оценки качества модели.

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

Обучение модели

На заключительном этапе мы обучаем модель на подготовленных данных. Эпохи — это число полных проходов по набору данных, а батч — число образцов, используемых для одной итерации весовых коэффициентов модели.

model.fit(data, labels, epochs=10, batch_size=32)

Оценка и улучшение модели

После создания модели ее можно улучшать, оценив точность на тестовой выборке данных. Для этого нужно последовательно выполнить такие шаги:

Можно воспользоваться следующими методами улучшения модели:

Заключение

Создать простую модель для машинного обучения, настроить ее, обучить и улучшить несложно, если воспользоваться библиотекой TensorFlow для языка Python.