Что такое ТензорФлоу? Как это работает [с примерами]
Опубликовано: 2021-09-22TensorFlow — это библиотека с открытым исходным кодом, используемая для создания моделей машинного обучения. Это невероятная платформа для всех, кто увлечен машинным обучением и искусственным интеллектом. Кроме того, в связи с неуклонным ростом рынка машинного обучения такие инструменты, как TensorFlow, оказались в центре внимания, поскольку технологические компании изучают разнообразные возможности технологии искусственного интеллекта. Несомненно, прогнозируется, что к 2027 году мировой рынок машинного обучения достигнет 117,19 млрд долларов США .
Но с самого начала уместно узнать, что такое TensorFlow и что делает его популярным среди разработчиков по всему миру.
Оглавление
Что такое ТензорФлоу?
TensorFlow — это сквозная платформа с открытым исходным кодом для машинного обучения с особым акцентом на глубокие нейронные сети. Глубокое обучение — это подмножество машинного обучения, которое включает анализ крупномасштабных неструктурированных данных. Глубокое обучение отличается от традиционного машинного обучения тем, что последнее обычно имеет дело со структурированными данными.
TensorFlow может похвастаться гибкой и всеобъемлющей коллекцией библиотек, инструментов и ресурсов сообщества. Он позволяет разработчикам создавать и развертывать современные приложения на основе машинного обучения. Одна из лучших особенностей TensorFlow заключается в том, что он использует Python для предоставления удобного интерфейсного API для создания приложений при их выполнении на высокопроизводительном оптимизированном C++.
Команда Google Brain изначально разработала библиотеку глубокого обучения TensorFlow Python для внутреннего использования. С тех пор платформа с открытым исходным кодом стала широко использоваться в научно-исследовательских и производственных системах.
Некоторые основы TensorFlow
Теперь, когда у нас есть фундаментальное представление о том, что такое TensorFlow , пришло время углубиться в некоторые подробности о платформе.
Ниже приведен краткий обзор некоторых основных концепций, связанных с TensorFlow. Мы начнем с тензоров — основных компонентов TensorFlow, от которых платформа получила свое название.
Тензоры
В библиотеке глубокого обучения TensorFlow Python тензор — это массив, представляющий типы данных. В отличие от одномерного вектора, массива или двумерной матрицы, тензор может иметь n измерений. В тензоре значения содержат идентичные типы данных с известной формой. Форма представляет размерность. Таким образом, вектор будет одномерным тензором, матрица — двумерным тензором, а скаляр — нульмерным тензором.
Источник
Форма
В библиотеке TensorFlow Python форма относится к размерности тензора.
Источник
На изображении выше форма тензора (2,2,2).
Тип
Тип представляет тип данных, которые хранятся в тензоре. Как правило, все значения в тензоре имеют одинаковый тип данных. Типы данных в TensorFlow следующие:
- целые числа
- плавающая точка
- беззнаковые целые числа
- булевы значения
- струны
- целое число с квантованными операциями
- сложные числа
График
Граф представляет собой набор вычислений, которые последовательно выполняются над входными тензорами. Он включает в себя расположение узлов, представляющих математические операции в модели.
Сессия
Сессия в TensorFlow выполняет операции в графе. Он запускается для оценки узлов в графе.
Операторы
Операторы в TensorFlow — это предопределенные математические операции.
Как работают тензоры?
В TensorFlow графы потоков данных описывают, как данные проходят через серию узлов обработки. TensorFlow использует графы потоков данных для построения моделей. Вычисления графов в TensorFlow облегчаются за счет взаимосвязей между тензорами.
N-мерные тензоры подаются в нейронную сеть в качестве входных данных, которая выполняет несколько операций для получения выходных данных. Графы имеют сеть узлов, где каждый узел представляет собой математическую операцию. Но граница между узлами — это многомерный массив данных или тензор. Сеанс TensorFlow позволяет выполнять графики или части графиков. Для этого сеанс выделяет ресурсы на одной или нескольких машинах и содержит фактические значения промежуточных результатов и переменных.
Источник
Приложения TensorFlow можно запускать практически на любой удобной цели, которой могут быть процессоры, графические процессоры, кластер в облаке, локальный компьютер или устройства Android и iOS.
График вычислений TensorFlow
Граф вычислений в TensorFlow — это сеть узлов, где каждый узел выполняет операции умножения, сложения или оценивает какое-либо многомерное уравнение. В TensorFlow записываются коды для создания графа, запуска сеанса и выполнения графа. Каждая назначаемая нами переменная становится узлом, в котором мы можем выполнять математические операции, такие как умножение и сложение.
Вот простой пример, показывающий создание графа вычислений:
Предположим, мы хотим выполнить вычисление: F(x,y,z) = (x+y)*z.
Три переменные x, y и z преобразуются в три узла на графике, показанном ниже:
Источник
Этапы построения графика:
Шаг 1: Назначьте переменные. В этом примере значения следующие:
х = 1, у = 2 и г = 3
Шаг 2: Добавьте x и y.
Шаг 3: Умножьте z на сумму x и y.
Наконец, мы получаем результат «9».
Помимо узлов, которым мы присвоили переменные, на графе есть еще два узла — один для операции сложения и другой для операции умножения. Следовательно, всего пять узлов.
Основные элементы программирования в TensorFlow
В TensorFlow мы можем назначать данные трем различным типам элементов данных — константам, переменным и заполнителям.
Давайте посмотрим, что представляет собой каждый из этих элементов данных.
1. Константы
Как видно из названия, константы — это параметры с неизменными значениями. В TensorFlow константа определяется с помощью команды tf.constant() . Во время вычислений значения констант не могут быть изменены.
Вот пример:
c = tf.constant (2.0, tf.float32)
д = tf.constant (3.0)
Печать (в, г)
2. Переменные
Переменные позволяют добавлять в график новые параметры. Команда tf.variable() определяет переменную, которую необходимо инициализировать перед запуском графа в сеансе.
Вот пример:
Y = tf.Variable([.4],dtype=tf.float32)
a = tf.Variable([-.4],dtype=tf.float32)
б = tf.placeholder (tf.float32)
linear_model = Y*b+a
3. Заполнители
Используя заполнители, можно вводить данные в модель извне. Это позволяет позднее присваивать значения. Команда tf.placeholder() определяет заполнитель.
Вот пример:
c = tf.placeholder (tf.float32)
д = с*2
результат = sess.run(d,feed_out={c:3.0})
Заполнитель в основном используется для подачи модели. Данные извне подаются на график с использованием имени переменной (имя переменной в приведенном выше примере — feed_out). Впоследствии при запуске сеанса мы указываем, как мы хотим передавать данные в модель.
Пример сеанса:
Выполнение графа выполняется путем вызова сеанса. Сеанс запускается для оценки узлов графа, который называется средой выполнения TensorFlow. Команда sess = tf.Session() создает сеанс.
Пример:
х = tf.constant (3.0)
у = tf.constant (4.0)
г = х+у
sess = tf.Session() # Запуск сеанса
print(sess.run(z)) #Оценка тензора z
В приведенном выше примере есть три узла — x, y и z. Узел «z» — это место, где выполняется математическая операция, а затем получается результат. После создания сеанса и запуска узла z сначала будут созданы узлы x и y. Затем операция сложения будет выполняться в узле z. Следовательно, мы получим результат «7».
Продвиньте свою карьеру в области машинного обучения и глубокого обучения с upGrad
Ищете лучшее место, чтобы узнать больше о TensorFlow ? Тогда upGrad поможет вам в вашем обучении.
С базой учащихся, охватывающей более 85 стран, upGrad является крупнейшей платформой высшего образования в Южной Азии, которая затронула более 500 000 работающих профессионалов по всему миру. Благодаря преподавателям мирового класса, сотрудничеству с отраслевыми партнерами, новейшим технологиям и самым современным педагогическим практикам, upGrad обеспечивает полезный и захватывающий опыт обучения для своих более 40 000 платных учащихся по всему миру.
Усовершенствованная сертификационная программа по машинному обучению и глубокому обучению — это академически строгий и актуальный для отрасли 6-месячный курс, охватывающий концепции глубокого обучения.
Основные моменты программы:
- Престижное признание от IIIT Bangalore
- 240+ часов контента с 5+ кейсами и проектами, 24+ живых сессий и 15+ коуч-сессий с экспертами
- Полный охват 12 инструментов, языков и библиотек (включая TensorFlow).
- Всесторонняя помощь в построении карьеры, сеансы наставничества и возможности для одноранговых сетей
Магистр наук upGrad в области машинного обучения и искусственного интеллекта — это надежная 18-месячная программа для тех, кто хочет учиться и повышать квалификацию с помощью передовых технологий машинного обучения и облачных технологий.
Основные моменты программы:
- Престижное признание Ливерпульского университета Джона Мура и IIT Madras
- 650+ часов контента с 25+ кейсами и проектами, 20+ живых сессий и 8+ заданий по программированию
- Полный охват 7 инструментов и языков программирования (включая TensorFlow)
- Всесторонняя помощь в построении карьеры, сеансы наставничества и возможности для одноранговых сетей
Заключение
Машинное обучение и искусственный интеллект продолжают развиваться. То, что когда-то было темой научно-фантастических фильмов, теперь стало реальностью. От рекомендаций фильмов Netflix и виртуальных помощников до беспилотных автомобилей и открытия лекарств — машинное обучение влияет на все аспекты нашей жизни. Более того, благодаря таким инструментам, как TensorFlow, инновации в машинном обучении достигли новых высот. Библиотека с открытым исходным кодом, несомненно, является благом для разработчиков и начинающих специалистов, внедряющих инновационные технологии, основанные на машинном обучении.
И так, чего же ты ждешь? Начните учиться с upGrad сегодня!
TensorFlow Python — это платформа с открытым исходным кодом, которая позволяет разработчикам создавать крупномасштабные нейронные сети. Некоторые из основных вариантов использования TensorFlow включают текстовые приложения (например, обнаружение мошенничества), распознавание голоса, распознавание изображений, обнаружение видео и анализ данных временных рядов. TensorFlow позволяет реализовать интерфейсные API с использованием различных языков, таких как Python, R, C и C++. Однако среда выполнения в TensorFlow написана на языке C++. Поскольку TensorFlow — это библиотека с открытым исходным кодом для машинного обучения, есть четыре основные области, которые необходимо освоить. Хотя навыки программирования являются обязательными, другими важными компонентами обучения машинному обучению являются математика и статистика, теория машинного обучения и практический опыт создания проектов машинного обучения с нуля.Для чего используется TensorFlow?
Написан ли TensorFlow на Python или C++?
Нуждается ли TensorFlow в программировании?