Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix AttributeError: 'numpy.float32' object has no attribute 'int' #937

Conversation

romanab
Copy link

@romanab romanab commented Jun 12, 2023

In version NumPy 1.24.0, the deprecated np.int has been removed.

In version NumPy 1.24.0, the deprecated np.int has been removed.
@mikel-brostrom
Copy link
Owner

The hard requirement on numpy comes from trackeval: JonathonLuiten/TrackEval#117. Unless it is updated this package cannot be pushed

@romanab
Copy link
Author

romanab commented Jun 12, 2023 via email

@mikel-brostrom
Copy link
Owner

This could be because you are using python<3.8?

@romanab
Copy link
Author

romanab commented Jun 14, 2023 via email

@meua
Copy link

meua commented Jun 15, 2023

This could be because you are using python<3.8?

python 3.8 has the same problem,as follows:

(py38) jarvis@jia:~/coding/pyhome/mikel-brostrom/yolo_tracking$ python examples/evolve.py --tracking-method strongsort --benchmark MOT17 --n-trials 100 
evolve: yolo_model=/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/weights/yolov8n.pt, reid_model=/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/weights/lmbn_n_cuhk03_d.pt, tracking_method=strongsort, name=exp, project=/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/runs/evolve, classes=['0'], exist_ok=False, benchmark=MOT17, split=train, eval_existing=, conf=0.45, imgsz=[1280], device=[''], n_trials=100, resume=False, processes_per_device=2, objectives=['HOTA', 'MOTA', 'IDF1'], tracking_config=/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/boxmot/strongsort/configs/strongsort.yaml
[I 2023-06-15 16:56:30,725] A new study created in memory with name: no-name-9d0dc866-21aa-4152-a09a-d13379e1b243
2023-06-15 16:56:30.727 | INFO     | __main__:get_new_config:185 - Writing newly generated config for trial
2023-06-15 16:56:30.739 | INFO     | val:download_mot_eval_tools:64 - Eval repo already downloaded
2023-06-15 16:56:30.740 | INFO     | val:eval:195 - Staring evaluation process on /home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/val_utils/data/MOT17/train/MOT17-02-FRCNN/MOT17-02-FRCNN
2023-06-15 16:56:35.030 | ERROR    | val:eval:223 - 2023-06-15 16:56:32.418 | INFO     | boxmot.utils.torch_utils:select_device:52 - Yolo Tracking v10.0.13 🚀 Python-3.8.16 torch-1.13.1+cu117 CUDA:0 (NVIDIA GeForce RTX 3080 Ti, 12037MiB)

2023-06-15 16:56:32.418 | INFO     | __main__:run:66 - {'yolo_model': PosixPath('/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/weights/yolov8n.pt'), 'reid_model': PosixPath('/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/weights/lmbn_n_cuhk03_d.pt'), 'tracking_method': 'strongsort', 'source': '/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/val_utils/data/MOT17/train/MOT17-02-FRCNN/MOT17-02-FRCNN', 'imgsz': [1280], 'conf': 0.4706543672687518, 'iou': 0.7, 'device': '', 'show': False, 'save': True, 'classes': [0], 'project': '/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/runs/evolve', 'name': 'exp2', 'exist_ok': True, 'half': False, 'vid_stride': 1, 'hide_label': False, 'hide_conf': False, 'save_txt': True}
2023-06-15 16:56:34.563 | INFO     | __main__:run:171 - image 1/600 /home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/val_utils/data/MOT17/train/MOT17-02-FRCNN/MOT17-02-FRCNN/000001.jpg: 736x1280 12 persons, YOLO 7.7ms, TRACKING 24.6ms
Traceback (most recent call last):
  File "/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/track.py", line 222, in <module>
    main(opt)
  File "/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/track.py", line 217, in main
    run(vars(opt))
  File "/home/jarvis/anaconda3/envs/py38/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/examples/track.py", line 126, in run
    predictor.tracker_outputs[i] = predictor.trackers[i].update(dets.cpu().detach().numpy(), im0)
  File "/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/boxmot/strongsort/strong_sort.py", line 64, in update
    self.tracker.update(detections, clss, confs)
  File "/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/boxmot/strongsort/sort/tracker.py", line 95, in update
    self.tracks[track_idx].update(
  File "/home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking/boxmot/strongsort/sort/track.py", line 279, in update
    self.class_id = class_id.int()
AttributeError: 'numpy.float32' object has no attribute 'int'

2023-06-15 16:56:35.030 | ERROR    | val:eval:224 - Successfully loaded imagenet pretrained weights from "/home/jarvis/.cache/torch/checkpoints/osnet_x1_0_imagenet.pth"

(py38) jarvis@jia:~/coding/pyhome/mikel-brostrom/yolo_tracking$ python -V
Python 3.8.16
(py38) jarvis@jia:~/coding/pyhome/mikel-brostrom/yolo_tracking$ pip list | grep boxmot
boxmot                        10.0.13      /home/jarvis/coding/pyhome/mikel-brostrom/yolo_tracking
(py38) jarvis@jia:~/coding/pyhome/mikel-brostrom/yolo_tracking$ 

@meua
Copy link

meua commented Jun 15, 2023

Problem solved, edit boxmot/strongsort/sort/track.py line 279,

-        self.class_id = class_id.int()
+        self.class_id = np.int32(class_id)

@mikel-brostrom
Copy link
Owner

mikel-brostrom commented Jun 20, 2023

Problem solved, edit boxmot/strongsort/sort/track.py line 279,

-        self.class_id = class_id.int()
+        self.class_id = np.int32(class_id)

Fixed based on this. Turned this variable into an INT64 for larger ID range

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants