musco-ai / musco-pytorch

MUSCO: MUlti-Stage COmpression of neural networks
BSD 3-Clause "New" or "Revised" License
71 stars 16 forks source link

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

Open joskaaaa opened 5 years ago

joskaaaa commented 5 years ago

Relying on copy.deepcopy to copy the model in:

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)

juliagusak commented 5 years ago

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.

mattans commented 5 years ago

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