2
votes

Using Tensorflow Object Detection API with SSD_inception_v2_coco from Tensorflow detection model zoo,

I want to keep the original weights in classifiers' and feature-extractors' weights from the pre-trained model.

From this discussion,

adding freeze_variables: ".*FeatureExtractor.*" in train.config will freeze the feature-extractors' weights during training.

So does it mean I have the same feature-extractors' weights in the pre-trained model?

From this discussion,

if the number of classes is different from the pre-trained model,

the classifiers' weights will be initialized.

does it mean I can have the same classifiers' weights in the pre-traind model if I use the same label map from SSD-Inception-v2-coco?

My 3rd question is about from_detection_checkpoint in the config file.

From configuring_jobs.md

"from_detection_checkpoint is a boolean value. If false, it assumes the checkpoint was from an object classification checkpoint."

I guess detection checkpoint is from Tensorflow detection model zoo

and classification checkpoint is from TensorFlow-Slim image classification model library

Am I correct?

Thank you for precious time on my questions.

1

1 Answers

0
votes

1. So does it mean I have the same feature-extractors' weights in the pre-trained model?

A feature extractor and a classifier are about the same thing. They are both essentially the weights from the Inception V2 pretrained weights. If you use the Inception V2 weights as a feature extractor for SSD, then the last layer in Inception, which converts the CNN output into class probabilities, is ignored. So you can use feature extractors/classifiers trained on Imagenet, lets say, in SSD to detects objects from the COCO class list.

2. Does it mean I can have the same classifiers' weights in the pre- traind model if I use the same label map from SSD-Inception-v2-coco?

And yes, the detection and classification checkpoints are from the pages you've listed.