Установка TensorFlow в Ubuntu 16.04

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

Читайте также: Введение в машинное обучение

TensorFlow – это система для глубокого обучения. TensorFlow отлично подходит для поиска информации, как демонстрирует RankBrain, система искусственного интеллекта для поискового ранжирования Google. TensorFlow (согласно Inception) может распознавать изображения и записи естественного языка. Эта система также полезна при решении других проблем, не связанных с машинным обучением (например, в решении уравнений с частными производными).

Архитектура TensorFlow позволяет развертывать на рабочем столе, сервере или мобильном устройстве несколько CPU или GPU. Существуют также расширения для интеграции с CUDA, платформой параллельных вычислений от Nvidia. Это дает пользователям, которые используют GPU, доступ к набору виртуальных команд и другим элементам графического процессора, которые необходимы для решения задач параллельных вычислений.

Данный мануал поможет установить TensorFlow версии «CPU support only». Такая установка идеально подходит для пользователей, которые хотят работать с TensorFlow, но не имеют графической карты Nvidia или просто не нуждаются в подобных приложениях.

Вы можете установить TensorFlow несколькими способами. Каждый метод используется в разных обстоятельствах и средах разработки:

  1. Python и Virtualenv: этот метод позволяет установить TensorFlow и все связанные пакеты в виртуальную среду Python. Это позволяет изолировать среду TensorFlow от других программ Python, установленных на этой машине.
  2. pip: глобальная установка TensorFlow. Этот метод рекомендуется пользователям, которые хотят получить общедоступную установку TensorFlow в многопользовательской системе. Однако этот метод установки не изолирует TensorFlow и может мешать другим установкам или библиотекам Python.
  3. Docker: это среда контейнеризации, которая позволяет полностью изолировать содержимое контейнера от остальных пакетов системы. TensorFlow и все зависимости устанавливаются в контейнер. Этот метод позволяет внедрить TensorFlow в архитектуру большого приложения, которое уже использует Docker. Однако образ Dockerбудет довольно большим.

Данный мануал поможет установить TensorFlow в виртуальную среду Python с помощью virtualenv. Это изолирует TensorFlow и позволит быстро запустить все необходимое. Для тестирования установки в конце мануала показано, как запустить распознавание изображений TensorFlow.

Требования

1: Установка TensorFlow

Для начала нужно создать каталог проекта tf-demo:

mkdir ~/tf-demo

Перейдите в новый каталог:

cd ~/tf-demo

Создайте новую виртуальную среду tensorflow-dev. Для этого введите:

python3 -m venv tensorflow-dev

Это создаст новый каталог tensorflow-dev, в котором будут храниться все пакеты, установленные в эту среду. Также здесь вы найдете pip и индивидуальную версию Python.

Включите виртуальную среду:

source tensorflow-dev/bin/activate

После активации вы увидите в терминале:

(tensorflow-dev)username@hostname:~/tf-demo $

Теперь вы можете установить TensorFlow в свою среду.

Запустите следующую команду, чтобы установить TensorFlow и обновиться до последней версии, доступной в PyPi:

pip3 install --upgrade tensorflow
Collecting tensorflow
Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB)
100% |████████████████████████████████| 39.3MB 35kB/s
...
Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0

Примечание: Чтобы отключить виртуальную среду, введите:

deactivate

Чтобы снова включить виртуальную среду, перейдите в каталог проекта и введите:

source tensorflow-dev/bin/activate

2: Проверка установки TensorFlow

Чтобы проверить установку TensorFlow, попробуйте запустить в TensorFlow простую программу в качестве пользователя без прав root. В качестве примера можно использовать простую программу «Hello, world». Вместо того чтобы создавать файл Python, создайте эту программу с помощью интерактивной консоли Python.

Читайте также: Использование интерактивной консоли Python

Запустите интерпретатор Python:

python

В терминале появится:

>>>

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

Сначала введите эту строку, чтобы импортировать пакет TensorFlow и сделать его доступным в качестве локальной переменной tf. Нажмите Enter, введя строку:

import tensorflow as tf

Затем добавьте эту строку, чтобы отобразить сообщение «Hello, world!».

hello = tf.constant("Hello, world!")

Создайте новую сессию TensorFlow и присвойте ее переменной sess:

sess = tf.Session()

Примечание: В зависимости от среды вы можете увидеть:

2017-06-18 16:22:45.956946: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957282: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957404: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957527: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

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

Чтобы отобразить результат запуска сессии TensorFlow, которую вы создали в предыдущих строках кода, добавьте такую строку:

print(sess.run(hello))

В консоли появится:

Hello, world!

Это значит, что все работает правильно. Теперь можно попробовать выполнить какую-нибудь более сложную задачу с помощью TensorFlow.

Закройте консоль Python (CTRL+D).

3: Распознавание изображений с помощью TensorFlow

Теперь проверьте функции распознавания изображений TensorFlow.

Чтобы классифицировать изображение, вам нужно подготовить модель. Затем вам нужно написать код для использования этой модели.

Читайте также: Введение в машинное обучение

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

С помощью Git клонируйте репозиторий models с GitHub в каталог проекта:

git clone https://github.com/tensorflow/models.git

После того как Git проверит репозиторий, вы увидите такой вывод:

Cloning into 'models'...
remote: Counting objects: 8785, done.
remote: Total 8785 (delta 0), reused 0 (delta 0), pack-reused 8785
Receiving objects: 100% (8785/8785), 203.16 MiB | 24.16 MiB/s, done.
Resolving deltas: 100% (4942/4942), done.
Checking connectivity... done.

Перейдите в каталог models/tutorials/image/imagenet:

cd models/tutorials/image/imagenet

Этот каталог содержит файл classify_image.py, который использует TensorFlow для распознавания изображений. Эта программа загружает подготовленную модель с tensorflow.org при ее первом запуске. Для загрузки этой модели требуется 200 МБ свободного места на диске.

В этом примере попробуйте классифицировать предварительно загруженное изображение панды. Выполните эту команду для запуска программы классификатора изображений:

python classify_image.py

Вы увидите такой вывод:

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

Так TensorFlow классифицирует изображения.

Если вы хотите использовать другое изображение, добавьте аргумент —image_file в команду python3 classify_image.py. В аргументе нужно указать абсолютный путь к файлу изображения.

Заключение

Вы успешно установили TensorFlow в виртуальную среду Python и научились использовать некоторые базовые функции TensorFlow. Теперь у вас есть инструменты, которые позволяют вам изучать новые темы (например, сверточные нейронные сети).

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

Tags: ,