pytoch를 살펴보면 가끔 (... , inplace=True) 를 볼 수 있다.
이는 입력에 대해 copy
하지 않고 직접적으로 operation을 진행한다는 의미로 볼 수 있다.
무슨말이냐면, 똑같은 변수에 operation을 수행한다는 의미이다.
_
가 뒤에 붙는 함수들이 이런 역할을 해주는데 예를들어서 add_()
나 scatter_()
같은 연산들이 있다.
+=
나 *=
도 마찬가지로 inplace operation이다.
가끔 backprop할때 이런것 때문에 연산이 안되는 경우도 있는 것 같음. (/= 연산 같은거)