This is an experimental setup to build code base for pytorch. Its main is to experiment faster using transfer learning on all available pre-trained models.
- Black-grass
- Charlock
- Cleavers
- Common Chickweed
- Common wheat
- Fat Hen
- Loose Silky-bent
- Maize
- Scentless Mayweed
- Shepherds Purse
- Small-flowered Cranesbill
- Sugar beet
To train the models:
make -f Makefile.train
To test the models:
make -f Makefile.predict
total number of train images: 4268 total number of val images: 482 total number of test images: 794
- Full Finetuning
- Freeze first few layers
Models | Train Accuracy_score | Val Accuracy_score |
---|---|---|
resnet18 | 0.92783 | 0.93153 |
resnet34 | 0.9522 | 0.94190 |
resnet50 | 0.95665 | 0.94398 |
resnet101 | 0.96696 | 0.96265 |
resnet152 | 0.96555 | 0.95643 |
squeezenet1_0 | 0.94329 | 0.92738 |
squeezenet1_1 | 0.93955 | 0.93153 |
densenet121 | 0.95243 | 0.9336 |
densenet169 | 0.96626 | 0.93983 |
densenet201 | 0.96063 | 0.95020 |
inception_v3 | 0.94212 | 0.93568 |
vgg11 | 0.93814 | 0.93153 |
vgg13 | 0.94493 | 0.94190 |
vgg16 | 0.95665 | 0.93568 |
vgg19 | 0.95009 | 0.93775 |
vgg11_bn | 0.94142 | 0.93775 |
vgg13_bn | 0.94423 | 0.92738 |
vgg16_bn | 0.94634 | 0.94190 |
vgg19_bn | 0.94915 | 0.93360 |
alexnet | 0.91260 | 0.90456 |
resnext101_64x4d | 0.98055 | 0.96887 |
resnext101_32x4d | 0.98172 | 0.96887 |
nasnetalarge | 0.96907 | 0.96265 |
inceptionresnetv2 | 0.96134 | 0.95435 |
inceptionv4 | 0.96930 | 0.96473 |
Models | Train Accuracy_score | Val Accuracy_score |
---|---|---|
resnet18 | 0.9196 | 0.91493 |
resnet34 | 0.94845 | 0.93983 |
resnet50 | 0.9564 | 0.93983 |
resnet101 | 0.96790 | 0.96265 |
resnet152 | 0.96508 | 0.95643 |
squeezenet1_0 | 0.94048 | 0.92738 |
squeezenet1_1 | 0.93088 | 0.92116 |
densenet121 | 0.95173 | 0.95228 |
densenet169 | 0.96087 | 0.94813 |
densenet201 | 0.95384 | 0.95020 |
inception_v3 | 0.94025 | 0.93775 |
vgg11 | 0.93697 | 0.92946 |
vgg13 | 0.93533 | 0.92323 |
vgg16 | 0.94821 | 0.93983 |
vgg19 | 0.95243 | 0.94190 |
vgg11_bn | 0.93416 | 0.92738 |
vgg13_bn | 0.93322 | 0.92323 |
vgg16_bn | 0.94728 | 0.93775 |
vgg19_bn | 0.94798 | 0.94190 |
alexnet | 0.89784 | 0.88589 |
resnext101_64x4d | 0.98617 | 0.96887 |
resnext101_32x4d | 0.98195 | 0.96473 |
nasnetalarge | 0.95970 | 0.96265 |
inceptionresnetv2 | 0.95103 | 0.94813 |
inceptionv4 | 0.96251 | 0.93775 |
Models | Train Accuracy_score | Val Accuracy_score |
---|---|---|
resnet18 | 0.77553 | 0.75518 |
resnet152 | 0.82778 | 0.81535 |
resnet101 | 0.82333 | 0.80290 |
resnet50 | 0.79943 | 0.78630 |
resnet34 | 0.78655 | 0.74688 |
squeezenet1_0 | 0.91447 | 0.87966 |
squeezenet1_1 | 0.90089 | 0.87344 |
densenet121 | 0.80880 | 0.81120 |
densenet169 | 0.84746 | 0.82987 |
densenet201 | 0.86621 | 0.86514 |
inception_v3 | 0.76101 | 0.74688 |
vgg11 | 0.78209 | 0.78008 |
vgg13 | 0.75960 | 0.72821 |
vgg16 | 0.77038 | 0.71576 |
vgg19 | 0.71204 | 0.64522 |
vgg11_bn | 0.76522 | 0.74481 |
vgg13_bn | 0.76241 | 0.76348 |
vgg16_bn | 0.76265 | 0.75726 |
vgg19_bn | 0.75773 | 0.73858 |
alexnet | 0.83153 | 0.76348 |
Models | Train Accuracy_score | Val Accuracy_score |
---|---|---|
resnet18 | 0.98477 | 0.96058 |
resnet152 | 0.99273 | 0.97717 |
resnet101 | 0.99367 | 0.97717 |
resnet50 | 0.99133 | 0.97510 |
resnet34 | 0.98969 | 0.97095 |
squeezenet1_0 | 0.96274 | 0.94190 |
squeezenet1_1 | 0.96485 | 0.92738 |
densenet121 | 0.99086 | 0.96887 |
densenet169 | 0.99507 | 0.97510 |
densenet201 | 0.99390 | 0.97717 |
inception_v3 | 0.98898 | 0.97302 |
vgg11 | 0.98031 | 0.95020 |
vgg13 | 0.98078 | 0.95643 |
vgg16 | 0.98266 | 0.95435 |
vgg19 | 0.98430 | 0.95643 |
vgg11_bn | 0.98570 | 0.96265 |
vgg13_bn | 0.98687 | 0.97095 |
vgg16_bn | 0.99179 | 0.96680 |
vgg19_bn | 0.99297 | 0.96680 |
alexnet | 0.95970 | 0.92946 |
- densenet201 LB - to 97.22
- ensemble1 - mode of all best performing models LB - 97.32
- Adding mixup strategy to all the networks
- Ensembling model outputs
- Model stacking
- Extracting bottleneck features and using - ML to train the model - Visualization using T-sne
- Solve issue with bninception(Model is not training)
- Train Vggm network