Finalmente consegui instalar o Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras
Eu escrevi uma essência com o procedimento, espero que ajude
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Aqui está o que eu fiz:
Essa configuração funcionou para mim, espero que ajude
É baseado em:
https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
e assim por diante:
https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Hardware
Versões de software
- macOS Sierra versão 10.12.6
- Versão do driver GPU: 10.18.5 (378.05.05.25f01)
- Versão do driver CUDA: 8.0.61
- cuDNN v5.1 (20 de janeiro de 2017), para CUDA 8.0: é necessário se registrar e fazer o download
- tensorflow-gpu 1.0.0
- Keras 2.0.8
Procedimento:
Instale o driver da GPU
- Desligue o sistema, ligue-o novamente pressionando as teclas (⌘ e R) até ver , para que você possa entrar no modo de recuperação.
- Na barra de menus, clique em Utilitários> Terminal e escreva 'csrutil disable; reboot 'pressione enter para executar este comando.
Quando o seu Mac for reiniciado, execute este comando no Terminal:
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
Desconecte sua eGPU do seu Mac e reinicie. Isso é importante se você não desconectou sua eGPU, pode aparecer uma tela preta após a reinicialização.
Quando o seu Mac reiniciar, abra o Terminal e execute este comando:
sudo ~/Desktop/automate-eGPU/./automate-eGPU.sh -a
- Conecte sua eGPU ao seu Mac via TH2.
- Reinicie o seu Mac.
Instale CUDA, cuDNN, Tensorflow e Keras
Neste momento, o Keras 2.08 precisa do tensorflow 1.0.0. O Tensorflow-gpu 1.0.0 precisa do CUDA 8.0 e o cuDNN v5.1 é o que funcionou para mim. Eu tentei outras combinações, mas não parece funcionar
- Baixe e instale o CUDA 8.0 CUDA Toolkit 8.0 GA2 (fevereiro de 2017)
- Instale-o e siga as instruções
Definir variáveis 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
(Se o seu bash_profile não existir, crie-o. Isso é executado toda vez que você abre uma janela do terminal)
- Download e instalação do cuDNN (cudnn-8.0-osx-x64-v5.1) É necessário registrar-se antes de fazer o download
Copiar arquivos cuDNN para CUDA
cd ~/Downloads/cuda
sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib/
Crie um ambiente e instale o tensorflow
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu==1.0.0
Verifique se funciona
Execute o seguinte script:
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))
Instale o Keras no ambiente e defina o tensorflow como back-end:
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"
Saída:
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