Renaming Model Object

Model:

EfficientDet(
  (backbone): EfficientNetFeatures(
    (conv_stem): Conv2d(4, 48, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
    (bn1): BatchNorm2d(48, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)
...
...

Is there a way to rename backbone object to some other name?

Hi,

Actually, nn.Module is a OrderedDict and a python code can change it by traversing over keys/values in this dictionary. Here is an example:

from collections import OrderedDict
model.__dict__['_modules'] = OrderedDict([('new_backbone_name', v) if k == 'backbone' else (k, v) for k, v in model.__dict__['_modules'].items()])

Bests