Найти тему
Властелин машин

Тензоры и основные операции с ними

Оглавление

Тензоры - это структурные единицы, из которых строятся модели нейросетей. Это могут быть одиночные числа, векторы, матрицы и их обобщения на более высокие измерения. В библиотеке глубокого обучения TensorFlow (псевдоним tf) они представлены объектом tf.Tensor.

Тензор характеризуется типом данных (например, string, float32, int32) и размером (shape). Все элементы тензора имеют один тип данных, и он всегда известен. В то же время размеры не всегда детерминированы и в этих случаях могут быть получены только во время исполнения.

Основные виды тензоров следующие:

Адресация

Происходит путем последовательного задания в квадратных скобках индексов или их групп по заданным измерениям. Создадим тензор размерности два и получим элемент во второй строке и втором столбце, а также тензор из всего второго столбца:

-2

Получение ранга

Рангом объекта tf.Tensor является количество его измерений (0 - скаляр, 1 - вектор, 2 - матрица, 3 - куб ...). Для получения ранга существует специальная функция tf.rank:

-3

Получение размеров

Размеры показывают количество элементов в каждом измерении. Для получения размеров на этапе создания тензора можно обратиться к свойству shape. Однако они могут быть лишь частично определены и, соответственно, для внесения большей ясности потребуется вызвать функцию tf.shape на этапе выполнения:

-4

Изменение размеров

Количество элементов тензора - это произведение всех его измерений. Заданное количество элементов можно разместить в тензорах разных форм. Для этого предназначена функция tf.reshape:

-5

Изменение типа

Как указывалось выше, любой тензор характеризуется типом данных, присущим всем его элементам. Однако с помощью функции tf.cast его можно менять:

-6

Наука
7 млн интересуются