PyTorch torch.from_numpy Funktion


Pytorch torch 参考手册PyTorch torch Referenzhandbuch

torch.from_numpyist eine Funktion in PyTorch, die verwendet wird, um einen Tensor aus einem NumPy-Array zu erstellen. Der erstellte Tensor teilt den Speicher mit dem ursprünglichen NumPy-Array.

Dies ist sehr nützlich in Szenarien, in denen sowohl PyTorch als auch NumPy für die Datenverarbeitung benötigt werden.

Funktionsdefinition

torch.from_numpy(ndarray)

Parameters:

  • ndarray(numpy.ndarray): Das Eingabe-NumPy-Array.

Rückgabewert:

  • torch.Tensor: Gibt einen Tensor zurück, der den Speicher mit dem NumPy-Array teilt.

Anwendungsbeispiele

Beispiel 1: Erstellen eines Tensors aus einem NumPy-Array

Beispiel

import torch
import numpy as np

# NumPy-Array erstellen
numpy_array = np.array([[1, 2, 3], [4, 5, 6]])

# In einen PyTorch-Tensor umwandeln
tensor = torch.from_numpy(numpy_array)

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

Die Ausgabe ist:

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

Beispiel 2: Gemeinsame Speichernutzung

Beispiel

import torch
import numpy as np

# NumPy-Array erstellen
numpy_array = np.array([1, 2, 3])

# In einen PyTorch-Tensor umwandeln
tensor = torch.from_numpy(numpy_array)

# Den Tensor ändern
tensor[0] = 100

# Das NumPy-Array wird sich ebenfalls ändern
print("NumPy-Array:", numpy_array)
print("PyTorch-Tensor:", tensor)

Die Ausgabe ist:

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

Aufgrund des gemeinsamen Speichers wirkt sich das Ändern des einen auf den anderen aus.

Beispiel 3: Datentypkonvertierung

Beispiel

import torch
import numpy as np

# NumPy erstellt standardmäßig int64
numpy_array = np.array([1, 2, 3])

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

Pytorch torch 参考手册PyTorch torch Referenzhandbuch

Andere Erweiterungen