TreeEnsembleClassifier not in handled nodes

I am trying to compile an onnx model that is based on TreeEnsembleClassifier nodes into HEF. During parsing to HAR, i get the error

InvalidHNError: The original node name TreeEnsembleClassifier in end_node_names is missing in the HN.

Is TreeEnsembleClassifier not supported at all? If so, will it be supported?

Any help would be nice really…

Hey @George_Theodoropoulo ,

Welcome to the Hailo Community!

The Hailo DFC does not support the TreeEnsembleClassifier ONNX node. This is evident from its absence in the compiler’s documentation of supported ONNX operators.

When attempting to use this node, the following error occurs:

InvalidHNError: The original node name TreeEnsembleClassifier in end_node_names is missing in the HN.

This error indicates that the Hailo compiler cannot translate the TreeEnsembleClassifier node into its internal Hardware Network (HN) representation because no translation mechanism exists for this operator.

Two potential workarounds exist:

  1. Neural Network Surrogate: Replace your tree ensemble with a functionally similar MLP (Multi-Layer Perceptron) classifier, which works particularly well for structured data.

  2. Edge-Host Hybrid Solution: Execute the tree ensemble classifier on the host CPU while delegating the feature extractor to the Hailo-8.

Reason for Lack of Support

Hailo’s compiler primarily targets deep learning workloads such as CNNs and transformers, rather than classical machine learning models like decision trees, random forests, or gradient boosted trees (which typically use the TreeEnsembleClassifier or TreeEnsembleRegressor ONNX operations).