node-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
- macOS
- Windows
- Linux
npm install node-tflite
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