Naver-AI-Hackathon / AI-Vision

67 stars 34 forks source link

새로주신 baseline model 을 통해 학습했을 때 속도 저하 #234

Open SONG-WONHO opened 5 years ago

SONG-WONHO commented 5 years ago

Informations

CLI

문제가 발생한 세션은 어떤건가요? (bug message or screenshot) b1ackstone/ir_ph1_v2/98

새로주신 baseline 코드를 파악하기 위해 ir_ph1_v2 데이터셋에 num_class만 1000으로 변경한 뒤, 코드를 실행했습니다.

그 결과 기존의 1epoch 보다 실행 속도가 현저히 느려졌습니다. 기존 코드는 이전 버전의 baseline code 입니다.

코드상으로는 배치 사이즈만큼 이미지를 모델에 조금씩 먹여주는거 같은데 왜이렇게 많은 속도 저하가 발생할까요? 도움을 주시면 정말 감사하겠습니다..

kuotient commented 5 years ago

Data augmentation 을 위한 keras 의 ImageDataGenerator 가 자원을 많이 먹어 병목 현상이 나타난다고 알고 있습니다. steps_per_epoch 를 줄이시면 epoch 당 실행 속도는 빠르지만 전체 dataset 에 대한 학습이 일어나지 않을 수 있어요...

SONG-WONHO commented 5 years ago

@kuotient46 아하 그렇군요 ... 참고하겠습니다. 감사합니다:)

Hackoperation commented 5 years ago

안녕하세요. Vision팀의 고병수 멘토입니다.

예선 1라운드 베이스라인 코드에서는 모든 데이터를 미리 읽고 preprocessing을 거친 값을 메모리에 저장해둔 다음에, batch size만큼의 데이터를 불러와서 학습을 하였습니다. 예선 2라운드 베이스라인 코드에서는 매 step마다 batch size 만큼의 이미지를 directory path에서 읽고, preprocessing을 거친 후 학습을 합니다. 따라서, 예선 2라운드는 매 step마다 directory path에서 데이터를 읽고 preprocessing을 거쳐야 하기 때문에, 메모리에 저장된 데이터를 바로 읽어서 사용하는 예선 1라운드보다 느릴 수 있습니다.

감사합니다 :)

SONG-WONHO commented 5 years ago

@Hackoperation 넵 확인했습니다. 감사합니다!