How to Install TensorFlow on CentOS 7

Posted 

4 min read

TensorFlow is a free and open source platform for building machine learning models developed by Google. It is used by a number of organizations including Twitter, PayPal, Intel, Lenovo, and Airbus.

This tutorial will walk you through how to install TensorFlow on CentOS 7.

TensorFlow can be installed system-wide, in a Python virtual environment, as a Docker container or with Anaconda.

Installing TensorFlow on CentOS

TensorFlow supports both Python 2 and 3.

We will be using Python 3 and install TensorFlow inside a virtual environment. This way you can have multiple different isolated Python environments on a single computer and install a specific version of a module on a per project basis without worrying that it will affect your other Projects.

1. Installing Python 3

We will install Python 3.6 from the Software Collections (SCL) repositories.

CentOS 7 ships with Python 2.7.5 which is a critical part of the CentOS base system. SCL will allow you to install newer versions of python 3.x alongside the default python v2.7.5 so that system tools such as yum will continue to work properly.

To enable the repository, install the SCL release file:

sudo yum install centos-release-scl

Once done install Python 3.6 by running the following command:

sudo yum install rh-python36

We are now ready to create a virtual environment for our TensorFlow project.

2. Creating a Virtual Environment

Starting from Python 3.6, the recommended way to create a virtual environment is to use the venv module.

To access Python 3.6 you need to launch a new shell instance using the scl tool:

scl enable rh-python36 bash

Navigate to the directory where you would like to store TensorFlow project. It can be your home directory or any other directory where the user has read and write permissions.

Create a new directory for the TensorFlow project and cd into it:

mkdir tensorflow_project
cd tensorflow_project

Within the directory, run the following command to create the virtual environment:

python3 -m venv venv

The command above creates a directory named venv, which contains a copy of the Python binary, the Pip package manager, the standard Python library and other supporting files. You can use any name you want for the virtual environment.

To start using this virtual environment, you need to activate it by running the activate script:

source venv/bin/activate

Once activated, the virtual environment’s bin directory will be added at the beginning of the $PATH variable. Also your shell’s prompt will change and it will show the name of the virtual environment you’re currently using. In this case that is venv.

Upgrade pip to the latest version to avoid issues when installing packages:

pip install --upgrade pip

3. Installing TensorFlow

Now that the virtual environment is activated, it’s time to install the TensorFlow library. To do so, type the following:

pip install --upgrade tensorflow

If you have a dedicated NVIDIA GPU and want to take advantage of its processing power, instead of tensorflow install the tensorflow-gpu package which includes GPU support.

Within the virtual environment, you can use the command pip instead of pip3 and python instead of python3.

To verify the installation use the following command which will print the TensorFlow version:

python -c 'import tensorflow as tf; print(tf.__version__)'

At the time of writing this article, the latest stable version of TensorFlow is 1.13.1

1.13.1

Your TensorFlow version may differ from the version shown here.

If you are new to TensorFlow, visit the Get Started with TensorFlow page and learn how to build your first ML application. You can also clone the TensorFlow Models or TensorFlow-Examples repositories from Github and explore and test the TensorFlow examples.

Once you are done with your work, deactivate the environment, by typing deactivate and you will return to your normal shell.

deactivate

Conclusion

In this tutorial, we have shown you how to install TensorFlow CentOS 7.

If you hit a problem or have feedback, leave a comment below.