segment/predict: weights=/home/ailab/student/caof28/yolov9/gelan-c-seg.pt, source=data/images, data=data/coco128.yaml, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/predict-seg, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1, retina_masks=False
YOLO 🚀 2024-6-29 Python-3.8.19 torch-1.13.0 CUDA:0 (NVIDIA GeForce RTX 3090, 24268MiB)
Fusing layers...
Model summary: 414 layers, 27423808 parameters, 0 gradients, 144.6 GFLOPs
Traceback (most recent call last):
File "/home/ailab/student/caof28/yolov9/segment/predict.py", line 246, in <module>
main(opt)
File "/home/ailab/student/caof28/yolov9/segment/predict.py", line 241, in main
run(**vars(opt))
File "/home/ailab/student/yjz/anaconda_tmp/envs/yolop/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/ailab/student/caof28/yolov9/segment/predict.py", line 126, in run
masks = process_mask(proto[i], det[:, 6:], det[:, :4], im.shape[2:], upsample=True) # HWC
File "/home/ailab/student/caof28/yolov9/utils/segment/general.py", line 54, in process_mask
c, mh, mw = protos.shape # CHW
AttributeError: 'list' object has no attribute 'shape'
修改的地方:替换成下面这个,运行就成功识别了
# masks = process_mask(proto[i], det[:, 6:], det[:, :4], im.shape[2:], upsample=True) # HWC
masks = process_mask(proto[-1][i], det[:, 6:], det[:, :4], im.shape[2:], upsample=True)