배우기 · 3
모듈
nn.Module 이 파라미터를 들고 순방향을 안다. 이름은 torch 의 것이고,
다른 것은 model.call(x) 로 부른다는 것뿐이다 — 자바스크립트는 객체를
그냥 부를 수 없다.
층 하나
nn.Linear(in, out) 의 weight 는 (출력, 입력)
이다. torch 와 같은 배치라 체크포인트가 전치 없이 건너간다.
쌓기
nn.Sequential 이 모듈을 잇는다. parameters() 는 옵티마이저가
밟아야 할 텐서를 모은다 — 거기 빠진 파라미터가 있으면 학습은 돌고 그 층만 안 배운다.
예외는 안 난다.
직접 만들 때
nn.Module 을 물려받고 forward 를 쓴다. 직접 만든 파라미터는
claim 으로 세워야 parameters() 에 나온다 — 안 하면 조용히
안 배우므로, 밑 클래스가 그것을 말하게 한다.
손실
손실도 같은 이름 공간에 있고 부르는 꼴도 같다. CrossEntropyLoss 는
logits 와 int64 정답을 받는다 — torch 와 똑같이, 원-핫이 아니다.