[PYTHON] Führen Sie den Tensorflow der GPU-Version vor Ort in AWS EC2 aus

Ubuntu 16.04 LTS + CUDA + cuDNN + python3.6 + tensorflow-gpu

Der Instanztyp kann p2.8xlarge oder p2.16xlarge sein. Sie können ihn jedoch mit p2.large einrichten und während des Lernens auf 8xlarge oder 16xlarge wechseln.

Aktualisieren Sie beim Start der EC2-Instanz jedes Modul auf die neueste Version und installieren Sie die minimale Entwicklungsumgebung.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install libffi-dev libssl-dev gcc make

Bereiten Sie die Python-Umgebung mit pyenv vor

Zuerst git Klon pyenv.

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

Folgendes wurde zu .bashrc hinzugefügt.

PYENV_ROOT=$HOME/.pyenv
PATH=$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH
eval "$(pyenv init -)"

Laden Sie die bearbeitete .bashrc.

$ source ~/.bashrc

Installieren Sie als Nächstes Python. Dieses Mal installieren Sie Python 3.6.

$ pyenv install --list|grep 3.6
  3.3.6
  3.6.0
  3.6-dev
  3.6.1
  3.6.2rc1
$ pyenv install 3.6.1
$ pyenv global 3.6.1
$ which pip3
/home/ubuntu/.pyenv/shims/pip3  #Bestätigen Sie, dass Pyenv verwendet wird
$ pip3 install aws  #Ich werde es in setzen

CUDA-Installation

Informationen zum Herunterladen der Deb-Datei finden Sie auf der CUDA-Download-Site (https://developer.nvidia.com/cuda-downloads).

Sobald Sie die URL kennen, holen Sie sie sich mit wget und installieren Sie sie.

$ wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo apt-get update
$ sudo apt-get install cuda

CuDNN installieren

Sie können * cuDNN v6.0 Library for Linux * von der cuDNN-Download-Site herunterladen und installieren, jedoch nachdem Sie sich als Benutzer registriert und angemeldet haben Es kann nur von der Seite von heruntergeladen werden, und es kann nicht einfach heruntergeladen werden, indem die URL mit wget angegeben wird. Ich habe beschlossen, es einmal auf einem Mac zu speichern und es mit scp an EC2 zu senden.

#Kopieren Sie die Entwicklungsdatei mit scp vom lokalen Mac auf EC2.Ändern Sie den Pfad und die IP der PEM-Datei entsprechend.
$ scp -i aws.pem ~/Downloads/cudnn-8.0-linux-x64-v6.0.tgz [email protected]:~/
$ tar xzf cudnn-8.0-linux-x64-v6.0.tgz
$ sudo cp -a cuda/lib64/* /usr/local/lib/
$ sudo cp -a cuda/include/* /usr/local/include/
$ sudo ldconfig

Tensorflow installieren

Wenn die CPU-Version von Tensorflow enthalten ist, deinstallieren Sie sie vor der Installation der GPU-Version. Fügen Sie auch häufig verwendete Bibliotheken hinzu.

$ sudo apt-get install libcupti-dev
$ pip3 uninstall tensorflow
$ pip3 install tensorflow-gpu
$ pip3 install keras sklearn matplotlib scipy librosa

Bewegen Sie die Probe und überprüfen Sie die Funktion

Dieses Mal habe ich die Operation mit mnist-mlp von Keras überprüft. Ich habe eine Probe mit Git-Klon bekommen und sie ausgeführt.

$ git clone https://github.com/fchollet/keras.git
$ cd keras/examples
$ $ python mnist_mlp.py 
Using TensorFlow backend.
...
Test loss: 0.118156189926
Test accuracy: 0.9811
$

Umgezogen: Sonnenbrille:

Recommended Posts

Führen Sie den Tensorflow der GPU-Version vor Ort in AWS EC2 aus
Führen Sie TensorFlow auf einer GPU-Instanz in AWS aus
Ich habe versucht, TensorFlow (GPU-Version) unter Ubuntu zu installieren
[Version 2020] So installieren Sie Python3 auf EC2 von AWS
Versuchen Sie Tensorflow mit einer GPU-Instanz unter AWS
Führen Sie Tensorflow 2.x unter Python 3.7 aus
Führen Sie YOLO v3 unter AWS v2 aus
Führen Sie YOLO v3 unter AWS aus
Wenn Sie glauben, dass Tensorflow Ihre GPU in AWS nicht erkennt
Führen Sie eine Java-App aus, die sich in AWS EC2 als Daemon befindet
Führen Sie Tensorflow mit nativer Unterstützung für Windows aus
Verwenden Sie jupyter für eine GPU-Instanz in AWS
Führen Sie Python planmäßig auf AWS Lambda aus
Führen Sie das Docker-Image von TensorFlow unter Python3 aus
Führen Sie TensorFlow2 auf dem VPS-Server aus
Erstellen einer Umgebung zum Ausführen von ChainerMN auf einer AWS-GPU-Instanz
Das Modul kann nicht in Python auf EC2 importiert werden, das von AWS Lambda ausgeführt wird
Bereiten Sie die Umgebung von Chainer auf der EC2-Spot-Instanz mit AWS Lambda vor
Führen Sie die Radeon-GPU unter Windows unter QEMU / KVM aus
[Python] Führen Sie Headless Chrome unter AWS Lambda aus
Schritte zum Ausführen von TensorFlow 2.1 von Jupyter auf dem Spacon ITO-Frontend (mit GPU)
Führen Sie regelmäßig Python-Programme auf AWS Lambda aus
Python-Entwicklung unter Ubuntu unter AWS EC2 (mit Jupyter Lab)
(Für mich) AWS_Flask_3 (Flask auf AWS installieren / ausführen)
TensorFlow: Führen Sie in Python gelernte Daten unter Android aus
[Ist es explosiv?] Setup für die Verwendung der GPU-Version von Tensorflow unter OSX