BentoML
BentoML copied to clipboard
bug: Given model is not a onnx.ModelProto.
Describe the bug
Receiving this error that my model is not an onnx.ModelProto
❯ bentoml serve image_classification_onnx:svc --reload
/home/user/workspace/ws/models/test_image_classification.onnx
2022-10-26T15:42:39+0800 [INFO] [cli] Using the default model signature for onnx ({'run': {'batchable': False}}) for model image_classification_onnx.
Traceback (most recent call last):
File "/home/user/anaconda3/envs/yolov5/bin/bentoml", line 8, in <module>
sys.exit(cli())
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml_cli/utils.py", line 256, in wrapper
return func(*args, **kwargs)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml_cli/utils.py", line 230, in wrapper
return_value = func(*args, **kwargs)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml_cli/utils.py", line 191, in wrapper
return func(*args, **kwargs)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml_cli/serve.py", line 217, in serve
ssl_ciphers=ssl_ciphers,
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/simple_di/__init__.py", line 139, in _
return func(*_inject_args(bind.args), **_inject_kwargs(bind.kwargs))
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml/serve.py", line 192, in serve_http_development
svc = load(bento_identifier, working_dir=working_dir)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml/_internal/service/loader.py", line 351, in load
standalone_load=standalone_load,
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/simple_di/__init__.py", line 139, in _
return func(*_inject_args(bind.args), **_inject_kwargs(bind.kwargs))
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml/_internal/service/loader.py", line 137, in import_service
module = importlib.import_module(module_name, package=working_dir)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/user/workspace/ws/scripts/deploy/image_classification_onnx.py", line 32, in <module>
bentoml.onnx.save_model(f"{BENTO_MODEL}", model_path)
File "/home/user/anaconda3/envs/yolov5/lib/python3.7/site-packages/bentoml/_internal/frameworks/onnx.py", line 299, in save_model
raise TypeError(f"Given model ({model}) is not a onnx.ModelProto.")
TypeError: Given model (/home/user/workspace/ws/models/test_image_classification.onnx) is not a onnx.ModelProto.
Netron app

To reproduce
No response
Expected behavior
No response
Environment
bentoml: 1.0.7 environment: Ubuntu 20.04

bentoml.onnx.save_model(f"{BENTO_MODEL}", model_path)
So what is a model_path? From the naming it looks like a path, then it is incorrect.