[PYTHON] Construction de l'environnement Ubuntu14.04 + GPU + TensorFlow

Aperçu

Je pense qu'il y a beaucoup de gens qui ont du mal à créer l'environnement d'Ubuntu14.04LTS + GPU + TensorFlow.

Si vous souhaitez utiliser TensorFlow avec un lecteur GPU, Ubuntu 14.04 est le premier OS candidat, mais si vous ne le définissez pas avec soin, le GPU ne sera pas reconnu ou le tensorboard ne sera pas affiché correctement, et il y a beaucoup de bogues. Tu rencontreras. Maintenant que nous avons construit un environnement qui peut tirer pleinement parti de la version GPU de TensorFlow, je voudrais garder un enregistrement afin que personne n'ait de difficulté à créer l'environnement de la même manière.

Certaines des erreurs rencontrées ・ Si vous n'avez pas les mêmes versions de CUDA et cuDNN, cela ne fonctionnera pas. -Il ne fonctionne que si le pilote NVIDIA est installé "correctement" sur la dernière version (le pilote OSS par défaut interfère) ・ Tensorboard ne peut pas être utilisé lorsque TensorFlow ver.7 est installé avec pip. ・ Certaines parties de tensorboard ne peuvent pas être utilisées dans Firefox ・ Occurrence d'un bogue appelé boucle de connexion Ubuntu

environnement d'utilisation ・ Système d'exploitation: Ubuntu14.04LTS ・ GPU: NVIDIA GeForce Titan · Python 2.7 ・ TensorFlow: Version master (à partir du 18 juin 2016) ・ CUDA 7.5 ・ CuDNN 4.0.7

table des matières

  1. Installez Ubuntu 14.04
  2. Installez le pilote NVIDIA
  3. Installation de CUDA et cuDNN
  4. Installez TensorFlow
  5. Test d'exécution TensorFlow

1. Installez Ubuntu 14.04 LTS

Nettoyez l'installation du système d'exploitation et recommencez à zéro.

Le système d'exploitation initial est également supposé être Ubuntu. Téléchargez l'image iso ubuntu-ja-14.04-desktop-amd64.iso depuis ici. Insérez la mémoire USB et utilisez l'application "Créer un disque de démarrage" pour créer un disque. Redémarrez et appuyez sur F2 lorsque l'écran de démarrage ASUS apparaît pour accéder à l'installation d'Ubuntu.

2. Installez le pilote NVIDIA

Vérifiez le GPU NVIDIA

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK110 [GeForce GTX Titan](rev a1)
$ 

Ensuite, recherchez et téléchargez le pilote qui vous convient depuis ici.


$ ls ~/Downloads
NVIDIA-Linux-x86_64-367.27.run
$ mv ~/Downloads/NVIDIA-Linux-x86_64-367.27.run ~

Appuyez ensuite sur Ctrl + Alt + F1 pour entrer en mode console et procédez comme suit.

$ sudo apt-get purge nvidia*
$ sudo service lightdm stop
$ sudo chmod 755 ~/Downloads/NVIDIA-Linux-x86_64-367.27.run
$ sudo ~/Downloads/NVIDIA-Linux-x86_64-367.27.run

Lorsque vous l'exécutez, diverses choses commencent, mais en gros vous répondez oui et continuez. Enfin redémarrez et vérifiez qu'il démarre normalement.

3. Installation de CUDA et cuDNN

Téléchargez cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb depuis CUDA7.5 ici.

Vous devez vous inscrire en tant que développeur nvidia sur le site cuDNN4.0.7 ici. L'inscription prend environ une journée. Après avoir obtenu un compte, connectez-vous, répondez au questionnaire et téléchargez cudnn-7.0-linux-x64-v4.0-prod.tgz à partir du lien cuDNN v4 Library for Linux.

$ cd ~
$ ls ~/Downloads
cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb  cudnn-7.0-linux-x64-v4.0-prod.tgz 
$ mv ~/Downloads/* ~
Installation de CUDA
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
Installation de cuDNN
$ tar xvzf cudnn-7.0-linux-x64-v4.0-prod.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

Traverser. Ajoutez les deux lignes suivantes à ~ / .bashrc et enregistrez

~/.bashrc



export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda

Refléter les paramètres


$ . ~/.bashrc

4. Installez TensorFlow

Ici, installez la dernière version stable: master. Installez d'abord ce dont vous avez besoin, puis installez pip

$ cd ~
$ sudo apt-get install python-pip python-dev
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

5. Test d'exécution TensorFlow

Contrôle de fonctionnement minimum. Vérifiez que TensorFlow est correctement installé.

$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
..
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
>>> 

Confirmez que le GPU est correctement reconnu.


>>> sess=tf.Session()
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties: 
name: GeForce GTX TITAN
major: 3 minor: 5 memoryClockRate (GHz) 0.8755
pciBusID 0000:01:00.0
Total memory: 6.00GiB
Free memory: 5.92GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:755] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN, pci bus id: 0000:01:00.0)
>>> 

Enfin, confirmez l'exécution du tensorboard. Cet article est un très bon tutoriel, alors enregistrez et exécutez le premier code.


$ vim tensorboard_test.py

tensorboard_test.py



import tensorflow as tf
import numpy as np

WW = np.array([[0.1, 0.6, -0.9], 
               [0.2, 0.5, -0.8], 
               [0.3, 0.4, -0.7],
               [0.4, 0.3, -0.6],
               [0.5, 0.2, -0.5]]).astype(np.float32)
bb = np.array([0.3, 0.4, 0.5]).astype(np.float32)
x_data = np.random.rand(100,5).astype(np.float32)
y_data = np.dot(x_data, WW) + bb

with tf.Session() as sess:

    W = tf.Variable(tf.random_uniform([5,3], -1.0, 1.0))
    # The zeros set to zero with all elements.
    b = tf.Vari......
  
C'est impoli de mettre tout le code, alors je vais l'omettre
Voir l'article ci-dessus


Exécution et son résultat.


$ python tensorboard_test.py 
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties: 
name: GeForce GTX TITAN
major: 3 minor: 5 memoryClockRate (GHz) 0.8755
pciBusID 0000:01:00.0
Total memory: 6.00GiB
Free memory: 5.92GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:755] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN, pci bus id: 0000:01:00.0)
WARNING:tensorflow:Passing a `GraphDef` to the SummaryWriter is deprecated. Pass a `Graph` object instead, such as `sess.graph`.
step = 0 acc = 3.11183 W = [[-0.82682753 -0.91292477  0.78230977]
 [ 0.43744874  0.24931121  0.13314748]
 [ 0.85035491 -0.87363863 -0.81964874]
 [-0.92295122 -0.27061844  0.15984011]
 [ 0.33148074 -0.4404459  -0.92110634]] b = [ 0.  0.  0.]
step = 10 acc = 0.127451 W = [[-0.44663835 -0.09265515  0.30599359]
 [ 0.56514043  0.63780373 -0.12373373]
....

Après l'exécution, un dossier appelé / tmp / tensorflow_log est créé. Visualisez cet apprentissage avec la commande tensorboard. Succès s'il ressemble à celui ci-dessous. Lorsque http://0.0.0.0:6006 est affiché sur le navigateur, tensorboard démarre. Cependant, il a été confirmé que Firefox ne peut pas voir la page Graph de Tensorboard, utilisez donc Google Chrome, etc.


$ tensorboard --logdir=/tmp/tensorflow_log
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Starting TensorBoard 16 on port 6006
(You can navigate to http://0.0.0.0:6006)

Screenshot from 2016-06-19 22:16:22.png


Article de référence

Recommended Posts

[Ubuntu 18.04] Construction de l'environnement Tensorflow 2.0.0-GPU
Construction de l'environnement Ubuntu14.04 + GPU + TensorFlow
Construction d'environnement Python et TensorFlow
[Tensorflow] Construction de l'environnement Tensorflow sous Windows 10
[Construction de l'environnement] @anaconda qui exécute keras / tensorflow sur GPU
Construction d'environnement Python (pyenv, anaconda, tensorflow)
De Ubuntu 20.04 introduction à la construction d'environnement
Construction de l'environnement Python3 TensorFlow pour Mac
Mémo de construction de l'environnement de développement Ubuntu Desktop 20.04
Créer un environnement pour "Tello_Video" sur Ubuntu
Construction d'environnements OpenCV3 et Python3 sur Ubuntu
Construction de l'environnement Django
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Construction de l'environnement DeepIE3D
Construction d'environnement basée sur Emacs
Construction de l'environnement Linux
Construction d'environnement de Tensorflow et Chainer par Window avec CUDA (avec GPU)
Construction d'environnement (python)
J'ai essayé d'installer TensorFlow (version GPU) sur Ubuntu
Construction de l'environnement CodeIgniter
Python - Construction de l'environnement
Procédure de construction de l'environnement: Ubuntu + Apache2 + Python + Pyramid
Construction de l'environnement Python
Construction de l'environnement Golang
Construction de l'environnement de word2vec
Jusqu'à ce que l'environnement Deep Learning (TensorFlow) utilisant le GPU soit préparé pour Ubuntu 14.04
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
[0] Construction de l'environnement TensorFlow-GPU avec Anaconda sur Ubuntu
Construction de l'environnement Python 3.x par Pyenv (CentOS, Ubuntu)
Installez TensorFlow sur Ubuntu
Construction de l'environnement: GCP + Docker
Construction de l'environnement du projet Django
Mémo de construction de l'environnement ConoHa
construction d'environnement python homebrew
Construction d'environnements liés à PyData
Construction de l'environnement Anaconda-4.2.0-python3 (Mac)
Construction de l'environnement de développement Python
Construction de l'environnement YOLO v4 ①
Activer le GPU pour tensorflow
construction de l'environnement pyenv + fish
Construction du serveur Web Ubuntu (18.04.3)
Construction de l'environnement de développement python2.7
Mémo de construction de l'environnement BigGorilla
construction de l'environnement de préhension onCentOS6.5
Mémo de construction de l'environnement Anaconda
Construction de l'environnement Golang [goenv]
Construction de l'environnement Pyxel (Mac)
Construction de l'environnement Python @ Win7
Création d'un environnement TensorFlow qui utilise des GPU sous Windows 10
[Introduction à RasPi4] Construction de l'environnement; OpenCV / Tensorflow, entrée japonaise ♪
Construction de l'environnement Python + Anaconda + Pycharm
À propos de la construction de l'environnement Linux (CentOS)
Construction de l'environnement Anaconda sur CentOS7
Mémo de construction de l'environnement de développement Django
Introduction de Tensorflow (environnement Win / Anaconda)
Construction de l'environnement Python (Windows10 + Emacs)
[Memo] Construction de l'environnement cygwin