작성
·
186
0
TensorFlow 2.0을 이용한 YOLO 논문 구현 chapter의
'train.py - train_step 정의 & for-loop을 이용한 gradient descent 수행 & 파라미터 및 텐서보드(TensorBoard) 로그 저장'
에서
1분 14초 line 90에
expand_dims을 사용해서 0차원에 dummy dimension 추가하는 code가 있는데
여기서 왜 dummy dimension을 만드는 건가요?
같은 강의의
line 279의 if문은
이전에 training 중 의도치 않게 프로그램이 종료되었거나 이전의 학습에 추가적으로 더 학습시키고자 할 때,
저장된 여러 checkpoint 중 마지막 checkpoint에 저장된 model값을 tf.train.Checkpoint의 instance에 다시 저장한다고 이해하면 되나요?
답변 1
0
안녕하세요~. 반갑습니다.
1.
expand_dims을 사용해서 0차원에 dummy dimension 추가하는 code가 있는데
여기서 왜 dummy dimension을 만드는 건가요?
->
dummy dimension을 추가한 image array는 결국 tf.keras.applications.InceptionV3 의 input으로 들어가서 처리되게 되는데요.
https://github.com/solaris33/YOLO-v1-tf2/blob/main/model.py#L8
이때 해당 부분에서 인풋으로 기대하는 dimension이 [batch_size, height, width, color_channel]이라서 앞에 dummy로 batch_size=1을 넣어줘서 차원을 맞춰주어서 오류가 나지 않도록 만드는 것입니다.
2.
line 279의 if문은
이전에 training 중 의도치 않게 프로그램이 종료되었거나 이전의 학습에 추가적으로 더 학습시키고자 할 때,
저장된 여러 checkpoint 중 마지막 checkpoint에 저장된 model값을 tf.train.Checkpoint의 instance에 다시 저장한다고 이해하면 되나요?
->
네 이해하신바가 맞습니다~.
공부하시다가 궁금하신점 있으시면 언제든지 편하게 질문주세요~.
감사합니다.