TensorFlow is an open-source deep-learning software system built by Google to train neural networks.TensorFlow can perform image recognition, human language audio recognition, and solving partial differential equations.

We will install TensorFlow and all of the packages required to use TensorFlow in a Python virtual environment on Ubuntu. This isolates your TensorFlow environment from other Python programs on the same machine.

## Installing TensorFlow

We are going to create a virtual environment and install TensorFlow on Ubuntu.

First, create a project directory called `tf-test`

:

$ mkdir ~/tf-test

And navigating to our newly created `tf-test`

directory:

$ cd ~/tf-test

Now we are going to create a new virtual environment `tensorflow-venv`

. Run the following command to create the environment:

$ python3 -m venv tensorflow-venv

Run the command below to activate the environment.

$ source tensorflow-venv/bin/activate

Run the following command to install and upgrade to the newest version of TensorFlow available in PyPi.

(tensorflow-venv)$ pip install --upgrade tensorflow

Output Collecting tensorflow Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB) 100% |████████████████████████████████| 39.3MB 35kB/s ... Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30

Now let's learn how to use TensorFlow with some examples.

### 01) Simple Constants

To create a simple constant with Tensorflow, which TF stores as a tensor object:

>>> import tensorflow as tf

We will create string constant as follow:

>>> hello = tf.constant('Hello World')

To know the type of object `hello`

:

>>> type(hello)

output tensorflow.python.framework.ops.Tensor

We will create integer constant as follow:

>>> x = tf.constant(300)

>>> type(x)

output tensorflow.python.framework.ops.Tensor

### 02) Running Sessions

Now we can create a TensorFlow Session, which is a class for running TensorFlow operations.

>>> sess = tf.Session()

>>> sess.run(hello)

output b'Hello World'

`b`

for unicode indication.

>>>type(sess.run(hello))

output bytes

for the second constant.

>>> sess.run(x)

output 300

>>>type(sess.run(x))

output numpy.int32

### 03) Operations

We can line up multiple Tensorflow operations in to be run during a session:

>>> x = tf.constant(20) >>> y = tf.constant(30)

>>> with tf.Session() as sess: print('Operations with Constants') print('Addition',sess.run(x+y)) print('Subtraction',sess.run(x-y)) print('Multiplication',sess.run(x*y)) print('Division',sess.run(x/y))

output Operations with Constants Addition 50 Subtraction -10 Multiplication 600 Division 0.666666666667

### 04) Placeholder

We may not always have the constants right away, and we may be waiting for a constant to appear after a cycle of operations. `tf.placeholder`

is a tool for this. It inserts a placeholder for a tensor that will be always fed.

Note: This tensor will produce an error if evaluated. Its value must be fed using the `feed_dict`

optional argument to `Session.run()`

.

>>> x = tf.placeholder(tf.int32) >>> y = tf.placeholder(tf.int32)

We are going to define operations.

>>> add = tf.add(x,y) >>> sub = tf.sub(x,y) >>> mul = tf.mul(x,y)

We are going to create dictionary to make operations on it.

>>> d = {x:20,y:30}

>>> with tf.Session() as sess: print('Operations with Constants') print('Addition',sess.run(add,feed_dict=d)) print('Subtraction',sess.run(sub,feed_dict=d)) print('Multiplication',sess.run(mul,feed_dict=d))

output Operations with Constants Addition 50 Subtraction -10 Multiplication 600

### 05) Matrix Multiplication

Now we are going to use matrix multiplication. First we need to create the matrices:

>>> import numpy as np

>>> a = np.array([[5.0,5.0]]) >>> b = np.array([[2.0],[2.0]])

>>> print(a)

output array([[ 5., 5.]])

>>> print(a.shape)

output (1, 2)

>>> print(b)

output array([[ 2.], [ 2.]])

>>> print(b.shape)

output (2, 1)

Now we are going to create constant tensor objects.

>>> mat1 = tf.constant(a) >>> mat2 = tf.constant(b)

The matrix multiplication operation:

>>> matrix_multi = tf.matmul(mat1,mat2)

Now we run the session to perform the Operation:

>>> with tf.Session() as sess: result = sess.run(matrix_multi) print(result)

output [[ 20.]]

## Conclusion

In this tutorial, we learned how to install TensorFlow on Ubuntu and illustrated how to use it with some examples. I hope you enjoyed reading and please leave your comments in the comment section.

Related Read: How to Setup Python Virtual Environment on Ubuntu 18.04