This repository contains the code for training of MobileNetV3 for segmentation as well as default model for classification. Every module here is subject for subsequent customizing.
The container could be started by a Makefile command. Training and evaluation process was made in Jupyter Notebooks so Jupyter Notebook should be started.
make run
jupyter notebook --allow-root
CNN architectures
MobileNetV3 backnone with Lite-RASSP modules were implemented. Architecture may be found in modules/keras_models.py
Loss functions
F-beta and FbCombinedLoss (F-beta with Cross Entropy) losses were implemented. Loss functions may be found in modules/loss.py
Augmentations
There were implemented the following augmentations: Random rotation, random crop, scaling, horizontal flip, brightness, gamma and contrast augmentations, Gaussian blur and noise.
Provided one has at least Pixart and Supervisely Person Dataset it is only needed to run every cell in the notebook subsequently.
Trained model
To successfully convert this version of MobileNetV3 model to TFLite optional argument "training" must be removed from every batchnorm layer in the model and after that pretrained weights may be loaded and notebook cells for automatic conversion may be executed.