yolov8跟踪报错 File “_lapjv_src/_lapjv.pyx”, line 1, in init _lapjv ImportError: numpy.core.multiarray
我的代码
from ultralytics import YOLO
# Load an official or custom model
model = YOLO("weights/yolov8m.pt") # Load an official Detect model
# Perform tracking with the model
results = model.track("./input/20240608-212555.mp4", show=True, tracker="bytetrack.yaml") # with ByteTrack
运行报错
/home/diyun/anaconda3/envs/pytorch_gpu/bin/python /home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/yolov8_pridect_guanfang.py
Traceback (most recent call last):
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/utils/matching.py", line 10, in <module>
import lap # for linear_assignment
File "/home/diyun/anaconda3/envs/pytorch_gpu/lib/python3.8/site-packages/lap/__init__.py", line 16, in <module>
from ._lapjv import (
File "_lapjv_src/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/yolov8_pridect_guanfang.py", line 6, in <module>
results = model.track("./input/20240608-212555.mp4", show=True, tracker="bytetrack.yaml") # with ByteTrack
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/engine/model.py", line 487, in track
from ultralytics.trackers import register_tracker
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/__init__.py", line 3, in <module>
from .bot_sort import BOTSORT
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/bot_sort.py", line 8, in <module>
from .byte_tracker import BYTETracker, STrack
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/byte_tracker.py", line 8, in <module>
from .utils import matching
File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/utils/matching.py", line 17, in <module>
import lap
File "/home/diyun/anaconda3/envs/pytorch_gpu/lib/python3.8/site-packages/lap/__init__.py", line 16, in <module>
from ._lapjv import (
File "_lapjv_src/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).
Process finished with exit code 1
原因分析
numpy版本不匹配
解决办法
pip uninstall numpy
conda uninstall numpy
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple