До того, как машинное обучение и глубокое обучение стали суперпопулярными, Tensor больше относился к концепции физики. В этом случае тензор относится к многомерным матрицам (множественное число для матрицы). Начнем с нормального числа, скаляра, например 1. Это нулевое измерение.

Для понимания глубокого обучения новичкам можно просто сказать: Тензоры - это просто матрицы с большим размером. Обычно это стопка или стопка матриц, которые имеют более двух измерений (ширину и высоту), теперь имеют глубину (и даже больше), каждый слой глубины представляет собой матрицу. Напротив, каждая матрица имеет строку или столбец вектор, каждый вектор состоит из скалярных чисел.

Каждый тензор представляет собой один или несколько наборов матриц. Каждая матрица представляет собой набор векторов строк и столбцов. Каждая строка или вектор-столбец представляет собой стек чисел.

Одномерная матрица также известна как векторы. Вот вектор-строка:

import numpy as np
row_vec = np.array([0,1,2,3]) #row_vec.shape -> (4,)

Вот вектор-столбец:

import numpy as np
col_vec = np.array([[0],[1],[2],[3]]) -> col_vec.shape -> (4, 1)

Как насчет двумерного тензора? Это просто матрица. Большая матрица выглядит как лист Excel. Вот небольшая матрица 2x2.

matrix = np.array([[1,2],[3,4]]) # matrix.shape -> (2,2)

Обычно тензор относится к матрицам более высокой размерности, таким как значение RGB каждого пикселя в изображении. Каждый пиксель имеет координаты x, y (x, y) для его горизонтального и вертикального положения на изображении. У него также есть три дополнительных значения: красный, зеленый, синий.

Учитывая описанную выше технику визуализации. Вы можете визуализировать тензор изображения, имеющий ширину, высоту и глубину обычно три: один для красного, один для зеленого и один для синего.

Вам знакомо название тензор? Да, фреймворк Google Deep Learning Tensorflow назван в честь тензоров, проходящих через вычислительные графы.