Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Enable OpenVINO backend for WASI-NN #1063

Closed
hydai opened this issue Jan 28, 2022 · 4 comments
Closed

feat: Enable OpenVINO backend for WASI-NN #1063

hydai opened this issue Jan 28, 2022 · 4 comments
Labels
LFX Mentorship Tasks for LFX Mentorship participants

Comments

@hydai
Copy link
Member

hydai commented Jan 28, 2022

Motivation

In the previous ticket #343, we already have some WASI-NN implementation. However, the backend is using ONNX. In this ticket, we would like to have both ONNX and OpenVINO backend.

Machine Learning is a big topic nowadays. WasmEdge already provides a set of TensorFlow host functions to enable the ML inference in WebAssembly. However, these TensorFlow host functions are defined by us and they are just a Wasm function binding from the TensorFlow C API.

Here comes a standard, the WASI-NN proposal provides a new way to perform neural network inferencing by using a runtime-provided implementation that can leverage host native optimizations, CPU multi-threading, or powerful hardware devices such as GPUs or TPUs.

Specification

  1. Get familiar with WASI-NN proposal.
  2. Modify the current WASI-NN implementation for enabling multiple backend support.
  3. Take OpenVINO as another WASI-NN backend and create a demo kit that is similar to Wasmtime
  4. Create unit tests and integrations tests to verify the WASI-NN component.

Minimum qualifications

To apply this LFX mentorship, there are some minimum qualifications:

  1. Experience with C++ programming language.
  2. Finish the challenge LFX Mentorship 2022 Spring Challenge - Proposal #1221

Appendix

  1. WasmEdge TensorFlow rust SDK: https://github.com/second-state/wasmedge_tensorflow_interface
  2. WasmEdge TensorFlow host functions: https://github.com/second-state/WasmEdge-tensorflow
  3. TensorFlow C API: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/c/c_api.h
  4. WASI-NN proposal: https://github.com/WebAssembly/wasi-nn
  5. Implementing-wasi-nn-in-wasmtime: https://bytecodealliance.org/articles/implementing-wasi-nn-in-wasmtime
@hydai hydai added the LFX Mentorship Tasks for LFX Mentorship participants label Jan 28, 2022
@wangyuan249
Copy link
Contributor

Hi ~ @hydai, I am ziyuan Wang, currently study at ZheJiang University and will graduate at June 30th this summer. I would like to apply for LFX mentorship in this year and work on it.

First, I have open source experience through last year's internship in AliYun while working with CNCF ToC Zhanglei's Team and I made contribution to oam/KubeVela.
And I also familiar with Deep learning and Model Inference in Edge Computing. In this area, I have trained a face recognition model through Caffe, building self-defined layer through C++. For another, I have used tensorflow C API to inference and detect object, converting tf model to ONNX and OM model(HuaWei MindSpore model), and deployed on the Ascend 310 chip.

Thus, I think I'm fit for this task and I would be grateful if you could guide me to relevant resources. Thanks~

@hydai
Copy link
Member Author

hydai commented Feb 11, 2022

Hi @wangyuan249,

I just updated the Minimum qualifications. If you are interested in this issue, please finish the challenge. It will help you to get familiar with the WasmEdge data structure and how to interact with the WasmEdge.

@gusye1234
Copy link
Contributor

Hi @hydai,
I'm curious, for those who want to apply for this LFX mentorship, is there anything else we can do besides waiting after applying on the mentorship.lfx.linuxfoundation.org website and finishing the challenge?
I would really appreciate it if your could answer😊.

@q82419
Copy link
Collaborator

q82419 commented May 31, 2022

Implementation: #1340 #1440 #1461
Unit test: #1446
Docs: #1414
Examples: second-state/WasmEdge-WASINN-examples#1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
LFX Mentorship Tasks for LFX Mentorship participants
Projects
None yet
Development

No branches or pull requests

4 participants