• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

두 가지 질문 드립니다.

21.06.07 19:53 작성 조회수 138

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에 다시 저장한다고 이해하면 되나요?

->

네 이해하신바가 맞습니다~.

공부하시다가 궁금하신점 있으시면 언제든지 편하게 질문주세요~.

감사합니다.