Skip to content

0.6.0 - supports 2023.2

Compare
Choose a tag to compare
@sdcb sdcb released this 28 Nov 02:34
· 43 commits to master since this release

中文

新发布核心NuGet包:

Sdcb.OpenVINO NuGet

此为核心包,更新自0.5.4,以适配2023.2.0的版本,同时也向下兼容2023.1.0的版本。此包先尝试加载2023.2.0的动态库,如果加载不成功,则再加载2023.1.0的动态库。你可以通过OVCore.Version.GetAbbreviatedVersion() >= 2320来知道当前加载的动态库是2023.2.0版本以上的还是以下的。

加载顺序是先加载依赖,再加载主包,例如:openvino_c为主包,依赖于openvino,而openvino则依赖于libtbb。加载过程中会先加载libtbb,再加载openvino,最后加载openvino_c——这个功能之前必须要.NET 6或以上才启用,在这个发布中,该功能降到到.NET 5就能用了。

新发布的2023.2.0版本的运行库(从2023.1.0更新):

包名 图标 备注
Sdcb.OpenVINO.runtime.centos.7-x64 NuGet
Sdcb.OpenVINO.runtime.linux-arm NuGet 替换此前的Sdcb.OpenVINO.runtime.debian.9-arm,因为它实际上不止debian 9可以使用
Sdcb.OpenVINO.runtime.linux-arm64 NuGet 替换此前的Sdcb.OpenVINO.runtime.debian.9-arm64,因为它实际上不止debian 9可以使用
Sdcb.OpenVINO.runtime.rhel.8-x64 NuGet
Sdcb.OpenVINO.runtime.ubuntu.18.04-x64 NuGet
Sdcb.OpenVINO.runtime.ubuntu.20.04-x64 NuGet
Sdcb.OpenVINO.runtime.ubuntu.22.04-x64 NuGet
Sdcb.OpenVINO.runtime.android-arm64 NuGet 非官方,预览
Sdcb.OpenVINO.runtime.android-x64 NuGet 非官方,预览
Sdcb.OpenVINO.runtime.win-x64 NuGet

使用2023.2.0版本的动态库的最重要改进是,遇到OpenVINO的C++异常时,Sdcb.OpenVINO核心库会自动收集报异常的具体原因(此功能是在我向OpenVINO官方提议后实现)。

以下我向openvino提交的建议已在2023.2版本中解决:

在Linux迷你运行时的OpenCvSharp4 NuGet包:

包名 图标
Sdcb.OpenCvSharp4.mini.runtime.centos.7-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.centos.7-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.11-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.11-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.12-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.12-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.android-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.android-x64 NuGet

注意

由于.NET 8采用了这个突破性变更,此前2023.1.0动态库的Linux的NuGet包可能在.NET 8中用不了,我在2023.2.0版本的动态库包中解决了这个问题。此外,所有的OpenCvSharp4都解决了这个问题,因此如果你遇到了,请更新到最新版。

另外,尽管Sdcb.OpenVINO.PaddleOCR并未更新,但它依赖于Sdcb.OpenVINO核心库,因此如果你未安装Sdcb.OpenVINO却想体验最新版功能,你需要手动再安装最新版的Sdcb.OpenVINO。

English

Newly released core NuGet package:

Sdcb.OpenVINO NuGet

This is a core package, updated from 0.5.4 to support version 2023.2.0 while also being backwards compatible with version 2023.1.0. This package first tries to load the 2023.2.0 dynamic library; if unsuccessful, it will then load the 2023.1.0 dynamic library. You can determine whether the currently loaded dynamic library is version 2023.2.0 or higher by using OVCore.Version.GetAbbreviatedVersion() >= 2320.

The loading order is to load dependencies first, followed by the main package; for example, openvino_c is the main package, which depends on openvino, and openvino depends on libtbb. The loading process first loads libtbb, followed by openvino, and finally openvino_c, previous this loading method is only enabled in .NET 6, now it also enabled in .NET 5 in this release.

Newly released runtime libraries for version 2023.2.0 (updated from 2023.1.0):

Package Name Icon Remarks
Sdcb.OpenVINO.runtime.centos.7-x64 NuGet
Sdcb.OpenVINO.runtime.linux-arm NuGet Replaces the previous Sdcb.OpenVINO.runtime.debian.9-arm, as it was actually usable beyond just debian 9
Sdcb.OpenVINO.runtime.linux-arm64 NuGet Replaces the previous Sdcb.OpenVINO.runtime.debian.9-arm64, as it was actually usable beyond just debian 9
Sdcb.OpenVINO.runtime.rhel.8-x64 NuGet
Sdcb.OpenVINO.runtime.ubuntu.18.04-x64 NuGet
Sdcb.OpenVINO.runtime.ubuntu.20.04-x64 NuGet
Sdcb.OpenVINO.runtime.ubuntu.22.04-x64 NuGet
Sdcb.OpenVINO.runtime.android-arm64 NuGet Unofficial, Preview
Sdcb.OpenVINO.runtime.android-x64 NuGet Unofficial, Preview
Sdcb.OpenVINO.runtime.win-x64 NuGet

The most significant improvement of using the 2023.2.0 dynamic libraries is that when an OpenVINO C++ exception occurs, the Sdcb.OpenVINO core library will automatically collect the specific reasons for the exceptions (this feature was implemented after my proposal to the OpenVINO official).

The following suggestions I submitted to openvino have been resolved in the 2023.2 version:

OpenCvSharp4 NuGet packages on Linux mini runtime:

Package Name Icon
Sdcb.OpenCvSharp4.mini.runtime.centos.7-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.centos.7-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.11-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.11-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.12-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.debian.12-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.ubuntu.22.04-x64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.android-arm64 NuGet
Sdcb.OpenCvSharp4.mini.runtime.android-x64 NuGet

Note

Due to this breaking change adopted by .NET 8, the Linux NuGet packages of the previous 2023.1.0 dynamic libraries may not work in .NET 8. I have addressed this issue in the dynamic library packages of version 2023.2.0. Also, all OpenCvSharp4 packages have resolved this issue, so if you encounter any problems, please update to the latest version.

Additionally, although Sdcb.OpenVINO.PaddleOCR has not been updated, it depends on the Sdcb.OpenVINO core library. Therefore, if you have not installed Sdcb.OpenVINO but want to experience the latest features, you will need to manually install the latest version of Sdcb.OpenVINO.