TensorFlow/fr: Difference between revisions
No edit summary |
No edit summary |
||
Line 48: | Line 48: | ||
print(sess.run([node1, node2])) | print(sess.run([node1, node2])) | ||
}} | }} | ||
Une fois la tâche complétée, ce qui devrait nécessiter moins d'une minute, un fichier de sortie avec un nom semblable à <tt>cdr116-122907.out</tt> devrait être généré. Le contenu de ce fichier | Une fois la tâche complétée, ce qui devrait nécessiter moins d'une minute, un fichier de sortie avec un nom semblable à <tt>cdr116-122907.out</tt> devrait être généré. Le contenu de ce fichier serait similaire à ce qui suit : | ||
{{File | {{File | ||
|name=cdr116-122907.out | |name=cdr116-122907.out |
Revision as of 16:11, 18 July 2017
Installation
Les directives suivantes servent à installer TensorFlow dans votre répertoire home à l'aide des paquets binaires (Python wheels) préparés par Calcul Canada; ces paquets se trouvent dans /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/
.
Le paquet TensorFlow sera installé dans un environment virtuel Python avec la commande pip
.
Ces directives sont valides pour Python 3.5.2; avec Python 3.5.Y ou 2.7.X, utilisez un des autres modules Python.
Chargez les modules requis par TensorFlow.
[nom@serveur ~]$ module load cuda cudnn python/3.5.2
Créez un nouvel environnement Python.
[nom@serveur ~]$ virtualenv tensorflow
Activez le nouvel environnement.
[nom@serveur ~]$ source tensorflow/bin/activate
Installez les paquets numpy et TensorFlow dans ce nouvel environnement.
[nom@serveur ~]$ pip install tensorflow
Soumettre une tâche TensorFlow
Soumettez une tâche TensorFlow ainsi :
[nom@serveur ~]$ sbatch tensorflow-test.sh
Le script contient
#!/bin/bash
#SBATCH --gres=gpu:1 # request GPU "generic resource"
#SBATCH --mem=4000M # memory per node
#SBATCH --time=0-05:00 # time (DD-HH:MM)
#SBATCH --output=%N-%j.out # %N for node name, %j for jobID
module load cuda cudnn python/3.5.2
source tensorflow/bin/activate
python ./tensorflow-test.py
alors que le script Python se lit
import tensorflow as tf
node1 = tf.constant(3.0, dtype=tf.float32)
node2 = tf.constant(4.0) # also tf.float32 implicitly
print(node1, node2)
sess = tf.Session()
print(sess.run([node1, node2]))
Une fois la tâche complétée, ce qui devrait nécessiter moins d'une minute, un fichier de sortie avec un nom semblable à cdr116-122907.out devrait être généré. Le contenu de ce fichier serait similaire à ce qui suit :
2017-07-10 12:35:19.489458: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties:
name: Tesla P100-PCIE-12GB
major: 6 minor: 0 memoryClockRate (GHz) 1.3285
pciBusID 0000:82:00.0
Total memory: 11.91GiB
Free memory: 11.63GiB
2017-07-10 12:35:19.491097: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0
2017-07-10 12:35:19.491156: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0: Y
2017-07-10 12:35:19.520737: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla P100-PCIE-12GB, pci bus id: 0000:82:00.0)
Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32)
[3.0, 4.0]