openvino icon indicating copy to clipboard operation
openvino copied to clipboard

[Good First Issue]: Extend C API interface

Open guojin-yan opened this issue 1 year ago • 11 comments

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

guojin-yan avatar Jan 06 '24 11:01 guojin-yan

Hi i like to start with this issue

Aditya-Choudhry avatar Jan 06 '24 13:01 Aditya-Choudhry

Hi @Aditya-Choudhry, the task is yours.

Best regards, Roman

rkazants avatar Jan 06 '24 14:01 rkazants

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

riverlijunjie avatar Jan 09 '24 07:01 riverlijunjie

@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

Aditya-Choudhry avatar Jan 09 '24 16:01 Aditya-Choudhry

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

p-wysocki avatar Jan 29 '24 15:01 p-wysocki

"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."

Aditya-Choudhry avatar Jan 29 '24 22:01 Aditya-Choudhry

Hello @Aditya-Choudhry, are there any updates?

p-wysocki avatar Mar 01 '24 13:03 p-wysocki

.take

Pranshu-S avatar Mar 12 '24 18:03 Pranshu-S

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

github-actions[bot] avatar Mar 12 '24 18:03 github-actions[bot]

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

p-wysocki avatar Apr 03 '24 18:04 p-wysocki

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

MenCodermin avatar Jul 12 '24 21:07 MenCodermin

it's yours now @MenCodermin :)

mlukasze avatar Jul 15 '24 05:07 mlukasze

Hi @mlukasze I am new to the community want to work on this issue please assign it to me

Anirudh77715 avatar Feb 13 '25 11:02 Anirudh77715

sure thing, good luck @Anirudh77715

mlukasze avatar Feb 13 '25 12:02 mlukasze

I'm unassigning the task due to assignee's inactivity.

p-wysocki avatar Mar 05 '25 12:03 p-wysocki

@p-wysocki I was looking at taking this as my first issue but to me it looks like it's already implemented by https://github.com/openvinotoolkit/openvino/pull/23718 ?

ChrisAB avatar Mar 05 '25 19:03 ChrisAB

@p-wysocki I was looking at taking this as my first issue but to me it looks like it's already implemented by #23718 ?

This PR is for multi_channels scale and mean of preprocess, besides them, we also need extend more C API interfaces from C++.

riverlijunjie avatar Mar 06 '25 01:03 riverlijunjie

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

github-actions[bot] avatar Mar 06 '25 04:03 github-actions[bot]

Thanks for being interested in this issue. It looks like this ticket is already assigned to a contributor. Please communicate with the assigned contributor to confirm the status of the issue.

github-actions[bot] avatar Mar 08 '25 13:03 github-actions[bot]

@mlukasze could you assign this issue to me ?

Raghavyadav17 avatar Mar 17 '25 07:03 Raghavyadav17

@mlukasze , I was working on it from my previous account which got suspended, would appreciate it if you could assign it to me on this account. Thank!!

Raghavyadav17 avatar Mar 17 '25 07:03 Raghavyadav17

@p-wysocki, I was working on this issue from my previous account until it got suspended, would appreciate it if you could assign it to this account of mine !! Thanks

Raghavyadav17 avatar Mar 18 '25 04:03 Raghavyadav17

Hello @Raghavyadav17, I assigned the issue to you. :)

p-wysocki avatar Mar 24 '25 11:03 p-wysocki

Hi @p-wysocki thanks for assigning it to me, really appreciate it !!! Thanks

Raghavyadav17 avatar Mar 25 '25 05:03 Raghavyadav17

Hello @Raghavyadav17, are you still working on that issue?

p-wysocki avatar Apr 04 '25 17:04 p-wysocki

@p-wysocki hi, yes i am still working on this issue, a PR would be created for this issue and all the others ones by today itself

Raghavyadav17 avatar Apr 05 '25 04:04 Raghavyadav17

Reopening the task due to inactivity.

p-wysocki avatar Apr 11 '25 10:04 p-wysocki

@p-wysocki @mlukasze I am thinking to take this task up. But I am not sure of the scope of this task. Could you guys clarify as to what needs to be done and please assign this to me?

nashez avatar Oct 21 '25 19:10 nashez

@riverlijunjie please answer for @nashez

mlukasze avatar Oct 22 '25 04:10 mlukasze

C API is used to encapsulate native C++ API, any C++ API that is in demand can be encapsulated into C API, I think it depends on the demand of C application, according to the previous requirement, we can encapsulate more API about preprocessing.

riverlijunjie avatar Oct 22 '25 05:10 riverlijunjie