#machine-learning #openvino #ml #neural-network #latest-version #env-var #config-file

openvino-finder

A helper crate for finding OpenVINO installations on a system

9 unstable releases (3 breaking)

0.6.0 Dec 11, 2023
0.5.0 Apr 6, 2023
0.4.2 Oct 21, 2022
0.4.1 Jul 5, 2022
0.3.1 Apr 26, 2021

#505 in Development tools

Download history 3732/week @ 2023-12-23 4167/week @ 2023-12-30 3464/week @ 2024-01-06 3998/week @ 2024-01-13 4342/week @ 2024-01-20 4700/week @ 2024-01-27 5774/week @ 2024-02-03 4698/week @ 2024-02-10 4870/week @ 2024-02-17 4933/week @ 2024-02-24 4455/week @ 2024-03-02 4146/week @ 2024-03-09 3874/week @ 2024-03-16 3601/week @ 2024-03-23 4583/week @ 2024-03-30 4101/week @ 2024-04-06

16,730 downloads per month
Used in 8 crates (2 directly)

Apache-2.0

18KB
209 lines

openvino-finder

A utility for locating OpenVINO™ files on a host system. Consult the docs for an in-depth description of how to use this crate (and troubleshoot issues).


lib.rs:

This crate provides a mechanism for locating the OpenVINO files installed on a system.

OpenVINO can be installed several ways: from an archive, from an APT repository, via Python pip. The Rust bindings need to be able to:

  1. locate the shared libraries (e.g., libopenvino_c.so on Linux) — see find
  2. locate the plugin configuration file (i.e., plugins.xml) — see find_plugins_xml.

These files are located in different locations based on the installation method, so this crate encodes "how to find" OpenVINO files. This crate's goal is to locate only the latest version of OpenVINO; older versions may continue to be supported on a best-effort basis.

Problems with the OpenVINO bindings are most likely to be due to "finding" the right files. Both find and find_plugins_xml provide various ways of configuring the search paths, first by examining special environment variables and then by looking in known installation locations. When installing from an archive, OpenVINO provides a setup script (e.g., source /opt/intel/openvino/setupvars.sh) that sets these special environment variables. Note that you may need to have the OpenVINO environment ready both when building (cargo build) and running (e.g., cargo test) when the libraries are linked at compile-time (the default). By using the runtime-linking feature, the libraries are only searched for at run-time.

If you do run into problems, the following chart summarizes some of the known installation locations of the OpenVINO files as of version 2022.3.0:

Installation Method Path Available on Notes
Archive (.tar.gz) <extracted folder>/runtime/lib/<arch> Linux <arch>: intel64,armv7l,arm64
Archive (.tar.gz) <extracted folder>/runtime/lib/<arch>/Release MacOS <arch>: intel64,armv7l,arm64
Archive (.zip) <unzipped folder>/runtime/bin/<arch>/Release Windows <arch>: intel64,armv7l,arm64
PyPI <pip install folder>/site-packages/openvino/libs Linux, MacOS, Windows Find install folder with pip show openvino
DEB /usr/lib/x86_64-linux-gnu/openvino-<version>/ Linux (APT-based) This path is for plugins; the libraries are one directory above
RPM /usr/lib64/ Linux (YUM-based)

Dependencies

~90KB