TensorFlow
Изучи основные понятия, архитектуру и экосистему TensorFlow. Узнай, как экспортировать модели Ultralytics YOLO26 для бесшовного развёртывания в TFLite, JS и других средах.
TensorFlow — это комплексная библиотека программного обеспечения с открытым исходным кодом для машинного обучения (ML) и искусственного интеллекта (AI), изначально разработанная командой Google Brain. Она служит базовой платформой, позволяющей разработчикам создавать, обучать и развёртывать сложные модели глубокого обучения. Хотя TensorFlow широко используется для создания крупномасштабных нейронных сетей, его гибкая архитектура позволяет запускать его на самых разных платформах — от мощных облачных серверов и графических процессоров (GPUs) до мобильных устройств и периферийных вычислительных систем. Благодаря этой универсальности TensorFlow стал важным инструментом для отраслей от здравоохранения и финансов до автомобильной инженерии.
Основные концепции и архитектура#
Фреймворк получил своё название от «тензоров» — многомерных массивов данных, проходящих через вычислительный граф. Такой графовый подход позволяет TensorFlow эффективно управлять сложными математическими операциями.
- Вычислительные графы: TensorFlow традиционно использует граф потока данных для представления вычислений. Узлы графа соответствуют математическим операциям, а рёбра — многомерным массивам данных (тензорам), которыми узлы обмениваются. Эта структура отлично подходит для распределённого обучения на нескольких процессорах.
- Интеграция с Keras: Современные версии фреймворка тесно интегрированы с Keras — высокоуровневым API, созданным для людей, а не машин. Keras упрощает создание нейронных сетей (NN), абстрагируя многие низкоуровневые сложности и облегчая новичкам быстрое прототипирование моделей.
- Немедленное выполнение: В отличие от предыдущих версий, которые в значительной степени полагались на статические графы, новые версии по умолчанию используют немедленное выполнение. Это позволяет сразу вычислять операции, упрощает отладку и делает процесс написания кода более интуитивным, похожим на стандартное программирование на Python.
Практические применения#
TensorFlow играет важную роль в работе многих технологий, влияющих на повседневную жизнь и промышленные процессы.
- Классификация изображений и обнаружение объектов: TensorFlow широко используется для обучения свёрточных нейронных сетей (CNNs), предназначенных для распознавания объектов на изображениях. Например, в анализе медицинских изображений модели на базе этого фреймворка помогают рентгенологам с высокой точностью обнаруживать такие аномалии, как опухоли, на рентгеновских снимках или МРТ-сканах.
- Обработка естественного языка (NLP): Многие большие языковые модели (LLMs) и сервисы перевода используют TensorFlow для обработки и генерации естественного языка. На TensorFlow работают такие приложения, как голосовые помощники и инструменты анализа тональности, которые помогают компаниям понимать отзывы клиентов, интерпретируя текстовые данные в больших объёмах.
Сравнение с PyTorch#
Хотя оба фреймворка занимают ведущие позиции в сфере AI, TensorFlow значительно отличается от PyTorch. PyTorch часто выбирают для академических исследований благодаря его динамическому вычислительному графу, который позволяет изменять структуру сети на лету. В отличие от него, TensorFlow исторически предпочитали для развёртывания моделей в производственных средах благодаря развитой экосистеме, включающей TensorFlow Serving и TensorFlow Lite для мобильных устройств. Однако современные обновления сблизили эти два фреймворка с точки зрения удобства использования и функциональности.
Интеграция с Ultralytics#
Модели Ultralytics, такие как передовая модель YOLO26, создаются с использованием PyTorch, но обеспечивают бесшовную совместимость с экосистемой TensorFlow. Это достигается благодаря режимам экспорта, позволяющим преобразовывать обученные модели YOLO в форматы, совместимые с фреймворком Google, например SavedModel, TF.js или TFLite. Такая гибкость позволяет обучать модели на платформе Ultralytics и развёртывать их на устройствах, требующих определённых форматов.
В следующем примере показано, как экспортировать модель Ultralytics YOLO26 в формат, совместимый с этой экосистемой:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TensorFlow SavedModel format
# This creates a directory containing the model assets
model.export(format="saved_model")Связанные инструменты и экосистема#
Фреймворк поддерживается богатым набором инструментов, предназначенных для управления всем жизненным циклом операций машинного обучения (MLOps):
- TensorBoard: мощный набор инструментов визуализации, помогающий исследователям отслеживать такие метрики, как функции потерь и точность во время обучения. Он предоставляет графический интерфейс для анализа графов моделей и отладки проблем с производительностью. С помощью интеграции TensorBoard с Ultralytics можно визуализировать процессы обучения YOLO.
- TensorFlow Lite: облегчённое решение, специально разработанное для периферийного AI и развёртывания на мобильных устройствах. Оно оптимизирует модели для эффективной работы на устройствах с ограниченными ресурсами питания и памяти, таких как смартфоны и микроконтроллеры.
- TensorFlow.js: эта библиотека позволяет моделям ML работать непосредственно в браузере или Node.js. Она поддерживает клиентский инференс, поэтому данные не требуется отправлять на сервер, что повышает конфиденциальность и уменьшает задержку.
- TFX (TensorFlow Extended): сквозная платформа для развёртывания производственных конвейеров. Она помогает автоматизировать проверку данных, обучение моделей и обслуживание моделей, обеспечивая масштабируемость и надёжность AI-приложений.









