④ ③에서 만들어 준 데이터셋을 변형해 줍니다.
ⓐ shuffle(): 데이터셋을 임의로 섞어 줍니다. 여기에서 사용되는 것이 buffer_size입니다. 데이터를 메모리로 불러와서 섞는 과정이 진행되므로 buffer_size를 지정합니다. 버퍼에서 임의로 샘플을 뽑고, 뽑은 샘플은 다른 샘플로 대체합니다. 데이터셋이 완벽하게 섞이기 위해 전체 데이터셋의 크기에 비해 크거나 같은 버퍼 크기로 지정해야 합니다.
ⓑ batch(): 데이터셋의 항목들을 하나의 배치로 묶어 줍니다. batch_size는 몇 개의 샘플로 가중치를 갱신할지 지정합니다.
ⓒ drop_remainder: 마지막 배치 크기를 무시하고 지정한 배치 크기를 사용할 수 있습니다.
다음은 훈련과 검증 용도의 데이터셋에 대한 형태를 출력한 결과입니다.
x_train_shape: (25000, 80) tf.Tensor(1, shape=(), dtype=int64) tf.Tensor(0, shape=(), dtype=int64)
x_test_shape: (25000, 80)
(128, 80)