• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

EfficientNet b7 Scaling 미적용 질문

22.01.11 03:41 작성 조회수 170

0

안녕하세요 권철민 강사님. 열심히 수강하고 있는 수강생입니다.

 

다름이 아니라 EfficientNet B7 학습 중 질문이 생겨서 이렇게 문의드립니다.

 

제가 이해하기론 기존까지 Deep Learning 학습할 때 이미지 픽셀의 범위는 -1 ~ 1 혹은 0~1 사이로 scaling 한 다음에 학습을 진행하였는데, 이 모델에서는 픽셀 값이 scaling이 아예 미적용된 것 같습니다.

 

저번 강의에서 keras가  tensorflow 2.3? 2.4? 버전에서 병합되면서 그 이후로 preprocess _input을 적용해도 스케일링이 잘 안된다고 하셨는데 그 이유 때문인가요?

 

이렇게 scaling이 적용이 안될 경우에 scaling 적용 없이 학습을 진행해도 무방한 건가요?

 

무방한 것이 아니라면 torch style의 scaling이라도 해서 학습을 해야되는 건지 궁금합니다.

 

항상 감사드립니다 강사님!!

답변 1

답변을 작성해보세요.

1

안녕하십니까, 

efficientnet이 keras native 구현이랑 tf.keras 구현이 좀 다릅니다. 

keras원래 구현은 이미지 값을 torch style로 변경합니다. 

아래 소스코드에서 530~540 라인을 보시면 됩니다. 

https://github.com/keras-team/keras-applications/blob/master/keras_applications/efficientnet.py

그런데 tf.keras 구현은 이미지 값을 변경하지 않습니다. 그래서 별도의 이미지값 scaling을 적용하지 않았습니다.  

아래 소스코드에서 744 ~ 763 라인을 보시면 됩니다. 

https://github.com/keras-team/keras/blob/v2.7.0/keras/applications/efficientnet.py#L526-L549

 

감사합니다. 

김성웅님의 프로필

김성웅

질문자

2022.01.11

항상 자세하고 친절한 답변 감사드립니다!!  항상 건강하세요 강사님 :)