핵심 요약
너드팩토리가 PyTorch 기반의 이미지 분류 트레이너를 구축해 커스텀 데이터셋으로 학습·평가를 자동화하는 파이프라인을 제시했습니다.
구현 방법
- 핵심 기술 스택과 구조
- PyTorch, torchvision, ImageFolder 기반 데이터 로더, transforms, dataset.py, vgg_model.py, trainer.py
- 데이터 구조: datasets/train, datasets/evaluation 폴더 및 클래스별 이미지 폴더 구성
- 데이터 전처리: Resize(256) → CenterCrop(224) → ToTensor → Normalize(ImageNet 스탯)
- 클래스 인덱스 매핑 및 저장: datasets/class_index.json 생성
- 주요 구현 포인트
- 데이터 로더 자동 구성 및 클래스 인덱스 추출/저장 로직 구현
- VGG11 계열 경량 모델(VGG 클래스) 구성 및 가중치 초기화
- CrossEntropyLoss, Adam 옵티마이저, StepLR 스케줄러를 활용한 학습 루프 및 평가 루프 구현
- GPU 가속 및 tqdm 기반 학습 시각화, 에폭 종료 시 평가 및 모델 저장 로직 포함
주요 결과
- 커스텀 이미지 데이터에 대해 학습-평가 파이프라인을 재사용 가능한 템플릿으로 구현
- 학습 에폭 종료 시 평가 결과를 반영한 모델 저장 경로 구성(에폭/정확도/손실 포함 네이밍)
- 데이터셋 구조 및 파이프라인이 명확하게 문서화되어 재사용성이 높아짐
