microsoft / OnnxRuntime-UnrealEngine

Apply a Style Transfer Neural Network in real time with Unreal Engine 5 leveraging ONNX Runtime.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unreal 5.0.3 crashes when I drag and drop .onnx file to Content Browser

jmanfan213 opened this issue · comments

Hi,

When I drag and drop a new .onnx model into the Models folder in the Content Browser with the NNI Plugin enabled, UE5 crashes and I receive this error:

LoginId:85534685404c849a1fedc785f6cc6425
EpicAccountId:be4981e3506049728d6de8b73f739cfb

Assertion failed: false [File:D:\build++UE5\Sync\Engine\Plugins\Experimental\NNI\Source\Private\ThirdPartyHelperAndDLLLoader\Private\ORTExceptionHandler.cpp] [Line: 16] ONNXRuntime threw an exception with code 9, e.what(): "Could not find an implementation for Div(1) node with name 'Block386'".

UnrealEditor_ThirdPartyHelperAndDLLLoader
UnrealEditor_NeuralNetworkInference
UnrealEditor_NeuralNetworkInference
UnrealEditor_NeuralNetworkInference
UnrealEditor_NeuralNetworkInference
UnrealEditor_NeuralNetworkInference
UnrealEditor_NeuralNetworkInferenceEditor
UnrealEditor_UnrealEd
UnrealEditor_AssetTools
UnrealEditor_AssetTools
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll

How would I be able to work around this problem? Or am I missing a step?

@cassiebreviu, do you have any insights on the error?

Judging from the exception, it seems to be that the version 1 of Div operator is not included in the ort library but the .onnx is using it. From Operator Schemas, for Div op, there are versions 14, 13, 7, 6, 1. To solve it, you can upgrade the opset version on exporting.

Also, UE itself should handle the exception at API boundary, at least for Editor, instead of crash the Editor, which disruptive to artist or game programmer. So I think you should also open an issue for it in UE.