W końcu mogłem zainstalować Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras
Napisałem streszczenie procedury, mam nadzieję, że to pomoże
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Oto co zrobiłem:
Ta konfiguracja działała dla mnie, mam nadzieję, że pomoże
Opiera się na:
https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
i na:
https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Sprzęt komputerowy
Wersje oprogramowania
- macOS Sierra Wersja 10.12.6
- Wersja sterownika GPU: 10.18.5 (378.05.05.25f01)
- Wersja sterownika CUDA: 8.0.61
- cuDNN v5.1 (20 stycznia 2017 r.), dla CUDA 8.0: Konieczna rejestracja i pobranie
- tensorflow-gpu 1.0.0
- Keras 2.0.8
Procedura:
Zainstaluj sterownik GPU
- Zamknij system, włącz go ponownie, naciskając klawisze (⌘ i R), aż zobaczysz , to pozwoli ci w trybie odzyskiwania.
- Na pasku menu kliknij Narzędzia> Terminal i napisz „csrutil disable”; restart ”naciśnij klawisz Enter, aby wykonać to polecenie.
Po ponownym uruchomieniu komputera Mac uruchom to polecenie w terminalu:
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
Odłącz eGPU od komputera Mac i uruchom ponownie. Jest to ważne, jeśli nie odłączyłeś eGPU, po uruchomieniu może pojawić się czarny ekran.
Po ponownym uruchomieniu komputera Mac otwórz terminal i wykonaj następujące polecenie:
sudo ~/Desktop/automate-eGPU/./automate-eGPU.sh -a
- Podłącz swój eGPU do komputera Mac przez TH2.
- Uruchom ponownie komputer Mac.
Zainstaluj CUDA, cuDNN, Tensorflow i Keras
W tej chwili Keras 2.08 potrzebuje tensorflow 1.0.0. Tensorflow-gpu 1.0.0 potrzebuje CUDA 8.0, a cuDNN v5.1 jest tym, który działał dla mnie. Próbowałem innych kombinacji, ale wydaje się, że nie działa
- Pobierz i zainstaluj CUDA 8.0 CUDA Toolkit 8.0 GA2 (luty 2017)
- Zainstaluj i postępuj zgodnie z instrukcjami
Ustaw zmienne env
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
(Jeśli Twój profil bash nie istnieje, utwórz go. Jest to wykonywane za każdym razem, gdy otwierasz okno terminalu)
- Pobieranie i instalowanie cuDNN (cudnn-8.0-osx-x64-v5.1) Musisz się zarejestrować przed pobraniem
Skopiuj pliki cuDNN do CUDA
cd ~/Downloads/cuda
sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib/
Utwórz środowisko i zainstaluj tensorflow
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu==1.0.0
Sprawdź, czy to działa
Uruchom następujący skrypt:
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))
Zainstaluj Keras w środowisku i ustaw tensorflow jako 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"
Wydajność:
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