4월 15일부터 train을 시작하여 1epoch당 30분씩 약 300epoch을 돌리는데 무려 150시간이나 걸렸다.

자는 시간 제외하고는 항상 컴퓨터를 쓰고 있으니 자는 시간에만 틈틈이 학습시켜야 했는데, 메모리 부족으로 한 번에 10epoch이상 돌릴 수가 없었다.

원래 데이터셋도 6만장을 사용해야 했는데 1.6만장으로도 이 정도 걸린 걸 생각하면 더 많은 시간이 걸렸을 것이다.

150시간의 결과물

300epoch 훈련시킨 결과는 생각보다 만족스럽지 못하다. auto-painter 논문에서는 되게 잘 되는 것 처럼 보였으나, 실제로 해당 논문을 구현해놓은 github을 clone해서 직접 실행시켜보니 여전히 실제로 사용하기엔 한참 모자라보였다.

다만 해당 논문에서는 훈련시킬 때 두 가지 모델을 만들었는데, 하나는 픽셀 정보를 일부 남겨놓고 학습을 시켜서 추후 inference할 때 input image에 일부 색을 칠해주면 해당 부분은 그 색으로 칠해지는 경향이 있었다. 아마 이 부분에 있어서 모델을 더 개선시킨다면 재미를 줄 수 있는 정도의 서비스는 되지 않을까 생각한다.

그래도 완전 못 봐줄 정도의 성능은 아닌 것 같다. 일부 색을 비슷하게 추론하는 경우도 생각보다 많이 보였고, 신기한 것은 완전히 대비되는 색상을 가진 그림들이 많이 보였다. 무엇보다도 캐릭터의 피부색 만큼은 잘 찾아서 적절한 색으로 칠해지는 것을 확인할 수 있었다. 이 부분은 아무래도 VGG를 이용하여 feature를 추출한 것과, 일정한 형태(사람 모양)을 한 캐릭터들이기 때문에 가능했던 것 같다.

우선 이 모델을 이용해서 서빙해볼 생각이다. 지난번엔 Ainize를 이용하였지만, 이번엔 가능하면 아마존 클라우드를 이용해볼 생각이다. 아무래도 딥러닝 모델이다보니 inference에 컴퓨팅 파워가 필요해서 무료 플랜으로 가능한지는 모르겠지만 시도는 해봐야겠다.

더 많은 시도를 통해 모델을 개선해보고, 파라미터를 수정해보고 하고 싶은데 개인 컴퓨터로는 아무래도 한계가 있는 것 같다. 그래도 취미로 하기엔 재밌어서 다행이다. 추후 여유가 된다면 더 좋은 GPU로 실험해보고 싶다.

+ Recent posts