TensorFlow — это открытая программная платформа для машинного обучения, разработанная и поддерживаемая компанией Google. Она предоставляет набор библиотек и инструментов для разработки, обучения и развертывания моделей искусственного интеллекта, в первую очередь нейронных сетей разных архитектур. Изначально разработанная для внутренних нужд исследовательских подразделений, платформа была выпущена как проект с открытым исходным кодом и получила широкое распространение в академических и промышленных приложениях.
Архитектура TensorFlow ориентирована на вычисления с использованием графов потоков данных: операции представлены узлами графа, а данные — тензорами, передающимися по рёбрам. Платформа поддерживает выполнение на разнообразных аппаратных платформах, включая центральные процессоры (CPU), графические процессоры (GPU) и ускорители с тензорными ядрами, что позволяет масштабировать обучение от одиночных машин до распределённых кластеров. TensorFlow включает высокоуровневые интерфейсы для проектирования моделей, утилиты для подготовки данных, механизмы оптимизации и инструменты для оценки и отладки моделей.
- Выражение моделей через вычислительные графы: представление вычислений в виде графов данных, где узлы — операции, а рёбра — тензоры.
 - Поддержка нескольких уровней API: низкоуровневые операции для гибких исследований и высокоуровневые интерфейсы (включая Keras) для быстрой разработки и прототипирования.
 - Исполнение на различных устройствах: переносимость вычислений между CPU, GPU и специализированными ускорителями, с возможностью распределённого обучения.
 - Инструменты для обучения и оптимизации: встроенные оптимизаторы, контроль обучения, механизмы регуляризации и работы с контрольными точками (checkpoints).
 - Средства для подготовки и обработки данных: интеграция с пайплайнами загрузки, трансформации и батчинга больших наборов данных.
 - Механизмы оценки и визуализации: встроенные утилиты для мониторинга метрик, логирования и визуализации процессов обучения.
 - Средства развертывания: опции экспорта и сервирования обученных моделей для использования в продуктах и сервисах на серверах и встраиваемых системах.
 - Расширяемость и экосистема: поддержка сторонних библиотек, инструментов и наборов данных, а также активное сообщество разработчиков и исследователей.