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

Функция asarray

Функция asarray преобразует входные данные в тензор PyTorch. В отличие от tensor, эта функция старается избегать копирования данных, если это возможно. Первым параметром она принимает данные для преобразования: список, кортеж, массив NumPy или другой тензор. Вторым параметром можно указать требуемый тип данных элементов. Третьим параметром можно передать устройство, на котором должен располагаться тензор.

Синтаксис

torch.asarray(data, [dtype], [device])

Пример

Давайте преобразуем список чисел в тензор с помощью функции asarray:

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

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

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

Пример

Теперь создадим тензор с указанием типа данных float и устройства cuda (если доступно):

import torch t = torch.asarray([1, 2, 3, 4, 5], dtype=torch.float, device='cuda') print(t)

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

tensor([1., 2., 3., 4., 5.], device='cuda:0')

Пример

Функция asarray может принимать массив NumPy. В этом случае данные не копируются, если тип данных и расположение в памяти совпадают:

import torch import numpy as np arr = np.array([1, 2, 3, 4, 5]) t = torch.asarray(arr) print(t)

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

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

Пример

Если передать существующий тензор, функция asarray вернёт его же без копирования:

import torch orig = torch.tensor([1, 2, 3, 4, 5]) t = torch.asarray(orig) print(t) print(t is orig)

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

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

Пример

Создадим двумерный тензор из списка списков:

import torch t = torch.asarray([[1, 2, 3], [4, 5, 6]]) print(t)

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

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

Пример

Изменим тип данных на float без копирования (если это возможно):

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

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

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

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

  • функцию tensor,
    которая создаёт тензор с обязательным копированием данных
  • функцию as_tensor,
    которая преобразует данные в тензор без копирования (устаревшая)
  • функцию from_numpy,
    которая создаёт тензор из массива NumPy без копирования
  • функцию zeros,
    которая создаёт тензор, заполненный нулями
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить