① tensorflow_datasets 라이브러리는 다음 메서드를 제공합니다.
- list_builders(): 데이터 목록 출력
- load(): 데이터 로드
여기에서는 load() 메서드를 사용하여 ‘imdb_reviews/subwords8k’ 데이터셋을 내려받은 후 훈련과 검증용으로 데이터셋을 분리합니다.
tfds.load()에서 제공하는 파라미터는 다음과 같습니다.
ⓐ 내려받을 데이터셋의 이름을 지정합니다.
ⓑ 내려받은 데이터셋을 훈련과 검증용으로 분리합니다.
ⓒ 전체 데이터에 대한 메타 정보도 함께 불러옵니다.
ⓓ 데이터를 (input, label) 튜플 형태로 반환합니다.
② padded_batch() 메서드는 배치에서 가장 긴 문자열의 길이를 기준으로 시퀀스를 0으로 채웁니다. 예를 들어 다음과 같이 패딩을 적용하여 시퀀스 길이를 동일하게 표준화할 수 있습니다.
import tensorflow as tf
dataset = tf.data.Dataset.range(111)
dataset = dataset.map(lambda x: tf.fill([tf.cast(x, tf.int32)], x))
dataset = dataset.padded_batch(2, padded_shapes=(None,))
for batch in dataset.take(3):
print(batch.numpy())