반응형

Python/Pytorch 26

[Pytorch] contiguous 원리와 의미

torch의 contiguous에 대해서 안녕하세요. 이번 시간에는 파이토치에서 메모리 내에서의 자료형 저장 상태로 등장하는 contiguous의 원리와 의미에 대해서 간단히 살펴보도록 하겠습니다. contiguous 여부와 stride 의미 간단한 예시를 들어 설명하기 위해서 shape이 (4, 3)으로 동일한 두 tensor a, b를 다음과 같이 선언해보겠습니다. import torch a = torch.randn(3, 4) a.transpose_(0, 1) b = torch.randn(4, 3) # 두 tensor는 모두 (4, 3) shape print(a) ''' tensor([[-0.7290, 0.7509, 1.1666], [-0.9321, -0.4360, -0.2715], [ 0.1232,..

Python/Pytorch 2022.02.08

[Pytorch] 텐서 쌓기 함수 torch.cat(), torch.stack() 비교

torch cat vs stack 함수 차이 이번 글에서는 파이토치에서 텐서를 쌓는 경우 사용하게 되는 cat과 stack 함수의 차이와 사용 방법에 대해서 살펴보도록 하겠습니다. 먼저, 다음과 같이 간단한 (2, 3) shape의 2차원 텐서 2개를 선언하겠습니다. import torch # (2, 3) 사이즈 2차원 텐서 2개 생성 a = torch.tensor([[1, 2, 3], [4, 5, 6]]) b = torch.tensor([[7, 8, 9], [10, 11, 12]]) 이제 이 두 개의 텐서를 가지고 cat과 stack 함수를 적용해보겠습니다. 파이토치 cat 함수 사용법 cat 함수는 원하는 dimension 방향으로 텐서를 나란하게 쌓아줍니다. 예를 들어, (a, x, y)와 (b, ..

Python/Pytorch 2022.01.27

[Pytorch] 원소 반복 텐서 확장 : expand, expand_as, repeat 사용법

torch expand, expand_as, repeat 함수 차이 비교 이번 글에서는 파이토치에서 원소를 반복하여 텐서의 차원을 확장하는 함수들인 expand, expand_as, repeat 함수들의 사용법 차이를 분석해보는 시간을 가져보도록 하겠습니다. 파이토치 expand 함수 expand() 메소드는 원하는 차원 크기를 input으로 받아 텐서의 값들을 뒤쪽 axis에서 반복하여 확장된 차원의 반복 텐서를 생성합니다. 반복을 원하는 텐서의 size가 (x, y, z) 식이라면, input으로는 (a, b, c, ... , x, y, z) 처럼 마지막 axis들의 크기는 input으로 넣은 차원과 동일한 크기여야 합니다. 첫 번째로, 1차원 텐서의 확장 예시입니다. import torch x = ..

Python/Pytorch 2022.01.26

[Pytorch] squeeze와 unsqueeze 함수 사용법 정리

torch squeeze vs unsqueeze 이번 글에서는 파이토치에서 squeeze와 unsqueeze 함수의 용도와 사용 예시에 대해서 살펴보도록 하겠습니다. 이 글은 파이토치의 squeeze, unsqueeze 함수에 대한 공식 문서를 바탕으로 작성되었습니다. Pytorch squeeze 함수 사용 방법 참고로, 지난 번에 numpy의 squeeze 함수 사용법에 대하여 다룬 글이 있었는데, torch 라이브러리에서도 원리는 거의 비슷합니다. [Numpy] np.squeeze 함수 사용법과 의미 파이썬 넘파이 np.squeeze() 함수 : 크기가 1인 axis 제거 이번 시간에는 파이썬 넘파이 배열에서 크기가 1인 추가 axis를 제거하는 np.squeeze 함수의 사용법과 의미에 대해서 간단..

Python/Pytorch 2022.01.25

[Pytorch] 쿠다 버전 확인, 파이토치 버전 체크, 업데이트 방법

CUDA 및 파이토치 버전 확인 및 관리 Pytorch를 사용하는 경우 CUDA 버전을 확인하고, 쿠다와 호환이 잘 되는 파이토치 버전으로 변경해주어야 하는 경우가 있을 수 있습니다. 이번 글에서는 간략하게 파이토치를 최적으로 사용하기 위한 환경에 대해 점검하고 버전을 관리하는 방법을 말씀드려보도록 하겠습니다. 쿠다 버전 확인법 CUDA 버전을 확인하는 방법은 명령 프롬프트에 $ nvcc --version를 입력하시거나, ipynb 파일의 셀 내에 !nvcc --version를 입력해주시면 됩니다. 출력 결과에서 마지막 줄의 숫자를 확인해보시면 됩니다. 예시로 코랩 환경에서 CUDA의 버전을 조회해본 결과, 11.1 version을 사용하고 있는 것을 알 수 있었습니다. 혹은, 아래의 pytorch ve..

Python/Pytorch 2022.01.23

[Pytorch] 파이토치 텐서 변환, 선언하는 방법

이번 포스팅에서는 파이토치를 사용하기 위한 첫 단계로, 텐서를 선언하는 여러 방법에 대해서 살펴보도록 하겠습니다. 파이토치 텐서 변환 (list, array -> tensor) 우선 리스트를 텐서로 변환하는 방법부터 살펴보도록 하겠습니다. import torch list_ex = [1, 2, 3, 4.5] tensor_int = torch.IntTensor(list_ex) # integer tensor -> 1, 2, 3, 4 tensor_long = torch.LongTensor(list_ex) # long tensor -> 1, 2, 3, 4 (int보다 더 큰 범위 가능) tensor_float = torch.FloatTensor(list_ex) # float tensor -> 1.0, 2.0, 3..

Python/Pytorch 2021.11.14
반응형