TensorFlow

0 Акции
0
0
0
0

TensorFlow

TensorFlow Это библиотека машинного и глубокого обучения, разработанная Google, которая используется в различных приложениях для улучшения пользовательского опыта. Например, когда вы начинаете поиск, Google автоматически дополняет ваш текст.

Предположение Google о продолжении текста
Предположение Google о продолжении текста

Машинное обучение используют три группы людей: 1. Исследователи 2. Специалисты по анализу данных 3. Программисты. Чтобы удовлетворить потребности этих людей, команда Google Brain создала библиотеку TensorFlow. TensorFlow может работать на различных процессорах и графических процессорах и работать с различными языками программирования, такими как C++, Python или Java. TensorFlow можно использовать на серверах и даже на мобильных телефонах.

История TensorFlow

По мере увеличения объема данных глубокое обучение стало вытеснять алгоритмы глубокого обучения, и компания Google пришла к выводу, что может улучшить свои сервисы с помощью этих глубоких нейронных сетей, и начала создавать фреймворк под названием TensorFlow, который мог бы помочь разработчикам и исследователям одновременно работать вместе над моделями ИИ.

Когда проект был достаточно развит и масштабируем, он был представлен публике в 2015 году. Однако стабильная версия была выпущена только в 2017 году.

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

Архитектура TensorFlow

Архитектура TensorFlow состоит из трёх частей: 1. Предварительная обработка данных; 2. Построение модели; 3. Обучение и оценка модели. Название TensorFlow обусловлено тем, что на входе он получает многомерные массивы, имена которых тензор И затем вы можете запустить серию графиков операций над вашими данными, которые блок-схема Да.

Где это делается?

Использование этой библиотеки состоит из двух этапов:

Фаза разработки: Наступает момент, когда вы обучаете модель, и этот этап обычно выполняется на вашем ноутбуке или системе.

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

Таким образом, обучение и запуск модели можно осуществлять на разных машинах.

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

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

Ещё один плюс — эта библиотека написана на C++, поэтому она очень быстрая. Конечно, её можно использовать и с другими языками, например, с Python.

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

Компоненты TensorFlow

Тензор

Тензор — это массив N-мерных матриц, которые могут представлять различные типы информации. Каждое значение тензора содержит информацию одинаковой формы.

Тензоры могут быть входными или выходными данными расчета.

График

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

А почему именно график?

  • Может работать на разных системах.
  • График можно сохранить для использования в будущем.
  • Все вычисления в графике производятся путем соединения тензоров между собой.
  • Короче говоря, в графах каждое ребро — это значение (тензор), а каждый узел — это оператор (например, сложение).

Почему TensorFlow так популярен?

TensorFlow — лучший инструмент, поскольку он разработан для всеобщего использования и использует API, которые можно использовать в различных масштабах с архитектурами глубокого обучения, такими как рекуррентные и сверточные нейронные сети. Благодаря графовым вычислениям, TensorFlow позволяет визуализировать нейронные сети внутри TensorBoard, что очень полезно для отладки. Кроме того, TensorFlow разработан с учётом масштабируемости при развёртывании.

Хорошей новостью является то, что у него самое большое сообщество среди различных фреймворков глубокого обучения на GitHub.

Сколько алгоритмов поддерживает TensorFlow?

  • Линейная регрессия: tf.estimator.LinearRegressor
  • Классификация: tf.estimator.LinearClassifier
  • Глубокая классификация: tf.estimator.DNNClassifier
  • Глубокое обучение и очистка: tf.estimator.DNNLinearCombinedClassifier
  • Регрессия бустерного дерева: tf.estimator.BoostedTreesRegressor
  • Улучшенная классификация деревьев: tf.estimator.BoostedTreesClassifier

Несколько простых примеров

  1. 12импортировать numpy как np
  2. импортировать тензорный поток как tf

В двух строках выше мы импортируем библиотеки numpy и tensorflow.

В этом примере мы хотим перемножить X_1 и X_2. Сначала нам нужно создать график, а затем запустить сеанс TensorFlow для вычисления результата.

Давайте начнем.

Шаг 1: Определите переменную

Первый шаг — создание входных узлов X_1, X_2. В TensorFlow нам нужно указать тип создаваемого узла. Здесь мы выбираем тип плейсхолдера.

заполнитель:

Этот тип присваивает тензору новое значение каждый раз, когда мы выполняем вычисление.

  1. X_1 = tf.placeholder(tf.float32, name = “X_1”)
  2. X_2 = tf.placeholder(tf.float32, name = “X_2”)

Как видите, мы ввели тип этого узла как float, а его имя как имя переменной.

Шаг 2: Определите расчет

  1. 1умножить = tf.multiply(X_1, X_2, имя = “умножить”)

С помощью приведенной выше строки мы создаем вершину, которая действует как оператор оператора умножения.

Это входные данные вершин, которые мы хотим умножить, и мы назвали их умножением.

Итак, мы создали наш первый график.

Шаг 3: Выполнение операции

Для выполнения операции необходимо создать сеанс. Этот сеанс создаётся с помощью tf.Session() и запускается при вызове run.

Для выполнения умножения нам необходимо передать на вход значения тензоров x1 и x2. Это делается с помощью назначения feed_dict. В этом примере значения от 1 до 3 присваиваются x1, а от 4 до 6 — x2. Результат выводится на экран.

  1. X_1 = tf.placeholder(tf.float32, name = “X_1”)
  2. X_2 = tf.placeholder(tf.float32, name = “X_2”)

 

  1. 1умножить = tf.multiply(X_1, X_2, имя = “умножить”)

 

  1. с tf.Session() в качестве сеанса:
  2. результат = сеанс.выполнить(умножить, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
  3. печать(результат)

 

  1. [ 4. 10. 18.]

Различные способы импорта данных в TensorFlow

Итак, одним из первых шагов перед обучением модели является импорт данных, который имеет два режима:

  1. Ввод данных в оперативную память: существует простой способ ввода данных в массив памяти, например, путем написания строки кода на Python.
  2. Использование конвейера данных TensorFlow: TensorFlow предоставляет набор API, которые помогают вам получать данные, выполнять над ними ряд операций и затем передавать их вашему алгоритму. Этот метод очень эффективен, особенно когда данные очень большие. Например, изображения имеют огромный объём и не помещаются в оперативную память. В этом случае конвейер данных берёт на себя управление оперативной памятью.

Теперь вопрос в том, какой из них использовать.

Если объём ваших данных меньше 10 ГБ, вы можете легко использовать первый метод, например, для этого есть известная библиотека pandas. В противном случае, например, если у вас 30 ГБ данных и объём оперативной памяти составляет 12 ГБ, вы, естественно, не сможете использовать этот метод и вам следует обратиться к API конвейера. Конвейер группирует данные, и каждый пакет поступает в конвейер и используется для обучения модели. Использование конвейера позволяет использовать параллельную обработку. Это означает, что TensorFlow может обучать модель на нескольких разных процессорах одновременно.

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

Создание конвейера в TensorFlow

Шаг 1) Создание данных

Мы генерируем два случайных числа с помощью библиотеки numpy.

  1. 123импортировать numpy как np
  2. x_input = np.random.sample((1,2))
  3. печать(x_input)

 

  1. 1[[0.8835775 0.23766977]]

Шаг 2) Создайте заполнитель

На этом этапе мы создаем заполнитель с именем X как массив с двумя элементами типа float.

  1.  используя заполнителя #
  2. x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')

Шаг 3: Создайте набор данных

На этом этапе нам необходимо определить набор данных, в который мы поместим значение-заполнитель x.

  1. 1tf.data.Dataset.from_tensor_slices
  2. 1набор данных = tf.data.Dataset.from_tensor_slices(x)

Шаг 4: Постройте трубопровод

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

  1. 12итератор = набор данных.make_initializable_iterator()
  2. get_next = итератор.get_next()

Шаг 5: Выполните расчет

На последнем этапе мы запускаем сеанс, входными данными которого являются итератор и входные значения, созданные numpy, и для каждого из них мы выводим его значение.

  1. с tf.Session() в качестве сеанса:
  2. # наполняет заполнителем данными
  3. sess.run(итератор.инициализатор, feed_dict={ x: x_input })
  4. печать(sess.run(get_next))

 

  1. 1[0.8835775 0.23766978]

Краткое содержание

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

TensorFlow работает в сеансе, где каждый сеанс определяется графиком с различными вычислениями.

В качестве простого примера в TensorFlow умножение выглядит следующим образом:

1. Определение переменной

  1. X_1 = tf.placeholder(tf.float32, name = “X_1”)
  2. X_2 = tf.placeholder(tf.float32, name = “X_2”)

2. Определение расчета

  1. 1умножить = tf.multiply(X_1, X_2, имя = “умножить”)

3. Выполнение операций

  1. с tf.Session() в качестве сеанса:
  2. результат = сеанс.выполнить(умножить, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
  3. печать(результат)

Распространенной практикой в TensorFlow является создание конвейера для загрузки данных в оперативную память, что выполняется с помощью следующих шагов:

1. Создание данных

  1. импортировать numpy как np
  2. x_input = np.random.sample((1,2))
  3. печать(x_input)

2. Создайте заполнитель

  1. 1x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')

3. Определение метода набора данных

  1. 1набор данных = tf.data.Dataset.from_tensor_slices(x)

4. Строительство трубопровода

  1. 1итератор = набор данных.make_initializable_iterator() get_next = итератор.get_next()

5. Выполнение программы

  1. с tf.Session() в качестве сеанса:
  2. sess.run(итератор.инициализатор, feed_dict={ x: x_input })
  3. печать(sess.run(get_next))

 

Получите TensorFlow прямо сейчас

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться

Основные шаги, которые профессиональные программисты должны предпринять перед началом написания кода

Введение Перед началом кодирования лучше следовать ряду шагов и советов, чтобы сделать процесс разработки программного обеспечения…
введение-freqtrade-bot

Представляем Freqtrade — продвинутый криптовалютный торговый робот с открытым исходным кодом

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

Робот для торговли криптовалютой и как с ним работать

Торговые боты обычно подключаются напрямую к аккаунту пользователя через API биржи (например, Binance, Coinbase, KuCoin, Bybit и т. д.) и совершают сделки на основе предопределенных настроек.