
503
13
장
텐서플로에서 데이터 적재와 전처리하기
지금까지는 메모리에 들어갈 수 있는 데이터만 사용했습니다. 하지만 메모리 용량에 맞지 않는
아주 큰 규모의 데이터셋으로 딥러닝 시스템을 훈련해야 하는 경우가 많습니다. 다른 딥러닝
라이브러리를 사용해서는 대규모 데이터셋을 효율적으로 로드하고 전처리하도록 구현하기가
까다롭습니다. 텐서플로는 데이터
API
덕분에 이를 쉽게 처리할 수 있습니다. 데이터셋 객체를
만들고 데이터를 읽어 올 위치와 변환 방법을 지정하면 됩니다.텐서플로가 멀티스레딩, 큐, 배
치, 프리페치
prefetch
같은 상세한 사항을 모두 대신 처리해줍니다. 또한 데이터
API
는
tf
.
keras
와도 잘 동작합니다!
기본 기능으로 데이터
API
는 텍스트 파일(예를 들면
CSV
파일), 고정 길이의 레코드를 가진
이진 파일, 텐서플로의
TFRecord
포맷을 사용하는 이진 파일에서 데이터를 읽을 수 있습니
다. 이 포맷은 길이가 다른 레코드를 지원합니다.
TFRecord
는 일반적으로 (오픈 소스 이진
포맷인 ) 프로토콜 버퍼
protocol
buffer
를 담은 유연하고 효율적인 이진 포맷입니다. 데이터
API
는
SQL
데이터베이스에서 읽는 기능을 지원합니다. 또한 구글 빅쿼리
BigQuery
와 같은 다양한 데이
터 소스에서 읽을 수 있는 오픈 소스도 ...