카메라 이미지 품질 향상 AI 경진대회

모델을 생성해보고 있는데, 질문이 있습니다.

2021.07.12 03:16 3,967 Views

keras가 제공하는 다른 모델 (예를들어 mobilenet, VGG) 등의 model과 제가 짠 모델을 합쳐서 새 모델을 생성하는 과정에, 질문이 있습니다.


1번 질문입니다. Baseline 코드에서, 왜 데이터셋의 TensorShape의 첫번째 요소가 8인가요? 제가 생각할때에는 8이 아니고, crop된 파일의 갯수인 155740과 31200이 와야 한다고 생각하는데, 어디를 잘못 생각하고 있는지 궁금합니다.


2번 질문입니다. 다음과 같이 생성된 모델이 있다고 해봅시다. 편의상 실행시키면 학습까지 바로 진행되게 해놓았습니다.

그런데 자꾸  Incompatible shapes: [8,16,16,3] vs. [8,256,256,3]  처럼, shape이 맞지 않는다는 에러가 뜹니다.

output 부분을 여러번 바꿔서 시도해 보았지만, 에러 메시지의 shape 모양만 달라질 뿐, 도저히 학습이 진행되게 하는 모델을 만들 수 없습니다.

어떻게 shape를 맞춰야 하는걸까요? 구글링도 해보고 Baseline 코드를 5시간 넘게 뜯어보았지만 알아낸 것이 없습니다. 간단한 예시와 함께 알려주실 분 계신지요 ㅠㅠ

로그인이 필요합니다
0 / 1000
최정명
2021.07.12 03:37

이미지가 잘 안 보이네요.

심훈
2021.07.12 03:45

사진 수정 했습니다!

Team
2021.07.12 04:50

1번에서 8은 심훈님께서 설정하신 배치사이즈이고
2번은 model의 output과 label의 shape이 맞지않아서 생기는 문제로 보이며, 데이콘의 베이스라인대로 unet(decoder)를 붙여서 output의 width, height를 키워주면 해결될것으로 보입니다

심훈
2021.07.12 10:53

아 output의 width height도 256 256 이 되어야 하는건가요??

Team
2021.07.12 12:17

네 output과 label의 w,h shape이 같아야 비교를 할 수 있기 때문이에요.

심훈
2021.07.12 23:21

감사합니다. 그런 원리였군요..  summary()에서 shape 보면서 하니 이제 돌아가는 모델을 만들 수 도 있겠군요.

1.의 질문을 해결했으니 이제 텐서에서의 Batch_size와 모델 학습 시 넣는 batch_size는  어떻게 다른건지 찾아봐야겠습니다.