TensorFlow

Материал из «Знание.Вики»
TensorFlow
Логотип программы
Тип Библиотека для машинного обучения
Разработчик Google Brain
Написана на Python, C++, CUDA
Языки интерфейса Английский США
Первый выпуск 9 ноября 2015
Аппаратная платформа Linux, macOS, Windows
Последняя версия 2.9.1 23 мая 2022 ()
Состояние Активна
Лицензия Лицензия Apache
Сайт https://www.tensorflow.org/?hl=ru

TensorFlow — открытый Python-фреймворк машинного обучения, созданный командой Google Brain, объединяет множество моделей и алгоритмов глубокого обучения. TensorFlow предоставляет API-интерфейс на Python, а сами вычисления происходят на высокопроизводительном C ++.

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

История

TensorFlow 9 ноября 2015 года был открыт для свободного доступа. TensorFlow является системой машинного обучения Google Brain второго поколения. В то время как эталонная реализация работает на единичных устройствах, TensorFlow может работать на многих параллельных процессорах, как CPU, так и GPU, опираясь на архитектуру CUDA для поддержки вычислений общего назначения на графических процессорах. TensorFlow доступна для 64-разрядных Linux, macOS, Windows, и для мобильных вычислительных платформ, включая Android и iOS[1].

Вычисления TensorFlow выражаются в виде потоков данных через граф состояний. Название TensorFlow происходит от операций с многомерными массивами данных, которые также называются «тензорами»[2]. В мае 2016 года Google сообщила о применении для задач глубинного обучения аппаратного ускорителя собственной разработки — тензорного процессора (TPU) — специализированной интегральной схемы, адаптированной под задачи для TensorFlow, и обеспечивающей высокую производительность в арифметике пониженной точности (например, для 8-битных процессоров) и направленной скорее на применение моделей, чем на их обучение[3].

Преимущества

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

Продукт предлагает дополнительные удобства для разработчиков, которым необходимо отлаживать приложения. Режим активного выполнения позволяет оценивать и изменять каждую операцию графа поэлементно, вместо того, чтобы строить весь граф как один непрозрачный объект и оценивать его целиком. Пакет визуализации TensorBoard позволяет совершенствовать модель с помощью интерактивной веб-панели[4].

Применение

Сама библиотека включает в себя множество инструментов для разных направлений машинного обучения, но чаще всего используется для работы с нейронными сетями. Нейронные сети состоят из программных элементов — «нейронов» и связей между ними, и такое устройство позволяет им обучаться[5].

Литература

  1. Джулли А., Пал С. Библиотека Keras — инструмент глубокого обучения. Реализация нейронных сетей с помощью библиотек Theano и TensorFlow. — ДМК-Пресс, 2017. — 294 с.
  2. Dean Jeff, Monga Rajat, Ghemawat, Sanjay. TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems (англ.) (2015.11.09). Дата обращения: 2023.06.06.
  3. Google supercharges machine learning tasks with TPU custom chip (англ.). https://cloud.google.com/ (2016.05.19). Дата обращения: 2023.06.06.
  4. Serdar, Yegulalp. What is TensorFlow? The machine learning library explained (англ.). https://www.infoworld.com/ (2022.06.03). Дата обращения: 2023.06.06.
  5. Horace He. The State of Machine Learning Frameworks in 2019 (англ.). https://thegradient.pub/ (2019.10.10). Дата обращения: 2023.06.06.