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 :
pip install tensorflow
Этот подход прост, но у него есть некоторые неприятные особенности. Они заключаются в том, что при установке TensorFlow, вместо уже установленных пакетов, будут установлены определённые версии пакетов-зависимостей этой библиотеки.
Если вы используете существующую установку Python и для других целей, этим методом пользоваться не рекомендуется. Один из способов установки TensorFlow с обходом вышеописанной особенности заключается в использовании виртуального окружения, которым управляет утилита virtualenv . Возможно, у вас уже эта утилита установлена, возможно — нет. Если она у вас не установлена, установить её можно так:
pip install virtualenv
Здесь можно найти подробности о virtualenv .
Для того чтобы установить TensorFlow в виртуальном окружении, сначала нужно такое окружение создать. Мы собираемся разместить его в папке ~/envs , но вы можете выбрать и другую, более подходящую вам папку:
cd ~ mkdir envs virtualenv ~/envs/tensorflow
Выше мы создали виртуальное окружение tensorflow в папке ~/envs (оно представлено папкой ~/envs/tensorflow ). Для того чтобы активировать это окружение, воспользуемся следующей командой:
source ~/envs/tensorflow/bin/activate
После этого приглашение командной строки должно измениться, указывая на активированное виртуальное окружение:
(tensorflow)
Теперь можно установить TensorFlow в виртуальное окружение с использованием pip :
(tensorflow) pip install tensorflow
Такая установка не повлияет на другие пакеты, установленные на компьютере.
Для выхода из виртуального окружения можно воспользоваться такой командой:
(tensorflow) deactivate
После этого приглашение командной строки примет обычный вид.
До недавних пор TensorFlow было очень сложно использовать в среде Windows. Однако после выхода TensorFlow 0.12 особых проблем в этой сфере больше не наблюдается. А именно, для установки CPU-версии TensorFlow под Windows достаточно выполнить следующую команду:
pip install tensorflow
А для установки GPU-версии — следующую:
pip install tensorflow-gpu
При установке такой версии TensorFlow предполагается, что у вас уже есть CUDA 8.
Теперь библиотека TensorFlow на вашем компьютере установлена, а значит, пришло время с ней поработать. Начнём, как это обычно бывает при изучении новых технологий, с «Hello World!».
Уважаемые читатели! Этот материал представляет собой перевод начала данной публикации, посвящённой основам TensorFlow. Как вы думаете, стоит ли переводить её дальше?
Установка Tensorflow + Python на Windows.
Развитие машинного обучения неизбежно приводит к появления удобных инструментов для повышения качества работы. Одним из таких инструментов стал фреймворк Tensorflow . Сегодня мы разберемся как установить данный фреймворк, если базовой системой является Windows 10, а работать он должен с вашей видеокартой Nvidia (для примера GTX 1060).
1. Исследование зависимостей.
В данный момент на вашей машине установлена ОС Windows 10, которая уже видит вашу видеокарту. Теперь надо выяснить какие обязательные компоненты для работы с Tensorflow нам необходимы. Для этого заходим на на официальный сайт https://www.tensorflow.org/install/source_windows и в самом низу страницы видим таблицу совместимостей. Нас интересует таблица для версии GPU . Выбираем интересующую нас версию Tensorflow , для примера 1.13.0. Теперь можно определить необходимый набор компонент для установки:
— Python 3.5 – 3.7 (установим 3.6).
2. Загрузка дистрибутивов.
Чтобы скачать python 3.6 перейдем на официальный сайт и выберем версию доступную для скачивания в виде инсталлятора под windows . Переходим на https://www.python.org/downloads/release/python-368/ и выбираем « Windows x86-64 executable installer»(Рисунок 1).
Рисунок 1 — Страница загрузки инсталлятора Python 3.6.
Для загрузки cuDNN переходим на https://developer.nvidia.com/rdp/cudnn-archive и скачиваем соответствующую версию( Рисунок 2 ).
Рисунок 2 — Страница загрузки библиотеки cuDNN 7.4.
Рисунок 3 — Страница загрузки CUDA 10.
Tensorflow мы загрузим после установки Python .
3. Установка Python .
Запускаем дистрибутив и выбираем кастомную инсталляцию ( Рисунок 4 ) .
Рисунок 4 — Выбор режима установки Python 3.6.
В следующем окне нужно проставить все галочки и нажать кнопку NEXT ( Рисунок 5 ) .
Рисунок 5 — Параметры установки Python 3.6.
На последней странице отметьте все галочки как на рисунке 6 и жмите Install .
Рисунок 6 — Расширенные параметры установки Python 3.6.
Дождитесь завершения установки. После чего откройте командную строку и введите в не q «python». Если вы увидите в выводе версию вашего python , значит установка прошла успешно.
4. Установка CUDA
Запустите дистрибутив и перейдите к выборочной установке. В первом окне снимите все галочки кроме раздела « CUDA »( Рисунок 7 ).
Рисунок 7 — Параметры установки CUDA 10.
Нажмите далее и на следующей странице оставьте все пути по умолчанию. Дождитесь завершения установки.
5. Распаковка cuDNN .
Распакуйте архив cuDNN в удобное место и внести в переменную PATH путь до папки bin с библиотекой cudnn64_7.dll.
6. Установка Tensorflow .
В командной строке введите
pip install --upgrade tensorflow-gpu==1.13.2
Начнется установка Tensorflow . По завершению в командной строке введите
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
Если команда выполнилась без ошибок, значит Tensorflow установлен правильно и готов к работе.
Возможные проблемы
Проблемы могут быть связаны в первую очередь с тем, что не все библиотеки видны. Убедитесь что в переменной среды PATH прописаны пути до скриптов и исполняемого файла Python «\Python\Python36\Scripts\» и » \Python\Python36\ «. Прописан путь до папки из пакета cuDNN «\cuda\bin». Прописаны пути до набора инструментов CUDA «\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin» и «\ NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp». Так же работоспособность может быть нарушена, если отсутствует соответствующий распространяемый пакет visual C++ для Visual Studio(в нашем случае 2015).
- ← Nlp. Вложения
- Установка TensorFlow на Ubuntu 18.04/CUDA/TensorRT →
Как узнать, какая версия TensorFlow установлена в моей системе?
Это зависит от того, как вы установили TensorFlow. Я собираюсь использовать те же заголовки, что и инструкции по установке TensorFlow, чтобы структурировать этот ответ.
Установка пистолета
python -c 'import tensorflow as tf; print(tf.__version__)' # for Python 2 python3 -c 'import tensorflow as tf; print(tf.__version__)' # for Python 3
Обратите внимание, что python символически привязан к /usr/bin/python3 в некоторых дистрибутивах Linux, поэтому используйте python вместо python3 в этих случаях. pip list | grep tensorflow для Python 2 или pip3 list | grep tensorflow для Python 3 также будет показана версия Tensorflow.
Установка Virtualenv
python -c 'import tensorflow as tf; print(tf.__version__)' # for both Python 2 and Python 3
pip list | grep tensorflow также покажет версию Tensorflow. Например, я установил TensorFlow 0.9.0 в virtualenv для Python 3. Итак, я получаю:
$ python -c 'import tensorflow as tf; print(tf.__version__)' 0.9.0 $ pip list | grep tensorflow tensorflow (0.9.0)
Установка TensorFlow в Ubuntu 20.04
Программная библиотека машинного обучения TensorFlow с открытым исходным кодом используется для обучения нейросетей. Каждый узел графика отражает операции, выполняемые нейросетями в многомерных массивах, в форме графиков потока данных с сохранением состояния. Эти многомерные массивы часто называют тензорами, и отсюда идет название библиотеки TensorFlow.
В этом обучающем модуле мы выполним установку TensorFlow в виртуальной среде Python с помощью virtualenv . Этот подход изолирует установку TensorFlow и позволяет быстро начать работу. После завершения установки вы сможете проверить ее посредством импорта Tensorflow, чтобы убедиться в отсутствии ошибок.
Предварительные требования
Для прохождения этого обучающего модуля вам потребуется следующее:
- Один сервер Ubuntu 20.04 с не менее 4 Гбайт оперативной памяти, настроенный в соответствии с руководством по начальной настройке сервера Ubuntu 20.04, включая пользователя без прав root с привилегиями sudo и брандмауэр.
- Python версии 3.8 или выше с установленной средорй virtualenv . Следуйте указаниям руководства по установке Python 3 в Ubuntu 20.04 для настройки Python и virtualenv .
Шаг 1 — Создание среды программирования
На этом шаге мы создадим виртуальную среду для установки в нее TensorFlow без ущерба для других проектов программирования. Если у вас уже имеется готовая настроенная среда программирования, вы можете пропустить этот шаг.
Для начала создайте каталог проекта. Для демонстрационных целей мы присвоим ему имя tf-demo , но вы можете выбрать другое имя каталога, имеющее для вас значение:
Перейдите в созданный каталог tf-demo :
Затем создайте новую виртуальную среду с именем tensorflow-dev или другим похожим именем. Запустите следующую команду для создания среды:
Эта команда создает новый каталог tensorflow-dev , который будет содержать все пакеты, устанавливаемые в период активации этой среды. Также он содержит pip и отдельную версию Python.
Активируйте вашу виртуальную среду:
После активации в командной строке терминала будет показано, что вы находитесь в виртуальной среде:
(tensorflow-dev)username@hostname:~/tf-demo $
Теперь вы можете установить TensorFlow в вашей виртуальной среде.
Шаг 2 — Установка TensorFlow
При установке TensorFlow нужно убедиться, что мы выполняем установку и обновление до самой новой версии, доступной в PyPi.
Поэтому мы будем использовать следующий синтаксис команды pip:
После нажатия ENTER TensorFlow выполнит установку, и вы получите вывод, указывающий, что установка со всеми зависимыми пакетами была успешно выполнена.
Output. Successfully installed absl-py-0.7.1 astor-0.7.1 gast-0.2.2 grpcio-1.19.0 h5py-2.9.0 keras-applications-1.0.7 keras-preprocessing-1.0.9 markdown-3.0.1 mock-2.0.0 numpy-1.16.2 pbr-5.1.3 protobuf-3.7.0 setuptools-40.8.0 tensorboard-1.13.1 tensorflow-1.13.1 tensorflow-estimator-1.13.0 termcolor-1.1.0 werkzeug-0.15.0 wheel-0.33.1 . 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
Вы можете отключить виртуальную среду в любое время с помощью следующей команды:
Чтобы повторно активировать среду позднее, перейдите в каталог проекта и запустите команду source tensorflow-dev /bin/activate .
Мы установили TensorFlow, а теперь проверим работу установленной версии TensorFlow.
Шаг 3 — Проверка установки
Чтобы проверить установку TensorFlow, мы проверим возможность импортирования пакета TensorFlow.
На вашем терминале появится следующая командная строка:
Это командная строка для интерпретатора Python, указывающая, что вы можете начать ввод некоторых выражений Python.
Для начала введите эту строку, чтобы импортировать пакет TensorFlow и сделать его доступным как локальную переменную tf . Нажмите ENTER после ввода строки кода:
Если вы не получите сообщений об ошибках, это означает, что вы успешно установили TensorFlow. Если получили сообщение об ошибке, проверьте, имеет ли ваш сервер достаточно ресурсов для работы TensorFlow. Возможно, вам потребуется увеличить объем ресурсов сервера и убедиться, что на нем есть не менее 4 Гбайт оперативной памяти.
Заключение
В этом обучающем модуле мы выполнили установку TensorFlow в виртуальной среде Python и проверили работу TensorFlow, выполнив импорт.
Руководство программиста по TensorFlow — это полезный ресурс и справочник для разработчиков, использующих TensorFlow. Также вы можете изучить конкурирующую среду Kaggle для практического применения концепций машинного обучения, чтобы получить преимущество перед другими энтузиастами машинного обучения, аналитики данных и статистики.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.