Меню Рубрики

Как установить tensorflow windows

Краткое руководство по Tensorflow

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

Мы рассмотрим три основные темы:

  1. Что такое тензоры в TensorFlow
  2. Реализация алгоритмов машинного обучения в TensorFlow
  3. Примеры использования TensorFlow

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

Некоторые особенности TensorFlow:

  • Поддерживаются распределенные вычисления, что облегчает управление данными в больших наборах данных.
  • Базовая библиотека подходит для разных методов машинного обучения, а не только для глубокого обучения.
  • Эффективное управление сложными математическими структурами, такими как n-мерные массивы.

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

Установка TensorFlow

Поскольку для работы с TensorFlow мы будем использовать Python API, полезно знать, что TensorFlow работает как с Python 2.7, так и с Python версии 3.3+. Прежде чем перейти к реальным примерам и концепциям, давайте установим библиотеку. Есть два способа установки:

1) При помощи менеджера пакетов Python, pip:

2) При помощи менеджера пакетов conda (если вы используете Anaconda):

Больше информации по установке вы можете найти в официальной документации TensorFlow.

Мы будем использовать Anaconda для всех примеров в этой статье. Для начала запустим Jupyter Notebook:

Теперь, когда мы готовы писать код, давайте начнем погружаться в пакет SciPy с некоторыми практическими примерами.

Что такое тензоры?

Тензоры — это основная структура данных, используемая в Tensorflow. Да, это просто способ представления данных в глубоком обучении. Давайте изобразим их:

Как видно из рисунка, тензором можно назвать n-мерный массив, который позволяет нам представлять данные в сложных измерениях. Мы можем рассматривать каждое измерение как отдельный признак в глубоком обучении. Это означает, что тензоры могут стать довольно сложными, когда речь заходит о сложных наборах данных (dataset) с большим количеством признаков.

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

Константы в TensorFlow

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

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

Когда мы запустим этот пример, мы увидим следующий вывод:

Почему умножение работает неверно? Это совсем не то, что мы ожидали. Это произошло потому, что операции в TensorFlow выполняются иначе. Для начала, нам нужно создать сессию, а затем выполнить в ней граф вычислений.

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

На этот раз мы создали сессию и выполнили операции графа в сессии. Когда мы запустим этот пример, мы увидим следующий вывод:

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

Операции над тензорами

В последнем примере мы умножили две константы, но в TensorFlow можно выполнять много других операций с отдельными элементами:

Когда речь идет об операциях с отдельными элементами (single-element operations), подразумевается, что даже когда вы передаете массив, операции будут выполняться над каждым элементом этого массива. Например:

Когда мы запустим этот пример, мы увидим следующий вывод:

Из этого мы можем сделать следующие выводы:

  • Любой массив NumPy можно легко преобразовать в тензор с помощью функции convert_to_tensor .
  • Операция (в данном случае cos ) была выполнена над каждым элементом массива NumPy.

Плейсхолдеры и переменные

В одном из предыдущих разделов мы рассмотрели, как можно использовать константы TensorFlow для построения графов вычислений. Но TensorFlow также позволяет нам передавать входные данные при выполнении, чтобы граф вычислений был динамическим. Это возможно с помощью плейсхолдеров (placeholder) и переменных (variable).

На самом деле плейсхолдеры не содержат никаких данных и просто отмечают места для подстановки «внешних» значений. Допустимые входные данные должны быть предоставлены во время выполнения. При отсутствии входных данных они сгенерируют ошибку.

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

Когда мы запустим этот пример, мы увидим следующий вывод:

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

В приведенном выше примере x — это переменная, которой присваивается ее начальное значение и тип данных. Если мы не укажем тип данных, TensorFlow выберет тот тип данных, который может представлять указанное начальное значение. Больше о типах данных в TensorFlow вы можете прочитать здесь.

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

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

Линейная регрессия с использованием TensorFlow

Линейная регрессия является одним из наиболее распространенных алгоритмов, используемых для восстановления зависимости между непрерывными переменными. Это соотношение между координатами точки, скажем, x и y , называется гипотезой. Когда мы говорим о линейной регрессии, гипотеза является прямой линией:

Здесь m — угловой коэффициент, и здесь — это вектор, представляющий веса (weight). А c — свободный член (точка пересечения с осью y ), и здесь он представляет смещение (bias). Вес и смещение называются параметрами модели.

Линейная регрессия позволяет нам оценивать значения веса и смещения таким образом, чтобы минимизировать функцию стоимости. Наконец, x — это независимая переменная в уравнении, а y — зависимая переменная. А теперь давайте начнем строить линейную модель в TensorFlow:

Здесь мы сделали только то, что объяснили ранее. Давайте подведем итоги:

  • Мы начали с импорта TensorFlow в наш скрипт.
  • Создали две переменных: для вектора весов и параметра смещения.
  • Создали плейсхолдер, который будет необходим для ввода х .
  • Представили линейную модель.
  • Инициализировали все значения, необходимые для нашей модели.

Когда мы запустим этот пример, мы увидим следующий вывод:

Этот простой фрагмент кода дает базовое представление о том, как мы можем построить регрессионную модель. Но нам нужно сделать еще несколько шагов, чтобы завершить построенную нами модель:

  • Нам нужно сделать нашу модель самообучаемой, чтобы она могла генерировать выходные значения для любых входных значений.
  • Нам нужно проверить выходное значение, предоставленное моделью, сравнив его с ожидаемым выходным значением для данного х .

Функция потерь и валидация модели

Чтобы проверить правильность работы модели, нам нужно измерить степень отклонения полученного выходного значения от ожидаемого. Существуют различные функции потерь, которые можно использовать здесь для проверки, но мы рассмотрим один из наиболее распространенных методов — сумму квадратов ошибок (Sum of Squared Error — SSE).

Уравнение для SSE имеет следующий вид:

E = среднеквадратическая ошибка (Mean Squared error — MSE)

t = полученный результат

у = ожидаемый результат

Теперь давайте напишем фрагмент кода в продолжение последнего фрагмента, чтобы рассчитать значение потерь:

Когда мы запустим этот пример, мы увидим следующий вывод:

Очевидно, что значение потерь очень низкое для данной модели линейной регрессии.

Заключение

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

Источник

TensorFlow туториал. Часть 2: установка и начальная настройка

Теперь, когда вы получше узнали TensorFlow, пора приступить к работе с ним и установить библиотеку. Важно знать, что TensorFlow предоставляет API для Python, C ++, Haskell, Java, Go, Rust. Также существует сторонний пакет для R.

Читайте также Часть 1: тензоры и векторы

После прочтения этого туториала вы сможете скачать версию TensorFlow, которая позволит вам написать код для проекта по глубокому обучению на Python. На странице установки TensorFlow представлены некоторые из наиболее распространенных способов установки (и советы по ним) с использованием virtualenv, pip, Docker, а также несколько других способов инсталляции.

Примечание. Если вы работаете на Windows, можно установить TensorFlow с помощью Conda. Однако, поскольку существует сообщество для помощи при инсталляции TensorFlow, лучше изучить официальные инструкции по установке.

Проверим, что TensorFlow установлен корректно. Для этого его нужно импортировать в рабочую область под названием tf:

Обратите внимание, что название, использованное в данной строчке кода, является своего рода соглашением. Оно общепринято как в сообществе разработчиков, использующих TensorFlow в своих проектах Data Science, так и в TensorFlow-проектах с открытым исходным кодом.

Начало работы с TensorFlow

Обычно TensorFlow-программы запускаются блоками. На первый взгляд это противоречит принципам программирования на Python. Однако, если вы хотите, можно также использовать интерактивные сессии TensorFlow, в которых работа с библиотекой идет более тесно. Это особенно удобно, если вы уже работали с IPython.

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

Во-первых, импортируйте библиотеку tensorflow под названием tf, как было показано в предыдущем разделе. Затем инициализируйте две переменные-константы. Подайте массив из четырех чисел в функцию constant().

Обратите внимание, что можно также подать целое число, но чаще всего вы будете работать с массивами. Как вы увидели во введении, тензоры — это и есть массивы! Так что убедитесь, что передаете массив. Затем можно использовать multiply() для перемножения двух переменных. Сохраните результат в переменной result. Окончательно, выведите результат с помощью функции print().

Обратите внимание, что для запуска интерактивной сессии можно использовать нижеследующий код. Запустите result и автоматически закройте сессию после вывода output:

В этих блоках вы только что определили сессию по умолчанию, но можно и задавать параметры. Например, можно указать аргумент config и затем использовать буфер протокола ConfigProto для добавления параметров конфигурации сессии.

Например, если добавить

к сессии, вы убедитесь, что зарегистрировали устройство GPU или CPU, назначенное для этой операции. Затем вы получите информацию о том, какие устройства используются в сессии для каждой операции. Если вы используете мягкие ограничения для размещения устройств, можно использовать следующую конфигурацию сессии:

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

Источник

TensorFlow для начинающих. Часть 1: общие сведения, установка библиотеки

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

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

TensorFlow: современная библиотека машинного обучения

Проект TensorFlow был переведён Google в разряд опенсорсных в 2015 году. Его предшественником был проект DistBelief, годы опыта, накопленные в ходе работы с которым, отразились на TensorFlow.

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

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

Эта библиотека, благодаря совместным усилиям всех тех, кто работает над ней, подходит для решения задач самых разных масштабов. От тех, которые возникают перед самостоятельным разработчиком, до тех, которые встают перед стартапами и даже перед крупными компаниями вроде Google. С того момента, как эта библиотека стала опенсорсной, с ноября 2015 года, она стала одной из интереснейших библиотек машинного обучения. Её всё чаще и чаще используют при проведении исследований, при разработке реальных приложений, при обучении.

TensorFlow постоянно улучшается, её постоянно снабжают чем-то новым, оптимизируют. Кроме того, растёт и сообщество, сформированное вокруг этой библиотеки.

О названии TensorFlow

Тензор (tensor) — это стандартный способ представления данных в системах глубокого обучения. Тензоры — это многомерные массивы, расширение двумерных таблиц (матриц) для представления данных, имеющих более высокие размерности. Проще говоря, тензор — это n-мерная матрица.

В целом, если вы привыкли к работе с матрицами, тензоры можно представлять себе так же, как вы представляете себе матрицы.

Начнём с установки TensorFlow.

Установка TensorFlow

Если вы начинаете работу с чистой установки Python (возможно, вы установили Python специально ради изучения TensorFlow), для установки TensorFlow достаточно воспользоваться pip :

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

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

Здесь можно найти подробности о virtualenv .

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

/envs , но вы можете выбрать и другую, более подходящую вам папку:

Выше мы создали виртуальное окружение tensorflow в папке

/envs (оно представлено папкой

/envs/tensorflow ). Для того чтобы активировать это окружение, воспользуемся следующей командой:

После этого приглашение командной строки должно измениться, указывая на активированное виртуальное окружение:

Теперь можно установить TensorFlow в виртуальное окружение с использованием pip :

Такая установка не повлияет на другие пакеты, установленные на компьютере.

Для выхода из виртуального окружения можно воспользоваться такой командой:

После этого приглашение командной строки примет обычный вид.

До недавних пор TensorFlow было очень сложно использовать в среде Windows. Однако после выхода TensorFlow 0.12 особых проблем в этой сфере больше не наблюдается. А именно, для установки CPU-версии TensorFlow под Windows достаточно выполнить следующую команду:

А для установки GPU-версии — следующую:

При установке такой версии TensorFlow предполагается, что у вас уже есть CUDA 8.

Теперь библиотека TensorFlow на вашем компьютере установлена, а значит, пришло время с ней поработать. Начнём, как это обычно бывает при изучении новых технологий, с «Hello World!».

Уважаемые читатели! Этот материал представляет собой перевод начала данной публикации, посвящённой основам TensorFlow. Как вы думаете, стоит ли переводить её дальше?

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

Источник

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

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

  • Как установить step 7 на windows 10 x64
  • Как установить ssh на windows
  • Как установить sqlmap на windows
  • Как установить sqlite на windows
  • Как установить sp2 на sp3 windows xp