Как установить и использовать TensorFlow в Ubuntu 16.04

TensorFlow Ubuntu

введение

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

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

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

В этом руководстве вы установите версию TensorFlow «только для ЦП». Это идеально подходит для тех, кто хочет установить и использовать TensorFlow, не полагаясь на графическую карту Nvidia или запуская критически важные для производительности приложения.

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

  • Python и Virtualenv. В этом методе вы установите TensorFlow и будете использовать все пакеты, необходимые для TensorFlow, в виртуальной среде Python. Это изолирует вашу среду TensorFlow от других программ Python на том же компьютере.

  • Собственный pip: в этом методе вы установите TensorFlow глобально в системе. Это рекомендуется для тех, кто использует TensorFlow в многопользовательских системах. Этот метод установки не изолирует TensorFlow в среде пакета и может мешать другим установкам или библиотекам Python.

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

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

Подготовка к установке

Прежде чем приступить к этому руководству, вам необходимо подготовить следующее:

  • Сервер Ubuntu 16.04 с оперативной памятью не менее 1 ГБ.Руководство по первоначальной настройке сервера Ubuntu 16.04Сделайте настройки, включая пользователя sudo без полномочий root и брандмауэр. Для успешного выполнения последнего примера этого руководства вам потребуется система с объемом оперативной памяти не менее 1 ГБ.

  • Установите Python 3.3 или выше и виртуальную среду virtualenv. в соответствии сКак установить Python 3 на Ubuntu 16.04Учебник по настройке Python и virtualenv.

  • Установите Git, вы можете сделать это,Как установить Git на Ubuntu 16.04. Вы будете использовать это для загрузки примера репозитория.

Шаг 1 — Установите TensorFlow

На этом этапе мы создадим виртуальную среду и установим TensorFlow.

Сначала создайте файл с именемtf-demoкаталог проекта:

$ mkdir ~/tf-demo

Перейдите к только что созданному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 можно установить в виртуальной среде.

Выполните следующие команды для установки и обновления доPyPiПоследняя версия TensorFlow в:

(tensorflow-dev) $ pip3 install --upgrade tensorflow

TensorFlow начнет установку:

Output
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.

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

Шаг 2. Убедитесь, что установка прошла успешно.

Чтобы убедиться, что TensorFlow был успешно установлен, мы запустим простую программу в TensorFlow с привилегиями пользователя без полномочий root. Мы будем использовать идиоматический пример новичка «Привет, мир!» как форму проверки. Мы будем использовать интерактивную консоль Python (Python's interactive console) для создания программы вместо создания Файл Python.

Чтобы написать программу, запустите интерпретатор Python:

(tensorflow-dev) $ python

Вы увидите следующую подсказку в терминале

>>>

Это приглашение интерпретатора Python, указывающее на то, что он готов начать вводить некоторые операторы Python.

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

>>> import tensorflow as tf

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

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

Затем создайте новый сеанс TensorFlow и назначьте его переменнойsess:

>>> sess = tf.Session()

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

Output
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.

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

Наконец, введите эту строку кода, чтобы распечатать то, что было создано в предыдущей строке кода.helloРезультат сеанса TensorFlow:

>>> print(sess.run(hello))

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

Output
Hello, world!

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

нажавCTRL+DВыйдите из интерактивной консоли Python.

Теперь давайте познакомимся с TensorFlow, используя API распознавания изображений TensorFlow.

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

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

Чтобы классифицировать изображения, вам нужно обучить модель. Затем вам нужно написать код для использования модели. Чтобы узнать больше об этих концепциях, вы можете взглянуть на Введение в машинное обучение (An Introduction to Machine Learning).

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

Клонируйте репозиторий модели TensorFlow из GitHub в каталог вашего проекта с помощью Git:

(tensorflow-dev) $ git clone https://github.com/tensorflow/models.git

Когда Git извлекает репозиторий в новую папкуmodels, вы увидите следующий вывод:

Output
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 содержание:

(tensorflow-dev) $ cd models/tutorials/image/imagenet

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

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

(tensorflow-dev) $ python classify_image.py

Вы увидите следующий вывод:

Output
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 работает, запустив несколько примеров. Теперь у вас есть инструменты, которые позволяют исследовать другие проекты, в том числеСверточная нейронная сетьи Word Embeddings.

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