Fung.info is an app that detects and classify a fungi or mushroom types. We use Tensorflow as we build the model using CNN, where this method is one type of Machine Learning that commongly used for image data. We utilize CNN to do the Image Classification to determine the fungi types and use a pre-trained model called MobileNetV3(Large) to cover a wide range of image classification and to have a small sized model.
This repository mainly consist of 3 files: Fung.info is an app that detects and classify a fungi or mushroom types. We use Tensorflow as we build the model using CNN, where this method is one type of Machine Learning that commongly used for image data. We utilize CNN to do the Image Classification to determine the fungi types and use a pre-trained model called MobileNetV3(Large) to cover a wide range of image classification and to have a small sized model.
This repository mainly consists of 3 (three) files:
- 'MobileNet Model.ipynb' is the notebook files of this project
- 'label.txt' is used to store a list of labels or classes used in classification task
- 'model3.tflite' is machine learning model file that has been converted to .tflite format for the needs of this project
- Run the code on the notebook using Google Colaboratory
- Wait for the code training process until 'model3.tflite' finishes downloading automatically.
- Manually download the label from
File
.
- Building and training a classification model using MobileNetV3Large as a base model.
- The weights parameter is set to 'imagenet', indicating that the pre-trained weights of the model trained on the ImageNet dataset will be used.
include_top
is set to False to exclude the fully connected layers of the base model.input_shape
is set to (255, 255, 3).- The model is compiled using the Adam optimizer.
- The loss function is set to
categorical_crossentropy
as commonly used in multi-class classification. - The training is performed for 40 epochs with early stop using callbacks.
- The history of the training is stored in the history variable.
- Model training stops at the 20th epoch with early stop callbacks after having no increase in the
val_accuracy
value. The value at the last epoch displayed is 0.9121. - The
val_loss
value shows a value that decreases at each epoch and at the end of the epoch it shows the number 0.2804.