def upgrade_state_dict_named(self, state_dict, name):
    'Upgrade a (possibly old) state dict for new versions of fairseq.'
    if isinstance(self.embed_positions, SinusoidalPositionalEmbedding):
        weights_key = '{}.embed_positions.weights'.format(name)
        if (weights_key in state_dict):
            del state_dict[weights_key]
        state_dict['{}.embed_positions._float_tensor'.format(name)] = torch.FloatTensor(1)
    for i in range(len(self.layers)):
        self.layers[i].upgrade_state_dict_named(state_dict, '{}.layers.{}'.format(name, i))
    version_key = '{}.version'.format(name)
    if (utils.item(state_dict.get(version_key, torch.Tensor([1]))[0]) < 2):
        self.layer_norm = None
        self.normalize = False
        state_dict[version_key] = torch.Tensor([1])
    return state_dict
Upgrade a (possibly old) state dict for new versions of fairseq.
def upgrade_state_dict_named(self, state_dict, name):
    
    if isinstance(self.embed_positions, SinusoidalPositionalEmbedding):
        weights_key = '{}.embed_positions.weights'.format(name)
        if (weights_key in state_dict):
            del state_dict[weights_key]
        state_dict['{}.embed_positions._float_tensor'.format(name)] = torch.FloatTensor(1)
    for i in range(len(self.layers)):
        self.layers[i].upgrade_state_dict_named(state_dict, '{}.layers.{}'.format(name, i))
    version_key = '{}.version'.format(name)
    if (utils.item(state_dict.get(version_key, torch.Tensor([1]))[0]) < 2):
        self.layer_norm = None
        self.normalize = False
        state_dict[version_key] = torch.Tensor([1])
    return state_dict