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