TensorFlow examples
Python

Define and Use Tensors Using Simple TensorFlow Examples

In this post, we are going to see some TensorFlow examples and see how it’s easy to define tensors, perform math operations using tensors, and other machine learning examples.

 

What is TensorFlow?

TensorFlow is a library which was developed by Google for solving complicated mathematical problems which takes much time.

Actually, TensorFlow can do many things like:

  • Solving complex mathematical expressions.
  • Machine learning techniques, where you give it a sample of data for training, then you give another sample of data to predict the result based on the training data. This is the artificial intelligence!!
  • GPU support. You can use GPU (Graphical Processing Unit) instead of CPU for faster processing. There are two versions of TensorFlow, CPU version and GPU version.

Before we start working with TensorFlow examples, we need to know some basics.

What is a Tensor?

The tensor is the main blocks of data that TensorFlow uses, it’s like the variables that TensorFlow uses to work with data. Each tensor has a dimension and a type.

The dimension is the rows and columns of the tensor, you can define one-dimensional tensor, two-dimensional tensor, and three-dimensional tensor as we will see later.

The type is the data type for the elements of the tensor.

Define one-dimensional Tensor

To define a tensor, we will create a NumPy array or a Python list and convert it to a tensor using the tf_convert_to_tensor function.

We will use NumPy to create an array like this:

You can see from the results the dimension and shape of the array.

Tensorflow examples define numpy array

It looks like the Python list but here there is no comma between the items.

Now we will convert this array to a tensor using tf_convert_to_tensor function.

Tensorflow examples convert to tensor

From the results, you can see the tensor definition, but you can’t see the tensor elements.

Well, to see the tensor elements, you can run a session like this:

Tensorflow examples tensor elements

Define Two-dimensional Tensor

The same way as the one-dimensional array, but this time we will define the array like this:

arr = np.array([(1, 5.5, 3, 15, 20),(10, 20, 30, 40, 50), (60, 70, 80, 90, 100)])

And you can convert it to a tensor like this:

Tensorflow examples two-dimensional tensor

Now you know how to define tensors, what about performing some math operations between them?

Performing Math on Tensors

Suppose that we have 2 arrays like this:

We need to get the sum of them. You can perform many math operations using TensorFlow.

You can use the add function like this:

arr3 = tf.add(arr1,arr2)

So the whole code will be like this:

Tensorflow examples add tensors

You can multiply arrays like this:

Tensorflow examples multiply tensors

Now you got the idea.

Three-dimensional Tensor

We saw how to work with one and two-dimensional tensors, now we will see the three-dimensional tensors, but this time we won’t use numbers, we will use an RGB image where each piece of the image is specified by x, y, and z coordinates.

These coordinates are the width, height, and color depth.

First, let’s import the image using matplotlib. You can install matplotlib using pip if it’s not installed on your system.

Now, put your file in the same directory with your Python file and import the image using matplotlib like this:

Tensorflow examples import image

As you can see, it’s a three-dimensional image where the width is 150 and the height is 150 and the color depth is 3.

You can view the image like this:

Tensorflow examples view import image

Cool!!

What about manipulating the image using TensorFlow? Super easy.

Crop Or Slice Image Using TensorFlow

First, we put the values on a placeholder like this:

myimage = tf.placeholder("int32",[None,None,3])

To slice the image, we will use the slice operator like this:

cropped = tf.slice(myimage,[10,0,0],[16,-1,-1])

Finally, run the session:

result = sess.run(cropped, feed_dict={slice: myimage})

Then you can see the result image using matplotlib.

So the whole code will be like this:

Tensorflow examples crop image

Awesome!!

Transpose Images using TensorFlow

In this TensorFlow example, we will do a simple transformation using TensorFlow.

First, specify the input image and initialize TensorFlow variables:

Then we will use the transpose function which flips the 0 and 1 axes of the input grid:

Then you can show the resulting image using matplotlib.

Tensorflow examples transpose image

All these TensorFlow examples show you how easy it’s to work with TensorFlow.

I hope you find the post useful. Keep coming back.

  • Lee Slash

    Thank you, what you writen is very useful to me.
    I am very new to tensorflow, and I am finding ways to convert my images to tensors,
    and I have a label file(.csv), it contain 4 columns of features(float32),
    Could you explain more about how to import them into tensorflow data structure and use them to train model please? thank you very much!!!

    • Thanks for your interest.
      To read from CSV file, you can use TextLineReader like this:

      files = tf.train.string_input_producer([“file0.csv”, “file1.csv”])

      reader = tf.TextLineReader()
      key, value = reader.read(files)
      Then you can set your default data to your 4 columns like this:

      record_defaults = [[1], [1], [1], [1]]
      col1, col2, col3, col4 = tf.decode_csv(value, record_defaults=record_defaults)
      features = tf.stack([col1, col2, col3, col4])

      And finally, you can train your model:
      with tf.Session() as sess:
      coord = tf.train.Coordinator()
      threads = tf.train.start_queue_runners(coord=coord)

      I think this should be OK. Hope you find your missing puzzle.

      Regards,

      • Lee Slash

        Thank you for your reply.

        I have try this way, but there are still some questions,

        1.This step just read data into structure, why should we us
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(coord=coord)
        what are these two lines mean?

        2.While I try to print(features), It’s only a 1-D (4,) array,
        but it should be a 2-D (1440, 4) array, because my two files are all contains 720 lines,
        and 4 columns of float data each row.

        3.Sometimes this code read “file0.csv” first, and sometimes “file1.csv” first,
        but I need to read files in sequence, how should I do?

        Tjank you very much, again.

        Regards,

        • Try the code according to your needs.
          Regarding the sequence, you can try to turn the shuffle OFF like this:
          tf.train.string_input_producer([“file0.csv”, “file1.csv”], shuffle=False)
          Hope that helps.