====== Tensorflow ====== Cette accès à Tensorflow reste disponible mais il est préférable d'exploiter la nouvelle version accessible via Conda L'environnement [[https://www.tensorflow.org/|Tensorflow]] a été installé cet été au Centre Blaise Pascal. Deux environnements étaient disponibles mais seul l'environnement permettant d'exploiter les cartes GPU à base de circuit Nvidia a été installée. La version courante déployée est la 1.10. ===== Configuration d'exploitation ===== L'environnement Tensorflow disponible exige une version spécifique de CUDA, la 9.0 minimum. Pour la charge dans le SIDUS standard du CBP:. /usr/share/modules/init/bash module load cuda/9.0 ===== Exemple ===== L'exemple suivant, fourni par le [[https://www.tensorflow.org/|site officiel]], permet de rapidement juger du fonctionnement de l'environnement. Il nécessite le lancement de l'interpréteur python : # Python import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello)) A l'exécution de la première ligne, vous pouvez avoir un message d'erreur sans importance : /usr/lib/python2.7/dist-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters A l'exécution de la seconde ligne, l'environnement détecte la carte graphique susceptible d'être exploitée : 2018-08-21 11:24:28.475954: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:897] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2018-08-21 11:24:28.476656: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1405] Found device 0 with properties: name: GeForce GTX TITAN major: 3 minor: 5 memoryClockRate(GHz): 0.8755 pciBusID: 0000:06:00.0 totalMemory: 5.94GiB freeMemory: 5.83GiB 2018-08-21 11:24:28.476704: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1484] Adding visible gpu devices: 0 2018-08-21 11:24:34.039086: I tensorflow/core/common_runtime/gpu/gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix: 2018-08-21 11:24:34.039883: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0 2018-08-21 11:24:34.039922: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] 0: N 2018-08-21 11:24:34.040245: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5626 MB memory) -> physical GPU (device: 0, name: GeForce GTX TITAN, pci bus id: 0000:06:00.0, compute capability: 3.5) Dans l'exemple ci-dessus, il s'agit d'une carte GeForce GTX TITAN avec 5.94GiB de RAM. La dernière ligne permet s'assurer que la session fonctionne de manière nominal en affichant : Hello, TensorFlow! Une grande variété de [[https://www.tensorflow.org/tutorials/|tutoriels]] en ligne permettent de vérifier le bon fonctionnement. L'application TensorFlow sur GPU requiert une version de GPU avec des capacités minimales pour fonctionner (compute capability de 3.5) : sur les 50 GPU accessibles au CBP, certains ne supportent pas cette capacité ===== GPU du CBP validés pour TensorFlow ===== * circuits Kepler : GTX Titan, GTX 780, GTX 780Ti, Tesla K40, Tesla K80 * circuits Maxwell : GTX 980Ti * circuits Pascal : GTX 1060, GTX 1070, GTX 1080, GTX 1080Ti, Tesla P100 ===== GPU du CBP invalidés pour TensorFlow ===== * circuits GT200 : Quadro FX4000, Tesla C1060 * circuits Fermi : GTX 560Ti, Quadro 4000 * circuits Kepler : GTX 680, GTX 690, * circuits Maxwell : GTX 960, GTX 970, GTX980