rehault testing framework

pull/356/head
Vladimir Mandic 2022-08-10 13:44:38 -04:00
parent 47b5830c89
commit ad90d3fc3e
31 changed files with 1948 additions and 461 deletions

View File

@ -9,12 +9,13 @@
## Changelog
### **HEAD -> main** 2022/08/08 mandic00@live.com
- add insightface
### **2.9.2** 2022/08/08 mandic00@live.com
### **origin/main** 2022/08/04 mandic00@live.com
### **release: 2.9.1** 2022/07/25 mandic00@live.com

View File

@ -54,12 +54,16 @@ Feature is automatically disabled in **NodeJS** without user impact
configurable using `config.face.insightface` config section
see `demo/faceid/index.ts` for usage
models can be downloaded from <https://github.com/vladmandic/insightface>
- Add `human.check()` which validates all kernel ops for currently loaded models with currently selected backend
Example: `console.error(human.check());`
- Fix **MobileFaceNet** model as alternative for face embedding/descriptor detection
configurable using `config.face.mobilefacenet` config section
- Fix **EfficientPose** module as alternative body detection
- Fix **NanoDet** module as alternative object detection
- Fix `demo/multithread/node-multiprocess.js` demo
- Fix `human.match` when using mixed descriptor lengths
- Increased test coverage
run using `npm run test`
- Update **NMS** methods resulting in some performance improvements
- Update profiling methods in `human.profile()`
- Update project dependencies

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -13,7 +13,7 @@ const log = require('@vladmandic/pilogger'); // this is my simple logger with fe
const child_process = require('child_process');
// note that main process does not import human or tfjs at all, it's all done from worker process
const workerFile = 'demo/nodejs/node-multiprocess-worker.js';
const workerFile = 'demo/multithread/node-multiprocess-worker.js';
const imgPathRoot = './assets'; // modify to include your sample images
const numWorkers = 4; // how many workers will be started
const workers = []; // this holds worker processes

View File

@ -4,6 +4,108 @@
author: <https://github.com/vladmandic>'
*/
import{Human as p}from"../../dist/human.esm.js";var w={async:!0,modelBasePath:"../../models",filter:{enabled:!0,equalization:!1,flip:!1},face:{enabled:!0,detector:{rotation:!1},mesh:{enabled:!0},attention:{enabled:!1},iris:{enabled:!0},description:{enabled:!0},emotion:{enabled:!0}},body:{enabled:!0},hand:{enabled:!0},object:{enabled:!1},gesture:{enabled:!0}},e=new p(w);e.env.perfadd=!1;e.draw.options.font='small-caps 18px "Lato"';e.draw.options.lineHeight=20;var t={video:document.getElementById("video"),canvas:document.getElementById("canvas"),log:document.getElementById("log"),fps:document.getElementById("status"),perf:document.getElementById("performance")},n={detect:0,draw:0,tensors:0,start:0},o={detectFPS:0,drawFPS:0,frames:0,averageMs:0},i=(...a)=>{t.log.innerText+=a.join(" ")+`
`,console.log(...a)},r=a=>t.fps.innerText=a,b=a=>t.perf.innerText="tensors:"+e.tf.memory().numTensors+" | performance: "+JSON.stringify(a).replace(/"|{|}/g,"").replace(/,/g," | ");async function h(){r("starting webcam...");let a={audio:!1,video:{facingMode:"user",resizeMode:"none",width:{ideal:document.body.clientWidth},height:{ideal:document.body.clientHeight}}},d=await navigator.mediaDevices.getUserMedia(a),m=new Promise(u=>{t.video.onloadeddata=()=>u(!0)});t.video.srcObject=d,t.video.play(),await m,t.canvas.width=t.video.videoWidth,t.canvas.height=t.video.videoHeight;let s=d.getVideoTracks()[0],f=s.getCapabilities?s.getCapabilities():"",v=s.getSettings?s.getSettings():"",g=s.getConstraints?s.getConstraints():"";i("video:",t.video.videoWidth,t.video.videoHeight,s.label,{stream:d,track:s,settings:v,constraints:g,capabilities:f}),t.canvas.onclick=()=>{t.video.paused?t.video.play():t.video.pause()}}async function c(){if(!t.video.paused){n.start===0&&(n.start=e.now()),await e.detect(t.video);let a=e.tf.memory().numTensors;a-n.tensors!==0&&i("allocated tensors:",a-n.tensors),n.tensors=a,o.detectFPS=Math.round(1e3*1e3/(e.now()-n.detect))/1e3,o.frames++,o.averageMs=Math.round(1e3*(e.now()-n.start)/o.frames)/1e3,o.frames%100===0&&!t.video.paused&&i("performance",{...o,tensors:n.tensors})}n.detect=e.now(),requestAnimationFrame(c)}async function l(){if(!t.video.paused){let d=await e.next(e.result);e.config.filter.flip?await e.draw.canvas(d.canvas,t.canvas):await e.draw.canvas(t.video,t.canvas),await e.draw.all(t.canvas,d),b(d.performance)}let a=e.now();o.drawFPS=Math.round(1e3*1e3/(a-n.draw))/1e3,n.draw=a,r(t.video.paused?"paused":`fps: ${o.detectFPS.toFixed(1).padStart(5," ")} detect | ${o.drawFPS.toFixed(1).padStart(5," ")} draw`),setTimeout(l,30)}async function M(){i("human version:",e.version,"| tfjs version:",e.tf.version["tfjs-core"]),i("platform:",e.env.platform,"| agent:",e.env.agent),r("loading..."),await e.load(),i("backend:",e.tf.getBackend(),"| available:",e.env.backends),i("models stats:",e.getModelStats()),i("models loaded:",Object.values(e.models).filter(a=>a!==null).length),r("initializing..."),await e.warmup(),await h(),await c(),await l()}window.onload=M;
// demo/typescript/index.ts
import { Human } from "../../dist/human.esm.js";
var humanConfig = {
async: false,
modelBasePath: "../../models",
filter: { enabled: true, equalization: false, flip: false },
face: { enabled: true, detector: { rotation: false }, mesh: { enabled: true }, attention: { enabled: false }, iris: { enabled: true }, description: { enabled: true }, emotion: { enabled: true } },
body: { enabled: true },
hand: { enabled: true },
object: { enabled: false },
gesture: { enabled: true }
};
var human = new Human(humanConfig);
human.env["perfadd"] = false;
human.draw.options.font = 'small-caps 18px "Lato"';
human.draw.options.lineHeight = 20;
var dom = {
video: document.getElementById("video"),
canvas: document.getElementById("canvas"),
log: document.getElementById("log"),
fps: document.getElementById("status"),
perf: document.getElementById("performance")
};
var timestamp = { detect: 0, draw: 0, tensors: 0, start: 0 };
var fps = { detectFPS: 0, drawFPS: 0, frames: 0, averageMs: 0 };
var log = (...msg) => {
dom.log.innerText += msg.join(" ") + "\n";
console.log(...msg);
};
var status = (msg) => dom.fps.innerText = msg;
var perf = (msg) => dom.perf.innerText = "tensors:" + human.tf.memory().numTensors + " | performance: " + JSON.stringify(msg).replace(/"|{|}/g, "").replace(/,/g, " | ");
async function webCam() {
status("starting webcam...");
const options = { audio: false, video: { facingMode: "user", resizeMode: "none", width: { ideal: document.body.clientWidth }, height: { ideal: document.body.clientHeight } } };
const stream = await navigator.mediaDevices.getUserMedia(options);
const ready = new Promise((resolve) => {
dom.video.onloadeddata = () => resolve(true);
});
dom.video.srcObject = stream;
dom.video.play();
await ready;
dom.canvas.width = dom.video.videoWidth;
dom.canvas.height = dom.video.videoHeight;
const track = stream.getVideoTracks()[0];
const capabilities = track.getCapabilities ? track.getCapabilities() : "";
const settings = track.getSettings ? track.getSettings() : "";
const constraints = track.getConstraints ? track.getConstraints() : "";
log("video:", dom.video.videoWidth, dom.video.videoHeight, track.label, { stream, track, settings, constraints, capabilities });
dom.canvas.onclick = () => {
if (dom.video.paused)
dom.video.play();
else
dom.video.pause();
};
}
async function detectionLoop() {
if (!dom.video.paused) {
if (timestamp.start === 0)
timestamp.start = human.now();
await human.detect(dom.video);
const tensors = human.tf.memory().numTensors;
if (tensors - timestamp.tensors !== 0)
log("allocated tensors:", tensors - timestamp.tensors);
timestamp.tensors = tensors;
fps.detectFPS = Math.round(1e3 * 1e3 / (human.now() - timestamp.detect)) / 1e3;
fps.frames++;
fps.averageMs = Math.round(1e3 * (human.now() - timestamp.start) / fps.frames) / 1e3;
if (fps.frames % 100 === 0 && !dom.video.paused)
log("performance", { ...fps, tensors: timestamp.tensors });
}
timestamp.detect = human.now();
requestAnimationFrame(detectionLoop);
}
async function drawLoop() {
if (!dom.video.paused) {
const interpolated = await human.next(human.result);
if (human.config.filter.flip)
await human.draw.canvas(interpolated.canvas, dom.canvas);
else
await human.draw.canvas(dom.video, dom.canvas);
await human.draw.all(dom.canvas, interpolated);
perf(interpolated.performance);
}
const now = human.now();
fps.drawFPS = Math.round(1e3 * 1e3 / (now - timestamp.draw)) / 1e3;
timestamp.draw = now;
status(dom.video.paused ? "paused" : `fps: ${fps.detectFPS.toFixed(1).padStart(5, " ")} detect | ${fps.drawFPS.toFixed(1).padStart(5, " ")} draw`);
setTimeout(drawLoop, 30);
}
async function main() {
log("human version:", human.version, "| tfjs version:", human.tf.version["tfjs-core"]);
log("platform:", human.env.platform, "| agent:", human.env.agent);
status("loading...");
await human.load();
log("backend:", human.tf.getBackend(), "| available:", human.env.backends);
log("models stats:", human.getModelStats());
log("models loaded:", Object.values(human.models).filter((model) => model !== null).length);
status("initializing...");
await human.warmup();
await webCam();
await detectionLoop();
await drawLoop();
}
window.onload = main;
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -13,7 +13,7 @@ const humanConfig: Partial<Config> = { // user configuration for human, used to
// backend: 'wasm' as const,
// wasmPath: 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@3.18.0/dist/',
// cacheSensitivity: 0,
async: true,
async: false,
modelBasePath: '../../models',
filter: { enabled: true, equalization: false, flip: false },
face: { enabled: true, detector: { rotation: false }, mesh: { enabled: true }, attention: { enabled: false }, iris: { enabled: true }, description: { enabled: true }, emotion: { enabled: true } },
@ -99,7 +99,6 @@ async function drawLoop() { // main screen refresh loop
fps.drawFPS = Math.round(1000 * 1000 / (now - timestamp.draw)) / 1000;
timestamp.draw = now;
status(dom.video.paused ? 'paused' : `fps: ${fps.detectFPS.toFixed(1).padStart(5, ' ')} detect | ${fps.drawFPS.toFixed(1).padStart(5, ' ')} draw`); // write status
// requestAnimationFrame(drawLoop); // refresh at screen refresh rate
setTimeout(drawLoop, 30); // use to slow down refresh from max refresh rate to target of 30 fps
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -71,7 +71,7 @@ export async function decode(boxesTensor: Tensor, logitsTensor: Tensor, config:
detected.push({ box, boxRaw, score: scores[i] });
}
/*
t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes, t.scores, 1, config.body.detector?.minConfidence || 0.1, config.body.detector?.iouThreshold || 0.1);
t.nms = tf.image.nonMaxSuppression(t.boxes, t.scores, 1, config.body.detector?.minConfidence || 0.1, config.body.detector?.iouThreshold || 0.1);
const boxes = t.boxes.arraySync();
const scores = t.scores.dataSync();
const nms = t.nms.dataSync();

View File

@ -273,6 +273,12 @@ export interface Config {
*/
cacheModels: boolean,
/** Validate kernel ops used in model during model load
* default: true
* any errors will be printed on console but will be treated as non-fatal
*/
validateModels: boolean,
/** Cache sensitivity
* - values 0..1 where 0.01 means reset cache if input changed more than 1%
* - set to 0 to disable caching
@ -314,6 +320,7 @@ const config: Config = {
backend: '',
modelBasePath: '',
cacheModels: true,
validateModels: true,
wasmPath: '',
wasmPlatformFetch: false,
debug: false,

View File

@ -16,11 +16,10 @@ export const getCanvasContext = (input: AnyCanvas) => {
export const rad2deg = (theta: number) => Math.round((theta * 180) / Math.PI);
export const colorDepth = (z: number | undefined, opt: DrawOptions): string => {
export const colorDepth = (z: number | undefined, opt: DrawOptions): string => { // performance optimization needed
if (!opt.useDepth || typeof z === 'undefined') return opt.color;
const rgb = Uint8ClampedArray.from([127 + (2 * z), 127 - (2 * z), 255]);
const color = `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opt.alpha})`;
return color;
return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opt.alpha})`;
};
export function point(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, x: number, y: number, z: number | undefined, localOptions: DrawOptions) {

View File

@ -75,7 +75,7 @@ export async function getBoxes(inputImage: Tensor, config: Config) {
t.logits = tf.slice(t.batch, [0, 0], [-1, 1]);
t.sigmoid = tf.sigmoid(t.logits);
t.scores = tf.squeeze(t.sigmoid);
t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes, t.scores, (config.face.detector?.maxDetected || 0), (config.face.detector?.iouThreshold || 0), (config.face.detector?.minConfidence || 0));
t.nms = tf.image.nonMaxSuppression(t.boxes, t.scores, (config.face.detector?.maxDetected || 0), (config.face.detector?.iouThreshold || 0), (config.face.detector?.minConfidence || 0));
const nms = await t.nms.array() as number[];
const boxes: Array<DetectBox> = [];
const scores = await t.scores.data();

View File

@ -87,6 +87,10 @@ export async function predict(input: Tensor, config: Config): Promise<FaceResult
} else if (!model) { // mesh enabled, but not loaded
if (config.debug) log('face mesh detection requested, but model is not loaded');
} else { // mesh enabled
if (config.face.attention?.enabled && !env.kernels.includes('atan2')) {
tf.dispose(face.tensor);
return faces;
}
const results = model.execute(face.tensor as Tensor) as Array<Tensor>;
const confidenceT = results.find((t) => t.shape[t.shape.length - 1] === 1) as Tensor;
const faceConfidence = await confidenceT.data();

View File

@ -11,6 +11,7 @@ export type MatchOptions = { order?: number, threshold?: number, multiplier?: nu
*/
export function distance(descriptor1: Descriptor, descriptor2: Descriptor, options: MatchOptions = { order: 2, multiplier: 25 }) {
// general minkowski distance, euclidean distance is limited case where order is 2
if (!descriptor1 || !descriptor1) return Number.MAX_SAFE_INTEGER;
let sum = 0;
for (let i = 0; i < descriptor1.length; i++) {
const diff = (!options.order || options.order === 2) ? (descriptor1[i] - descriptor2[i]) : (Math.abs(descriptor1[i] - descriptor2[i]));

View File

@ -67,7 +67,7 @@ export class HandDetector {
t.boxes = tf.slice(t.predictions, [0, 1], [-1, 4]);
t.norm = this.normalizeBoxes(t.boxes);
// box detection is flaky so we look for 3x boxes than we need results
t.nms = await tf.image.nonMaxSuppressionAsync(t.norm, t.scores, 3 * config.hand.maxDetected, config.hand.iouThreshold, config.hand.minConfidence);
t.nms = tf.image.nonMaxSuppression(t.norm, t.scores, 3 * config.hand.maxDetected, config.hand.iouThreshold, config.hand.minConfidence);
const nms = await t.nms.array() as Array<number>;
const hands: Array<{ startPoint: Point; endPoint: Point; palmLandmarks: Point[]; confidence: number }> = [];
for (const index of nms) {

View File

@ -121,7 +121,7 @@ async function detectHands(input: Tensor, config: Config): Promise<HandDetectRes
t.max = tf.max(t.filtered, 1); // max overall score
t.argmax = tf.argMax(t.filtered, 1); // class index of max overall score
let id = 0;
t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes, t.max, (config.hand.maxDetected || 0) + 1, config.hand.iouThreshold || 0, config.hand.minConfidence || 1);
t.nms = tf.image.nonMaxSuppression(t.boxes, t.max, (config.hand.maxDetected || 0) + 1, config.hand.iouThreshold || 0, config.hand.minConfidence || 1);
const nms = await t.nms.data();
const scores = await t.max.data();
const classNum = await t.argmax.data();

View File

@ -171,6 +171,8 @@ export class Human {
this.faceUVMap = facemesh.uvmap;
// set gl info
this.gl = humangl.config;
// init model validation
models.validateModel(this, null, '');
// include platform info
this.emit('create');
}
@ -210,6 +212,11 @@ export class Human {
return validate(defaults, userConfig || this.config);
}
/** Check model for invalid kernel ops for current backend */
check() {
return models.validate(this);
}
/** Exports face matching methods {@link match#similarity} */
public similarity = match.similarity;
/** Exports face matching methods {@link match#distance} */

View File

@ -148,34 +148,53 @@ export async function load(instance: Human): Promise<void> {
}
}
export async function validate(instance: Human): Promise<void> {
interface Op { name: string, category: string, op: string }
let instance: Human;
type Missing = { name: string, url: string, missing: string[], ops: string[] }
export function validateModel(newInstance: Human | null, model: GraphModel | null, name: string): Missing | null {
if (newInstance) instance = newInstance;
if (!model) return null;
if (!instance) log('instance not registred');
if (!instance.config.validateModels) return null;
const simpleOps = ['const', 'placeholder', 'noop', 'pad', 'squeeze', 'add', 'sub', 'mul', 'div'];
const ignoreOps = ['biasadd', 'fusedbatchnormv3', 'matmul'];
const ops: string[] = [];
const missing: string[] = [];
interface Op { name: string, category: string, op: string }
// @ts-ignore // modelUrl is a private method
const url = model.modelUrl;
// @ts-ignore // executor is a private method
const executor = model.executor;
if (executor && executor.graph.nodes) {
for (const kernel of Object.values(executor.graph.nodes)) {
const op = (kernel as Op).op.toLowerCase();
if (!ops.includes(op)) ops.push(op);
}
} else {
if (!executor && instance.config.debug) log('model signature not determined:', name);
}
for (const op of ops) {
if (!simpleOps.includes(op) // exclude simple ops
&& !ignoreOps.includes(op) // exclude specific ops
&& !instance.env.kernels.includes(op) // check actual kernel ops
&& !instance.env.kernels.includes(op.replace('_', '')) // check variation without _
&& !instance.env.kernels.includes(op.replace('native', '')) // check standard variation
&& !instance.env.kernels.includes(op.replace('v2', ''))) { // check non-versioned variation
missing.push(op);
}
}
if (instance.config.debug && missing.length > 0) log('model validation failed:', name, missing);
return missing.length > 0 ? { name, missing, ops, url } : null;
}
export function validate(newInstance: Human): Array<{ name: string, missing: string[] }> {
instance = newInstance;
const missing: Array<Missing> = [];
for (const defined of Object.keys(instance.models)) {
const model: GraphModel | null = instance.models[defined as keyof Models] as GraphModel | null;
if (!model) continue;
const ops: string[] = [];
// @ts-ignore // executor is a private method
const executor = model?.executor;
if (executor && executor.graph.nodes) {
for (const kernel of Object.values(executor.graph.nodes)) {
const op = (kernel as Op).op.toLowerCase();
if (!ops.includes(op)) ops.push(op);
}
} else {
if (!executor && instance.config.debug) log('model signature not determined:', defined);
}
const missing: string[] = [];
for (const op of ops) {
if (!simpleOps.includes(op) // exclude simple ops
&& !instance.env.kernels.includes(op) // check actual kernel ops
&& !instance.env.kernels.includes(op.replace('_', '')) // check variation without _
&& !instance.env.kernels.includes(op.replace('native', '')) // check standard variation
&& !instance.env.kernels.includes(op.replace('v2', ''))) { // check non-versioned variation
missing.push(op);
}
}
// log('model validation ops:', defined, ops);
if (instance.config.debug && missing.length > 0) log('model validation failed:', defined, missing);
const res = validateModel(instance, model, defined);
if (res) missing.push(res);
}
return missing;
}

View File

@ -42,7 +42,7 @@ async function process(res: Tensor | null, outputShape: [number, number], config
t.scores = tf.squeeze(arr[4]);
t.classes = tf.squeeze(arr[5]);
tf.dispose([res, ...arr]);
t.nms = await tf.image.nonMaxSuppressionAsync(t.boxes, t.scores, config.object.maxDetected, config.object.iouThreshold, (config.object.minConfidence || 0));
t.nms = tf.image.nonMaxSuppression(t.boxes, t.scores, config.object.maxDetected, config.object.iouThreshold, (config.object.minConfidence || 0));
const nms = await t.nms.data();
let i = 0;
for (const id of Array.from(nms)) {

View File

@ -91,7 +91,7 @@ async function process(res: Tensor[], outputShape: [number, number], config: Con
const nmsScores = results.map((a) => a.score);
let nmsIdx: Array<number> = [];
if (nmsBoxes && nmsBoxes.length > 0) {
const nms = await tf.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config.object.maxDetected, config.object.iouThreshold, config.object.minConfidence);
const nms = tf.image.nonMaxSuppression(nmsBoxes, nmsScores, config.object.maxDetected, config.object.iouThreshold, config.object.minConfidence);
nmsIdx = await nms.data();
tf.dispose(nms);
}

View File

@ -113,7 +113,7 @@ export async function check(instance: Human, force = false) {
if (tf.env().flagRegistry['WEBGL_USE_SHAPES_UNIFORMS']) tf.env().set('WEBGL_USE_SHAPES_UNIFORMS', true);
if (tf.env().flagRegistry['CPU_HANDOFF_SIZE_THRESHOLD']) tf.env().set('CPU_HANDOFF_SIZE_THRESHOLD', 256);
if (tf.env().flagRegistry['WEBGL_EXP_CONV']) tf.env().set('WEBGL_EXP_CONV', true); // <https://github.com/tensorflow/tfjs/issues/6678>
if (tf.env().flagRegistry['USE_SETTIMEOUTWPM']) tf.env().set('USE_SETTIMEOUTWPM', true); // <https://github.com/tensorflow/tfjs/issues/6687>
if (tf.env().flagRegistry['USE_SETTIMEOUTCUSTOM']) tf.env().set('USE_SETTIMEOUTCUSTOM', true); // <https://github.com/tensorflow/tfjs/issues/6687>
// if (tf.env().flagRegistry['WEBGL_PACK_DEPTHWISECONV']) tf.env().set('WEBGL_PACK_DEPTHWISECONV', false);
// if (if (tf.env().flagRegistry['WEBGL_FORCE_F16_TEXTURES']) && !instance.config.object.enabled) tf.env().set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision
if (typeof instance.config['deallocate'] !== 'undefined' && instance.config['deallocate']) { // hidden param

View File

@ -3,6 +3,7 @@ import * as tf from '../../dist/tfjs.esm.js';
import type { GraphModel } from './types';
import type { Config } from '../config';
import * as modelsDefs from '../../models/models.json';
import { validateModel } from '../models';
const options = {
cacheModels: true,
@ -80,5 +81,6 @@ export async function loadModel(modelPath: string | undefined): Promise<GraphMod
log('error saving model:', modelUrl, err);
}
}
validateModel(null, model, `${modelPath}`);
return model;
}

View File

@ -117,8 +117,8 @@ export class Env {
this.wasm.supported = typeof WebAssembly !== 'undefined';
this.wasm.backend = this.backends.includes('wasm');
if (this.wasm.supported && this.wasm.backend && tf.getBackend() === 'wasm') {
this.wasm.simd = await tf.env().getAsync('WASM_HAS_SIMD_SUPPORT');
this.wasm.multithread = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT');
this.wasm.simd = tf.env().get('WASM_HAS_SIMD_SUPPORT');
this.wasm.multithread = tf.env().get('WASM_HAS_MULTITHREAD_SUPPORT');
}
const c = image.canvas(100, 100);
const ctx = c ? c.getContext('webgl2') : undefined; // causes too many gl contexts
@ -148,7 +148,7 @@ export class Env {
}
/** update cpu information */
async updateCPU() {
updateCPU() {
const cpu = { model: '', flags: [] };
if (this.node && this.platform.startsWith('linux')) {
/*

View File

@ -11,16 +11,16 @@ export function run(modelName: string, profileData: Record<string, unknown>): vo
if (!profileData || !profileData.kernels) return;
const maxDetected = 5;
// @ts-ignore profileData.kernels is tfjs internal type
const time = profileData.kernels
const time = (profileData.kernels as Array)
.filter((a) => a.kernelTimeMs > 0)
.reduce((a, b) => a += b.kernelTimeMs, 0);
// @ts-ignore profileData.kernels is tfjs internal type
const slowest = profileData.kernels
const slowest = (profileData.kernels as Array)
.map((a, i) => { a.id = i; return a; })
.filter((a) => a.kernelTimeMs > 0)
.sort((a, b) => b.kernelTimeMs - a.kernelTimeMs);
// @ts-ignore profileData.kernels is tfjs internal type
const largest = profileData.kernels
const largest = (profileData.kernels as Array)
.map((a, i) => { a.id = i; return a; })
.filter((a) => a.totalBytesSnapshot > 0)
.sort((a, b) => b.totalBytesSnapshot - a.totalBytesSnapshot);

View File

@ -78,7 +78,7 @@ async function warmupNode(instance: Human): Promise<Result | undefined> {
if (instance.config.warmup === 'face') img = atob(sample.face);
else img = atob(sample.body);
let res;
if ('node' in tf) {
if (('node' in tf) && (tf.getBackend() === 'tensorflow')) {
// @ts-ignore tf.node may be undefined
const data = tf['node'].decodeJpeg(img);
const expanded = data.expandDims(0);
@ -126,7 +126,6 @@ export async function runCompile(allModels: Models) {
if (shape[dim] === -1) shape[dim] = dim === 0 ? 1 : 64; // override batch number and any dynamic dimensions
}
const tensor = tf.zeros(shape, dtype);
// const res = await model.executeAsync(tensor); // fails with current tfjs
try {
const res = model.execute(tensor);
compiledModels.push(modelName);

View File

@ -1,24 +1,791 @@
2022-08-08 15:08:28 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.2"}
2022-08-08 15:08:28 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-08-08 15:08:28 INFO:  Toolchain: {"build":"0.7.8","esbuild":"0.14.54","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.21.0"}
2022-08-08 15:08:28 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-08-08 15:08:28 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-08-08 15:08:28 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":608}
2022-08-08 15:08:28 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":652676,"outputBytes":305745}
2022-08-08 15:08:28 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":612}
2022-08-08 15:08:28 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":652680,"outputBytes":305749}
2022-08-08 15:08:28 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":664}
2022-08-08 15:08:28 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":652732,"outputBytes":305799}
2022-08-08 15:08:28 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358}
2022-08-08 15:08:28 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583}
2022-08-08 15:08:28 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652651,"outputBytes":304598}
2022-08-08 15:08:28 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1271,"outputBytes":2787569}
2022-08-08 15:08:29 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3439637,"outputBytes":1667460}
2022-08-08 15:08:29 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3439637,"outputBytes":3069462}
2022-08-08 15:08:36 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30}
2022-08-08 15:08:38 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":76,"generated":true}
2022-08-08 15:08:38 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6787,"outputBytes":3141}
2022-08-08 15:08:38 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":7798}
2022-08-08 15:08:47 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":108,"errors":0,"warnings":0}
2022-08-08 15:08:47 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-08-08 15:08:47 INFO:  Done...
2022-08-10 10:00:06 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.2"}
2022-08-10 10:00:06 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-08-10 10:00:06 INFO:  Toolchain: {"build":"0.7.8","esbuild":"0.14.54","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.21.0"}
2022-08-10 10:00:06 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-08-10 10:00:06 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-08-10 10:00:06 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":608}
2022-08-10 10:00:06 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":652520,"outputBytes":305668}
2022-08-10 10:00:06 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":612}
2022-08-10 10:00:06 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":652524,"outputBytes":305672}
2022-08-10 10:00:06 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":664}
2022-08-10 10:00:06 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":652576,"outputBytes":305722}
2022-08-10 10:00:06 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358}
2022-08-10 10:00:06 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583}
2022-08-10 10:00:06 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652495,"outputBytes":304521}
2022-08-10 10:00:06 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1271,"outputBytes":2787569}
2022-08-10 10:00:06 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3439481,"outputBytes":1667383}
2022-08-10 10:00:06 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3439481,"outputBytes":3069362}
2022-08-10 10:00:13 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30}
2022-08-10 10:00:15 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":76,"generated":true}
2022-08-10 10:00:15 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":3141}
2022-08-10 10:00:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":7798}
2022-08-10 10:00:25 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":108,"errors":1,"warnings":1}
2022-08-10 10:00:25 WARN:  
/home/vlado/dev/human/test/test-main.js
 7:5 error 'lastOp' is never reassigned. Use 'const' instead prefer-const
 16:3 warning Unexpected console statement no-console

✖ 2 problems (1 error, 1 warning)
 1 error and 0 warnings potentially fixable with the `--fix` option.

2022-08-10 10:00:25 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-08-10 10:00:25 INFO:  Done...
2022-08-10 10:18:46 INFO:  @vladmandic/human version 2.9.2
2022-08-10 10:18:46 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.15.0
2022-08-10 10:18:46 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.2"}
2022-08-10 10:18:46 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-08-10 10:18:46 INFO:  Toolchain: {"build":"0.7.8","esbuild":"0.14.54","typescript":"4.7.4","typedoc":"0.23.10","eslint":"8.21.0"}
2022-08-10 10:18:46 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]}
2022-08-10 10:18:46 STATE: WebServer: {"ssl":false,"port":10030,"root":"."}
2022-08-10 10:18:46 STATE: WebServer: {"ssl":true,"port":10031,"root":".","sslKey":"node_modules/@vladmandic/build/cert/https.key","sslCrt":"node_modules/@vladmandic/build/cert/https.crt"}
2022-08-10 10:18:46 STATE: Watch: {"locations":["src/**/*","tfjs/**/*","demo/**/*.ts"]}
2022-08-10 10:18:46 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:18:46 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653010,"outputBytes":484314}
2022-08-10 10:18:46 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:18:46 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653030,"outputBytes":484330}
2022-08-10 10:18:46 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:18:46 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653117,"outputBytes":484421}
2022-08-10 10:18:46 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:18:46 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:18:46 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652767,"outputBytes":486373}
2022-08-10 10:18:46 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:18:46 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3435971,"outputBytes":1667383}
2022-08-10 10:18:47 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3435971,"outputBytes":3064866}
2022-08-10 10:18:47 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:18:47 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:18:47 INFO:  Listening...
2022-08-10 10:21:12 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-08-10 10:21:12 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:21:12 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653062,"outputBytes":484366}
2022-08-10 10:21:12 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:21:12 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653082,"outputBytes":484382}
2022-08-10 10:21:12 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:21:12 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653169,"outputBytes":484473}
2022-08-10 10:21:12 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:21:12 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:21:12 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652819,"outputBytes":486425}
2022-08-10 10:21:12 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:21:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436023,"outputBytes":1667425}
2022-08-10 10:21:13 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436023,"outputBytes":3064918}
2022-08-10 10:21:13 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:21:13 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:22:18 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-08-10 10:22:18 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:22:18 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653088,"outputBytes":484392}
2022-08-10 10:22:18 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:22:18 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653108,"outputBytes":484408}
2022-08-10 10:22:18 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:22:18 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653195,"outputBytes":484499}
2022-08-10 10:22:18 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:22:18 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:22:18 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652845,"outputBytes":486451}
2022-08-10 10:22:19 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:22:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436049,"outputBytes":1667446}
2022-08-10 10:22:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436049,"outputBytes":3064944}
2022-08-10 10:22:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:22:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:22:21 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-08-10 10:22:21 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:22:21 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653088,"outputBytes":484392}
2022-08-10 10:22:21 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:22:21 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653108,"outputBytes":484408}
2022-08-10 10:22:21 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:22:21 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653195,"outputBytes":484499}
2022-08-10 10:22:21 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:22:21 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:22:21 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652845,"outputBytes":486451}
2022-08-10 10:22:21 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:22:21 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436049,"outputBytes":1667446}
2022-08-10 10:22:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436049,"outputBytes":3064944}
2022-08-10 10:22:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:22:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:25:27 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-08-10 10:25:27 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:25:27 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653010,"outputBytes":484314}
2022-08-10 10:25:27 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:25:27 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653030,"outputBytes":484330}
2022-08-10 10:25:27 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:25:27 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653117,"outputBytes":484421}
2022-08-10 10:25:27 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:25:27 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:25:27 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652767,"outputBytes":486373}
2022-08-10 10:25:27 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:25:27 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3435971,"outputBytes":1667383}
2022-08-10 10:25:27 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3435971,"outputBytes":3064866}
2022-08-10 10:25:27 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:25:27 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:37:46 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:37:46 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:37:46 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653132,"outputBytes":484475}
2022-08-10 10:37:46 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:37:46 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653152,"outputBytes":484491}
2022-08-10 10:37:46 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:37:46 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653239,"outputBytes":484582}
2022-08-10 10:37:46 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:37:46 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:37:46 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652889,"outputBytes":486534}
2022-08-10 10:37:46 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:37:46 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436093,"outputBytes":1667449}
2022-08-10 10:37:46 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436093,"outputBytes":3065027}
2022-08-10 10:37:46 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:37:46 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:38:24 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"}
2022-08-10 10:38:24 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:38:24 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653217,"outputBytes":484526}
2022-08-10 10:38:24 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:38:24 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653237,"outputBytes":484542}
2022-08-10 10:38:24 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:38:24 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653324,"outputBytes":484633}
2022-08-10 10:38:24 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:38:24 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:38:24 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652974,"outputBytes":486586}
2022-08-10 10:38:24 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:38:24 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436178,"outputBytes":1667462}
2022-08-10 10:38:25 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436178,"outputBytes":3065079}
2022-08-10 10:38:25 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:38:25 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:38:44 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"}
2022-08-10 10:38:44 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:38:44 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653216,"outputBytes":484526}
2022-08-10 10:38:44 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:38:44 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653236,"outputBytes":484542}
2022-08-10 10:38:44 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:38:44 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653323,"outputBytes":484633}
2022-08-10 10:38:44 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:38:44 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:38:44 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":652973,"outputBytes":486586}
2022-08-10 10:38:44 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:38:45 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436177,"outputBytes":1667462}
2022-08-10 10:38:45 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436177,"outputBytes":3065079}
2022-08-10 10:38:45 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:38:45 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:40:54 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:40:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:40:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653373,"outputBytes":485001}
2022-08-10 10:40:54 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:40:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653393,"outputBytes":485017}
2022-08-10 10:40:54 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:40:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653480,"outputBytes":485108}
2022-08-10 10:40:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:40:54 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:40:54 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653130,"outputBytes":487061}
2022-08-10 10:40:54 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:40:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436334,"outputBytes":1667535}
2022-08-10 10:40:55 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436334,"outputBytes":3065584}
2022-08-10 10:40:55 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:40:55 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:41:15 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:41:15 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:41:15 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653402,"outputBytes":485026}
2022-08-10 10:41:15 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:41:15 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653422,"outputBytes":485042}
2022-08-10 10:41:15 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:41:15 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653509,"outputBytes":485133}
2022-08-10 10:41:15 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:41:15 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:41:15 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653159,"outputBytes":487086}
2022-08-10 10:41:15 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:41:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436363,"outputBytes":1667543}
2022-08-10 10:41:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436363,"outputBytes":3065609}
2022-08-10 10:41:15 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:41:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:41:40 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"}
2022-08-10 10:41:40 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:41:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653407,"outputBytes":485031}
2022-08-10 10:41:40 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:41:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653427,"outputBytes":485047}
2022-08-10 10:41:40 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:41:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653514,"outputBytes":485138}
2022-08-10 10:41:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:41:40 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:41:40 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653164,"outputBytes":487091}
2022-08-10 10:41:40 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:41:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436368,"outputBytes":1667548}
2022-08-10 10:41:41 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436368,"outputBytes":3065614}
2022-08-10 10:41:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:41:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:42:54 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-08-10 10:42:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:42:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653478,"outputBytes":485066}
2022-08-10 10:42:54 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:42:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653498,"outputBytes":485082}
2022-08-10 10:42:54 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:42:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653585,"outputBytes":485173}
2022-08-10 10:42:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:42:54 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:42:54 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653235,"outputBytes":487126}
2022-08-10 10:42:54 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:42:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436439,"outputBytes":1667565}
2022-08-10 10:42:55 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436439,"outputBytes":3065649}
2022-08-10 10:42:55 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:42:55 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:44:00 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:44:00 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:44:00 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653453,"outputBytes":485041}
2022-08-10 10:44:00 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:44:00 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653473,"outputBytes":485057}
2022-08-10 10:44:00 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:44:00 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653560,"outputBytes":485148}
2022-08-10 10:44:00 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:44:00 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:44:00 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653210,"outputBytes":487101}
2022-08-10 10:44:00 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:44:00 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436414,"outputBytes":1667548}
2022-08-10 10:44:00 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436414,"outputBytes":3065624}
2022-08-10 10:44:00 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:44:00 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:46:50 INFO:  Watch: {"event":"modify","input":"src/config.ts"}
2022-08-10 10:46:50 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:46:50 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653566,"outputBytes":485065}
2022-08-10 10:46:50 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:46:50 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653586,"outputBytes":485081}
2022-08-10 10:46:50 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:46:50 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653673,"outputBytes":485172}
2022-08-10 10:46:50 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:46:50 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:46:50 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653323,"outputBytes":487125}
2022-08-10 10:46:50 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:46:50 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436527,"outputBytes":1667566}
2022-08-10 10:46:50 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436527,"outputBytes":3065648}
2022-08-10 10:46:50 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:46:50 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:47:22 INFO:  Watch: {"event":"modify","input":"src/config.ts"}
2022-08-10 10:47:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:47:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653664,"outputBytes":485065}
2022-08-10 10:47:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:47:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653684,"outputBytes":485081}
2022-08-10 10:47:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:47:23 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653771,"outputBytes":485172}
2022-08-10 10:47:23 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:47:23 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:47:23 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653421,"outputBytes":487125}
2022-08-10 10:47:23 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:47:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436625,"outputBytes":1667566}
2022-08-10 10:47:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436625,"outputBytes":3065648}
2022-08-10 10:47:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:47:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:48:57 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:48:57 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:48:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653716,"outputBytes":485121}
2022-08-10 10:48:57 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:48:57 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653736,"outputBytes":485137}
2022-08-10 10:48:57 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:48:57 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653823,"outputBytes":485228}
2022-08-10 10:48:57 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:48:57 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:48:57 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653473,"outputBytes":487181}
2022-08-10 10:48:57 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:48:58 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436677,"outputBytes":1667595}
2022-08-10 10:48:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436677,"outputBytes":3065704}
2022-08-10 10:48:58 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:48:58 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:49:22 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:49:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:49:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653744,"outputBytes":485147}
2022-08-10 10:49:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:49:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653764,"outputBytes":485163}
2022-08-10 10:49:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:49:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653851,"outputBytes":485254}
2022-08-10 10:49:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:49:22 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:49:22 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653501,"outputBytes":487207}
2022-08-10 10:49:23 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:49:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436705,"outputBytes":1667604}
2022-08-10 10:49:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436705,"outputBytes":3065730}
2022-08-10 10:49:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:49:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:49:47 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 10:49:47 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:49:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653716,"outputBytes":485121}
2022-08-10 10:49:47 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:49:47 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653736,"outputBytes":485137}
2022-08-10 10:49:47 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:49:47 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653823,"outputBytes":485228}
2022-08-10 10:49:47 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:49:47 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:49:47 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653473,"outputBytes":487181}
2022-08-10 10:49:47 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:49:47 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436677,"outputBytes":1667595}
2022-08-10 10:49:47 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436677,"outputBytes":3065704}
2022-08-10 10:49:47 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:49:47 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:50:21 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"}
2022-08-10 10:50:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:50:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653750,"outputBytes":485161}
2022-08-10 10:50:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:50:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653770,"outputBytes":485177}
2022-08-10 10:50:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:50:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653857,"outputBytes":485268}
2022-08-10 10:50:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:50:22 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:50:22 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653507,"outputBytes":487221}
2022-08-10 10:50:22 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:50:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436711,"outputBytes":1667605}
2022-08-10 10:50:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436711,"outputBytes":3065744}
2022-08-10 10:50:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:50:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:50:50 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"}
2022-08-10 10:50:50 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:50:50 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653727,"outputBytes":485132}
2022-08-10 10:50:50 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:50:50 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653747,"outputBytes":485148}
2022-08-10 10:50:50 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:50:50 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653834,"outputBytes":485239}
2022-08-10 10:50:50 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:50:50 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:50:50 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653484,"outputBytes":487192}
2022-08-10 10:50:50 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:50:51 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436688,"outputBytes":1667601}
2022-08-10 10:50:51 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436688,"outputBytes":3065715}
2022-08-10 10:50:51 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:50:51 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:51:54 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"}
2022-08-10 10:51:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:51:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653716,"outputBytes":485121}
2022-08-10 10:51:54 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:51:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653736,"outputBytes":485137}
2022-08-10 10:51:54 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:51:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653823,"outputBytes":485228}
2022-08-10 10:51:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:51:54 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:51:54 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653473,"outputBytes":487181}
2022-08-10 10:51:54 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:51:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436677,"outputBytes":1667595}
2022-08-10 10:51:54 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436677,"outputBytes":3065704}
2022-08-10 10:51:54 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:51:54 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 10:54:58 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-08-10 10:54:58 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 10:54:58 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653831,"outputBytes":485165}
2022-08-10 10:54:58 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 10:54:58 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653851,"outputBytes":485181}
2022-08-10 10:54:58 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 10:54:58 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653938,"outputBytes":485272}
2022-08-10 10:54:58 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 10:54:58 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 10:54:58 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653588,"outputBytes":487225}
2022-08-10 10:54:58 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 10:54:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436792,"outputBytes":1667619}
2022-08-10 10:54:59 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436792,"outputBytes":3065748}
2022-08-10 10:54:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 10:54:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:15:56 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 11:15:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:15:56 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653988,"outputBytes":485208}
2022-08-10 11:15:56 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:15:56 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654008,"outputBytes":485224}
2022-08-10 11:15:56 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:15:56 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654095,"outputBytes":485315}
2022-08-10 11:15:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:15:56 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:15:56 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653745,"outputBytes":487268}
2022-08-10 11:15:56 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:15:56 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436949,"outputBytes":1667657}
2022-08-10 11:15:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436949,"outputBytes":3065791}
2022-08-10 11:15:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:15:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:17:26 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 11:17:26 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:17:26 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654013,"outputBytes":485233}
2022-08-10 11:17:26 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:17:26 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654033,"outputBytes":485249}
2022-08-10 11:17:26 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:17:26 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654120,"outputBytes":485340}
2022-08-10 11:17:26 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:17:26 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:17:26 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653770,"outputBytes":487293}
2022-08-10 11:17:26 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:17:27 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3436974,"outputBytes":1667674}
2022-08-10 11:17:27 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3436974,"outputBytes":3065816}
2022-08-10 11:17:27 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:17:27 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:28:22 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 11:28:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:28:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654133,"outputBytes":485271}
2022-08-10 11:28:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:28:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654153,"outputBytes":485287}
2022-08-10 11:28:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:28:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654240,"outputBytes":485378}
2022-08-10 11:28:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:28:22 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:28:22 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653890,"outputBytes":487331}
2022-08-10 11:28:22 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:28:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437094,"outputBytes":1667692}
2022-08-10 11:28:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437094,"outputBytes":3065854}
2022-08-10 11:28:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:28:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:28:25 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 11:28:25 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:28:25 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654133,"outputBytes":485271}
2022-08-10 11:28:25 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:28:25 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654153,"outputBytes":485287}
2022-08-10 11:28:25 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:28:25 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654240,"outputBytes":485378}
2022-08-10 11:28:25 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:28:25 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:28:25 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653890,"outputBytes":487331}
2022-08-10 11:28:25 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:28:26 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437094,"outputBytes":1667692}
2022-08-10 11:28:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437094,"outputBytes":3065854}
2022-08-10 11:28:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:28:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:29:22 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 11:29:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:29:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654124,"outputBytes":485275}
2022-08-10 11:29:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:29:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654144,"outputBytes":485291}
2022-08-10 11:29:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:29:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654231,"outputBytes":485382}
2022-08-10 11:29:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:29:22 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:29:22 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653881,"outputBytes":487335}
2022-08-10 11:29:22 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:29:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437085,"outputBytes":1667699}
2022-08-10 11:29:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437085,"outputBytes":3065858}
2022-08-10 11:29:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:29:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:29:31 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"}
2022-08-10 11:29:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:29:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654124,"outputBytes":485275}
2022-08-10 11:29:31 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:29:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654144,"outputBytes":485291}
2022-08-10 11:29:31 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:29:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654231,"outputBytes":485382}
2022-08-10 11:29:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:29:31 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:29:31 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653881,"outputBytes":487335}
2022-08-10 11:29:31 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:29:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437085,"outputBytes":1667699}
2022-08-10 11:29:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437085,"outputBytes":3065858}
2022-08-10 11:29:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:29:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:34:00 INFO:  Watch: {"event":"modify","input":"src/face/match.ts"}
2022-08-10 11:34:00 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:34:00 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654170,"outputBytes":485325}
2022-08-10 11:34:00 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:34:00 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654190,"outputBytes":485341}
2022-08-10 11:34:00 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:34:00 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654277,"outputBytes":485432}
2022-08-10 11:34:00 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:34:00 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:34:00 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653927,"outputBytes":487385}
2022-08-10 11:34:00 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:34:00 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437131,"outputBytes":1667718}
2022-08-10 11:34:01 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437131,"outputBytes":3065908}
2022-08-10 11:34:01 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:34:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:34:15 INFO:  Watch: {"event":"modify","input":"src/face/match.ts"}
2022-08-10 11:34:15 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:34:15 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654192,"outputBytes":485347}
2022-08-10 11:34:15 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:34:15 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654212,"outputBytes":485363}
2022-08-10 11:34:15 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:34:15 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654299,"outputBytes":485454}
2022-08-10 11:34:15 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:34:15 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:34:15 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653949,"outputBytes":487407}
2022-08-10 11:34:15 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:34:16 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437153,"outputBytes":1667740}
2022-08-10 11:34:16 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437153,"outputBytes":3065930}
2022-08-10 11:34:16 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:34:16 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:34:29 INFO:  Watch: {"event":"modify","input":"src/face/match.ts"}
2022-08-10 11:34:29 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:34:29 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654192,"outputBytes":485347}
2022-08-10 11:34:29 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:34:29 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654212,"outputBytes":485363}
2022-08-10 11:34:29 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:34:29 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654299,"outputBytes":485454}
2022-08-10 11:34:29 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:34:29 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:34:29 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653949,"outputBytes":487407}
2022-08-10 11:34:29 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:34:29 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437153,"outputBytes":1667740}
2022-08-10 11:34:30 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437153,"outputBytes":3065930}
2022-08-10 11:34:30 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:34:30 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 11:51:00 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 11:51:00 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 11:51:00 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654209,"outputBytes":485364}
2022-08-10 11:51:00 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 11:51:00 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654229,"outputBytes":485380}
2022-08-10 11:51:00 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 11:51:00 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654316,"outputBytes":485471}
2022-08-10 11:51:00 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 11:51:00 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 11:51:01 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653966,"outputBytes":487424}
2022-08-10 11:51:01 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 11:51:01 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437170,"outputBytes":1667756}
2022-08-10 11:51:01 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437170,"outputBytes":3065947}
2022-08-10 11:51:01 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 11:51:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:17:37 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"}
2022-08-10 12:17:37 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:17:37 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654243,"outputBytes":485398}
2022-08-10 12:17:37 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:17:37 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654263,"outputBytes":485414}
2022-08-10 12:17:37 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:17:37 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654350,"outputBytes":485505}
2022-08-10 12:17:37 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:17:37 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:17:37 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654000,"outputBytes":487458}
2022-08-10 12:17:37 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:17:37 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437204,"outputBytes":1667781}
2022-08-10 12:17:38 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437204,"outputBytes":3065981}
2022-08-10 12:17:38 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:17:38 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:19:57 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"}
2022-08-10 12:19:57 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:19:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654339,"outputBytes":485494}
2022-08-10 12:19:57 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:19:57 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654359,"outputBytes":485510}
2022-08-10 12:19:57 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:19:57 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654446,"outputBytes":485601}
2022-08-10 12:19:57 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:19:57 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:19:57 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654096,"outputBytes":487554}
2022-08-10 12:19:57 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:19:58 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437300,"outputBytes":1667873}
2022-08-10 12:19:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437300,"outputBytes":3066077}
2022-08-10 12:19:58 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:19:58 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:21:14 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"}
2022-08-10 12:21:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:21:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654297,"outputBytes":485452}
2022-08-10 12:21:14 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:21:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654317,"outputBytes":485468}
2022-08-10 12:21:14 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:21:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654404,"outputBytes":485559}
2022-08-10 12:21:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:21:14 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:21:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654054,"outputBytes":487512}
2022-08-10 12:21:14 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:21:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437258,"outputBytes":1667833}
2022-08-10 12:21:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437258,"outputBytes":3066034}
2022-08-10 12:21:14 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:21:14 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:22:00 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 12:22:00 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:22:00 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654280,"outputBytes":485435}
2022-08-10 12:22:00 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:22:00 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654300,"outputBytes":485451}
2022-08-10 12:22:00 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:22:00 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654387,"outputBytes":485542}
2022-08-10 12:22:00 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:22:00 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:22:00 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654037,"outputBytes":487495}
2022-08-10 12:22:00 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:22:00 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437241,"outputBytes":1667817}
2022-08-10 12:22:00 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437241,"outputBytes":3066017}
2022-08-10 12:22:00 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:22:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:23:44 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"}
2022-08-10 12:23:44 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:23:44 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654192,"outputBytes":485347}
2022-08-10 12:23:44 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:23:44 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654212,"outputBytes":485363}
2022-08-10 12:23:44 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:23:44 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654299,"outputBytes":485454}
2022-08-10 12:23:44 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:23:44 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:23:44 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653949,"outputBytes":487407}
2022-08-10 12:23:44 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:23:44 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437153,"outputBytes":1667740}
2022-08-10 12:23:44 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437153,"outputBytes":3065930}
2022-08-10 12:23:44 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:23:44 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:26:39 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"}
2022-08-10 12:26:39 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:26:39 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654282,"outputBytes":485480}
2022-08-10 12:26:39 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:26:39 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654302,"outputBytes":485496}
2022-08-10 12:26:39 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:26:39 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654389,"outputBytes":485587}
2022-08-10 12:26:39 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:26:39 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:26:39 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654039,"outputBytes":487540}
2022-08-10 12:26:39 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:26:39 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437243,"outputBytes":1667831}
2022-08-10 12:26:39 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437243,"outputBytes":3066064}
2022-08-10 12:26:39 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:26:39 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:33:03 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"}
2022-08-10 12:33:03 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:33:03 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654333,"outputBytes":485526}
2022-08-10 12:33:03 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:33:03 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654353,"outputBytes":485542}
2022-08-10 12:33:03 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:33:03 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654440,"outputBytes":485633}
2022-08-10 12:33:03 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:33:03 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:33:03 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654090,"outputBytes":487598}
2022-08-10 12:33:03 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:33:03 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437294,"outputBytes":1667844}
2022-08-10 12:33:03 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437294,"outputBytes":3066105}
2022-08-10 12:33:03 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:33:03 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:35:39 INFO:  Watch: {"event":"modify","input":"src/face/insightface.ts"}
2022-08-10 12:35:40 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:35:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654356,"outputBytes":485549}
2022-08-10 12:35:40 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:35:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654376,"outputBytes":485565}
2022-08-10 12:35:40 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:35:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654463,"outputBytes":485656}
2022-08-10 12:35:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:35:40 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:35:40 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654113,"outputBytes":487621}
2022-08-10 12:35:40 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:35:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437317,"outputBytes":1667859}
2022-08-10 12:35:40 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437317,"outputBytes":3066128}
2022-08-10 12:35:40 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:35:40 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:37:30 INFO:  Watch: {"event":"modify","input":"src/models.ts"}
2022-08-10 12:37:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:37:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654476,"outputBytes":485639}
2022-08-10 12:37:30 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:37:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654496,"outputBytes":485655}
2022-08-10 12:37:30 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:37:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654583,"outputBytes":485746}
2022-08-10 12:37:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:37:30 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:37:30 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654233,"outputBytes":487711}
2022-08-10 12:37:30 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:37:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437437,"outputBytes":1667917}
2022-08-10 12:37:30 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437437,"outputBytes":3066219}
2022-08-10 12:37:30 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:37:30 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:37:36 INFO:  Watch: {"event":"modify","input":"src/face/insightface.ts"}
2022-08-10 12:37:36 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:37:36 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654453,"outputBytes":485616}
2022-08-10 12:37:36 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:37:36 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654473,"outputBytes":485632}
2022-08-10 12:37:36 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:37:36 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654560,"outputBytes":485723}
2022-08-10 12:37:36 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:37:36 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:37:36 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654210,"outputBytes":487688}
2022-08-10 12:37:36 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:37:36 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437414,"outputBytes":1667902}
2022-08-10 12:37:37 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437414,"outputBytes":3066196}
2022-08-10 12:37:37 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:37:37 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:46:49 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:46:49 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:46:49 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654531,"outputBytes":485694}
2022-08-10 12:46:49 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:46:49 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654551,"outputBytes":485710}
2022-08-10 12:46:49 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:46:49 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654638,"outputBytes":485801}
2022-08-10 12:46:49 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:46:49 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:46:49 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654288,"outputBytes":487766}
2022-08-10 12:46:49 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:46:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437492,"outputBytes":1667969}
2022-08-10 12:46:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437492,"outputBytes":3066274}
2022-08-10 12:46:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:46:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:47:32 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:47:32 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:47:32 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654453,"outputBytes":485616}
2022-08-10 12:47:32 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:47:32 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654473,"outputBytes":485632}
2022-08-10 12:47:32 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:47:32 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654560,"outputBytes":485723}
2022-08-10 12:47:32 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:47:32 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:47:32 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654210,"outputBytes":487688}
2022-08-10 12:47:33 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:47:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437414,"outputBytes":1667902}
2022-08-10 12:47:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437414,"outputBytes":3066196}
2022-08-10 12:47:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:47:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:48:32 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:48:32 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:48:32 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654501,"outputBytes":485664}
2022-08-10 12:48:32 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:48:32 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654521,"outputBytes":485680}
2022-08-10 12:48:32 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:48:32 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654608,"outputBytes":485771}
2022-08-10 12:48:32 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:48:32 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:48:33 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654258,"outputBytes":487736}
2022-08-10 12:48:33 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:48:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437462,"outputBytes":1667944}
2022-08-10 12:48:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437462,"outputBytes":3066244}
2022-08-10 12:48:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:48:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:49:22 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:49:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:49:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654539,"outputBytes":485704}
2022-08-10 12:49:22 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:49:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654559,"outputBytes":485720}
2022-08-10 12:49:22 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:49:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654646,"outputBytes":485811}
2022-08-10 12:49:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:49:22 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:49:23 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654296,"outputBytes":487788}
2022-08-10 12:49:23 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:49:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437500,"outputBytes":1667977}
2022-08-10 12:49:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437500,"outputBytes":3066296}
2022-08-10 12:49:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:49:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:49:41 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:49:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:49:41 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654562,"outputBytes":485729}
2022-08-10 12:49:41 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:49:41 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654582,"outputBytes":485745}
2022-08-10 12:49:41 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:49:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654669,"outputBytes":485836}
2022-08-10 12:49:41 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:49:41 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:49:41 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654319,"outputBytes":487825}
2022-08-10 12:49:41 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:49:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437523,"outputBytes":1667997}
2022-08-10 12:49:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437523,"outputBytes":3066317}
2022-08-10 12:49:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:49:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:50:12 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:50:12 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:50:12 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654603,"outputBytes":485766}
2022-08-10 12:50:12 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:50:12 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654623,"outputBytes":485782}
2022-08-10 12:50:12 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:50:12 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654710,"outputBytes":485873}
2022-08-10 12:50:12 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:50:12 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:50:12 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654360,"outputBytes":487838}
2022-08-10 12:50:12 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:50:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437564,"outputBytes":1668032}
2022-08-10 12:50:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437564,"outputBytes":3066346}
2022-08-10 12:50:12 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:50:12 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:51:42 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:51:42 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:51:42 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654643,"outputBytes":485804}
2022-08-10 12:51:42 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:51:42 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654663,"outputBytes":485820}
2022-08-10 12:51:42 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:51:42 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654750,"outputBytes":485911}
2022-08-10 12:51:42 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:51:42 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:51:42 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654400,"outputBytes":487888}
2022-08-10 12:51:42 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:51:42 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437604,"outputBytes":1668053}
2022-08-10 12:51:43 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437604,"outputBytes":3066379}
2022-08-10 12:51:43 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:51:43 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}
2022-08-10 12:52:06 INFO:  Watch: {"event":"modify","input":"src/warmup.ts"}
2022-08-10 12:52:06 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1098}
2022-08-10 12:52:06 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654493,"outputBytes":485654}
2022-08-10 12:52:06 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1118}
2022-08-10 12:52:06 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654513,"outputBytes":485670}
2022-08-10 12:52:06 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1205}
2022-08-10 12:52:06 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654600,"outputBytes":485761}
2022-08-10 12:52:06 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":1438}
2022-08-10 12:52:06 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2112,"outputBytes":855}
2022-08-10 12:52:06 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654250,"outputBytes":487738}
2022-08-10 12:52:06 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2351,"outputBytes":2784059}
2022-08-10 12:52:06 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3437454,"outputBytes":1667923}
2022-08-10 12:52:06 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3437454,"outputBytes":3066229}
2022-08-10 12:52:06 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6716,"outputBytes":4560}
2022-08-10 12:52:06 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15629,"outputBytes":11921}

View File

@ -9,16 +9,21 @@ log.configure({ inspect: { breakLength: 500 } });
const tests = [
'test-node.js',
// 'test-node-gpu.js',
// 'test-node-wasm.js',
'test-node-gpu.js',
'test-node-wasm.js',
// 'test-node-cpu.js',
];
const demos = [
'../demo/nodejs/node.js',
'../demo/nodejs/node-canvas.js',
'../demo/nodejs/node-env.js',
'../demo/nodejs/node-event.js',
'../demo/nodejs/node-multiprocess.js',
{ cmd: '../demo/nodejs/node.js', args: [] },
{ cmd: '../demo/nodejs/node-simple.js', args: [] },
{ cmd: '../demo/nodejs/node-fetch.js', args: [] },
{ cmd: '../demo/nodejs/node-event.js', args: ['samples/in/ai-body.jpg'] },
{ cmd: '../demo/nodejs/node-similarity.js', args: ['samples/in/ai-face.jpg', 'samples/in/ai-upper.jpg'] },
{ cmd: '../demo/nodejs/node-canvas.js', args: ['samples/in/ai-body.jpg', 'samples/out/ai-body.jpg'] },
{ cmd: '../demo/multithread/node-multiprocess.js', args: [] },
// { cmd: '../demo/nodejs/node-video.js', args: [] },
// { cmd: '../demo/nodejs/node-webcam.js', args: [] },
];
const ignoreMessages = [
@ -61,8 +66,12 @@ function logStdIO(ok, test, buffer) {
});
for (const line of filtered) {
if (line.length < 2) continue;
if (ok) log.data(test, 'stdout:', line);
else log.warn(test, 'stderr:', line);
if (ok) {
log.data(test, 'stdout:', line);
} else {
if (status[test]) status[test].failed = 'critical';
log.warn(test, 'stderr:', line);
}
}
}
@ -84,13 +93,20 @@ async function runTest(test) {
async function runDemo(demo) {
log.info();
log.info(demo, 'start');
status[demo.cmd] = { passed: 0, failed: 0 };
return new Promise((resolve) => {
const child = fork(path.join(__dirname, demo), [], { silent: true });
child.on('message', (data) => logMessage(demo, data));
child.on('error', (data) => log.error(demo, ':', data.message || data));
child.on('close', (code) => resolve(code));
child.stdout?.on('data', (data) => logStdIO(true, demo, data));
child.stderr?.on('data', (data) => logStdIO(false, demo, data));
const child = fork(path.join(__dirname, demo.cmd), [...demo.args], { silent: true });
child.on('message', (data) => logMessage(demo.cmd, data));
child.on('error', (data) => {
status[demo.cmd].failed++;
log.error(demo.cmd, ':', data.message || data);
});
child.on('close', (code) => {
status[demo.cmd].passed++;
resolve(code);
});
// child.stdout?.on('data', (data) => logStdIO(true, demo.cmd, data));
child.stderr?.on('data', (data) => logStdIO(false, demo.cmd, data));
});
}
@ -101,15 +117,16 @@ async function testAll() {
log.header();
process.on('unhandledRejection', (data) => log.error('nodejs unhandled rejection', data));
process.on('uncaughtException', (data) => log.error('nodejs unhandled exception', data));
log.info('tests:', tests);
log.info('demos:', demos);
// for (const demo of demos) await runDemo(demo);
for (const demo of demos) await runDemo(demo);
log.info('tests:', tests);
for (const test of tests) await runTest(test);
log.info('all tests complete');
log.info('failed:', { count: failedMessages.length, messages: failedMessages });
log.state('all tests complete');
for (const [test, result] of Object.entries(status)) {
log.info('status:', { test, ...result });
log.info(' status', { test, ...result });
}
log.info('failures', { count: failedMessages.length });
for (const msg of failedMessages) log.warn(' failed', { test: msg.test, message: msg.data });
}
testAll();

View File

@ -4,13 +4,17 @@ const canvasJS = require('canvas');
let fetch; // fetch is dynamically imported later
let config;
let lastOp = 'unknown';
const log = (status, ...data) => {
if (typeof process.send !== 'undefined') process.send([status, data]); // send to parent process over ipc
// eslint-disable-next-line no-console
else console.log(status, ...data); // write to console if no parent process
else console.log(status, ...data); // eslint-disable-line no-console
};
process.on('uncaughtException', (err) => {
log('error', 'uncaughtException', lastOp, err);
});
async function testHTTP() {
if (config.modelBasePath.startsWith('file:')) return true;
return new Promise((resolve) => {
@ -28,6 +32,7 @@ async function testHTTP() {
}
async function getImage(human, input, options = { channels: 3, expand: true, cast: true }) {
lastOp = `getImage ${input}`;
let img;
try {
img = await canvasJS.loadImage(input);
@ -51,15 +56,17 @@ async function getImage(human, input, options = { channels: 3, expand: true, cas
}
function printResults(detect) {
const person = (detect.face && detect.face[0]) ? { score: detect.face[0].score, age: detect.face[0].age, gender: detect.face[0].gender } : {};
const object = (detect.object && detect.object[0]) ? { score: detect.object[0].score, class: detect.object[0].label } : {};
const body = (detect.body && detect.body[0]) ? { score: detect.body[0].score, keypoints: detect.body[0].keypoints.length } : {};
lastOp = `printResults ${detect}`;
const person = (detect.face && detect.face[0]) ? { score: detect.face[0]?.score, age: detect.face[0]?.age, gender: detect.face[0]?.gender } : {};
const object = (detect.object && detect.object[0]) ? { score: detect.object[0]?.score, class: detect.object[0].label } : {};
const body = (detect.body && detect.body[0]) ? { score: detect.body[0]?.score, keypoints: detect.body[0]?.keypoints?.length } : {};
const persons = detect.persons;
if (detect.face) log('data', ' result: face:', detect.face?.length, 'body:', detect.body?.length, 'hand:', detect.hand?.length, 'gesture:', detect.gesture?.length, 'object:', detect.object?.length, 'person:', persons.length, person, object, body);
if (detect.performance) log('data', ' result: performance:', 'load:', detect?.performance.load, 'total:', detect.performance?.total);
}
async function testInstance(human) {
lastOp = `testInstance ${human}`;
if (human) log('state', 'passed: create human');
else log('error', 'failed: create human');
@ -87,7 +94,9 @@ async function testInstance(human) {
}
async function testWarmup(human, title) {
lastOp = `testWarmup ${title}`;
let warmup;
// try default
try {
warmup = await human.warmup(config);
} catch (err) {
@ -99,18 +108,38 @@ async function testWarmup(human, title) {
} else {
log('error', 'failed: warmup:', config.warmup, title);
}
/*
// now try with monkey-patch
globalThis.Canvas = canvasJS.Canvas; // monkey-patch to use external canvas library
globalThis.ImageData = canvasJS.ImageData; // monkey-patch to use external canvas library
try {
warmup = await human.warmup(config);
} catch (err) {
log('error', 'error warmup');
}
if (warmup) {
log('state', 'passed: warmup:', config.warmup, title);
printResults(warmup);
} else {
log('error', 'failed: warmup:', config.warmup, title);
}
*/
return warmup;
}
async function testDetect(human, input, title, checkLeak = true) {
lastOp = `testDetect ${title}`;
log('state', 'start', title);
await human.load(config);
const missing = human.check();
for (const op of missing) log('warn', 'missing kernel ops', { title, model: op.name, url: op.url, missing: op.missing, backkend: human.tf.getBackend() });
const tensors = human.tf.engine().state.numTensors;
const image = input ? await getImage(human, input) : human.tf.randomNormal([1, 1024, 1024, 3]);
if (!image) {
log('error', 'failed: detect: input is null');
log('error', 'failed: detect: input is null', { input, title });
return false;
}
let detect;
let detect = {};
try {
detect = await human.detect(image, config);
} catch (err) {
@ -140,21 +169,23 @@ async function events(event) {
}
const verify = (state, ...messages) => {
lastOp = `verify ${messages}`;
if (state) log('state', 'passed:', ...messages);
else log('error', 'failed:', ...messages);
};
async function verifyDetails(human) {
lastOp = `verifyDetails ${human}`;
log('info', 'test: details verification');
const res = await testDetect(human, 'samples/in/ai-body.jpg', 'default');
verify(res.face.length === 1, 'details face length', res.face.length);
for (const face of res.face) {
verify(face.score > 0.9 && face.boxScore > 0.9 && face.faceScore > 0.9, 'details face score', face.score, face.boxScore, face.faceScore);
verify(face.age > 23 && face.age < 30 && face.gender === 'female' && face.genderScore > 0.9 && face.iris > 70 && face.iris < 90, 'details face age/gender', face.age, face.gender, face.genderScore, face.iris);
verify(face.age > 23 && face.age < 30 && face.gender === 'female' && face.genderScore > 0.9 && face.iris > 70 && face.iris < 105, 'details face age/gender', face.age, face.gender, face.genderScore, face.iris);
verify(face.box.length === 4 && face.boxRaw.length === 4 && face.mesh.length === 478 && face.meshRaw.length === 478 && face.embedding.length === 1024, 'details face arrays', face.box.length, face.mesh.length, face.embedding.length);
verify(face.emotion.length >= 2 && face.emotion[0].score > 0.30 && face.emotion[0].emotion === 'angry', 'details face emotion', face.emotion.length, face.emotion[0]);
verify(face.real > 0.75, 'details face anti-spoofing', face.real);
verify(face.live > 0.75, 'details face liveness', face.live);
verify(face.real > 0.55, 'details face anti-spoofing', face.real);
verify(face.live > 0.70, 'details face liveness', face.live);
}
verify(res.body.length === 1, 'details body length', res.body.length);
for (const body of res.body) {
@ -174,6 +205,7 @@ async function verifyDetails(human) {
}
async function testTensorShapes(human, input) {
lastOp = `testTensorShapes ${input}`;
await human.load(config);
const numTensors = human.tf.engine().state.numTensors;
let res;
@ -209,6 +241,7 @@ async function testTensorShapes(human, input) {
}
async function verifyCompare(human) {
lastOp = `verifyCompare ${human}`;
log('info', 'test: input compare');
const t1 = await getImage(human, 'samples/in/ai-face.jpg');
const t2 = await getImage(human, 'samples/in/ai-body.jpg');
@ -221,6 +254,7 @@ async function verifyCompare(human) {
}
async function test(Human, inputConfig) {
lastOp = `test ${inputConfig}`;
config = inputConfig;
fetch = (await import('node-fetch')).default;
const ok = await testHTTP();
@ -276,13 +310,15 @@ async function test(Human, inputConfig) {
res = await testWarmup(human, 'default');
if (!res || res?.face?.length !== 1 || res?.body?.length !== 1 || res?.hand?.length !== 1 || res?.gesture?.length < 6) log('error', 'failed: warmup body result mismatch', res?.face?.length, res?.body?.length, res?.hand?.length, res?.gesture?.length);
else log('state', 'passed: warmup body result match');
log('state', 'details:', {
face: { boxScore: res.face[0].boxScore, faceScore: res.face[0].faceScore, age: res.face[0].age, gender: res.face[0].gender, genderScore: res.face[0].genderScore },
emotion: res.face[0].emotion,
body: { score: res.body[0].score, keypoints: res.body[0].keypoints.length },
hand: { boxScore: res.hand[0].boxScore, fingerScore: res.hand[0].fingerScore, keypoints: res.hand[0].keypoints.length },
gestures: res.gesture,
});
if (res) {
log('state', 'details:', {
face: { boxScore: res.face[0].boxScore, faceScore: res.face[0].faceScore, age: res.face[0].age, gender: res.face[0].gender, genderScore: res.face[0].genderScore },
emotion: res.face[0].emotion,
body: { score: res.body[0].score, keypoints: res.body[0].keypoints.length },
hand: { boxScore: res.hand[0].boxScore, fingerScore: res.hand[0].fingerScore, keypoints: res.hand[0].keypoints.length },
gestures: res.gesture,
});
}
await verifyDetails(human);
await testTensorShapes(human, 'samples/in/ai-body.jpg');
@ -318,18 +354,6 @@ async function test(Human, inputConfig) {
if (!res || !res.error) log('error', 'failed: invalid input', res);
else log('state', 'passed: invalid input', res.error || res);
// test face attention
log('info', 'test face attention');
config.face.mesh = { enabled: true };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face mesh');
if (!res || !res.face[0] || res.face[0].mesh.length !== 478 || Object.keys(res.face[0].annotations).length !== 36) log('error', 'failed: face mesh', { mesh: res.face[0]?.mesh?.length, annotations: Object.keys(res.face[0].annotations).length });
else log('state', 'passed: face attention');
human.models.facemesh = null; // unload model
config.face.attention = { enabled: true };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face attention');
if (!res || !res.face[0] || res.face[0].mesh.length !== 478 || Object.keys(res.face[0].annotations).length !== 36) log('error', 'failed: face attention', { mesh: res.face[0]?.mesh?.length, annotations: Object.keys(res.face[0].annotations).length });
else log('state', 'passed: face attention');
// test face similarity
log('info', 'test face similarity');
human.reset();
@ -349,44 +373,18 @@ async function test(Human, inputConfig) {
if (res1 < 1 || res2 < 0.40 || res3 < 0.40 || res2 > 0.75 || res3 > 0.75) log('error', 'failed: face similarity', { similarity: [res1, res2, res3], descriptors: [desc1?.length, desc2?.length, desc3?.length] });
else log('state', 'passed: face similarity', { similarity: [res1, res2, res3], descriptors: [desc1?.length, desc2?.length, desc3?.length] });
// test alternative face embeddings
log('info', 'test face similarity alternative');
human.reset();
config.async = false;
config.cacheSensitivity = 0;
config.face['mobilefacenet'] = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/mobilefacenet.json' };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face embeddings');
if (!res || !res.face || !res.face[0] || res.face[0].embedding.length !== 192) log('error', 'failed: mobilefacenet', { embedding: res.face[0]?.embedding?.length });
else log('state', 'passed: mobilefacenet');
config.face['insightface'] = { enabled: true, modelPath: 'https://vladmandic.github.io/insightface/models/insightface-mobilenet-swish.json' };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face embeddings');
if (!res || !res.face || !res.face[0] || res.face[0].embedding.length !== 512) log('error', 'failed: insightface', { embedding: res.face[0]?.embedding?.length });
else log('state', 'passed: insightface');
// test face matching
log('info', 'test face matching');
const db = JSON.parse(fs.readFileSync('demo/facematch/faces.json').toString());
const arr = db.map((rec) => rec.embedding);
if (db.length < 20) log('error', 'failed: face database ', db.length);
else log('state', 'passed: face database', db.length);
res1 = human.match(desc1, arr);
res2 = human.match(desc2, arr);
res3 = human.match(desc3, arr);
if (res1.index !== 4 || res2.index !== 4 || res3.index !== 4) log('error', 'failed: face match', res1, res2, res3);
else log('state', 'passed: face match', { first: { index: res1.index, similarity: res1.similarity } }, { second: { index: res2.index, similarity: res2.similarity } }, { third: { index: res3.index, similarity: res3.similarity } });
// test object detection
log('info', 'test object');
human.reset();
config.object = { enabled: true, modelPath: 'mb3-centernet.json' };
res = await testDetect(human, 'samples/in/ai-body.jpg', 'object');
if (!res || res?.object?.length < 1 || res?.object[0]?.label !== 'person') log('error', 'failed: centernet', res?.object);
else log('state', 'passed: centernet');
human.models['centernet'] = null;
config.object = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/nanodet.json' };
res = await testDetect(human, 'samples/in/ai-body.jpg', 'object');
if (!res || res?.object?.length < 1 || res?.object[0]?.label !== 'person') log('error', 'failed: nanodet', res?.object);
else log('state', 'passed: nanodet');
human.models['nanodet'] = null;
config.object.enabled = false;
// test sensitive config
@ -426,24 +424,64 @@ async function test(Human, inputConfig) {
config.body = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/blazepose-heavy.json' };
res = await testDetect(human, 'samples/in/ai-body.jpg', 'blazepose');
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.9 || res.body[0].keypoints?.length !== 39) log('error', 'failed: blazepose', { body: res.body[0] });
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.9 || res.body[0].keypoints?.length !== 39) log('error', 'failed: blazepose', { body: res.body?.[0] });
else log('state', 'passed: blazepose');
config.body = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/efficientpose.json' };
res = await testDetect(human, 'samples/in/ai-body.jpg', 'efficientpose');
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.7 || res.body[0].keypoints?.length !== 13) log('error', 'failed: efficientpose', { body: res.body[0] });
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.7 || res.body[0].keypoints?.length !== 13) log('error', 'failed: efficientpose', { body: res.body?.[0] });
else log('state', 'passed: efficientpose');
config.body = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/posenet.json' };
res = await testDetect(human, 'samples/in/ai-body.jpg', 'posenet');
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.9 || res.body[0].keypoints?.length !== 16) log('error', 'failed: posenet', { body: res.body[0] });
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.9 || res.body[0].keypoints?.length !== 16) log('error', 'failed: posenet', { body: res.body?.[0] });
else log('state', 'passed: posenet');
config.body = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/movenet-lightning.json' };
res = await testDetect(human, 'samples/in/ai-body.jpg', 'movenet');
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.9 || res.body[0].keypoints?.length !== 17) log('error', 'failed: movenet', { body: res.body[0] });
if (!res || !res.body || !res.body[0] || res.body[0].score < 0.9 || res.body[0].keypoints?.length !== 17) log('error', 'failed: movenet', { body: res.body?.[0] });
else log('state', 'passed: movenet');
// test face matching
log('info', 'test face matching');
const db = JSON.parse(fs.readFileSync('demo/facematch/faces.json').toString());
const arr = db.map((rec) => rec.embedding);
if (db.length < 20) log('error', 'failed: face database ', db.length);
else log('state', 'passed: face database', db.length);
res1 = human.match(desc1, arr);
res2 = human.match(desc2, arr);
res3 = human.match(desc3, arr);
if (res1.index !== 4 || res2.index !== 4 || res3.index !== 4) log('error', 'failed: face match', res1, res2, res3);
else log('state', 'passed: face match', { first: { index: res1.index, similarity: res1.similarity } }, { second: { index: res2.index, similarity: res2.similarity } }, { third: { index: res3.index, similarity: res3.similarity } });
// test alternative face embeddings
log('info', 'test face similarity alternative');
human.reset();
config.async = false;
config.cacheSensitivity = 0;
config.face['mobilefacenet'] = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/mobilefacenet.json' };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face embeddings');
if (!res || !res.face || !res.face[0] || res.face[0].embedding?.length !== 192) log('error', 'failed: mobilefacenet', { embedding: res.face?.[0]?.embedding?.length });
else log('state', 'passed: mobilefacenet', { embedding: res.face?.[0]?.embedding?.length });
config.face['insightface'] = { enabled: true, modelPath: 'https://vladmandic.github.io/insightface/models/insightface-mobilenet-swish.json' };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face embeddings');
if (!res || !res.face || !res.face[0] || res.face[0]?.embedding?.length !== 512) log('error', 'failed: insightface', { embedding: res.face?.[0]?.embedding?.length });
else log('state', 'passed: insightface', { embedding: res.face?.[0]?.embedding?.length });
human.models['mobilefacenet'] = null;
config.face['mobilefacenet'] = { enabled: false };
human.models['insightface'] = null;
config.face['insightface'] = { enabled: false };
// test face attention
log('info', 'test face attention');
human.models.facemesh = null;
config.face.attention = { enabled: true };
res = await testDetect(human, 'samples/in/ai-face.jpg', 'face attention');
if (!res || !res.face[0] || res.face[0].mesh.length !== 478 || Object.keys(res.face[0].annotations).length !== 36) log('error', 'failed: face attention', { mesh: res.face?.[0]?.mesh?.length, annotations: Object.keys(res.face?.[0]?.annotations | {}).length });
else log('state', 'passed: face attention');
human.models.facemesh = null; // unload model
config.face.attention = { enabled: false };
// test detectors only
log('info', 'test detectors');
human.reset();

28
test/test-node-cpu.js Normal file
View File

@ -0,0 +1,28 @@
process.env.TF_CPP_MIN_LOG_LEVEL = '2';
const Human = require('../dist/human.node.js').default;
const test = require('./test-main.js').test;
const config = {
cacheSensitivity: 0,
modelBasePath: 'file://models/',
backend: 'cpu',
debug: false,
async: true,
face: {
enabled: true,
detector: { rotation: true },
mesh: { enabled: true },
iris: { enabled: true },
description: { enabled: true },
emotion: { enabled: true },
antispoof: { enabled: true },
liveness: { enabled: true },
},
hand: { enabled: true },
body: { enabled: true },
object: { enabled: true },
segmentation: { enabled: true },
filter: { enabled: false },
};
test(Human, config);

View File

@ -1,298 +1,468 @@
2022-08-08 15:09:00 INFO:  @vladmandic/human version 2.9.2
2022-08-08 15:09:00 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.15.0
2022-08-08 15:09:00 INFO:  tests: ["test-node.js"]
2022-08-08 15:09:00 INFO:  demos: ["../demo/nodejs/node.js","../demo/nodejs/node-canvas.js","../demo/nodejs/node-env.js","../demo/nodejs/node-event.js","../demo/nodejs/node-multiprocess.js"]
2022-08-08 15:09:00 INFO: 
2022-08-08 15:09:00 INFO:  test-node.js start
2022-08-08 15:09:00 INFO:  test-node.js test: configuration validation
2022-08-08 15:09:00 STATE: test-node.js passed: configuration default validation []
2022-08-08 15:09:00 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}]
2022-08-08 15:09:00 INFO:  test-node.js test: model load
2022-08-08 15:09:00 STATE: test-node.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}]
2022-08-08 15:09:00 INFO:  test-node.js test: warmup
2022-08-08 15:09:00 STATE: test-node.js passed: create human
2022-08-08 15:09:00 INFO:  test-node.js human version: 2.9.2
2022-08-08 15:09:00 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.15.0
2022-08-08 15:09:00 INFO:  test-node.js tfjs version: 3.19.0
2022-08-08 15:09:00 INFO:  test-node.js tensorflow binding version: 2.7.3-dev20220521
2022-08-08 15:09:00 STATE: test-node.js passed: set backend: tensorflow
2022-08-08 15:09:00 STATE: test-node.js tensors 1921
2022-08-08 15:09:00 STATE: test-node.js passed: load models
2022-08-08 15:09:00 STATE: test-node.js result: defined models: 23 loaded models: 12
2022-08-08 15:09:00 STATE: test-node.js passed: warmup: none default
2022-08-08 15:09:00 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2022-08-08 15:09:00 DATA:  test-node.js result: performance: load: null total: null
2022-08-08 15:09:00 STATE: test-node.js passed: warmup none result match
2022-08-08 15:09:00 STATE: test-node.js event: image
2022-08-08 15:09:00 STATE: test-node.js event: detect
2022-08-08 15:09:00 STATE: test-node.js event: warmup
2022-08-08 15:09:00 STATE: test-node.js passed: warmup: face default
2022-08-08 15:09:00 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2022-08-08 15:09:00 DATA:  test-node.js result: performance: load: null total: 361
2022-08-08 15:09:00 STATE: test-node.js passed: warmup face result match
2022-08-08 15:09:00 STATE: test-node.js event: image
2022-08-08 15:09:01 STATE: test-node.js event: detect
2022-08-08 15:09:01 STATE: test-node.js event: warmup
2022-08-08 15:09:01 STATE: test-node.js passed: warmup: body default
2022-08-08 15:09:01 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:01 DATA:  test-node.js result: performance: load: null total: 270
2022-08-08 15:09:01 STATE: test-node.js passed: warmup body result match
2022-08-08 15:09:01 STATE: test-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]}
2022-08-08 15:09:01 INFO:  test-node.js test: details verification
2022-08-08 15:09:01 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:01 STATE: test-node.js event: image
2022-08-08 15:09:01 STATE: test-node.js event: detect
2022-08-08 15:09:01 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-08-08 15:09:01 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:01 DATA:  test-node.js result: performance: load: null total: 257
2022-08-08 15:09:01 STATE: test-node.js passed: details face length 1
2022-08-08 15:09:01 STATE: test-node.js passed: details face score 1 0.93 1
2022-08-08 15:09:01 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47
2022-08-08 15:09:01 STATE: test-node.js passed: details face arrays 4 478 1024
2022-08-08 15:09:01 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"}
2022-08-08 15:09:01 STATE: test-node.js passed: details face anti-spoofing 0.79
2022-08-08 15:09:01 STATE: test-node.js passed: details face liveness 0.83
2022-08-08 15:09:01 STATE: test-node.js passed: details body length 1
2022-08-08 15:09:01 STATE: test-node.js passed: details body 0.92 17 6
2022-08-08 15:09:01 STATE: test-node.js passed: details hand length 1
2022-08-08 15:09:01 STATE: test-node.js passed: details hand 0.51 0.73 point
2022-08-08 15:09:01 STATE: test-node.js passed: details hand arrays 21 5 7
2022-08-08 15:09:01 STATE: test-node.js passed: details gesture length 7
2022-08-08 15:09:01 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"}
2022-08-08 15:09:01 STATE: test-node.js passed: details object length 1
2022-08-08 15:09:01 STATE: test-node.js passed: details object 0.72 person
2022-08-08 15:09:01 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928}
2022-08-08 15:09:01 STATE: test-node.js event: image
2022-08-08 15:09:02 STATE: test-node.js event: detect
2022-08-08 15:09:02 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32
2022-08-08 15:09:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928}
2022-08-08 15:09:02 STATE: test-node.js event: image
2022-08-08 15:09:02 STATE: test-node.js event: detect
2022-08-08 15:09:02 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32
2022-08-08 15:09:02 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:02 STATE: test-node.js event: image
2022-08-08 15:09:03 STATE: test-node.js event: detect
2022-08-08 15:09:03 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32
2022-08-08 15:09:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:03 STATE: test-node.js event: image
2022-08-08 15:09:03 STATE: test-node.js event: detect
2022-08-08 15:09:03 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32
2022-08-08 15:09:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871}
2022-08-08 15:09:03 STATE: test-node.js event: image
2022-08-08 15:09:03 STATE: test-node.js event: detect
2022-08-08 15:09:03 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32
2022-08-08 15:09:03 INFO:  test-node.js test default
2022-08-08 15:09:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:04 STATE: test-node.js event: image
2022-08-08 15:09:04 STATE: test-node.js event: detect
2022-08-08 15:09:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async
2022-08-08 15:09:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:04 DATA:  test-node.js result: performance: load: null total: 248
2022-08-08 15:09:04 STATE: test-node.js passed: default result face match 1 female 0.97
2022-08-08 15:09:04 INFO:  test-node.js test sync
2022-08-08 15:09:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:04 STATE: test-node.js event: image
2022-08-08 15:09:04 STATE: test-node.js event: detect
2022-08-08 15:09:04 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync
2022-08-08 15:09:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:04 DATA:  test-node.js result: performance: load: null total: 219
2022-08-08 15:09:04 STATE: test-node.js passed: default sync 1 female 0.97
2022-08-08 15:09:04 INFO:  test-node.js test: image process
2022-08-08 15:09:04 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:04 STATE: test-node.js passed: image input null [1,256,256,3]
2022-08-08 15:09:04 INFO:  test-node.js test: image null
2022-08-08 15:09:04 STATE: test-node.js passed: invalid input could not convert input to tensor
2022-08-08 15:09:04 INFO:  test-node.js test face attention
2022-08-08 15:09:04 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:04 STATE: test-node.js event: image
2022-08-08 15:09:04 STATE: test-node.js event: detect
2022-08-08 15:09:04 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face mesh
2022-08-08 15:09:04 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-08 15:09:04 DATA:  test-node.js result: performance: load: null total: 213
2022-08-08 15:09:04 STATE: test-node.js passed: face attention
2022-08-08 15:09:04 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:04 STATE: test-node.js event: image
2022-08-08 15:09:05 STATE: test-node.js event: detect
2022-08-08 15:09:05 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face attention
2022-08-08 15:09:05 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-08 15:09:05 DATA:  test-node.js result: performance: load: null total: 231
2022-08-08 15:09:05 STATE: test-node.js passed: face attention
2022-08-08 15:09:05 INFO:  test-node.js test face similarity
2022-08-08 15:09:05 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:05 STATE: test-node.js event: image
2022-08-08 15:09:05 STATE: test-node.js event: detect
2022-08-08 15:09:05 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity
2022-08-08 15:09:05 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-08 15:09:05 DATA:  test-node.js result: performance: load: null total: 213
2022-08-08 15:09:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:05 STATE: test-node.js event: image
2022-08-08 15:09:05 STATE: test-node.js event: detect
2022-08-08 15:09:05 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity
2022-08-08 15:09:05 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:05 DATA:  test-node.js result: performance: load: null total: 230
2022-08-08 15:09:05 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-08 15:09:05 STATE: test-node.js event: image
2022-08-08 15:09:06 STATE: test-node.js event: detect
2022-08-08 15:09:06 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity
2022-08-08 15:09:06 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7}
2022-08-08 15:09:06 DATA:  test-node.js result: performance: load: null total: 206
2022-08-08 15:09:06 STATE: test-node.js passed: face descriptor
2022-08-08 15:09:06 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]}
2022-08-08 15:09:06 INFO:  test-node.js test face similarity alternative
2022-08-08 15:09:06 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:06 STATE: test-node.js event: image
2022-08-08 15:09:07 STATE: test-node.js event: detect
2022-08-08 15:09:07 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings
2022-08-08 15:09:07 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-08 15:09:07 DATA:  test-node.js result: performance: load: null total: 247
2022-08-08 15:09:07 STATE: test-node.js passed: mobilefacenet
2022-08-08 15:09:07 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:07 STATE: test-node.js event: image
2022-08-08 15:09:08 STATE: test-node.js event: detect
2022-08-08 15:09:08 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings
2022-08-08 15:09:08 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-08 15:09:08 DATA:  test-node.js result: performance: load: null total: 263
2022-08-08 15:09:08 STATE: test-node.js passed: insightface
2022-08-08 15:09:08 INFO:  test-node.js test face matching
2022-08-08 15:09:08 STATE: test-node.js passed: face database 40
2022-08-08 15:09:08 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}}
2022-08-08 15:09:08 INFO:  test-node.js test object
2022-08-08 15:09:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:08 STATE: test-node.js event: image
2022-08-08 15:09:08 STATE: test-node.js event: detect
2022-08-08 15:09:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object
2022-08-08 15:09:08 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:08 DATA:  test-node.js result: performance: load: null total: 268
2022-08-08 15:09:08 STATE: test-node.js passed: centernet
2022-08-08 15:09:09 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:09 STATE: test-node.js event: image
2022-08-08 15:09:10 STATE: test-node.js event: detect
2022-08-08 15:09:10 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object
2022-08-08 15:09:10 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 3 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-08 15:09:10 DATA:  test-node.js result: performance: load: null total: 263
2022-08-08 15:09:10 STATE: test-node.js passed: nanodet
2022-08-08 15:09:10 INFO:  test-node.js test sensitive
2022-08-08 15:09:10 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:10 STATE: test-node.js event: image
2022-08-08 15:09:10 STATE: test-node.js event: detect
2022-08-08 15:09:10 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive
2022-08-08 15:09:10 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17}
2022-08-08 15:09:10 DATA:  test-node.js result: performance: load: null total: 205
2022-08-08 15:09:10 STATE: test-node.js passed: sensitive result match
2022-08-08 15:09:10 STATE: test-node.js passed: sensitive face result match
2022-08-08 15:09:10 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}]
2022-08-08 15:09:10 STATE: test-node.js passed: sensitive body result match
2022-08-08 15:09:10 STATE: test-node.js passed: sensitive hand result match
2022-08-08 15:09:10 INFO:  test-node.js test body
2022-08-08 15:09:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:12 STATE: test-node.js event: image
2022-08-08 15:09:12 STATE: test-node.js event: detect
2022-08-08 15:09:12 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose
2022-08-08 15:09:12 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39}
2022-08-08 15:09:12 DATA:  test-node.js result: performance: load: null total: 270
2022-08-08 15:09:12 STATE: test-node.js passed: blazepose
2022-08-08 15:09:14 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:14 STATE: test-node.js event: image
2022-08-08 15:09:15 STATE: test-node.js event: detect
2022-08-08 15:09:15 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose
2022-08-08 15:09:15 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13}
2022-08-08 15:09:15 DATA:  test-node.js result: performance: load: null total: 281
2022-08-08 15:09:15 STATE: test-node.js passed: efficientpose
2022-08-08 15:09:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:16 STATE: test-node.js event: image
2022-08-08 15:09:16 STATE: test-node.js event: detect
2022-08-08 15:09:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet
2022-08-08 15:09:16 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16}
2022-08-08 15:09:16 DATA:  test-node.js result: performance: load: null total: 209
2022-08-08 15:09:16 STATE: test-node.js passed: posenet
2022-08-08 15:09:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:16 STATE: test-node.js event: image
2022-08-08 15:09:16 STATE: test-node.js event: detect
2022-08-08 15:09:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet
2022-08-08 15:09:16 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17}
2022-08-08 15:09:16 DATA:  test-node.js result: performance: load: null total: 206
2022-08-08 15:09:16 STATE: test-node.js passed: movenet
2022-08-08 15:09:16 INFO:  test-node.js test detectors
2022-08-08 15:09:17 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:17 STATE: test-node.js event: image
2022-08-08 15:09:17 STATE: test-node.js event: detect
2022-08-08 15:09:17 STATE: test-node.js passed: detect: samples/in/ai-body.jpg detectors
2022-08-08 15:09:17 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-08 15:09:17 DATA:  test-node.js result: performance: load: null total: 94
2022-08-08 15:09:17 STATE: test-node.js passed: detector result face match
2022-08-08 15:09:17 STATE: test-node.js passed: detector result hand match
2022-08-08 15:09:17 INFO:  test-node.js test: multi-instance
2022-08-08 15:09:17 STATE: test-node.js event: image
2022-08-08 15:09:17 STATE: test-node.js event: detect
2022-08-08 15:09:17 STATE: test-node.js passed: detect: random multi instance
2022-08-08 15:09:17 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0}
2022-08-08 15:09:17 DATA:  test-node.js result: performance: load: null total: 86
2022-08-08 15:09:17 INFO:  test-node.js test: first instance
2022-08-08 15:09:17 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-08 15:09:17 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance
2022-08-08 15:09:17 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-08 15:09:17 DATA:  test-node.js result: performance: load: null total: 88
2022-08-08 15:09:17 INFO:  test-node.js test: second instance
2022-08-08 15:09:17 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-08 15:09:17 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance
2022-08-08 15:09:17 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-08 15:09:17 DATA:  test-node.js result: performance: load: null total: 85
2022-08-08 15:09:17 INFO:  test-node.js test: concurrent
2022-08-08 15:09:17 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:17 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:17 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:18 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:18 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-08 15:09:18 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-08 15:09:18 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:18 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:18 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-08 15:09:18 STATE: test-node.js event: image
2022-08-08 15:09:18 STATE: test-node.js event: image
2022-08-08 15:09:18 STATE: test-node.js event: image
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 936
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 936
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 936
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 936
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 936
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 936
2022-08-08 15:09:19 STATE: test-node.js event: detect
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 742
2022-08-08 15:09:19 STATE: test-node.js event: detect
2022-08-08 15:09:19 STATE: test-node.js event: detect
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 742
2022-08-08 15:09:19 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent
2022-08-08 15:09:19 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-08 15:09:19 DATA:  test-node.js result: performance: load: null total: 742
2022-08-08 15:09:19 INFO:  test-node.js test: monkey-patch
2022-08-08 15:09:19 STATE: test-node.js event: image
2022-08-08 15:09:19 STATE: test-node.js event: detect
2022-08-08 15:09:19 STATE: test-node.js passed: monkey patch
2022-08-08 15:09:19 STATE: test-node.js passed: segmentation [65536]
2022-08-08 15:09:19 STATE: test-node.js passeed: equal usage
2022-08-08 15:09:19 INFO:  test-node.js test: input compare
2022-08-08 15:09:19 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-08 15:09:19 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-08 15:09:19 STATE: test-node.js passed: image compare 0 23.275441687091504
2022-08-08 15:09:19 INFO:  test-node.js events: {"image":30,"detect":30,"warmup":2}
2022-08-08 15:09:19 INFO:  test-node.js tensors 4105
2022-08-08 15:09:19 INFO:  test-node.js test complete: 19131 ms
2022-08-08 15:09:19 INFO:  all tests complete
2022-08-08 15:09:19 INFO:  failed: {"count":0,"messages":[]}
2022-08-08 15:09:19 INFO:  status: {"test":"test-node.js","passed":128,"failed":0}
2022-08-10 13:44:05 INFO:  @vladmandic/human version 2.9.2
2022-08-10 13:44:05 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.15.0
2022-08-10 13:44:05 INFO:  demos: [{"cmd":"../demo/nodejs/node.js","args":[]},{"cmd":"../demo/nodejs/node-simple.js","args":[]},{"cmd":"../demo/nodejs/node-fetch.js","args":[]},{"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]},{"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]},{"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]},{"cmd":"../demo/multithread/node-multiprocess.js","args":[]}]
2022-08-10 13:44:05 INFO: 
2022-08-10 13:44:05 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start
2022-08-10 13:44:06 INFO: 
2022-08-10 13:44:06 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start
2022-08-10 13:44:07 INFO: 
2022-08-10 13:44:07 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start
2022-08-10 13:44:08 INFO: 
2022-08-10 13:44:08 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start
2022-08-10 13:44:09 INFO: 
2022-08-10 13:44:09 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start
2022-08-10 13:44:09 INFO: 
2022-08-10 13:44:09 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start
2022-08-10 13:44:10 INFO: 
2022-08-10 13:44:10 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start
2022-08-10 13:44:11 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
2022-08-10 13:44:11 INFO: 
2022-08-10 13:44:11 INFO:  test-node.js start
2022-08-10 13:44:11 INFO:  test-node.js test: configuration validation
2022-08-10 13:44:11 STATE: test-node.js passed: configuration default validation []
2022-08-10 13:44:11 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}]
2022-08-10 13:44:11 INFO:  test-node.js test: model load
2022-08-10 13:44:12 STATE: test-node.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}]
2022-08-10 13:44:12 INFO:  test-node.js test: warmup
2022-08-10 13:44:12 STATE: test-node.js passed: create human
2022-08-10 13:44:12 INFO:  test-node.js human version: 2.9.2
2022-08-10 13:44:12 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.15.0
2022-08-10 13:44:12 INFO:  test-node.js tfjs version: 3.19.0
2022-08-10 13:44:12 INFO:  test-node.js tensorflow binding version: 2.7.3-dev20220521
2022-08-10 13:44:12 STATE: test-node.js passed: set backend: tensorflow
2022-08-10 13:44:12 STATE: test-node.js tensors 1921
2022-08-10 13:44:12 STATE: test-node.js passed: load models
2022-08-10 13:44:12 STATE: test-node.js result: defined models: 23 loaded models: 12
2022-08-10 13:44:12 STATE: test-node.js passed: warmup: none default
2022-08-10 13:44:12 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2022-08-10 13:44:12 DATA:  test-node.js result: performance: load: null total: null
2022-08-10 13:44:12 STATE: test-node.js passed: warmup none result match
2022-08-10 13:44:12 STATE: test-node.js event: image
2022-08-10 13:44:12 STATE: test-node.js event: detect
2022-08-10 13:44:12 STATE: test-node.js event: warmup
2022-08-10 13:44:12 STATE: test-node.js passed: warmup: face default
2022-08-10 13:44:12 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2022-08-10 13:44:12 DATA:  test-node.js result: performance: load: null total: 351
2022-08-10 13:44:12 STATE: test-node.js passed: warmup face result match
2022-08-10 13:44:12 STATE: test-node.js event: image
2022-08-10 13:44:12 STATE: test-node.js event: detect
2022-08-10 13:44:12 STATE: test-node.js event: warmup
2022-08-10 13:44:12 STATE: test-node.js passed: warmup: body default
2022-08-10 13:44:12 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:12 DATA:  test-node.js result: performance: load: null total: 257
2022-08-10 13:44:12 STATE: test-node.js passed: warmup body result match
2022-08-10 13:44:12 STATE: test-node.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]}
2022-08-10 13:44:12 INFO:  test-node.js test: details verification
2022-08-10 13:44:12 STATE: test-node.js start default
2022-08-10 13:44:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:12 STATE: test-node.js event: image
2022-08-10 13:44:13 STATE: test-node.js event: detect
2022-08-10 13:44:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default
2022-08-10 13:44:13 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:13 DATA:  test-node.js result: performance: load: null total: 259
2022-08-10 13:44:13 STATE: test-node.js passed: details face length 1
2022-08-10 13:44:13 STATE: test-node.js passed: details face score 1 0.93 1
2022-08-10 13:44:13 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47
2022-08-10 13:44:13 STATE: test-node.js passed: details face arrays 4 478 1024
2022-08-10 13:44:13 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"}
2022-08-10 13:44:13 STATE: test-node.js passed: details face anti-spoofing 0.79
2022-08-10 13:44:13 STATE: test-node.js passed: details face liveness 0.83
2022-08-10 13:44:13 STATE: test-node.js passed: details body length 1
2022-08-10 13:44:13 STATE: test-node.js passed: details body 0.92 17 6
2022-08-10 13:44:13 STATE: test-node.js passed: details hand length 1
2022-08-10 13:44:13 STATE: test-node.js passed: details hand 0.51 0.73 point
2022-08-10 13:44:13 STATE: test-node.js passed: details hand arrays 21 5 7
2022-08-10 13:44:13 STATE: test-node.js passed: details gesture length 7
2022-08-10 13:44:13 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"}
2022-08-10 13:44:13 STATE: test-node.js passed: details object length 1
2022-08-10 13:44:13 STATE: test-node.js passed: details object 0.72 person
2022-08-10 13:44:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928}
2022-08-10 13:44:13 STATE: test-node.js event: image
2022-08-10 13:44:13 STATE: test-node.js event: detect
2022-08-10 13:44:13 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32
2022-08-10 13:44:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928}
2022-08-10 13:44:13 STATE: test-node.js event: image
2022-08-10 13:44:14 STATE: test-node.js event: detect
2022-08-10 13:44:14 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32
2022-08-10 13:44:14 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:14 STATE: test-node.js event: image
2022-08-10 13:44:14 STATE: test-node.js event: detect
2022-08-10 13:44:14 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32
2022-08-10 13:44:14 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:14 STATE: test-node.js event: image
2022-08-10 13:44:14 STATE: test-node.js event: detect
2022-08-10 13:44:14 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32
2022-08-10 13:44:15 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871}
2022-08-10 13:44:15 STATE: test-node.js event: image
2022-08-10 13:44:15 STATE: test-node.js event: detect
2022-08-10 13:44:15 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32
2022-08-10 13:44:15 INFO:  test-node.js test default
2022-08-10 13:44:15 STATE: test-node.js start async
2022-08-10 13:44:15 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:15 STATE: test-node.js event: image
2022-08-10 13:44:15 STATE: test-node.js event: detect
2022-08-10 13:44:15 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async
2022-08-10 13:44:15 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:15 DATA:  test-node.js result: performance: load: null total: 243
2022-08-10 13:44:15 STATE: test-node.js passed: default result face match 1 female 0.97
2022-08-10 13:44:15 INFO:  test-node.js test sync
2022-08-10 13:44:15 STATE: test-node.js start sync
2022-08-10 13:44:15 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:15 STATE: test-node.js event: image
2022-08-10 13:44:16 STATE: test-node.js event: detect
2022-08-10 13:44:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync
2022-08-10 13:44:16 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:16 DATA:  test-node.js result: performance: load: null total: 217
2022-08-10 13:44:16 STATE: test-node.js passed: default sync 1 female 0.97
2022-08-10 13:44:16 INFO:  test-node.js test: image process
2022-08-10 13:44:16 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:16 STATE: test-node.js passed: image input null [1,256,256,3]
2022-08-10 13:44:16 INFO:  test-node.js test: image null
2022-08-10 13:44:16 STATE: test-node.js passed: invalid input could not convert input to tensor
2022-08-10 13:44:16 INFO:  test-node.js test face similarity
2022-08-10 13:44:16 STATE: test-node.js start face similarity
2022-08-10 13:44:16 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:16 STATE: test-node.js event: image
2022-08-10 13:44:16 STATE: test-node.js event: detect
2022-08-10 13:44:16 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity
2022-08-10 13:44:16 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-10 13:44:16 DATA:  test-node.js result: performance: load: null total: 222
2022-08-10 13:44:16 STATE: test-node.js start face similarity
2022-08-10 13:44:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:16 STATE: test-node.js event: image
2022-08-10 13:44:16 STATE: test-node.js event: detect
2022-08-10 13:44:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity
2022-08-10 13:44:16 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:16 DATA:  test-node.js result: performance: load: null total: 218
2022-08-10 13:44:16 STATE: test-node.js start face similarity
2022-08-10 13:44:16 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-10 13:44:16 STATE: test-node.js event: image
2022-08-10 13:44:17 STATE: test-node.js event: detect
2022-08-10 13:44:17 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity
2022-08-10 13:44:17 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7}
2022-08-10 13:44:17 DATA:  test-node.js result: performance: load: null total: 223
2022-08-10 13:44:17 STATE: test-node.js passed: face descriptor
2022-08-10 13:44:17 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]}
2022-08-10 13:44:17 INFO:  test-node.js test object
2022-08-10 13:44:17 STATE: test-node.js start object
2022-08-10 13:44:17 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:17 STATE: test-node.js event: image
2022-08-10 13:44:17 STATE: test-node.js event: detect
2022-08-10 13:44:17 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object
2022-08-10 13:44:17 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:17 DATA:  test-node.js result: performance: load: null total: 222
2022-08-10 13:44:17 STATE: test-node.js passed: centernet
2022-08-10 13:44:17 STATE: test-node.js start object
2022-08-10 13:44:18 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:18 STATE: test-node.js event: image
2022-08-10 13:44:18 STATE: test-node.js event: detect
2022-08-10 13:44:18 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object
2022-08-10 13:44:18 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 2 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.86,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:18 DATA:  test-node.js result: performance: load: null total: 259
2022-08-10 13:44:18 STATE: test-node.js passed: nanodet
2022-08-10 13:44:18 INFO:  test-node.js test sensitive
2022-08-10 13:44:18 STATE: test-node.js start sensitive
2022-08-10 13:44:18 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:18 STATE: test-node.js event: image
2022-08-10 13:44:18 STATE: test-node.js event: detect
2022-08-10 13:44:18 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive
2022-08-10 13:44:18 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17}
2022-08-10 13:44:18 DATA:  test-node.js result: performance: load: null total: 183
2022-08-10 13:44:18 STATE: test-node.js passed: sensitive result match
2022-08-10 13:44:18 STATE: test-node.js passed: sensitive face result match
2022-08-10 13:44:18 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}]
2022-08-10 13:44:18 STATE: test-node.js passed: sensitive body result match
2022-08-10 13:44:18 STATE: test-node.js passed: sensitive hand result match
2022-08-10 13:44:18 INFO:  test-node.js test body
2022-08-10 13:44:18 STATE: test-node.js start blazepose
2022-08-10 13:44:20 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:20 STATE: test-node.js event: image
2022-08-10 13:44:20 STATE: test-node.js event: detect
2022-08-10 13:44:20 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose
2022-08-10 13:44:20 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.99,"keypoints":39}
2022-08-10 13:44:20 DATA:  test-node.js result: performance: load: null total: 256
2022-08-10 13:44:20 STATE: test-node.js passed: blazepose
2022-08-10 13:44:20 STATE: test-node.js start efficientpose
2022-08-10 13:44:23 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:23 STATE: test-node.js event: image
2022-08-10 13:44:23 STATE: test-node.js event: detect
2022-08-10 13:44:23 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose
2022-08-10 13:44:23 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.75,"keypoints":13}
2022-08-10 13:44:23 DATA:  test-node.js result: performance: load: null total: 265
2022-08-10 13:44:23 STATE: test-node.js passed: efficientpose
2022-08-10 13:44:23 STATE: test-node.js start posenet
2022-08-10 13:44:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:24 STATE: test-node.js event: image
2022-08-10 13:44:24 STATE: test-node.js event: detect
2022-08-10 13:44:24 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet
2022-08-10 13:44:24 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.96,"keypoints":16}
2022-08-10 13:44:24 DATA:  test-node.js result: performance: load: null total: 182
2022-08-10 13:44:24 STATE: test-node.js passed: posenet
2022-08-10 13:44:24 STATE: test-node.js start movenet
2022-08-10 13:44:24 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:24 STATE: test-node.js event: image
2022-08-10 13:44:24 STATE: test-node.js event: detect
2022-08-10 13:44:24 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet
2022-08-10 13:44:24 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 9 object: 0 person: 1 {"score":1,"age":23.7,"gender":"female"} {} {"score":0.92,"keypoints":17}
2022-08-10 13:44:24 DATA:  test-node.js result: performance: load: null total: 189
2022-08-10 13:44:24 STATE: test-node.js passed: movenet
2022-08-10 13:44:24 INFO:  test-node.js test face matching
2022-08-10 13:44:24 STATE: test-node.js passed: face database 40
2022-08-10 13:44:24 STATE: test-node.js passed: face match {"first":{"index":4,"similarity":0.7827852615252829}} {"second":{"index":4,"similarity":0.5002052633015844}} {"third":{"index":4,"similarity":0.5401587887998899}}
2022-08-10 13:44:24 INFO:  test-node.js test face similarity alternative
2022-08-10 13:44:24 STATE: test-node.js start face embeddings
2022-08-10 13:44:25 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:25 STATE: test-node.js event: image
2022-08-10 13:44:25 STATE: test-node.js event: detect
2022-08-10 13:44:25 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings
2022-08-10 13:44:25 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3}
2022-08-10 13:44:25 DATA:  test-node.js result: performance: load: null total: 213
2022-08-10 13:44:25 STATE: test-node.js passed: mobilefacenet {"embedding":192}
2022-08-10 13:44:25 STATE: test-node.js start face embeddings
2022-08-10 13:44:26 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:26 STATE: test-node.js event: image
2022-08-10 13:44:26 STATE: test-node.js event: detect
2022-08-10 13:44:26 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings
2022-08-10 13:44:26 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3}
2022-08-10 13:44:26 DATA:  test-node.js result: performance: load: null total: 214
2022-08-10 13:44:26 STATE: test-node.js passed: insightface {"embedding":512}
2022-08-10 13:44:26 INFO:  test-node.js test face attention
2022-08-10 13:44:26 STATE: test-node.js start face attention
2022-08-10 13:44:26 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:26 STATE: test-node.js event: image
2022-08-10 13:44:26 STATE: test-node.js event: detect
2022-08-10 13:44:26 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face attention
2022-08-10 13:44:26 DATA:  test-node.js result: face: 1 body: 1 hand: 2 gesture: 8 object: 0 person: 1 {"score":1,"age":23.5,"gender":"female"} {} {"score":0.47,"keypoints":3}
2022-08-10 13:44:26 DATA:  test-node.js result: performance: load: null total: 185
2022-08-10 13:44:26 STATE: test-node.js passed: face attention
2022-08-10 13:44:26 INFO:  test-node.js test detectors
2022-08-10 13:44:26 STATE: test-node.js start detectors
2022-08-10 13:44:26 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:26 STATE: test-node.js event: image
2022-08-10 13:44:26 STATE: test-node.js event: detect
2022-08-10 13:44:26 STATE: test-node.js passed: detect: samples/in/ai-body.jpg detectors
2022-08-10 13:44:26 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-10 13:44:26 DATA:  test-node.js result: performance: load: null total: 86
2022-08-10 13:44:26 STATE: test-node.js passed: detector result face match
2022-08-10 13:44:26 STATE: test-node.js passed: detector result hand match
2022-08-10 13:44:26 INFO:  test-node.js test: multi-instance
2022-08-10 13:44:26 STATE: test-node.js start multi instance
2022-08-10 13:44:26 STATE: test-node.js event: image
2022-08-10 13:44:27 STATE: test-node.js event: detect
2022-08-10 13:44:27 STATE: test-node.js passed: detect: random multi instance
2022-08-10 13:44:27 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0}
2022-08-10 13:44:27 DATA:  test-node.js result: performance: load: null total: 84
2022-08-10 13:44:27 INFO:  test-node.js test: first instance
2022-08-10 13:44:27 STATE: test-node.js start multi instance
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-10 13:44:27 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance
2022-08-10 13:44:27 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-10 13:44:27 DATA:  test-node.js result: performance: load: null total: 86
2022-08-10 13:44:27 INFO:  test-node.js test: second instance
2022-08-10 13:44:27 STATE: test-node.js start multi instance
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-10 13:44:27 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance
2022-08-10 13:44:27 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-10 13:44:27 DATA:  test-node.js result: performance: load: null total: 83
2022-08-10 13:44:27 INFO:  test-node.js test: concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js start concurrent
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-10 13:44:27 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:28 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:28 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024}
2022-08-10 13:44:28 STATE: test-node.js event: image
2022-08-10 13:44:28 STATE: test-node.js event: image
2022-08-10 13:44:28 STATE: test-node.js event: image
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 1049
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 1049
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 1050
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 1050
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 1050
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 1050
2022-08-10 13:44:28 STATE: test-node.js event: detect
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 0 object: 0 person: 1 {"score":0.96,"gender":"unknown"} {} {"score":0.75,"keypoints":7}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 781
2022-08-10 13:44:28 STATE: test-node.js event: detect
2022-08-10 13:44:28 STATE: test-node.js event: detect
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.91,"gender":"unknown"} {} {"score":0.47,"keypoints":3}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 781
2022-08-10 13:44:28 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent
2022-08-10 13:44:28 DATA:  test-node.js result: face: 1 body: 1 hand: 1 gesture: 0 object: 0 person: 1 {"score":0.93,"gender":"unknown"} {} {"score":0.92,"keypoints":17}
2022-08-10 13:44:28 DATA:  test-node.js result: performance: load: null total: 781
2022-08-10 13:44:28 INFO:  test-node.js test: monkey-patch
2022-08-10 13:44:28 STATE: test-node.js event: image
2022-08-10 13:44:29 STATE: test-node.js event: detect
2022-08-10 13:44:29 STATE: test-node.js passed: monkey patch
2022-08-10 13:44:29 STATE: test-node.js passed: segmentation [65536]
2022-08-10 13:44:29 STATE: test-node.js passeed: equal usage
2022-08-10 13:44:29 INFO:  test-node.js test: input compare
2022-08-10 13:44:29 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:29 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864}
2022-08-10 13:44:29 STATE: test-node.js passed: image compare 0 23.275441687091504
2022-08-10 13:44:29 INFO:  test-node.js events: {"image":29,"detect":29,"warmup":2}
2022-08-10 13:44:29 INFO:  test-node.js tensors 4105
2022-08-10 13:44:29 INFO:  test-node.js test complete: 17323 ms
2022-08-10 13:44:29 INFO: 
2022-08-10 13:44:29 INFO:  test-node-gpu.js start
2022-08-10 13:44:30 INFO:  test-node-gpu.js test: configuration validation
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: configuration default validation []
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}]
2022-08-10 13:44:30 INFO:  test-node-gpu.js test: model load
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: models loaded 23 12 [{"name":"ssrnetage","loaded":false,"url":null},{"name":"gear","loaded":false,"url":null},{"name":"blazeposedetect","loaded":false,"url":null},{"name":"blazepose","loaded":false,"url":null},{"name":"centernet","loaded":true,"url":"file://models/mb3-centernet.json"},{"name":"efficientpose","loaded":false,"url":null},{"name":"mobilefacenet","loaded":false,"url":null},{"name":"insightface","loaded":false,"url":null},{"name":"emotion","loaded":true,"url":"file://models/emotion.json"},{"name":"facedetect","loaded":true,"url":"file://models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"file://models/iris.json"},{"name":"facemesh","loaded":true,"url":"file://models/facemesh.json"},{"name":"faceres","loaded":true,"url":"file://models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"file://models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"file://models/handtrack.json"},{"name":"liveness","loaded":true,"url":"file://models/liveness.json"},{"name":"movenet","loaded":true,"url":"file://models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"file://models/selfie.json"},{"name":"antispoof","loaded":true,"url":"file://models/antispoof.json"}]
2022-08-10 13:44:30 INFO:  test-node-gpu.js test: warmup
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: create human
2022-08-10 13:44:30 INFO:  test-node-gpu.js human version: 2.9.2
2022-08-10 13:44:30 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.15.0
2022-08-10 13:44:30 INFO:  test-node-gpu.js tfjs version: 3.19.0
2022-08-10 13:44:30 INFO:  test-node-gpu.js tensorflow binding version: 2.7.3-dev20220521
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: set backend: tensorflow
2022-08-10 13:44:30 STATE: test-node-gpu.js tensors 1921
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: load models
2022-08-10 13:44:30 STATE: test-node-gpu.js result: defined models: 23 loaded models: 12
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: warmup: none default
2022-08-10 13:44:30 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {}
2022-08-10 13:44:30 DATA:  test-node-gpu.js result: performance: load: null total: null
2022-08-10 13:44:30 STATE: test-node-gpu.js passed: warmup none result match
2022-08-10 13:44:30 STATE: test-node-gpu.js event: image
2022-08-10 13:44:32 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:32 STATE: test-node-gpu.js event: warmup
2022-08-10 13:44:32 STATE: test-node-gpu.js passed: warmup: face default
2022-08-10 13:44:32 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2022-08-10 13:44:32 DATA:  test-node-gpu.js result: performance: load: null total: 2109
2022-08-10 13:44:32 STATE: test-node-gpu.js passed: warmup face result match
2022-08-10 13:44:32 STATE: test-node-gpu.js event: image
2022-08-10 13:44:33 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:33 STATE: test-node-gpu.js event: warmup
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: warmup: body default
2022-08-10 13:44:33 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:33 DATA:  test-node-gpu.js result: performance: load: null total: 194
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: warmup body result match
2022-08-10 13:44:33 STATE: test-node-gpu.js details: {"face":{"boxScore":0.92,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.63,"emotion":"angry"},{"score":0.22,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.52,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 10% open"},{"hand":0,"gesture":"pinky forward"},{"hand":0,"gesture":"palm up"},{"hand":0,"gesture":"open palm"},{"iris":0,"gesture":"looking left"},{"iris":0,"gesture":"looking up"}]}
2022-08-10 13:44:33 INFO:  test-node-gpu.js test: details verification
2022-08-10 13:44:33 STATE: test-node-gpu.js start default
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:33 STATE: test-node-gpu.js event: image
2022-08-10 13:44:33 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default
2022-08-10 13:44:33 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:33 DATA:  test-node-gpu.js result: performance: load: null total: 185
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face length 1
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face score 1 0.93 1
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face arrays 4 478 1024
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"}
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details face liveness 0.83
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details body length 1
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details body 0.92 17 6
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details hand length 1
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details hand arrays 21 5 7
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details gesture length 7
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"}
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details object length 1
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: details object 0.72 person
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928}
2022-08-10 13:44:33 STATE: test-node-gpu.js event: image
2022-08-10 13:44:33 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32
2022-08-10 13:44:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928}
2022-08-10 13:44:33 STATE: test-node-gpu.js event: image
2022-08-10 13:44:34 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:34 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32
2022-08-10 13:44:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:34 STATE: test-node-gpu.js event: image
2022-08-10 13:44:34 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:34 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32
2022-08-10 13:44:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:34 STATE: test-node-gpu.js event: image
2022-08-10 13:44:34 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:34 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871}
2022-08-10 13:44:35 STATE: test-node-gpu.js event: image
2022-08-10 13:44:35 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32
2022-08-10 13:44:35 INFO:  test-node-gpu.js test default
2022-08-10 13:44:35 STATE: test-node-gpu.js start async
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:35 STATE: test-node-gpu.js event: image
2022-08-10 13:44:35 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg async
2022-08-10 13:44:35 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:35 DATA:  test-node-gpu.js result: performance: load: null total: 192
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: default result face match 1 female 0.97
2022-08-10 13:44:35 INFO:  test-node-gpu.js test sync
2022-08-10 13:44:35 STATE: test-node-gpu.js start sync
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:35 STATE: test-node-gpu.js event: image
2022-08-10 13:44:35 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sync
2022-08-10 13:44:35 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:35 DATA:  test-node-gpu.js result: performance: load: null total: 185
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: default sync 1 female 0.97
2022-08-10 13:44:35 INFO:  test-node-gpu.js test: image process
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: image input null [1,256,256,3]
2022-08-10 13:44:35 INFO:  test-node-gpu.js test: image null
2022-08-10 13:44:35 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor
2022-08-10 13:44:35 INFO:  test-node-gpu.js test face similarity
2022-08-10 13:44:35 STATE: test-node-gpu.js start face similarity
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120}
2022-08-10 13:44:36 STATE: test-node-gpu.js event: image
2022-08-10 13:44:36 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity
2022-08-10 13:44:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 6 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":3}
2022-08-10 13:44:36 DATA:  test-node-gpu.js result: performance: load: null total: 173
2022-08-10 13:44:36 STATE: test-node-gpu.js start face similarity
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:36 STATE: test-node-gpu.js event: image
2022-08-10 13:44:36 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity
2022-08-10 13:44:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:36 DATA:  test-node-gpu.js result: performance: load: null total: 186
2022-08-10 13:44:36 STATE: test-node-gpu.js start face similarity
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056}
2022-08-10 13:44:36 STATE: test-node-gpu.js event: image
2022-08-10 13:44:36 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity
2022-08-10 13:44:36 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"score":1,"age":23.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.75,"keypoints":7}
2022-08-10 13:44:36 DATA:  test-node-gpu.js result: performance: load: null total: 172
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: face descriptor
2022-08-10 13:44:36 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]}
2022-08-10 13:44:36 INFO:  test-node-gpu.js test object
2022-08-10 13:44:36 STATE: test-node-gpu.js start object
2022-08-10 13:44:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928}
2022-08-10 13:44:37 STATE: test-node-gpu.js event: image
2022-08-10 13:44:37 STATE: test-node-gpu.js event: detect
2022-08-10 13:44:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object
2022-08-10 13:44:37 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 1 gesture: 7 object: 1 person: 1 {"score":1,"age":23.7,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2022-08-10 13:44:37 DATA:  test-node-gpu.js result: performance: load: null total: 189
2022-08-10 13:44:37 STATE: test-node-gpu.js passed: centernet
2022-08-10 13:44:37 STATE: test-node-gpu.js start object