@anshul12256 (Anshul Bansal) posted a new topic, subject "Load_graph does not work for mobilenet_v2 for Object Detection on TAO (Detectnet_V2)". It read:

   Please provide the following information when requesting support.  
    detectnet_v2_train_peoplenet_r34_3C.txt (5.3 KB)
    
    • Hardware (T4/V100/Xavier/Nano/etc) - XavierNX  
    • Network Type (Detectnet_v2/Faster_rcnn/Yolo_v4/LPRnet/Mask_rcnn/Classification/etc) - Detectnet_v2  
    • TLT Version (Please run “tlt info --verbose” and share “docker_tag” here) - 3.22.02
    
    Hello everyone,  
    I was training an object detection model using **mobilenet_v2** as the architecture. I would like to know why the `load_graph` option does not work when training the network. In the 1st run of training if I set the `load_graph = True`, then I get the error saying - **layer output_cov not defined (Not sure whether this is the name but the error is very similar to this)**
    
    If I set the `load_graph = False` then I get no error when I start the training. But on the other hand, I suspect that the pre-trained weights are not loaded. However, when I set the `first_validation _epoch = 1`, then I get **mAP as 0** for all the classes.
    
    Following is the spec file I am using for training mobilenet_v2:  
    detectnet_v2_train_peoplenet_mv2_3C.txt (5.2 KB)
    
    If I use **resnet34** as the architecture and set ` load_graph = True`, the pre-trained weights are loaded in the 1st run of training. I do not have any error and the result for the `first_validation _epoch = 1` is **mAP value of 28.3**.
    
    Following is the spec file I am using for training resnet34:  
    detectnet_v2_train_peoplenet_r34_3C.txt (5.3 KB)
    
    I would like to know this difference in behavior when using mobilenet_v2 and resnet34 and the possible solution.
    
    Looking forward to your replies !!  
    Thanks

@Morganh replied

    The load_graph is a flag to determine whether or not to load the graph from the pretrained model file, or just the weights. For a pruned model, set this parameter to True. Pruning modifies the original graph, so the pruned model graph and the weights need to be imported.
    
    In your mobilenet_v2 spec, the pretrained model is  
    pretrained_model_file: “/workspace/tao-experiments/detectnet_v2/pretrained_mobilenetv2/pretrained_detectnet_v2_vmobilenet_v2-1/mobilenet_v2.hdf5”
    
    In resnet34 spec, it is another model.  
    pretrained_model_file: “/workspace/tao-experiments/detectnet_v2/tlt_peoplenet_vunpruned_v2.1/resnet34_peoplenet.tlt”
    
    So, that is different.

After which, @anshul12256 (Anshul Bansal) added

    Hello @Morganh,  
    Thank you for your reply. So does it mean that with the hdf5 model we cannot use the `load_graph` option?

To which @Morganh replied

    Yes.

@system (system) replied

    This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.


{'source': 'discourse', 'url': 'https://forums.developer.nvidia.com/t/load-graph-does-not-work-for-mobilenet-v2-for-object-detection-on-tao-detectnet-v2/213566', 'title': 'Load_graph does not work for mobilenet_v2 for Object Detection on TAO (Detectnet_V2)', 'views': 197, 'has_accepted_answer': True, 'word_count': 381, 'like_count': 0, 'reply_count': 1, 'participant_count': 2, 'posts': 5, 'tags': '', 'author': '@anshul12256 (Anshul Bansal)', 'participants': '@anshul12256 (Anshul Bansal), @Morganh, @system (system)', 'image_url': [None], 'created_at': '2022-05-06T11:43:33.853Z', 'last_posted_at': '2022-05-09T02:27:51.476Z'}