the
sciencemath of taking in real world info, converting it into numbers and thenfindinglearning a pattern out of it
there are 3 stages in any machine learning algorithm
while the real-world data can have any structure, in machine learning, the data is generally encoded/represented using a data structore called tensor
what is a tensor?
a tensor is an n-dimentional array where each dimension holds different parameters values for each value in the array
- a scalar is a 0d tensor
- an array is a 1d tensor
- a matrix is a 2d tensor
what do extra dimensions represent?
consider a matrix (or) 2d tensor, think of a matrix to be an excel/SQL table
let’s take an example: list of items in my bag, converting that from a table to a matrix would look like:
this is technically an array, but to make this a matrix, let’s add one dimension i.e, parameter to the array
and so on…
Tensors in Action
let’s take an example:
a image for a computer vision focused machine learning model
image representation image to tensor conversion
this is a 3 dimensional tensor:
-
the 1st dimension represents the color channel
-
the 2nd dimension represents rows of pixels in each color channel
-
the 3rd dimension represents the individual pixels in each row
fun fact: google’s machine learning framework is named tensorflow because each ML algorithm is a different flow of tensors 🤪
3 Important Attributes of a Tensor
now that we understand what tensors are, there are 3 important parameters of a tensor that you’ll need to keep in mind while working with tensors
all 3 attributes are usually the causes for most errors you’ll face as a machine/deep learning engineer
1. Shape
the length of each dimension of arrays gives us the shape of a tensor
so the lengths of the dimensions of the array are:
- 3
- height of the picture in pixels
- width of the picture in pixels
so the shape of the tensor is (3 x h x w)
important because the most common tensor operation (matrix multiplication) requires the tensors to be of certain shapes
2. Data Type
the data type of each of the element in the tensor, in pytorch it is usually float32 (or) a 32 bit float
some possible values:
- float16
- float32
- float64
important because tensor operations can only happen between compatible data typed tensors
3. Device
the device i,e processing unit where the tensor is stored.
possible values:
- cpu
- cuda (gpu)
- mps (apple silicon gpu/neural engine )
important because tensor operations can only happen between tensors living on the same device
untill next time !️ ✌
or you could spot me in the wild 🤭 i mean instagram, twitter, linkedin and maybe even youtube where i excalidraw those diagrams