-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Fix AttributeError: 'numpy.float32' object has no attribute 'int' #937
Conversation
In version NumPy 1.24.0, the deprecated np.int has been removed.
The hard requirement on numpy comes from trackeval: JonathonLuiten/TrackEval#117. Unless it is updated this package cannot be pushed |
Ok. At least it’s here for whom ever needs to change it in their own
install. Your whole repo works so far for me except for that.
…On Mon, Jun 12, 2023 at 2:36 AM Mike ***@***.***> wrote:
The hard requirement on numpy comes from trackeval:
JonathonLuiten/TrackEval#117
<JonathonLuiten/TrackEval#117>. Unless it is
updated this package cannot be pushed
—
Reply to this email directly, view it on GitHub
<#937 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABH75HQSHCYHN4RHFLV5OBTXK3PLVANCNFSM6AAAAAAZC465UQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
This could be because you are using python<3.8? |
Don't think so.
The first time around, I downloaded the repo & tried running it under an
Anaconda environment of Python 3.9.16. At some point I saw a message about
some component just being supported under linux so instead of figuring it
out, I took the easy way out.
I downloaded a new Ubuntu install to run under WSL2 and installed again an
environment under Anaconda of Python 3.10.11.
Both times I was getting the following traceback with strongsort
(everything else was fine; though at some point there was a mention that
the examples/weights directory was missing which I just then created):
Traceback (most recent call last):
File "/home/roman/yolo_tracking/examples/track.py", line 222, in <module>
main(opt)
File "/home/roman/yolo_tracking/examples/track.py", line 217, in main
run(vars(opt))
File
"/home/roman/anaconda3/envs/yolo-tracking/lib/python3.10/site-packages/torch/autograd/grad_mode.py",
line 27, in decorate_context
return func(*args, **kwargs)
File "/home/roman/yolo_tracking/examples/track.py", line 126, in run
predictor.tracker_outputs[i] =
predictor.trackers[i].update(dets.cpu().detach().numpy(), im0)
File "/home/roman/yolo_tracking/boxmot/strongsort/strong_sort.py", line
64, in update
self.tracker.update(detections, clss, confs)
File "/home/roman/yolo_tracking/boxmot/strongsort/sort/tracker.py", line
95, in update
self.tracks[track_idx].update(
File "/home/roman/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'
Applying the previous fix allowed me to run strongsort component which
previously wouldn't run.
…On Tue, Jun 13, 2023 at 1:31 AM Mike ***@***.***> wrote:
This could be because you are using python<3.8?
—
Reply to this email directly, view it on GitHub
<#937 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABH75HVTWTISH3F2R5UTDVLXLAQPTANCNFSM6AAAAAAZC465UQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
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$ |
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 |
In version NumPy 1.24.0, the deprecated np.int has been removed.