Endlich konnte ich Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras installieren
Ich schrieb eine kurze Zusammenfassung des Verfahrens, hoffe, es hilft
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Folgendes habe ich getan:
Diese Konfiguration hat bei mir funktioniert, hoffe es hilft
Es basiert auf:
https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
und auf:
https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Hardware
Softwareversionen
- macOS Sierra Version 10.12.6
- GPU-Treiberversion: 10.18.5 (378.05.05.25f01)
- CUDA-Treiberversion: 8.0.61
- cuDNN v5.1 (20. Januar 2017) für CUDA 8.0: Registrierung und Download erforderlich
- tensorflow-gpu 1.0.0
- Keras 2.0.8
Verfahren:
Installieren Sie den GPU-Treiber
- Fahren Sie Ihr System herunter, und schalten Sie es mit den Tasten (⌘ und R) wieder ein, bis angezeigt wird. Auf diese Weise gelangen Sie in den Wiederherstellungsmodus.
- Klicken Sie in der Menüleiste auf Dienstprogramme> Terminal und schreiben Sie "csrutil disable". Neustart 'drücken Sie die Eingabetaste, um diesen Befehl auszuführen.
Führen Sie nach dem Neustart Ihres Mac den folgenden Befehl im Terminal aus:
cd ~/Desktop; git clone https://github.com/goalque/automate-eGPU.git
chmod +x ~/Desktop/automate-eGPU/automate-eGPU.sh
sudo ~/Desktop/automate-eGPU/./automate-eGPU.sh
Trennen Sie Ihre eGPU von Ihrem Mac und starten Sie neu. Dies ist wichtig, wenn Sie Ihre eGPU nicht vom Stromnetz getrennt haben und nach dem Neustart möglicherweise ein schwarzer Bildschirm angezeigt wird.
Wenn Ihr Mac neu gestartet wurde, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:
sudo ~/Desktop/automate-eGPU/./automate-eGPU.sh -a
- Schließen Sie Ihre eGPU über TH2 an Ihren Mac an.
- Starten Sie Ihren Mac neu.
Installieren Sie CUDA, cuDNN, Tensorflow und Keras
In diesem Moment benötigt Keras 2.08 Tensorflow 1.0.0. Tensorflow-gpu 1.0.0 benötigt CUDA 8.0 und cuDNN v5.1 hat bei mir funktioniert. Ich habe andere Kombinationen ausprobiert, aber es scheint nicht zu funktionieren
- CUDA 8.0 CUDA Toolkit 8.0 GA2 herunterladen und installieren (Feb 2017)
- Installieren Sie es und folgen Sie den Anweisungen
Setze env Variablen
vim ~/.bash_profile
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
(Wenn Ihr bash_profile nicht existiert, erstellen Sie es. Dies wird jedes Mal ausgeführt, wenn Sie ein Terminalfenster öffnen.)
- Herunterladen und Installieren von cuDNN (cudnn-8.0-osx-x64-v5.1) Sie müssen sich registrieren, bevor Sie es herunterladen können
Kopieren Sie cuDNN-Dateien nach CUDA
cd ~/Downloads/cuda
sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib/
Umgebung erstellen und tensorflow installieren
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu==1.0.0
Überprüfen Sie, ob es funktioniert
Führen Sie das folgende Skript aus:
import tensorflow as tf
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print (sess.run(c))
Installiere Keras in der Umgebung und setze tensorflow als Backend:
pip install --upgrade --no-deps keras # Need no-deps flag to prevent from installing tensorflow dependency
KERAS_BACKEND=tensorflow python -c "from keras import backend"
Ausgabe:
Using TensorFlow backend.
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.8.0.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.5.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.8.0.dylib locally
I tensorflow/stream_executor/dso_loader.cc:126] Couldn't open CUDA library libcuda.1.dylib. LD_LIBRARY_PATH: /usr/local/cuda/lib:/usr/local/cuda:/usr/local/cuda/extras/CUPTI/lib
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.8.0.dylib locally