musco-pytorch icon indicating copy to clipboard operation
musco-pytorch copied to clipboard

copy.deepcopy does not work on Faster R-CNN models

Open joskaaaa opened this issue 5 years ago • 2 comments

Relying on copy.deepcopy to copy the model in:

  • compression_conf_fc.ipynb
  • compress.py

Does not work for Faster R-CNN models which use mixed serialization & non-script modules.

This results in the error: _pickle.PickleError: ScriptModules cannot be saved using torch.save. Mixed serialization of script and non-script modules is not supported. For purely script modules use my_script_module.save(<filename>) instead.

Refer to PyTorch issue 18106.

What Faster R-CNN Resnet50 model were you using for this to work? I have been trying with the torchvision pretrained model with no success: torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)

joskaaaa avatar Jun 13 '19 23:06 joskaaaa

Hello @joskaaaa ,

we have experimented with two pre-trained Faster R-CNN models, one from the facebook repository and another one from here.

In both models ROI part is not serializable. That is why on compression step we firstly extract a backbone from the model, then compress it and insert compressed backbone back to the model.

juliagusak avatar Jun 14 '19 11:06 juliagusak

@juliagusak can you please explain how to save and load MaskRCNN objects?

mattans avatar Nov 12 '19 09:11 mattans