Установка TensorFlow в Ubuntu 16.04
Ubuntu | Комментировать запись
TensorFlow – это открытое программное обеспечение для машинного обучения, созданное Google для обучения нейронных сетей. Нейронные сети TensorFlow выражаются в виде графов потока данных. Каждый узел в графе представляет операции, выполняемые нейронными сетями на многомерных массивах. Эти многомерные массивы широко известны как тензоры, отсюда и название TensorFlow.
Читайте также: Введение в машинное обучение
TensorFlow – это система для глубокого обучения. TensorFlow отлично подходит для поиска информации, как демонстрирует RankBrain, система искусственного интеллекта для поискового ранжирования Google. TensorFlow (согласно Inception) может распознавать изображения и записи естественного языка. Эта система также полезна при решении других проблем, не связанных с машинным обучением (например, в решении уравнений с частными производными).
Архитектура TensorFlow позволяет развертывать на рабочем столе, сервере или мобильном устройстве несколько CPU или GPU. Существуют также расширения для интеграции с CUDA, платформой параллельных вычислений от Nvidia. Это дает пользователям, которые используют GPU, доступ к набору виртуальных команд и другим элементам графического процессора, которые необходимы для решения задач параллельных вычислений.
Данный мануал поможет установить TensorFlow версии «CPU support only». Такая установка идеально подходит для пользователей, которые хотят работать с TensorFlow, но не имеют графической карты Nvidia или просто не нуждаются в подобных приложениях.
Вы можете установить TensorFlow несколькими способами. Каждый метод используется в разных обстоятельствах и средах разработки:
- Python и Virtualenv: этот метод позволяет установить TensorFlow и все связанные пакеты в виртуальную среду Python. Это позволяет изолировать среду TensorFlow от других программ Python, установленных на этой машине.
- pip: глобальная установка TensorFlow. Этот метод рекомендуется пользователям, которые хотят получить общедоступную установку TensorFlow в многопользовательской системе. Однако этот метод установки не изолирует TensorFlow и может мешать другим установкам или библиотекам Python.
- Docker: это среда контейнеризации, которая позволяет полностью изолировать содержимое контейнера от остальных пакетов системы. TensorFlow и все зависимости устанавливаются в контейнер. Этот метод позволяет внедрить TensorFlow в архитектуру большого приложения, которое уже использует Docker. Однако образ Dockerбудет довольно большим.
Данный мануал поможет установить TensorFlow в виртуальную среду Python с помощью virtualenv. Это изолирует TensorFlow и позволит быстро запустить все необходимое. Для тестирования установки в конце мануала показано, как запустить распознавание изображений TensorFlow.
Требования
- Сервер Ubuntu 16.04, настроенный по этому мануалу.
- Для выполнения примеров вам понадобится 1Гб RAM минимум.
- Python 3.3+ и virtualenv (все это можно установить с помощью руководства Настройка локальной среды разработки для Python 3 в Ubuntu 16.04).
- Git (читайте мануал Установка Git в Ubuntu 16.04).
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: AI, ML, TensorFlow, Ubuntu 16.04, Машинное обучение