# Difference Between Tensors and Arrays

Both tensor and array are the fundamental data structures that we use in training machine learning algorithms. Tensors are like arrays, both are data structures that are used to store data that can be indexed individually. In this article, I will take you through the difference between tensors and arrays and their implementation using Python.

## Difference Between Tensors and Arrays

An array is a grid of values that contains raw data and we use it to locate and interpret elements in the raw data. Whereas a tensor is a multidimensional array. Generally, we use NumPy for working with an array and TensorFlow for working with a tensor.

The difference between a NumPy array and a tensor is that the tensors are backed by the accelerator memory like GPU and they are immutable, unlike NumPy arrays.

## Tensors and Arrays using Python

I hope you now have understood the difference between a tensor and an array. An array is a collection of numbers that contains raw data and a tensor is nothing but a multidimensional array. Now let’s see how to create arrays and tensors using Python. I will first create an array by using the NumPy library in Python:

```import numpy as np
import tensorflow as tf
array = np.ones([3, 3])
print(array)```
```[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]```

Now let’s convert this array into tensors by using TensorFlow:

```tensor = tf.multiply(array, 10)
print(tensor)```
```tf.Tensor(
[[10. 10. 10.]
[10. 10. 10.]
[10. 10. 10.]], shape=(3, 3), dtype=float64)```

You need tensors while doing heavy calculations. Tensors need GPU acceleration in most of the calculations. If you are using the TensorFlow library then you don’t need to decide when to use GPU or when to use CPU as the TensorFlow library automatically takes care of that.

Also, Read – Python Projects with Source Code: Solved and Explained.

### Summary

So in this article, I introduced you to the difference between a tensor and an array that we need while training machine learning algorithms. In short, an array is a collection of numbers and a tensor is a multidimensional array. I hope you liked this article on the difference between Tensors and Arrays in Machine Learning and their implementation using Python. Feel free to ask your valuable questions in the comments section below. ##### Aman Kharwal

I'm a writer and data scientist on a mission to educate others about the incredible power of data📈.

Articles: 1364