open-mmlab/mmsegmentation

[KeyError: 'PALETTE'] while loading model after retraining

Ouverte

#2 039 ouverte le 7 sept. 2022

 (5 commentaires) (0 réaction) (1 personne assignée)Python (2 386 forks)batch import
help wanted

Métriques du dépôt

Stars
 (6 867 étoiles)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

Hi, I am getting following error while loading the model after retraining on my custom dataet.

mmseg/apis/inference.py:36, in init_segmentor(config, checkpoint, device)
     34     checkpoint = load_checkpoint(model, checkpoint, map_location='cpu')
     35     model.CLASSES = checkpoint['meta']['CLASSES']
---> 36     model.PALETTE = checkpoint['meta']['PALETTE']
     37 model.cfg = config  # save the config in the model for convenience
     38 model.to(device)

KeyError: 'PALETTE'

I checked the keys in my saved model which are these

dict_keys(['epoch', 'iter', 'mmcv_version', 'time', 'CLASSES'])

Did training with following code

# Build the detector
model = build_segmentor(cfg.model)
# Add an attribute for visualization convenience
model.CLASSES = datasets[0].CLASSES
model.PALETTE = datasets[0].PALETTE

# Create work_dir
mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir))
train_segmentor(model, datasets, cfg, distributed=False, validate=True, 
                meta=dict())

Guide contributeur