openvinotoolkit / openvino

OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
https://docs.openvino.ai
Apache License 2.0
7.3k stars 2.27k forks source link

[Good First Issue]: Extend C API interface #22001

Open guojin-yan opened 10 months ago

guojin-yan commented 10 months ago

Context

  Thank you very much to OpenVINO for providing the C API interface, which has been very helpful for us to use OpenVINO in C language. The dynamic link library files encapsulated by the C language interface can be called in C # language.

  In previous development, I have also launched the OpenVINO CSharp API project, whose underlying implementation is to call the C API interface provided by OpenVINO and encapsulate it in the upper layer.

  However, currently the C API provided by OpenVINO only implements most of the interfaces, some of which have not yet been implemented, so we are unable to experience all the features of OpenVINO in C # and C language.

  So I hope to work together with the help of all developers to improve the unimplemented C API interface.

What needs to be done?

  For example, in the currently released C API, interfaces for setting "scale" and "mean" are provided, but currently only support setting all channels to the same parameter, and cannot set each channel parameter to be different, as shown below: https://github.com/openvinotoolkit/openvino/blob/b85c329554ddba68f760dbdb10882eac85d6bf68/src/bindings/c/include/openvino/c/ov_prepostprocess.h#L208-L226   In the C++interface, it provides interfaces that set the same parameters as all channels, as well as interfaces that set different parameters for different channels, as shown below: https://github.com/openvinotoolkit/openvino/blob/b85c329554ddba68f760dbdb10882eac85d6bf68/src/core/include/openvino/core/preprocess/preprocess_steps.hpp#L53-L81

  The above is just an example to illustrate a situation, and other interfaces also have the same situation, such as "InputTensorInfo&set_shape (const ov:: PartialShape&shape)" and other interfaces that have not been implemented. So I hope that through the efforts of all developers, we can implement interfaces that are not currently implemented in the C API.

Example Pull Requests

No response

Resources

Contact points

@riverlijunjie

Ticket

No response

Aditya-Choudhry commented 10 months ago

Hi i like to start with this issue

rkazants commented 10 months ago

Hi @Aditya-Choudhry, the task is yours.

Best regards, Roman

riverlijunjie commented 10 months ago

@Aditya-Choudhry please go ahead! Let me know if you have any problem.

Aditya-Choudhry commented 10 months ago

@Aditya-Choudhry please go ahead! Let me know if you have any problem.

I am solving it i hope i have atleast 1 week to work on it i am currently studying it and if you have any update or connect with me i am leaving my discord id for connection https://discord.com/invite/QTSkgUUc

p-wysocki commented 9 months ago

Hello @Aditya-Choudhry, are you still working on that issue?

Aditya-Choudhry commented 9 months ago

"Indeed, I am actively addressing the issue by expanding the library to incorporate additional features. I've recently become engaged with some college-related commitments, but rest assured, I am committed to completing the task by the end of February."

p-wysocki commented 8 months ago

Hello @Aditya-Choudhry, are there any updates?

Pranshu-S commented 8 months ago

.take

github-actions[bot] commented 8 months ago

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

p-wysocki commented 7 months ago

Hello @Pranshu-S, are you still working on this?

MenCodermin commented 4 months ago

Wellp, looks interesting and spicy, I'd like to try myself to complete this task :D I don't have any particular completion date, but I'll try to fit in 1,5 weeks. Wish me good luck :DDD

mlukasze commented 4 months ago

it's yours now @MenCodermin :)