Skip to content

ValidationError for ONNX exported model #3013

@jo7ueb

Description

@jo7ueb

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions