PyTorch torch.from_numpy Funktion
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)
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)
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
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
Andere Erweiterungen