РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1 of 769 menu

Класс Tensor

Класс Tensor является основным строительным блоком в PyTorch. Он представляет собой многомерную матрицу, содержащую элементы одного типа данных (dtype). Тензоры можно создавать различными способами: из списков, массивов NumPy или с помощью фабричных функций, таких как zeros и ones. Ключевой особенностью является поддержка автоматического дифференцирования (autograd), что делает их идеальными для обучения нейронных сетей.

При создании тензора можно указать тип данных (dtype), устройство (device) и флаг requires_grad для отслеживания операций вычисления градиента. Тензоры поддерживают множество математических операций, индексацию, срезы и изменение формы.

Синтаксис

# Создание из данных torch.tensor(data, dtype=None, device=None, requires_grad=False)

Основные атрибуты

Каждый тензор имеет несколько важных атрибутов, которые определяют его свойства:

import torch t = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Форма тензора print(t.shape) # Тип данных print(t.dtype) # Устройство (CPU или GPU) print(t.device) # Количество измерений print(t.ndim) # Общее количество элементов print(t.numel())

Результат выполнения кода:

torch.Size([2, 3]) torch.int64 device(type='cpu') 2 6

Создание тензора из списка

Самый простой способ создать тензор - передать список в функцию torch.tensor:

import torch # Одномерный тензор t1 = torch.tensor([1, 2, 3, 4, 5]) print(t1) # Двумерный тензор t2 = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(t2)

Результат выполнения кода:

tensor([1, 2, 3, 4, 5]) tensor([ [1, 2, 3], [4, 5, 6], ])

Указание типа данных

Тип данных элементов задается параметром dtype. Например, создадим тензор с типом float32:

import torch t = torch.tensor([1, 2, 3, 4, 5], dtype=torch.float32) print(t) print(t.dtype)

Результат выполнения кода:

tensor([1., 2., 3., 4., 5.]) torch.float32

Создание с отслеживанием градиента

Параметр requires_grad включает автоматическое дифференцирование для тензора:

import torch t = torch.tensor([1.0, 2.0, 3.0], requires_grad=True) print(t) print(t.requires_grad)

Результат выполнения кода:

tensor([1., 2., 3.], requires_grad=True) True

Размещение на устройстве

Тензор можно разместить на GPU с помощью параметра device. Для примера создадим тензор на CPU (стандартное поведение):

import torch t = torch.tensor([1, 2, 3], device='cpu') print(t.device)

Результат выполнения кода:

device(type='cpu')

Пример с тензорами разных типов

Создадим тензоры с различными типами данных и выведем их свойства:

import torch t_int = torch.tensor([1, 2, 3], dtype=torch.int32) t_float = torch.tensor([1.5, 2.5, 3.5], dtype=torch.float64) print(t_int.dtype) print(t_float.dtype)

Результат выполнения кода:

torch.int32 torch.float64

Смотрите также

  • класс Tensor,
    основной объект для работы с данными в PyTorch
  • метод reshape,
    который изменяет форму тензора
  • атрибут shape,
    возвращающий размерность тензора
  • метод to,
    который преобразует тензор к указанному типу или устройству
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить