THU-MIG / yolov10

YOLOv10: Real-Time End-to-End Object Detection
https://arxiv.org/abs/2405.14458
GNU Affero General Public License v3.0
9.32k stars 869 forks source link

可以训练模型,换了好几个版本的CUDA了,就是推理无法完成.求教!!!ValueError: cannot convert float NaN to integer #410

Open chxgzs opened 3 weeks ago

chxgzs commented 3 weeks ago

(yolov10) E:\yolov10\yolov10-main>yolo predict model=E:\yolov10\yolov10-main\runs\detect\train\weights\best.pt source=E:\yolov10\yolov10-main\ultralytics\assets Ultralytics YOLOv8.2.78 🚀 Python-3.9.19 torch-2.4.0+cu124 CUDA:0 (NVIDIA GeForce GTX 1660 SUPER, 6144MiB) YOLOv10n summary (fused): 285 layers, 2,762,608 parameters, 0 gradients, 8.6 GFLOPs

Traceback (most recent call last): File "E:\anaconda3\envs\yolov10\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "E:\anaconda3\envs\yolov10\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "E:\anaconda3\envs\yolov10\Scripts\yolo.exe__main.py", line 7, in sys.exit(entrypoint()) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\cfg\init__.py", line 834, in entrypoint getattr(model, mode)(**overrides) # default args from model File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\model.py", line 564, in predict return self.predictor.predict_cli(source=source) if is_cli else self.predictor(source=source, stream=stream) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\predictor.py", line 183, in predictcli for in gen: # sourcery skip: remove-empty-nested-block, noqa File "E:\anaconda3\envs\yolov10\lib\site-packages\torch\utils_contextlib.py", line 36, in generator_context response = gen.send(None) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\predictor.py", line 274, in stream_inference s[i] += self.write_results(i, Path(paths[i]), im, s) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\predictor.py", line 338, in write_results self.plotted_img = result.plot( File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\results.py", line 535, in plot annotator.box_label( File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\utils\plotting.py", line 308, in box_label self.draw.text((p1[0], p1[1] - h if outside else p1[1]), label, fill=txt_color, font=self.font) File "E:\anaconda3\envs\yolov10\lib\site-packages\PIL\ImageDraw.py", line 696, in text draw_text(ink) File "E:\anaconda3\envs\yolov10\lib\site-packages\PIL\ImageDraw.py", line 632, in draw_text coord.append(int(xy[i])) ValueError: cannot convert float NaN to integer

这个是错误信息.

bluesy7585 commented 3 weeks ago

in yolo\model.py, it checks whether path contains 'yolov10' to create yolov10 model. try to rename 'best.pt' to a filename contains 'yolov10'. eg. 'best_yolov10.pt'

chxgzs commented 3 weeks ago

in yolo\model.py, it checks whether path contains 'yolov10' to create yolov10 model. try to rename 'best.pt' to a filename contains 'yolov10'. eg. 'best_yolov10.pt'

(yolov10) E:\yolov10\yolov10-main>yolo predict model=E:\yolov10\runs\detect\train3\weights\best_yolov10.pt source=E:\yolov10\yolov10-main\ultralytics\assets Ultralytics YOLOv8.2.78 🚀 Python-3.9.19 torch-2.4.0+cu124 CUDA:0 (NVIDIA GeForce GTX 1660 SUPER, 6144MiB) YOLOv10n summary (fused): 285 layers, 2,762,608 parameters, 0 gradients, 8.6 GFLOPs

Traceback (most recent call last): File "E:\anaconda3\envs\yolov10\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "E:\anaconda3\envs\yolov10\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "E:\anaconda3\envs\yolov10\Scripts\yolo.exe__main.py", line 7, in sys.exit(entrypoint()) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\cfg\init__.py", line 834, in entrypoint getattr(model, mode)(**overrides) # default args from model File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\model.py", line 564, in predict return self.predictor.predict_cli(source=source) if is_cli else self.predictor(source=source, stream=stream) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\predictor.py", line 183, in predictcli for in gen: # sourcery skip: remove-empty-nested-block, noqa File "E:\anaconda3\envs\yolov10\lib\site-packages\torch\utils_contextlib.py", line 36, in generator_context response = gen.send(None) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\predictor.py", line 274, in stream_inference s[i] += self.write_results(i, Path(paths[i]), im, s) File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\predictor.py", line 338, in write_results self.plotted_img = result.plot( File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\engine\results.py", line 535, in plot annotator.box_label( File "E:\anaconda3\envs\yolov10\lib\site-packages\ultralytics\utils\plotting.py", line 308, in box_label self.draw.text((p1[0], p1[1] - h if outside else p1[1]), label, fill=txt_color, font=self.font) File "E:\anaconda3\envs\yolov10\lib\site-packages\PIL\ImageDraw.py", line 696, in text draw_text(ink) File "E:\anaconda3\envs\yolov10\lib\site-packages\PIL\ImageDraw.py", line 632, in draw_text coord.append(int(xy[i])) ValueError: cannot convert float NaN to integer

还是一样的,这个问题好难解决了. It's still the same. It's a tough problem to solve.