Установка Tensorflow
О технологиях

Установка Tensorflow

4737
7 минут

Захотелось нам на днях копнуть глубже в сторону Machine и Deep Learning. Поэтому в ближайшее время в блоге будет какое-то количество статей, посвященных этой теме.

А начнем мы с вами с того, что подготовим рабочее окружение, в котором будем проводить все наши эксперименты! В этой статье речь пойдет об установке:

  • TensorFlow
  • Pandas
  • Jupyter
  • matplotlib
  • scikit-learn

Установку всего необходимого можно проводить у себя на рабочей станции в виртуальной машине, а также в Google Cloud или AWS. Преимущество последних в том, что они предоставляют виртуальные машины с GPU, что существенно ускорит обработку больших объемов данных и вычислений. Пока что нам это не нужно, поэтому можно смело обойтись локальной виртуальной машиной. Итак, поехали!


Установка Jupyter

Итак, как я уже писал в статье «Jupyter Notebook — прототипирование облачной автоматизации на Python», использовать Jupyter Notebook-и в процессе разработки очень удобно, т.к. каждый блок кода можно повторить в произвольном порядке столько раз, сколько нужно. Более того, всегда есть возможность наглядно посмотреть на типы данных или построить нужный график для визуализации вычислений или зависимостей между обрабатываемыми объектами.

Установка Jupyter очень проста, делать мы это будем в CentOS 7


sudo yum -y install python-pip
sudo yum -y groupinstall 'Development Tools'
sudo pip install virtualenv

sudo pip install jupyter

cd ~/
mkdir analysis # директория для хранения Notebook-ов

После того, как установка закончится, необходимо настроить на постоянный запуск Jupyter сервер. Для этого вам необходимо сгенерировать хеш пароля для доступа к серверу. Это особенно актуально, если вы устанавливаете Jupyter в виртуальной машине в облаке Google или Amazon. Для этого выполните:

python

Далее необходимо сгенерировать сам пароль:

from notebook.auth import passwd
passwd()

Введите нужный вам пароль и сохраните строку вида ’sha1:’ куда-нибудь в текстовый файл.

Далее сгенерируем конфигурационный файл для Jupyter сервера:

jupyter notebook --generate-config

Вывод команды покажет вам, куда именно записался конфигурационный файл по-умолчанию. Отредактируйте его, изменив следующие опции:

c.NotebookApp.password = 'sha1:'
c.NotebookApp.port = 8888
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False

Далее, необходимо прописать старт Jupyter в качестве сервиса. Создайте файл /etc/systemd/system/multi-user.target.wants/jupyter.service следующего содержания:

[Unit]
Description=Jupyter Notebook

[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/usr/bin/jupyter notebook --config=/home/centos/.jupyter/jupyter_notebook_config.py
User=centos
Group=centos
WorkingDirectory=/home/centos/analysis
Restart=always
RestartSec=10
#KillMode=mixed

[Install]
WantedBy=multi-user.target

Убедитесь, что в строчке, начинающейся с ExecStart, указан правильный путь до Jupyter и правильный путь до сгенерированного вами конфигурационного файла, в качестве пользователя и группы прописаны пользователь и группа, с которыми вы получаете доступ к виртуальной машине, а в качестве рабочей директории (WorkingDirectory) указана существующая директория, в которой будут храниться ваши Notebook-и.

Обновите конфигурацию systemd

systemctl daemon-reload

Запустите Jupyter:

systemctl status jupyter

Проверьте, что запуск прошел успешно, выполнив команду:

systemctl status jupyter

Подключитесь к серверу Jupyter, используя IP-адрес вашей виртуальной машины, порт 8888 и сгенерированный вами пароль.

Установка Tensorflow

Установка TensorFlow выполняется чуть более просто, чем Jupyter. Процесс установки буквально на все случаи жизни описан в официальной документации. Но все, что вам нужно сделать прямо сейчас, это выполнить команды

sudo pip install tensorflow # установка без поддержки GPU
sudo pip install tensorflow-gpu # если вам нужна поддержка GPU

После этого у вас будет возможность проверить работу TensorFlow, написав в NoteBook-е простенький сценарий:


import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

Выполнив который вы увидите в качестве вывода Hello, TensorFlow!.

Установка Pandas

Установка Pandas, который вероятнее всего потребуется вам в процессе экспериментов, выполняется как обычно:

sudo pip install pandas

Установка Matplotlib

И наконец осталось установить Matplotlib:


sudo pip install matplotlib

Установка Scikit-Learn

Еще одним жизненно-необходимым компонентом, который необходимо иметь обязательно, является scikit-learn. Доставим его так же, как и остальные зависимости:


sudo pip install scikit-learn
19 февраля 2024
Nextcloud: вы еще не обновили корпоративный файлообменник? Тогда приходите к нам
Свободный, но надежный и безопасный обмен деловой информацией внутри компании и с внешними контрагентами очень важен для любого бизнеса. Многие компании полагались в организации такого обмена на зарубежные продукты и в последнее время активно переезжают на их российские и open source аналоги.
1 минута
319
19 февраля 2024
Cloud Security Services: безопасное облако для бизнеса
По данным из открытых источников, 9 из 10 опрошенных российских компаний с выручкой от 15 млрд руб. в год активно используют облачные сервисы. Но вместе с востребованностью облачной модели возрастает и обеспокоенность бизнеса: можно ли в облаке выстроить надежную защиту данных?
1 минута
238
2 февраля 2024
1С в облаке: путеводитель по инфраструктуре

Системы управления предприятием на базе 1С – сегодня почти безальтернативный вариант для российских компаний, когда речь идет о внедрении или модернизации ERP.

Для таких проектов нужна надежная, производительная и масштабируемая инфраструктура, а также высокий уровень профессиональных компетенций. Эти ресурсы часто в дефиците, поэтому бизнес все активнее доверяет развертывание приложений 1С облачным провайдерам.

2 минуты
261
20 ноября 2023
Что такое Kubernetes? Знакомимся с дико популярной платформой контейнерной оркестрации
С появлением микросервисной архитектуры и технологии контейнеризации разработчики и администраторы стали совсем по-другому тестировать и развертывать современное ПО.
1 минута
16085
1 ноября 2023
Незаменимых нет. Сервис на базе Nextcloud вместо привычных корпоративных облаков

Привет, Хабр! Меня зовут Александр Фикс, я менеджер по развитию бизнеса КРОК Облачные сервисы. Сегодня поговорим о тренде локализации, о том, что происходит на рынке файлообменников с уходом западных решений и какие альтернативные продукты есть у бизнеса в данный момент.

1 минута
861
scrollup