This repository is conceived with the idea of simplifying tensorflow objection detection workflow to minimize the hassles of setting up various components and maximizing automation between them. It also extends to incoporate a mobile-based inferencing of the trained models. Thus, this could work as an end-to-end toolkit solution for a tensorflow based objection detection project.
$ cd shell_scriptsI. Setup python virtual environment :
$ bash setup_tfODenv.shThis will interactively setup the environment and will be a one-time process. It also sets up a config file that facilitates the next steps. So, training on new data or with new models would re-use this setup.
Before proceeding with next step, let's make sure we have the input data in the required format. It's explored in detail at Tensorflow object detection data setup - Setup images and xmls.
II. Setup data and training :
$ bash setup_data_train.shThis will setup everything needed for training, start it and also dynamically create save_model.sh and create_mobile_optimized_model.sh that are scripts needed later on for inferencing.
III. Once done with training, we can save this model with :
$ bash save_model.shThe saved model could then be loaded into tensorflow environment for inferencing.
IV. (Optional) We can also create mobile optimized version for inferencing on mobile devices with :
$ bash create_mobile_optimized_model.shThis will create model.json and shard files :
.
├── group1-shard1of3.bin
├── group1-shard2of3.bin
├── group1-shard3of3.bin
└── model.jsonSetup mobile inference discusses a setup workflow on using these files for a mobile based inferencing.