pytorch hook
고등학생 때 DLL injection으로 피카츄 배구 해킹같은걸 했었는데, 그 때 사용했던 기법들이 일종의 hooking이다. 그런 기법들을 공식적으로 pytorch의 nn.Module에서 지원해준다.
규칙
pytorch의 hook들은 다음과 같은 규칙을 가진다.
* return이 있다면 해당 return을 본래 객체에 적용한다.
* return이 없다면 기존 객체의 동작대로 동작한다.
* hook될 함수는 객체로 전달되기 때문에 아무 이름이나 붙여되 된다.