-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Closed
Labels
Description
Hi, I'm evaluating ONNX export feature.
I tried to export ResNet20 into ONNX file.
save function worked well but onnx.checker.check_model raises following error.
Traceback (most recent call last):
File "cntk2onnx.py", line 19, in <module>
onnx.checker.check_model(onnx_model)
File "/usr/local/lib/python3.5/dist-packages/onnx/checker.py", line 32, in checker
proto.SerializeToString(), ir_version)
onnx.onnx_cpp2py_export.checker.ValidationError: Field 'type' of attr is required but missing.
==> Context: Bad node spec: output: "Parameter5454" name: "Parameter5454" op_type: "Constant" attribute { name: "value" t { dims: 1 dims: 10 data_type: FLOAT float_data: -0.070361428 float_data: -0.357194 float_data: 0.37219584 float_data: 0.47041565 float_data: 0.071708754 float_data: -0.092652842 float_data: -0.015438936 float_data: -0.084205344 float_data: -0.074094325 float_data: -0.22061794 } } doc_string: "" domain: ""
Here's my evaluation code.
import argparse
import cntk as C
import onnx
parser = argparse.ArgumentParser(description='Convert CNTK model to ONNX')
parser.add_argument('--input', '-i', required=True, type=str)
parser.add_argument('--output', '-o', required=True, type=str)
args = parser.parse_args()
# obtain PyTorch model
model = C.Function.load(args.input, device=C.device.cpu())
# export to ONNF
print('converting to ONNX')
model.save(args.output, format=C.ModelFormat.ONNX)
print('checking converted model')
onnx_model = onnx.load(args.output)
onnx.checker.check_model(onnx_model)
It looks like CNTK's fault.
Thanks.