Función torch.from_numpy de PyTorch


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.from_numpyEs una función en PyTorch que se utiliza para crear tensores a partir de arrays de NumPy. El tensor creado comparte memoria con el array de NumPy original.

Esto es muy útil en escenarios donde se necesita usar PyTorch y NumPy simultáneamente para el procesamiento de datos.

Definición de la función

torch.from_numpy(ndarray)

Parámetros:

  • ndarray(numpy.ndarray): El array de NumPy de entrada.

Valor de retorno:

  • torch.Tensor: Devuelve un tensor que comparte memoria con el array de NumPy.

Ejemplos de uso

Ejemplo 1: Crear un tensor a partir de un array de NumPy

Ejemplo

import torch
import numpy as np

# Crear un array de NumPy
numpy_array = np.array([[1, 2, 3], [4, 5, 6]])

# Convertir a tensor de PyTorch
tensor = torch.from_numpy(numpy_array)

print("Array de NumPy:")
print(numpy_array)
print("Tensor de PyTorch:")
print(tensor)

El resultado de salida es:

NumPy 数组:
[[1 2 3]
 [4 5 6]]
PyTorch 张量:
tensor([[1, 2, 3],
        [4, 5, 6]])

Ejemplo 2: Memoria compartida

Ejemplo

import torch
import numpy as np

# Crear un array de NumPy
numpy_array = np.array([1, 2, 3])

# Convertir a tensor de PyTorch
tensor = torch.from_numpy(numpy_array)

# Modificar el tensor
tensor[0] = 100

# El array de NumPy también cambia
print("Array de NumPy:", numpy_array)
print("Tensor de PyTorch:", tensor)

El resultado de salida es:

NumPy 数组: [100   2   3]
PyTorch 张量: tensor([100,   2,   3])

Debido a la memoria compartida, modificar uno afecta al otro.

Ejemplo 3: Conversión de tipo de datos

Ejemplo

import torch
import numpy as np

# NumPy crea int64 por defecto
numpy_array = np.array([1, 2, 3])

tensor = torch.from_numpy(numpy_array)
print("dtype:", tensor.dtype)  # torch.int64

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones