I want to run Mediapipe hand gesture recognition in “streamlit“, i used Mediapipe for Python version, but i got this error :
RuntimeError: Unable to open file at F:pyprogrampythonlibsite-packages/F:pyprogramhandgestureFrontendgesture_recognizer.task, errno=22
Traceback:
File "F:pyprogrampythonlibsite-packagesstreamlitruntimescriptrunnerexec_code.py", line 88, in exec_func_with_error_handling
result = func()
File "F:pyprogrampythonlibsite-packagesstreamlitruntimescriptrunnerscript_runner.py", line 579, in code_to_exec
exec(code, module.__dict__)
File "F:pyprogramhandgestureFrontendpages10_test.py", line 29, in <module>
with GestureRecognizer.create_from_options(options) as recognizer:
File "F:pyprogrampythonlibsite-packagesmediapipetaskspythonvisiongesture_recognizer.py", line 340, in create_from_options
return cls(
File "F:pyprogrampythonlibsite-packagesmediapipetaskspythonvisioncorebase_vision_task_api.py", line 70, in __init__
self._runner = _TaskRunner.create(graph_config, packet_callback)
-
when i run Mediapipe’s python code (without streamlit) it works well.
-
I have tested all suggested ways, like changing version of libraries(mediapipe & streamlit) , or changing “gesture_recognizer.task” path , … .
I don’t understand why is it automatically adding “F:pyprogrampythonlibsite-packages” path to the “gesture_recognizer.task” ABSOLUTE path as it is mentioned :
model_path = ‘/absolute/path/to/gesture_recognizer.task’
folder structure :
Frontend
│
│ gesture_recognizer.task
└── pages
└── 10_test.py
code :
BaseOptions = mp.tasks.BaseOptions
GestureRecognizer = mp.tasks.vision.GestureRecognizer
GestureRecognizerOptions = mp.tasks.vision.GestureRecognizerOptions
GestureRecognizerResult = mp.tasks.vision.GestureRecognizerResult
VisionRunningMode = mp.tasks.vision.RunningMode
options = GestureRecognizerOptions(
base_options=BaseOptions(model_asset_path='F:/pyprogram/handgesture/Frontend/gesture_recognizer.task'),
running_mode=VisionRunningMode.LIVE_STREAM,
result_callback=print_result)
with GestureRecognizer.create_from_options(options) as recognizer:
.
.