Январь 2019: обновление до TensorFlow r1.13, CPU или nVidia GPU, CUDA 10, cuDNN 7.4.
Пакеты pip TensorFlow являются общими двоичными файлами и могут не использовать ваш процессор в полной мере. Это пошаговое руководство по настройке настраиваемой оптимизированной установки TensorFlow (CPU или nVidia GPU с CUDA 10) в Ubuntu 18. Мы постараемся упростить задачу, а также вы сможете обновить TensorFlow и CUDA до более новых версий. с минимальными усилиями.
Прежде всего, давайте откроем терминал и обновим вашу ОС:
sudo apt update sudo apt dist-upgrade
После этого вашей системе может потребоваться перезагрузка. Если вы не уверены, я рекомендую вам это сделать. Затем давайте установим некоторые необходимые пакеты Ubuntu:
sudo apt install git openjdk-8-jdk curl
Теперь, в зависимости от того, хотите ли вы установить тензорный поток python3 или python2 (вам может понадобиться стенд, я рекомендую Python 3.x):
Для Python3:
sudo apt install python3-dev python3-pip python3-numpy
Для Python2:
sudo apt install python-dev python-pip python-numpy
TensorFlow использует систему сборки Google’s Bazel. Мы вручную установим Bazel 0.19.2 для TensorFlow r1.13, потому что TensorFlow чувствителен к версиям Bazel:
sudo apt install pkg-config zip g++ zlib1g-dev unzip
wget https://github.com/bazelbuild/bazel/releases/download/0.19.2/bazel-0.19.2-installer-linux-x86_64.sh
chmod +x bazel-0.19.2-installer-linux-x86_64.sh
sudo ./bazel-0.19.2-installer-linux-x86_64.sh
Bazel требует много ресурсов при сборке TensorFlow, мы увеличим ваш файл подкачки до 16 ГБ, чтобы избежать проблем:
sudo swapoff /swapfile
sudo fallocate -l 16G /swapfilesudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
Теперь давайте загрузим исходный код TensorFlow с GitHub, git создаст каталог с именем tensorflow. Запустить:
git clone https://github.com/tensorflow/tensorflow.git cd tensorflow git checkout r1.13
В зависимости от того, нужна ли вам поддержка графического процессора или нет, следуйте одному из следующих двух разделов:
Вариант 1: CPU TensorFlow:
Выполните следующую команду:
./configure
Вас спросят о местонахождении питона. Ответьте / usr / bin / python3 или / usr / bin / python2 в зависимости от того, что вы хотите.
Поскольку поддержка графического процессора не требуется, вы можете просто нажать Enter, чтобы установить значения по умолчанию для остальных параметров. После этого вы готовы создать пакет pip:
bazel build --config=opt --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package
Теперь перейдите в раздел Последние штрихи.
Вариант 2: GPU TensorFlow (nVidia):
При запуске ./configure обратите внимание, пока он не запросит поддержку CUDA, введите y, вы можете нажать Enter (по умолчанию) для остальной части материала .
Далее мы установим среды выполнения и библиотеки CUDA и CuDNN, у nVidia есть репозиторий, ожидающий загрузки всех необходимых пакетов:
https://developer.nvidia.com/cuda-downloads
Загрузите пакет deb (network), перейдите к расположению файла и установите пакет cuda:
sudo dpkg -i cuda-repo* sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo apt-get update sudo apt-get install cuda
Это может занять некоторое время, поскольку его размер составляет около 4 ГБ. Скачиваем cuDNN сейчас:
Https://developer.nvidia.com/cuDNN
Вам нужно будет войти в систему или создать учетную запись nVidia для этого шага, не волнуйтесь, это бесплатно. Из Загрузите cuDNN v7.4.2 (14 декабря 2018 г.) для CUDA 10.0 вам потребуется:
Библиотека времени выполнения cuDNN для Ubuntu18.04 (Deb)
а также
Библиотека разработчика cuDNN для Ubuntu18.04 (Deb)
Загрузите оба пакета. Вы можете найти более новые версии, ничего страшного.
Дождитесь завершения процесса установки cuda, затем установите cuDNN:
sudo dpkg -i libcudnn7_7* sudo dpkg -i libcudnn7-*
Пора перезагрузить компьютер… Если у вас был ранее установлен драйвер nVidia, возможно, вам потребуется перезагрузить пару раз.
Олрай! Теперь у вас есть драйверы, библиотеки и заголовки. Посмотрите, что происходит с драйвером nVidia:
nvidia-smi
Теперь вернитесь в каталог tensorflow и запустите:
./configure
Вас спросят о местонахождении питона. Ответьте / usr / bin / python3 или / usr / bin / python2 в зависимости от того, что вы хотите.
Введите y, когда вас спросят о поддержке CUDA.
Вам нужно будет указать желаемый уровень вычислений CUDA. Значение по умолчанию (6.1) предназначено для аппаратного обеспечения Pascal. Ознакомьтесь с этой таблицей для справки:
Https://developer.nvidia.com/cuda-gpus
Вы можете безопасно использовать значения по умолчанию для остальных параметров конфигурации (нажмите Enter).
Почти готово… Пора запускать базел:
bazel build --config=opt --config=cuda --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package
Последние штрихи
Для завершения сборки Bazel может потребоваться время (часы). Закройте все, что можно на своем компьютере, чтобы освободить оперативную память, и не теряйте рассудок, если на пару минут он будет зависать. Удачи!
Если живы, беги:
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
Поздравляю! Ваш пакет pip готов! Идите и установите его:
Для Python2:
pip2 install --upgrade --force-reinstall
/tmp/tensorflow_pkg/tensorflow*.whl
Для Python3:
pip3 install --upgrade --force-reinstall
/tmp/tensorflow_pkg/tensorflow*.whl
Теперь вы можете выйти из каталога tensorflow и протестировать новую установку:
Для Python2:
cd ..
python2 -c 'import tensorflow as tf; print(tf.__version__)'
Для Python3:
cd ..
python3 -c 'import tensorflow as tf; print(tf.__version__)'
Отлично! Я очень надеюсь, что у вас все получилось. Спасибо за внимание и наслаждайтесь.
Приложение: Обновления
CUDA и cuDNN обновятся с помощью apt. Вы можете повторить шаги из ./configure и далее, чтобы обновить установку TensorFlow после обновления репозитория git:
cd tensorflow git pull git checkout r1.14 # example ./configure # etc.