[PYTHON] Richten Sie AWS (Ubuntu 14.04) für Deep Learning ein (installieren Sie CUDA, cuDNN).

1. Bereiten Sie eine Maschine für Deep Learning unter AWS vor

Ein Linux-Computer mit einer GPU ist für DeepLearning unerlässlich.

Es kostet jedoch Zeit und Geld, eine GPU-Maschine selbst vorzubereiten Lassen Sie uns einfach einen Hochleistungs-Linux-Computer mit AWS (Amazon Web Service) vorbereiten.

1.1. Instanzanforderungen

Nehmen Sie für die Instanz (Computer in AWS) die folgenden Bedingungen an.

In AMI können Sie neben Ubuntu auch Amazon Linux usw. auswählen. Da Probleme häufig im Zusammenhang mit Paketen auftreten, wird empfohlen, normales Ubuntu zu verwenden.

1.2. Sicherheitsgruppeneinstellungen

Standardmäßig sind also nur SSH-Verbindungen zulässig Selbst wenn ich einen Server in AWS einrichte, kann ich nicht darauf zugreifen. Ping fliegt auch nicht.

Konfigurieren Sie die Sicherheitsgruppe für den Zugriff auf Port 8888 des TCP-Protokolls.

1.3 Elastische IP-Einstellungen

AWS erfordert, dass die Instanz für einen Neustart gestoppt wird. Die öffentliche IP ändert sich jedes Mal, wenn ich die Instanz stoppe.

Um die öffentliche IP zu reparieren, registrieren Sie daher die elastische IP und weisen Sie sie der Instanz zu.

1.4. SSH-Verbindung zur Instanz

Laden Sie die SSH-Client-Software [Tera Term] herunter (https://osdn.jp/projects/ttssh2/).

Stellen Sie eine Verbindung zur öffentlichen IP der Instanz her. Wenn Sie einen Schlüssel angeben, der beim Erstellen einer Instanz mit dem Benutzernamen "ubuntu" heruntergeladen werden kann, Legen Sie es in die Konsole der Instanz.

Jetzt als Ubuntu arbeiten.

2. GPU verfügbar machen

Zu diesem Zeitpunkt haben Sie eine Instanz in AWS.

Aber die Instanz g2.2xlarge hat eine GPU, Standardmäßig ist die GPU nicht verfügbar.

Installieren Sie daher Folgendes, um Deep Learning auf der GPU zu aktivieren.

2.1. Treiberinstallation

2.1.1. Paketaktualisierung

Aktualisieren Sie zunächst das Paketverwaltungssystem. Sie können auch apt-get anstelle von aptitude verwenden.

bash


$ sudo aptitude update
$ sudo aptitude -y full-upgrade
$ sudo aptitude install -y build-essential cmake

2.1.2. Stoppt den Jugendstil

Als nächstes möchte ich den Grafiktreiber aktualisieren. Stoppen Sie zunächst den Standard-Grafiktreiber (Nouveau).

Nach dem Erstellen der folgenden Einstellungsdatei

bash:/etc/modprobe.d/blacklist-nouveau.conf


blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

bash:/etc/modprobe.d/nouveau-kms.conf


options nouveau modeset=0

Drücken Sie den Stoppbefehl von Bash.

bash


$ sudo update-initramfs -u

Starten Sie nun die Instanz neu. Mit AWS können Sie also nicht mit dem Befehl reboot neu starten Stoppen Sie die Instanz und starten Sie sie über die AWS-Konsole neu.

2.1.3. Installieren des Grafiktreibers

Laden Sie den Treiber von der [offiziellen NVIDIA-Seite] herunter (http://www.nvidia.co.jp/Download/index.aspx?lang=jp).

Sie können direkt vom Download-Ziel zur Instanz wechseln oder den heruntergeladenen Treiber per Tera Term oder ähnlichem senden.

Verwenden Sie den folgenden Befehl, um den Treiber zu installieren.

bash


$ sudo aptitude install -y linux-image-extra-virtual linux-source linux-headers-`uname -r`
$wget "Treiber".run
$sudo sh "Fahrer".run -a --disable-nouveau

Starten Sie nun die Instanz erneut, um die Treiberinstallation abzuschließen.

2.2 Installation des CUDA-Toolkits

Laden Sie das Repository für cuda von der CUDA Official Page herunter.

Sobald Sie das heruntergeladene Repository aktiviert haben, können Sie cuda von aptitude (apt-get) installieren.

bash


$wget "Repository".deb
$ sudo dpkg -i "Repository"
$ sudo aptitude update
$ sudo aptitude install -y cuda
$ sudo reboot

2.3. CuDNN installieren

2.3.1. CuDNN herunterladen

Laden Sie cuDNN von der NVIDIA-Seite herunter (https://developer.nvidia.com/cudnn). Für diesen Download ist eine Kontoregistrierung erforderlich. Erstellen Sie daher ein entsprechendes Konto.

Da die Archivdatei von cuDNN nicht direkt von wget abgerufen wird, Muss über Tera Term usw. an die Instanz gesendet werden.

bash


$ tar -xvf 『cnDNN』.tgz
$ cd cuda
$ sudo cp include/cudnn.h /usr/local/『cuda-X.X』/include/
$ sudo cp lib64/libcudnn* /usr/local/『cuda-X.X』/lib64
$ sudo ldconfig /usr/local/cuda/lib64

Wenn ldconfig fehlschlägt, löschen Sie die in Konflikt stehende Datei.

2.3.2 Umgebungsvariablen einstellen

Geh zurück nach Hause und schreibe .bashrc neu.

bash


$ cd ~
$ vim .bashrc

~/.bashrc


export PATH=/usr/local/『cuda-X.X』/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/『cuda-X.X』/lib64:$LD_LIBRARY_PATH

Aktivieren Sie abschließend den Inhalt von .bashrc.

bash


$ source .bashrc

2.3.3 Bestätigung der erfolgreichen Installation

Wenn CUDA-Informationen angezeigt werden, geben Sie den folgenden Befehl ein: Die Einstellungen für die GPU sind abgeschlossen.

bash


$ nvcc -V

3. Installieren Sie Python bezogen

Python wird verwendet, um DeepLearning zu implementieren. Um die mathematischen Berechnungsmodule und die Entwicklungsumgebung von Python (Jupyter Notebook) in einem Stapel zusammenzufassen Installieren Sie eine Distribution namens Anaconda.

Darüber hinaus Theano von der Deep Learning Library und Ermöglicht die Verwendung von openCV, einer Bildverarbeitungsbibliothek.

3.1 Installieren Sie Anaconda

bash


$ wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda3-2.4.1-Linux-x86_64.sh
$ bash Anaconda3-2.4.1-Linux-x86_64.sh
$ source .bashrc

Ich habe den Befehl bash verwendet, weil sh nicht funktioniert hat.

3.2. Installieren Sie Theano

bash


$ sudo aptitude install git
$ pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

Wenn Sie Theano direkt mit pip ziehen, ohne git zu durchlaufen, können einige ältere Module einen Fehler auslösen.

3.3. Installieren Sie openCV

Mit Anaconda können Sie openCV auch in einer Zeile installieren.

bash


$ conda install -c https://conda.binstar.org/menpo opencv3

4. GPU-Funktionsprüfung

So überprüfen Sie den Erfolg oder Misserfolg des vorherigen Setups

gpu_check.py


from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

Führen Sie das obige Python-Skript (gpu_check.py) mit dem folgenden Befehl aus.

bash


$ THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python gpu_check.py

Das Ergebnis dieser Ausführung ist

bash


Using gpu device 0: GeForce GTX 580
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.638810873032 seconds
Result is [ 1.23178029  1.61879349  1.52278066 ...,  2.20771813  2.29967761
  1.62323296]
Used the gpu

Wenn ja, können Sie bestätigen, dass Theano auf der GPU ausgeführt wird.

5. Setup abgeschlossen

Sie haben jetzt AWS für Deep Learning eingerichtet.

Lassen Sie uns abschließend die Entwicklungsumgebung starten und künstliche Intelligenz implementieren.

bash


$ jupyter notebook --no-browser --ip="*"

Verweise

Installation des Grafiktreibers / CUDA unter AWS: http://qiita.com/shinya_ohtani/items/f374ed0dd51737087369

Installation von cuDNN: http://www.computervisionbytecnalia.com/es/2016/06/deep-learning-development-setup-for-ubuntu-16-04-xenial/

Einstellungen der cuDNN-Umgebungsvariablen: http://qiita.com/bohemian916/items/a48e6496b04bbbf09fb3

Anaconda-Installation: http://morimori2008.web.fc2.com/contents/PCprograming/python/pythonAnaconda.html

Theano installieren: https://github.com/fchollet/keras/issues/1888

Installieren Sie openCV: http://hikuichi.hatenablog.com/entry/2015/12/22/124044

Führen Sie Theano auf der GPU aus: http://deeplearning.net/software/theano/tutorial/using_gpu.html

Recommended Posts

Richten Sie AWS (Ubuntu 14.04) für Deep Learning ein (installieren Sie CUDA, cuDNN).
Installieren Sie CUDA10.1 + cuDNN7.6.5 + tensorflow-2.3.0 unter Ubuntu 18.04
Installieren Sie das neueste Cuda + CuDNN unter Ubuntu 18.04 @ Spring 2020
Lassen Sie uns tief lernen! Unter Windows (VS2013 + caffe + CUDA7.5 + cudnn5.1)
Richten Sie Python- und maschinelle Lernbibliotheken unter Ubuntu ein
Richten Sie Python 3.4 unter Ubuntu ein
Datensatz für maschinelles Lernen
So richten Sie Ubuntu für Windows Subsystem für Linux 2 (WSL2) ein
Für Mac einrichten (Python)
Deep Learning für die Bildung von Verbindungen?
Installieren Sie CUDA 8.0 und Chainer unter Ubuntu 16.04
Installieren Sie Confluent-Kafka für Python unter Ubuntu
[AI] Deep Learning für das Entrauschen von Bildern
Bis die Deep Learning-Umgebung (TensorFlow) mit GPU für Ubuntu 14.04 vorbereitet ist
Machen Sie Ihren eigenen PC für tiefes Lernen
[Deep Learning] Nogisaka Gesichtserkennung ~ Für Anfänger ~
Informationen zur Datenerweiterungsverarbeitung für tiefes Lernen
Von nichts unter Ubuntu 18.04 bis zum Einrichten einer Deep Learning-Umgebung auf Tensor
Installieren Sie den NVIDIA-Treiber (GeForce RTX 2070 SUPER), cuda 10.1, cudnn 7.6 unter Ubuntu 18.04.3 LTS + Build Python-Umgebung