Vous avez un PC Linux avec une carte graphique NVidia? Transformons-le en station de deep learning.
Dans ce tutorial, nous allons voir comment installer facilement TensorFlow sur un PC Linux pour en faire une station de deep learning.
Pour une introduction rapide au deep learning, voici mon post sur l' installation de TensorFlow sous Windows .
Il vous fraudra:
Votre PC ne pourra rien faire de votre carte NVidia si il n'est pas en mesure de lui parler. C'est là que les drivers interviennent.
Pour installer TensorFlow, il vous faudra des drivers NVidia de la version 384.X ou d'une version plus récente.
Nous allons maintenant installer les drivers les plus récents. D'abord, ajoutons un dépôt à apt, d'où nous récupérerons le package contenant les drivers:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt upgrade
Regardons quel est le driver recommandé:
ubuntu-drivers devices
Ça me donne:
== /sys/devices/pci0000:16/0000:16:00.0/0000:17:00.0 ==
modalias : pci:v000010DEd00001B06sv00001028sd00003600bc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-396 - third-party free
driver : nvidia-415 - third-party free recommended
driver : nvidia-390 - third-party free
driver : xserver-xorg-video-nouveau - distro free builtin
driver : nvidia-384 - third-party non-free
driver : nvidia-410 - third-party non-free
Choisissez le driver recommandé et installez-le
sudo apt install nvidia-415
Redémarrez le PC, et vérifiez que le driver est effectivement utilisé:
nvidia-smi
Vous devriez obtenir quelque chose comme ça:
Fri Jan 25 18:30:34 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 415.27 Driver Version: 415.27 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:17:00.0 Off | N/A |
| 23% 33C P8 17W / 250W | 2MiB / 11178MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:65:00.0 On | N/A |
| 23% 34C P8 16W / 250W | 296MiB / 11176MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 1 1491 G /usr/lib/xorg/Xorg 132MiB |
| 1 2190 G compiz 161MiB |
+-----------------------------------------------------------------------------+
Comme vous pouvez le voir, la version du driver est correcte.
Si vous voulez faire plus de tests et voir quelques jolis affichages 3D, vous pouvez utiliser la suite de tests
phoronix
.
Pour faire du deep learning avec votre carte, vous aurez besoin des logiciels suivants:
Mais installer CUDA et cuDNN manuellement peut être vraiment pénible. Heureusement, nous n'aurons pas à en passer par là.
Nous allons plutôt utiliser Anaconda.
Téléchargez Anaconda pour votre système:
Installez TensorFlow et keras
conda install tensorflow-gpu keras
Et finalement, testez votre installation:
python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"
J'obtiens:
2019-01-25 18:39:59.281394: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA
2019-01-25 18:39:59.475540: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:17:00.0
totalMemory: 10.92GiB freeMemory: 10.76GiB
2019-01-25 18:39:59.617848: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 1 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:65:00.0
totalMemory: 10.91GiB freeMemory: 10.47GiB
2019-01-25 18:39:59.618681: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0, 1
2019-01-25 18:40:00.021667: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-01-25 18:40:00.021703: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988] 0 1
2019-01-25 18:40:00.021708: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0: N Y
2019-01-25 18:40:00.021711: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 1: Y N
2019-01-25 18:40:00.022288: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10407 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:17:00.0, compute capability: 6.1)
2019-01-25 18:40:00.022606: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 10126 MB memory) -> physical GPU (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:65:00.0, compute capability: 6.1)
tf.Tensor(629.1958, shape=(), dtype=float32)
Dans ce tuto, vous avez appris comment installer TensorFlow sur un PC Linux facilement avec l'aide d'Anaconda.
La prochaine fois, nous verrons comment l'utiliser pour faire un peu de deep learning.
N'hésitez pas à me donner votre avis dans les commentaires ! Je répondrai à toutes les questions.
Et si vous avez aimé cet article, vous pouvez souscrire à ma newsletter pour être prévenu lorsque j'en sortirai un nouveau. Pas plus d'un mail par semaine, promis!
Rejoignez ma mailing list pour plus de posts et du contenu exclusif: