Tensorflow Object Detection APi를 사용해서 학습을 시키려면 데이터 포맷을 TFRecord 포캣으로 변경해야한다.
TFRecord 파일은 텐서플로우의 학습 데이타 등을 저장하기 위한 바이너리 데이타 포맷으로, 구글의 Protocol Buffer 포맷으로 데이타를 파일에 Serialize 하여 저장한다.
CSV 파일에서와 같이 숫자나 텍스트 데이타를 읽을때는 크게 지장이 없지만, 이미지를 데이타를 읽을 경우 이미지는 JPEG나 PNG 형태의 파일로 저장되어 있고 이에 대한 메타 데이타와 라벨은 별도의 파일에 저장되어 있기 때문에, 학습 데이타를 읽을때 메타데이타나 라벨용 파일 하나만 읽는 것이 아니라 이미지 파일도 별도로 읽어야 하기 때문에, 코드가 복잡해진다.
또한 이미지를 JPG나 PNG 포맷으로 읽어서 매번 디코딩을 하게 되면, 그 성능이 저하되서 학습단계에서 데이타를 읽는 부분에서 많은 성능 저하가 발생한다.
이와 같이 성능과 개발의 편의성을 이유로 TFRecord 파일 포맷을 이용하는 것이 좋다.
'인공지능' 카테고리의 다른 글
데이터 전처리와 Augmentation(증가) // 인공지능 논문리뷰 (0) | 2020.02.20 |
---|---|
epochs/batch size (0) | 2020.02.13 |
Tensor란? (0) | 2020.01.15 |
tensorflow 기본문법(placeholder/variable/constant) (0) | 2020.01.15 |
CNN / Faster R-CNN (0) | 2020.01.13 |