Home [AI] 딥러닝 논문 일반적인 구현 패턴
Post
Cancel

[AI] 딥러닝 논문 일반적인 구현 패턴

딥러닝 논문 구현 방법 개요

일반적인 구현 패턴

1) train.py : 모델 class를 인스턴스로 선언하고 For-loop을 돌면서 gradient descent를 수행하면서 파라미터를 업데이트하는 로직

  • 원하는 epoch만큼 파라미터를 업데이트 하는 실제 트레이닝 수행 - 추가적으로 파라미터 저장, 텐서보드 로그 저장등 추가 가능

2) evaluate.py/test.py : Training된 파라미터를 불러와서 evaluation이나 test/inference를 진행하는 로직

  • 현재 파라미터에 기반한 학습에서 중간중간 파라미터의 성능을 평가 - 학습이 완전히 끝난경우 test/inference 진행 - 효율성을 위해 train.py 실행되는 도중 중간중간 evaluate.py/test.py 수행함으로 별도의 모듈로 작성함

3) model.py : Keras Subclassing 형태의 모델 구조 class 정의

  • 딥러닝 모델 구조를 class 형태로 정의 - train.py 에서 실제로 클래스 인스턴스를 선언할때 사용

4) dataset.py : 데이터 전처리 및 batch 단위로 묶는 로직

5) utils.py : 딥러닝 메인 로직 외에 유틸리티성 기능들을 모아 놓은 로직

  • ex) 이미지를 불러와 저장하거나, 학습 중간 결과를 GUI로 확인 하는 등의 기능 구현(딥러닝 메인 로직과는 별개)

6) loss.py : 모델의 Loss Function을 정의 - yolo 처럼 loss Function이 복잡한 경우 별개의 모듈로 구현 - model.py / train.py에서 import하여 사용

This post is licensed under CC BY 4.0 by the author.