인프런 커뮤니티 질문&답변

gaeun na님의 프로필 이미지
gaeun na

작성한 질문수

TensorFlow 2.0으로 배우는 딥러닝 입문

TensorFlow 2.0과 ANN을 이용한 MNIST 숫자분류기 구현

ANN 구현

작성

·

254

0

앞선 강의(softmax regression)에서는 train_data = train_data.repeat().shuffle(60000).batch(batch_size) 형태로 구현됐었는데

이후 강의(ann, autoencoder...)에서는 train_data = train_data.shuffle(60000).batch(batch_size) 형태로 구현돼 있습니다.

repeat()의 유무는 중요하지 않은건가요?

답변 1

0

AISchool님의 프로필 이미지
AISchool
지식공유자

안녕하세요~. 반갑습니다.

.repeat()을 추가할 경우 batch를 무한히 반복해서 추출할 수 있게 됩니다.

반대로 .repeat()을 추가하지 않을 경우 batch를 데이터셋 크기만큼 1번 추출할 수 있습니다. (예를 들어, MNIST 예제의 경우 60,000개의 데이터 추출 가능)

softmax regression 구현에서는 무한히 데이터를 추출할수 있게 한뒤에 인위적으로 1000번의 반복 추출을 통해서 학습을 진행하였고

ann, autoencoder 구현에서는 1번의 epoch에서 전체 데이터를 한번 순회한뒤(60,000개의 데이터 추출) 이 행위를 epoch 횟수만큼 반복해서 학습을 진행하였습니다.

따라서 상황에 따라서 적절하게 repeat()을 사용유무를 고려해서 사용하시면 됩니다.

좋은 하루되세요~.

감사합니다.

gaeun na님의 프로필 이미지
gaeun na

작성한 질문수

질문하기