Главная | Все статьи | Код

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

Python Время чтения статьи ~4 минуты
Машинное обучение с TensorFlow: создание первых моделей на Python главное изображение

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

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

Что такое TensorFlow

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

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

  • Поддерживает распределенные вычисления, что позволяет обрабатывать большие объемы данных быстрее, используя несколько компьютеров или процессоров одновременно.
  • TensorFlow может работать на разных устройствах, таких как обычные процессоры (CPU), графические процессоры (GPU) и специальные процессоры для машинного обучения, например Tensor Processor Unit.
  • У TensorFlow есть большое и активное сообщество разработчиков, которые создают учебные материалы, отвечают на вопросы и помогают друг другу.

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

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

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

pip install tensorflow

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

import tensorflow as tf

print(tf.__version__).

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

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

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

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

Тензоры представляют собой многомерные массивы в 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)

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

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

  • Разделение данных на обучающую и тестовую выборки.
  • Обучение модели на обучающей части выборки.
  • Оценка точности модели на тестовой выборке.
  • Выбор метода улучшения модели.

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

  • Изменение архитектуры, то есть другие значения числа строк и признаков (labels).
  • Регуляризация и Dropout, то есть предотвращение переобучения.
  • Изменения гиперпараметров — количества эпох и размера батча.

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

Заключение

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

Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября