Table of Contents
TensorFlow
TensorFlow is a open-source machine learning framework mainly developed by Google. It can be used for verious machine learning tasks, e.g. deep learning. TensorFlow provides a high level API in python and other languages and is can run on CPUs as well as GPUs.
Installing TensorFlow
It is recommended to use the python tools virtualenv and pip to create a virtual python environment and install the desired version of tensorflow within that environment.
module load python/3.6.3 virtualenv <your_virtual_env> cd <your_virtual_env> source bin/activate pip install --upgrade pip pip install tensorflow-gpu==1.15.0
If you do not want to use GPUs simply replace the last line with
pip install tensorflow==1.15.0
Testing the installation
To run TensorFlow on GPUs, load the correct modules and submit a job to the gpu partition.
- jobscript.sh
#!/bin/bash #SBATCH -p gpu #SBATCH -t 1 #SBATCH --gpus-per-node 1 module load cuda10.0/toolkit/10.0.130 module load cuda10.0/blas/10.0.130 module load cudnn/10.0v7.6.3 python tftest.py
- tftest.py
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))
And then submit the job using Slurm:
sbatch jobscript.sh
The output file should contain
The output (if any) follows: b'Hello, TensorFlow!'
and also information about the GPUs selected.
Testing CPU only installation
If you want to test a CPU only installation, you can just run the tftest.py on a login node.
Using TensorFlow
You can now use TensorFlow in your python scripts. Please read gpu_selection for more information about GPU usage.