서론

저번 시간에 난관에 부딛혔는데- 주말 동안 쉬는 동안 괜찮은 아이디어가 생각났다.

이제 한번 구현해보자.

괜찮은 아이디어

일단 저번 시간에 겪었던 문제를 다시 복기하는 것으로 시작하자.

(한동안 코딩에만 집중을 하다 보니까, 이렇게 글을 쓰면서 시간을 보내는게 뭔가 편법처럼 느껴지지만)

먼저 가장 처음 보이는 가시적인 문제는 당연하다시피 제대로 돌아가지 않는다는 것이다.

거기서 문제가 생기는 1차적인 원인은 Convolution 연산이 계산 그래프를 만들지 않는다는 점이다.

2차적인 원인은 Convolution이 이미 있던 연산이 아니라 직접 만든 함수이기 때문에 계산 그래프에 추가하는 함수를 호출하지 않는다는 점이다.

그래서 저번에 집중적으로 봤던 것은, 내가 직접 만든 함수가 어떻게든 원본 numpy 함수처럼 느껴지게 할 수 있는지였다.

하지만 그런 시도가 계속 실패했는데…

새로운 아이디어가 생각났다.

아예 그냥 Tensor 쪽에 새 함수를 만들어서 직접 불러주면 된다는 것이다.

당장 짜보자.

Bias 문제

그 다음 문제는 Bias에서 나오는데… 이게 생각보다 잘 안 더해진다. Broadcast가 생각대로 안된다.

Broadcast를 붙잡고 씨름하기보단 그냥 함수를 새로 만들어버리자.

계산 그래프 문제 2

또 계산 그래프에 Convolution이 안들어간다.

뭐가 문제지

사실 다른 문제도 있기는 하지만 지금 그것보다 이게 더 중요하다.

뭐가 문제인지 알아냈고, 고쳤다.

다음 시간

아직도 문제는 여기 저기 산적해있다. 그 부분을 고쳐보도록 하자.

(물론 지금 가장 큰 문제는 이 저주받은 속도이다.)