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

Pytorcheseo Tensorui Gabs E Aegseseuhago Sujeonghaneun Bangbeob Eun Mueos Ibnikka



파이토치 사용자가 텐서를 생성/정의하고 조작할 수 있는 딥러닝 프레임워크입니다. 텐서는 다양한 유형과 모양의 데이터/값을 저장할 수 있는 다차원 배열입니다. 그러나 때때로 사용자는 원하는 텐서의 특정 내용이나 값에 액세스하고 수정하기를 원합니다. 이 상황에서는 다른 방법을 사용하여 이 작업을 수행할 수 있습니다.

이 블로그에서는 PyTorch의 텐서 값에 액세스하고 수정하는 방법을 설명합니다.

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

PyTorch에서 텐서 값을 가져오고 수정하려면 다음 두 가지 방법을 사용할 수 있습니다.







방법 1: 인덱싱을 사용하여 Tensor 값에 액세스하고 수정

인덱싱은 위치를 기반으로 특정 텐서에서 특정 요소 또는 요소 범위를 선택하는 방법입니다. 사용자는 대괄호 '를 사용해야 합니다. [ ] ”를 사용하여 텐서의 각 차원에 있는 요소에 액세스합니다. 2D 텐서의 경우 'tensor[i,j]'를 사용하여 행 'i'와 열 'j'의 요소에 액세스할 수 있습니다. 그렇게 하려면 제공된 단계를 따르십시오.



1단계: PyTorch 라이브러리 가져오기

먼저 '를 가져옵니다. 토치 ' 도서관:



수입 토치

2단계: 텐서 생성

그런 다음 ' 토치.텐서() ” 함수를 사용하여 원하는 텐서를 생성하고 해당 요소를 인쇄합니다. 예를 들어, 우리는 2D 텐서를 생성하고 있습니다. 10 ” 크기가 2×3인 경우:





10 = 토치. 텐서 ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

인쇄 ( 10 )

이로써 아래와 같이 2D 텐서가 생성되었습니다.



3단계: 인덱싱을 사용하여 Tensor의 값에 액세스

이제 인덱스를 통해 원하는 텐서 값에 액세스하세요. 예를 들어, '의 인덱스 '[1][2]'를 지정했습니다. 10 ”를 사용하여 해당 값에 액세스하고 이를 “라는 변수에 저장했습니다. 임시_요소 '. 그러면 두 번째 행과 세 번째 열에 있는 값에 액세스됩니다.

임시_요소 = 10 [ 1 ] [ 2 ]

인쇄 ( 임시_요소 )

여기: ' [1] ”는 두 번째 행을 의미하고 “ [2] '는 '에서 인덱싱이 시작되므로 세 번째 열을 의미합니다. 0 '.

텐서에서 원하는 값(예: '4')에 액세스한 것을 볼 수 있습니다.

4단계: 인덱싱을 사용하여 Tensor의 값 수정

텐서의 특정 값을 수정하려면 인덱스를 지정하고 새 값을 할당하세요. 여기서는 '의 값을 대체합니다. [0][1] ” 인덱스는 “ 열 다섯 ':

10 [ 0 ] [ 1 ] = 열 다섯

인쇄 ( 10 )

아래 출력은 지정된 텐서 값이 성공적으로 수정되었음을 보여줍니다.

방법 2: 슬라이싱을 사용하여 Tensor 값에 액세스하고 수정

슬라이싱은 하나 이상의 차원을 가진 텐서의 하위 집합을 선택하는 방법입니다. 사용자는 콜론 연산자 ':'를 사용하여 슬라이스의 시작 및 끝 인덱스와 단계 크기를 지정할 수 있습니다. 더 잘 이해하려면 아래 제공된 단계를 확인하십시오.

1단계: PyTorch 라이브러리 가져오기

먼저 '를 가져옵니다. 토치 ' 도서관:

수입 토치

2단계: 텐서 생성

다음으로, “를 사용하여 원하는 텐서를 생성합니다. 토치.텐서() ” 기능을 수행하고 해당 요소를 인쇄합니다. 예를 들어, 우리는 2D 텐서를 생성하고 있습니다. 102 ” 크기가 2×3인 경우:

102 = 토치. 텐서 ( [ [ 5 , 1 , 9 ] , [ , 7 , 2 ] ] )

인쇄 ( 102 )

이로써 2D 텐서가 생성되었습니다.

3단계: 슬라이싱을 사용하여 Tensor의 값에 액세스

이제 슬라이싱을 사용하여 원하는 텐서 값에 액세스합니다. 예를 들어, 'tens1'의 인덱스 '[1]'을 지정하여 해당 값에 액세스하고 이를 ''라는 변수에 저장했습니다. new_values '. 그러면 두 번째 행에 있는 모든 값에 액세스됩니다.

new_values = 102 [ 1 ]

인쇄 ( '두 번째 행 값: ' , new_values )

아래 출력에서는 텐서의 두 번째 행에 있는 모든 값에 성공적으로 액세스되었습니다.

텐서의 세 번째 열 값에 액세스하는 또 다른 예를 살펴보겠습니다. 그렇게 하려면 “ [:, 2] ” 인덱스:

new_values2 = 102 [ : , 2 ]

인쇄 ( '세 번째 열 값: ' , new_values2 )

이는 텐서의 세 번째 열 값에 성공적으로 액세스하여 표시했습니다.

4단계: 슬라이싱을 사용하여 Tensor의 값 수정

텐서의 특정 값을 수정하려면 인덱스를 지정하고 새 값을 할당하십시오. 여기서는 텐서의 두 번째 행 값을 모두 변경합니다. 이를 위해 우리는 “ [1] ” 인덱스를 생성하고 새 값을 할당합니다.

102 [ 1 ] = 토치. 텐서 ( [ 30 , 60 , 90 ] )

인쇄 ( '수정된 텐서: ' , 102 )

아래 출력에 따르면 텐서의 두 번째 행 값이 모두 성공적으로 수정되었습니다.

PyTorch에서 텐서 값에 액세스하고 수정하는 효율적인 방법을 설명했습니다.

메모 : 여기에서 Google Colab Notebook에 액세스할 수 있습니다. 링크 .

결론

PyTorch에서 텐서의 값이나 콘텐츠를 가져오고 수정하려면 먼저 'torch' 라이브러리를 가져옵니다. 그런 다음 원하는 텐서를 생성합니다. 다음으로 인덱싱 또는 슬라이싱 방법을 사용하여 텐서의 원하는 값에 액세스하고 수정합니다. 이를 위해 인덱스의 인덱스를 각각 지정하고 텐서의 액세스 및 수정된 값을 표시합니다. 이 블로그에서는 PyTorch의 텐서 값에 액세스하고 수정하는 방법을 설명했습니다.