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

PyTorch에서 Tensor의 값에 액세스하고 수정하는 방법은 무엇입니까?

<시간/>

색인 생성을 사용합니다. 및 슬라이스 텐서의 값에 액세스합니다.인덱싱 텐서의 단일 요소 값에 액세스하는 데 사용되는 반면 슬라이싱 요소 시퀀스의 값에 액세스하는 데 사용됩니다.

할당 연산자를 사용하여 텐서의 값을 수정합니다. 할당 연산자를 사용하여 새 값을 할당하면 텐서가 새 값으로 수정됩니다.

단계

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

  • PyTorch 정의 텐서.

  • 색인화를 사용하여 특정 색인의 단일 요소 값에 액세스 또는 슬라이스를 사용하여 요소 시퀀스의 값에 액세스 .

  • 할당을 사용하여 액세스한 값을 새 값으로 수정 연산자.

  • 마지막으로 텐서를 인쇄하여 텐서가 새 값으로 수정되었는지 확인합니다.

예시 1

# Python program to access and modify values of a tensor in PyTorch
# Import the libraries
import torch

# Define PyTorch Tensor
a = torch.Tensor([[3, 5],[1, 2],[5, 7]])
print("a:\n",a)

# Access a value at index [1,0]-> 2nd row, 1st Col using indexing
b = a[1,0]
print("a[1,0]:\n", b)

# Other indexing method to access value
c = a[1][0]
print("a[1][0]:\n",c)

# Modifying the value 1 with new value 9
# assignment operator is used to modify with new value
a[1,0] = 9
print("tensor 'a' after modifying value at a[1,0]:")
print("a:\n",a)

출력

a:
tensor([[3., 5.],
         [1., 2.],
         [5., 7.]])
a[1,0]:
   tensor(1.)
a[1][0]:
   tensor(1.)
tensor 'a' after modifying value at a[1,0]:
a:
tensor([[3., 5.],
         [9., 2.],
         [5., 7.]])

예시 2

# Python program to access and modify values of a tensor in PyTorch
# Import necessary libraries
import torch

# Define PyTorch Tensor
a = torch.Tensor([[3, 5],[1, 2],[5, 7]])
print("a:\n", a)

# Access all values of 2nd row using slicing
b = a[1]
print("a[1]:\n", a[1])

# Access all values of 1st and 2nd rows
b = a[0:2]
print("a[0:2]:\n" , a[0:2])

# Access all values of 2nd col
c = a[:,1]
print("a[:,1]:\n", a[:,1])

# Access values from first two rows but 2nd col
print("a[0:2, 1]:\n", a[0:2, 1])

# assignment operator is used to modify with new value
# Modifying the values of 2nd row
a[1] = torch.Tensor([9, 9])
print("After modifying a[1]:\n", a)

# Modify values of first two rows but 2nd col
a[0:2, 1] = torch.Tensor([4, 4])
print("After modifying a[0:2, 1]:\n", a)

출력

a:
tensor([[3., 5.],
         [1., 2.],
         [5., 7.]])
a[1]:
   tensor([1., 2.])
a[0:2]:
   tensor([[3., 5.],
         [1., 2.]])
a[:,1]:
   tensor([5., 2., 7.])
a[0:2, 1]:
   tensor([5., 2.])
After modifying a[1]:
   tensor([[3., 5.],
            [9., 9.],
            [5., 7.]])
After modifying a[0:2, 1]:
tensor([[3., 4.],
         [9., 4.],
         [5., 7.]])