Функция PyTorch torch.from_numpy
Справочное руководство Pytorch torch
torch.from_numpy— это функция в PyTorch, используемая для создания тензора из массива NumPy. Созданный тензор разделяет память с исходным массивом NumPy.
Это очень полезно в сценариях, где PyTorch и NumPy требуются одновременно для обработки данных.
Определение функции
torch.from_numpy(ndarray)
Parameters:
ndarray(numpy.ndarray): входной массив NumPy.
Возвращаемое значение:
torch.Tensor: Возвращает тензор, который разделяет память с массивом NumPy.
Примеры использования
Пример 1: Создание тензора из массива NumPy
Пример
import torch
import numpy as np
# Создайте массив NumPy
numpy_array = np.array([[1, 2, 3], [4, 5, 6]])
# Преобразуйте в тензор PyTorch
tensor = torch.from_numpy(numpy_array)
print("Массив NumPy:")
print(numpy_array)
print("Тензор PyTorch:")
print(tensor)
import numpy as np
# Создайте массив NumPy
numpy_array = np.array([[1, 2, 3], [4, 5, 6]])
# Преобразуйте в тензор PyTorch
tensor = torch.from_numpy(numpy_array)
print("Массив NumPy:")
print(numpy_array)
print("Тензор PyTorch:")
print(tensor)
Вывод:
NumPy 数组:
[[1 2 3]
[4 5 6]]
PyTorch 张量:
tensor([[1, 2, 3],
[4, 5, 6]])
Пример 2: Совместное использование памяти
Пример
import torch
import numpy as np
# Создайте массив NumPy
numpy_array = np.array([1, 2, 3])
# Преобразуйте в тензор PyTorch
tensor = torch.from_numpy(numpy_array)
# Измените тензор
tensor[0] = 100
# Массив NumPy также изменится
print("Массив NumPy:", numpy_array)
print("Тензор PyTorch:", tensor)
import numpy as np
# Создайте массив NumPy
numpy_array = np.array([1, 2, 3])
# Преобразуйте в тензор PyTorch
tensor = torch.from_numpy(numpy_array)
# Измените тензор
tensor[0] = 100
# Массив NumPy также изменится
print("Массив NumPy:", numpy_array)
print("Тензор PyTorch:", tensor)
Вывод:
NumPy 数组: [100 2 3] PyTorch 张量: tensor([100, 2, 3])
Из-за общей памяти изменение одного повлияет на другой.
Пример 3: Преобразование типов данных
Пример
import torch
import numpy as np
# NumPy по умолчанию создает int64
numpy_array = np.array([1, 2, 3])
tensor = torch.from_numpy(numpy_array)
print("dtype:", tensor.dtype) # torch.int64
import numpy as np
# NumPy по умолчанию создает int64
numpy_array = np.array([1, 2, 3])
tensor = torch.from_numpy(numpy_array)
print("dtype:", tensor.dtype) # torch.int64
Другие расширения