i'm new in python so for my college final project, i use EfficientNet for the ripeness palm oil into 4 classification. i've total 5852 train data (1463 each) , and 132 test data (33 each). i used code from the internet. but the result is far from good. i already add layers.dropout to prevent / avoid underfitting. and i also use imagenet to do the transfer learning. is there any solution to improve the result?
Edit: i already change my code from conv_base.trainable = False to conv_base.trainable = True. But i think the result still not good
here's my full code: https://drive.google.com/file/d/1OeiSA23xmF5ceq19aqc1l20mlT3Uxocs/view?usp=sharing
and here's my result
To my opinion 5852 samples for training Efficientnet is far from enough. You also don't have enough data for validation. I train Efficientnet on more than million samples and still it tends to overfit. My advice to you is to try a simpler CNN architecture (you can start with simple LeNet and try to add layers). If you prefer the transfer learning method try to work with BiT model ( https://ai.googleblog.com/2020/05/open-sourcing-bit-exploring-large-scale.html ) it will give you better results.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.