logo

파이토치의 모듈러 연산 📂머신러닝

파이토치의 모듈러 연산

설명

모듈러 연산이란, 나머지 연산이라고도 불리며 $a$를 $b$로 나누었을 때의 나머지를 반환하는 함수를 말한다. 파이토치에는 두 가지 함수가 있다.

  • torch.remainder(a,b)
  • torch.fmod(a,b)

둘 다 $a$를 $b$로 나누었을 때의 나머지를 주는 것은 같지만, 결과가 조금 다르다. 구체적인 수식이 궁금하다면 remainderfmod의 공식 문서를 참고하라. 쉽게 말해서 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