[PYTHON] Aufbau der Ubuntu14.04 + GPU + TensorFlow-Umgebung

Überblick

Ich denke, es gibt viele Leute, denen es schwer gefallen ist, die Umgebung für Ubuntu14.04LTS + GPU + TensorFlow aufzubauen.

Wenn Sie TensorFlow mit GPU-Laufwerk verwenden möchten, ist Ubuntu 14.04 der erste Betriebssystemkandidat. Wenn Sie es jedoch nicht sorgfältig einstellen, wird die GPU nicht erkannt oder das Tensorboard wird nicht richtig angezeigt, und es gibt viele Fehler. Du wirst treffen. Nachdem wir eine Umgebung erstellt haben, die die GPU-Version von TensorFlow voll ausnutzen kann, möchte ich Aufzeichnungen führen, damit niemand Probleme beim Erstellen der Umgebung auf die gleiche Weise hat.

Einige der aufgetretenen Fehler ・ Wenn Sie nicht dieselben Versionen von CUDA und cuDNN haben, funktioniert dies nicht. -Es funktioniert nur, wenn der NVIDIA-Treiber in der neuesten Version "korrekt" installiert ist (der Standard-OSS-Treiber steht im Weg). ・ Tensorboard kann nicht verwendet werden, wenn TensorFlow Version 7 mit Pip installiert ist. ・ Einige Teile des Tensorboards können in Firefox nicht verwendet werden ・ Auftreten eines Fehlers namens Ubuntu-Anmeldeschleife

Nutzungsumgebung ・ Betriebssystem: Ubuntu14.04LTS ・ GPU: NVIDIA GeForce Titan · Python 2.7 ・ TensorFlow: Versionsmaster (Stand 18. Juni 2016) ・ CUDA 7.5 ・ CuDNN 4.0.7

Inhaltsverzeichnis

  1. Installieren Sie Ubuntu 14.04
  2. Installieren Sie den NVIDIA-Treiber
  3. Installation von CUDA und cuDNN
  4. Installieren Sie TensorFlow
  5. TensorFlow-Ausführungstest

1. Installieren Sie Ubuntu 14.04 LTS

Installieren Sie das Betriebssystem sauber und beginnen Sie von vorne.

Das ursprüngliche Betriebssystem wird ebenfalls als Ubuntu angenommen. Laden Sie das ISO-Image ubuntu-ja-14.04-desktop-amd64.iso von [hier] herunter (https://www.ubuntulinux.jp/download/ja-remix). Schließen Sie den USB-Speicher an und erstellen Sie mit der App "Create Startup Disk" eine Startdiskette. Starten Sie neu und drücken Sie F2, wenn der ASUS-Startbildschirm angezeigt wird, um die Ubuntu-Installation aufzurufen.

2. Installieren Sie den NVIDIA-Treiber

Überprüfen Sie die NVIDIA-GPU

$ 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)
$ 

Suchen Sie als Nächstes den Treiber, der zu Ihnen passt, und laden Sie ihn von [hier] herunter (http://www.nvidia.co.jp/Download/index.aspx?lang=jp).


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

Drücken Sie dann Strg + Alt + F1, um den Konsolenmodus aufzurufen, und gehen Sie wie folgt vor.

$ 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

Wenn Sie es ausführen, beginnen verschiedene Dinge, aber im Grunde antworten Sie mit Ja und fahren fort. Starten Sie abschließend neu und überprüfen Sie, ob es normal startet.

3. Installation von CUDA und cuDNN

Laden Sie cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb von CUDA7.5 [hier] herunter (https://developer.nvidia.com/cuda-downloads).

Sie müssen sich als nvidia-Entwickler auf der Website cuDNN4.0.7 hier registrieren. Die Registrierung dauert ungefähr einen Tag. Nachdem Sie ein Konto erhalten haben, melden Sie sich an, beantworten Sie den Fragebogen und laden Sie cudnn-7.0-linux-x64-v4.0-prod.tgz von der Verbindung cuDNN v4 Library for Linux herunter.

$ 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/* ~
CUDA-Installation
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
CuDNN installieren
$ 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*

Durchlaufen. Fügen Sie die folgenden zwei Zeilen zu ~ / .bashrc hinzu und speichern Sie

~/.bashrc



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

Reflektieren Sie die Einstellungen


$ . ~/.bashrc

4. Installieren Sie TensorFlow

Installieren Sie hier die neueste stabile Version: master. Installieren Sie zuerst das, was Sie brauchen, und dann die Pip-Installation

$ 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. TensorFlow-Ausführungstest

Minimale Funktionsprüfung. Stellen Sie sicher, dass TensorFlow korrekt installiert ist.

$ 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
>>> 

Stellen Sie sicher, dass die GPU korrekt erkannt wird.


>>> 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)
>>> 

Bestätigen Sie abschließend die Ausführung des Tensorboards. Dieser Artikel ist ein sehr gutes Tutorial. Speichern Sie also den ersten Code und führen Sie ihn aus.


$ 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......
  
Es ist unhöflich, den gesamten Code einzufügen, also werde ich ihn weglassen
Siehe den obigen Artikel


Ausführung und deren Ergebnis.


$ 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]
....

Nach der Ausführung wird ein Ordner mit dem Namen / tmp / tensorflow_log erstellt. Visualisieren Sie dieses Lernen mit dem Befehl tensorboard. Erfolg, wenn es so aussieht wie unten. Wenn http://0.0.0.0:6006 im Browser angezeigt wird, wird das Tensorboard gestartet. Es wurde jedoch bestätigt, dass Firefox die Grafikseite von Tensorboard nicht sehen kann. Verwenden Sie daher Google Chrome usw.


$ 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


Referenzartikel

Recommended Posts

[Ubuntu 18.04] Aufbau einer Tensorflow 2.0.0-GPU-Umgebung
Aufbau der Ubuntu14.04 + GPU + TensorFlow-Umgebung
Python-Umgebungskonstruktion und TensorFlow
[Tensorflow] Aufbau der Tensorflow-Umgebung unter Windows 10
[Umgebungskonstruktion] @anaconda, die Keras / Tensorflow auf der GPU ausführt
Python-Umgebungskonstruktion (Pyenv, Anaconda, Tensorflow)
Ab Ubuntu 20.04 Einführung in die Umgebungskonstruktion
Python3 TensorFlow für Mac-Umgebungskonstruktion
Konstruktionsnotiz für die Ubuntu Desktop 20.04-Entwicklungsumgebung
Erstellen einer Umgebung für "Tello_Video" unter Ubuntu
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Django Umweltbau
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
DeepIE3D-Umgebungskonstruktion
Emacs-basierte Umgebungskonstruktion
Aufbau einer Linux-Umgebung
Umgebungskonstruktion von Tensorflow und Chainer durch Fenster mit CUDA (mit GPU)
Umgebungskonstruktion (Python)
Ich habe versucht, TensorFlow (GPU-Version) unter Ubuntu zu installieren
CodeIgniter-Umgebungskonstruktion
Python - Umgebungskonstruktion
Verfahren zur Erstellung der Umgebung: Ubuntu + Apache2 + Python + Pyramid
Aufbau einer Python-Umgebung
Golang Umweltbau
Umgebungskonstruktion von word2vec
Bis die Deep Learning-Umgebung (TensorFlow) mit GPU für Ubuntu 14.04 vorbereitet ist
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
[0] TensorFlow-GPU-Umgebungskonstruktion, die mit Anaconda unter Ubuntu erstellt wurde
Python 3.x-Umgebungskonstruktion von Pyenv (CentOS, Ubuntu)
Installieren Sie TensorFlow unter Ubuntu
Umgebungskonstruktion: GCP + Docker
Bau der Django-Projektumgebung
ConoHa Umweltbau Memo
Homebrew Python Umgebung Konstruktion
PyData-bezogene Umgebungskonstruktion
Aufbau einer Anaconda-4.2.0-Python3-Umgebung (Mac)
Aufbau einer Python-Entwicklungsumgebung
YOLO v4 Umgebungskonstruktion ①
Aktivieren Sie die GPU für den Tensorflow
Bau von Pyenv + Fischumwelt
Ubuntu (18.04.3) Webserverkonstruktion
python2.7 Konstruktion der Entwicklungsumgebung
BigGorilla Umwelt Bau Memo
Griffumgebungskonstruktion onCentOS6.5
Anaconda Umwelt Bau Memo
Golang Umweltbau [goenv]
Pyxel-Umgebungskonstruktion (Mac)
Python-Umgebungskonstruktion @ Win7
Erstellen einer TensorFlow-Umgebung, die GPUs unter Windows 10 verwendet
[Einführung in RasPi4] Umgebungskonstruktion; OpenCV / Tensorflow, japanische Eingabe ♪
Python + Anaconda + Pycharm-Umgebungskonstruktion
Informationen zum Aufbau einer Linux-Umgebung (CentOS)
Anaconda-Umgebungskonstruktion auf CentOS7
Django Entwicklungsumgebung Bau Memo
Einführung von Tensorflow (Win / Anaconda-Umgebung)
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
[Memo] Bau einer Cygwin-Umgebung