사용안내 및 노트

홈으로/사용안내 및 노트
제목012. Epoch, Step, Batch size 개념 정리2020-08-23 22:00:30
작성자

☐ Epoch, Step, Batch size 개념 정리

 ○ Epoch

  - 전체 sample 데이터를 한 바퀴 돌며 학습하는 것을 1 epoch라고 한다.

 ○ Step

  - 1개의 배치로부터 loss를 계산한 후 Weight와 Bias를 1회 업데이트하는 것을 1 Step이라고 한다.

 ○ Batch Size

  - 1 Step에서 사용한 데이터 개수이다. 가령 SGD의 batch size는 1이다.

 ○ 아래와 같은 관계가 성립한다.

s * b = n * e

n = num of sample : 전체 학습할 데이터(training examples)의 개수

e = epochs: Epoch 수

b = batch size: 배치 사이즈

s = steps: Step 수

아래와 같이 이해하면 쉽다.

n = 1회 운동 당 벤치 프레스 목표 개수 (40개)

e = epochs: 몇 번 반복할 것인가? 1회

b = batch size: 1세트 당 회수. 8개

s = steps: 몇 세트로 나누어 할 것인가. 5 세트

   · Periods controls the granularity of reporting. 가령 periods가 7이고 steps이 70이면 10단계마다(또는 7번) loss를 출력한다. periods를 수정해도 학습 내용은 변경되지 않는다.

 ○ tensorflow에서 checkpoint 생성 시점

  - epochs는 None으로 하고 steps를 지정하면

   · steps이 해당 수에 도달하면 중지 후 checkpoint를 만든다.

  - steps는 None으로 하고 epochs를 지정하면

   · 해당 횟수만큼 전체 데이터를 돌며 학습하고 중지 후 checkpoint를 만든다.

  - epochs와 steps를 모두 지정하면

   · 둘 중 어느 것이던 먼저 조건에 도달하면 중지 후 checkpoint를 만든다.