huawei-noah / bolt

Bolt is a deep learning library with high performance and heterogeneous flexibility.
https://huawei-noah.github.io/bolt/
MIT License
918 stars 160 forks source link

ONNX2Bolt what's available #16

Closed zetyquickly closed 4 years ago

zetyquickly commented 4 years ago

Hello,

Could you please explain couple of things that is unclear for me. I use onnx models, and would like to use onnx2bolt runtime. I've deployed MaskRCNN network in ONNX, and script fails.

1) How to know more information from unsuccesfull run. More than Segfault 2) Are ROIAlign and NMS available to be converted from ONNX? Which ONNX opset is supported? 3) And the last. What is parameter skip operators in ONNX2Bolt runtime?

Bil17t commented 4 years ago

Hi. Short answer: ROIAlign and NMS are still on the plan.

  1. If you wish to get more information, you can set USE_DEBUG to ON in bolt.cmake. You can check tools/onnx2bolt.cpp to see which stage fails.

  2. Please check model-tools/src/onnx/onnx_adaptee.h. There is a big switch clause listing the supported OPs.

  3. If everything goes right, this will be removed in the next release. Earlier we were not very familiar with onnx, so we set the input of the first OP as the model input. However, the first OP is not always conv, etc. For example, it could be Constant, which does not have an input at all. So we need to skip to the OP with actual model input.

zetyquickly commented 4 years ago

@Bil17t thank you very much!