질문드립니다. (200522)
안녕하세요 step, batch_size, epoch 관련해서 질문드립니다.
raccoon dataset을 이용해서 yolo (또는 tiny_yolo) 모델 학습을 할때는 Epoch, batch_size, step, raccoon dataset size 값이 다음과 같았습니다.
>> Epoch = 100
>> batch_size = 4
>> step = 45
>> raccoon dataset size = 180
epoch 1회 발생할때 step 수는 45이고 각 step 별로 사용되는 raccoon dataset size (이미지 개수) 가 4 라고 이해했습니다. 그래서 epoch 1회에 전체 size (180 = 45x4) 의 raccoon dataset이 사용되었다고 이해했습니다.
그리고 해당 epoch이 100번 실행 된다고 이해했습니다. (물론 저 같은 경우 early stopping 때문에 epoch 87회 발생후 training 종료되었습니다.
그런데 현재 oxford_pet dataset 을 이용한 training에선
>> step = 5000
>> batch_size = 24
입니다.
racccoon 대상 training의 경우와는 달리 이번의 경우에는 각 각 step마다 loss 값이 return 되었고 5000번의 step 후에 training이 종료되었습니다.
제가 드리고 싶은 질문은
[1] epoch과 step은 다른 개념이라고 알고 있는데 oxford_pet의 경우 epoch과 step이 같은 개념으로 사용되었다고 생각하면 될까요?
>> 혹시 아니라면 oxford_pet의 경우 epoch 값은 얼마이며 해당 epoch 값은 어디서 확인할 수 있나요?
[2] oxford_pet의 경우 batch_size (24) 는 어떤 의미를 가지나요?
>> 저 같은 경우 tfRecord 제작할 때 oxford_pet dataset 3680개 중 2576 개가 train용 tfRecord를 만들때 사용되었습니다.
>> train에 사용되는 전체 2576 개의 oxford_pet dataset 중 step 1회 발생할때 사용되는 oxford_pet dataset의 개수가 24개였다고 생각하면 되나요? 아니면 다른 의미를 가지고 있나요?
감사합니다.
답변 1
1
안녕하십니까,
Keras라면 epoch와 step(steps_per_epoch)는 YOLO에서 학습한 개념이 맞습니다. 정확하게 말씀드리면 keras의 steps_per_epoch는 Tensorflow version1의 step과는 많이 다릅니다.
Keras의 steps_per_epoch 은 전체 이미지 건수 / batch_size 입니다. 그리고 epoch는 전체 데이터 세트를 반복해서 몇번 학습할 것인가를 지정하는 것입니다
그런데, Tensorflow version1은 이 steps_per_epoch, epoch라는 파라미터 자체가 없습니다(Version2 는 Keras를 High level API로 가지므로 epoch, steps_per_epoch를 적용할 수 있습니다). 대신 steps와 batch size를 기반으로 epoch와 steps_per_epoch를 동적으로 계산해서 적용합니다.
Tensorflow의 steps는 총 iteration 횟수입니다(Keras로 치자면 epoch * steps_per_epoch). 만일 전체 이미지 갯수가 1000개, steps를 30,000번, batch size가 10 이라면, steps_per_epoch는 1000/10 으로 100번, epoch는 steps 30000/steps_per_epoch로 300 회가 설정됩니다.
Tensorflow object detection api는 기본적으로 tensorflow version1을 기반으로 하고 있습니다. 이렇게 steps와 batch size가 주어지면 keras 기반의 epoch와 steps_per_epoch를 매핑하실 수 있습니다.
감사합니다.
강의 환경설정 질문
0
39
2
Custom Dataset에서의 polygon 정보 관련
0
83
3
cvat.ai 보안 수준이 궁금합니다
0
80
2
캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.
0
95
3
추론 결과의 Precision(또는 mAP) 평가 방법
0
85
2
mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.
0
59
2
runpod에서 google drive 연결 시 오류 발생
0
107
2
로드맵 선택
0
66
1
mmcv
0
57
2
Anchor box의 Positive 처리 위치
0
61
2
해당 강의 runpod 적용 후 에러 제보드립니다
0
84
2
run pod credit 관련 제보
0
97
2
mmdetection 2.x과 3.x 호환 관련 표기
0
77
2
mm_faster_rcnn_train_kitti.ipynb 실행 오류
0
96
3
질문 드립니다.
0
76
3
mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.
0
78
1
강사님께 수정을 제안드리고 싶은 것이 있습니다.
0
93
1
google automl efficientdet 다운로드 및 설치 오류
0
73
1
이상 탐지에 사용할 비전 기술 조언 부탁드립니다.
0
102
2
OpenCV 관련 질문드립니다.
0
70
2
mmcv 설치관련해서 문의드려요
0
329
3
강의 구성 관련해서 질문이 있습니다
1
135
2
모델 변환 성능 질문드립니다.
0
122
1
NMS 로직 문의 드려요
0
112
2





