TensorFlow Lite bindings for Node.js
npm install node-tflitenode-tflite is an unofficial TensorFlow Lite 2.2 bindings for Node.js.
It can run TensorFlow Lite models (.tflite) in Node.js environment (including Electron).
- node-tflite can run TensorFlow Lite models (.tflite) while TensorFlow.js cannot (you'll need a different way of model conversion in TensorFlow.js)
- node-tflite may or may not be faster than TensorFlow.js
- I didn't run any benchmarks yet, but the example below runs faster than TF.js
- node-tflite only supports model inference, not training
- node-tflite doesn't support Web environments
- node-tflite doesn't support GPU execution (now) while TensorFlow.js supports through WebGL or tfjs-node-gpu
- [x] macOS
- [x] Windows
- [x] Linux
```
npm install node-tflite
`js
import { Interpreter } from "node-tflite";
const modelData = fs.readFileSync("/path/to/model.tflite");
const interpreter = new Interpreter(modelData);
interpreter.allocateTensors();
interpreter.inputs[0].copyFrom(inputData);
interpreter.invoke();
interpreter.outputs[0].copyTo(outputData);
`
- BlazeFace face detection in Electron
- Uses the BlazeFace model from MediaPipe
- It runs in 60 FPS in MacBook Pro 16'' 2019, which is faster than BlazeFace TF.js demo (around 40 FPS in both wasm and WebGL)
TODO
``
npm install
``
npm test
``
npm run dist
- Configure tensorflow
- bazel build //tensorflow/lite/c:tensorflowlite_c`