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.29k stars 866 forks source link

Running inference on video gives an error - 'load_model_as_safetensor' is not defined #369

Open TikPapyan opened 1 month ago

TikPapyan commented 1 month ago

I am trying to run an inference on a video (1920x1080) from the Gradio interface. I uploaded the video, chose the default (m) model, and set the image size to 1280 and the confidence threshold to 0.5. Trying to detect the object on it says:

NameError: name 'load_model_as_safetensor' is not defined

Here is the full error message:

config.json: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.72k/1.72k [00:00<00:00, 3.14MB/s] model.safetensors: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████| 66.7M/66.7M [00:08<00:00, 7.84MB/s] Traceback (most recent call last): File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/queueing.py", line 536, in process_events response = await route_utils.call_process_api( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/route_utils.py", line 276, in call_process_api output = await app.get_blocks().process_api( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/blocks.py", line 1923, in process_api result = await self.call_function( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/blocks.py", line 1508, in call_function prediction = await anyio.to_thread.run_sync( # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 859, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/utils.py", line 818, in wrapper response = f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/app.py", line 108, in run_inference return yolov10_inference(None, video, model_id, image_size, conf_threshold) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/app.py", line 8, in yolov10_inference model = YOLOv10.from_pretrained(f'jameslahm/{model_id}') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/hub_mixin.py", line 569, in from_pretrained instance = cls._from_pretrained( ^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/hub_mixin.py", line 807, in _from_pretrained return cls._load_as_safetensor(model, model_file, map_location, strict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/hub_mixin.py", line 831, in _load_as_safetensor load_model_as_safetensor(model, model_file, strict=strict) # type: ignore [arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^ NameError: name 'load_model_as_safetensor' is not defined Traceback (most recent call last): File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/queueing.py", line 536, in process_events response = await route_utils.call_process_api( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/route_utils.py", line 276, in call_process_api output = await app.get_blocks().process_api( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/blocks.py", line 1923, in process_api result = await self.call_function( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/blocks.py", line 1508, in call_function prediction = await anyio.to_thread.run_sync( # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 859, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/gradio/utils.py", line 818, in wrapper response = f(*args, **kwargs) ^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/app.py", line 108, in run_inference return yolov10_inference(None, video, model_id, image_size, conf_threshold) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/app.py", line 8, in yolov10_inference model = YOLOv10.from_pretrained(f'jameslahm/{model_id}') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/hub_mixin.py", line 569, in from_pretrained instance = cls._from_pretrained( ^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/hub_mixin.py", line 807, in _from_pretrained return cls._load_as_safetensor(model, model_file, map_location, strict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tpapyan/Desktop/PythonProjects/ML Projects/Yolov10/myenv/lib/python3.12/site-packages/huggingface_hub/hub_mixin.py", line 831, in _load_as_safetensor load_model_as_safetensor(model, model_file, strict=strict) # type: ignore [arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^ NameError: name 'load_model_as_safetensor' is not defined

nipunasudha commented 1 month ago

Are you on a mac?

TikPapyan commented 1 month ago

Are you on a mac?

Yes

suc1 commented 1 month ago

I am working on windows 11 & conda. One environment is ok and it was created from pip install -r requirements.txt. Another has same problem and it was create from pip install git+https://github.com/THU-MIG/yolov10.git, pip install safetensors fix it