Finalmente pude instalar Nvidia Titan XP + MacBook Pro + Akitio Node + Tensorflow + Keras
Escribí una idea general del procedimiento, espero que ayude
https://gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
Aquí esta lo que hice:
Esta configuración funcionó para mí, espero que ayude
Se basa en:
https://becominghuman.ai/deep-learning-gaming-build-with-nvidia-titan-xp-and-macbook-pro-with-thunderbolt2-5ceee7167f8b
y en:
https://stackoverflow.com/questions/44744737/tensorflow-mac-os-gpu-support
Hardware
Versiones de software
- macOS Sierra versión 10.12.6
- Versión del controlador de GPU: 10.18.5 (378.05.05.25f01)
- Versión del controlador CUDA: 8.0.61
- cuDNN v5.1 (20 de enero de 2017), para CUDA 8.0: es necesario registrarse y descargar
- tensorflow-gpu 1.0.0
- Keras 2.0.8
Procedimiento:
Instalar controlador de GPU
- Apague su sistema, enciéndalo nuevamente presionando las teclas (⌘ y R) hasta que vea , esto le permitirá ingresar al modo de recuperación.
- Desde la barra de menú, haga clic en Utilidades> Terminal y escriba 'csrutil disable; reiniciar 'presione enter para ejecutar este comando.
Cuando reinicie su Mac, ejecute este comando en la 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
Desenchufe su eGPU de su Mac y reinicie. Esto es importante si no desconectó su eGPU, puede terminar con una pantalla en negro después de reiniciar.
Cuando reinicie su Mac, abra la Terminal y ejecute este comando:
sudo ~/Desktop/automate-eGPU/./automate-eGPU.sh -a
- Conecte su eGPU a su mac a través de TH2.
- Reinicia tu Mac.
Instale CUDA, cuDNN, Tensorflow y Keras
En este momento, Keras 2.08 necesita tensorflow 1.0.0. Tensorflow-gpu 1.0.0 necesita CUDA 8.0 y cuDNN v5.1 es el que me funcionó. Intenté otras combinaciones pero no parece funcionar.
- Descargue e instale CUDA 8.0 CUDA Toolkit 8.0 GA2 (febrero de 2017)
- Instálalo y sigue las instrucciones
Establecer variables 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
(Si su bash_profile no existe, créelo. Esto se ejecuta cada vez que abre una ventana de terminal)
- Descarga e instalación de cuDNN (cudnn-8.0-osx-x64-v5.1) Necesita registrarse antes de descargarlo
Copiar archivos cuDNN a CUDA
cd ~/Downloads/cuda
sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib/
Crear entorno e instalar tensorflow
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu==1.0.0
Verifica que funciona
Ejecute el siguiente 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 Keras en el entorno y configure el flujo de tensor como 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"
Salida:
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