파이토치의 모듈러 연산
설명
모듈러 연산이란, 나머지 연산이라고도 불리며 $a$를 $b$로 나누었을 때의 나머지를 반환하는 함수를 말한다. 파이토치에는 두 가지 함수가 있다.
torch.remainder(a,b)
torch.fmod(a,b)
둘 다 $a$를 $b$로 나누었을 때의 나머지를 주는 것은 같지만, 결과가 조금 다르다. 구체적인 수식이 궁금하다면 remainder
와 fmod
의 공식 문서를 참고하라. 쉽게 말해서 remainder
는 나머지의 부호가 나누는 수 $b$와 같도록 되어있고, mod
는 나머지의 부호가 나누어지는 수 $a$와 같도록 되어있다.
>>> torch.remainder(torch.tensor([-3.1, 3.1, 1, -0.5, 2.1]), 2)
tensor([0.9000, 1.1000, 1.0000, 1.5000, 0.1000])
>>> torch.remainder(torch.tensor([-3.1, 3.1, 1, -0.5, 2.1]), -2)
tensor([-1.1000, -0.9000, -1.0000, -0.5000, -1.9000])
>>> torch.fmod(torch.tensor([-3.1, 3.1, 1, -0.5, 2.1]), 2)
tensor([-1.1000, 1.1000, 1.0000, -0.5000, 0.1000])
>>> torch.fmod(torch.tensor([-3.1, 3.1, 1, -0.5, 2.1]), -2)
tensor([-1.1000, 1.1000, 1.0000, -0.5000, 0.1000])
환경
- OS: Windows11
- Version: Python v3.9.13, torch==1.13.1