[카테고리:] Pytorch
-
[Pytorch] torch.fft 작동 방식
파이토치를 이용해 이미지를 frequency domain으로 변환시켜주는 함수들에 대해 정리해보려 한다. 파이토치의 torch.fft 모듈은 푸리에 변환(Fourier Transform)을 수행하는 다양한 함수를 제공한다. ( 관련 모든 함수들은 다음 링크를 참조 https://pytorch.org/docs/stable/fft.html ) 이번 글에서는 torch.fft.fftn, torch.fft.fftshift, torch.fft.rfftn, 그리고 역변환인 torch.fft.ifftn의 작동 방식을 설명하고 실행예시를 정리하려 한다. torch.fft.fftn 가장 먼저 torch.fft.fftn 이다. n 차원의 tensor에 discrete Fourier transform을 적용시켜주는…
-
[Pytorch] torch.roll 작동 방식
파이토치로 사용할수 있는 torch.roll에 대한 설명과 실행예시이다. 아래 그림처럼 swin transformer를 사용할때 Shifted Window Partitioning을 적용하기 위해 사용하는 함수이고 이미지를 간단하게 shift할 수 있다. 아래는 실행 결과이다. 왼쪽의 이미지를 torch.roll(img_tensor, shifts=(-100, -100), dims=(1, 2)) 를 통해 변환하면 오른쪽 이미지가 된다. 밀린 픽셀 수는 각각 shifts 값으로 설정한 100이다. 변환된 결과를 보면 알겠지만 shift로 넘어가지는 부분이…
-
[Pytorch] torch.nn.PixelShuffle/PixelUnshuffle 작동 방식
파이토치 라이브러리 중 하나인 pixelshuffle과 pixelunsuffle 함수의 작동 방식을 간단히 살펴보려한다. Image Restoration 분야에서도 down sampling과 up sampling을 할 때 많이 활용하는 함수이다. 말 그대로 픽셀들끼리 섞어서 그룹을 만들어 채널을 줄이면서 사이즈를 늘리거나(pixel shuffle) 반대로 픽셀들끼리 그룹을 만들고 채널 별로 펼쳐서 채널을 늘리면서 사이즈를 줄이는 방식이다(pixelunsuffle). 공식 설명은 아래와 같이 되어있다. 작동 방식은 정확히 안…