Modified retrain.py script to allow multi-label image classification using pretrained Inception net.
The label_image.py has also been slightly modified to write out the resulting class percentages into results.txt.
Detailed explanation of all the changes and reasons behind them: https://medium.com/@bartyrad/multi-label-image-classification-with-inception-net-cbb2ee538e30
TensorFlow 0.12.0-rc1 - use branch master
or
TensorFlow 1.1.0 - use branch tensorflow_1.0 - thanks moh3th1
All the training images must be in JPEG format.
This version has been update to solve possible problems with calculating evaluation accuracies.
Usage change:
Put all the training images in one folder and create a file labels.txt inside project root containing all the possible labels.
-
Put all the training images into one folder inside
imagesdirectory.The name of the folder does not matter. I use
multi-label.
-
We need to prepare files with correct labels for each image. Name the files
<image_file_name.jpg>.txt= if you have an imagecar.jpgthe accompanying file will becar.jpg.txt.Put each true label on a new line inside the file, nothing else.
Now copy all the created files into the
image_labels_dirdirectory located in project root. You can change the path to this folder by editing global variable IMAGE_LABELS_DIR inretrain.py -
Create file
labels.txtin project root and fill it with all the possible labels. Each label on a new line, nothing else. Just like animage_labelfile for an image that is in all the possible classes.
Simply run the appropriate command from retrain.sh.
Feel free to play with the parameters.
Disclaimer: If you try to retrain the model with just the single example image car.jpg, it is going to crash.
Include at least 20 images in folder inside images directory.
Run: python label_image.py <image_name> from project root.
After the retraining is done you can view the logs by running:
tensorboard --logdir retrain_logs
and navigating to http://127.0.0.1:6006/ in your browser.
If you want to try the original Inception net retraining, here is an excellent CodeLab: https://codelabs.developers.google.com/codelabs/tensorflow-for-poets
Apache License, Version 2.0