• .map(Augment()): 앞서 정의한 Augment 클래스를 적용하여 데이터 증강을 수행합니다.
• .prefetch(buffer_size=tf.data.AUTOTUNE): 학습 중 데이터 로딩 시간을 줄이기 위해 데이터를 미리 가져옵니다. tf.data.AUTOTUNE은 텐서플로가 자동으로 런타임에 최적의 버퍼 사이즈를 결정하도록 합니다.
기존 몇몇 설정은 .fit() 메서드를 사용하지 않고 직접 데이터 세트를 처리하는 방식을 사용합니다. 데이터 세트에 대한 더 세밀한 제어가 필요한 경우, 예를 들어 복잡한 데이터 증강, 동적 데이터 변형, 또는 특정 조건에 따른 데이터 선택 등이 이에 해당합니다. .fit() 메서드는 표준적인 데이터 처리와 증강을 수행할 수 있지만, 사용자 정의 데이터 처리 로직을 적용하려면 직접 데이터 파이프라인을 설정하는 것이 더 유연합니다.
또한 큰 데이터 세트를 다룰 때 메모리 효율성이 중요한 요소가 됩니다. cache(), .prefetch(), .batch(), .shuffle() 같은 메서드를 사용하여 데이터 파이프라인을 최적화함으로써 데이터 로딩과 처리 과정에서 메모리 사용량을 줄이고 성능을 향상시킬 수 있습니다. 이러한 최적화는 .fit() 메서드만으로는 달성하기 어려울 수 있습니다.