Баннер мобильный (1) Пройти тест

TensorFlow

Глоссарий

17 сентября 2023

Поделиться

Скопировано

Содержание

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

    логотип библиотеки TensorFlow
    Логотип TensorFlow

    Что такое TensorFlow

    Существуют реализации TensorFlow для других языков: C#, C++, Go, Java, Swift и так далее. Они используются реже основной — главным образом для написания кода под специфичные платформы. Сама библиотека написана на языке Python с использованием быстрого и производительного C++ для решения математических задач. Поэтому она эффективно работает со сложными вычислениями.

    Библиотека разработана Google как продолжение внутренней библиотеки компании. TensorFlow бесплатна, у нее открытый исходный код, который можно просмотреть на GitHub, ее активно поддерживает сообщество энтузиастов. Название читается как «тензор флоу» и образовано от двух понятий: тензор и поток данных. Мы подробнее расскажем о них ниже.

    Кто работает с TensorFlow

    С TensorFlow работают специалисты по машинному обучению. Это разработчики, которые создают, настраивают и обучают модели для решения интеллектуальных задач: классификации, распознавания и многого другого. Также библиотеку могут использовать ученые и дата-аналитики, которым машинное обучение бывает нужно для решения практических задач обработки данных.

    Для чего используется TensorFlow

    Сама библиотека включает в себя множество инструментов для разных направлений ML, но чаще всего используется для работы с нейронными сетями. Это структуры, вдохновленные устройством сетей нейронов в человеческой нервной системе. Нейронные сети состоят из программных элементов-«нейронов» и связей между ними, и такое устройство позволяет им обучаться. TensorFlow работает с обычными и глубокими нейронными сетями разных типов: рекуррентными, сверточными и так далее. Также она используется для машинного и глубокого обучения.

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

    Особенности TensorFlow

    • В TensorFlow модели представлены с помощью графов — математических абстракций, которые состоят из вершин и путей между ними. Граф можно сравнить со схемой дорог между разными точками. В программировании это обычно нужно при решении «маршрутных» задач и при создании нейронных сетей.
    • TensorFlow работает с тензорами — многомерными структурами данных в векторном, то есть направленном пространстве. Они используются в линейной алгебре и физике. Отсюда происходит название библиотеки. С помощью тензоров описываются пути графа, а вершины — это математические операции.
    • Вычисления в TensorFlow выражаются как потоки данных через граф. Это означает, что информация «движется» по графу, передается по путям от вершины к вершине.
    • Библиотека может работать на мощностях обычного центрального процессора (CPU) или задействовать мощности графического процессора (GPU). Режим переключается в коде. Существует специальный тензорный процессор TPU, созданный разработчиками библиотеки, — им можно воспользоваться через облачные сервисы Google.

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

    Высокий уровень абстракции

    Библиотека написана так, что не нужно думать о технической реализации абстрактных понятий. Можно сосредоточиться на описании логики программы и на математике, а способ реализации вычислений — задача TensorFlow, а не программиста. Это облегчает разработку и позволяет сконцентрироваться на важных задачах.

    Интерактивная разработка

    TensorFlow позволяет работать с компонентами модели по отдельности и создавать ее «на ходу», при этом отдельно проверять каждый элемент. Это удобнее, чем описывать граф как единую монолитную структуру. Подход делает разработку более интерактивной — структуру можно гибко настраивать и менять.

    Гибкость

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

    Гибкость касается не только функций, но и технической стороны вопроса: библиотека работает и с центральным, и с графическим процессором, ее легко использовать с другими инструментами для машинного обучения. Например, TensorFlow применяют с API Keras.

    Кроссплатформенность

    TensorFlow, как и сам Python, работает в популярных операционных системах, локально или в облаке. У нее есть расширения для мобильных устройств, IoT и браузерных приложений. Для мобильных устройств и интернета вещей можно воспользоваться средой TensorFlow Lite. А если модель машинного обучения должна работать в браузере, подойдет TensorFlow.js — версия для использования с JavaScript и Node.js.

    Большое сообщество

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

    Недостатки TensorFlow

    Собственные стандарты

    TensorFlow — продукт Google. Компания известна собственными стандартами для технологий. Первая версия библиотеки предназначалась для внутреннего использования. До сих пор в TensorFlow встречается неочевидное поведение, из-за которого код может быть сложнее отлаживать. Сложности можно компенсировать, если внимательно изучать документацию и пользоваться дополнительными инструментами для отладки.

    Высокое потребление памяти

    Если TensorFlow используется с графическим процессором, она забирает всю его память. Это снижает производительность. Например, если моделей несколько и они написаны на разных фреймворках, TensorFlow отнимет видеопамять у других — возникнет ошибка. Чтобы такого не было, потребление памяти библиотекой надо ограничивать вручную.

    Сложность в изучении

    Это касается машинного обучения в целом. С TensorFlow сложности могут возникнуть из-за ее специфичных стандартов — это не самая дружелюбная к новичкам библиотека.

    TensorFlow устанавливается с помощью pip, пакетного менеджера для Python. Версии для работы с CPU и GPU скачиваются по отдельности. Также для корректной работы нужна Anaconda — специальный дистрибутив Python для машинного обучения.

    Другие термины на «T»

    Все термины

    Поделиться

    Скопировано

    0 комментариев

    Комментарии