Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

NumPy ndarray를 PyTorch Tensor로 또는 그 반대로 변환하는 방법은 무엇입니까?

<시간/>

PyTorch 텐서는 numpy.ndarray와 같습니다. . 이 둘의 차이점은 텐서가 GPU를 사용하여 숫자 계산을 가속화한다는 것입니다. numpy.ndarray를 변환합니다. torch.from_numpy() 함수를 사용하여 PyTorch 텐서로 . 그리고 텐서는 numpy.ndarray로 변환됩니다. .numpy() 사용 방법.

단계

  • 필요한 라이브러리를 가져옵니다. 여기서 필요한 라이브러리는 torch 및 numpy입니다. .

  • numpy.ndarray 만들기 또는 PyTorch 텐서.

  • numpy.ndarray 변환 torch.from_numpy()를 사용하여 PyTorch 텐서로 함수 또는 PyTorch 텐서를 numpy.ndarray로 변환 .numpy() 사용 방법.

  • 마지막으로 변환된 텐서 또는 numpy.ndarray를 인쇄합니다. .

예시 1

다음 Python 프로그램은 numpy.ndarray를 변환합니다. PyTorch 텐서로.

# import the libraries
import torch
import numpy as np

# Create a numpy.ndarray "a"
a = np.array([[1,2,3],[2,1,3],[2,3,5],[5,6,4]])
print("a:\n", a)

print("Type of a :\n", type(a))
# Convert the numpy.ndarray to tensor
t = torch.from_numpy(a)
print("t:\n", t)
print("Type after conversion:\n", type(t))

출력

위의 코드를 실행하면 다음과 같이 출력됩니다.

a:
[[1 2 3]
[2 1 3]
[2 3 5]
[5 6 4]]
Type of a :
<class 'numpy.ndarray'>
t:
tensor([[1, 2, 3],
         [2, 1, 3],
         [2, 3, 5],
         [5, 6, 4]], dtype=torch.int32)
Type after conversion:
<class 'torch.Tensor'>

예시 2

다음 Python 프로그램은 PyTorch 텐서를 numpy.ndarray로 변환합니다. .

# import the libraries
import torch
import numpy

# Create a tensor "t"
t = torch.Tensor([[1,2,3],[2,1,3],[2,3,5],[5,6,4]])
print("t:\n", t)
print("Type of t :\n", type(t))

# Convert the tensor to numpy.ndarray
a = t.numpy()
print("a:\n", a)
print("Type after conversion:\n", type(a))

출력

위의 코드를 실행하면 다음과 같이 출력됩니다.

t:
tensor([[1., 2., 3.],
         [2., 1., 3.],
         [2., 3., 5.],
         [5., 6., 4.]])
Type of t :
<class 'torch.Tensor'>
a:
[[1. 2. 3.]
[2. 1. 3.]
[2. 3. 5.]
[5. 6. 4.]]
Type after conversion:
<class 'numpy.ndarray'>