# 87th solution

I appreciate the organizers and participants!
I am looking forward to seeing other solutions!
I am not good at English, but I hope this helps anyone.
This is my 87th(LB 90th) solution.
Solution
I referred
[@kkiller](https://www.kaggle.com/kkiller)
's nice notebook
[https://www.kaggle.com/kneroma/clean-fast-simple-bird-identifier-inference](https://www.kaggle.com/kneroma/clean-fast-simple-bird-identifier-inference)
My final solution is
Ensemble 65models (13 types x 5 folds)
Audio clip length 6 sec in inference time
DataAugmentation in training time
1. Ensemble 65models
I noticed increasing model type is effective local score and LB for first a few submissions, so I trained various CNN types and selected nice models seeing the result of my local score in inference time.
Model list is below
EfficientNet-v2 large
EfficientNet-v2 medium
EfficientNet-v2 b3
EfficientNet-b6
EfficientNet-b4
EfficientNet-b2
EfficientNet-b0
ResNeSt50d x3 (2 random seeds and train methods)
ResNet200d
DenseNet201
DenseNet121
Other than these models, I tried NFNet and other ResNet types, but I have no time for training convergence.
Final prediction labels are selected by threshold=0.2.
2. Audio clip , 3.Data Augmentation
I decided that audio clip length is 6sec in inference for maximizing local score. ( I trained some models in 7sec crop and the others in holizontal random crops(5~7sec), but the score is maximized in 6sec crops. )
Moreover, I used not only one hot label but also second_labels for teaching labels.
primary_label = 0.9
secondary_labels = 0.5
other = 0.01
And, I used BCEwithLogits loss.
Training settings
StratifiedKFold 5fold
RandomSeed = 42, 46
LearningRate = 0.0008
CosineAnnealingLR
Mixup
not improving
clip length unsemble in inference time
typical data augmentation (parital dropout, random cutout, gaussian noise, random changing brightness and contrast)
threshold based on every bird from appearance frequencies in training data
At the end, I want to thank everyone in this competition and kaggle again!