-
Notifications
You must be signed in to change notification settings - Fork 443
Description
Hello,
I'm submitting a bug report (I searched for similar issues and did not find one).
Current behavior
I build a Keras CNN which is based on 3D operations (Conv3D, MaxPooling3D, Upsampling3D, ..) and converted it with keras2onnx.
When I run the ONNX models with the WinMLRunner an exception is raised:
onecoreuap\windows\windowsai\winml\dll\learningmodel.cpp(378)\Windows.AI.MachineLearning.dll!00007FFE4EF7956B: (caller: 00007FFE4EFFB6D9) Exception(2) tid(3364) 80070057 Falscher Parameter. 000001B1CEF4217C
Is Windows ML not capable of running such models?
I tried different model modifications, which all failed:
- Created a channels_first and a channels_last model version: in/out=[1, 1, 64, 64, 64] and [1, 64, 64, 64, 1] respectively.
- Used different opsets: 7, 8
- Used different converters: onnxtools 1.3.1, keras2onnx 1.3.2, winmltools 1.3.0, WinML Dashboard 0.51.
- Replaced a 'keras.layers.Conv3DTranspose' layer, because it raised another exception:
Binding (device = CPU, iteration = 1, inputBinding = CPU, inputDataType = Tensor, deviceCreationLocation = WinML)...[SUCCESS]
[FAILED]
Input X must be 4-dimensional. X: {1,128,16,16,16}
Evaluating (device = CPU, iteration = 1, inputBinding = CPU, inputDataType = Tensor, deviceCreationLocation = WinML)...[FAILED]
The attached model version (channels_first [1, 1, 64, 64, 64], keras2onnx 1.3.2, onnx 1.3.0, opset_version 7) runs without errors using the onnxruntime 0.3.0 python package.
unet3d.channels_first.keras2onnx.onnx in models.zip
Minimal reproduction of the problem with instructions
Run attached ONNX model in WinMLRunner, or convert attached Keras model (.h5) to an .onnx model first.
Environment
Windows Build Number: Windows 10 Version 1809 (Build 17763.437)
App min and target version:
WinMLRunner.exe Version: 1.0.1.0.190321.abf02d3
WinMLTools specific:
- Keras framework (keras 2.2.4, tensorflow 1.12.0)
- WinMLTools version 1.0.1.0
Best regards,
Volker