On Windows, the evaluation step tries to import the optimized Cython version (COCOeval_opt), which in turn requires a working ninja install for JIT compilation. If ninja isn’t available, the import fails and the entire eval pipeline breaks.
🔧 Temporary Workaround
Force use of the pure-Python evaluator by swapping out the import. In
yolox/evaluators/coco_evaluator.py (around line 294):
|
from yolox.layers import COCOeval_opt as COCOeval |
, replace:
- from yolox.evaluators.coco_opt import COCOeval_opt
+ from pycocotools.cocoeval import COCOeval
This change bypasses the ninja dependency and lets evaluation complete using the standard COCO API.
Feel free to let me know if you’d like a PR implementing the fallback logic!