작성
·
238
0
# Coefficients: width,depth,res,dropout | |
'efficientnet-b0': (1.0, 1.0, 224, 0.2), | |
'efficientnet-b1': (1.0, 1.1, 240, 0.2), | |
'efficientnet-b2': (1.1, 1.2, 260, 0.3), | |
'efficientnet-b3': (1.2, 1.4, 300, 0.3), | |
'efficientnet-b4': (1.4, 1.8, 380, 0.4), | |
'efficientnet-b5': (1.6, 2.2, 456, 0.4), | |
'efficientnet-b6': (1.8, 2.6, 528, 0.5), | |
'efficientnet-b7': (2.0, 3.1, 600, 0.5), | |
'efficientnet-b8': (2.2, 3.6, 672, 0.5), | |
'efficientnet-l2': (4.3, 5.3, 800, 0.5), |
제 데이터의 경우 276x10인데 기본 모델의 res값과 일치하는 게 없는데 이런 경우는 어떻게 해야 하나요?
일단 사용 중인 coefficient값은 efficientnetb0모델에서 res값만 제 데이터에 맞게 바꿨습니다.
(width=1.0, depth=1.0, res=[276,10], dropout=0.2)
답변 2
0
선생님 답변 정말 감사합니다!
가로길이와 세로길이는 제가 사용하고 있는 데이터가 이미지 데이터는 아니고 다른 데이터인데 CNN을 적용하고 있는 거여서 matrix의 각 요소들이 중요한 값들이라 변경하기가 힘듭니다ㅠ
padding같은 경우를 생각해보긴 했는데, 각 요소들 하나하나가 중요한 값들이라 임의로 값을 채워넣어도 될까 싶은 마음에 padding을 적용해보진 않았습니다.
지금 드는 생각은 두가지 정도가 생각이 드는데
1) 선생님께서 말씀해주신 대로 padding을 하여 ratio를 맞춰준다.
2) res는 여전히 res=[276,10]로 고려하고, width, depth, dropout 최적의 값들을 찾아낸다.
선생님 생각은 어떠신가요?
결국 둘 다 코드를 돌려보고 결과를 통해 보는 게 답일까요?
0
안녕하십니까,
1. 올려주신 캡처와 소스코드만 봐서는 1 fold에서 loss가 0.70이상으로 다른 fold보다 높은 이유를 잘 모르겠습니다.
다만 전체 이미지 건수가 많지 않다면 fold에 따라서 편차가 생길 수는 있다고 생각됩니다. fold를 3으로 줄여서 테스트 해보시거나, 아님 kfold의 random_state를 변경하면서 다른 fold 세트를 만들어서 한번 테스트 해보시지요.
2. 음, 가로 길이에 비해 세로 길이가 심하게 작군요.
(width=1.0, depth=1.0, res=[276,10], dropout=0.2)
과 같이 res를 변경해 보셨으면 다른 방법도 한번 적용해 보시지요. res는 그대로 224로 유지 하시고 원본 이미지의 크기를 224x224로 만들되 이를 그대로 resize하면 ratio가 깨지는 이미지가 되므로 resize전에 padding으로 원본 이미지의 세로 영역을 넘는 세로 영역은 검은색 으로 채우신 후에 resize하시고 이를 이용하여 이미지를 다시 만들어 보시지요.
아래와 같이 albumentations의 PadIfNeeded와 Resize를 결합해 보시면 될 것 같습니다. 원본 이미지에 아래 코드 적용해 보신 후에 학습을 시켜 보시면 어떨까 싶습니다.
네, 둘다 코드를 돌려 보고 결과를 봐야 할 것 같습니다.