[딥러닝] Tensorflow에서 데이터로더 병렬처리 방법개요tensorflow에서 sequence 데이터로더를 사용하여 학습할 때, 데이터로더 처리 시간이 길어 gpu 사용률(Volatile GPU-Util)이 낮은 경우가 있다. gpu 사용률이 낮은건 다양한 이유가 있지만, 그 중 cpu 처리 속도가 느려 데이터를 로드하는 시간이 길어 학습 연산하는 gpu가 놀고 있는 경우도 있다. 이런 경우에는 학습 시간이 오래 걸리기 때문에, 데이터를 불러오는 시간을 줄여야 한다. 이 때, tensorflow에서 지원하는 OrderedEnqueuer를 사용하면 sequence를 병렬처리하여 시간을 단축시킬 수 있다.OrderedEnqueuer 사용법Sequence 데이터로더 생성Sequence를 상속받아 Data..
Tensorflow에서 커스텀 데이터로더 만들기(Custom Dataloader, Sequence)Sequence를 사용하여 Custom Dataset 만들기초기화 함수(__init__)길이 함수(__len__)index값에 따라 데이터를 반환하는 함수(__getitem__)한 epoch이 끝날 때마다 실행하는 함수(on_epoch_end)전체 소스 코드참고자료Sequence를 사용하여 Custom Dataset 만들기pytorch에서 보통 데이터 로드할때 torch.utils.data.DataSet을 많이 사용하는데요,tensorflow 2.0 이상 버전에서도 비슷하게 custom dataset loader를 만드는 방법이 있습니다.tensorflow.keras.utils.Sequence를 사용하는 건..
- Total
- Today
- Yesterday