Common Issues
1. Using Human with additional version of TFJS
When using Human library version with TFJS bundled and you try to load another copy of TFJS explicitly, you will see warnings in the console/inspector output
Additionally, if those two versions of TFJS as incompatible, it will result in runtime issues
Typically error message is:
Platform browser has already been set. Overwriting the platform with [object Object].
cpu backend was already registered. Reusing existing backend factory.
The kernel '_FusedMatMul' for backend 'cpu' is already registered
The kernel 'Abs' for backend 'cpu' is already registered
...
Solution:
- Since
Humanalready pre-packagesTFJS, you do not need to importTFJSexplicitly - If you want to explicitly import
TFJSinto your project,
you should use-nobundleversion ofHumanlibrary that does not pre-packageTFJS
2. Using Human with custom bundler
If you're using Human library with a custom bundler, bundler may not be able
to recognize target platform and automatically exclude unnecessary dependencies
This happens when using server-side-bundling to create a client-side package, for example inside NextJS.
Typically error message is:
Error: Module not found: Can't resolve 'fs'
Solution: Configure custom bundler to mark specific dependencies as external
Example:
- ESBuild configuration:
{ external: ['fs', 'buffer', 'util', 'os'] }
- WebPack configuration:
externals: {
'fs': 'commonjs2 fs',
'buffer': 'commonjs2 buffer',
'util': 'commonjs2 util',
'os': 'os fs'
}
Human Library Wiki Pages
3D Face Detection, Body Pose, Hand & Finger Tracking, Iris Tracking, Age & Gender Prediction, Emotion Prediction & Gesture Recognition