intel / inference-engine-node

Bringing the hardware accelerated deep learning inference to Node.js and Electron.js apps.
Apache License 2.0
33 stars 8 forks source link
deep-learning electronjs hardware-acceleration nodejs openvino

DISCONTINUATION OF PROJECT.

This project will no longer be maintained by Intel.

This project has been identified as having known security escapes.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

Inference Engine Binding for Node.js*

*Other names and brands may be claimed as the property of others.

Prerequisites

Instal Node.js.

Download OpenVINO and install it into the default path.

For Windows, install Visual Studio 2019.

For Linux, install build-essential package.

Verified configurations:

Install

The Inference Engine Binding for Node.js supports installation for two operation systems: Windows 10 and Ubuntu 16.04 and two build systems: node-gyp and CMake-based and Node-GYP-based.

Install on Ubuntu 18.04

To install the Inference Engine Binding for Node.js on Ubuntu 16.04 use the following instruction:

  1. Open a terminal in the repository root folder
  2. Activate the OpenVINO environment:

If you installed the OpenVINO to the /opt/intel/openvino directory (as root) use the following command:

$ source /opt/intel/openvino/bin/setupvars.sh

If you installed the OpenVINO to the home directory ~/intel/openvino directory use the following command:

$ source ~/intel/openvino/bin/setupvars.sh

To install Inference Engine Binding for Node.js using node-gyp use the following command in the same terminal:

$ npm install

To install Inference Engine Binding for Node.js using cmake use following commands in the same terminal:

  1. Set an environment variable NODE_PATH to directory with installed NodeJS. For example:

    $ export NODE_PATH=/home/user/.nvm/versions/node/v12.17.0/
  2. Create an empty directory to build and go to this directory:

    $ mkdir "cmake-build" && cd "cmake-build"
  3. Run cmake to fetch project dependencies and create Unix makefiles, then run make to build the project:

    $ cmake -DCMAKE_BUILD_TYPE=Release ../ && \
    $ cmake --build . --target inference_engine_node -- -j $(nproc --all)

Install on Windows 10

To install the Inference Engine Binding for Node.js on Windows 10 use the following instruction:

  1. Open a terminal in the repository root folder
  2. Activate the OpenVINO environment:
    > "C:\Program Files (x86)\IntelSWTools\openvino\bin\setupvars.bat"

To install Inference Engine Binding for Node.js using node-gyp use the following command in the same terminal:

> npm install

Note: For "Error: MSBuild is not set" on VS 2019, please set msbuild_path, e.g.

> npm config set msbuild_path "c:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe"

To install Inference Engine Binding for Node.js using cmake use following commands in the same terminal:

  1. Set an environment variable NODE_PATH to directory with installed node-gyp. For example:
> set NODE_PATH=C:\Users\user\AppData\Local\node-gyp\Cache\14.1.0\
  1. Create an empty directory to build and go to this directory:
> cmake ../ && \
    cmake --build . --target inference_engine_node --config Release

Build

$ npm run build

Note: For debug build on Windows, open the solution in Visual Studio, change library path to "C:\Program Files (x86)\IntelSWTools\openvino\inference_engine\lib\intel64\Debug" and library name to "inference_engined.lib".

Test

Setup the system environment variables for OpenVINO on Windows and Linux.

$ npm test

Example

Setup system environment variables of OpenVINO as test.

API

API Doc

Development

Coding Style