Search code examples
pythontensorflowobject-detectionobject-detection-apifaster-rcnn

Tensorflow Object Detection API Untrained Faster-RCNN Model


I am currently trying to build an Object Detector using the the Tensorflow Object Detection API with python. I have managed to retrain the faster-rcnn model by following the instructions posted here and here

However, training time is considerably long as I understand that I am. I understand that I am using transfer learning as opposed to training a faster-rcnn model from scratch. I am wondering if there is anyway to download an untrained faster-rcnn model and train it from scratch (end-to-end) instead of having to recourse to transfer-learning.

I am familiar with the advantages of transfer learning, however, my object detector is aimed at being quickly trainable, narrow in scope, and trained on letters as opposed to objects, so I do not think transfer learning is the best route.

I beleive solving this will have something to do with the pipeline.config file, particulary in this part:

fine_tune_checkpoint: "PATH/TO/PRETRAINED/model.ckpt"
from_detection_checkpoint: true
num_steps: 200000

But I am not sure how to specify that there is no fine_tune_checkpoint


Solution

  • To train your own model from scratch do the following:

    1. Comment out the following lines
        # fine_tune_checkpoint: <YOUR PATH>
        # from_detection_checkpoint: true
    
    1. Remove your downloaded pretrained model or rename its path in case you followed the tutorial.

    You don't have to download an "empty" model. Instead you can specify your own weight initialization in the config file, e.g., as done here: How to initialize weight for convolution layers in Tensorflow Object Detection API?