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. Как вы думаете, стоит ли переводить её дальше?
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
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 в рабочую область, а также изучили основы работы с пакетом, отложим ненадолго эти знания и обратимся к данным. Как и всегда, прежде чем приступать к моделированию нейронной сети, нужно внимательно изучить свои данные и понять их структуру.
Install tensorflow on Windows with anaconda
I am trying to install Tensorflow on my Windows PC. Since I have already install and used Anaconda on Python (3.5), I have followed the instructions https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html#anaconda-environment-installation .
After the creation of the conda environment called tensorflow, I have tested my installation with:
But I got the error :
Does anyone know what I missed?
Thank you very much!
7 Answers 7
UPDATE: Since TensorFlow 0.12, we have published packages for Windows. You can install the CPU-only version with the following command:
…and the GPU-accelerated version with:
Note that you will need the 64-bit version of Python 3.5 installed for the above commands to work.
TensorFlow is not currently supported on Windows, and none of the official binary packages work on Windows. We are currently working on adding support for Windows, but this effort is in the early stages.
See the answers to this question for suggestions on how to run TensorFlow using Docker or Bash for Windows.
It looks like you need to activate the virtual environment that TensorFlow was installed in. When you activate the virtual environment, it will appear in parenthesis in your command prompt, like in the example tutorial:
The source command only works on Linux/Mac as far as I’m aware, so for windows you’ll have to follow the instructions here:
In general, the script file that handles the activation is location in [your_environment]/bin/activate if you’re curious about what it does.
So basically the tensorflow files are installed inside this environment folder, and Python won’t be able to find them unless this folder is added to the PATH where it searches for libraries, and this is essentially what activating the environment does!
The above provided steps will install the TensorFlow in your Windows System but still you might face problem in making it available in your Jupyter notebook — hence integrating steps from different places together to have a complete solution:
How to install Tensorflow in Anaconda environment on windows 10 1) Download and install Anaconda 3.6 (3.5 and above) in your system from Anaconda site. 2) Restart your system 3) Create virtual environment by following command: conda create -n tensorflow
4) Activate the virtual environment
C:> activate tensorflow
(tensorflow)C:> # Your prompt should change TensorFlow in anaconda 5) Following steps should start installing Tensorflow in virtual environment
(tensorflow)C:> conda install -c conda-forge tensorflow 6) Now you may enter in python and work on tensorflow (tensorflow)C:> python
7) But if you like to work on Tensorflow on Jupyter notebook you need to setup the karnel for your virtual environment in following steps: a) Install the ipython kernel module into your virtualenv
activate your virtualenv, if you haven’t already
pip install ipykernel
b) Now run the kernel «self-install» script: python -m ipykernel install —user —name=my-virtualenv-name
Replacing the —name parameter as appropriate. In my case it is tensorflow
c) You should now be able to see your kernel in the IPython notebook menu: Kernel -> Change kernel and be able so switch to it (you may need to refresh the page before it appears in the list). IPython will remember which kernel to use for that notebook from then on.
8) Test the tensorflow with following program you should see “Hello, TensorFlow!”





