본문 바로가기

ML | DL

[Keras] fit vs fit_generator

이번에는 fit과 fit_generator의 차이점을 비교해보았습니다.
사실 잘 정리된 글들이 많아서.. 저는 제가 다시 정리하며 공부하려고 포스팅중이에요. ^^

keras에서 모델을 training 하기 위해 사용하는 메소드로 fit과 fit_generator가 있습니다.


fit

fit은 모델을 학습시킬 때 사용할 데이터를 모두 한번에 입력합니다.
그만큼 메모리를 많이 사용하기 때문에 small dataset일 때가 적합합니다.
그냥 다 때려박고 학습시키면 되기 때문에 굉장히 편리합니다.

 

fit_generator

fit_generator는 데이터를 직접 한번에 입력시키는 게 아니라, generator를 거친 데이터를 입력합니다.
generator는 batch size만큼 데이터를 생성하여 모델로 넘겨줍니다.
또한 generator는 multi-processing을 할 때 데이터가 중복되는 현상을 피할 수 있다고 합니다.
따라서 fit의 메모리 문제를 해결할 수 있습니다.


저는 보통 fit을 더 많이 씁니다. (메모리 문제를 크게 겪은 적이 없었음
augmentation때문에 fit_generator도 써봤는데 큰 차이점은 모르겠고, 그냥 dataset genator 만드는게 더 어려웠네요..

출처 : Keras documentation, https://datascience.stackexchange.com/questions/34444/what-is-the-difference-between-fit-and-fit-generator-in-keras