Traceback (most recent call last):
File "check.py", line 11, in <module>
mod, params = relay.frontend.from_onnx(onnx_model, {})
File "/Users/luyaor/Documents/tvm/python/tvm/relay/frontend/onnx.py", line 2806, in from_onnx
mod, params = g.from_onnx(graph, opset, freeze_params)
File "/Users/luyaor/Documents/tvm/python/tvm/relay/frontend/onnx.py", line 2613, in from_onnx
op = self._convert_operator(op_name, inputs, attr, opset)
File "/Users/luyaor/Documents/tvm/python/tvm/relay/frontend/onnx.py", line 2721, in _convert_operator
sym = convert_map[op_name](inputs, attrs, self._params)
File "/Users/luyaor/Documents/tvm/python/tvm/relay/frontend/onnx.py", line 510, in _impl_v1
assert len(inputs) == 3, "Gemm op take 3 inputs, {} given".format(len(inputs))
AssertionError: Gemm op take 3 inputs, 2 given
Description
When compiling following model with TVM, it will error on parsing. I think it is because matrix C for inputs could be optional by ONNX specification. Check here: https://github.com/onnx/onnx/blob/master/docs/Operators.md#gemm
The model(with ONNX as frontend) with error is as follows, check bug.onnx in bug7.zip.
Error Log
How to reproduce
Environment
Python3, with tvm, onnx
tvm version:
c31e338Wed Dec 9 14:52:58 2020 +0900python check.py.