library_name: tf-keras | |
tags: | |
- image-to-image | |
## Model description | |
This repo contains the model for the notebook [Image Classification using BigTransfer (BiT)](https://keras.io/examples/vision/bit/). | |
Full credits go to [Sayan Nath](https://twitter.com/sayannath2350) | |
Reproduced by [Rushi Chaudhari](https://github.com/rushic24) | |
BigTransfer (also known as BiT) is a state-of-the-art transfer learning method for image classification. | |
## Dataset | |
The [Flower Dataset](https://github.com/tensorflow/datasets/blob/master/docs/catalog/tf_flowers.md) is A large set of images of flowers | |
## Training procedure | |
### Training hyperparameters | |
The following hyperparameters were used during training: | |
``` | |
RESIZE_TO = 384 | |
CROP_TO = 224 | |
BATCH_SIZE = 64 | |
STEPS_PER_EPOCH = 10 | |
AUTO = tf.data.AUTOTUNE # optimise the pipeline performance | |
NUM_CLASSES = 5 # number of classes | |
SCHEDULE_LENGTH = ( | |
500 # we will train on lower resolution images and will still attain good results | |
) | |
SCHEDULE_BOUNDARIES = [ | |
200, | |
300, | |
400, | |
] | |
``` | |
The hyperparamteres like `SCHEDULE_LENGTH` and `SCHEDULE_BOUNDARIES` are determined based on empirical results. The method has been explained in the [original paper](https://arxiv.org/abs/1912.11370) and in their [Google AI Blog Post](https://ai.googleblog.com/2020/05/open-sourcing-bit-exploring-large-scale.html). | |
The `SCHEDULE_LENGTH` is aslo determined whether to use [MixUp Augmentation](https://arxiv.org/abs/1710.09412) or not. You can also find an easy MixUp Implementation in [Keras Coding Examples](https://keras.io/examples/vision/mixup/). | |
![table](https://i.imgur.com/oSaIBYZ.jpeg) | |
### Training results | |
![Metrics Image](./metrics.png) |