Is there any api doccuments about the Dataflow Compiler?

In fact, I just trying to convert an ONNX file to an HEF file with my CUSTUM AI MODEL, and this model has a completely different structure from the official models provided by Hailo (i.e. not the yolo series).

I could understand if the result indicated that the structure is too large to fit on the Hailo 8L due to hardware specifications.
However, before that procedure, when I tried to compile it using the model zoo API, I received a message asking to provide the model structure information in YAML format.

I searched for related documents but couldn’t find any appropriate examples or documentation. I think it might be possible to directly optimize using the Dataflow Compiler.

Any comments or recommended documents related to this would be appreciated.

Thank you for reading.

JSKang

Hey @happistday,

You can find the documentation on DFC usage here: DFC Documentation.

Additionally, there’s a quick guide available in the community: Creating Custom HEF Using DFC Model Zoo.

If you have any further questions, please don’t hesitate to ask.

Thank you for your sharing document!!

the second one is that just what i found.

Unfortunately, when i follow the procedure, i found the new error types as bellows:

onnx.onnx_cpp2py_export.checker.ValidationError: No Op registered for SimplifiedLayerNormalization with domain_version of 14

==> Context: Bad node spec for node. Name: /model/layers.0/input_layernorm/LayerNorm OpType: SimplifiedLayerNormalization

But, i totally thanks for your sharing, and i will tried to fixed it out.
(p.s.: is there any version to fix this functionality?
currently, i just load the onnx model and tried to changed the problem layers to normal one… (i.e. simplified layer norm to layr norm…)

have a good day. Thank you :smiley:

Hi @happistday,
From the error it seems that the model contains a SimplifiedLayerNormalization. But, it seems that this type of layer is not supported by ONNX itself (I also saw a thread about it here: LayerNormalization operator is not in onnx domain · Issue #7573 · microsoft/onnxruntime · GitHub).
The error message comes from the onnx checker, which make sure that the ONNX is valid.
So, this is an ONNX issue and not a Hailo SW issue. From what I saw online this is still an open issue.
You can try using LayerNormalization instead, which is supported with ONNX opset version 17.

Regards,

1 Like

Thanks for your comments.
currently, based on your recommendation,
i tried t optimized the onnx model with opset 17,
(unfortunately, the memory consideration issues are happen)
i new that this issues will be considerd in onnx community.

thank you for your comments, and i will be back with the hailo related issues.

have a good day :smiley: