Unknown model file format version
ben-8878 opened this issue · 6 comments
- exported model sucessfully
/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/export/asr/models/language_models/embed.py:360: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/export/asr/models/multihead_att.py:116: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
/home/miniconda3/envs/espnet/lib/python3.8/site-packages/torch/onnx/symbolic_helper.py:719: UserWarning: allowzero=0 by default. In order to honor zero value in shape use allowzero=1
warnings.warn("allowzero=0 by default. In order to honor zero value in shape use allowzero=1")
- decode with exported model
Traceback (most recent call last):
File "test_text_e2e_espnet.py", line 20, in <module>
speech2text = Speech2Text("wenet")
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/asr_model.py", line 43, in __init__
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/abs_asr_model.py", line 53, in _build_model
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/model/encoder.py", line 11, in get_encoder
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/model/encoders/encoder.py", line 35, in __init__
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 280, in __init__
self._create_inference_session(providers, provider_options)
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 307, in _create_inference_session
sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model)
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from espnet_model_onnx/wenet/full/xformer_encoder.onnx failed:/onnxruntime_src/onnxruntime/core/graph/model.cc:111 onnxruntime::Model::Model(onnx::ModelProto&&, const PathString&, const IOnnxRuntimeOpSchemaRegistryList*, const onnxruntime::logging::Logger&) Unknown model file format version.
@v-yunbin
Thank you for reporting the issue. Would you tell us the following information?
- Sample script to reproduce this issue
- Version of dependencies
- What is your encoder model? Do you use Conformer or Transformer encoder?
if met the problem too on my tts model, i update torch==1.11.0+cuda==11.3, onnxruntime-gpu==1.11.0, onnx==1.11.0, it works but not well
@v-yunbin Thank you for reporting the issue. Would you tell us the following information?
- Sample script to reproduce this issue
import soundfile
import sys
from espnet_onnx import Speech2Text
Speech2Text(asr_train_config="espnet_model/wenet/config.yaml", asr_model_file="espnet_model/wenet/valid.acc.ave_10best.pth", beam_size=1, ctc_weight=1.0, lm_weight=0.5, quantize_asr_model=True)
speech2text = Speech2Text(tag_name="wenet")
speech, rate = soundfile.read(sys.argv[1])
nbests = speech2text(speech)
text, *_ = nbests[0]
print(text)
- Version of dependencies
torch 1.11.0+cpu
onnx 1.9.0
onnxruntime 1.7.0
espnet 202205
espnet-model-zoo 0.0.0a29
espnet-onnx 0.1.9
- What is your encoder model? Do you use Conformer or Transformer encoder?
get wenetspeech model from "(https://github.com/espnet/espnet/tree/master/egs2/wenetspeech)/asr1/"
@v-yunbin
Thank you. I think updating your onnxruntime version will fix this issue.
In espnet_onnx, we use opset_version=15 for model exportation, which is supported in onnxruntime>=1.11
.
onnxruntime
@Masao-Someki update onnxruntime to 1.11 version,get follows error:
Traceback (most recent call last):
File "test_text_e2e_espnet.py", line 22, in <module>
nbests = speech2text(speech)
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/asr_model.py", line 79, in __call__
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/model/encoders/encoder.py", line 70, in __call__
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/espnet_onnx-0.1.9-py3.8.egg/espnet_onnx/asr/model/encoders/encoder.py", line 87, in forward_encoder
File "/home/miniconda3/envs/espnet/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 192, in run
return self._sess.run(output_names, input_feed, run_options)
onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Non-zero status code
install follow version of dependencies, it works.
torch 1.11.0+cpu
onnx 1.11.0
onnxruntime 1.12.1
espnet 202205
espnet-model-zoo 0.0.0a29
espnet-onnx 0.1.9