z1069614715 / objectdetection_script

一些关于目标检测的脚本的改进思路代码,详细请看readme.md
5.08k stars 460 forks source link

no "backbone" in yaml file in yolo_v8_heatmap #12

Closed ngyuilun closed 1 year ago

ngyuilun commented 1 year ago

I receive an error when there is no "backbone" in the yolo_v8 yaml config. Would like to ask if you can provide example yaml config files?

/yolov8_heatmap.py in __init__(self, weight, cfg, device, method, layer, backward_type, conf_threshold, ratio)
    52         model_names = ckpt['model'].names
    53         csd = ckpt['model'].float().state_dict()  # checkpoint state_dict as FP32
--> 54         model = Model(cfg, ch=3, nc=len(model_names)).to(device)
    55         csd = intersect_dicts(csd, model.state_dict(), exclude=['anchor'])  # intersect
    56         model.load_state_dict(csd, strict=False)  # load

/opt/conda/lib/python3.8/site-packages/ultralytics/nn/tasks.py in __init__(self, cfg, ch, nc, verbose)
    174             LOGGER.info(f"Overriding model.yaml nc={self.yaml['nc']} with nc={nc}")
    175             self.yaml['nc'] = nc  # override yaml value
--> 176         self.model, self.save = parse_model(deepcopy(self.yaml), ch=ch, verbose=verbose)  # model, savelist
    177         self.names = {i: f'{i}' for i in range(self.yaml['nc'])}  # default names dict
    178         self.inplace = self.yaml.get('inplace', True)

/opt/conda/lib/python3.8/site-packages/ultralytics/nn/tasks.py in parse_model(d, ch, verbose)
    437     ch = [ch]
    438     layers, save, c2 = [], [], ch[-1]  # layers, savelist, ch out
--> 439     for i, (f, n, m, args) in enumerate(d['backbone'] + d['head']):  # from, number, module, args
    440         m = getattr(torch.nn, m[3:]) if 'nn.' in m else globals()[m]  # get module
    441         for j, a in enumerate(args):

KeyError: 'backbone'
z1069614715 commented 1 year ago

可能是代码版本更新了 后期有空调试看看