intel / nn-hal

44 stars 51 forks source link

i was confused about where is the op defined #39

Closed shixinlishixinli closed 5 years ago

shixinlishixinli commented 5 years ago

i have find that the execution.cpp has defined the op . and i need to download MLKDNN and NCSDK .they also have op definition . i was confused about where is the op defined.

Is nnhal dealing with networks or layers?

avaish1 commented 5 years ago

@shixinlishixinli Networks are dealt in Tensorflow Lite-->NNAPI and output in form of layers & ops which are sent to NN-HAL for execution . NN-HAL is the application of MKLDNN/NCSDK's OP definition/implementation.

let me know if it doesn't clarify your confusion.

shixinlishixinli commented 5 years ago

hi acaish1

thank you for your reply so if i want to add a new OP in NN-HAL, Do i need to add the op definition in intel_nn_hal/Executor.cpp?

best lisa shi

avaish1 commented 5 years ago

You can start adding new OP API in intel_nn_hal/PreparedModel.cpp and let it invoke related inference_engine API from intel_nn_hal/graphAPI/IRLayers.h .

shixinlishixinli commented 5 years ago

hi avaish1

Inference_engine API include MKLDNN and NCSDK. why i need to download MKLDNN and NCSDK in intel_mkldnn_nn_hal/ and intel_movidius_nn_hal/ ?

vnsmurthysristi commented 5 years ago

@shixinlishixinli

There are 3 different HALS supported by this community, one is Open VINO based HAL intel_nn_hal, another is Intel_mkldnn_nn_hal which is accelerate NN API using MKLDNN without OpenVINO, and other is Intel_movidius_nn_hal accelerate NN API using NCSDK1.12 on NCS1 device

If you are looking to the operation for the OpenVINO based HAL please use intel_nn_hal. same applicable for others too.

I hope it clears your confusion.

Thanks Sristi, Vns Murthy

shixinlishixinli commented 5 years ago

hi Sristi, Vns Murthy

thank you for your reply . i am clear about my confusion.

best lisa shi