Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

TensorFlow

TensorFlow — это созданный Google фреймворк машинного обучения с открытым исходным кодом для обучения и развёртывания моделей на серверах, в браузерах и на телефонах; высокоуровневый API в нём предоставляет Keras.

TensorFlow — это фреймворк с открытым исходным кодом для машинного обучения (ML), выпущенный Google в ноябре 2015 года по лицензии Apache 2.0. Команда Google Brain разработала его для внутренних исследований и продуктов. Программы для глубокого обучения и других численных вычислений представляют вычисления как операции над тензорами — многомерными массивами чисел. TensorFlow автоматически вычисляет их производные, компилирует их в оптимизированные графы и запускает на CPU, GPU и TPU. Экосистема охватывает весь процесс MLOps — от обучения до развёртывания модели: Keras для определения моделей, TensorBoard для отслеживания экспериментов, TensorFlow Serving для обслуживания моделей в production, TensorFlow.js для браузеров и LiteRT, ранее TensorFlow Lite, для телефонов и встроенных устройств с периферийным ИИ. В марте 2026 года, с выходом TensorFlow 2.21, Google заявил, что дальнейшая работа над TensorFlow будет сосредоточена на безопасности и исправлении ошибок, обновлении зависимостей и вкладах сообщества, а для новых проектов в области генеративного ИИ рекомендовал Keras 3, JAX или PyTorch.

Как работает TensorFlow#

В TensorFlow 1.x сначала нужно было создать статический вычислительный граф, а затем выполнить его в сессии. В TensorFlow 2.0, выпущенном в 2019 году, режим eager execution стал стандартным: операции выполняются сразу, как обычный код Python, а графы сохранились как способ оптимизации. Функция с декоратором tf.function один раз трассируется для каждой сигнатуры входных данных в граф, который TensorFlow может оптимизировать, скомпилировать компилятором XLA и сохранить в формате SavedModel для развёртывания без Python. tf.GradientTape записывает операции прямого прохода, чтобы TensorFlow мог вычислить градиенты для обратного распространения ошибки и градиентного спуска. Этот код выполняет обе задачи:

import tensorflow as tf

w = tf.Variable([[1.0], [-2.0]])
x = tf.constant([[3.0, 4.0]])


@tf.function  # trace the Python function into a TensorFlow graph on the first call
def loss_fn(x):
    print("Tracing")  # Python code runs only while tracing, not on every call
    return tf.reduce_sum((x @ w) ** 2)


# Record operations on a tape to compute the gradient of the loss with respect to w
with tf.GradientTape() as tape:
    loss = loss_fn(x)
gradient = tape.gradient(loss, w)

loss_fn(x)  # same input shape and dtype: reuses the traced graph without printing
print(f"loss {loss.numpy()}, gradient {gradient.numpy().ravel()}")

Сначала он один раз выводит Tracing, а затем — loss 25.0, gradient [-30. -40.]: при втором вызове выполняется кэшированный граф без запуска тела функции Python, а градиент (3w₁ + 4w₂)² в точке w = (1, -2) равен 2 × (-5) × (3, 4). Для распределённого обучения стратегии tf.distribute реплицируют модель на нескольких GPU, срезах TPU или машинах.

Экосистема TensorFlow#

  • Keras: высокоуровневый API для определения слоёв и моделей, а также их обучения с помощью fit. Начиная с TensorFlow 2.16, при установке TensorFlow устанавливается Keras 3, который также работает с JAX и PyTorch.
  • TensorBoard: панель мониторинга кривых потерь, метрик, гистограмм и графов моделей во время обучения. Она также считывает журналы других фреймворков, в том числе запусков обучения Ultralytics YOLO, а TensorFlow 2.21 больше не устанавливает её как зависимость.
  • TensorFlow Serving: система обслуживания, которая загружает SavedModel и отвечает на запросы предсказаний через gRPC или REST, поддерживая версионирование для горячей замены моделей.
  • TFX: конвейерный фреймворк для машинного обучения в production, который связывает проверку данных, обучение, оценку и передачу одобренной модели в систему обслуживания.
  • TensorFlow.js: запускает и обучает модели в браузере и Node.js, поэтому инференс может выполняться на устройстве пользователя без отправки данных на сервер.
  • LiteRT: среда выполнения Google на устройстве для Android, iOS, встроенного Linux и микроконтроллеров; в сентябре 2024 года она получила новое имя вместо TensorFlow Lite. Она запускает модели .tflite, преобразованные из TensorFlow, PyTorch или JAX, с ускорением на мобильных GPU и NPU.

TensorFlow, PyTorch и JAX#

  • PyTorch и TensorFlow: PyTorch изначально строился вокруг eager execution, а torch.compile добавляет компиляцию графов. Это фреймворк по умолчанию для большинства новых исследовательских проектов и моделей с открытыми весами, тогда как сильная сторона TensorFlow — зрелый стек развёртывания для серверов, браузеров и мобильных устройств.
  • JAX: библиотека Google в стиле NumPy с компонуемыми преобразованиями: grad для вычисления производных, jit для компиляции XLA и vmap для векторизации. Google обучает модели Gemini с помощью JAX.
  • Keras: высокоуровневый API, а не отдельный вычислительный движок. Код Keras 3 работает с TensorFlow, JAX или PyTorch, поэтому определение модели не привязывает проект к одному фреймворку.

Преобразование моделей для сред выполнения TensorFlow#

Модели, обученные в других фреймворках, можно использовать с инструментами развёртывания TensorFlow с помощью конвертеров: onnx2tf перестраивает граф ONNX как TensorFlow SavedModel, jax2tf оборачивает функции JAX в функции TensorFlow, а LiteRT Torch Converter от Google напрямую создаёт модели LiteRT из PyTorch. Модели Ultralytics YOLO написаны на PyTorch, а их режим экспорта использует эти способы для YOLO26: format="saved_model" экспортирует ONNX и преобразует его с помощью onnx2tf в SavedModel для TensorFlow Serving, format="edgetpu" компилирует модель INT8 для Coral Edge TPU, а format="litert" использует LiteRT Torch, поэтому TensorFlow устанавливать не нужно. Этот код выполняет экспорт SavedModel:

from ultralytics import YOLO

# Load the smallest YOLO26 detection model
model = YOLO("yolo26n.pt")

# Convert through ONNX to a TensorFlow SavedModel directory
path = model.export(format="saved_model")
print(f"SavedModel: {path}")

При экспорте создаётся папка yolo26n_saved_model, которую tf.saved_model.load загружает в Python, а сама Ultralytics YOLO может запускать её с помощью YOLO("yolo26n_saved_model").

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения