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 Anaconda to create a virtual python environment and install the desired version of tensorflow within that environment.

module load anaconda3
source $ANACONDA3_ROOT/etc/profile.d/conda.sh
conda create -n myenv python=3.8.8
conda activate myenv
conda install tensorflow-gpu==2.2.0

If you do not want to use GPUs simply replace the last line with

conda install tensorflow==2.2.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 anaconda3
 
source $ANACONDA3_ROOT/etc/profile.d/conda.sh
conda activate myenv
 
python tftest.py
tftest.py
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('Hello, TensorFlow!')
sess = tf.compat.v1.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.