diff --git a/TODO.md b/TODO.md index e8d386cf..cbbe08cb 100644 --- a/TODO.md +++ b/TODO.md @@ -23,8 +23,11 @@ N/A ### Face with Attention -`FaceMesh-Attention` is not supported in `Node` or in browser using `WASM` backend due to missing kernel op in **TFJS** -Model is supported using `WebGL` backend in browser +`FaceMesh-Attention` is not supported in browser using `WASM` backend due to missing kernel op in **TFJS** + +### Object Detection + +`NanoDet` model is not supported in in browser using `WASM` backend due to missing kernel op in **TFJS** ### WebGPU @@ -36,21 +39,12 @@ Enable via Running in **web workers** requires `OffscreenCanvas` which is still disabled by default in **Firefox** Enable via `about:config` -> `gfx.offscreencanvas.enabled` -### Face Detection & Hand Detection - -Enhanced rotation correction for face detection and hand detection is not working in **NodeJS** due to missing kernel op in **TFJS** -Feature is automatically disabled in **NodeJS** without user impact - -### Object Detection - -`NanoDet` model is not supported in `Node` or in browser using `WASM` backend due to missing kernel op in **TFJS** -Model is supported using `WebGL` backend in browser -

## Pending Release Changes -- Update TFJS to **3.20.0** +- Update **TFJS** to **3.20.0** +- Update **TypeScript** to **4.8** - Add **InsightFace** model as alternative for face embedding/descriptor detection Compatible with multiple variations of **InsightFace** models Configurable using `config.face.insightface` config section @@ -58,9 +52,14 @@ Model is supported using `WebGL` backend in browser Models can be downloaded from - Add `human.check()` which validates all kernel ops for currently loaded models with currently selected backend Example: `console.error(human.check());` +- Add `config.softwareKernels` config option which uses **CPU** implementation for missing ops + Disabled by default + If enabled, it is used by face and hand rotation correction (`config.face.rotation` and `config.hand.rotation`) - Add underlying **tensorflow** library version detection when running in NodeJS to `human.env` and check if **GPU** is used for acceleration Example: `console.log(human.env.tensorflow)` +- Treat models that cannot be found & loaded as non-critical error + Instead of creating runtime exception, `human` will now report that model could not be loaded - Host models in Models can be directly used without downloading to local storage Example: `modelPath: 'https://vladmandic.github.io/human-models/models/facemesh.json'` diff --git a/demo/faceid/index.js b/demo/faceid/index.js index 35441db1..a147c3ca 100644 --- a/demo/faceid/index.js +++ b/demo/faceid/index.js @@ -4,6 +4,328 @@ author: ' */ -import*as I from"../../dist/human.esm.js";var l,z="human",g="person",p=(...t)=>console.log("indexdb",...t);async function v(){return l?!0:new Promise(t=>{let n=indexedDB.open(z,1);n.onerror=r=>p("error:",r),n.onupgradeneeded=r=>{p("create:",r.target),l=r.target.result,l.createObjectStore(g,{keyPath:"id",autoIncrement:!0})},n.onsuccess=r=>{l=r.target.result,p("open:",l),t(!0)}})}async function D(){let t=[];return l||await v(),new Promise(n=>{let r=l.transaction([g],"readwrite").objectStore(g).openCursor(null,"next");r.onerror=i=>p("load error:",i),r.onsuccess=i=>{i.target.result?(t.push(i.target.result.value),i.target.result.continue()):n(t)}})}async function y(){return l||await v(),new Promise(t=>{let n=l.transaction([g],"readwrite").objectStore(g).count();n.onerror=r=>p("count error:",r),n.onsuccess=()=>t(n.result)})}async function M(t){l||await v();let n={name:t.name,descriptor:t.descriptor,image:t.image};l.transaction([g],"readwrite").objectStore(g).put(n),p("save:",n)}async function B(t){l||await v(),l.transaction([g],"readwrite").objectStore(g).delete(t.id),p("delete:",t)}var b={modelBasePath:"../../models",filter:{equalization:!0},face:{enabled:!0,detector:{rotation:!0,return:!0,cropFactor:1.6,mask:!1},description:{enabled:!0},iris:{enabled:!0},emotion:{enabled:!1},antispoof:{enabled:!0},liveness:{enabled:!0}},body:{enabled:!1},hand:{enabled:!1},object:{enabled:!1},gesture:{enabled:!0}},S={order:2,multiplier:25,min:.2,max:.8},c={minConfidence:.6,minSize:224,maxTime:1e4,blinkMin:10,blinkMax:800,threshold:.5,mask:b.face.detector.mask,rotation:b.face.detector.rotation,cropFactor:b.face.detector.cropFactor,...S},o={faceCount:!1,faceConfidence:!1,facingCenter:!1,lookingCenter:!1,blinkDetected:!1,faceSize:!1,antispoofCheck:!1,livenessCheck:!1,elapsedMs:0},H=()=>o.faceCount&&o.faceSize&&o.blinkDetected&&o.facingCenter&&o.lookingCenter&&o.faceConfidence&&o.antispoofCheck&&o.livenessCheck,s={face:null,record:null},f={start:0,end:0,time:0},a=new I.Human(b);a.env.perfadd=!1;a.draw.options.font='small-caps 18px "Lato"';a.draw.options.lineHeight=20;var e={video:document.getElementById("video"),canvas:document.getElementById("canvas"),log:document.getElementById("log"),fps:document.getElementById("fps"),match:document.getElementById("match"),name:document.getElementById("name"),save:document.getElementById("save"),delete:document.getElementById("delete"),retry:document.getElementById("retry"),source:document.getElementById("source"),ok:document.getElementById("ok")},w={detect:0,draw:0},h={detect:0,draw:0},T=0,u=(...t)=>{e.log.innerText+=t.join(" ")+` -`,console.log(...t)},k=t=>e.fps.innerText=t;async function L(){k("starting webcam...");let t={audio:!1,video:{facingMode:"user",resizeMode:"none",width:{ideal:document.body.clientWidth}}},n=await navigator.mediaDevices.getUserMedia(t),r=new Promise(i=>{e.video.onloadeddata=()=>i(!0)});e.video.srcObject=n,e.video.play(),await r,e.canvas.width=e.video.videoWidth,e.canvas.height=e.video.videoHeight,a.env.initial&&u("video:",e.video.videoWidth,e.video.videoHeight,"|",n.getVideoTracks()[0].label),e.canvas.onclick=()=>{e.video.paused?e.video.play():e.video.pause()}}async function R(){var t;if(!e.video.paused){(t=s.face)!=null&&t.tensor&&a.tf.dispose(s.face.tensor),await a.detect(e.video);let n=a.now();h.detect=1e3/(n-w.detect),w.detect=n,requestAnimationFrame(R)}}async function F(){let t=a.next(a.result);a.draw.canvas(e.video,e.canvas),await a.draw.all(e.canvas,t);let n=a.now();if(h.draw=1e3/(n-w.draw),w.draw=n,k(`fps: ${h.detect.toFixed(1).padStart(5," ")} detect | ${h.draw.toFixed(1).padStart(5," ")} draw`),o.faceCount=a.result.face.length===1,o.faceCount){let i=Object.values(a.result.gesture).map(m=>m.gesture);(i.includes("blink left eye")||i.includes("blink right eye"))&&(f.start=a.now()),f.start>0&&!i.includes("blink left eye")&&!i.includes("blink right eye")&&(f.end=a.now()),o.blinkDetected=o.blinkDetected||Math.abs(f.end-f.start)>c.blinkMin&&Math.abs(f.end-f.start)c.minConfidence&&(a.result.face[0].faceScore||0)>c.minConfidence,o.antispoofCheck=(a.result.face[0].real||0)>c.minConfidence,o.livenessCheck=(a.result.face[0].live||0)>c.minConfidence,o.faceSize=a.result.face[0].box[2]>=c.minSize&&a.result.face[0].box[3]>=c.minSize}let r=32;for(let[i,m]of Object.entries(o)){let d=document.getElementById(`ok-${i}`);d||(d=document.createElement("div"),d.innerText=i,d.className="ok",d.style.top=`${r}px`,e.ok.appendChild(d)),typeof m=="boolean"?d.style.backgroundColor=m?"lightgreen":"lightcoral":d.innerText=`${i}:${m}`,r+=28}return H()||o.elapsedMs>c.maxTime?(e.video.pause(),a.result.face[0]):(o.elapsedMs=Math.trunc(a.now()-T),new Promise(i=>{setTimeout(async()=>{await F(),i(a.result.face[0])},30)}))}async function j(){var t,n,r,i;if(e.name.value.length>0){let m=(t=e.canvas.getContext("2d"))==null?void 0:t.getImageData(0,0,e.canvas.width,e.canvas.height),d={id:0,name:e.name.value,descriptor:(n=s.face)==null?void 0:n.embedding,image:m};await M(d),u("saved face record:",d.name,"descriptor length:",(i=(r=s.face)==null?void 0:r.embedding)==null?void 0:i.length),u("known face records:",await y())}else u("invalid name")}async function q(){s.record&&s.record.id>0&&await B(s.record)}async function O(){var i,m,d,C;if((i=e.canvas.getContext("2d"))==null||i.clearRect(0,0,c.minSize,c.minSize),!((m=s==null?void 0:s.face)!=null&&m.tensor)||!((d=s==null?void 0:s.face)!=null&&d.embedding))return!1;if(console.log("face record:",s.face),a.tf.browser.toPixels(s.face.tensor,e.canvas),await y()===0)return u("face database is empty"),document.body.style.background="black",e.delete.style.display="none",!1;let t=await D(),n=t.map(x=>x.descriptor).filter(x=>x.length>0),r=a.match(s.face.embedding,n,S);return s.record=t[r.index]||null,s.record&&(u(`best match: ${s.record.name} | id: ${s.record.id} | similarity: ${Math.round(1e3*r.similarity)/10}%`),e.name.value=s.record.name,e.source.style.display="",(C=e.source.getContext("2d"))==null||C.putImageData(s.record.image,0,0)),document.body.style.background=r.similarity>c.threshold?"darkgreen":"maroon",r.similarity>c.threshold}async function E(){var t,n;return o.faceCount=!1,o.faceConfidence=!1,o.facingCenter=!1,o.blinkDetected=!1,o.faceSize=!1,o.antispoofCheck=!1,o.livenessCheck=!1,o.elapsedMs=0,e.match.style.display="none",e.retry.style.display="none",e.source.style.display="none",document.body.style.background="black",await L(),await R(),T=a.now(),s.face=await F(),e.canvas.width=((t=s.face.tensor)==null?void 0:t.shape[1])||c.minSize,e.canvas.height=((n=s.face.tensor)==null?void 0:n.shape[0])||c.minSize,e.source.width=e.canvas.width,e.source.height=e.canvas.height,e.canvas.style.width="",e.match.style.display="flex",e.save.style.display="flex",e.delete.style.display="flex",e.retry.style.display="block",H()?O():(u("did not find valid face"),!1)}async function $(){var t,n;u("human version:",a.version,"| tfjs version:",a.tf.version["tfjs-core"]),u("face embedding model:",b.face.description.enabled?"faceres":"",(t=b.face.mobilefacenet)!=null&&t.enabled?"mobilefacenet":"",(n=b.face.insightface)!=null&&n.enabled?"insightface":""),u("options:",JSON.stringify(c).replace(/{|}|"|\[|\]/g,"").replace(/,/g," ")),k("loading..."),u("known face records:",await y()),await L(),await a.load(),k("initializing..."),e.retry.addEventListener("click",E),e.save.addEventListener("click",j),e.delete.addEventListener("click",q),await a.warmup(),await E()}window.onload=$; + +// demo/faceid/index.ts +import * as H from "../../dist/human.esm.js"; + +// demo/faceid/indexdb.ts +var db; +var database = "human"; +var table = "person"; +var log = (...msg) => console.log("indexdb", ...msg); +async function open() { + if (db) + return true; + return new Promise((resolve) => { + const request = indexedDB.open(database, 1); + request.onerror = (evt) => log("error:", evt); + request.onupgradeneeded = (evt) => { + log("create:", evt.target); + db = evt.target.result; + db.createObjectStore(table, { keyPath: "id", autoIncrement: true }); + }; + request.onsuccess = (evt) => { + db = evt.target.result; + log("open:", db); + resolve(true); + }; + }); +} +async function load() { + const faceDB = []; + if (!db) + await open(); + return new Promise((resolve) => { + const cursor = db.transaction([table], "readwrite").objectStore(table).openCursor(null, "next"); + cursor.onerror = (evt) => log("load error:", evt); + cursor.onsuccess = (evt) => { + if (evt.target.result) { + faceDB.push(evt.target.result.value); + evt.target.result.continue(); + } else { + resolve(faceDB); + } + }; + }); +} +async function count() { + if (!db) + await open(); + return new Promise((resolve) => { + const store = db.transaction([table], "readwrite").objectStore(table).count(); + store.onerror = (evt) => log("count error:", evt); + store.onsuccess = () => resolve(store.result); + }); +} +async function save(faceRecord) { + if (!db) + await open(); + const newRecord = { name: faceRecord.name, descriptor: faceRecord.descriptor, image: faceRecord.image }; + db.transaction([table], "readwrite").objectStore(table).put(newRecord); + log("save:", newRecord); +} +async function remove(faceRecord) { + if (!db) + await open(); + db.transaction([table], "readwrite").objectStore(table).delete(faceRecord.id); + log("delete:", faceRecord); +} + +// demo/faceid/index.ts +var humanConfig = { + modelBasePath: "../../models", + filter: { equalization: true }, + face: { + enabled: true, + detector: { rotation: true, return: true, cropFactor: 1.6, mask: false }, + description: { enabled: true }, + iris: { enabled: true }, + emotion: { enabled: false }, + antispoof: { enabled: true }, + liveness: { enabled: true } + }, + body: { enabled: false }, + hand: { enabled: false }, + object: { enabled: false }, + gesture: { enabled: true } +}; +var matchOptions = { order: 2, multiplier: 25, min: 0.2, max: 0.8 }; +var options = { + minConfidence: 0.6, + minSize: 224, + maxTime: 1e4, + blinkMin: 10, + blinkMax: 800, + threshold: 0.5, + mask: humanConfig.face.detector.mask, + rotation: humanConfig.face.detector.rotation, + cropFactor: humanConfig.face.detector.cropFactor, + ...matchOptions +}; +var ok = { + faceCount: false, + faceConfidence: false, + facingCenter: false, + lookingCenter: false, + blinkDetected: false, + faceSize: false, + antispoofCheck: false, + livenessCheck: false, + elapsedMs: 0 +}; +var allOk = () => ok.faceCount && ok.faceSize && ok.blinkDetected && ok.facingCenter && ok.lookingCenter && ok.faceConfidence && ok.antispoofCheck && ok.livenessCheck; +var current = { face: null, record: null }; +var blink = { + start: 0, + end: 0, + time: 0 +}; +var human = new H.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("fps"), + match: document.getElementById("match"), + name: document.getElementById("name"), + save: document.getElementById("save"), + delete: document.getElementById("delete"), + retry: document.getElementById("retry"), + source: document.getElementById("source"), + ok: document.getElementById("ok") +}; +var timestamp = { detect: 0, draw: 0 }; +var fps = { detect: 0, draw: 0 }; +var startTime = 0; +var log2 = (...msg) => { + dom.log.innerText += msg.join(" ") + "\n"; + console.log(...msg); +}; +var printFPS = (msg) => dom.fps.innerText = msg; +async function webCam() { + printFPS("starting webcam..."); + const cameraOptions = { audio: false, video: { facingMode: "user", resizeMode: "none", width: { ideal: document.body.clientWidth } } }; + const stream = await navigator.mediaDevices.getUserMedia(cameraOptions); + const ready = new Promise((resolve) => { + dom.video.onloadeddata = () => resolve(true); + }); + dom.video.srcObject = stream; + void dom.video.play(); + await ready; + dom.canvas.width = dom.video.videoWidth; + dom.canvas.height = dom.video.videoHeight; + if (human.env.initial) + log2("video:", dom.video.videoWidth, dom.video.videoHeight, "|", stream.getVideoTracks()[0].label); + dom.canvas.onclick = () => { + if (dom.video.paused) + void dom.video.play(); + else + dom.video.pause(); + }; +} +async function detectionLoop() { + var _a; + if (!dom.video.paused) { + if ((_a = current.face) == null ? void 0 : _a.tensor) + human.tf.dispose(current.face.tensor); + await human.detect(dom.video); + const now = human.now(); + fps.detect = 1e3 / (now - timestamp.detect); + timestamp.detect = now; + requestAnimationFrame(detectionLoop); + } +} +async function validationLoop() { + const interpolated = human.next(human.result); + human.draw.canvas(dom.video, dom.canvas); + await human.draw.all(dom.canvas, interpolated); + const now = human.now(); + fps.draw = 1e3 / (now - timestamp.draw); + timestamp.draw = now; + printFPS(`fps: ${fps.detect.toFixed(1).padStart(5, " ")} detect | ${fps.draw.toFixed(1).padStart(5, " ")} draw`); + ok.faceCount = human.result.face.length === 1; + if (ok.faceCount) { + const gestures = Object.values(human.result.gesture).map((gesture) => gesture.gesture); + if (gestures.includes("blink left eye") || gestures.includes("blink right eye")) + blink.start = human.now(); + if (blink.start > 0 && !gestures.includes("blink left eye") && !gestures.includes("blink right eye")) + blink.end = human.now(); + ok.blinkDetected = ok.blinkDetected || Math.abs(blink.end - blink.start) > options.blinkMin && Math.abs(blink.end - blink.start) < options.blinkMax; + if (ok.blinkDetected && blink.time === 0) + blink.time = Math.trunc(blink.end - blink.start); + ok.facingCenter = gestures.includes("facing center"); + ok.lookingCenter = gestures.includes("looking center"); + ok.faceConfidence = (human.result.face[0].boxScore || 0) > options.minConfidence && (human.result.face[0].faceScore || 0) > options.minConfidence; + ok.antispoofCheck = (human.result.face[0].real || 0) > options.minConfidence; + ok.livenessCheck = (human.result.face[0].live || 0) > options.minConfidence; + ok.faceSize = human.result.face[0].box[2] >= options.minSize && human.result.face[0].box[3] >= options.minSize; + } + let y = 32; + for (const [key, val] of Object.entries(ok)) { + let el = document.getElementById(`ok-${key}`); + if (!el) { + el = document.createElement("div"); + el.innerText = key; + el.className = "ok"; + el.style.top = `${y}px`; + dom.ok.appendChild(el); + } + if (typeof val === "boolean") + el.style.backgroundColor = val ? "lightgreen" : "lightcoral"; + else + el.innerText = `${key}:${val}`; + y += 28; + } + if (allOk()) { + dom.video.pause(); + return human.result.face[0]; + } + if (ok.elapsedMs > options.maxTime) { + dom.video.pause(); + return human.result.face[0]; + } + ok.elapsedMs = Math.trunc(human.now() - startTime); + return new Promise((resolve) => { + setTimeout(async () => { + await validationLoop(); + resolve(human.result.face[0]); + }, 30); + }); +} +async function saveRecords() { + var _a, _b, _c, _d; + if (dom.name.value.length > 0) { + const image = (_a = dom.canvas.getContext("2d")) == null ? void 0 : _a.getImageData(0, 0, dom.canvas.width, dom.canvas.height); + const rec = { id: 0, name: dom.name.value, descriptor: (_b = current.face) == null ? void 0 : _b.embedding, image }; + await save(rec); + log2("saved face record:", rec.name, "descriptor length:", (_d = (_c = current.face) == null ? void 0 : _c.embedding) == null ? void 0 : _d.length); + log2("known face records:", await count()); + } else { + log2("invalid name"); + } +} +async function deleteRecord() { + if (current.record && current.record.id > 0) { + await remove(current.record); + } +} +async function detectFace() { + var _a, _b, _c, _d; + (_a = dom.canvas.getContext("2d")) == null ? void 0 : _a.clearRect(0, 0, options.minSize, options.minSize); + if (!((_b = current == null ? void 0 : current.face) == null ? void 0 : _b.tensor) || !((_c = current == null ? void 0 : current.face) == null ? void 0 : _c.embedding)) + return false; + console.log("face record:", current.face); + human.tf.browser.toPixels(current.face.tensor, dom.canvas); + if (await count() === 0) { + log2("face database is empty"); + document.body.style.background = "black"; + dom.delete.style.display = "none"; + return false; + } + const db2 = await load(); + const descriptors = db2.map((rec) => rec.descriptor).filter((desc) => desc.length > 0); + const res = human.match(current.face.embedding, descriptors, matchOptions); + current.record = db2[res.index] || null; + if (current.record) { + log2(`best match: ${current.record.name} | id: ${current.record.id} | similarity: ${Math.round(1e3 * res.similarity) / 10}%`); + dom.name.value = current.record.name; + dom.source.style.display = ""; + (_d = dom.source.getContext("2d")) == null ? void 0 : _d.putImageData(current.record.image, 0, 0); + } + document.body.style.background = res.similarity > options.threshold ? "darkgreen" : "maroon"; + return res.similarity > options.threshold; +} +async function main() { + var _a, _b; + ok.faceCount = false; + ok.faceConfidence = false; + ok.facingCenter = false; + ok.blinkDetected = false; + ok.faceSize = false; + ok.antispoofCheck = false; + ok.livenessCheck = false; + ok.elapsedMs = 0; + dom.match.style.display = "none"; + dom.retry.style.display = "none"; + dom.source.style.display = "none"; + document.body.style.background = "black"; + await webCam(); + await detectionLoop(); + startTime = human.now(); + current.face = await validationLoop(); + dom.canvas.width = ((_a = current.face.tensor) == null ? void 0 : _a.shape[1]) || options.minSize; + dom.canvas.height = ((_b = current.face.tensor) == null ? void 0 : _b.shape[0]) || options.minSize; + dom.source.width = dom.canvas.width; + dom.source.height = dom.canvas.height; + dom.canvas.style.width = ""; + dom.match.style.display = "flex"; + dom.save.style.display = "flex"; + dom.delete.style.display = "flex"; + dom.retry.style.display = "block"; + if (!allOk()) { + log2("did not find valid face"); + return false; + } + return detectFace(); +} +async function init() { + var _a, _b; + log2("human version:", human.version, "| tfjs version:", human.tf.version["tfjs-core"]); + log2("face embedding model:", humanConfig.face.description.enabled ? "faceres" : "", ((_a = humanConfig.face["mobilefacenet"]) == null ? void 0 : _a.enabled) ? "mobilefacenet" : "", ((_b = humanConfig.face["insightface"]) == null ? void 0 : _b.enabled) ? "insightface" : ""); + log2("options:", JSON.stringify(options).replace(/{|}|"|\[|\]/g, "").replace(/,/g, " ")); + printFPS("loading..."); + log2("known face records:", await count()); + await webCam(); + await human.load(); + printFPS("initializing..."); + dom.retry.addEventListener("click", main); + dom.save.addEventListener("click", saveRecords); + dom.delete.addEventListener("click", deleteRecord); + await human.warmup(); + await main(); +} +window.onload = init; //# sourceMappingURL=index.js.map diff --git a/demo/faceid/index.js.map b/demo/faceid/index.js.map index d9e1c020..54e89e4a 100644 --- a/demo/faceid/index.js.map +++ b/demo/faceid/index.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["index.ts", "indexdb.ts"], "sourcesContent": ["/**\n * Human demo for browsers\n * @default Human Library\n * @summary \n * @author \n * @copyright \n * @license MIT\n */\n\nimport * as H from '../../dist/human.esm.js'; // equivalent of @vladmandic/Human\nimport * as indexDb from './indexdb'; // methods to deal with indexdb\n\nconst humanConfig = { // user configuration for human, used to fine-tune behavior\n modelBasePath: '../../models',\n filter: { equalization: true }, // lets run with histogram equilizer\n face: {\n enabled: true,\n detector: { rotation: true, return: true, cropFactor: 1.6, mask: false }, // return tensor is used to get detected face image\n description: { enabled: true }, // default model for face descriptor extraction is faceres\n // mobilefacenet: { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/mobilefacenet.json' }, // alternative model\n // insightface: { enabled: true, modelPath: 'https://vladmandic.github.io/insightface/models/insightface-mobilenet-swish.json' }, // alternative model\n iris: { enabled: true }, // needed to determine gaze direction\n emotion: { enabled: false }, // not needed\n antispoof: { enabled: true }, // enable optional antispoof module\n liveness: { enabled: true }, // enable optional liveness module\n },\n body: { enabled: false },\n hand: { enabled: false },\n object: { enabled: false },\n gesture: { enabled: true }, // parses face and iris gestures\n};\n\n// const matchOptions = { order: 2, multiplier: 1000, min: 0.0, max: 1.0 }; // for embedding model\nconst matchOptions = { order: 2, multiplier: 25, min: 0.2, max: 0.8 }; // for faceres model\n\nconst options = {\n minConfidence: 0.6, // overal face confidence for box, face, gender, real, live\n minSize: 224, // min input to face descriptor model before degradation\n maxTime: 10000, // max time before giving up\n blinkMin: 10, // minimum duration of a valid blink\n blinkMax: 800, // maximum duration of a valid blink\n threshold: 0.5, // minimum similarity\n mask: humanConfig.face.detector.mask,\n rotation: humanConfig.face.detector.rotation,\n cropFactor: humanConfig.face.detector.cropFactor,\n ...matchOptions,\n};\n\nconst ok = { // must meet all rules\n faceCount: false,\n faceConfidence: false,\n facingCenter: false,\n lookingCenter: false,\n blinkDetected: false,\n faceSize: false,\n antispoofCheck: false,\n livenessCheck: false,\n elapsedMs: 0, // total time while waiting for valid face\n};\nconst allOk = () => ok.faceCount && ok.faceSize && ok.blinkDetected && ok.facingCenter && ok.lookingCenter && ok.faceConfidence && ok.antispoofCheck && ok.livenessCheck;\nconst current: { face: H.FaceResult | null, record: indexDb.FaceRecord | null } = { face: null, record: null }; // current face record and matched database record\n\nconst blink = { // internal timers for blink start/end/duration\n start: 0,\n end: 0,\n time: 0,\n};\n\n// let db: Array<{ name: string, source: string, embedding: number[] }> = []; // holds loaded face descriptor database\nconst human = new H.Human(humanConfig); // create instance of human with overrides from user configuration\n\nhuman.env.perfadd = false; // is performance data showing instant or total values\nhuman.draw.options.font = 'small-caps 18px \"Lato\"'; // set font used to draw labels when using draw methods\nhuman.draw.options.lineHeight = 20;\n\nconst dom = { // grab instances of dom objects so we dont have to look them up later\n video: document.getElementById('video') as HTMLVideoElement,\n canvas: document.getElementById('canvas') as HTMLCanvasElement,\n log: document.getElementById('log') as HTMLPreElement,\n fps: document.getElementById('fps') as HTMLPreElement,\n match: document.getElementById('match') as HTMLDivElement,\n name: document.getElementById('name') as HTMLInputElement,\n save: document.getElementById('save') as HTMLSpanElement,\n delete: document.getElementById('delete') as HTMLSpanElement,\n retry: document.getElementById('retry') as HTMLDivElement,\n source: document.getElementById('source') as HTMLCanvasElement,\n ok: document.getElementById('ok') as HTMLDivElement,\n};\nconst timestamp = { detect: 0, draw: 0 }; // holds information used to calculate performance and possible memory leaks\nconst fps = { detect: 0, draw: 0 }; // holds calculated fps information for both detect and screen refresh\nlet startTime = 0;\n\nconst log = (...msg) => { // helper method to output messages\n dom.log.innerText += msg.join(' ') + '\\n';\n console.log(...msg); // eslint-disable-line no-console\n};\nconst printFPS = (msg) => dom.fps.innerText = msg; // print status element\n\nasync function webCam() { // initialize webcam\n printFPS('starting webcam...');\n // @ts-ignore resizeMode is not yet defined in tslib\n const cameraOptions: MediaStreamConstraints = { audio: false, video: { facingMode: 'user', resizeMode: 'none', width: { ideal: document.body.clientWidth } } };\n const stream: MediaStream = await navigator.mediaDevices.getUserMedia(cameraOptions);\n const ready = new Promise((resolve) => { dom.video.onloadeddata = () => resolve(true); });\n dom.video.srcObject = stream;\n void dom.video.play();\n await ready;\n dom.canvas.width = dom.video.videoWidth;\n dom.canvas.height = dom.video.videoHeight;\n if (human.env.initial) log('video:', dom.video.videoWidth, dom.video.videoHeight, '|', stream.getVideoTracks()[0].label);\n dom.canvas.onclick = () => { // pause when clicked on screen and resume on next click\n if (dom.video.paused) void dom.video.play();\n else dom.video.pause();\n };\n}\n\nasync function detectionLoop() { // main detection loop\n if (!dom.video.paused) {\n if (current.face?.tensor) human.tf.dispose(current.face.tensor); // dispose previous tensor\n await human.detect(dom.video); // actual detection; were not capturing output in a local variable as it can also be reached via human.result\n const now = human.now();\n fps.detect = 1000 / (now - timestamp.detect);\n timestamp.detect = now;\n requestAnimationFrame(detectionLoop); // start new frame immediately\n }\n}\n\nasync function validationLoop(): Promise { // main screen refresh loop\n const interpolated = human.next(human.result); // smoothen result using last-known results\n human.draw.canvas(dom.video, dom.canvas); // draw canvas to screen\n await human.draw.all(dom.canvas, interpolated); // draw labels, boxes, lines, etc.\n const now = human.now();\n fps.draw = 1000 / (now - timestamp.draw);\n timestamp.draw = now;\n printFPS(`fps: ${fps.detect.toFixed(1).padStart(5, ' ')} detect | ${fps.draw.toFixed(1).padStart(5, ' ')} draw`); // write status\n ok.faceCount = human.result.face.length === 1; // must be exactly detected face\n if (ok.faceCount) { // skip the rest if no face\n const gestures: string[] = Object.values(human.result.gesture).map((gesture: H.GestureResult) => gesture.gesture); // flatten all gestures\n if (gestures.includes('blink left eye') || gestures.includes('blink right eye')) blink.start = human.now(); // blink starts when eyes get closed\n if (blink.start > 0 && !gestures.includes('blink left eye') && !gestures.includes('blink right eye')) blink.end = human.now(); // if blink started how long until eyes are back open\n ok.blinkDetected = ok.blinkDetected || (Math.abs(blink.end - blink.start) > options.blinkMin && Math.abs(blink.end - blink.start) < options.blinkMax);\n if (ok.blinkDetected && blink.time === 0) blink.time = Math.trunc(blink.end - blink.start);\n ok.facingCenter = gestures.includes('facing center');\n ok.lookingCenter = gestures.includes('looking center'); // must face camera and look at camera\n ok.faceConfidence = (human.result.face[0].boxScore || 0) > options.minConfidence && (human.result.face[0].faceScore || 0) > options.minConfidence;\n ok.antispoofCheck = (human.result.face[0].real || 0) > options.minConfidence;\n ok.livenessCheck = (human.result.face[0].live || 0) > options.minConfidence;\n ok.faceSize = human.result.face[0].box[2] >= options.minSize && human.result.face[0].box[3] >= options.minSize;\n }\n let y = 32;\n for (const [key, val] of Object.entries(ok)) {\n let el = document.getElementById(`ok-${key}`);\n if (!el) {\n el = document.createElement('div');\n el.innerText = key;\n el.className = 'ok';\n el.style.top = `${y}px`;\n dom.ok.appendChild(el);\n }\n if (typeof val === 'boolean') el.style.backgroundColor = val ? 'lightgreen' : 'lightcoral';\n else el.innerText = `${key}:${val}`;\n y += 28;\n }\n if (allOk()) { // all criteria met\n dom.video.pause();\n return human.result.face[0];\n }\n if (ok.elapsedMs > options.maxTime) { // give up\n dom.video.pause();\n return human.result.face[0];\n }\n // run again\n ok.elapsedMs = Math.trunc(human.now() - startTime);\n return new Promise((resolve) => {\n setTimeout(async () => {\n await validationLoop(); // run validation loop until conditions are met\n resolve(human.result.face[0]); // recursive promise resolve\n }, 30); // use to slow down refresh from max refresh rate to target of 30 fps\n });\n}\n\nasync function saveRecords() {\n if (dom.name.value.length > 0) {\n const image = dom.canvas.getContext('2d')?.getImageData(0, 0, dom.canvas.width, dom.canvas.height) as ImageData;\n const rec = { id: 0, name: dom.name.value, descriptor: current.face?.embedding as number[], image };\n await indexDb.save(rec);\n log('saved face record:', rec.name, 'descriptor length:', current.face?.embedding?.length);\n log('known face records:', await indexDb.count());\n } else {\n log('invalid name');\n }\n}\n\nasync function deleteRecord() {\n if (current.record && current.record.id > 0) {\n await indexDb.remove(current.record);\n }\n}\n\nasync function detectFace() {\n dom.canvas.getContext('2d')?.clearRect(0, 0, options.minSize, options.minSize);\n if (!current?.face?.tensor || !current?.face?.embedding) return false;\n console.log('face record:', current.face); // eslint-disable-line no-console\n human.tf.browser.toPixels(current.face.tensor as unknown as H.TensorLike, dom.canvas);\n if (await indexDb.count() === 0) {\n log('face database is empty');\n document.body.style.background = 'black';\n dom.delete.style.display = 'none';\n return false;\n }\n const db = await indexDb.load();\n const descriptors = db.map((rec) => rec.descriptor).filter((desc) => desc.length > 0);\n const res = human.match(current.face.embedding, descriptors, matchOptions);\n current.record = db[res.index] || null;\n if (current.record) {\n log(`best match: ${current.record.name} | id: ${current.record.id} | similarity: ${Math.round(1000 * res.similarity) / 10}%`);\n dom.name.value = current.record.name;\n dom.source.style.display = '';\n dom.source.getContext('2d')?.putImageData(current.record.image, 0, 0);\n }\n document.body.style.background = res.similarity > options.threshold ? 'darkgreen' : 'maroon';\n return res.similarity > options.threshold;\n}\n\nasync function main() { // main entry point\n ok.faceCount = false;\n ok.faceConfidence = false;\n ok.facingCenter = false;\n ok.blinkDetected = false;\n ok.faceSize = false;\n ok.antispoofCheck = false;\n ok.livenessCheck = false;\n ok.elapsedMs = 0;\n dom.match.style.display = 'none';\n dom.retry.style.display = 'none';\n dom.source.style.display = 'none';\n document.body.style.background = 'black';\n await webCam();\n await detectionLoop(); // start detection loop\n startTime = human.now();\n current.face = await validationLoop(); // start validation loop\n dom.canvas.width = current.face.tensor?.shape[1] || options.minSize;\n dom.canvas.height = current.face.tensor?.shape[0] || options.minSize;\n dom.source.width = dom.canvas.width;\n dom.source.height = dom.canvas.height;\n dom.canvas.style.width = '';\n dom.match.style.display = 'flex';\n dom.save.style.display = 'flex';\n dom.delete.style.display = 'flex';\n dom.retry.style.display = 'block';\n if (!allOk()) { // is all criteria met?\n log('did not find valid face');\n return false;\n }\n return detectFace();\n}\n\nasync function init() {\n log('human version:', human.version, '| tfjs version:', human.tf.version['tfjs-core']);\n log('face embedding model:', humanConfig.face.description.enabled ? 'faceres' : '', humanConfig.face['mobilefacenet']?.enabled ? 'mobilefacenet' : '', humanConfig.face['insightface']?.enabled ? 'insightface' : '');\n log('options:', JSON.stringify(options).replace(/{|}|\"|\\[|\\]/g, '').replace(/,/g, ' '));\n printFPS('loading...');\n log('known face records:', await indexDb.count());\n await webCam(); // start webcam\n await human.load(); // preload all models\n printFPS('initializing...');\n dom.retry.addEventListener('click', main);\n dom.save.addEventListener('click', saveRecords);\n dom.delete.addEventListener('click', deleteRecord);\n await human.warmup(); // warmup function to initialize backend for future faster detection\n await main();\n}\n\nwindow.onload = init;\n", "let db: IDBDatabase; // instance of indexdb\n\nconst database = 'human';\nconst table = 'person';\n\nexport interface FaceRecord { id: number, name: string, descriptor: number[], image: ImageData }\n\nconst log = (...msg) => console.log('indexdb', ...msg); // eslint-disable-line no-console\n\nexport async function open() {\n if (db) return true;\n return new Promise((resolve) => {\n const request: IDBOpenDBRequest = indexedDB.open(database, 1);\n request.onerror = (evt) => log('error:', evt);\n request.onupgradeneeded = (evt: IDBVersionChangeEvent) => { // create if doesnt exist\n log('create:', evt.target);\n db = (evt.target as IDBOpenDBRequest).result;\n db.createObjectStore(table, { keyPath: 'id', autoIncrement: true });\n };\n request.onsuccess = (evt) => { // open\n db = (evt.target as IDBOpenDBRequest).result;\n log('open:', db);\n resolve(true);\n };\n });\n}\n\nexport async function load(): Promise {\n const faceDB: FaceRecord[] = [];\n if (!db) await open(); // open or create if not already done\n return new Promise((resolve) => {\n const cursor: IDBRequest = db.transaction([table], 'readwrite').objectStore(table).openCursor(null, 'next');\n cursor.onerror = (evt) => log('load error:', evt);\n cursor.onsuccess = (evt) => {\n if ((evt.target as IDBRequest).result) {\n faceDB.push((evt.target as IDBRequest).result.value);\n (evt.target as IDBRequest).result.continue();\n } else {\n resolve(faceDB);\n }\n };\n });\n}\n\nexport async function count(): Promise {\n if (!db) await open(); // open or create if not already done\n return new Promise((resolve) => {\n const store: IDBRequest = db.transaction([table], 'readwrite').objectStore(table).count();\n store.onerror = (evt) => log('count error:', evt);\n store.onsuccess = () => resolve(store.result);\n });\n}\n\nexport async function save(faceRecord: FaceRecord) {\n if (!db) await open(); // open or create if not already done\n const newRecord = { name: faceRecord.name, descriptor: faceRecord.descriptor, image: faceRecord.image }; // omit id as its autoincrement\n db.transaction([table], 'readwrite').objectStore(table).put(newRecord);\n log('save:', newRecord);\n}\n\nexport async function remove(faceRecord: FaceRecord) {\n if (!db) await open(); // open or create if not already done\n db.transaction([table], 'readwrite').objectStore(table).delete(faceRecord.id); // delete based on id\n log('delete:', faceRecord);\n}\n"], - "mappings": ";;;;;;AASA,UAAYA,MAAO,0BCTnB,IAAIC,EAEEC,EAAW,QACXC,EAAQ,SAIRC,EAAM,IAAIC,IAAQ,QAAQ,IAAI,UAAW,GAAGA,CAAG,EAErD,eAAsBC,GAAO,CAC3B,OAAIL,EAAW,GACR,IAAI,QAASM,GAAY,CAC9B,IAAMC,EAA4B,UAAU,KAAKN,EAAU,CAAC,EAC5DM,EAAQ,QAAWC,GAAQL,EAAI,SAAUK,CAAG,EAC5CD,EAAQ,gBAAmBC,GAA+B,CACxDL,EAAI,UAAWK,EAAI,MAAM,EACzBR,EAAMQ,EAAI,OAA4B,OACtCR,EAAG,kBAAkBE,EAAO,CAAE,QAAS,KAAM,cAAe,EAAK,CAAC,CACpE,EACAK,EAAQ,UAAaC,GAAQ,CAC3BR,EAAMQ,EAAI,OAA4B,OACtCL,EAAI,QAASH,CAAE,EACfM,EAAQ,EAAI,CACd,CACF,CAAC,CACH,CAEA,eAAsBG,GAA8B,CAClD,IAAMC,EAAuB,CAAC,EAC9B,OAAKV,GAAI,MAAMK,EAAK,EACb,IAAI,QAASC,GAAY,CAC9B,IAAMK,EAAqBX,EAAG,YAAY,CAACE,CAAK,EAAG,WAAW,EAAE,YAAYA,CAAK,EAAE,WAAW,KAAM,MAAM,EAC1GS,EAAO,QAAWH,GAAQL,EAAI,cAAeK,CAAG,EAChDG,EAAO,UAAaH,GAAQ,CACrBA,EAAI,OAAsB,QAC7BE,EAAO,KAAMF,EAAI,OAAsB,OAAO,KAAK,EAClDA,EAAI,OAAsB,OAAO,SAAS,GAE3CF,EAAQI,CAAM,CAElB,CACF,CAAC,CACH,CAEA,eAAsBE,GAAyB,CAC7C,OAAKZ,GAAI,MAAMK,EAAK,EACb,IAAI,QAASC,GAAY,CAC9B,IAAMO,EAAoBb,EAAG,YAAY,CAACE,CAAK,EAAG,WAAW,EAAE,YAAYA,CAAK,EAAE,MAAM,EACxFW,EAAM,QAAWL,GAAQL,EAAI,eAAgBK,CAAG,EAChDK,EAAM,UAAY,IAAMP,EAAQO,EAAM,MAAM,CAC9C,CAAC,CACH,CAEA,eAAsBC,EAAKC,EAAwB,CAC5Cf,GAAI,MAAMK,EAAK,EACpB,IAAMW,EAAY,CAAE,KAAMD,EAAW,KAAM,WAAYA,EAAW,WAAY,MAAOA,EAAW,KAAM,EACtGf,EAAG,YAAY,CAACE,CAAK,EAAG,WAAW,EAAE,YAAYA,CAAK,EAAE,IAAIc,CAAS,EACrEb,EAAI,QAASa,CAAS,CACxB,CAEA,eAAsBC,EAAOF,EAAwB,CAC9Cf,GAAI,MAAMK,EAAK,EACpBL,EAAG,YAAY,CAACE,CAAK,EAAG,WAAW,EAAE,YAAYA,CAAK,EAAE,OAAOa,EAAW,EAAE,EAC5EZ,EAAI,UAAWY,CAAU,CAC3B,CDpDA,IAAMG,EAAc,CAClB,cAAe,eACf,OAAQ,CAAE,aAAc,EAAK,EAC7B,KAAM,CACJ,QAAS,GACT,SAAU,CAAE,SAAU,GAAM,OAAQ,GAAM,WAAY,IAAK,KAAM,EAAM,EACvE,YAAa,CAAE,QAAS,EAAK,EAG7B,KAAM,CAAE,QAAS,EAAK,EACtB,QAAS,CAAE,QAAS,EAAM,EAC1B,UAAW,CAAE,QAAS,EAAK,EAC3B,SAAU,CAAE,QAAS,EAAK,CAC5B,EACA,KAAM,CAAE,QAAS,EAAM,EACvB,KAAM,CAAE,QAAS,EAAM,EACvB,OAAQ,CAAE,QAAS,EAAM,EACzB,QAAS,CAAE,QAAS,EAAK,CAC3B,EAGMC,EAAe,CAAE,MAAO,EAAG,WAAY,GAAI,IAAK,GAAK,IAAK,EAAI,EAE9DC,EAAU,CACd,cAAe,GACf,QAAS,IACT,QAAS,IACT,SAAU,GACV,SAAU,IACV,UAAW,GACX,KAAMF,EAAY,KAAK,SAAS,KAChC,SAAUA,EAAY,KAAK,SAAS,SACpC,WAAYA,EAAY,KAAK,SAAS,WACtC,GAAGC,CACL,EAEME,EAAK,CACT,UAAW,GACX,eAAgB,GAChB,aAAc,GACd,cAAe,GACf,cAAe,GACf,SAAU,GACV,eAAgB,GAChB,cAAe,GACf,UAAW,CACb,EACMC,EAAQ,IAAMD,EAAG,WAAaA,EAAG,UAAYA,EAAG,eAAiBA,EAAG,cAAgBA,EAAG,eAAiBA,EAAG,gBAAkBA,EAAG,gBAAkBA,EAAG,cACrJE,EAA4E,CAAE,KAAM,KAAM,OAAQ,IAAK,EAEvGC,EAAQ,CACZ,MAAO,EACP,IAAK,EACL,KAAM,CACR,EAGMC,EAAQ,IAAM,QAAMP,CAAW,EAErCO,EAAM,IAAI,QAAU,GACpBA,EAAM,KAAK,QAAQ,KAAO,yBAC1BA,EAAM,KAAK,QAAQ,WAAa,GAEhC,IAAMC,EAAM,CACV,MAAO,SAAS,eAAe,OAAO,EACtC,OAAQ,SAAS,eAAe,QAAQ,EACxC,IAAK,SAAS,eAAe,KAAK,EAClC,IAAK,SAAS,eAAe,KAAK,EAClC,MAAO,SAAS,eAAe,OAAO,EACtC,KAAM,SAAS,eAAe,MAAM,EACpC,KAAM,SAAS,eAAe,MAAM,EACpC,OAAQ,SAAS,eAAe,QAAQ,EACxC,MAAO,SAAS,eAAe,OAAO,EACtC,OAAQ,SAAS,eAAe,QAAQ,EACxC,GAAI,SAAS,eAAe,IAAI,CAClC,EACMC,EAAY,CAAE,OAAQ,EAAG,KAAM,CAAE,EACjCC,EAAM,CAAE,OAAQ,EAAG,KAAM,CAAE,EAC7BC,EAAY,EAEVC,EAAM,IAAIC,IAAQ,CACtBL,EAAI,IAAI,WAAaK,EAAI,KAAK,GAAG,EAAI;AAAA,EACrC,QAAQ,IAAI,GAAGA,CAAG,CACpB,EACMC,EAAYD,GAAQL,EAAI,IAAI,UAAYK,EAE9C,eAAeE,GAAS,CACtBD,EAAS,oBAAoB,EAE7B,IAAME,EAAwC,CAAE,MAAO,GAAO,MAAO,CAAE,WAAY,OAAQ,WAAY,OAAQ,MAAO,CAAE,MAAO,SAAS,KAAK,WAAY,CAAE,CAAE,EACvJC,EAAsB,MAAM,UAAU,aAAa,aAAaD,CAAa,EAC7EE,EAAQ,IAAI,QAASC,GAAY,CAAEX,EAAI,MAAM,aAAe,IAAMW,EAAQ,EAAI,CAAG,CAAC,EACxFX,EAAI,MAAM,UAAYS,EACjBT,EAAI,MAAM,KAAK,EACpB,MAAMU,EACNV,EAAI,OAAO,MAAQA,EAAI,MAAM,WAC7BA,EAAI,OAAO,OAASA,EAAI,MAAM,YAC1BD,EAAM,IAAI,SAASK,EAAI,SAAUJ,EAAI,MAAM,WAAYA,EAAI,MAAM,YAAa,IAAKS,EAAO,eAAe,EAAE,GAAG,KAAK,EACvHT,EAAI,OAAO,QAAU,IAAM,CACrBA,EAAI,MAAM,OAAaA,EAAI,MAAM,KAAK,EACrCA,EAAI,MAAM,MAAM,CACvB,CACF,CAEA,eAAeY,GAAgB,CApH/B,IAAAC,EAqHE,GAAI,CAACb,EAAI,MAAM,OAAQ,EACjBa,EAAAhB,EAAQ,OAAR,MAAAgB,EAAc,QAAQd,EAAM,GAAG,QAAQF,EAAQ,KAAK,MAAM,EAC9D,MAAME,EAAM,OAAOC,EAAI,KAAK,EAC5B,IAAMc,EAAMf,EAAM,IAAI,EACtBG,EAAI,OAAS,KAAQY,EAAMb,EAAU,QACrCA,EAAU,OAASa,EACnB,sBAAsBF,CAAa,CACrC,CACF,CAEA,eAAeG,GAAwC,CACrD,IAAMC,EAAejB,EAAM,KAAKA,EAAM,MAAM,EAC5CA,EAAM,KAAK,OAAOC,EAAI,MAAOA,EAAI,MAAM,EACvC,MAAMD,EAAM,KAAK,IAAIC,EAAI,OAAQgB,CAAY,EAC7C,IAAMF,EAAMf,EAAM,IAAI,EAKtB,GAJAG,EAAI,KAAO,KAAQY,EAAMb,EAAU,MACnCA,EAAU,KAAOa,EACjBR,EAAS,QAAQJ,EAAI,OAAO,QAAQ,CAAC,EAAE,SAAS,EAAG,GAAG,cAAcA,EAAI,KAAK,QAAQ,CAAC,EAAE,SAAS,EAAG,GAAG,QAAQ,EAC/GP,EAAG,UAAYI,EAAM,OAAO,KAAK,SAAW,EACxCJ,EAAG,UAAW,CAChB,IAAMsB,EAAqB,OAAO,OAAOlB,EAAM,OAAO,OAAO,EAAE,IAAKmB,GAA6BA,EAAQ,OAAO,GAC5GD,EAAS,SAAS,gBAAgB,GAAKA,EAAS,SAAS,iBAAiB,KAAGnB,EAAM,MAAQC,EAAM,IAAI,GACrGD,EAAM,MAAQ,GAAK,CAACmB,EAAS,SAAS,gBAAgB,GAAK,CAACA,EAAS,SAAS,iBAAiB,IAAGnB,EAAM,IAAMC,EAAM,IAAI,GAC5HJ,EAAG,cAAgBA,EAAG,eAAkB,KAAK,IAAIG,EAAM,IAAMA,EAAM,KAAK,EAAIJ,EAAQ,UAAY,KAAK,IAAII,EAAM,IAAMA,EAAM,KAAK,EAAIJ,EAAQ,SACxIC,EAAG,eAAiBG,EAAM,OAAS,IAAGA,EAAM,KAAO,KAAK,MAAMA,EAAM,IAAMA,EAAM,KAAK,GACzFH,EAAG,aAAesB,EAAS,SAAS,eAAe,EACnDtB,EAAG,cAAgBsB,EAAS,SAAS,gBAAgB,EACrDtB,EAAG,gBAAkBI,EAAM,OAAO,KAAK,GAAG,UAAY,GAAKL,EAAQ,gBAAkBK,EAAM,OAAO,KAAK,GAAG,WAAa,GAAKL,EAAQ,cACpIC,EAAG,gBAAkBI,EAAM,OAAO,KAAK,GAAG,MAAQ,GAAKL,EAAQ,cAC/DC,EAAG,eAAiBI,EAAM,OAAO,KAAK,GAAG,MAAQ,GAAKL,EAAQ,cAC9DC,EAAG,SAAWI,EAAM,OAAO,KAAK,GAAG,IAAI,IAAML,EAAQ,SAAWK,EAAM,OAAO,KAAK,GAAG,IAAI,IAAML,EAAQ,OACzG,CACA,IAAIyB,EAAI,GACR,OAAW,CAACC,EAAKC,CAAG,IAAK,OAAO,QAAQ1B,CAAE,EAAG,CAC3C,IAAI2B,EAAK,SAAS,eAAe,MAAMF,GAAK,EACvCE,IACHA,EAAK,SAAS,cAAc,KAAK,EACjCA,EAAG,UAAYF,EACfE,EAAG,UAAY,KACfA,EAAG,MAAM,IAAM,GAAGH,MAClBnB,EAAI,GAAG,YAAYsB,CAAE,GAEnB,OAAOD,GAAQ,UAAWC,EAAG,MAAM,gBAAkBD,EAAM,aAAe,aACzEC,EAAG,UAAY,GAAGF,KAAOC,IAC9BF,GAAK,EACP,CAKA,OAJIvB,EAAM,GAIND,EAAG,UAAYD,EAAQ,SACzBM,EAAI,MAAM,MAAM,EACTD,EAAM,OAAO,KAAK,KAG3BJ,EAAG,UAAY,KAAK,MAAMI,EAAM,IAAI,EAAII,CAAS,EAC1C,IAAI,QAASQ,GAAY,CAC9B,WAAW,SAAY,CACrB,MAAMI,EAAe,EACrBJ,EAAQZ,EAAM,OAAO,KAAK,EAAE,CAC9B,EAAG,EAAE,CACP,CAAC,EACH,CAEA,eAAewB,GAAc,CArL7B,IAAAV,EAAAW,EAAAC,EAAAC,EAsLE,GAAI1B,EAAI,KAAK,MAAM,OAAS,EAAG,CAC7B,IAAM2B,GAAQd,EAAAb,EAAI,OAAO,WAAW,IAAI,IAA1B,YAAAa,EAA6B,aAAa,EAAG,EAAGb,EAAI,OAAO,MAAOA,EAAI,OAAO,QACrF4B,EAAM,CAAE,GAAI,EAAG,KAAM5B,EAAI,KAAK,MAAO,YAAYwB,EAAA3B,EAAQ,OAAR,YAAA2B,EAAc,UAAuB,MAAAG,CAAM,EAClG,MAAcE,EAAKD,CAAG,EACtBxB,EAAI,qBAAsBwB,EAAI,KAAM,sBAAsBF,GAAAD,EAAA5B,EAAQ,OAAR,YAAA4B,EAAc,YAAd,YAAAC,EAAyB,MAAM,EACzFtB,EAAI,sBAAuB,MAAc0B,EAAM,CAAC,CAClD,MACE1B,EAAI,cAAc,CAEtB,CAEA,eAAe2B,GAAe,CACxBlC,EAAQ,QAAUA,EAAQ,OAAO,GAAK,GACxC,MAAcmC,EAAOnC,EAAQ,MAAM,CAEvC,CAEA,eAAeoC,GAAa,CAvM5B,IAAApB,EAAAW,EAAAC,EAAAC,EAyME,IADAb,EAAAb,EAAI,OAAO,WAAW,IAAI,IAA1B,MAAAa,EAA6B,UAAU,EAAG,EAAGnB,EAAQ,QAASA,EAAQ,SAClE,GAAC8B,EAAA3B,GAAA,YAAAA,EAAS,OAAT,MAAA2B,EAAe,SAAU,GAACC,EAAA5B,GAAA,YAAAA,EAAS,OAAT,MAAA4B,EAAe,WAAW,MAAO,GAGhE,GAFA,QAAQ,IAAI,eAAgB5B,EAAQ,IAAI,EACxCE,EAAM,GAAG,QAAQ,SAASF,EAAQ,KAAK,OAAmCG,EAAI,MAAM,EAChF,MAAc8B,EAAM,IAAM,EAC5B,OAAA1B,EAAI,wBAAwB,EAC5B,SAAS,KAAK,MAAM,WAAa,QACjCJ,EAAI,OAAO,MAAM,QAAU,OACpB,GAET,IAAMkC,EAAK,MAAcC,EAAK,EACxBC,EAAcF,EAAG,IAAKN,GAAQA,EAAI,UAAU,EAAE,OAAQS,GAASA,EAAK,OAAS,CAAC,EAC9EC,EAAMvC,EAAM,MAAMF,EAAQ,KAAK,UAAWuC,EAAa3C,CAAY,EACzE,OAAAI,EAAQ,OAASqC,EAAGI,EAAI,QAAU,KAC9BzC,EAAQ,SACVO,EAAI,eAAeP,EAAQ,OAAO,cAAcA,EAAQ,OAAO,oBAAoB,KAAK,MAAM,IAAOyC,EAAI,UAAU,EAAI,KAAK,EAC5HtC,EAAI,KAAK,MAAQH,EAAQ,OAAO,KAChCG,EAAI,OAAO,MAAM,QAAU,IAC3B0B,EAAA1B,EAAI,OAAO,WAAW,IAAI,IAA1B,MAAA0B,EAA6B,aAAa7B,EAAQ,OAAO,MAAO,EAAG,IAErE,SAAS,KAAK,MAAM,WAAayC,EAAI,WAAa5C,EAAQ,UAAY,YAAc,SAC7E4C,EAAI,WAAa5C,EAAQ,SAClC,CAEA,eAAe6C,GAAO,CAhOtB,IAAA1B,EAAAW,EA0PE,OAzBA7B,EAAG,UAAY,GACfA,EAAG,eAAiB,GACpBA,EAAG,aAAe,GAClBA,EAAG,cAAgB,GACnBA,EAAG,SAAW,GACdA,EAAG,eAAiB,GACpBA,EAAG,cAAgB,GACnBA,EAAG,UAAY,EACfK,EAAI,MAAM,MAAM,QAAU,OAC1BA,EAAI,MAAM,MAAM,QAAU,OAC1BA,EAAI,OAAO,MAAM,QAAU,OAC3B,SAAS,KAAK,MAAM,WAAa,QACjC,MAAMO,EAAO,EACb,MAAMK,EAAc,EACpBT,EAAYJ,EAAM,IAAI,EACtBF,EAAQ,KAAO,MAAMkB,EAAe,EACpCf,EAAI,OAAO,QAAQa,EAAAhB,EAAQ,KAAK,SAAb,YAAAgB,EAAqB,MAAM,KAAMnB,EAAQ,QAC5DM,EAAI,OAAO,SAASwB,EAAA3B,EAAQ,KAAK,SAAb,YAAA2B,EAAqB,MAAM,KAAM9B,EAAQ,QAC7DM,EAAI,OAAO,MAAQA,EAAI,OAAO,MAC9BA,EAAI,OAAO,OAASA,EAAI,OAAO,OAC/BA,EAAI,OAAO,MAAM,MAAQ,GACzBA,EAAI,MAAM,MAAM,QAAU,OAC1BA,EAAI,KAAK,MAAM,QAAU,OACzBA,EAAI,OAAO,MAAM,QAAU,OAC3BA,EAAI,MAAM,MAAM,QAAU,QACrBJ,EAAM,EAIJqC,EAAW,GAHhB7B,EAAI,yBAAyB,EACtB,GAGX,CAEA,eAAeoC,GAAO,CAjQtB,IAAA3B,EAAAW,EAkQEpB,EAAI,iBAAkBL,EAAM,QAAS,kBAAmBA,EAAM,GAAG,QAAQ,YAAY,EACrFK,EAAI,wBAAyBZ,EAAY,KAAK,YAAY,QAAU,UAAY,IAAIqB,EAAArB,EAAY,KAAK,gBAAjB,MAAAqB,EAAmC,QAAU,gBAAkB,IAAIW,EAAAhC,EAAY,KAAK,cAAjB,MAAAgC,EAAiC,QAAU,cAAgB,EAAE,EACpNpB,EAAI,WAAY,KAAK,UAAUV,CAAO,EAAE,QAAQ,eAAgB,EAAE,EAAE,QAAQ,KAAM,GAAG,CAAC,EACtFY,EAAS,YAAY,EACrBF,EAAI,sBAAuB,MAAc0B,EAAM,CAAC,EAChD,MAAMvB,EAAO,EACb,MAAMR,EAAM,KAAK,EACjBO,EAAS,iBAAiB,EAC1BN,EAAI,MAAM,iBAAiB,QAASuC,CAAI,EACxCvC,EAAI,KAAK,iBAAiB,QAASuB,CAAW,EAC9CvB,EAAI,OAAO,iBAAiB,QAAS+B,CAAY,EACjD,MAAMhC,EAAM,OAAO,EACnB,MAAMwC,EAAK,CACb,CAEA,OAAO,OAASC", - "names": ["H", "db", "database", "table", "log", "msg", "open", "resolve", "request", "evt", "load", "faceDB", "cursor", "count", "store", "save", "faceRecord", "newRecord", "remove", "humanConfig", "matchOptions", "options", "ok", "allOk", "current", "blink", "human", "dom", "timestamp", "fps", "startTime", "log", "msg", "printFPS", "webCam", "cameraOptions", "stream", "ready", "resolve", "detectionLoop", "_a", "now", "validationLoop", "interpolated", "gestures", "gesture", "y", "key", "val", "el", "saveRecords", "_b", "_c", "_d", "image", "rec", "save", "count", "deleteRecord", "remove", "detectFace", "db", "load", "descriptors", "desc", "res", "main", "init"] + "mappings": ";;;;;;;;AASA,YAAY,OAAO;;;ACTnB,IAAI;AAEJ,IAAM,WAAW;AACjB,IAAM,QAAQ;AAId,IAAM,MAAM,IAAI,QAAQ,QAAQ,IAAI,WAAW,GAAG,GAAG;AAErD,eAAsB,OAAO;AAC3B,MAAI;AAAI,WAAO;AACf,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,UAA4B,UAAU,KAAK,UAAU,CAAC;AAC5D,YAAQ,UAAU,CAAC,QAAQ,IAAI,UAAU,GAAG;AAC5C,YAAQ,kBAAkB,CAAC,QAA+B;AACxD,UAAI,WAAW,IAAI,MAAM;AACzB,WAAM,IAAI,OAA4B;AACtC,SAAG,kBAAkB,OAAO,EAAE,SAAS,MAAM,eAAe,KAAK,CAAC;AAAA,IACpE;AACA,YAAQ,YAAY,CAAC,QAAQ;AAC3B,WAAM,IAAI,OAA4B;AACtC,UAAI,SAAS,EAAE;AACf,cAAQ,IAAI;AAAA,IACd;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,OAA8B;AAClD,QAAM,SAAuB,CAAC;AAC9B,MAAI,CAAC;AAAI,UAAM,KAAK;AACpB,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,SAAqB,GAAG,YAAY,CAAC,KAAK,GAAG,WAAW,EAAE,YAAY,KAAK,EAAE,WAAW,MAAM,MAAM;AAC1G,WAAO,UAAU,CAAC,QAAQ,IAAI,eAAe,GAAG;AAChD,WAAO,YAAY,CAAC,QAAQ;AAC1B,UAAK,IAAI,OAAsB,QAAQ;AACrC,eAAO,KAAM,IAAI,OAAsB,OAAO,KAAK;AACnD,QAAC,IAAI,OAAsB,OAAO,SAAS;AAAA,MAC7C,OAAO;AACL,gBAAQ,MAAM;AAAA,MAChB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,QAAyB;AAC7C,MAAI,CAAC;AAAI,UAAM,KAAK;AACpB,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,QAAoB,GAAG,YAAY,CAAC,KAAK,GAAG,WAAW,EAAE,YAAY,KAAK,EAAE,MAAM;AACxF,UAAM,UAAU,CAAC,QAAQ,IAAI,gBAAgB,GAAG;AAChD,UAAM,YAAY,MAAM,QAAQ,MAAM,MAAM;AAAA,EAC9C,CAAC;AACH;AAEA,eAAsB,KAAK,YAAwB;AACjD,MAAI,CAAC;AAAI,UAAM,KAAK;AACpB,QAAM,YAAY,EAAE,MAAM,WAAW,MAAM,YAAY,WAAW,YAAY,OAAO,WAAW,MAAM;AACtG,KAAG,YAAY,CAAC,KAAK,GAAG,WAAW,EAAE,YAAY,KAAK,EAAE,IAAI,SAAS;AACrE,MAAI,SAAS,SAAS;AACxB;AAEA,eAAsB,OAAO,YAAwB;AACnD,MAAI,CAAC;AAAI,UAAM,KAAK;AACpB,KAAG,YAAY,CAAC,KAAK,GAAG,WAAW,EAAE,YAAY,KAAK,EAAE,OAAO,WAAW,EAAE;AAC5E,MAAI,WAAW,UAAU;AAC3B;;;ADpDA,IAAM,cAAc;AAAA,EAClB,eAAe;AAAA,EACf,QAAQ,EAAE,cAAc,KAAK;AAAA,EAC7B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,UAAU,EAAE,UAAU,MAAM,QAAQ,MAAM,YAAY,KAAK,MAAM,MAAM;AAAA,IACvE,aAAa,EAAE,SAAS,KAAK;AAAA,IAG7B,MAAM,EAAE,SAAS,KAAK;AAAA,IACtB,SAAS,EAAE,SAAS,MAAM;AAAA,IAC1B,WAAW,EAAE,SAAS,KAAK;AAAA,IAC3B,UAAU,EAAE,SAAS,KAAK;AAAA,EAC5B;AAAA,EACA,MAAM,EAAE,SAAS,MAAM;AAAA,EACvB,MAAM,EAAE,SAAS,MAAM;AAAA,EACvB,QAAQ,EAAE,SAAS,MAAM;AAAA,EACzB,SAAS,EAAE,SAAS,KAAK;AAC3B;AAGA,IAAM,eAAe,EAAE,OAAO,GAAG,YAAY,IAAI,KAAK,KAAK,KAAK,IAAI;AAEpE,IAAM,UAAU;AAAA,EACd,eAAe;AAAA,EACf,SAAS;AAAA,EACT,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM,YAAY,KAAK,SAAS;AAAA,EAChC,UAAU,YAAY,KAAK,SAAS;AAAA,EACpC,YAAY,YAAY,KAAK,SAAS;AAAA,EACtC,GAAG;AACL;AAEA,IAAM,KAAK;AAAA,EACT,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,eAAe;AAAA,EACf,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,WAAW;AACb;AACA,IAAM,QAAQ,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG;AAC3J,IAAM,UAA4E,EAAE,MAAM,MAAM,QAAQ,KAAK;AAE7G,IAAM,QAAQ;AAAA,EACZ,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;AAGA,IAAM,QAAQ,IAAM,QAAM,WAAW;AAErC,MAAM,IAAI,UAAU;AACpB,MAAM,KAAK,QAAQ,OAAO;AAC1B,MAAM,KAAK,QAAQ,aAAa;AAEhC,IAAM,MAAM;AAAA,EACV,OAAO,SAAS,eAAe,OAAO;AAAA,EACtC,QAAQ,SAAS,eAAe,QAAQ;AAAA,EACxC,KAAK,SAAS,eAAe,KAAK;AAAA,EAClC,KAAK,SAAS,eAAe,KAAK;AAAA,EAClC,OAAO,SAAS,eAAe,OAAO;AAAA,EACtC,MAAM,SAAS,eAAe,MAAM;AAAA,EACpC,MAAM,SAAS,eAAe,MAAM;AAAA,EACpC,QAAQ,SAAS,eAAe,QAAQ;AAAA,EACxC,OAAO,SAAS,eAAe,OAAO;AAAA,EACtC,QAAQ,SAAS,eAAe,QAAQ;AAAA,EACxC,IAAI,SAAS,eAAe,IAAI;AAClC;AACA,IAAM,YAAY,EAAE,QAAQ,GAAG,MAAM,EAAE;AACvC,IAAM,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE;AACjC,IAAI,YAAY;AAEhB,IAAMA,OAAM,IAAI,QAAQ;AACtB,MAAI,IAAI,aAAa,IAAI,KAAK,GAAG,IAAI;AACrC,UAAQ,IAAI,GAAG,GAAG;AACpB;AACA,IAAM,WAAW,CAAC,QAAQ,IAAI,IAAI,YAAY;AAE9C,eAAe,SAAS;AACtB,WAAS,oBAAoB;AAE7B,QAAM,gBAAwC,EAAE,OAAO,OAAO,OAAO,EAAE,YAAY,QAAQ,YAAY,QAAQ,OAAO,EAAE,OAAO,SAAS,KAAK,YAAY,EAAE,EAAE;AAC7J,QAAM,SAAsB,MAAM,UAAU,aAAa,aAAa,aAAa;AACnF,QAAM,QAAQ,IAAI,QAAQ,CAAC,YAAY;AAAE,QAAI,MAAM,eAAe,MAAM,QAAQ,IAAI;AAAA,EAAG,CAAC;AACxF,MAAI,MAAM,YAAY;AACtB,OAAK,IAAI,MAAM,KAAK;AACpB,QAAM;AACN,MAAI,OAAO,QAAQ,IAAI,MAAM;AAC7B,MAAI,OAAO,SAAS,IAAI,MAAM;AAC9B,MAAI,MAAM,IAAI;AAAS,IAAAA,KAAI,UAAU,IAAI,MAAM,YAAY,IAAI,MAAM,aAAa,KAAK,OAAO,eAAe,EAAE,GAAG,KAAK;AACvH,MAAI,OAAO,UAAU,MAAM;AACzB,QAAI,IAAI,MAAM;AAAQ,WAAK,IAAI,MAAM,KAAK;AAAA;AACrC,UAAI,MAAM,MAAM;AAAA,EACvB;AACF;AAEA,eAAe,gBAAgB;AApH/B;AAqHE,MAAI,CAAC,IAAI,MAAM,QAAQ;AACrB,SAAI,aAAQ,SAAR,mBAAc;AAAQ,YAAM,GAAG,QAAQ,QAAQ,KAAK,MAAM;AAC9D,UAAM,MAAM,OAAO,IAAI,KAAK;AAC5B,UAAM,MAAM,MAAM,IAAI;AACtB,QAAI,SAAS,OAAQ,MAAM,UAAU;AACrC,cAAU,SAAS;AACnB,0BAAsB,aAAa;AAAA,EACrC;AACF;AAEA,eAAe,iBAAwC;AACrD,QAAM,eAAe,MAAM,KAAK,MAAM,MAAM;AAC5C,QAAM,KAAK,OAAO,IAAI,OAAO,IAAI,MAAM;AACvC,QAAM,MAAM,KAAK,IAAI,IAAI,QAAQ,YAAY;AAC7C,QAAM,MAAM,MAAM,IAAI;AACtB,MAAI,OAAO,OAAQ,MAAM,UAAU;AACnC,YAAU,OAAO;AACjB,WAAS,QAAQ,IAAI,OAAO,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,cAAc,IAAI,KAAK,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,QAAQ;AAC/G,KAAG,YAAY,MAAM,OAAO,KAAK,WAAW;AAC5C,MAAI,GAAG,WAAW;AAChB,UAAM,WAAqB,OAAO,OAAO,MAAM,OAAO,OAAO,EAAE,IAAI,CAAC,YAA6B,QAAQ,OAAO;AAChH,QAAI,SAAS,SAAS,gBAAgB,KAAK,SAAS,SAAS,iBAAiB;AAAG,YAAM,QAAQ,MAAM,IAAI;AACzG,QAAI,MAAM,QAAQ,KAAK,CAAC,SAAS,SAAS,gBAAgB,KAAK,CAAC,SAAS,SAAS,iBAAiB;AAAG,YAAM,MAAM,MAAM,IAAI;AAC5H,OAAG,gBAAgB,GAAG,iBAAkB,KAAK,IAAI,MAAM,MAAM,MAAM,KAAK,IAAI,QAAQ,YAAY,KAAK,IAAI,MAAM,MAAM,MAAM,KAAK,IAAI,QAAQ;AAC5I,QAAI,GAAG,iBAAiB,MAAM,SAAS;AAAG,YAAM,OAAO,KAAK,MAAM,MAAM,MAAM,MAAM,KAAK;AACzF,OAAG,eAAe,SAAS,SAAS,eAAe;AACnD,OAAG,gBAAgB,SAAS,SAAS,gBAAgB;AACrD,OAAG,kBAAkB,MAAM,OAAO,KAAK,GAAG,YAAY,KAAK,QAAQ,kBAAkB,MAAM,OAAO,KAAK,GAAG,aAAa,KAAK,QAAQ;AACpI,OAAG,kBAAkB,MAAM,OAAO,KAAK,GAAG,QAAQ,KAAK,QAAQ;AAC/D,OAAG,iBAAiB,MAAM,OAAO,KAAK,GAAG,QAAQ,KAAK,QAAQ;AAC9D,OAAG,WAAW,MAAM,OAAO,KAAK,GAAG,IAAI,MAAM,QAAQ,WAAW,MAAM,OAAO,KAAK,GAAG,IAAI,MAAM,QAAQ;AAAA,EACzG;AACA,MAAI,IAAI;AACR,aAAW,CAAC,KAAK,GAAG,KAAK,OAAO,QAAQ,EAAE,GAAG;AAC3C,QAAI,KAAK,SAAS,eAAe,MAAM,KAAK;AAC5C,QAAI,CAAC,IAAI;AACP,WAAK,SAAS,cAAc,KAAK;AACjC,SAAG,YAAY;AACf,SAAG,YAAY;AACf,SAAG,MAAM,MAAM,GAAG;AAClB,UAAI,GAAG,YAAY,EAAE;AAAA,IACvB;AACA,QAAI,OAAO,QAAQ;AAAW,SAAG,MAAM,kBAAkB,MAAM,eAAe;AAAA;AACzE,SAAG,YAAY,GAAG,OAAO;AAC9B,SAAK;AAAA,EACP;AACA,MAAI,MAAM,GAAG;AACX,QAAI,MAAM,MAAM;AAChB,WAAO,MAAM,OAAO,KAAK;AAAA,EAC3B;AACA,MAAI,GAAG,YAAY,QAAQ,SAAS;AAClC,QAAI,MAAM,MAAM;AAChB,WAAO,MAAM,OAAO,KAAK;AAAA,EAC3B;AAEA,KAAG,YAAY,KAAK,MAAM,MAAM,IAAI,IAAI,SAAS;AACjD,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAW,YAAY;AACrB,YAAM,eAAe;AACrB,cAAQ,MAAM,OAAO,KAAK,EAAE;AAAA,IAC9B,GAAG,EAAE;AAAA,EACP,CAAC;AACH;AAEA,eAAe,cAAc;AArL7B;AAsLE,MAAI,IAAI,KAAK,MAAM,SAAS,GAAG;AAC7B,UAAM,SAAQ,SAAI,OAAO,WAAW,IAAI,MAA1B,mBAA6B,aAAa,GAAG,GAAG,IAAI,OAAO,OAAO,IAAI,OAAO;AAC3F,UAAM,MAAM,EAAE,IAAI,GAAG,MAAM,IAAI,KAAK,OAAO,aAAY,aAAQ,SAAR,mBAAc,WAAuB,MAAM;AAClG,UAAc,KAAK,GAAG;AACtB,IAAAA,KAAI,sBAAsB,IAAI,MAAM,uBAAsB,mBAAQ,SAAR,mBAAc,cAAd,mBAAyB,MAAM;AACzF,IAAAA,KAAI,uBAAuB,MAAc,MAAM,CAAC;AAAA,EAClD,OAAO;AACL,IAAAA,KAAI,cAAc;AAAA,EACpB;AACF;AAEA,eAAe,eAAe;AAC5B,MAAI,QAAQ,UAAU,QAAQ,OAAO,KAAK,GAAG;AAC3C,UAAc,OAAO,QAAQ,MAAM;AAAA,EACrC;AACF;AAEA,eAAe,aAAa;AAvM5B;AAwME,YAAI,OAAO,WAAW,IAAI,MAA1B,mBAA6B,UAAU,GAAG,GAAG,QAAQ,SAAS,QAAQ;AACtE,MAAI,GAAC,wCAAS,SAAT,mBAAe,WAAU,GAAC,wCAAS,SAAT,mBAAe;AAAW,WAAO;AAChE,UAAQ,IAAI,gBAAgB,QAAQ,IAAI;AACxC,QAAM,GAAG,QAAQ,SAAS,QAAQ,KAAK,QAAmC,IAAI,MAAM;AACpF,MAAI,MAAc,MAAM,MAAM,GAAG;AAC/B,IAAAA,KAAI,wBAAwB;AAC5B,aAAS,KAAK,MAAM,aAAa;AACjC,QAAI,OAAO,MAAM,UAAU;AAC3B,WAAO;AAAA,EACT;AACA,QAAMC,MAAK,MAAc,KAAK;AAC9B,QAAM,cAAcA,IAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AACpF,QAAM,MAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,aAAa,YAAY;AACzE,UAAQ,SAASA,IAAG,IAAI,UAAU;AAClC,MAAI,QAAQ,QAAQ;AAClB,IAAAD,KAAI,eAAe,QAAQ,OAAO,cAAc,QAAQ,OAAO,oBAAoB,KAAK,MAAM,MAAO,IAAI,UAAU,IAAI,KAAK;AAC5H,QAAI,KAAK,QAAQ,QAAQ,OAAO;AAChC,QAAI,OAAO,MAAM,UAAU;AAC3B,cAAI,OAAO,WAAW,IAAI,MAA1B,mBAA6B,aAAa,QAAQ,OAAO,OAAO,GAAG;AAAA,EACrE;AACA,WAAS,KAAK,MAAM,aAAa,IAAI,aAAa,QAAQ,YAAY,cAAc;AACpF,SAAO,IAAI,aAAa,QAAQ;AAClC;AAEA,eAAe,OAAO;AAhOtB;AAiOE,KAAG,YAAY;AACf,KAAG,iBAAiB;AACpB,KAAG,eAAe;AAClB,KAAG,gBAAgB;AACnB,KAAG,WAAW;AACd,KAAG,iBAAiB;AACpB,KAAG,gBAAgB;AACnB,KAAG,YAAY;AACf,MAAI,MAAM,MAAM,UAAU;AAC1B,MAAI,MAAM,MAAM,UAAU;AAC1B,MAAI,OAAO,MAAM,UAAU;AAC3B,WAAS,KAAK,MAAM,aAAa;AACjC,QAAM,OAAO;AACb,QAAM,cAAc;AACpB,cAAY,MAAM,IAAI;AACtB,UAAQ,OAAO,MAAM,eAAe;AACpC,MAAI,OAAO,UAAQ,aAAQ,KAAK,WAAb,mBAAqB,MAAM,OAAM,QAAQ;AAC5D,MAAI,OAAO,WAAS,aAAQ,KAAK,WAAb,mBAAqB,MAAM,OAAM,QAAQ;AAC7D,MAAI,OAAO,QAAQ,IAAI,OAAO;AAC9B,MAAI,OAAO,SAAS,IAAI,OAAO;AAC/B,MAAI,OAAO,MAAM,QAAQ;AACzB,MAAI,MAAM,MAAM,UAAU;AAC1B,MAAI,KAAK,MAAM,UAAU;AACzB,MAAI,OAAO,MAAM,UAAU;AAC3B,MAAI,MAAM,MAAM,UAAU;AAC1B,MAAI,CAAC,MAAM,GAAG;AACZ,IAAAA,KAAI,yBAAyB;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,WAAW;AACpB;AAEA,eAAe,OAAO;AAjQtB;AAkQE,EAAAA,KAAI,kBAAkB,MAAM,SAAS,mBAAmB,MAAM,GAAG,QAAQ,YAAY;AACrF,EAAAA,KAAI,yBAAyB,YAAY,KAAK,YAAY,UAAU,YAAY,MAAI,iBAAY,KAAK,qBAAjB,mBAAmC,WAAU,kBAAkB,MAAI,iBAAY,KAAK,mBAAjB,mBAAiC,WAAU,gBAAgB,EAAE;AACpN,EAAAA,KAAI,YAAY,KAAK,UAAU,OAAO,EAAE,QAAQ,gBAAgB,EAAE,EAAE,QAAQ,MAAM,GAAG,CAAC;AACtF,WAAS,YAAY;AACrB,EAAAA,KAAI,uBAAuB,MAAc,MAAM,CAAC;AAChD,QAAM,OAAO;AACb,QAAM,MAAM,KAAK;AACjB,WAAS,iBAAiB;AAC1B,MAAI,MAAM,iBAAiB,SAAS,IAAI;AACxC,MAAI,KAAK,iBAAiB,SAAS,WAAW;AAC9C,MAAI,OAAO,iBAAiB,SAAS,YAAY;AACjD,QAAM,MAAM,OAAO;AACnB,QAAM,KAAK;AACb;AAEA,OAAO,SAAS;", + "names": ["log", "db"] } diff --git a/demo/typescript/index.js b/demo/typescript/index.js index 1fd213b1..01fd8c38 100644 --- a/demo/typescript/index.js +++ b/demo/typescript/index.js @@ -4,6 +4,109 @@ author: ' */ -import*as c from"../../dist/human.esm.js";var w={async:!1,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 c.Human(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.toString()+" | 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),f=new Promise(p=>{t.video.onloadeddata=()=>p(!0)});t.video.srcObject=d,t.video.play(),await f,t.canvas.width=t.video.videoWidth,t.canvas.height=t.video.videoHeight;let s=d.getVideoTracks()[0],v=s.getCapabilities?s.getCapabilities():"",g=s.getSettings?s.getSettings():"",u=s.getConstraints?s.getConstraints():"";i("video:",t.video.videoWidth,t.video.videoHeight,s.label,{stream:d,track:s,settings:g,constraints:u,capabilities:v}),t.canvas.onclick=()=>{t.video.paused?t.video.play():t.video.pause()}}async function l(){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(l)}async function m(){if(!t.video.paused){let d=e.next(e.result);e.config.filter.flip?e.draw.canvas(d.canvas,t.canvas):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(m,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 l(),await m()}window.onload=M; + +// demo/typescript/index.ts +import * as H 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 H.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.toString() + " | 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; + void 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) + void 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 = human.next(human.result); + if (human.config.filter.flip) + human.draw.canvas(interpolated.canvas, dom.canvas); + else + 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 diff --git a/demo/typescript/index.js.map b/demo/typescript/index.js.map index ca92fb46..8de29dc1 100644 --- a/demo/typescript/index.js.map +++ b/demo/typescript/index.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["index.ts"], "sourcesContent": ["/**\n * Human demo for browsers\n * @default Human Library\n * @summary \n * @author \n * @copyright \n * @license MIT\n */\n\nimport * as H from '../../dist/human.esm.js'; // equivalent of @vladmandic/Human\n\nconst humanConfig: Partial = { // user configuration for human, used to fine-tune behavior\n // backend: 'wasm' as const,\n // wasmPath: 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@3.20.0/dist/',\n // cacheSensitivity: 0,\n async: false,\n modelBasePath: '../../models',\n filter: { enabled: true, equalization: false, flip: false },\n face: { enabled: true, detector: { rotation: false }, mesh: { enabled: true }, attention: { enabled: false }, iris: { enabled: true }, description: { enabled: true }, emotion: { enabled: true } },\n body: { enabled: true },\n hand: { enabled: true },\n object: { enabled: false },\n gesture: { enabled: true },\n};\n\nconst human = new H.Human(humanConfig); // create instance of human with overrides from user configuration\n\nhuman.env.perfadd = false; // is performance data showing instant or total values\nhuman.draw.options.font = 'small-caps 18px \"Lato\"'; // set font used to draw labels when using draw methods\nhuman.draw.options.lineHeight = 20;\n// human.draw.options.fillPolygons = true;\n\nconst dom = { // grab instances of dom objects so we dont have to look them up later\n video: document.getElementById('video') as HTMLVideoElement,\n canvas: document.getElementById('canvas') as HTMLCanvasElement,\n log: document.getElementById('log') as HTMLPreElement,\n fps: document.getElementById('status') as HTMLPreElement,\n perf: document.getElementById('performance') as HTMLDivElement,\n};\nconst timestamp = { detect: 0, draw: 0, tensors: 0, start: 0 }; // holds information used to calculate performance and possible memory leaks\nconst fps = { detectFPS: 0, drawFPS: 0, frames: 0, averageMs: 0 }; // holds calculated fps information for both detect and screen refresh\n\nconst log = (...msg) => { // helper method to output messages\n dom.log.innerText += msg.join(' ') + '\\n';\n console.log(...msg); // eslint-disable-line no-console\n};\nconst status = (msg) => dom.fps.innerText = msg; // print status element\nconst perf = (msg) => dom.perf.innerText = 'tensors:' + (human.tf.memory().numTensors as number).toString() + ' | performance: ' + JSON.stringify(msg).replace(/\"|{|}/g, '').replace(/,/g, ' | '); // print performance element\n\nasync function webCam() { // initialize webcam\n status('starting webcam...');\n // @ts-ignore resizeMode is not yet defined in tslib\n const options: MediaStreamConstraints = { audio: false, video: { facingMode: 'user', resizeMode: 'none', width: { ideal: document.body.clientWidth }, height: { ideal: document.body.clientHeight } } };\n const stream: MediaStream = await navigator.mediaDevices.getUserMedia(options);\n const ready = new Promise((resolve) => { dom.video.onloadeddata = () => resolve(true); });\n dom.video.srcObject = stream;\n void dom.video.play();\n await ready;\n dom.canvas.width = dom.video.videoWidth;\n dom.canvas.height = dom.video.videoHeight;\n const track: MediaStreamTrack = stream.getVideoTracks()[0];\n const capabilities: MediaTrackCapabilities | string = track.getCapabilities ? track.getCapabilities() : '';\n const settings: MediaTrackSettings | string = track.getSettings ? track.getSettings() : '';\n const constraints: MediaTrackConstraints | string = track.getConstraints ? track.getConstraints() : '';\n log('video:', dom.video.videoWidth, dom.video.videoHeight, track.label, { stream, track, settings, constraints, capabilities });\n dom.canvas.onclick = () => { // pause when clicked on screen and resume on next click\n if (dom.video.paused) void dom.video.play();\n else dom.video.pause();\n };\n}\n\nasync function detectionLoop() { // main detection loop\n if (!dom.video.paused) {\n if (timestamp.start === 0) timestamp.start = human.now();\n // log('profiling data:', await human.profile(dom.video));\n await human.detect(dom.video); // actual detection; were not capturing output in a local variable as it can also be reached via human.result\n const tensors = human.tf.memory().numTensors; // check current tensor usage for memory leaks\n if (tensors - timestamp.tensors !== 0) log('allocated tensors:', tensors - timestamp.tensors); // printed on start and each time there is a tensor leak\n timestamp.tensors = tensors;\n fps.detectFPS = Math.round(1000 * 1000 / (human.now() - timestamp.detect)) / 1000;\n fps.frames++;\n fps.averageMs = Math.round(1000 * (human.now() - timestamp.start) / fps.frames) / 1000;\n if (fps.frames % 100 === 0 && !dom.video.paused) log('performance', { ...fps, tensors: timestamp.tensors });\n }\n timestamp.detect = human.now();\n requestAnimationFrame(detectionLoop); // start new frame immediately\n}\n\nasync function drawLoop() { // main screen refresh loop\n if (!dom.video.paused) {\n const interpolated = human.next(human.result); // smoothen result using last-known results\n if (human.config.filter.flip) human.draw.canvas(interpolated.canvas as HTMLCanvasElement, dom.canvas); // draw processed image to screen canvas\n else human.draw.canvas(dom.video, dom.canvas); // draw original video to screen canvas // better than using procesed image as this loop happens faster than processing loop\n await human.draw.all(dom.canvas, interpolated); // draw labels, boxes, lines, etc.\n perf(interpolated.performance); // write performance data\n }\n const now = human.now();\n fps.drawFPS = Math.round(1000 * 1000 / (now - timestamp.draw)) / 1000;\n timestamp.draw = now;\n status(dom.video.paused ? 'paused' : `fps: ${fps.detectFPS.toFixed(1).padStart(5, ' ')} detect | ${fps.drawFPS.toFixed(1).padStart(5, ' ')} draw`); // write status\n setTimeout(drawLoop, 30); // use to slow down refresh from max refresh rate to target of 30 fps\n}\n\nasync function main() { // main entry point\n log('human version:', human.version, '| tfjs version:', human.tf.version['tfjs-core']);\n log('platform:', human.env.platform, '| agent:', human.env.agent);\n status('loading...');\n await human.load(); // preload all models\n log('backend:', human.tf.getBackend(), '| available:', human.env.backends);\n log('models stats:', human.getModelStats());\n log('models loaded:', Object.values(human.models).filter((model) => model !== null).length);\n status('initializing...');\n await human.warmup(); // warmup function to initialize backend for future faster detection\n await webCam(); // start webcam\n await detectionLoop(); // start detection loop\n await drawLoop(); // start draw loop\n}\n\nwindow.onload = main;\n"], - "mappings": ";;;;;;AASA,UAAYA,MAAO,0BAEnB,IAAMC,EAAiC,CAIrC,MAAO,GACP,cAAe,eACf,OAAQ,CAAE,QAAS,GAAM,aAAc,GAAO,KAAM,EAAM,EAC1D,KAAM,CAAE,QAAS,GAAM,SAAU,CAAE,SAAU,EAAM,EAAG,KAAM,CAAE,QAAS,EAAK,EAAG,UAAW,CAAE,QAAS,EAAM,EAAG,KAAM,CAAE,QAAS,EAAK,EAAG,YAAa,CAAE,QAAS,EAAK,EAAG,QAAS,CAAE,QAAS,EAAK,CAAE,EAClM,KAAM,CAAE,QAAS,EAAK,EACtB,KAAM,CAAE,QAAS,EAAK,EACtB,OAAQ,CAAE,QAAS,EAAM,EACzB,QAAS,CAAE,QAAS,EAAK,CAC3B,EAEMC,EAAQ,IAAM,QAAMD,CAAW,EAErCC,EAAM,IAAI,QAAU,GACpBA,EAAM,KAAK,QAAQ,KAAO,yBAC1BA,EAAM,KAAK,QAAQ,WAAa,GAGhC,IAAMC,EAAM,CACV,MAAO,SAAS,eAAe,OAAO,EACtC,OAAQ,SAAS,eAAe,QAAQ,EACxC,IAAK,SAAS,eAAe,KAAK,EAClC,IAAK,SAAS,eAAe,QAAQ,EACrC,KAAM,SAAS,eAAe,aAAa,CAC7C,EACMC,EAAY,CAAE,OAAQ,EAAG,KAAM,EAAG,QAAS,EAAG,MAAO,CAAE,EACvDC,EAAM,CAAE,UAAW,EAAG,QAAS,EAAG,OAAQ,EAAG,UAAW,CAAE,EAE1DC,EAAM,IAAIC,IAAQ,CACtBJ,EAAI,IAAI,WAAaI,EAAI,KAAK,GAAG,EAAI;AAAA,EACrC,QAAQ,IAAI,GAAGA,CAAG,CACpB,EACMC,EAAUD,GAAQJ,EAAI,IAAI,UAAYI,EACtCE,EAAQF,GAAQJ,EAAI,KAAK,UAAY,WAAcD,EAAM,GAAG,OAAO,EAAE,WAAsB,SAAS,EAAI,mBAAqB,KAAK,UAAUK,CAAG,EAAE,QAAQ,SAAU,EAAE,EAAE,QAAQ,KAAM,KAAK,EAEhM,eAAeG,GAAS,CACtBF,EAAO,oBAAoB,EAE3B,IAAMG,EAAkC,CAAE,MAAO,GAAO,MAAO,CAAE,WAAY,OAAQ,WAAY,OAAQ,MAAO,CAAE,MAAO,SAAS,KAAK,WAAY,EAAG,OAAQ,CAAE,MAAO,SAAS,KAAK,YAAa,CAAE,CAAE,EAChMC,EAAsB,MAAM,UAAU,aAAa,aAAaD,CAAO,EACvEE,EAAQ,IAAI,QAASC,GAAY,CAAEX,EAAI,MAAM,aAAe,IAAMW,EAAQ,EAAI,CAAG,CAAC,EACxFX,EAAI,MAAM,UAAYS,EACjBT,EAAI,MAAM,KAAK,EACpB,MAAMU,EACNV,EAAI,OAAO,MAAQA,EAAI,MAAM,WAC7BA,EAAI,OAAO,OAASA,EAAI,MAAM,YAC9B,IAAMY,EAA0BH,EAAO,eAAe,EAAE,GAClDI,EAAgDD,EAAM,gBAAkBA,EAAM,gBAAgB,EAAI,GAClGE,EAAwCF,EAAM,YAAcA,EAAM,YAAY,EAAI,GAClFG,EAA8CH,EAAM,eAAiBA,EAAM,eAAe,EAAI,GACpGT,EAAI,SAAUH,EAAI,MAAM,WAAYA,EAAI,MAAM,YAAaY,EAAM,MAAO,CAAE,OAAAH,EAAQ,MAAAG,EAAO,SAAAE,EAAU,YAAAC,EAAa,aAAAF,CAAa,CAAC,EAC9Hb,EAAI,OAAO,QAAU,IAAM,CACrBA,EAAI,MAAM,OAAaA,EAAI,MAAM,KAAK,EACrCA,EAAI,MAAM,MAAM,CACvB,CACF,CAEA,eAAegB,GAAgB,CAC7B,GAAI,CAAChB,EAAI,MAAM,OAAQ,CACjBC,EAAU,QAAU,IAAGA,EAAU,MAAQF,EAAM,IAAI,GAEvD,MAAMA,EAAM,OAAOC,EAAI,KAAK,EAC5B,IAAMiB,EAAUlB,EAAM,GAAG,OAAO,EAAE,WAC9BkB,EAAUhB,EAAU,UAAY,GAAGE,EAAI,qBAAsBc,EAAUhB,EAAU,OAAO,EAC5FA,EAAU,QAAUgB,EACpBf,EAAI,UAAY,KAAK,MAAM,IAAO,KAAQH,EAAM,IAAI,EAAIE,EAAU,OAAO,EAAI,IAC7EC,EAAI,SACJA,EAAI,UAAY,KAAK,MAAM,KAAQH,EAAM,IAAI,EAAIE,EAAU,OAASC,EAAI,MAAM,EAAI,IAC9EA,EAAI,OAAS,MAAQ,GAAK,CAACF,EAAI,MAAM,QAAQG,EAAI,cAAe,CAAE,GAAGD,EAAK,QAASD,EAAU,OAAQ,CAAC,CAC5G,CACAA,EAAU,OAASF,EAAM,IAAI,EAC7B,sBAAsBiB,CAAa,CACrC,CAEA,eAAeE,GAAW,CACxB,GAAI,CAAClB,EAAI,MAAM,OAAQ,CACrB,IAAMmB,EAAepB,EAAM,KAAKA,EAAM,MAAM,EACxCA,EAAM,OAAO,OAAO,KAAMA,EAAM,KAAK,OAAOoB,EAAa,OAA6BnB,EAAI,MAAM,EAC/FD,EAAM,KAAK,OAAOC,EAAI,MAAOA,EAAI,MAAM,EAC5C,MAAMD,EAAM,KAAK,IAAIC,EAAI,OAAQmB,CAAY,EAC7Cb,EAAKa,EAAa,WAAW,CAC/B,CACA,IAAMC,EAAMrB,EAAM,IAAI,EACtBG,EAAI,QAAU,KAAK,MAAM,IAAO,KAAQkB,EAAMnB,EAAU,KAAK,EAAI,IACjEA,EAAU,KAAOmB,EACjBf,EAAOL,EAAI,MAAM,OAAS,SAAW,QAAQE,EAAI,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAG,GAAG,cAAcA,EAAI,QAAQ,QAAQ,CAAC,EAAE,SAAS,EAAG,GAAG,QAAQ,EACjJ,WAAWgB,EAAU,EAAE,CACzB,CAEA,eAAeG,GAAO,CACpBlB,EAAI,iBAAkBJ,EAAM,QAAS,kBAAmBA,EAAM,GAAG,QAAQ,YAAY,EACrFI,EAAI,YAAaJ,EAAM,IAAI,SAAU,WAAYA,EAAM,IAAI,KAAK,EAChEM,EAAO,YAAY,EACnB,MAAMN,EAAM,KAAK,EACjBI,EAAI,WAAYJ,EAAM,GAAG,WAAW,EAAG,eAAgBA,EAAM,IAAI,QAAQ,EACzEI,EAAI,gBAAiBJ,EAAM,cAAc,CAAC,EAC1CI,EAAI,iBAAkB,OAAO,OAAOJ,EAAM,MAAM,EAAE,OAAQuB,GAAUA,IAAU,IAAI,EAAE,MAAM,EAC1FjB,EAAO,iBAAiB,EACxB,MAAMN,EAAM,OAAO,EACnB,MAAMQ,EAAO,EACb,MAAMS,EAAc,EACpB,MAAME,EAAS,CACjB,CAEA,OAAO,OAASG", - "names": ["H", "humanConfig", "human", "dom", "timestamp", "fps", "log", "msg", "status", "perf", "webCam", "options", "stream", "ready", "resolve", "track", "capabilities", "settings", "constraints", "detectionLoop", "tensors", "drawLoop", "interpolated", "now", "main", "model"] + "mappings": ";;;;;;;;AASA,YAAY,OAAO;AAEnB,IAAM,cAAiC;AAAA,EAIrC,OAAO;AAAA,EACP,eAAe;AAAA,EACf,QAAQ,EAAE,SAAS,MAAM,cAAc,OAAO,MAAM,MAAM;AAAA,EAC1D,MAAM,EAAE,SAAS,MAAM,UAAU,EAAE,UAAU,MAAM,GAAG,MAAM,EAAE,SAAS,KAAK,GAAG,WAAW,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,SAAS,KAAK,GAAG,aAAa,EAAE,SAAS,KAAK,GAAG,SAAS,EAAE,SAAS,KAAK,EAAE;AAAA,EAClM,MAAM,EAAE,SAAS,KAAK;AAAA,EACtB,MAAM,EAAE,SAAS,KAAK;AAAA,EACtB,QAAQ,EAAE,SAAS,MAAM;AAAA,EACzB,SAAS,EAAE,SAAS,KAAK;AAC3B;AAEA,IAAM,QAAQ,IAAM,QAAM,WAAW;AAErC,MAAM,IAAI,UAAU;AACpB,MAAM,KAAK,QAAQ,OAAO;AAC1B,MAAM,KAAK,QAAQ,aAAa;AAGhC,IAAM,MAAM;AAAA,EACV,OAAO,SAAS,eAAe,OAAO;AAAA,EACtC,QAAQ,SAAS,eAAe,QAAQ;AAAA,EACxC,KAAK,SAAS,eAAe,KAAK;AAAA,EAClC,KAAK,SAAS,eAAe,QAAQ;AAAA,EACrC,MAAM,SAAS,eAAe,aAAa;AAC7C;AACA,IAAM,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE;AAC7D,IAAM,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,EAAE;AAEhE,IAAM,MAAM,IAAI,QAAQ;AACtB,MAAI,IAAI,aAAa,IAAI,KAAK,GAAG,IAAI;AACrC,UAAQ,IAAI,GAAG,GAAG;AACpB;AACA,IAAM,SAAS,CAAC,QAAQ,IAAI,IAAI,YAAY;AAC5C,IAAM,OAAO,CAAC,QAAQ,IAAI,KAAK,YAAY,aAAc,MAAM,GAAG,OAAO,EAAE,WAAsB,SAAS,IAAI,qBAAqB,KAAK,UAAU,GAAG,EAAE,QAAQ,UAAU,EAAE,EAAE,QAAQ,MAAM,KAAK;AAEhM,eAAe,SAAS;AACtB,SAAO,oBAAoB;AAE3B,QAAM,UAAkC,EAAE,OAAO,OAAO,OAAO,EAAE,YAAY,QAAQ,YAAY,QAAQ,OAAO,EAAE,OAAO,SAAS,KAAK,YAAY,GAAG,QAAQ,EAAE,OAAO,SAAS,KAAK,aAAa,EAAE,EAAE;AACtM,QAAM,SAAsB,MAAM,UAAU,aAAa,aAAa,OAAO;AAC7E,QAAM,QAAQ,IAAI,QAAQ,CAAC,YAAY;AAAE,QAAI,MAAM,eAAe,MAAM,QAAQ,IAAI;AAAA,EAAG,CAAC;AACxF,MAAI,MAAM,YAAY;AACtB,OAAK,IAAI,MAAM,KAAK;AACpB,QAAM;AACN,MAAI,OAAO,QAAQ,IAAI,MAAM;AAC7B,MAAI,OAAO,SAAS,IAAI,MAAM;AAC9B,QAAM,QAA0B,OAAO,eAAe,EAAE;AACxD,QAAM,eAAgD,MAAM,kBAAkB,MAAM,gBAAgB,IAAI;AACxG,QAAM,WAAwC,MAAM,cAAc,MAAM,YAAY,IAAI;AACxF,QAAM,cAA8C,MAAM,iBAAiB,MAAM,eAAe,IAAI;AACpG,MAAI,UAAU,IAAI,MAAM,YAAY,IAAI,MAAM,aAAa,MAAM,OAAO,EAAE,QAAQ,OAAO,UAAU,aAAa,aAAa,CAAC;AAC9H,MAAI,OAAO,UAAU,MAAM;AACzB,QAAI,IAAI,MAAM;AAAQ,WAAK,IAAI,MAAM,KAAK;AAAA;AACrC,UAAI,MAAM,MAAM;AAAA,EACvB;AACF;AAEA,eAAe,gBAAgB;AAC7B,MAAI,CAAC,IAAI,MAAM,QAAQ;AACrB,QAAI,UAAU,UAAU;AAAG,gBAAU,QAAQ,MAAM,IAAI;AAEvD,UAAM,MAAM,OAAO,IAAI,KAAK;AAC5B,UAAM,UAAU,MAAM,GAAG,OAAO,EAAE;AAClC,QAAI,UAAU,UAAU,YAAY;AAAG,UAAI,sBAAsB,UAAU,UAAU,OAAO;AAC5F,cAAU,UAAU;AACpB,QAAI,YAAY,KAAK,MAAM,MAAO,OAAQ,MAAM,IAAI,IAAI,UAAU,OAAO,IAAI;AAC7E,QAAI;AACJ,QAAI,YAAY,KAAK,MAAM,OAAQ,MAAM,IAAI,IAAI,UAAU,SAAS,IAAI,MAAM,IAAI;AAClF,QAAI,IAAI,SAAS,QAAQ,KAAK,CAAC,IAAI,MAAM;AAAQ,UAAI,eAAe,EAAE,GAAG,KAAK,SAAS,UAAU,QAAQ,CAAC;AAAA,EAC5G;AACA,YAAU,SAAS,MAAM,IAAI;AAC7B,wBAAsB,aAAa;AACrC;AAEA,eAAe,WAAW;AACxB,MAAI,CAAC,IAAI,MAAM,QAAQ;AACrB,UAAM,eAAe,MAAM,KAAK,MAAM,MAAM;AAC5C,QAAI,MAAM,OAAO,OAAO;AAAM,YAAM,KAAK,OAAO,aAAa,QAA6B,IAAI,MAAM;AAAA;AAC/F,YAAM,KAAK,OAAO,IAAI,OAAO,IAAI,MAAM;AAC5C,UAAM,MAAM,KAAK,IAAI,IAAI,QAAQ,YAAY;AAC7C,SAAK,aAAa,WAAW;AAAA,EAC/B;AACA,QAAM,MAAM,MAAM,IAAI;AACtB,MAAI,UAAU,KAAK,MAAM,MAAO,OAAQ,MAAM,UAAU,KAAK,IAAI;AACjE,YAAU,OAAO;AACjB,SAAO,IAAI,MAAM,SAAS,WAAW,QAAQ,IAAI,UAAU,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,cAAc,IAAI,QAAQ,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG,QAAQ;AACjJ,aAAW,UAAU,EAAE;AACzB;AAEA,eAAe,OAAO;AACpB,MAAI,kBAAkB,MAAM,SAAS,mBAAmB,MAAM,GAAG,QAAQ,YAAY;AACrF,MAAI,aAAa,MAAM,IAAI,UAAU,YAAY,MAAM,IAAI,KAAK;AAChE,SAAO,YAAY;AACnB,QAAM,MAAM,KAAK;AACjB,MAAI,YAAY,MAAM,GAAG,WAAW,GAAG,gBAAgB,MAAM,IAAI,QAAQ;AACzE,MAAI,iBAAiB,MAAM,cAAc,CAAC;AAC1C,MAAI,kBAAkB,OAAO,OAAO,MAAM,MAAM,EAAE,OAAO,CAAC,UAAU,UAAU,IAAI,EAAE,MAAM;AAC1F,SAAO,iBAAiB;AACxB,QAAM,MAAM,OAAO;AACnB,QAAM,OAAO;AACb,QAAM,cAAc;AACpB,QAAM,SAAS;AACjB;AAEA,OAAO,SAAS;", + "names": [] } diff --git a/package.json b/package.json index d49f6d6a..00dc5a98 100644 --- a/package.json +++ b/package.json @@ -76,16 +76,16 @@ "@tensorflow/tfjs-node": "^3.20.0", "@tensorflow/tfjs-node-gpu": "^3.20.0", "@tensorflow/tfjs-tflite": "0.0.1-alpha.8", - "@types/node": "^18.7.13", + "@types/node": "^18.7.14", "@types/offscreencanvas": "^2019.7.0", - "@typescript-eslint/eslint-plugin": "^5.35.1", - "@typescript-eslint/parser": "^5.35.1", + "@typescript-eslint/eslint-plugin": "^5.36.0", + "@typescript-eslint/parser": "^5.36.0", "@vladmandic/build": "^0.7.11", "@vladmandic/pilogger": "^0.4.6", "@vladmandic/tfjs": "github:vladmandic/tfjs", "@webgpu/types": "^0.1.21", "canvas": "^2.9.3", - "esbuild": "^0.15.5", + "esbuild": "^0.15.6", "eslint": "8.23.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-html": "^7.1.0", diff --git a/src/body/blazepose.ts b/src/body/blazepose.ts index 11cd988e..52e9fe1e 100644 --- a/src/body/blazepose.ts +++ b/src/body/blazepose.ts @@ -34,7 +34,7 @@ export async function loadDetect(config: Config): Promise { if (env.initial) models.detector = null; if (!models.detector && config.body['detector'] && config.body['detector'].modelPath || '') { models.detector = await loadModel(config.body['detector'].modelPath); - const inputs = Object.values(models.detector.modelSignature['inputs']); + const inputs = models.detector?.['executor'] ? Object.values(models.detector.modelSignature['inputs']) : undefined; inputSize.detector[0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0; inputSize.detector[1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0; } else if (config.debug && models.detector) log('cached model:', models.detector['modelUrl']); @@ -46,7 +46,7 @@ export async function loadPose(config: Config): Promise { if (env.initial) models.landmarks = null; if (!models.landmarks) { models.landmarks = await loadModel(config.body.modelPath); - const inputs = Object.values(models.landmarks.modelSignature['inputs']); + const inputs = models.landmarks?.['executor'] ? Object.values(models.landmarks.modelSignature['inputs']) : undefined; inputSize.landmarks[0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0; inputSize.landmarks[1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0; } else if (config.debug) log('cached model:', models.landmarks['modelUrl']); @@ -140,6 +140,7 @@ async function detectLandmarks(input: Tensor, config: Config, outputSize: [numbe * t.world: 39 keypoints [x,y,z] normalized to -1..1 * t.poseflag: body score */ + if (!models.landmarks?.['executor']) return null; const t: Record = {}; [t.ld/* 1,195(39*5) */, t.segmentation/* 1,256,256,1 */, t.heatmap/* 1,64,64,39 */, t.world/* 1,117(39*3) */, t.poseflag/* 1,1 */] = models.landmarks?.execute(input, outputNodes.landmarks) as Tensor[]; // run model const poseScore = (await t.poseflag.data())[0]; diff --git a/src/body/efficientpose.ts b/src/body/efficientpose.ts index 172b56e6..5680b0d8 100644 --- a/src/body/efficientpose.ts +++ b/src/body/efficientpose.ts @@ -51,6 +51,7 @@ async function max2d(inputs, minScore): Promise<[number, number, number]> { } export async function predict(image: Tensor, config: Config): Promise { + if (!model?.['executor']) return []; const skipTime = (config.body.skipTime || 0) > (now() - lastTime); const skipFrame = skipped < (config.body.skipFrames || 0); if (config.skipAllowed && skipTime && skipFrame && Object.keys(cache.keypoints).length > 0) { diff --git a/src/body/movenet.ts b/src/body/movenet.ts index 82df420f..26637702 100644 --- a/src/body/movenet.ts +++ b/src/body/movenet.ts @@ -37,7 +37,7 @@ export async function load(config: Config): Promise { fakeOps(['size'], config); model = await loadModel(config.body.modelPath); } else if (config.debug) log('cached model:', model['modelUrl']); - inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0; + inputSize = (model?.['executor'] && model?.inputs?.[0].shape) ? model.inputs[0].shape[2] : 0; if (inputSize < 64) inputSize = 256; return model; } @@ -124,7 +124,7 @@ function parseMultiPose(res, config, image) { } export async function predict(input: Tensor, config: Config): Promise { - if (!model?.inputs?.[0].shape) return []; // something is wrong with the model + if (!model?.['executor'] || !model?.inputs?.[0].shape) return []; // something is wrong with the model if (!config.skipAllowed) cache.boxes.length = 0; // allowed to use cache or not skipped++; // increment skip frames const skipTime = (config.body.skipTime || 0) > (now() - cache.last); diff --git a/src/body/posenet.ts b/src/body/posenet.ts index 0095eab1..166bceea 100644 --- a/src/body/posenet.ts +++ b/src/body/posenet.ts @@ -159,6 +159,7 @@ export async function predict(input: Tensor, config: Config): Promise { if (!model.inputs[0].shape) return []; const resized = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]]); diff --git a/src/config.ts b/src/config.ts index 3098f152..8d078a2c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -286,6 +286,11 @@ export interface Config { */ cacheSensitivity: number; + /** Software Kernels + * Registers software kernel ops running on CPU when accelerated version of kernel is not found in the current backend + */ + softwareKernels: boolean, + /** Perform immediate garbage collection on deallocated tensors instead of caching them */ deallocate: boolean; @@ -328,6 +333,7 @@ const config: Config = { cacheSensitivity: 0.70, skipAllowed: false, deallocate: false, + softwareKernels: false, filter: { enabled: true, equalization: false, diff --git a/src/face/antispoof.ts b/src/face/antispoof.ts index 0fc3cd8f..aeb8c9ec 100644 --- a/src/face/antispoof.ts +++ b/src/face/antispoof.ts @@ -23,7 +23,7 @@ export async function load(config: Config): Promise { } export async function predict(image: Tensor, config: Config, idx: number, count: number): Promise { - if (!model) return 0; + if (!model || !model?.['executor']) return 0; const skipTime = (config.face.antispoof?.skipTime || 0) > (now() - lastTime); const skipFrame = skipped < (config.face.antispoof?.skipFrames || 0); if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) { diff --git a/src/face/blazeface.ts b/src/face/blazeface.ts index 2941b039..88dc3cdf 100644 --- a/src/face/blazeface.ts +++ b/src/face/blazeface.ts @@ -28,7 +28,7 @@ export async function load(config: Config): Promise { if (env.initial) model = null; if (!model) model = await loadModel(config.face.detector?.modelPath); else if (config.debug) log('cached model:', model['modelUrl']); - inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0; + inputSize = (model['executor'] && model.inputs[0].shape) ? model.inputs[0].shape[2] : 256; inputSizeT = tf.scalar(inputSize, 'int32') as Tensor; anchors = tf.tensor2d(util.generateAnchors(inputSize)) as Tensor; return model; diff --git a/src/face/facemesh.ts b/src/face/facemesh.ts index 8abf7206..6e4e4d57 100644 --- a/src/face/facemesh.ts +++ b/src/face/facemesh.ts @@ -33,6 +33,7 @@ let model: GraphModel | null = null; let inputSize = 0; export async function predict(input: Tensor, config: Config): Promise { + if (!model?.['executor']) return []; // reset cached boxes const skipTime = (config.face.detector?.skipTime || 0) > (now() - cache.timestamp); const skipFrame = cache.skipped < (config.face.detector?.skipFrames || 0); @@ -120,7 +121,7 @@ export async function predict(input: Tensor, config: Config): Promise [pt[0] / (input.shape[2] || 0), pt[1] / (input.shape[1] || 0), (pt[2] || 0) / size]); @@ -158,7 +159,7 @@ export async function load(config: Config): Promise { } else if (config.debug) { log('cached model:', model['modelUrl']); } - inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0; + inputSize = (model['executor'] && model?.inputs?.[0].shape) ? model?.inputs?.[0].shape[2] : 256; return model; } diff --git a/src/face/facemeshutil.ts b/src/face/facemeshutil.ts index 7e8f563a..90ac1ae8 100644 --- a/src/face/facemeshutil.ts +++ b/src/face/facemeshutil.ts @@ -169,7 +169,7 @@ export function correctFaceRotation(rotate, box, input, inputSize) { let rotationMatrix = fixedRotationMatrix; // default let face; // default - if (rotate && env.kernels.includes('rotatewithoffset')) { // rotateWithOffset is not defined for tfjs-node + if (rotate && env.kernels.includes('rotatewithoffset')) { angle = computeRotation(box.landmarks[symmetryLine[0]], box.landmarks[symmetryLine[1]]); const largeAngle = angle && (angle !== 0) && (Math.abs(angle) > 0.2); if (largeAngle) { // perform rotation only if angle is sufficiently high diff --git a/src/face/faceres.ts b/src/face/faceres.ts index 1b64c3a3..53f14109 100644 --- a/src/face/faceres.ts +++ b/src/face/faceres.ts @@ -64,7 +64,7 @@ export function enhance(input): Tensor { } export async function predict(image: Tensor, config: Config, idx: number, count: number): Promise { - if (!model) return { age: 0, gender: 'unknown', genderScore: 0, descriptor: [] }; + if (!model?.['executor']) return { age: 0, gender: 'unknown', genderScore: 0, descriptor: [] }; const skipFrame = skipped < (config.face.description?.skipFrames || 0); const skipTime = (config.face.description?.skipTime || 0) > (now() - lastTime); if (config.skipAllowed && skipFrame && skipTime && (lastCount === count) && last[idx]?.age && (last[idx]?.age > 0)) { diff --git a/src/face/insightface.ts b/src/face/insightface.ts index 251f3701..1a0bdb5a 100644 --- a/src/face/insightface.ts +++ b/src/face/insightface.ts @@ -27,7 +27,7 @@ export async function load(config: Config): Promise { } export async function predict(input: Tensor, config: Config, idx, count): Promise { - if (!model) return []; + if (!model?.['executor']) return []; const skipFrame = skipped < (config.face['insightface']?.skipFrames || 0); const skipTime = (config.face['insightface']?.skipTime || 0) > (now() - lastTime); if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) { diff --git a/src/face/iris.ts b/src/face/iris.ts index 7ba42317..abc00fa2 100644 --- a/src/face/iris.ts +++ b/src/face/iris.ts @@ -32,7 +32,7 @@ export async function load(config: Config): Promise { if (env.initial) model = null; if (!model) model = await loadModel(config.face.iris?.modelPath); else if (config.debug) log('cached model:', model['modelUrl']); - inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0; + inputSize = (model?.['executor'] && model.inputs?.[0].shape) ? model.inputs[0].shape[2] : 0; if (inputSize === -1) inputSize = 64; return model; } @@ -110,11 +110,8 @@ export const getAdjustedIrisCoords = (rawCoords, irisCoords, direction) => { }); }; -export async function augmentIris(rawCoords, face, config, meshSize) { - if (!model) { - if (config.debug) log('face mesh iris detection requested, but model is not loaded'); - return rawCoords; - } +export async function augmentIris(rawCoords, face, meshSize) { + if (!model?.['executor']) return rawCoords; const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = getEyeBox(rawCoords, face, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], meshSize, true); const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = getEyeBox(rawCoords, face, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1], meshSize, true); const combined = tf.concat([leftEyeCrop, rightEyeCrop]); diff --git a/src/face/liveness.ts b/src/face/liveness.ts index 1ae3424e..94d154cf 100644 --- a/src/face/liveness.ts +++ b/src/face/liveness.ts @@ -23,7 +23,7 @@ export async function load(config: Config): Promise { } export async function predict(image: Tensor, config: Config, idx: number, count: number): Promise { - if (!model) return 0; + if (!model?.['executor']) return 0; const skipTime = (config.face.liveness?.skipTime || 0) > (now() - lastTime); const skipFrame = skipped < (config.face.liveness?.skipFrames || 0); if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && cached[idx]) { diff --git a/src/face/mobilefacenet.ts b/src/face/mobilefacenet.ts index faa4271f..d8a5dcfc 100644 --- a/src/face/mobilefacenet.ts +++ b/src/face/mobilefacenet.ts @@ -45,7 +45,7 @@ const contrast = merge.sub(mean).mul(factor).add(mean); */ export async function predict(input: Tensor, config: Config, idx, count): Promise { - if (!model) return []; + if (!model?.['executor']) return []; const skipFrame = skipped < (config.face['mobilefacenet']?.skipFrames || 0); const skipTime = (config.face['mobilefacenet']?.skipTime || 0) > (now() - lastTime); if (config.skipAllowed && skipTime && skipFrame && (lastCount === count) && last[idx]) { diff --git a/src/hand/handtrack.ts b/src/hand/handtrack.ts index 13aef772..1c12a877 100644 --- a/src/hand/handtrack.ts +++ b/src/hand/handtrack.ts @@ -76,7 +76,7 @@ export async function loadDetect(config: Config): Promise { // ideally need to prune the model itself fakeOps(['tensorlistreserve', 'enter', 'tensorlistfromtensor', 'merge', 'loopcond', 'switch', 'exit', 'tensorliststack', 'nextiteration', 'tensorlistsetitem', 'tensorlistgetitem', 'reciprocal', 'shape', 'split', 'where'], config); models[0] = await loadModel(config.hand.detector?.modelPath); - const inputs = Object.values(models[0].modelSignature['inputs']); + const inputs = models[0]['executor'] ? Object.values(models[0].modelSignature['inputs']) : undefined; inputSize[0][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0; inputSize[0][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0; } else if (config.debug) log('cached model:', models[0]['modelUrl']); @@ -87,7 +87,7 @@ export async function loadSkeleton(config: Config): Promise { if (env.initial) models[1] = null; if (!models[1]) { models[1] = await loadModel(config.hand.skeleton?.modelPath); - const inputs = Object.values(models[1].modelSignature['inputs']); + const inputs = models[1]['executor'] ? Object.values(models[1].modelSignature['inputs']) : undefined; inputSize[1][0] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[1].size) : 0; inputSize[1][1] = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0; } else if (config.debug) log('cached model:', models[1]['modelUrl']); @@ -182,7 +182,7 @@ async function detectFingers(input: Tensor, h: HandDetectResult, config: Config) } export async function predict(input: Tensor, config: Config): Promise { - if (!models[0] || !models[1] || !models[0].inputs[0].shape || !models[1].inputs[0].shape) return []; // something is wrong with the model + if (!models[0]?.['executor'] || !models[1]?.['executor'] || !models[0].inputs[0].shape || !models[1].inputs[0].shape) return []; // something is wrong with the model outputSize = [input.shape[2] || 0, input.shape[1] || 0]; skipped++; // increment skip frames const skipTime = (config.hand.skipTime || 0) > (now() - lastTime); diff --git a/src/models.ts b/src/models.ts index 2768972f..4a9a5d5b 100644 --- a/src/models.ts +++ b/src/models.ts @@ -164,7 +164,9 @@ export function validateModel(newInstance: Human | null, model: GraphModel | nul if (!ops.includes(op)) ops.push(op); } } else { - if (!executor && instance.config.debug) log('model signature not determined:', name); + if (!executor && instance.config.debug) { + log('model not loaded', name); + } } for (const op of ops) { if (!simpleOps.includes(op) // exclude simple ops diff --git a/src/object/centernet.ts b/src/object/centernet.ts index fc6b0941..ff77c83e 100644 --- a/src/object/centernet.ts +++ b/src/object/centernet.ts @@ -24,7 +24,7 @@ export async function load(config: Config): Promise { if (!model) { // fakeOps(['floormod'], config); model = await loadModel(config.object.modelPath); - const inputs = Object.values(model.modelSignature['inputs']); + const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined; inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0; } else if (config.debug) log('cached model:', model['modelUrl']); return model; @@ -72,6 +72,7 @@ async function process(res: Tensor | null, outputShape: [number, number], config } export async function predict(input: Tensor, config: Config): Promise { + if (!model?.['executor']) return []; const skipTime = (config.object.skipTime || 0) > (now() - lastTime); const skipFrame = skipped < (config.object.skipFrames || 0); if (config.skipAllowed && skipTime && skipFrame && (last.length > 0)) { diff --git a/src/object/nanodet.ts b/src/object/nanodet.ts index 053ab8aa..be418f04 100644 --- a/src/object/nanodet.ts +++ b/src/object/nanodet.ts @@ -25,8 +25,8 @@ const scaleBox = 2.5; // increase box size export async function load(config: Config): Promise { if (!model || env.initial) { model = await loadModel(config.object.modelPath); - const inputs = Object.values(model.modelSignature['inputs']); - inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 0; + const inputs = model?.['executor'] ? Object.values(model.modelSignature['inputs']) : undefined; + inputSize = Array.isArray(inputs) ? parseInt(inputs[0].tensorShape.dim[2].size) : 416; } else if (config.debug) log('cached model:', model['modelUrl']); return model; } @@ -106,6 +106,7 @@ async function process(res: Tensor[], outputShape: [number, number], config: Con } export async function predict(image: Tensor, config: Config): Promise { + if (!model?.['executor']) return []; const skipTime = (config.object.skipTime || 0) > (now() - lastTime); const skipFrame = skipped < (config.object.skipFrames || 0); if (config.skipAllowed && skipTime && skipFrame && (last.length > 0)) { diff --git a/src/tfjs/backend.ts b/src/tfjs/backend.ts index a7a0dc85..0eb7c3c9 100644 --- a/src/tfjs/backend.ts +++ b/src/tfjs/backend.ts @@ -1,31 +1,68 @@ /** TFJS backend initialization and customization */ -import type { Human } from '../human'; +import type { Human, Config } from '../human'; import { log, now } from '../util/util'; import { env } from '../util/env'; import * as humangl from './humangl'; import * as tf from '../../dist/tfjs.esm.js'; import * as constants from './constants'; -function registerCustomOps() { +function registerCustomOps(config: Config) { if (!env.kernels.includes('mod')) { const kernelMod = { kernelName: 'Mod', backendName: tf.getBackend(), kernelFunc: (op) => tf.tidy(() => tf.sub(op.inputs.a, tf.mul(tf.div(op.inputs.a, op.inputs.b), op.inputs.b))), }; + if (config.debug) log('registered kernel:', 'Mod'); tf.registerKernel(kernelMod); env.kernels.push('mod'); } if (!env.kernels.includes('floormod')) { - const kernelMod = { + const kernelFloorMod = { kernelName: 'FloorMod', backendName: tf.getBackend(), kernelFunc: (op) => tf.tidy(() => tf.add(tf.mul(tf.floorDiv(op.inputs.a / op.inputs.b), op.inputs.b), tf.mod(op.inputs.a, op.inputs.b))), }; - tf.registerKernel(kernelMod); + if (config.debug) log('registered kernel:', 'FloorMod'); + tf.registerKernel(kernelFloorMod); env.kernels.push('floormod'); } + /* + if (!env.kernels.includes('atan2') && config.softwareKernels) { + const kernelAtan2 = { + kernelName: 'Atan2', + backendName: tf.getBackend(), + kernelFunc: (op) => tf.tidy(() => { + const backend = tf.getBackend(); + tf.setBackend('cpu'); + const t = tf.atan2(op.inputs.a, op.inputs.b); + tf.setBackend(backend); + return t; + }), + }; + if (config.debug) log('registered kernel:', 'atan2'); + log('registered kernel:', 'atan2'); + tf.registerKernel(kernelAtan2); + env.kernels.push('atan2'); + } + */ + if (!env.kernels.includes('rotatewithoffset') && config.softwareKernels) { + const kernelRotateWithOffset = { + kernelName: 'RotateWithOffset', + backendName: tf.getBackend(), + kernelFunc: (op) => tf.tidy(() => { + const backend = tf.getBackend(); + tf.setBackend('cpu'); + const t = tf.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center); + tf.setBackend(backend); + return t; + }), + }; + if (config.debug) log('registered kernel:', 'RotateWithOffset'); + tf.registerKernel(kernelRotateWithOffset); + env.kernels.push('rotatewithoffset'); + } } export async function check(instance: Human, force = false) { @@ -146,7 +183,7 @@ export async function check(instance: Human, force = false) { instance.config.backend = tf.getBackend(); await env.updateBackend(); // update env on backend init - registerCustomOps(); + registerCustomOps(instance.config); // await env.updateBackend(); // update env on backend init } return true; diff --git a/test/README.md b/test/README.md index 08cc31b5..0baea202 100644 --- a/test/README.md +++ b/test/README.md @@ -7,9 +7,6 @@ Not required for normal funcioning of library ### NodeJS using TensorFlow library - Image filters are disabled due to lack of Canvas and WebGL access -- Face rotation is disabled for `NodeJS` platform: - `Kernel 'RotateWithOffset' not registered for backend 'tensorflow'` - ### NodeJS using WASM diff --git a/test/build.log b/test/build.log index 9922205f..443b1335 100644 --- a/test/build.log +++ b/test/build.log @@ -37,3 +37,1805 @@ 2022-08-28 13:08:39 STATE: Models {"folder":"../nanodet/models","models":4} 2022-08-28 13:08:40 STATE: Models: {"count":57,"totalSize":383017442} 2022-08-28 13:08:40 INFO:  Human Build complete... {"logFile":"test/build.log"} +2022-08-30 07:10:28 INFO:  @vladmandic/human version 2.9.4 +2022-08-30 07:10:28 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 +2022-08-30 07:10:28 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.4"} +2022-08-30 07:10:28 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} +2022-08-30 07:10:28 INFO:  Toolchain: {"build":"0.7.11","esbuild":"0.15.6","typescript":"4.8.2","typedoc":"0.23.11","eslint":"8.23.0"} +2022-08-30 07:10:28 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]} +2022-08-30 07:10:28 STATE: WebServer: {"ssl":false,"port":10030,"root":"."} +2022-08-30 07:10:28 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-30 07:10:28 STATE: Watch: {"locations":["src/**/*","tfjs/**/*","demo/**/*.ts"]} +2022-08-30 07:10:28 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:10:28 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653695,"outputBytes":487097} +2022-08-30 07:10: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":167,"outputBytes":1118} +2022-08-30 07:10:28 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653715,"outputBytes":487113} +2022-08-30 07:10: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":206,"outputBytes":1205} +2022-08-30 07:10:28 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653802,"outputBytes":487204} +2022-08-30 07:10:28 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:10: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":2169,"outputBytes":856} +2022-08-30 07:10: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":653453,"outputBytes":489257} +2022-08-30 07:10: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":2425,"outputBytes":2875207} +2022-08-30 07:10:28 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3527804,"outputBytes":1706482} +2022-08-30 07:10:29 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3527804,"outputBytes":3149668} +2022-08-30 07:10:29 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:10:29 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:10:29 INFO:  Listening... +2022-08-30 07:10:51 INFO:  Watch: {"event":"modify","input":"src/hand/handposepipeline.ts"} +2022-08-30 07:10:51 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:10:51 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653695,"outputBytes":487097} +2022-08-30 07:10:51 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:10:51 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653715,"outputBytes":487113} +2022-08-30 07:10:51 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:10:51 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653802,"outputBytes":487204} +2022-08-30 07:10:51 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:10:51 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:10:51 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653453,"outputBytes":489257} +2022-08-30 07:10:51 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:10:51 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3527804,"outputBytes":1706482} +2022-08-30 07:10:51 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3527804,"outputBytes":3149668} +2022-08-30 07:10:51 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:10:51 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:11:13 INFO:  Watch: {"event":"modify","input":"src/hand/handposepipeline.ts"} +2022-08-30 07:11:13 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:11:13 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653702,"outputBytes":487104} +2022-08-30 07:11:13 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:11:13 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653722,"outputBytes":487120} +2022-08-30 07:11:13 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:11:13 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653809,"outputBytes":487211} +2022-08-30 07:11:13 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:11:13 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:11:13 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":653460,"outputBytes":489264} +2022-08-30 07:11:13 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:11:13 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3527811,"outputBytes":1706484} +2022-08-30 07:11:13 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3527811,"outputBytes":3149675} +2022-08-30 07:11:13 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:11:13 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:12:14 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:12:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:12:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":653781,"outputBytes":487184} +2022-08-30 07:12: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":167,"outputBytes":1118} +2022-08-30 07:12:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":653801,"outputBytes":487200} +2022-08-30 07:12: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":206,"outputBytes":1205} +2022-08-30 07:12:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":653888,"outputBytes":487291} +2022-08-30 07:12:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:12: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":2169,"outputBytes":856} +2022-08-30 07:12: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":653539,"outputBytes":489344} +2022-08-30 07:12: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":2425,"outputBytes":2875207} +2022-08-30 07:12:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3527890,"outputBytes":1706548} +2022-08-30 07:12:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3527890,"outputBytes":3149756} +2022-08-30 07:12:14 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:12:14 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:17:57 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:17:57 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:17:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654086,"outputBytes":487503} +2022-08-30 07:17: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":167,"outputBytes":1118} +2022-08-30 07:17:57 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654106,"outputBytes":487519} +2022-08-30 07:17: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":206,"outputBytes":1205} +2022-08-30 07:17:57 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654193,"outputBytes":487610} +2022-08-30 07:17:57 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:17: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":2169,"outputBytes":856} +2022-08-30 07:17: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":653844,"outputBytes":489723} +2022-08-30 07:17: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":2425,"outputBytes":2875207} +2022-08-30 07:17:58 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528195,"outputBytes":1706669} +2022-08-30 07:17:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528195,"outputBytes":3150051} +2022-08-30 07:17:58 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:17:58 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:19:26 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:19:26 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:19:26 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654241,"outputBytes":487657} +2022-08-30 07:19: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":167,"outputBytes":1118} +2022-08-30 07:19:26 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654261,"outputBytes":487673} +2022-08-30 07:19: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":206,"outputBytes":1205} +2022-08-30 07:19:26 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654348,"outputBytes":487764} +2022-08-30 07:19:26 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:19: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":2169,"outputBytes":856} +2022-08-30 07:19: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":653999,"outputBytes":489889} +2022-08-30 07:19: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":2425,"outputBytes":2875207} +2022-08-30 07:19:26 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528350,"outputBytes":1706766} +2022-08-30 07:19:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528350,"outputBytes":3150201} +2022-08-30 07:19:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:19:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:19:53 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:19:53 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:19:53 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654291,"outputBytes":487707} +2022-08-30 07:19:53 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:19:53 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654311,"outputBytes":487723} +2022-08-30 07:19:53 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:19:53 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654398,"outputBytes":487814} +2022-08-30 07:19:53 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:19:53 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:19:53 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654049,"outputBytes":489939} +2022-08-30 07:19:53 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:19:53 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528400,"outputBytes":1706810} +2022-08-30 07:19:53 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528400,"outputBytes":3150251} +2022-08-30 07:19:53 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:19:53 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:20:13 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:20:13 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:20:13 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654333,"outputBytes":487749} +2022-08-30 07:20:13 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:20:13 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":487765} +2022-08-30 07:20:13 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:20:13 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":487856} +2022-08-30 07:20:13 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:20:13 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:20:13 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654091,"outputBytes":489981} +2022-08-30 07:20: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":2425,"outputBytes":2875207} +2022-08-30 07:20:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528442,"outputBytes":1706846} +2022-08-30 07:20:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528442,"outputBytes":3150294} +2022-08-30 07:20:14 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:20:14 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:21:09 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:21:09 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:21:09 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654375,"outputBytes":487791} +2022-08-30 07:21:09 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:21:09 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654395,"outputBytes":487807} +2022-08-30 07:21:09 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:21:09 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654482,"outputBytes":487898} +2022-08-30 07:21:09 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:21:09 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:21:09 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654133,"outputBytes":490023} +2022-08-30 07:21:09 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:21:09 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528484,"outputBytes":1706882} +2022-08-30 07:21:09 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528484,"outputBytes":3150337} +2022-08-30 07:21:09 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:21:09 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:21:27 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:21:27 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:21:27 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654406,"outputBytes":487822} +2022-08-30 07:21: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":167,"outputBytes":1118} +2022-08-30 07:21:27 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654426,"outputBytes":487838} +2022-08-30 07:21: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":206,"outputBytes":1205} +2022-08-30 07:21:27 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654513,"outputBytes":487929} +2022-08-30 07:21:27 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:21: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":2169,"outputBytes":856} +2022-08-30 07:21: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":654164,"outputBytes":490054} +2022-08-30 07:21: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":2425,"outputBytes":2875207} +2022-08-30 07:21:27 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528515,"outputBytes":1706912} +2022-08-30 07:21:27 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528515,"outputBytes":3150368} +2022-08-30 07:21:27 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:21:27 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:22:14 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:22:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:22:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654419,"outputBytes":487835} +2022-08-30 07:22: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":167,"outputBytes":1118} +2022-08-30 07:22:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654439,"outputBytes":487851} +2022-08-30 07:22: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":206,"outputBytes":1205} +2022-08-30 07:22:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654526,"outputBytes":487942} +2022-08-30 07:22:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:22: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":2169,"outputBytes":856} +2022-08-30 07:22: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":654177,"outputBytes":490067} +2022-08-30 07:22: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":2425,"outputBytes":2875207} +2022-08-30 07:22:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528528,"outputBytes":1706923} +2022-08-30 07:22:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528528,"outputBytes":3150382} +2022-08-30 07:22:14 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:22:14 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:22:35 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:22:35 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:22:35 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654453,"outputBytes":487869} +2022-08-30 07:22:35 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:22:35 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":487885} +2022-08-30 07:22:35 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:22:35 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":487976} +2022-08-30 07:22:35 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:22:35 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:22:35 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654211,"outputBytes":490101} +2022-08-30 07:22:35 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:22:35 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528562,"outputBytes":1706953} +2022-08-30 07:22:35 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528562,"outputBytes":3150416} +2022-08-30 07:22:35 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:22:35 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:22:38 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:22:38 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:22:38 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654452,"outputBytes":487868} +2022-08-30 07:22:38 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:22:38 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654472,"outputBytes":487884} +2022-08-30 07:22:38 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:22:38 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654559,"outputBytes":487975} +2022-08-30 07:22:38 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:22:38 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:22:38 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":490100} +2022-08-30 07:22:38 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:22:38 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528561,"outputBytes":1706952} +2022-08-30 07:22:39 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528561,"outputBytes":3150415} +2022-08-30 07:22:39 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:22:39 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:23:48 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:23:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:23:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654247,"outputBytes":487664} +2022-08-30 07:23:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:23:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654267,"outputBytes":487680} +2022-08-30 07:23:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:23:49 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654354,"outputBytes":487771} +2022-08-30 07:23:49 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:23: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":2169,"outputBytes":856} +2022-08-30 07:23: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":654005,"outputBytes":489884} +2022-08-30 07:23: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":2425,"outputBytes":2875207} +2022-08-30 07:23:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528356,"outputBytes":1706813} +2022-08-30 07:23:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528356,"outputBytes":3150215} +2022-08-30 07:23:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:23:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:23:59 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:23:59 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:23:59 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654247,"outputBytes":487664} +2022-08-30 07:23:59 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:23:59 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654267,"outputBytes":487680} +2022-08-30 07:23:59 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:23:59 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654354,"outputBytes":487771} +2022-08-30 07:23:59 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:23:59 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:23:59 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654005,"outputBytes":489884} +2022-08-30 07:23:59 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:23:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528356,"outputBytes":1706813} +2022-08-30 07:23:59 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528356,"outputBytes":3150215} +2022-08-30 07:23:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:23:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:24:25 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:24:25 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:24:25 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654315,"outputBytes":487620} +2022-08-30 07:24: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":167,"outputBytes":1118} +2022-08-30 07:24:25 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654335,"outputBytes":487636} +2022-08-30 07:24: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":206,"outputBytes":1205} +2022-08-30 07:24:25 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654422,"outputBytes":487727} +2022-08-30 07:24:25 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:24: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":2169,"outputBytes":856} +2022-08-30 07:24: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":654073,"outputBytes":489840} +2022-08-30 07:24: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":2425,"outputBytes":2875207} +2022-08-30 07:24:26 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528424,"outputBytes":1706772} +2022-08-30 07:24:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528424,"outputBytes":3150170} +2022-08-30 07:24:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:24:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:24:53 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:24:53 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:24:53 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654315,"outputBytes":487620} +2022-08-30 07:24:53 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:24:53 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654335,"outputBytes":487636} +2022-08-30 07:24:53 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:24:53 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654422,"outputBytes":487727} +2022-08-30 07:24:53 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:24:53 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:24:53 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654073,"outputBytes":489840} +2022-08-30 07:24:53 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:24:53 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528424,"outputBytes":1706772} +2022-08-30 07:24:53 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528424,"outputBytes":3150170} +2022-08-30 07:24:53 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:24:53 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:25:40 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:25:40 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:25:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654344,"outputBytes":487649} +2022-08-30 07:25: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":167,"outputBytes":1118} +2022-08-30 07:25:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654364,"outputBytes":487665} +2022-08-30 07:25: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":206,"outputBytes":1205} +2022-08-30 07:25:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654451,"outputBytes":487756} +2022-08-30 07:25:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:25: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":2169,"outputBytes":856} +2022-08-30 07:25: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":654102,"outputBytes":489869} +2022-08-30 07:25: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":2425,"outputBytes":2875207} +2022-08-30 07:25:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528453,"outputBytes":1706794} +2022-08-30 07:25:40 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528453,"outputBytes":3150199} +2022-08-30 07:25:40 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:25:40 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:28:48 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:28:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:28:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654787,"outputBytes":488106} +2022-08-30 07:28:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:28:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654807,"outputBytes":488122} +2022-08-30 07:28:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:28:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654894,"outputBytes":488213} +2022-08-30 07:28:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:28:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:28:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654545,"outputBytes":490410} +2022-08-30 07:28:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:28:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528896,"outputBytes":1706980} +2022-08-30 07:28:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528896,"outputBytes":3150624} +2022-08-30 07:28:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:28:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:28:58 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:28:58 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:28:58 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654800,"outputBytes":487813} +2022-08-30 07:28: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":167,"outputBytes":1118} +2022-08-30 07:28:58 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654820,"outputBytes":487829} +2022-08-30 07:28: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":206,"outputBytes":1205} +2022-08-30 07:28:58 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654907,"outputBytes":487920} +2022-08-30 07:28:58 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:28: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":2169,"outputBytes":856} +2022-08-30 07:28: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":654558,"outputBytes":490057} +2022-08-30 07:28: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":2425,"outputBytes":2875207} +2022-08-30 07:28:58 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528909,"outputBytes":1706877} +2022-08-30 07:28:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528909,"outputBytes":3150356} +2022-08-30 07:28:58 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:28:58 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:30:52 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:30:52 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:30:52 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654851,"outputBytes":487864} +2022-08-30 07:30:52 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:30:52 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654871,"outputBytes":487880} +2022-08-30 07:30:52 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:30:52 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654958,"outputBytes":487971} +2022-08-30 07:30:52 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:30:52 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:30:52 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654609,"outputBytes":490108} +2022-08-30 07:30:52 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:30:52 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528960,"outputBytes":1706922} +2022-08-30 07:30:52 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528960,"outputBytes":3150410} +2022-08-30 07:30:52 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:30:52 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:31:37 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:31:37 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:31:37 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654858,"outputBytes":487871} +2022-08-30 07:31: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":167,"outputBytes":1118} +2022-08-30 07:31:37 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654878,"outputBytes":487887} +2022-08-30 07:31: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":206,"outputBytes":1205} +2022-08-30 07:31:37 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654965,"outputBytes":487978} +2022-08-30 07:31:37 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:31: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":2169,"outputBytes":856} +2022-08-30 07:31: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":654616,"outputBytes":490115} +2022-08-30 07:31: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":2425,"outputBytes":2875207} +2022-08-30 07:31:37 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528967,"outputBytes":1706929} +2022-08-30 07:31:37 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528967,"outputBytes":3150417} +2022-08-30 07:31:37 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:31:37 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:32:05 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:32:05 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:32:05 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654565,"outputBytes":487871} +2022-08-30 07:32:05 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:32:05 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654585,"outputBytes":487887} +2022-08-30 07:32:05 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:32:05 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654672,"outputBytes":487978} +2022-08-30 07:32:05 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:32:05 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:32:05 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654323,"outputBytes":490115} +2022-08-30 07:32:05 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:32:06 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528674,"outputBytes":1706929} +2022-08-30 07:32:06 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528674,"outputBytes":3150417} +2022-08-30 07:32:06 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:32:06 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:32:13 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:32:13 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:32:13 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654497,"outputBytes":487915} +2022-08-30 07:32:13 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:32:13 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654517,"outputBytes":487931} +2022-08-30 07:32:13 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:32:13 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654604,"outputBytes":488022} +2022-08-30 07:32:13 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:32:13 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:32:13 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654255,"outputBytes":490159} +2022-08-30 07:32:13 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:32:13 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528606,"outputBytes":1706970} +2022-08-30 07:32:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528606,"outputBytes":3150462} +2022-08-30 07:32:14 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:32:14 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:32:49 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:32:49 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:32:49 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654451,"outputBytes":487869} +2022-08-30 07:32: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":167,"outputBytes":1118} +2022-08-30 07:32:49 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654471,"outputBytes":487885} +2022-08-30 07:32: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":206,"outputBytes":1205} +2022-08-30 07:32:49 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654558,"outputBytes":487976} +2022-08-30 07:32:49 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:32: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":2169,"outputBytes":856} +2022-08-30 07:32: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":654209,"outputBytes":490113} +2022-08-30 07:32: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":2425,"outputBytes":2875207} +2022-08-30 07:32:50 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528560,"outputBytes":1706930} +2022-08-30 07:32:50 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528560,"outputBytes":3150415} +2022-08-30 07:32:50 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:32:50 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:32:52 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:32:52 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:32:52 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654453,"outputBytes":487871} +2022-08-30 07:32:52 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:32:52 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":487887} +2022-08-30 07:32:52 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:32:52 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":487978} +2022-08-30 07:32:52 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:32:52 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:32:52 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654211,"outputBytes":490115} +2022-08-30 07:32:53 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:32:53 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528562,"outputBytes":1706930} +2022-08-30 07:32:53 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528562,"outputBytes":3150417} +2022-08-30 07:32:53 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:32:53 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:33:41 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:33:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:33:41 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654345,"outputBytes":487763} +2022-08-30 07:33: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":167,"outputBytes":1118} +2022-08-30 07:33:41 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654365,"outputBytes":487779} +2022-08-30 07:33: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":206,"outputBytes":1205} +2022-08-30 07:33:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654452,"outputBytes":487870} +2022-08-30 07:33:41 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:33: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":2169,"outputBytes":856} +2022-08-30 07:33: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":654103,"outputBytes":490007} +2022-08-30 07:33: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":2425,"outputBytes":2875207} +2022-08-30 07:33:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528454,"outputBytes":1706840} +2022-08-30 07:33:41 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528454,"outputBytes":3150307} +2022-08-30 07:33:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:33:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:33:54 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:33:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:33:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654345,"outputBytes":487763} +2022-08-30 07:33: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":167,"outputBytes":1118} +2022-08-30 07:33:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654365,"outputBytes":487779} +2022-08-30 07:33: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":206,"outputBytes":1205} +2022-08-30 07:33:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654452,"outputBytes":487870} +2022-08-30 07:33:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:33: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":2169,"outputBytes":856} +2022-08-30 07:33: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":654103,"outputBytes":490007} +2022-08-30 07:33: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":2425,"outputBytes":2875207} +2022-08-30 07:33:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528454,"outputBytes":1706840} +2022-08-30 07:33:54 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528454,"outputBytes":3150307} +2022-08-30 07:33:54 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:33:54 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:35:26 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:35:26 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:35:26 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654263,"outputBytes":487681} +2022-08-30 07:35: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":167,"outputBytes":1118} +2022-08-30 07:35:27 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654283,"outputBytes":487697} +2022-08-30 07:35: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":206,"outputBytes":1205} +2022-08-30 07:35:27 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654370,"outputBytes":487788} +2022-08-30 07:35:27 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:35: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":2169,"outputBytes":856} +2022-08-30 07:35: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":654021,"outputBytes":489925} +2022-08-30 07:35: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":2425,"outputBytes":2875207} +2022-08-30 07:35:27 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528372,"outputBytes":1706776} +2022-08-30 07:35:27 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528372,"outputBytes":3150224} +2022-08-30 07:35:27 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:35:27 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:35:30 INFO:  Watch: {"event":"modify","input":"src/hand/handposepipeline.ts"} +2022-08-30 07:35:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:35:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654163,"outputBytes":487580} +2022-08-30 07:35: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":167,"outputBytes":1118} +2022-08-30 07:35:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654183,"outputBytes":487596} +2022-08-30 07:35: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":206,"outputBytes":1205} +2022-08-30 07:35:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654270,"outputBytes":487687} +2022-08-30 07:35:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:35: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":2169,"outputBytes":856} +2022-08-30 07:35: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":653921,"outputBytes":489824} +2022-08-30 07:35: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":2425,"outputBytes":2875207} +2022-08-30 07:35:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528272,"outputBytes":1706694} +2022-08-30 07:35:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528272,"outputBytes":3150122} +2022-08-30 07:35:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:35:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:39:17 INFO:  Watch: {"event":"modify","input":"src/config.ts"} +2022-08-30 07:39:17 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:39:17 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654367,"outputBytes":487606} +2022-08-30 07:39:17 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:39:17 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654387,"outputBytes":487622} +2022-08-30 07:39:17 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:39:17 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654474,"outputBytes":487713} +2022-08-30 07:39:17 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:39:17 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:39:17 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654125,"outputBytes":489850} +2022-08-30 07:39:17 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:39:17 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528476,"outputBytes":1706713} +2022-08-30 07:39:18 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528476,"outputBytes":3150148} +2022-08-30 07:39:18 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:39:18 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:40:22 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:40:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:40:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654404,"outputBytes":487629} +2022-08-30 07:40: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":167,"outputBytes":1118} +2022-08-30 07:40:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654424,"outputBytes":487645} +2022-08-30 07:40: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":206,"outputBytes":1205} +2022-08-30 07:40:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654511,"outputBytes":487736} +2022-08-30 07:40:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:40: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":2169,"outputBytes":856} +2022-08-30 07:40: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":654162,"outputBytes":489873} +2022-08-30 07:40: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":2425,"outputBytes":2875207} +2022-08-30 07:40:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528513,"outputBytes":1706722} +2022-08-30 07:40:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528513,"outputBytes":3150171} +2022-08-30 07:40:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:40:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:40:33 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:40:33 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:40:33 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654430,"outputBytes":487656} +2022-08-30 07:40:33 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:40:33 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654450,"outputBytes":487672} +2022-08-30 07:40:33 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:40:33 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654537,"outputBytes":487763} +2022-08-30 07:40:33 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:40:33 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:40: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":654188,"outputBytes":489900} +2022-08-30 07:40: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":2425,"outputBytes":2875207} +2022-08-30 07:40:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528539,"outputBytes":1706741} +2022-08-30 07:40:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528539,"outputBytes":3150198} +2022-08-30 07:40:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:40:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:41:52 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 07:41:52 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:41:52 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654616,"outputBytes":487863} +2022-08-30 07:41:52 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:41:52 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654636,"outputBytes":487879} +2022-08-30 07:41:52 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:41:52 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654723,"outputBytes":487970} +2022-08-30 07:41:52 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:41:52 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:41:52 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654374,"outputBytes":490107} +2022-08-30 07:41:52 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:41:52 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528725,"outputBytes":1706879} +2022-08-30 07:41:53 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528725,"outputBytes":3150405} +2022-08-30 07:41:53 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:41:53 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:42:12 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts"} +2022-08-30 07:42:12 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:42:12 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654567,"outputBytes":487863} +2022-08-30 07:42: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":167,"outputBytes":1118} +2022-08-30 07:42:12 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654587,"outputBytes":487879} +2022-08-30 07:42: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":206,"outputBytes":1205} +2022-08-30 07:42:12 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654674,"outputBytes":487970} +2022-08-30 07:42:12 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:42: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":2169,"outputBytes":856} +2022-08-30 07:42: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":654325,"outputBytes":490107} +2022-08-30 07:42: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":2425,"outputBytes":2875207} +2022-08-30 07:42:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528676,"outputBytes":1706879} +2022-08-30 07:42:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528676,"outputBytes":3150405} +2022-08-30 07:42:12 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:42:12 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:42:13 INFO:  Watch: {"event":"modify","input":"src/config.ts","skip":true} +2022-08-30 07:52:14 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 07:52:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:52:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654574,"outputBytes":487872} +2022-08-30 07:52: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":167,"outputBytes":1118} +2022-08-30 07:52:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654594,"outputBytes":487888} +2022-08-30 07:52: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":206,"outputBytes":1205} +2022-08-30 07:52:15 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654681,"outputBytes":487979} +2022-08-30 07:52:15 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:52: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":2169,"outputBytes":856} +2022-08-30 07:52: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":654332,"outputBytes":490116} +2022-08-30 07:52: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":2425,"outputBytes":2875207} +2022-08-30 07:52:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528683,"outputBytes":1706881} +2022-08-30 07:52:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528683,"outputBytes":3150414} +2022-08-30 07:52:15 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:52:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:53:39 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 07:53:39 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:53:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654559,"outputBytes":487857} +2022-08-30 07:53: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":167,"outputBytes":1118} +2022-08-30 07:53:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654579,"outputBytes":487873} +2022-08-30 07:53: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":206,"outputBytes":1205} +2022-08-30 07:53:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654666,"outputBytes":487964} +2022-08-30 07:53:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:53: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":2169,"outputBytes":856} +2022-08-30 07:53: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":654317,"outputBytes":490101} +2022-08-30 07:53: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":2425,"outputBytes":2875207} +2022-08-30 07:53:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528668,"outputBytes":1706866} +2022-08-30 07:53:40 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528668,"outputBytes":3150399} +2022-08-30 07:53:40 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:53:40 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:56:19 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"} +2022-08-30 07:56:19 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:56:19 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654559,"outputBytes":487857} +2022-08-30 07:56:19 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:56:19 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654579,"outputBytes":487873} +2022-08-30 07:56:19 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:56:19 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654666,"outputBytes":487964} +2022-08-30 07:56:19 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:56:19 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:56:19 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654317,"outputBytes":490101} +2022-08-30 07:56: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":2425,"outputBytes":2875207} +2022-08-30 07:56:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528668,"outputBytes":1706866} +2022-08-30 07:56:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528668,"outputBytes":3150399} +2022-08-30 07:56:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:56:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:57:32 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:57:32 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:57:32 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654563,"outputBytes":487925} +2022-08-30 07:57: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":167,"outputBytes":1118} +2022-08-30 07:57:32 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654583,"outputBytes":487941} +2022-08-30 07:57: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":206,"outputBytes":1205} +2022-08-30 07:57:32 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654670,"outputBytes":488032} +2022-08-30 07:57:32 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:57: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":2169,"outputBytes":856} +2022-08-30 07:57: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":654321,"outputBytes":490169} +2022-08-30 07:57:32 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:57:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528672,"outputBytes":1706902} +2022-08-30 07:57:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528672,"outputBytes":3150467} +2022-08-30 07:57:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:57:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:57:48 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:57:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:57:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654563,"outputBytes":487925} +2022-08-30 07:57:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:57:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654583,"outputBytes":487941} +2022-08-30 07:57:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:57:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654670,"outputBytes":488032} +2022-08-30 07:57:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:57:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:57:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654321,"outputBytes":490169} +2022-08-30 07:57:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:57:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528672,"outputBytes":1706902} +2022-08-30 07:57:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528672,"outputBytes":3150467} +2022-08-30 07:57:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:57:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:57:54 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:57:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:57:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654586,"outputBytes":487948} +2022-08-30 07:57: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":167,"outputBytes":1118} +2022-08-30 07:57:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654606,"outputBytes":487964} +2022-08-30 07:57: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":206,"outputBytes":1205} +2022-08-30 07:57:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654693,"outputBytes":488055} +2022-08-30 07:57:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:57: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":2169,"outputBytes":856} +2022-08-30 07:57: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":654344,"outputBytes":490192} +2022-08-30 07:57: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":2425,"outputBytes":2875207} +2022-08-30 07:57:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528695,"outputBytes":1706922} +2022-08-30 07:57:54 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528695,"outputBytes":3150490} +2022-08-30 07:57:54 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:57:54 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:58:02 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:58:02 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:58:02 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654563,"outputBytes":487925} +2022-08-30 07:58:02 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:58:02 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654583,"outputBytes":487941} +2022-08-30 07:58:02 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:58:02 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654670,"outputBytes":488032} +2022-08-30 07:58:02 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:58:02 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:58:02 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654321,"outputBytes":490169} +2022-08-30 07:58: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":2425,"outputBytes":2875207} +2022-08-30 07:58:03 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528672,"outputBytes":1706902} +2022-08-30 07:58:03 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528672,"outputBytes":3150467} +2022-08-30 07:58:03 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:58:03 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:58:13 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:58:13 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:58:13 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654611,"outputBytes":487973} +2022-08-30 07:58:13 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:58:13 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654631,"outputBytes":487989} +2022-08-30 07:58:13 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:58:13 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654718,"outputBytes":488080} +2022-08-30 07:58:13 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:58:13 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:58:13 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654369,"outputBytes":490217} +2022-08-30 07:58:13 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:58:13 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528720,"outputBytes":1706944} +2022-08-30 07:58:13 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528720,"outputBytes":3150515} +2022-08-30 07:58:13 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:58:13 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:58:22 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:58:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:58:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654618,"outputBytes":487982} +2022-08-30 07:58: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":167,"outputBytes":1118} +2022-08-30 07:58:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654638,"outputBytes":487998} +2022-08-30 07:58: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":206,"outputBytes":1205} +2022-08-30 07:58:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654725,"outputBytes":488089} +2022-08-30 07:58:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:58: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":2169,"outputBytes":856} +2022-08-30 07:58: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":654376,"outputBytes":490226} +2022-08-30 07:58: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":2425,"outputBytes":2875207} +2022-08-30 07:58:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528727,"outputBytes":1706947} +2022-08-30 07:58:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528727,"outputBytes":3150524} +2022-08-30 07:58:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:58:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:58:47 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:58:47 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:58:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654643,"outputBytes":488040} +2022-08-30 07:58: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":167,"outputBytes":1118} +2022-08-30 07:58:47 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":488056} +2022-08-30 07:58: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":206,"outputBytes":1205} +2022-08-30 07:58:47 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":488147} +2022-08-30 07:58:47 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:58: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":2169,"outputBytes":856} +2022-08-30 07:58: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":654401,"outputBytes":490284} +2022-08-30 07:58: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":2425,"outputBytes":2875207} +2022-08-30 07:58:47 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528752,"outputBytes":1706987} +2022-08-30 07:58:47 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528752,"outputBytes":3150582} +2022-08-30 07:58:47 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:58:47 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:59:06 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:59:06 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:59:06 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654618,"outputBytes":487982} +2022-08-30 07:59: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":167,"outputBytes":1118} +2022-08-30 07:59:06 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654638,"outputBytes":487998} +2022-08-30 07:59: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":206,"outputBytes":1205} +2022-08-30 07:59:06 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654725,"outputBytes":488089} +2022-08-30 07:59:06 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:59: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":2169,"outputBytes":856} +2022-08-30 07:59: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":654376,"outputBytes":490226} +2022-08-30 07:59: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":2425,"outputBytes":2875207} +2022-08-30 07:59:06 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528727,"outputBytes":1706947} +2022-08-30 07:59:06 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528727,"outputBytes":3150524} +2022-08-30 07:59:06 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:59:06 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 07:59:17 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 07:59:17 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 07:59:17 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654618,"outputBytes":487982} +2022-08-30 07:59:17 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 07:59:17 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654638,"outputBytes":487998} +2022-08-30 07:59:17 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 07:59:17 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654725,"outputBytes":488089} +2022-08-30 07:59:17 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 07:59:17 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 07:59:17 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654376,"outputBytes":490226} +2022-08-30 07:59:17 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 07:59:17 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528727,"outputBytes":1706947} +2022-08-30 07:59:17 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528727,"outputBytes":3150524} +2022-08-30 07:59:17 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 07:59:17 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:00:15 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:00:15 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:00:15 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654620,"outputBytes":488036} +2022-08-30 08:00: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":167,"outputBytes":1118} +2022-08-30 08:00:15 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654640,"outputBytes":488052} +2022-08-30 08:00: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":206,"outputBytes":1205} +2022-08-30 08:00:15 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654727,"outputBytes":488143} +2022-08-30 08:00:15 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:00: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":2169,"outputBytes":856} +2022-08-30 08:00: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":654378,"outputBytes":490280} +2022-08-30 08:00: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":2425,"outputBytes":2875207} +2022-08-30 08:00:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528729,"outputBytes":1706979} +2022-08-30 08:00:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528729,"outputBytes":3150578} +2022-08-30 08:00:15 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:00:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:00:25 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:00:25 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:00:25 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654627,"outputBytes":488043} +2022-08-30 08:00: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":167,"outputBytes":1118} +2022-08-30 08:00:25 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654647,"outputBytes":488059} +2022-08-30 08:00: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":206,"outputBytes":1205} +2022-08-30 08:00:25 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654734,"outputBytes":488150} +2022-08-30 08:00:25 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:00: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":2169,"outputBytes":856} +2022-08-30 08:00: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":654385,"outputBytes":490287} +2022-08-30 08:00: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":2425,"outputBytes":2875207} +2022-08-30 08:00:25 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528736,"outputBytes":1706986} +2022-08-30 08:00:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528736,"outputBytes":3150585} +2022-08-30 08:00:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:00:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:00:31 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:00:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:00:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654620,"outputBytes":488036} +2022-08-30 08:00: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":167,"outputBytes":1118} +2022-08-30 08:00:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654640,"outputBytes":488052} +2022-08-30 08:00: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":206,"outputBytes":1205} +2022-08-30 08:00:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654727,"outputBytes":488143} +2022-08-30 08:00:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:00: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":2169,"outputBytes":856} +2022-08-30 08:00: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":654378,"outputBytes":490280} +2022-08-30 08:00: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":2425,"outputBytes":2875207} +2022-08-30 08:00:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528729,"outputBytes":1706979} +2022-08-30 08:00:32 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528729,"outputBytes":3150578} +2022-08-30 08:00:32 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:00:32 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:00:49 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:00:49 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:00:49 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654628,"outputBytes":488070} +2022-08-30 08:00: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":167,"outputBytes":1118} +2022-08-30 08:00:49 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654648,"outputBytes":488086} +2022-08-30 08:00: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":206,"outputBytes":1205} +2022-08-30 08:00:49 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654735,"outputBytes":488177} +2022-08-30 08:00:49 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:00: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":2169,"outputBytes":856} +2022-08-30 08:00: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":654386,"outputBytes":490314} +2022-08-30 08:00: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":2425,"outputBytes":2875207} +2022-08-30 08:00:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528737,"outputBytes":1707002} +2022-08-30 08:00:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528737,"outputBytes":3150612} +2022-08-30 08:00:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:00:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:01:46 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:01:46 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:01:46 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654632,"outputBytes":488048} +2022-08-30 08:01: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":167,"outputBytes":1118} +2022-08-30 08:01:46 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654652,"outputBytes":488064} +2022-08-30 08:01: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":206,"outputBytes":1205} +2022-08-30 08:01:46 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654739,"outputBytes":488155} +2022-08-30 08:01:46 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:01: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":2169,"outputBytes":856} +2022-08-30 08:01: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":654390,"outputBytes":490292} +2022-08-30 08:01: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":2425,"outputBytes":2875207} +2022-08-30 08:01:47 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528741,"outputBytes":1706988} +2022-08-30 08:01:47 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528741,"outputBytes":3150590} +2022-08-30 08:01:47 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:01:47 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:02:01 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:02:01 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:02:01 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654653,"outputBytes":488071} +2022-08-30 08:02:01 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:02:01 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654673,"outputBytes":488087} +2022-08-30 08:02:01 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:02:01 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654760,"outputBytes":488178} +2022-08-30 08:02:01 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:02:01 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:02: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":654411,"outputBytes":490315} +2022-08-30 08:02: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":2425,"outputBytes":2875207} +2022-08-30 08:02:01 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528762,"outputBytes":1707009} +2022-08-30 08:02:01 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528762,"outputBytes":3150613} +2022-08-30 08:02:01 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:02:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:02:43 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"} +2022-08-30 08:02:43 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:02:43 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654678,"outputBytes":488098} +2022-08-30 08:02:43 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:02:43 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654698,"outputBytes":488114} +2022-08-30 08:02:43 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:02:43 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654785,"outputBytes":488205} +2022-08-30 08:02:43 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:02:43 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:02:43 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654436,"outputBytes":490342} +2022-08-30 08:02:43 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:02:43 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528787,"outputBytes":1707025} +2022-08-30 08:02:44 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528787,"outputBytes":3150640} +2022-08-30 08:02:44 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:02:44 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:02:52 INFO:  Watch: {"event":"modify","input":"src/tfjs/load.ts"} +2022-08-30 08:02:52 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:02:52 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654653,"outputBytes":488071} +2022-08-30 08:02:52 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:02:52 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654673,"outputBytes":488087} +2022-08-30 08:02:52 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:02:52 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654760,"outputBytes":488178} +2022-08-30 08:02:52 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:02:52 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:02:52 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654411,"outputBytes":490315} +2022-08-30 08:02:52 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:02:52 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528762,"outputBytes":1707009} +2022-08-30 08:02:52 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528762,"outputBytes":3150613} +2022-08-30 08:02:52 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:02:52 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:03:50 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 08:03:50 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:03:50 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654697,"outputBytes":488111} +2022-08-30 08:03: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":167,"outputBytes":1118} +2022-08-30 08:03:50 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654717,"outputBytes":488127} +2022-08-30 08:03: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":206,"outputBytes":1205} +2022-08-30 08:03:50 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654804,"outputBytes":488218} +2022-08-30 08:03:50 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:03: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":2169,"outputBytes":856} +2022-08-30 08:03: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":654455,"outputBytes":490355} +2022-08-30 08:03: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":2425,"outputBytes":2875207} +2022-08-30 08:03:50 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528806,"outputBytes":1707030} +2022-08-30 08:03:50 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528806,"outputBytes":3150653} +2022-08-30 08:03:50 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:03:50 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:04:03 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 08:04:03 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:04:03 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654717,"outputBytes":488133} +2022-08-30 08:04: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":167,"outputBytes":1118} +2022-08-30 08:04:03 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654737,"outputBytes":488149} +2022-08-30 08:04: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":206,"outputBytes":1205} +2022-08-30 08:04:03 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654824,"outputBytes":488240} +2022-08-30 08:04:03 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:04: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":2169,"outputBytes":856} +2022-08-30 08:04: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":654475,"outputBytes":490377} +2022-08-30 08:04: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":2425,"outputBytes":2875207} +2022-08-30 08:04:03 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528826,"outputBytes":1707037} +2022-08-30 08:04:03 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528826,"outputBytes":3150675} +2022-08-30 08:04:03 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:04:03 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:04:12 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 08:04:12 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:04:12 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654720,"outputBytes":488101} +2022-08-30 08:04: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":167,"outputBytes":1118} +2022-08-30 08:04:12 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654740,"outputBytes":488117} +2022-08-30 08:04: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":206,"outputBytes":1205} +2022-08-30 08:04:12 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654827,"outputBytes":488208} +2022-08-30 08:04:12 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:04: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":2169,"outputBytes":856} +2022-08-30 08:04: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":654478,"outputBytes":490345} +2022-08-30 08:04: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":2425,"outputBytes":2875207} +2022-08-30 08:04:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528829,"outputBytes":1707018} +2022-08-30 08:04:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528829,"outputBytes":3150643} +2022-08-30 08:04:12 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:04:12 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:04:42 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:04:42 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:04:42 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654653,"outputBytes":488032} +2022-08-30 08:04: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":167,"outputBytes":1118} +2022-08-30 08:04:42 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654673,"outputBytes":488048} +2022-08-30 08:04: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":206,"outputBytes":1205} +2022-08-30 08:04:42 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654760,"outputBytes":488139} +2022-08-30 08:04:42 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:04: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":2169,"outputBytes":856} +2022-08-30 08:04: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":654411,"outputBytes":490276} +2022-08-30 08:04: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":2425,"outputBytes":2875207} +2022-08-30 08:04:43 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528762,"outputBytes":1706964} +2022-08-30 08:04:43 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528762,"outputBytes":3150574} +2022-08-30 08:04:43 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:04:43 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:05:30 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:05:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:05:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654709,"outputBytes":488088} +2022-08-30 08:05: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":167,"outputBytes":1118} +2022-08-30 08:05:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654729,"outputBytes":488104} +2022-08-30 08:05: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":206,"outputBytes":1205} +2022-08-30 08:05:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654816,"outputBytes":488195} +2022-08-30 08:05:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:05: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":2169,"outputBytes":856} +2022-08-30 08:05: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":654467,"outputBytes":490332} +2022-08-30 08:05: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":2425,"outputBytes":2875207} +2022-08-30 08:05:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528818,"outputBytes":1707010} +2022-08-30 08:05:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528818,"outputBytes":3150630} +2022-08-30 08:05:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:05:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:05:47 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:05:47 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:05:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654653,"outputBytes":488032} +2022-08-30 08:05: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":167,"outputBytes":1118} +2022-08-30 08:05:47 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654673,"outputBytes":488048} +2022-08-30 08:05: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":206,"outputBytes":1205} +2022-08-30 08:05:47 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654760,"outputBytes":488139} +2022-08-30 08:05:47 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:05: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":2169,"outputBytes":856} +2022-08-30 08:05: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":654411,"outputBytes":490276} +2022-08-30 08:05: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":2425,"outputBytes":2875207} +2022-08-30 08:05:47 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528762,"outputBytes":1706964} +2022-08-30 08:05:47 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528762,"outputBytes":3150574} +2022-08-30 08:05:47 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:05:47 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:05:55 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:05:55 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:05:55 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654655,"outputBytes":488034} +2022-08-30 08:05:55 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:05:55 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654675,"outputBytes":488050} +2022-08-30 08:05:55 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:05:55 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654762,"outputBytes":488141} +2022-08-30 08:05:55 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:05:55 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:05:55 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654413,"outputBytes":490278} +2022-08-30 08:05:55 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:05:55 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528764,"outputBytes":1706966} +2022-08-30 08:05:55 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528764,"outputBytes":3150576} +2022-08-30 08:05:55 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:05:55 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:06:18 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:06:18 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:06:18 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654668,"outputBytes":488049} +2022-08-30 08:06: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":167,"outputBytes":1118} +2022-08-30 08:06:18 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654688,"outputBytes":488065} +2022-08-30 08:06: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":206,"outputBytes":1205} +2022-08-30 08:06:18 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654775,"outputBytes":488156} +2022-08-30 08:06:18 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:06: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":2169,"outputBytes":856} +2022-08-30 08:06: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":654426,"outputBytes":490293} +2022-08-30 08:06:18 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:06:18 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528777,"outputBytes":1706972} +2022-08-30 08:06:18 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528777,"outputBytes":3150591} +2022-08-30 08:06:18 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:06:18 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:06:32 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:06:32 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:06:32 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654703,"outputBytes":488086} +2022-08-30 08:06: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":167,"outputBytes":1118} +2022-08-30 08:06:32 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654723,"outputBytes":488102} +2022-08-30 08:06: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":206,"outputBytes":1205} +2022-08-30 08:06:32 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654810,"outputBytes":488193} +2022-08-30 08:06:32 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:06: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":2169,"outputBytes":856} +2022-08-30 08:06: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":654461,"outputBytes":490330} +2022-08-30 08:06:32 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:06:32 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528812,"outputBytes":1706996} +2022-08-30 08:06:33 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528812,"outputBytes":3150628} +2022-08-30 08:06:33 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:06:33 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:08:23 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 08:08:23 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:08:23 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654650,"outputBytes":488064} +2022-08-30 08:08:23 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:08:23 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654670,"outputBytes":488080} +2022-08-30 08:08:23 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:08:23 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654757,"outputBytes":488171} +2022-08-30 08:08:23 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:08: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":2169,"outputBytes":856} +2022-08-30 08:08: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":654408,"outputBytes":490308} +2022-08-30 08:08: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":2425,"outputBytes":2875207} +2022-08-30 08:08:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528759,"outputBytes":1706987} +2022-08-30 08:08:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528759,"outputBytes":3150606} +2022-08-30 08:08:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:08:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:08:29 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:08:29 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:08:29 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654659,"outputBytes":488073} +2022-08-30 08:08: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":167,"outputBytes":1118} +2022-08-30 08:08:29 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654679,"outputBytes":488089} +2022-08-30 08:08: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":206,"outputBytes":1205} +2022-08-30 08:08:29 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654766,"outputBytes":488180} +2022-08-30 08:08:29 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:08: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":2169,"outputBytes":856} +2022-08-30 08:08: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":654417,"outputBytes":490317} +2022-08-30 08:08: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":2425,"outputBytes":2875207} +2022-08-30 08:08:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528768,"outputBytes":1706996} +2022-08-30 08:08:30 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528768,"outputBytes":3150615} +2022-08-30 08:08:30 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:08:30 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:08:40 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:08:40 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:08:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654662,"outputBytes":488076} +2022-08-30 08:08: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":167,"outputBytes":1118} +2022-08-30 08:08:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654682,"outputBytes":488092} +2022-08-30 08:08: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":206,"outputBytes":1205} +2022-08-30 08:08:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654769,"outputBytes":488183} +2022-08-30 08:08:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:08: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":2169,"outputBytes":856} +2022-08-30 08:08: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":654420,"outputBytes":490320} +2022-08-30 08:08: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":2425,"outputBytes":2875207} +2022-08-30 08:08:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528771,"outputBytes":1706996} +2022-08-30 08:08:41 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528771,"outputBytes":3150618} +2022-08-30 08:08:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:08:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:08:56 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:08:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:08:56 ERROR: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":96,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:08: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":167,"outputBytes":1118} +2022-08-30 08:08:56 ERROR: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":96,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:08: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":206,"outputBytes":1205} +2022-08-30 08:08:56 ERROR: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":96,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:08:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:08: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":2169,"outputBytes":856} +2022-08-30 08:08:56 ERROR: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":96,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:08: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":2425,"outputBytes":2875207} +2022-08-30 08:08:56 ERROR: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":96,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:08:56 ERROR: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":96,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:08:56 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:08:56 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:09:41 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:09:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:09:41 ERROR: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09: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":167,"outputBytes":1118} +2022-08-30 08:09:41 ERROR: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09: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":206,"outputBytes":1205} +2022-08-30 08:09:41 ERROR: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:41 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:09: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":2169,"outputBytes":856} +2022-08-30 08:09:41 ERROR: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09: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":2425,"outputBytes":2875207} +2022-08-30 08:09:41 ERROR: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:41 ERROR: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:09:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:09:55 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:09:55 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:09:55 ERROR: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:55 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:09:55 ERROR: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:55 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:09:55 ERROR: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:55 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:09:55 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:09:55 ERROR: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:55 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:09:55 ERROR: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:55 ERROR: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:09:55 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:09:55 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:10:07 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:10:07 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:10:07 ERROR: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:07 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:10:07 ERROR: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:07 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:10:07 ERROR: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:07 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:10:07 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:10:07 ERROR: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:07 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:10:07 ERROR: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:07 ERROR: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:07 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:10:07 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:10:21 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:10:21 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:10:22 ERROR: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10: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":167,"outputBytes":1118} +2022-08-30 08:10:22 ERROR: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10: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":206,"outputBytes":1205} +2022-08-30 08:10:22 ERROR: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:10: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":2169,"outputBytes":856} +2022-08-30 08:10:22 ERROR: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10: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":2425,"outputBytes":2875207} +2022-08-30 08:10:22 ERROR: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:22 ERROR: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts"} {"errors":[{"id":"","location":{"column":71,"file":"src/face/facemesh.ts","length":1,"line":97,"lineText":" const results = model.execute(face.tensor as Tensor) as Tensor[] : [];","namespace":"","suggestion":";"},"notes":[],"pluginName":"","text":"Expected \";\" but found \":\""}]} +2022-08-30 08:10:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:10:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:10:38 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:10:38 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:10:38 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654679,"outputBytes":488124} +2022-08-30 08:10:38 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:10:38 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654699,"outputBytes":488140} +2022-08-30 08:10:38 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:10:38 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654786,"outputBytes":488231} +2022-08-30 08:10:38 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:10:38 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:10:38 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654437,"outputBytes":490368} +2022-08-30 08:10:38 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:10:38 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528788,"outputBytes":1707022} +2022-08-30 08:10:39 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528788,"outputBytes":3150666} +2022-08-30 08:10:39 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:10:39 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:11:21 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:11:21 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:11:21 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654676,"outputBytes":488121} +2022-08-30 08:11: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":167,"outputBytes":1118} +2022-08-30 08:11:21 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654696,"outputBytes":488137} +2022-08-30 08:11: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":206,"outputBytes":1205} +2022-08-30 08:11:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654783,"outputBytes":488228} +2022-08-30 08:11:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:11: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":2169,"outputBytes":856} +2022-08-30 08:11: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":654434,"outputBytes":490365} +2022-08-30 08:11: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":2425,"outputBytes":2875207} +2022-08-30 08:11:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528785,"outputBytes":1707018} +2022-08-30 08:11:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528785,"outputBytes":3150663} +2022-08-30 08:11:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:11:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:12:59 INFO:  Watch: {"event":"modify","input":"src/face/blazeface.ts"} +2022-08-30 08:12:59 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:12:59 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654701,"outputBytes":488145} +2022-08-30 08:12:59 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:12:59 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654721,"outputBytes":488161} +2022-08-30 08:12:59 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:12:59 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654808,"outputBytes":488252} +2022-08-30 08:12:59 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:12:59 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:12:59 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654459,"outputBytes":490389} +2022-08-30 08:12:59 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:12:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528810,"outputBytes":1707033} +2022-08-30 08:13:00 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528810,"outputBytes":3150687} +2022-08-30 08:13:00 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:13:00 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:17:44 INFO:  Watch: {"event":"modify","input":"src/hand/handtrack.ts"} +2022-08-30 08:17:44 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:17:44 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654733,"outputBytes":488198} +2022-08-30 08:17: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":167,"outputBytes":1118} +2022-08-30 08:17:44 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654753,"outputBytes":488214} +2022-08-30 08:17: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":206,"outputBytes":1205} +2022-08-30 08:17:44 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654840,"outputBytes":488305} +2022-08-30 08:17:44 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:17: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":2169,"outputBytes":856} +2022-08-30 08:17: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":654491,"outputBytes":490442} +2022-08-30 08:17: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":2425,"outputBytes":2875207} +2022-08-30 08:17:44 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528842,"outputBytes":1707055} +2022-08-30 08:17:45 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528842,"outputBytes":3150730} +2022-08-30 08:17:45 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:17:45 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:17:57 INFO:  Watch: {"event":"modify","input":"src/hand/handtrack.ts"} +2022-08-30 08:17:57 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:17:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654737,"outputBytes":488179} +2022-08-30 08:17: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":167,"outputBytes":1118} +2022-08-30 08:17:57 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654757,"outputBytes":488195} +2022-08-30 08:17: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":206,"outputBytes":1205} +2022-08-30 08:17:57 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654844,"outputBytes":488286} +2022-08-30 08:17:57 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:17: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":2169,"outputBytes":856} +2022-08-30 08:17: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":654495,"outputBytes":490423} +2022-08-30 08:17: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":2425,"outputBytes":2875207} +2022-08-30 08:17:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528846,"outputBytes":1707055} +2022-08-30 08:17:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528846,"outputBytes":3150721} +2022-08-30 08:17:58 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:17:58 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:18:30 INFO:  Watch: {"event":"modify","input":"src/hand/handtrack.ts"} +2022-08-30 08:18:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:18:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654773,"outputBytes":488213} +2022-08-30 08:18: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":167,"outputBytes":1118} +2022-08-30 08:18:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654793,"outputBytes":488229} +2022-08-30 08:18: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":206,"outputBytes":1205} +2022-08-30 08:18:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654880,"outputBytes":488320} +2022-08-30 08:18:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:18: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":2169,"outputBytes":856} +2022-08-30 08:18: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":654531,"outputBytes":490457} +2022-08-30 08:18: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":2425,"outputBytes":2875207} +2022-08-30 08:18:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528882,"outputBytes":1707077} +2022-08-30 08:18:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528882,"outputBytes":3150755} +2022-08-30 08:18:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:18:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:19:55 INFO:  Watch: {"event":"modify","input":"src/hand/handtrack.ts"} +2022-08-30 08:19:55 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:19:55 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654801,"outputBytes":488313} +2022-08-30 08:19:55 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:19:55 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654821,"outputBytes":488329} +2022-08-30 08:19:55 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:19:55 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654908,"outputBytes":488420} +2022-08-30 08:19:55 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:19:55 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:19:55 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654559,"outputBytes":490557} +2022-08-30 08:19:55 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:19:55 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528910,"outputBytes":1707133} +2022-08-30 08:19:56 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528910,"outputBytes":3150855} +2022-08-30 08:19:56 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:19:56 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:21:41 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"} +2022-08-30 08:21:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:21:41 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654845,"outputBytes":488394} +2022-08-30 08:21: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":167,"outputBytes":1118} +2022-08-30 08:21:41 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654865,"outputBytes":488410} +2022-08-30 08:21: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":206,"outputBytes":1205} +2022-08-30 08:21:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":654952,"outputBytes":488501} +2022-08-30 08:21:41 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:21: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":2169,"outputBytes":856} +2022-08-30 08:21: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":654603,"outputBytes":490638} +2022-08-30 08:21: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":2425,"outputBytes":2875207} +2022-08-30 08:21:42 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3528954,"outputBytes":1707180} +2022-08-30 08:21:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3528954,"outputBytes":3150936} +2022-08-30 08:21:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:21:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:23:50 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"} +2022-08-30 08:23:50 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:23:50 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654942,"outputBytes":488566} +2022-08-30 08:23: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":167,"outputBytes":1118} +2022-08-30 08:23:50 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654962,"outputBytes":488582} +2022-08-30 08:23: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":206,"outputBytes":1205} +2022-08-30 08:23:50 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655049,"outputBytes":488673} +2022-08-30 08:23:50 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:23: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":2169,"outputBytes":856} +2022-08-30 08:23: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":654700,"outputBytes":490810} +2022-08-30 08:23: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":2425,"outputBytes":2875207} +2022-08-30 08:23:50 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529051,"outputBytes":1707283} +2022-08-30 08:23:50 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529051,"outputBytes":3151108} +2022-08-30 08:23:50 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:23:50 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:25:15 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"} +2022-08-30 08:25:15 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:25:15 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654966,"outputBytes":488619} +2022-08-30 08:25: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":167,"outputBytes":1118} +2022-08-30 08:25:15 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":654986,"outputBytes":488635} +2022-08-30 08:25: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":206,"outputBytes":1205} +2022-08-30 08:25:15 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655073,"outputBytes":488726} +2022-08-30 08:25:15 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:25: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":2169,"outputBytes":856} +2022-08-30 08:25: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":654724,"outputBytes":490863} +2022-08-30 08:25:16 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:25:16 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529075,"outputBytes":1707309} +2022-08-30 08:25:16 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529075,"outputBytes":3151161} +2022-08-30 08:25:16 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:25:16 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:25:40 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"} +2022-08-30 08:25:40 INFO:  Watch: {"event":"modify","input":"src/body/efficientpose.ts","skip":true} +2022-08-30 08:25:40 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts","skip":true} +2022-08-30 08:25:40 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:25:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":654997,"outputBytes":488704} +2022-08-30 08:25: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":167,"outputBytes":1118} +2022-08-30 08:25:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655017,"outputBytes":488720} +2022-08-30 08:25: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":206,"outputBytes":1205} +2022-08-30 08:25:40 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655104,"outputBytes":488811} +2022-08-30 08:25:40 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:25: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":2169,"outputBytes":856} +2022-08-30 08:25: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":654755,"outputBytes":490948} +2022-08-30 08:25: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":2425,"outputBytes":2875207} +2022-08-30 08:25:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529106,"outputBytes":1707353} +2022-08-30 08:25:41 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529106,"outputBytes":3151246} +2022-08-30 08:25:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:25:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:26:12 INFO:  Watch: {"event":"modify","input":"src/body/posenet.ts"} +2022-08-30 08:26:12 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:26:12 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655036,"outputBytes":488776} +2022-08-30 08:26: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":167,"outputBytes":1118} +2022-08-30 08:26:12 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655056,"outputBytes":488792} +2022-08-30 08:26: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":206,"outputBytes":1205} +2022-08-30 08:26:12 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655143,"outputBytes":488883} +2022-08-30 08:26:12 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:26: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":2169,"outputBytes":856} +2022-08-30 08:26: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":654794,"outputBytes":491020} +2022-08-30 08:26: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":2425,"outputBytes":2875207} +2022-08-30 08:26:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529145,"outputBytes":1707390} +2022-08-30 08:26:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529145,"outputBytes":3151318} +2022-08-30 08:26:12 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:26:12 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:27:10 INFO:  Watch: {"event":"modify","input":"src/object/centernet.ts"} +2022-08-30 08:27:10 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:27:10 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655109,"outputBytes":488904} +2022-08-30 08:27:10 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:27:10 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655129,"outputBytes":488920} +2022-08-30 08:27:10 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:27:10 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655216,"outputBytes":489011} +2022-08-30 08:27:10 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:27:10 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:27:10 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654867,"outputBytes":491148} +2022-08-30 08:27:10 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:27:10 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529218,"outputBytes":1707456} +2022-08-30 08:27:10 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529218,"outputBytes":3151446} +2022-08-30 08:27:10 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:27:10 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:27:48 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 08:27:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:27:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655183,"outputBytes":489037} +2022-08-30 08:27:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:27:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655203,"outputBytes":489053} +2022-08-30 08:27:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:27:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655290,"outputBytes":489144} +2022-08-30 08:27:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:27:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:27:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654941,"outputBytes":491281} +2022-08-30 08:27:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:27:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529292,"outputBytes":1707522} +2022-08-30 08:27:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529292,"outputBytes":3151579} +2022-08-30 08:27:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:27:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:29:51 INFO:  Watch: {"event":"modify","input":"src/face/iris.ts"} +2022-08-30 08:29:51 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:29:51 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655132,"outputBytes":489039} +2022-08-30 08:29:51 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:29:51 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655152,"outputBytes":489055} +2022-08-30 08:29:51 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:29:51 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655239,"outputBytes":489146} +2022-08-30 08:29:51 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:29:51 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:29:51 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654890,"outputBytes":491283} +2022-08-30 08:29:51 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:29:52 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529241,"outputBytes":1707504} +2022-08-30 08:29:52 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529241,"outputBytes":3151581} +2022-08-30 08:29:52 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:29:52 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:30:18 INFO:  Watch: {"event":"modify","input":"src/face/iris.ts"} +2022-08-30 08:30:18 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts","skip":true} +2022-08-30 08:30:18 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:30:18 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655115,"outputBytes":489020} +2022-08-30 08:30: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":167,"outputBytes":1118} +2022-08-30 08:30:18 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655135,"outputBytes":489036} +2022-08-30 08:30: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":206,"outputBytes":1205} +2022-08-30 08:30:18 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655222,"outputBytes":489127} +2022-08-30 08:30:18 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:30: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":2169,"outputBytes":856} +2022-08-30 08:30: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":654873,"outputBytes":491264} +2022-08-30 08:30:18 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:30:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529224,"outputBytes":1707505} +2022-08-30 08:30:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529224,"outputBytes":3151562} +2022-08-30 08:30:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:30:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:31:10 INFO:  Watch: {"event":"modify","input":"src/face/antispoof.ts"} +2022-08-30 08:31:10 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:31:10 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655139,"outputBytes":489071} +2022-08-30 08:31:10 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:31:10 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655159,"outputBytes":489087} +2022-08-30 08:31:10 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:31:10 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655246,"outputBytes":489178} +2022-08-30 08:31:10 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:31:10 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:31:10 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654897,"outputBytes":491315} +2022-08-30 08:31:10 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:31:10 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529248,"outputBytes":1707531} +2022-08-30 08:31:10 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529248,"outputBytes":3151613} +2022-08-30 08:31:10 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:31:10 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:31:41 INFO:  Watch: {"event":"modify","input":"src/face/faceres.ts"} +2022-08-30 08:31:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:31:41 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655163,"outputBytes":489124} +2022-08-30 08:31: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":167,"outputBytes":1118} +2022-08-30 08:31:41 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655183,"outputBytes":489140} +2022-08-30 08:31: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":206,"outputBytes":1205} +2022-08-30 08:31:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655270,"outputBytes":489231} +2022-08-30 08:31:41 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:31: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":2169,"outputBytes":856} +2022-08-30 08:31: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":654921,"outputBytes":491368} +2022-08-30 08:31: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":2425,"outputBytes":2875207} +2022-08-30 08:31:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529272,"outputBytes":1707557} +2022-08-30 08:31:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529272,"outputBytes":3151666} +2022-08-30 08:31:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:31:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:31:50 INFO:  Watch: {"event":"modify","input":"src/face/insightface.ts"} +2022-08-30 08:31:50 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:31:50 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655187,"outputBytes":489177} +2022-08-30 08:31: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":167,"outputBytes":1118} +2022-08-30 08:31:50 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655207,"outputBytes":489193} +2022-08-30 08:31: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":206,"outputBytes":1205} +2022-08-30 08:31:50 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655294,"outputBytes":489284} +2022-08-30 08:31:50 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:31: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":2169,"outputBytes":856} +2022-08-30 08:31: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":654945,"outputBytes":491421} +2022-08-30 08:31: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":2425,"outputBytes":2875207} +2022-08-30 08:31:50 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529296,"outputBytes":1707583} +2022-08-30 08:31:50 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529296,"outputBytes":3151719} +2022-08-30 08:31:50 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:31:50 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:31:56 INFO:  Watch: {"event":"modify","input":"src/face/liveness.ts"} +2022-08-30 08:31:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:31:56 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655211,"outputBytes":489230} +2022-08-30 08:31: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":167,"outputBytes":1118} +2022-08-30 08:31:56 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655231,"outputBytes":489246} +2022-08-30 08:31: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":206,"outputBytes":1205} +2022-08-30 08:31:56 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655318,"outputBytes":489337} +2022-08-30 08:31:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:31: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":2169,"outputBytes":856} +2022-08-30 08:31: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":654969,"outputBytes":491474} +2022-08-30 08:31: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":2425,"outputBytes":2875207} +2022-08-30 08:31:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529320,"outputBytes":1707609} +2022-08-30 08:31:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529320,"outputBytes":3151772} +2022-08-30 08:31:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:31:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:32:06 INFO:  Watch: {"event":"modify","input":"src/face/mobilefacenet.ts"} +2022-08-30 08:32:07 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:32:07 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655235,"outputBytes":489281} +2022-08-30 08:32:07 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:32:07 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655255,"outputBytes":489297} +2022-08-30 08:32:07 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:32:07 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655342,"outputBytes":489388} +2022-08-30 08:32:07 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:32:07 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:32:07 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654993,"outputBytes":491525} +2022-08-30 08:32:07 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:32:07 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529344,"outputBytes":1707635} +2022-08-30 08:32:07 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529344,"outputBytes":3151825} +2022-08-30 08:32:07 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:32:07 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:33:43 INFO:  Watch: {"event":"modify","input":"src/models.ts"} +2022-08-30 08:33:43 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:33:43 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655228,"outputBytes":489272} +2022-08-30 08:33:43 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:33:43 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655248,"outputBytes":489288} +2022-08-30 08:33:43 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:33:43 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655335,"outputBytes":489379} +2022-08-30 08:33:43 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:33:43 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:33:43 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654986,"outputBytes":491516} +2022-08-30 08:33:43 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:33:43 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529337,"outputBytes":1707633} +2022-08-30 08:33:43 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529337,"outputBytes":3151816} +2022-08-30 08:33:43 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:33:43 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:37:21 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:37:21 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:37:21 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655310,"outputBytes":489387} +2022-08-30 08:37: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":167,"outputBytes":1118} +2022-08-30 08:37:21 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655330,"outputBytes":489403} +2022-08-30 08:37: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":206,"outputBytes":1205} +2022-08-30 08:37:21 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655417,"outputBytes":489494} +2022-08-30 08:37:21 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:37: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":2169,"outputBytes":856} +2022-08-30 08:37: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":655068,"outputBytes":491631} +2022-08-30 08:37: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":2425,"outputBytes":2875207} +2022-08-30 08:37:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529419,"outputBytes":1707707} +2022-08-30 08:37:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529419,"outputBytes":3151932} +2022-08-30 08:37:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:37:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 08:38:17 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts"} +2022-08-30 08:38:17 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 08:38:17 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655228,"outputBytes":489272} +2022-08-30 08:38:17 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 08:38:17 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655248,"outputBytes":489288} +2022-08-30 08:38:17 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 08:38:17 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655335,"outputBytes":489379} +2022-08-30 08:38:17 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 08:38:17 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 08:38:17 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654986,"outputBytes":491516} +2022-08-30 08:38:18 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 08:38:18 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529337,"outputBytes":1707633} +2022-08-30 08:38:18 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529337,"outputBytes":3151816} +2022-08-30 08:38:18 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 08:38:18 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:10:18 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:10:18 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:10:18 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655254,"outputBytes":489298} +2022-08-30 09:10: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":167,"outputBytes":1118} +2022-08-30 09:10:18 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655274,"outputBytes":489314} +2022-08-30 09:10: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":206,"outputBytes":1205} +2022-08-30 09:10:18 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655361,"outputBytes":489405} +2022-08-30 09:10:18 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:10: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":2169,"outputBytes":856} +2022-08-30 09:10: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":655012,"outputBytes":491542} +2022-08-30 09:10:18 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:10:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529363,"outputBytes":1707656} +2022-08-30 09:10:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529363,"outputBytes":3151842} +2022-08-30 09:10:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:10:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:11:01 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:11:01 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:11:01 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655309,"outputBytes":489353} +2022-08-30 09:11:01 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:11:01 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655329,"outputBytes":489369} +2022-08-30 09:11:01 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:11:01 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655416,"outputBytes":489460} +2022-08-30 09:11:01 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:11:01 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:11:02 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655067,"outputBytes":491597} +2022-08-30 09:11:02 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:11:02 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529418,"outputBytes":1707707} +2022-08-30 09:11:02 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529418,"outputBytes":3151897} +2022-08-30 09:11:02 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:11:02 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:11:21 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:11:21 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:11:21 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655338,"outputBytes":489382} +2022-08-30 09:11: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":167,"outputBytes":1118} +2022-08-30 09:11:21 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655358,"outputBytes":489398} +2022-08-30 09:11: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":206,"outputBytes":1205} +2022-08-30 09:11:21 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655445,"outputBytes":489489} +2022-08-30 09:11:21 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:11: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":2169,"outputBytes":856} +2022-08-30 09:11: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":655096,"outputBytes":491626} +2022-08-30 09:11: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":2425,"outputBytes":2875207} +2022-08-30 09:11:21 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529447,"outputBytes":1707731} +2022-08-30 09:11:21 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529447,"outputBytes":3151926} +2022-08-30 09:11:21 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:11:21 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:11:34 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:11:34 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:11:34 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655367,"outputBytes":489411} +2022-08-30 09:11:34 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:11:34 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655387,"outputBytes":489427} +2022-08-30 09:11:34 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:11:34 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655474,"outputBytes":489518} +2022-08-30 09:11:34 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:11:34 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:11:34 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655125,"outputBytes":491655} +2022-08-30 09:11:34 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:11:35 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529476,"outputBytes":1707755} +2022-08-30 09:11:35 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529476,"outputBytes":3151955} +2022-08-30 09:11:35 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:11:35 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:11:43 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:11:43 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:11:43 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655369,"outputBytes":489413} +2022-08-30 09:11:43 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:11:43 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655389,"outputBytes":489429} +2022-08-30 09:11:43 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:11:43 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655476,"outputBytes":489520} +2022-08-30 09:11:43 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:11:43 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:11:43 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655127,"outputBytes":491657} +2022-08-30 09:11:43 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:11:43 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529478,"outputBytes":1707757} +2022-08-30 09:11:43 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529478,"outputBytes":3151957} +2022-08-30 09:11:43 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:11:43 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:12:30 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:12:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:12:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655407,"outputBytes":489478} +2022-08-30 09:12: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":167,"outputBytes":1118} +2022-08-30 09:12:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655427,"outputBytes":489494} +2022-08-30 09:12: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":206,"outputBytes":1205} +2022-08-30 09:12:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655514,"outputBytes":489585} +2022-08-30 09:12:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:12: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":2169,"outputBytes":856} +2022-08-30 09:12: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":655165,"outputBytes":491722} +2022-08-30 09:12: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":2425,"outputBytes":2875207} +2022-08-30 09:12:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529516,"outputBytes":1707798} +2022-08-30 09:12:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529516,"outputBytes":3152022} +2022-08-30 09:12:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:12:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:12:34 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:12:34 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:12:34 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655416,"outputBytes":489487} +2022-08-30 09:12:34 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:12:34 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655436,"outputBytes":489503} +2022-08-30 09:12:34 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:12:34 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655523,"outputBytes":489594} +2022-08-30 09:12:34 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:12:34 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:12:34 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655174,"outputBytes":491731} +2022-08-30 09:12:35 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:12:35 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529525,"outputBytes":1707806} +2022-08-30 09:12:35 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529525,"outputBytes":3152031} +2022-08-30 09:12:35 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:12:35 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:13:50 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts"} +2022-08-30 09:13:50 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:13:50 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655229,"outputBytes":489273} +2022-08-30 09:13: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":167,"outputBytes":1118} +2022-08-30 09:13:50 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655249,"outputBytes":489289} +2022-08-30 09:13: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":206,"outputBytes":1205} +2022-08-30 09:13:51 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655336,"outputBytes":489380} +2022-08-30 09:13:51 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:13:51 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:13:51 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654987,"outputBytes":491517} +2022-08-30 09:13:51 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:13:51 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529338,"outputBytes":1707635} +2022-08-30 09:13:51 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529338,"outputBytes":3151817} +2022-08-30 09:13:51 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:13:51 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:16:13 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"} +2022-08-30 09:16:13 INFO:  Watch: {"event":"modify","input":"src/face/mobilefacenet.ts","skip":true} +2022-08-30 09:16:13 INFO:  Watch: {"event":"modify","input":"src/face/liveness.ts","skip":true} +2022-08-30 09:16:13 INFO:  Watch: {"event":"modify","input":"src/face/insightface.ts","skip":true} +2022-08-30 09:16:13 INFO:  Watch: {"event":"modify","input":"src/face/faceres.ts","skip":true} +2022-08-30 09:16:13 INFO:  Watch: {"event":"modify","input":"src/face/iris.ts","skip":true} +2022-08-30 09:16:13 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:16:13 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655185,"outputBytes":489318} +2022-08-30 09:16:13 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:16:13 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655205,"outputBytes":489334} +2022-08-30 09:16:13 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:16:13 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655292,"outputBytes":489425} +2022-08-30 09:16:13 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:16:13 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:16:13 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":654943,"outputBytes":491562} +2022-08-30 09:16:13 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:16:13 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529294,"outputBytes":1707671} +2022-08-30 09:16:13 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529294,"outputBytes":3151861} +2022-08-30 09:16:13 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:16:13 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:23:14 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:23:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:23:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655691,"outputBytes":489847} +2022-08-30 09:23: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":167,"outputBytes":1118} +2022-08-30 09:23:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655711,"outputBytes":489863} +2022-08-30 09:23: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":206,"outputBytes":1205} +2022-08-30 09:23:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655798,"outputBytes":489954} +2022-08-30 09:23:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:23: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":2169,"outputBytes":856} +2022-08-30 09:23: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":655449,"outputBytes":492175} +2022-08-30 09:23: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":2425,"outputBytes":2875207} +2022-08-30 09:23:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529800,"outputBytes":1707919} +2022-08-30 09:23:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529800,"outputBytes":3152360} +2022-08-30 09:23:15 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:23:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:23:59 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:23:59 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:23:59 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655692,"outputBytes":489847} +2022-08-30 09:23:59 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:23:59 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655712,"outputBytes":489863} +2022-08-30 09:23:59 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:23:59 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655799,"outputBytes":489954} +2022-08-30 09:23:59 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:23:59 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:23:59 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655450,"outputBytes":492175} +2022-08-30 09:23:59 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:23:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529801,"outputBytes":1707919} +2022-08-30 09:24:00 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529801,"outputBytes":3152360} +2022-08-30 09:24:00 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:24:00 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:24:22 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:24:22 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:24:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655718,"outputBytes":489874} +2022-08-30 09:24: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":167,"outputBytes":1118} +2022-08-30 09:24:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655738,"outputBytes":489890} +2022-08-30 09:24: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":206,"outputBytes":1205} +2022-08-30 09:24:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655825,"outputBytes":489981} +2022-08-30 09:24:22 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:24: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":2169,"outputBytes":856} +2022-08-30 09:24: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":655476,"outputBytes":492202} +2022-08-30 09:24: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":2425,"outputBytes":2875207} +2022-08-30 09:24:22 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529827,"outputBytes":1707938} +2022-08-30 09:24:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529827,"outputBytes":3152387} +2022-08-30 09:24:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:24:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:24:48 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:24:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:24:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655715,"outputBytes":489871} +2022-08-30 09:24:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:24:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655735,"outputBytes":489887} +2022-08-30 09:24:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:24:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655822,"outputBytes":489978} +2022-08-30 09:24:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:24:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:24:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655473,"outputBytes":492199} +2022-08-30 09:24: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":2425,"outputBytes":2875207} +2022-08-30 09:24:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529824,"outputBytes":1707935} +2022-08-30 09:24:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529824,"outputBytes":3152384} +2022-08-30 09:24:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:24:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:27:34 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:27:34 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:27:34 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655715,"outputBytes":489871} +2022-08-30 09:27:34 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:27:34 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655735,"outputBytes":489887} +2022-08-30 09:27:34 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:27:34 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655822,"outputBytes":489978} +2022-08-30 09:27:34 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:27:34 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:27:34 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655473,"outputBytes":492199} +2022-08-30 09:27:34 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:27:34 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529824,"outputBytes":1707935} +2022-08-30 09:27:34 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529824,"outputBytes":3152384} +2022-08-30 09:27:34 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:27:34 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:30:01 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:30:01 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:30:01 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655755,"outputBytes":489911} +2022-08-30 09:30:01 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:30:01 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655775,"outputBytes":489927} +2022-08-30 09:30:01 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:30:01 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655862,"outputBytes":490018} +2022-08-30 09:30:01 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:30:01 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:30: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":655513,"outputBytes":492239} +2022-08-30 09:30: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":2425,"outputBytes":2875207} +2022-08-30 09:30:01 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529864,"outputBytes":1707968} +2022-08-30 09:30:01 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529864,"outputBytes":3152424} +2022-08-30 09:30:01 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:30:01 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:30:36 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:30:36 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:30:36 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655818,"outputBytes":489976} +2022-08-30 09:30: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":167,"outputBytes":1118} +2022-08-30 09:30:36 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655838,"outputBytes":489992} +2022-08-30 09:30: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":206,"outputBytes":1205} +2022-08-30 09:30:36 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655925,"outputBytes":490083} +2022-08-30 09:30:36 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:30: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":2169,"outputBytes":856} +2022-08-30 09:30: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":655576,"outputBytes":492316} +2022-08-30 09:30: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":2425,"outputBytes":2875207} +2022-08-30 09:30:37 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529927,"outputBytes":1708015} +2022-08-30 09:30:37 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529927,"outputBytes":3152485} +2022-08-30 09:30:37 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:30:37 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:30:48 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:30:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:30:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655842,"outputBytes":490001} +2022-08-30 09:30:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:30:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655862,"outputBytes":490017} +2022-08-30 09:30:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:30:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655949,"outputBytes":490108} +2022-08-30 09:30:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:30:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:30:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655600,"outputBytes":492341} +2022-08-30 09:30:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:30:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529951,"outputBytes":1708033} +2022-08-30 09:30:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529951,"outputBytes":3152510} +2022-08-30 09:30:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:30:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:31:49 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:31:49 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:31:49 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655755,"outputBytes":489911} +2022-08-30 09:31: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":167,"outputBytes":1118} +2022-08-30 09:31:49 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655775,"outputBytes":489927} +2022-08-30 09:31: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":206,"outputBytes":1205} +2022-08-30 09:31:49 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655862,"outputBytes":490018} +2022-08-30 09:31:49 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:31: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":2169,"outputBytes":856} +2022-08-30 09:31: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":655513,"outputBytes":492239} +2022-08-30 09:31: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":2425,"outputBytes":2875207} +2022-08-30 09:31:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529864,"outputBytes":1707968} +2022-08-30 09:31:50 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529864,"outputBytes":3152424} +2022-08-30 09:31:50 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:31:50 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:32:54 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:32:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:32:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655777,"outputBytes":489933} +2022-08-30 09:32: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":167,"outputBytes":1118} +2022-08-30 09:32:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655797,"outputBytes":489949} +2022-08-30 09:32: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":206,"outputBytes":1205} +2022-08-30 09:32:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655884,"outputBytes":490040} +2022-08-30 09:32:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:32: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":2169,"outputBytes":856} +2022-08-30 09:32: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":655535,"outputBytes":492261} +2022-08-30 09:32: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":2425,"outputBytes":2875207} +2022-08-30 09:32:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529886,"outputBytes":1707988} +2022-08-30 09:32:55 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529886,"outputBytes":3152447} +2022-08-30 09:32:55 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:32:55 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:33:00 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:33:00 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:33:00 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655743,"outputBytes":489899} +2022-08-30 09:33: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":167,"outputBytes":1118} +2022-08-30 09:33:00 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655763,"outputBytes":489915} +2022-08-30 09:33: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":206,"outputBytes":1205} +2022-08-30 09:33:00 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655850,"outputBytes":490006} +2022-08-30 09:33:00 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:33: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":2169,"outputBytes":856} +2022-08-30 09:33: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":655501,"outputBytes":492227} +2022-08-30 09:33: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":2425,"outputBytes":2875207} +2022-08-30 09:33:00 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529852,"outputBytes":1707965} +2022-08-30 09:33:00 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529852,"outputBytes":3152412} +2022-08-30 09:33:00 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:33:00 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:37:48 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:37:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:37:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655753,"outputBytes":489318} +2022-08-30 09:37:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118} +2022-08-30 09:37:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655773,"outputBytes":489334} +2022-08-30 09:37:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205} +2022-08-30 09:37:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655860,"outputBytes":489425} +2022-08-30 09:37:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:37:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856} +2022-08-30 09:37:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655511,"outputBytes":491562} +2022-08-30 09:37:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2875207} +2022-08-30 09:37:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529862,"outputBytes":1707671} +2022-08-30 09:37:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529862,"outputBytes":3151861} +2022-08-30 09:37:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:37:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 09:38:41 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"} +2022-08-30 09:38:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098} +2022-08-30 09:38:42 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":655753,"outputBytes":489318} +2022-08-30 09:38: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":167,"outputBytes":1118} +2022-08-30 09:38:42 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":655773,"outputBytes":489334} +2022-08-30 09:38: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":206,"outputBytes":1205} +2022-08-30 09:38:42 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":655860,"outputBytes":489425} +2022-08-30 09:38:42 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439} +2022-08-30 09:38: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":2169,"outputBytes":856} +2022-08-30 09:38: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":655511,"outputBytes":491562} +2022-08-30 09:38: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":2425,"outputBytes":2875207} +2022-08-30 09:38:42 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3529862,"outputBytes":1707671} +2022-08-30 09:38:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3529862,"outputBytes":3151861} +2022-08-30 09:38:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560} +2022-08-30 09:38:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867} +2022-08-30 10:26:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2048,"url":"/test/browser.html","remote":"::1"} +2022-08-30 10:26:23 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":5039,"url":"/test/browser.js","remote":"::1"} +2022-08-30 10:26:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3151861,"url":"/dist/human.esm.js","remote":"::1"} +2022-08-30 10:26:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5683088,"url":"/dist/human.esm.js.map","remote":"::1"} +2022-08-30 10:26:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"} +2022-08-30 10:26:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::1"} +2022-08-30 10:26:26 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-08-30 10:26:27 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} +2022-08-30 10:26:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-08-30 10:26:37 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} +2022-08-30 10:27:01 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-08-30 10:27:02 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} +2022-08-30 10:27:33 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":32320,"url":"/samples/in/ai-body.jpg","remote":"::1"} +2022-08-30 10:27:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/jpeg","size":8596,"url":"/samples/in/ai-face.jpg","remote":"::1"} diff --git a/test/node.js b/test/node.js index da2d66da..e34a05b2 100644 --- a/test/node.js +++ b/test/node.js @@ -8,10 +8,12 @@ let logFile = 'test.log'; log.configure({ inspect: { breakLength: 350 } }); const tests = [ - 'test-node.js', - 'test-node-gpu.js', - 'test-node-wasm.js', - // 'test-node-cpu.js', + 'test-node-load.js', + 'test-node-gear.js', + 'test-backend-node.js', + 'test-backend-node-gpu.js', + 'test-backend-node-wasm.js', + // 'test-backend-node-cpu.js', ]; const demos = [ diff --git a/test/test-node-cpu.js b/test/test-backend-node-cpu.js similarity index 71% rename from test/test-node-cpu.js rename to test/test-backend-node-cpu.js index 3b464c63..ccb1e75a 100644 --- a/test/test-node-cpu.js +++ b/test/test-backend-node-cpu.js @@ -1,6 +1,6 @@ process.env.TF_CPP_MIN_LOG_LEVEL = '2'; -const Human = require('../dist/human.node.js').default; -const test = require('./test-main.js').test; +const H = require('../dist/human.node.js'); +const test = require('./test-node-main.js').test; const config = { cacheSensitivity: 0, @@ -10,7 +10,7 @@ const config = { async: true, face: { enabled: true, - detector: { rotation: true }, + detector: { rotation: false }, mesh: { enabled: true }, iris: { enabled: true }, description: { enabled: true }, @@ -25,4 +25,8 @@ const config = { filter: { enabled: false }, }; -test(Human, config); +async function main() { + test(H.Human, config); +} + +if (require.main === module) main(); diff --git a/test/test-node-gpu.js b/test/test-backend-node-gpu.js similarity index 84% rename from test/test-node-gpu.js rename to test/test-backend-node-gpu.js index 8d327306..e817b972 100644 --- a/test/test-node-gpu.js +++ b/test/test-backend-node-gpu.js @@ -1,6 +1,6 @@ process.env.TF_CPP_MIN_LOG_LEVEL = '2'; const H = require('../dist/human.node-gpu.js'); -const test = require('./test-main.js').test; +const test = require('./test-node-main.js').test; const config = { cacheSensitivity: 0, @@ -10,7 +10,7 @@ const config = { async: true, face: { enabled: true, - detector: { rotation: true }, + detector: { rotation: false }, mesh: { enabled: true }, iris: { enabled: true }, description: { enabled: true }, @@ -29,4 +29,4 @@ async function main() { test(H.Human, config); } -main(); +if (require.main === module) main(); diff --git a/test/test-node-wasm.js b/test/test-backend-node-wasm.js similarity index 93% rename from test/test-node-wasm.js rename to test/test-backend-node-wasm.js index 616a1159..875d08d5 100644 --- a/test/test-node-wasm.js +++ b/test/test-backend-node-wasm.js @@ -3,7 +3,7 @@ const tf = require('@tensorflow/tfjs'); // wasm backend requires tfjs to be load const wasm = require('@tensorflow/tfjs-backend-wasm'); // wasm backend does not get auto-loaded in nodejs const { Canvas, Image } = require('canvas'); // eslint-disable-line node/no-extraneous-require, node/no-missing-require const H = require('../dist/human.node-wasm.js'); -const test = require('./test-main.js').test; +const test = require('./test-node-main.js').test; H.env.Canvas = Canvas; // requires monkey-patch as wasm does not have tf.browser namespace H.env.Image = Image; // requires monkey-patch as wasm does not have tf.browser namespace @@ -16,6 +16,7 @@ const config = { wasmPath: `https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@${tf.version_core}/dist/`, debug: false, async: false, + softwareKernels: true, face: { enabled: true, detector: { rotation: false }, @@ -42,4 +43,4 @@ async function main() { test(H.Human, config); } -main(); +if (require.main === module) main(); diff --git a/test/test-node.js b/test/test-backend-node.js similarity index 84% rename from test/test-node.js rename to test/test-backend-node.js index 355c88c2..76a9f5c9 100644 --- a/test/test-node.js +++ b/test/test-backend-node.js @@ -1,7 +1,7 @@ process.env.TF_CPP_MIN_LOG_LEVEL = '2'; const H = require('../dist/human.node.js'); -const test = require('./test-main.js').test; +const test = require('./test-node-main.js').test; const config = { cacheSensitivity: 0, @@ -11,7 +11,7 @@ const config = { async: true, face: { enabled: true, - detector: { rotation: true }, + detector: { rotation: false }, mesh: { enabled: true }, iris: { enabled: true }, description: { enabled: true }, @@ -30,4 +30,4 @@ async function main() { test(H.Human, config); } -main(); +if (require.main === module) main(); diff --git a/test/test-gear.js b/test/test-node-gear.js similarity index 53% rename from test/test-gear.js rename to test/test-node-gear.js index 91dd6d7f..a84093e7 100644 --- a/test/test-gear.js +++ b/test/test-node-gear.js @@ -1,15 +1,19 @@ require('@tensorflow/tfjs-node'); const fs = require('fs'); const path = require('path'); -const log = require('@vladmandic/pilogger'); const Human = require('../dist/human.node.js').default; +const log = (status, ...data) => { + if (typeof process.send !== 'undefined') process.send([status, data]); // send to parent process over ipc + else console.log(status, ...data); // eslint-disable-line no-console +}; + process.env.TF_CPP_MIN_LOG_LEVEL = '2'; const humanConfig = { backend: 'tensorflow', face: { detector: { enabled: true, modelPath: 'file://../human-models/models/blazeface-back.json', cropFactor: 1.6 }, - mesh: { enabled: false }, + mesh: { enabled: true }, iris: { enabled: false }, description: { enabled: true, modelPath: 'file://../human-models/models/faceres.json' }, gear: { enabled: true, modelPath: 'file://../human-models/models/gear.json' }, @@ -29,47 +33,63 @@ function getImageTensor(imageFile) { const buffer = fs.readFileSync(imageFile); tensor = human.tf.node.decodeImage(buffer, 3); } catch (e) { - log.warn(`error loading image: ${imageFile}: ${e.message}`); + log('error', `failed: loading image ${imageFile}: ${e.message}`); } return tensor; } function printResult(obj) { - if (!obj || !obj.res || !obj.res.face || obj.res.face.length === 0) log.warn('no faces detected'); - else obj.res.face.forEach((face, i) => log.data({ face: i, model: obj.model, image: obj.image, age: face.age, gender: face.gender, genderScore: face.genderScore, race: face.race })); + if (!obj || !obj.res || !obj.res.face || obj.res.face.length === 0) log('warn', 'failed: no faces detected'); + else obj.res.face.forEach((face, i) => log('data', 'results', { face: i, model: obj.model, image: obj.image, age: face.age, gender: face.gender, genderScore: face.genderScore, race: face.race })); } async function main() { - log.header(); - if (process.argv.length !== 3) throw new Error('parameters: or missing'); - if (!fs.existsSync(process.argv[2])) throw new Error(`file not found: ${process.argv[2]}`); - const stat = fs.statSync(process.argv[2]); + const inputs = process.argv.length === 3 ? process.argv[2] : 'samples/in/ai-face.jpg'; + if (!fs.existsSync(inputs)) throw new Error(`file not found: ${inputs}`); + const stat = fs.statSync(inputs); const files = []; - if (stat.isFile()) files.push(process.argv[2]); - else if (stat.isDirectory()) fs.readdirSync(process.argv[2]).forEach((f) => files.push(path.join(process.argv[2], f))); - log.data('input:', files); + if (stat.isFile()) files.push(inputs); + else if (stat.isDirectory()) fs.readdirSync(inputs).forEach((f) => files.push(path.join(inputs, f))); + log('data', 'input:', files); await human.load(); let res; for (const f of files) { const tensor = getImageTensor(f); if (!tensor) continue; + let msg = {}; + human.config.face.description.enabled = true; human.config.face.gear.enabled = false; human.config.face.ssrnet.enabled = false; res = await human.detect(tensor); - printResult({ model: 'faceres', image: f, res }); + + msg = { model: 'faceres', image: f, res }; + if (res?.face?.[0].age > 20 && res?.face?.[0].age < 30) log('state', 'passed: gear', msg.model, msg.image); + else log('error', 'failed: gear', msg); + printResult(msg); + human.config.face.description.enabled = false; human.config.face.gear.enabled = true; human.config.face.ssrnet.enabled = false; res = await human.detect(tensor); - printResult({ model: 'gear', image: f, res }); + msg = { model: 'gear', image: f, res }; + if (res?.face?.[0].age > 20 && res?.face?.[0].age < 30) log('state', 'passed: gear', msg.model, msg.image); + else log('error', 'failed: gear', msg); + printResult(msg); + human.config.face.description.enabled = false; human.config.face.gear.enabled = false; human.config.face.ssrnet.enabled = true; res = await human.detect(tensor); - printResult({ model: 'ssrnet', image: f, res }); + msg = { model: 'ssrnet', image: f, res }; + if (res?.face?.[0].age > 20 && res?.face?.[0].age < 30) log('state', 'passed: gear', msg.model, msg.image); + else log('error', 'failed: gear', msg); + printResult(msg); + human.tf.dispose(tensor); } } -main(); +exports.test = main; + +if (require.main === module) main(); diff --git a/test/test-node-load.js b/test/test-node-load.js new file mode 100644 index 00000000..a59f06fb --- /dev/null +++ b/test/test-node-load.js @@ -0,0 +1,33 @@ +const tf = require('@tensorflow/tfjs-node'); // in nodejs environments tfjs-node is required to be loaded before human +const Human = require('../dist/human.node.js'); // use this when using human in dev mode + +const log = (status, ...data) => { + if (typeof process.send !== 'undefined') process.send([status, data]); // send to parent process over ipc + else console.log(status, ...data); // eslint-disable-line no-console +}; + +async function main() { + const human = new Human.Human(); // create instance of human using default configuration + const startTime = new Date(); + log('info', 'load start', { human: human.version, tf: tf.version_core, progress: human.getModelStats().percentageLoaded }); + + async function monitor() { + const progress = human.getModelStats().percentageLoaded; + log('data', 'load interval', { elapsed: new Date() - startTime, progress }); + if (progress < 1) setTimeout(monitor, 10); + } + + monitor(); + // setInterval(() => log('interval', { elapsed: new Date() - startTime, progress: human.getModelStats().percentageLoaded })); + const loadPromise = human.load(); + loadPromise + .then(() => log('state', 'passed', { progress: human.getModelStats().percentageLoaded })) + .catch(() => log('error', 'load promise')); + await loadPromise; + log('info', 'load final', { progress: human.getModelStats().percentageLoaded }); + await human.warmup(); // optional as model warmup is performed on-demand first time its executed +} + +exports.test = main; + +if (require.main === module) main(); diff --git a/test/test-main.js b/test/test-node-main.js similarity index 99% rename from test/test-main.js rename to test/test-node-main.js index 193915d9..b68285a1 100644 --- a/test/test-main.js +++ b/test/test-node-main.js @@ -487,6 +487,7 @@ async function test(Human, inputConfig) { // test face attention log('info', 'test face attention'); human.models.facemesh = null; + config.softwareKernels = true; config.face.attention = { enabled: true, modelPath: 'https://vladmandic.github.io/human-models/models/facemesh-attention.json' }; 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 }); diff --git a/test/test.log b/test/test.log index 7913cbbd..932050d8 100644 --- a/test/test.log +++ b/test/test.log @@ -1,976 +1,1000 @@ -2022-08-28 13:09:53 INFO:  @vladmandic/human version 2.9.4 -2022-08-28 13:09:53 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 -2022-08-28 13:09:53 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":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] -2022-08-28 13:09:53 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start -2022-08-28 13:09:54 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start -2022-08-28 13:09:55 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start -2022-08-28 13:09:58 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start -2022-08-28 13:09:58 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start -2022-08-28 13:09:59 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start -2022-08-28 13:09:59 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start -2022-08-28 13:10:00 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start -2022-08-28 13:10:02 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] -2022-08-28 13:10:02 INFO:  -2022-08-28 13:10:02 INFO:  test-node.js start -2022-08-28 13:10:02 INFO:  test-node.js test: configuration validation -2022-08-28 13:10:02 STATE: test-node.js passed: configuration default validation [] -2022-08-28 13:10:02 STATE: test-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-28 13:10:02 INFO:  test-node.js test: model load -2022-08-28 13:10:02 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-28 13:10:02 INFO:  test-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} -2022-08-28 13:10:02 INFO:  test-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-08-28 13:10:02 INFO:  test-node.js test: warmup -2022-08-28 13:10:02 STATE: test-node.js passed: create human -2022-08-28 13:10:02 INFO:  test-node.js human version: 2.9.4 -2022-08-28 13:10:02 INFO:  test-node.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-28 13:10:02 INFO:  test-node.js tfjs version: 3.20.0 -2022-08-28 13:10:02 INFO:  test-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-08-28 13:10:02 STATE: test-node.js passed: set backend: tensorflow -2022-08-28 13:10:02 STATE: test-node.js tensors 1921 -2022-08-28 13:10:02 STATE: test-node.js passed: load models -2022-08-28 13:10:02 STATE: test-node.js result: defined models: 23 loaded models: 12 -2022-08-28 13:10:02 STATE: test-node.js passed: warmup: none default -2022-08-28 13:10:02 DATA:  test-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-28 13:10:02 DATA:  test-node.js result: performance: load: null total: null -2022-08-28 13:10:02 STATE: test-node.js passed: warmup none result match -2022-08-28 13:10:02 STATE: test-node.js event: image -2022-08-28 13:10:03 STATE: test-node.js event: detect -2022-08-28 13:10:03 STATE: test-node.js event: warmup -2022-08-28 13:10:03 STATE: test-node.js passed: warmup: face default -2022-08-28 13:10:03 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-28 13:10:03 DATA:  test-node.js result: performance: load: null total: 315 -2022-08-28 13:10:03 STATE: test-node.js passed: warmup face result match -2022-08-28 13:10:03 STATE: test-node.js event: image -2022-08-28 13:10:03 STATE: test-node.js event: detect -2022-08-28 13:10:03 STATE: test-node.js event: warmup -2022-08-28 13:10:03 STATE: test-node.js passed: warmup: body default -2022-08-28 13:10:03 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-28 13:10:03 DATA:  test-node.js result: performance: load: null total: 223 -2022-08-28 13:10:03 STATE: test-node.js passed: warmup body result match -2022-08-28 13:10:03 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-28 13:10:03 INFO:  test-node.js test: details verification -2022-08-28 13:10:03 STATE: test-node.js start default -2022-08-28 13:10:03 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:03 STATE: test-node.js event: image -2022-08-28 13:10:03 STATE: test-node.js event: detect -2022-08-28 13:10:03 STATE: test-node.js passed: detect: samples/in/ai-body.jpg default -2022-08-28 13:10:03 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-28 13:10:03 DATA:  test-node.js result: performance: load: null total: 206 -2022-08-28 13:10:03 STATE: test-node.js passed: details face length 1 -2022-08-28 13:10:03 STATE: test-node.js passed: details face score 1 0.93 1 -2022-08-28 13:10:03 STATE: test-node.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-28 13:10:03 STATE: test-node.js passed: details face arrays 4 478 1024 -2022-08-28 13:10:03 STATE: test-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-28 13:10:03 STATE: test-node.js passed: details face anti-spoofing 0.79 -2022-08-28 13:10:03 STATE: test-node.js passed: details face liveness 0.83 -2022-08-28 13:10:03 STATE: test-node.js passed: details body length 1 -2022-08-28 13:10:03 STATE: test-node.js passed: details body 0.92 17 6 -2022-08-28 13:10:03 STATE: test-node.js passed: details hand length 1 -2022-08-28 13:10:03 STATE: test-node.js passed: details hand 0.51 0.73 point -2022-08-28 13:10:03 STATE: test-node.js passed: details hand arrays 21 5 7 -2022-08-28 13:10:03 STATE: test-node.js passed: details gesture length 7 -2022-08-28 13:10:03 STATE: test-node.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-28 13:10:03 STATE: test-node.js passed: details object length 1 -2022-08-28 13:10:03 STATE: test-node.js passed: details object 0.72 person -2022-08-28 13:10:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-28 13:10:04 STATE: test-node.js event: image -2022-08-28 13:10:04 STATE: test-node.js event: detect -2022-08-28 13:10:04 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-28 13:10:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-28 13:10:04 STATE: test-node.js event: image -2022-08-28 13:10:04 STATE: test-node.js event: detect -2022-08-28 13:10:04 STATE: test-node.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-28 13:10:04 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:04 STATE: test-node.js event: image -2022-08-28 13:10:04 STATE: test-node.js event: detect -2022-08-28 13:10:04 STATE: test-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-28 13:10:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:05 STATE: test-node.js event: image -2022-08-28 13:10:05 STATE: test-node.js event: detect -2022-08-28 13:10:05 STATE: test-node.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-28 13:10:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-28 13:10:05 STATE: test-node.js event: image -2022-08-28 13:10:05 STATE: test-node.js event: detect -2022-08-28 13:10:05 STATE: test-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-28 13:10:05 INFO:  test-node.js test default -2022-08-28 13:10:05 STATE: test-node.js start async -2022-08-28 13:10:05 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:05 STATE: test-node.js event: image -2022-08-28 13:10:06 STATE: test-node.js event: detect -2022-08-28 13:10:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg async -2022-08-28 13:10:06 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-28 13:10:06 DATA:  test-node.js result: performance: load: null total: 194 -2022-08-28 13:10:06 STATE: test-node.js passed: default result face match 1 female 0.97 -2022-08-28 13:10:06 INFO:  test-node.js test sync -2022-08-28 13:10:06 STATE: test-node.js start sync -2022-08-28 13:10:06 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:06 STATE: test-node.js event: image -2022-08-28 13:10:06 STATE: test-node.js event: detect -2022-08-28 13:10:06 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sync -2022-08-28 13:10:06 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-28 13:10:06 DATA:  test-node.js result: performance: load: null total: 190 -2022-08-28 13:10:06 STATE: test-node.js passed: default sync 1 female 0.97 -2022-08-28 13:10:06 INFO:  test-node.js test: image process -2022-08-28 13:10:06 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:06 STATE: test-node.js passed: image input null [1,256,256,3] -2022-08-28 13:10:06 INFO:  test-node.js test: image null -2022-08-28 13:10:06 STATE: test-node.js passed: invalid input could not convert input to tensor -2022-08-28 13:10:06 INFO:  test-node.js test face similarity -2022-08-28 13:10:06 STATE: test-node.js start face similarity -2022-08-28 13:10:06 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:06 STATE: test-node.js event: image -2022-08-28 13:10:06 STATE: test-node.js event: detect -2022-08-28 13:10:06 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-28 13:10:06 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-28 13:10:06 DATA:  test-node.js result: performance: load: null total: 182 -2022-08-28 13:10:06 STATE: test-node.js start face similarity -2022-08-28 13:10:06 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:06 STATE: test-node.js event: image -2022-08-28 13:10:07 STATE: test-node.js event: detect -2022-08-28 13:10:07 STATE: test-node.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-28 13:10:07 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-28 13:10:07 DATA:  test-node.js result: performance: load: null total: 194 -2022-08-28 13:10:07 STATE: test-node.js start face similarity -2022-08-28 13:10:07 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-28 13:10:07 STATE: test-node.js event: image -2022-08-28 13:10:07 STATE: test-node.js event: detect -2022-08-28 13:10:07 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-28 13:10:07 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-28 13:10:07 DATA:  test-node.js result: performance: load: null total: 169 -2022-08-28 13:10:07 STATE: test-node.js passed: face descriptor -2022-08-28 13:10:07 STATE: test-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} -2022-08-28 13:10:07 INFO:  test-node.js test object -2022-08-28 13:10:07 STATE: test-node.js start object -2022-08-28 13:10:07 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:07 STATE: test-node.js event: image -2022-08-28 13:10:07 STATE: test-node.js event: detect -2022-08-28 13:10:07 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-28 13:10:07 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-28 13:10:07 DATA:  test-node.js result: performance: load: null total: 186 -2022-08-28 13:10:07 STATE: test-node.js passed: centernet -2022-08-28 13:10:07 STATE: test-node.js start object -2022-08-28 13:10:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:08 STATE: test-node.js event: image -2022-08-28 13:10:08 STATE: test-node.js event: detect -2022-08-28 13:10:08 STATE: test-node.js passed: detect: samples/in/ai-body.jpg object -2022-08-28 13:10:08 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-28 13:10:08 DATA:  test-node.js result: performance: load: null total: 196 -2022-08-28 13:10:08 STATE: test-node.js passed: nanodet -2022-08-28 13:10:08 INFO:  test-node.js test sensitive -2022-08-28 13:10:08 STATE: test-node.js start sensitive -2022-08-28 13:10:08 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:08 STATE: test-node.js event: image -2022-08-28 13:10:09 STATE: test-node.js event: detect -2022-08-28 13:10:09 STATE: test-node.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-28 13:10:09 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-28 13:10:09 DATA:  test-node.js result: performance: load: null total: 151 -2022-08-28 13:10:09 STATE: test-node.js passed: sensitive result match -2022-08-28 13:10:09 STATE: test-node.js passed: sensitive face result match -2022-08-28 13:10:09 STATE: test-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-28 13:10:09 STATE: test-node.js passed: sensitive body result match -2022-08-28 13:10:09 STATE: test-node.js passed: sensitive hand result match -2022-08-28 13:10:09 INFO:  test-node.js test body -2022-08-28 13:10:09 STATE: test-node.js start blazepose -2022-08-28 13:10:11 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:11 STATE: test-node.js event: image -2022-08-28 13:10:11 STATE: test-node.js event: detect -2022-08-28 13:10:11 STATE: test-node.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-28 13:10:11 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-28 13:10:11 DATA:  test-node.js result: performance: load: null total: 202 -2022-08-28 13:10:11 STATE: test-node.js passed: blazepose -2022-08-28 13:10:11 STATE: test-node.js start efficientpose -2022-08-28 13:10:12 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:12 STATE: test-node.js event: image -2022-08-28 13:10:12 STATE: test-node.js event: detect -2022-08-28 13:10:12 STATE: test-node.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-28 13:10: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.75,"keypoints":13} -2022-08-28 13:10:12 DATA:  test-node.js result: performance: load: null total: 229 -2022-08-28 13:10:12 STATE: test-node.js passed: efficientpose -2022-08-28 13:10:12 STATE: test-node.js start posenet -2022-08-28 13:10:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:13 STATE: test-node.js event: image -2022-08-28 13:10:13 STATE: test-node.js event: detect -2022-08-28 13:10:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-28 13:10:13 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-28 13:10:13 DATA:  test-node.js result: performance: load: null total: 171 -2022-08-28 13:10:13 STATE: test-node.js passed: posenet -2022-08-28 13:10:13 STATE: test-node.js start movenet -2022-08-28 13:10:13 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:13 STATE: test-node.js event: image -2022-08-28 13:10:13 STATE: test-node.js event: detect -2022-08-28 13:10:13 STATE: test-node.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-28 13:10:13 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-28 13:10:13 DATA:  test-node.js result: performance: load: null total: 154 -2022-08-28 13:10:13 STATE: test-node.js passed: movenet -2022-08-28 13:10:13 INFO:  test-node.js test face matching -2022-08-28 13:10:13 STATE: test-node.js passed: face database 40 -2022-08-28 13:10:13 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-28 13:10:13 INFO:  test-node.js test face similarity alternative -2022-08-28 13:10:13 STATE: test-node.js start face embeddings -2022-08-28 13:10:14 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:14 STATE: test-node.js event: image -2022-08-28 13:10:14 STATE: test-node.js event: detect -2022-08-28 13:10:14 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-28 13:10:14 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-28 13:10:14 DATA:  test-node.js result: performance: load: null total: 167 -2022-08-28 13:10:14 STATE: test-node.js passed: mobilefacenet {"embedding":192} -2022-08-28 13:10:14 STATE: test-node.js start face embeddings -2022-08-28 13:10:15 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:15 STATE: test-node.js event: image -2022-08-28 13:10:15 STATE: test-node.js event: detect -2022-08-28 13:10:15 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-28 13:10:15 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-28 13:10:15 DATA:  test-node.js result: performance: load: null total: 174 -2022-08-28 13:10:15 STATE: test-node.js passed: insightface {"embedding":512} -2022-08-28 13:10:15 INFO:  test-node.js test face attention -2022-08-28 13:10:15 STATE: test-node.js start face attention -2022-08-28 13:10:15 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:15 STATE: test-node.js event: image -2022-08-28 13:10:15 STATE: test-node.js event: detect -2022-08-28 13:10:15 STATE: test-node.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-28 13:10:15 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-28 13:10:15 DATA:  test-node.js result: performance: load: null total: 154 -2022-08-28 13:10:15 STATE: test-node.js passed: face attention -2022-08-28 13:10:15 INFO:  test-node.js test detectors -2022-08-28 13:10:15 STATE: test-node.js start detectors -2022-08-28 13:10:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:16 STATE: test-node.js event: image -2022-08-28 13:10:16 STATE: test-node.js event: detect -2022-08-28 13:10:16 STATE: test-node.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-28 13:10:16 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-28 13:10:16 DATA:  test-node.js result: performance: load: null total: 75 -2022-08-28 13:10:16 STATE: test-node.js passed: detector result face match -2022-08-28 13:10:16 STATE: test-node.js passed: detector result hand match -2022-08-28 13:10:16 INFO:  test-node.js test: multi-instance -2022-08-28 13:10:16 STATE: test-node.js start multi instance -2022-08-28 13:10:16 STATE: test-node.js event: image -2022-08-28 13:10:16 STATE: test-node.js event: detect -2022-08-28 13:10:16 STATE: test-node.js passed: detect: random multi instance -2022-08-28 13:10:16 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-28 13:10:16 DATA:  test-node.js result: performance: load: null total: 82 -2022-08-28 13:10:16 INFO:  test-node.js test: first instance -2022-08-28 13:10:16 STATE: test-node.js start multi instance -2022-08-28 13:10:16 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-28 13:10:16 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-28 13:10:16 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-28 13:10:16 DATA:  test-node.js result: performance: load: null total: 80 -2022-08-28 13:10:16 INFO:  test-node.js test: second instance -2022-08-28 13:10:16 STATE: test-node.js start multi instance -2022-08-28 13:10:16 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-28 13:10:16 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-28 13:10:16 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-28 13:10:16 DATA:  test-node.js result: performance: load: null total: 79 -2022-08-28 13:10:16 INFO:  test-node.js test: concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js start concurrent -2022-08-28 13:10:16 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:16 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:16 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:17 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:17 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-28 13:10:17 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-28 13:10:17 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:17 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:17 STATE: test-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} -2022-08-28 13:10:17 STATE: test-node.js event: image -2022-08-28 13:10:17 STATE: test-node.js event: image -2022-08-28 13:10:17 STATE: test-node.js event: image -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 924 -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 924 -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 924 -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 924 -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 924 -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 924 -2022-08-28 13:10:18 STATE: test-node.js event: detect -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 678 -2022-08-28 13:10:18 STATE: test-node.js event: detect -2022-08-28 13:10:18 STATE: test-node.js event: detect -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 678 -2022-08-28 13:10:18 STATE: test-node.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:10:18 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-28 13:10:18 DATA:  test-node.js result: performance: load: null total: 678 -2022-08-28 13:10:18 INFO:  test-node.js test: monkey-patch -2022-08-28 13:10:18 STATE: test-node.js event: image -2022-08-28 13:10:18 STATE: test-node.js event: detect -2022-08-28 13:10:18 STATE: test-node.js passed: monkey patch -2022-08-28 13:10:18 STATE: test-node.js passed: segmentation [65536] -2022-08-28 13:10:18 STATE: test-node.js passeed: equal usage -2022-08-28 13:10:18 INFO:  test-node.js test: input compare -2022-08-28 13:10:18 STATE: test-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:18 STATE: test-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} -2022-08-28 13:10:18 STATE: test-node.js passed: image compare 0 23.275441687091504 -2022-08-28 13:10:18 INFO:  test-node.js events: {"image":29,"detect":29,"warmup":2} -2022-08-28 13:10:18 INFO:  test-node.js tensors 4105 -2022-08-28 13:10:18 INFO:  test-node.js test complete: 15623 ms -2022-08-28 13:10:18 INFO:  -2022-08-28 13:10:18 INFO:  test-node-gpu.js start -2022-08-28 13:10:19 INFO:  test-node-gpu.js test: configuration validation -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: configuration default validation [] -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-28 13:10:19 INFO:  test-node-gpu.js test: model load -2022-08-28 13:10:19 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-28 13:10:19 INFO:  test-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} -2022-08-28 13:10:19 INFO:  test-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-08-28 13:10:19 INFO:  test-node-gpu.js test: warmup -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: create human -2022-08-28 13:10:19 INFO:  test-node-gpu.js human version: 2.9.4 -2022-08-28 13:10:19 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-28 13:10:19 INFO:  test-node-gpu.js tfjs version: 3.20.0 -2022-08-28 13:10:19 INFO:  test-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: set backend: tensorflow -2022-08-28 13:10:19 STATE: test-node-gpu.js tensors 1921 -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: load models -2022-08-28 13:10:19 STATE: test-node-gpu.js result: defined models: 23 loaded models: 12 -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: warmup: none default -2022-08-28 13:10:19 DATA:  test-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-28 13:10:19 DATA:  test-node-gpu.js result: performance: load: null total: null -2022-08-28 13:10:19 STATE: test-node-gpu.js passed: warmup none result match -2022-08-28 13:10:19 STATE: test-node-gpu.js event: image -2022-08-28 13:10:24 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:24 STATE: test-node-gpu.js event: warmup -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: warmup: face default -2022-08-28 13:10:24 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-28 13:10:24 DATA:  test-node-gpu.js result: performance: load: null total: 4115 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: warmup face result match -2022-08-28 13:10:24 STATE: test-node-gpu.js event: image -2022-08-28 13:10:24 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:24 STATE: test-node-gpu.js event: warmup -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: warmup: body default -2022-08-28 13:10:24 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-28 13:10:24 DATA:  test-node-gpu.js result: performance: load: null total: 133 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: warmup body result match -2022-08-28 13:10:24 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-28 13:10:24 INFO:  test-node-gpu.js test: details verification -2022-08-28 13:10:24 STATE: test-node-gpu.js start default -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:24 STATE: test-node-gpu.js event: image -2022-08-28 13:10:24 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg default -2022-08-28 13:10:24 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-28 13:10:24 DATA:  test-node-gpu.js result: performance: load: null total: 129 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face length 1 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face score 1 0.93 1 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face arrays 4 478 1024 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face anti-spoofing 0.79 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details face liveness 0.83 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details body length 1 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details body 0.92 17 6 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details hand length 1 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details hand 0.51 0.73 point -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details hand arrays 21 5 7 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details gesture length 7 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details object length 1 -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: details object 0.72 person -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} -2022-08-28 13:10:24 STATE: test-node-gpu.js event: image -2022-08-28 13:10:24 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:24 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-28 13:10:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} -2022-08-28 13:10:25 STATE: test-node-gpu.js event: image -2022-08-28 13:10:25 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:25 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-28 13:10:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:25 STATE: test-node-gpu.js event: image -2022-08-28 13:10:25 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:25 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-28 13:10:25 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:25 STATE: test-node-gpu.js event: image -2022-08-28 13:10:25 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:25 STATE: test-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-28 13:10:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-28 13:10:26 STATE: test-node-gpu.js event: image -2022-08-28 13:10:26 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:26 STATE: test-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-28 13:10:26 INFO:  test-node-gpu.js test default -2022-08-28 13:10:26 STATE: test-node-gpu.js start async -2022-08-28 13:10:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:26 STATE: test-node-gpu.js event: image -2022-08-28 13:10:26 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:26 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg async -2022-08-28 13:10:26 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-28 13:10:26 DATA:  test-node-gpu.js result: performance: load: null total: 141 -2022-08-28 13:10:26 STATE: test-node-gpu.js passed: default result face match 1 female 0.97 -2022-08-28 13:10:26 INFO:  test-node-gpu.js test sync -2022-08-28 13:10:26 STATE: test-node-gpu.js start sync -2022-08-28 13:10:26 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:26 STATE: test-node-gpu.js event: image -2022-08-28 13:10:27 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sync -2022-08-28 13:10:27 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-28 13:10:27 DATA:  test-node-gpu.js result: performance: load: null total: 162 -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: default sync 1 female 0.97 -2022-08-28 13:10:27 INFO:  test-node-gpu.js test: image process -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: image input null [1,256,256,3] -2022-08-28 13:10:27 INFO:  test-node-gpu.js test: image null -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: invalid input could not convert input to tensor -2022-08-28 13:10:27 INFO:  test-node-gpu.js test face similarity -2022-08-28 13:10:27 STATE: test-node-gpu.js start face similarity -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:27 STATE: test-node-gpu.js event: image -2022-08-28 13:10:27 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-28 13:10:27 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-28 13:10:27 DATA:  test-node-gpu.js result: performance: load: null total: 158 -2022-08-28 13:10:27 STATE: test-node-gpu.js start face similarity -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:27 STATE: test-node-gpu.js event: image -2022-08-28 13:10:27 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-28 13:10:27 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-28 13:10:27 DATA:  test-node-gpu.js result: performance: load: null total: 163 -2022-08-28 13:10:27 STATE: test-node-gpu.js start face similarity -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-28 13:10:27 STATE: test-node-gpu.js event: image -2022-08-28 13:10:27 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-28 13:10:27 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-28 13:10:27 DATA:  test-node-gpu.js result: performance: load: null total: 134 -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: face descriptor -2022-08-28 13:10:27 STATE: test-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} -2022-08-28 13:10:27 INFO:  test-node-gpu.js test object -2022-08-28 13:10:27 STATE: test-node-gpu.js start object -2022-08-28 13:10:28 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:28 STATE: test-node-gpu.js event: image -2022-08-28 13:10:28 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:28 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-28 13:10:28 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-28 13:10:28 DATA:  test-node-gpu.js result: performance: load: null total: 205 -2022-08-28 13:10:28 STATE: test-node-gpu.js passed: centernet -2022-08-28 13:10:28 STATE: test-node-gpu.js start object -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:29 STATE: test-node-gpu.js event: image -2022-08-28 13:10:29 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg object -2022-08-28 13:10:29 DATA:  test-node-gpu.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-28 13:10:29 DATA:  test-node-gpu.js result: performance: load: null total: 481 -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: nanodet -2022-08-28 13:10:29 INFO:  test-node-gpu.js test sensitive -2022-08-28 13:10:29 STATE: test-node-gpu.js start sensitive -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:29 STATE: test-node-gpu.js event: image -2022-08-28 13:10:29 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-28 13:10:29 DATA:  test-node-gpu.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-28 13:10:29 DATA:  test-node-gpu.js result: performance: load: null total: 109 -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: sensitive result match -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: sensitive face result match -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: sensitive body result match -2022-08-28 13:10:29 STATE: test-node-gpu.js passed: sensitive hand result match -2022-08-28 13:10:29 INFO:  test-node-gpu.js test body -2022-08-28 13:10:29 STATE: test-node-gpu.js start blazepose -2022-08-28 13:10:31 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:31 STATE: test-node-gpu.js event: image -2022-08-28 13:10:31 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:31 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-28 13:10:31 DATA:  test-node-gpu.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-28 13:10:31 DATA:  test-node-gpu.js result: performance: load: null total: 231 -2022-08-28 13:10:31 STATE: test-node-gpu.js passed: blazepose -2022-08-28 13:10:31 STATE: test-node-gpu.js start efficientpose -2022-08-28 13:10:32 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:32 STATE: test-node-gpu.js event: image -2022-08-28 13:10:33 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-28 13:10:33 DATA:  test-node-gpu.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-28 13:10:33 DATA:  test-node-gpu.js result: performance: load: null total: 845 -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: efficientpose -2022-08-28 13:10:33 STATE: test-node-gpu.js start posenet -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:33 STATE: test-node-gpu.js event: image -2022-08-28 13:10:33 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-28 13:10:33 DATA:  test-node-gpu.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-28 13:10:33 DATA:  test-node-gpu.js result: performance: load: null total: 116 -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: posenet -2022-08-28 13:10:33 STATE: test-node-gpu.js start movenet -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:33 STATE: test-node-gpu.js event: image -2022-08-28 13:10:33 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-28 13:10:33 DATA:  test-node-gpu.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-28 13:10:33 DATA:  test-node-gpu.js result: performance: load: null total: 94 -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: movenet -2022-08-28 13:10:33 INFO:  test-node-gpu.js test face matching -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: face database 40 -2022-08-28 13:10:33 STATE: test-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7828184453007331}} {"second":{"index":4,"similarity":0.5001334216773398}} {"third":{"index":4,"similarity":0.5403054967489764}} -2022-08-28 13:10:33 INFO:  test-node-gpu.js test face similarity alternative -2022-08-28 13:10:33 STATE: test-node-gpu.js start face embeddings -2022-08-28 13:10:34 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:34 STATE: test-node-gpu.js event: image -2022-08-28 13:10:34 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:34 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-28 13:10:34 DATA:  test-node-gpu.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-28 13:10:34 DATA:  test-node-gpu.js result: performance: load: null total: 143 -2022-08-28 13:10:34 STATE: test-node-gpu.js passed: mobilefacenet {"embedding":192} -2022-08-28 13:10:34 STATE: test-node-gpu.js start face embeddings -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:35 STATE: test-node-gpu.js event: image -2022-08-28 13:10:35 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-28 13:10:35 DATA:  test-node-gpu.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-28 13:10:35 DATA:  test-node-gpu.js result: performance: load: null total: 158 -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: insightface {"embedding":512} -2022-08-28 13:10:35 INFO:  test-node-gpu.js test face attention -2022-08-28 13:10:35 STATE: test-node-gpu.js start face attention -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:35 STATE: test-node-gpu.js event: image -2022-08-28 13:10:35 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-28 13:10:35 DATA:  test-node-gpu.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-28 13:10:35 DATA:  test-node-gpu.js result: performance: load: null total: 198 -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: face attention -2022-08-28 13:10:35 INFO:  test-node-gpu.js test detectors -2022-08-28 13:10:35 STATE: test-node-gpu.js start detectors -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:35 STATE: test-node-gpu.js event: image -2022-08-28 13:10:35 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-28 13:10:35 DATA:  test-node-gpu.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-28 13:10:35 DATA:  test-node-gpu.js result: performance: load: null total: 49 -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: detector result face match -2022-08-28 13:10:35 STATE: test-node-gpu.js passed: detector result hand match -2022-08-28 13:10:35 INFO:  test-node-gpu.js test: multi-instance -2022-08-28 13:10:35 STATE: test-node-gpu.js start multi instance -2022-08-28 13:10:36 STATE: test-node-gpu.js event: image -2022-08-28 13:10:36 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: detect: random multi instance -2022-08-28 13:10:36 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-28 13:10:36 DATA:  test-node-gpu.js result: performance: load: null total: 50 -2022-08-28 13:10:36 INFO:  test-node-gpu.js test: first instance -2022-08-28 13:10:36 STATE: test-node-gpu.js start multi instance -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-28 13:10:36 DATA:  test-node-gpu.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-28 13:10:36 DATA:  test-node-gpu.js result: performance: load: null total: 44 -2022-08-28 13:10:36 INFO:  test-node-gpu.js test: second instance -2022-08-28 13:10:36 STATE: test-node-gpu.js start multi instance -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-28 13:10:36 DATA:  test-node-gpu.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-28 13:10:36 DATA:  test-node-gpu.js result: performance: load: null total: 52 -2022-08-28 13:10:36 INFO:  test-node-gpu.js test: concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js start concurrent -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-28 13:10:36 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} -2022-08-28 13:10:37 STATE: test-node-gpu.js event: image -2022-08-28 13:10:37 STATE: test-node-gpu.js event: image -2022-08-28 13:10:37 STATE: test-node-gpu.js event: image -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 674 -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 674 -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 675 -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 675 -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 675 -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 675 -2022-08-28 13:10:37 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 412 -2022-08-28 13:10:37 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:37 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 412 -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:10:37 DATA:  test-node-gpu.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-28 13:10:37 DATA:  test-node-gpu.js result: performance: load: null total: 412 -2022-08-28 13:10:37 INFO:  test-node-gpu.js test: monkey-patch -2022-08-28 13:10:37 STATE: test-node-gpu.js event: image -2022-08-28 13:10:37 STATE: test-node-gpu.js event: detect -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: monkey patch -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: segmentation [65536] -2022-08-28 13:10:37 STATE: test-node-gpu.js passeed: equal usage -2022-08-28 13:10:37 INFO:  test-node-gpu.js test: input compare -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} -2022-08-28 13:10:37 STATE: test-node-gpu.js passed: image compare 0 23.275441687091504 -2022-08-28 13:10:37 INFO:  test-node-gpu.js events: {"image":29,"detect":29,"warmup":2} -2022-08-28 13:10:37 INFO:  test-node-gpu.js tensors 4105 -2022-08-28 13:10:37 INFO:  test-node-gpu.js test complete: 18316 ms -2022-08-28 13:10:39 INFO:  -2022-08-28 13:10:39 INFO:  test-node-wasm.js start -2022-08-28 13:10:39 DATA:  test-node-wasm.js stdout: 2022-08-28 13:10:39 INFO:  { supported: true, backend: true, simd: true, multithread: false } -2022-08-28 13:10:39 STATE: test-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ -2022-08-28 13:10:39 INFO:  test-node-wasm.js test: configuration validation -2022-08-28 13:10:39 STATE: test-node-wasm.js passed: configuration default validation [] -2022-08-28 13:10:39 STATE: test-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] -2022-08-28 13:10:39 INFO:  test-node-wasm.js test: model load -2022-08-28 13:10:41 STATE: test-node-wasm.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":"https://vladmandic.github.io/human/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":"https://vladmandic.github.io/human/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human/models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"https://vladmandic.github.io/human/models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human/models/liveness.json"},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"https://vladmandic.github.io/human/models/selfie.json"},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human/models/antispoof.json"}] -2022-08-28 13:10:41 INFO:  test-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} -2022-08-28 13:10:41 INFO:  test-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} -2022-08-28 13:10:41 INFO:  test-node-wasm.js test: warmup -2022-08-28 13:10:41 STATE: test-node-wasm.js passed: create human -2022-08-28 13:10:41 INFO:  test-node-wasm.js human version: 2.9.4 -2022-08-28 13:10:41 INFO:  test-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 -2022-08-28 13:10:41 INFO:  test-node-wasm.js tfjs version: 3.20.0 -2022-08-28 13:10:41 INFO:  test-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} -2022-08-28 13:10:41 STATE: test-node-wasm.js passed: set backend: wasm -2022-08-28 13:10:41 STATE: test-node-wasm.js tensors 1921 -2022-08-28 13:10:41 STATE: test-node-wasm.js passed: load models -2022-08-28 13:10:41 STATE: test-node-wasm.js result: defined models: 23 loaded models: 12 -2022-08-28 13:10:41 STATE: test-node-wasm.js passed: warmup: none default -2022-08-28 13:10:41 DATA:  test-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} -2022-08-28 13:10:41 DATA:  test-node-wasm.js result: performance: load: null total: null -2022-08-28 13:10:41 STATE: test-node-wasm.js passed: warmup none result match -2022-08-28 13:10:41 STATE: test-node-wasm.js event: image -2022-08-28 13:10:42 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:42 STATE: test-node-wasm.js event: warmup -2022-08-28 13:10:42 STATE: test-node-wasm.js passed: warmup: face default -2022-08-28 13:10:42 DATA:  test-node-wasm.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-28 13:10:42 DATA:  test-node-wasm.js result: performance: load: null total: 483 -2022-08-28 13:10:42 STATE: test-node-wasm.js passed: warmup face result match -2022-08-28 13:10:42 STATE: test-node-wasm.js event: image -2022-08-28 13:10:42 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:42 STATE: test-node-wasm.js event: warmup -2022-08-28 13:10:42 STATE: test-node-wasm.js passed: warmup: body default -2022-08-28 13:10:42 DATA:  test-node-wasm.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-28 13:10:42 DATA:  test-node-wasm.js result: performance: load: null total: 354 -2022-08-28 13:10:42 STATE: test-node-wasm.js passed: warmup body result match -2022-08-28 13:10:42 STATE: test-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% 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-28 13:10:42 INFO:  test-node-wasm.js test: details verification -2022-08-28 13:10:42 STATE: test-node-wasm.js start default -2022-08-28 13:10:42 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:42 STATE: test-node-wasm.js event: image -2022-08-28 13:10:43 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg default -2022-08-28 13:10:43 DATA:  test-node-wasm.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-28 13:10:43 DATA:  test-node-wasm.js result: performance: load: null total: 359 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face length 1 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face score 1 0.93 1 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face arrays 4 478 1024 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face anti-spoofing 0.79 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details face liveness 0.83 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details body length 1 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details body 0.92 17 6 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details hand length 1 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details hand 0.51 0.73 point -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details hand arrays 21 5 7 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details gesture length 7 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details object length 1 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: details object 0.72 person -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} -2022-08-28 13:10:43 STATE: test-node-wasm.js event: image -2022-08-28 13:10:43 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 -2022-08-28 13:10:43 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} -2022-08-28 13:10:43 STATE: test-node-wasm.js event: image -2022-08-28 13:10:44 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:44 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 -2022-08-28 13:10:44 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:44 STATE: test-node-wasm.js event: image -2022-08-28 13:10:44 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:44 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 -2022-08-28 13:10:44 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:44 STATE: test-node-wasm.js event: image -2022-08-28 13:10:45 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:45 STATE: test-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 -2022-08-28 13:10:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} -2022-08-28 13:10:45 STATE: test-node-wasm.js event: image -2022-08-28 13:10:45 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:45 STATE: test-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 -2022-08-28 13:10:45 INFO:  test-node-wasm.js test default -2022-08-28 13:10:45 STATE: test-node-wasm.js start async -2022-08-28 13:10:45 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:45 STATE: test-node-wasm.js event: image -2022-08-28 13:10:46 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg async -2022-08-28 13:10:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-28 13:10:46 DATA:  test-node-wasm.js result: performance: load: null total: 323 -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: default result face match 1 female 0.97 -2022-08-28 13:10:46 INFO:  test-node-wasm.js test sync -2022-08-28 13:10:46 STATE: test-node-wasm.js start sync -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:46 STATE: test-node-wasm.js event: image -2022-08-28 13:10:46 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sync -2022-08-28 13:10:46 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-28 13:10:46 DATA:  test-node-wasm.js result: performance: load: null total: 328 -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: default sync 1 female 0.97 -2022-08-28 13:10:46 INFO:  test-node-wasm.js test: image process -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: image input null [1,256,256,3] -2022-08-28 13:10:46 INFO:  test-node-wasm.js test: image null -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: invalid input could not convert input to tensor -2022-08-28 13:10:46 INFO:  test-node-wasm.js test face similarity -2022-08-28 13:10:46 STATE: test-node-wasm.js start face similarity -2022-08-28 13:10:46 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:46 STATE: test-node-wasm.js event: image -2022-08-28 13:10:47 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:47 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity -2022-08-28 13:10:47 DATA:  test-node-wasm.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-28 13:10:47 DATA:  test-node-wasm.js result: performance: load: null total: 300 -2022-08-28 13:10:47 STATE: test-node-wasm.js start face similarity -2022-08-28 13:10:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:47 STATE: test-node-wasm.js event: image -2022-08-28 13:10:47 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:47 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity -2022-08-28 13:10:47 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-28 13:10:47 DATA:  test-node-wasm.js result: performance: load: null total: 336 -2022-08-28 13:10:47 STATE: test-node-wasm.js start face similarity -2022-08-28 13:10:47 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-28 13:10:47 STATE: test-node-wasm.js event: image -2022-08-28 13:10:48 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity -2022-08-28 13:10:48 DATA:  test-node-wasm.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-28 13:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 305 -2022-08-28 13:10:48 STATE: test-node-wasm.js passed: face descriptor -2022-08-28 13:10:48 STATE: test-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} -2022-08-28 13:10:48 INFO:  test-node-wasm.js test object -2022-08-28 13:10:48 STATE: test-node-wasm.js start object -2022-08-28 13:10:48 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:48 STATE: test-node-wasm.js event: image -2022-08-28 13:10:48 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:48 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-28 13:10:48 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} -2022-08-28 13:10:48 DATA:  test-node-wasm.js result: performance: load: null total: 331 -2022-08-28 13:10:48 STATE: test-node-wasm.js passed: centernet -2022-08-28 13:10:48 STATE: test-node-wasm.js start object -2022-08-28 13:10:49 WARN:  test-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} -2022-08-28 13:10:49 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:49 STATE: test-node-wasm.js event: image -2022-08-28 13:10:50 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg object -2022-08-28 13:10:50 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-28 13:10:50 DATA:  test-node-wasm.js result: performance: load: null total: 213 -2022-08-28 13:10:50 ERROR: test-node-wasm.js failed: nanodet [] -2022-08-28 13:10:50 INFO:  test-node-wasm.js test sensitive -2022-08-28 13:10:50 STATE: test-node-wasm.js start sensitive -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:50 STATE: test-node-wasm.js event: image -2022-08-28 13:10:50 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive -2022-08-28 13:10:50 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-28 13:10:50 DATA:  test-node-wasm.js result: performance: load: null total: 250 -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: sensitive result match -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: sensitive face result match -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: sensitive body result match -2022-08-28 13:10:50 STATE: test-node-wasm.js passed: sensitive hand result match -2022-08-28 13:10:50 INFO:  test-node-wasm.js test body -2022-08-28 13:10:50 STATE: test-node-wasm.js start blazepose -2022-08-28 13:10:52 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:52 STATE: test-node-wasm.js event: image -2022-08-28 13:10:52 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:52 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose -2022-08-28 13:10:52 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} -2022-08-28 13:10:52 DATA:  test-node-wasm.js result: performance: load: null total: 404 -2022-08-28 13:10:52 STATE: test-node-wasm.js passed: blazepose -2022-08-28 13:10:52 STATE: test-node-wasm.js start efficientpose -2022-08-28 13:10:53 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:53 STATE: test-node-wasm.js event: image -2022-08-28 13:10:54 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:54 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose -2022-08-28 13:10:54 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} -2022-08-28 13:10:54 DATA:  test-node-wasm.js result: performance: load: null total: 656 -2022-08-28 13:10:54 STATE: test-node-wasm.js passed: efficientpose -2022-08-28 13:10:54 STATE: test-node-wasm.js start posenet -2022-08-28 13:10:54 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:54 STATE: test-node-wasm.js event: image -2022-08-28 13:10:55 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet -2022-08-28 13:10:55 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} -2022-08-28 13:10:55 DATA:  test-node-wasm.js result: performance: load: null total: 282 -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: posenet -2022-08-28 13:10:55 STATE: test-node-wasm.js start movenet -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:55 STATE: test-node-wasm.js event: image -2022-08-28 13:10:55 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet -2022-08-28 13:10:55 DATA:  test-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} -2022-08-28 13:10:55 DATA:  test-node-wasm.js result: performance: load: null total: 248 -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: movenet -2022-08-28 13:10:55 INFO:  test-node-wasm.js test face matching -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: face database 40 -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} -2022-08-28 13:10:55 INFO:  test-node-wasm.js test face similarity alternative -2022-08-28 13:10:55 STATE: test-node-wasm.js start face embeddings -2022-08-28 13:10:55 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:55 STATE: test-node-wasm.js event: image -2022-08-28 13:10:56 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:56 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-28 13:10:56 DATA:  test-node-wasm.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-28 13:10:56 DATA:  test-node-wasm.js result: performance: load: null total: 257 -2022-08-28 13:10:56 STATE: test-node-wasm.js passed: mobilefacenet {"embedding":192} -2022-08-28 13:10:56 STATE: test-node-wasm.js start face embeddings -2022-08-28 13:10:56 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:56 STATE: test-node-wasm.js event: image -2022-08-28 13:10:57 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:57 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings -2022-08-28 13:10:57 DATA:  test-node-wasm.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-28 13:10:57 DATA:  test-node-wasm.js result: performance: load: null total: 281 -2022-08-28 13:10:57 STATE: test-node-wasm.js passed: insightface {"embedding":512} -2022-08-28 13:10:57 INFO:  test-node-wasm.js test face attention -2022-08-28 13:10:57 STATE: test-node-wasm.js start face attention -2022-08-28 13:10:57 WARN:  test-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} -2022-08-28 13:10:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:57 STATE: test-node-wasm.js event: image -2022-08-28 13:10:57 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:57 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention -2022-08-28 13:10:57 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} -2022-08-28 13:10:57 DATA:  test-node-wasm.js result: performance: load: null total: 114 -2022-08-28 13:10:57 ERROR: test-node-wasm.js failed: face attention {"annotations":0} -2022-08-28 13:10:57 INFO:  test-node-wasm.js test detectors -2022-08-28 13:10:57 STATE: test-node-wasm.js start detectors -2022-08-28 13:10:57 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:57 STATE: test-node-wasm.js event: image -2022-08-28 13:10:58 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors -2022-08-28 13:10:58 DATA:  test-node-wasm.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-28 13:10:58 DATA:  test-node-wasm.js result: performance: load: null total: 115 -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: detector result face match -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: detector result hand match -2022-08-28 13:10:58 INFO:  test-node-wasm.js test: multi-instance -2022-08-28 13:10:58 STATE: test-node-wasm.js start multi instance -2022-08-28 13:10:58 STATE: test-node-wasm.js event: image -2022-08-28 13:10:58 STATE: test-node-wasm.js event: detect -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: detect: random multi instance -2022-08-28 13:10:58 DATA:  test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} -2022-08-28 13:10:58 DATA:  test-node-wasm.js result: performance: load: null total: 92 -2022-08-28 13:10:58 INFO:  test-node-wasm.js test: first instance -2022-08-28 13:10:58 STATE: test-node-wasm.js start multi instance -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-28 13:10:58 DATA:  test-node-wasm.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-28 13:10:58 DATA:  test-node-wasm.js result: performance: load: null total: 104 -2022-08-28 13:10:58 INFO:  test-node-wasm.js test: second instance -2022-08-28 13:10:58 STATE: test-node-wasm.js start multi instance -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance -2022-08-28 13:10:58 DATA:  test-node-wasm.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-28 13:10:58 DATA:  test-node-wasm.js result: performance: load: null total: 105 -2022-08-28 13:10:58 INFO:  test-node-wasm.js test: concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js start concurrent -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:58 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-28 13:10:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-28 13:10:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:10:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:10:59 STATE: test-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} -2022-08-28 13:10:59 STATE: test-node-wasm.js event: image -2022-08-28 13:10:59 STATE: test-node-wasm.js event: image -2022-08-28 13:10:59 STATE: test-node-wasm.js event: image -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 1269 -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 1269 -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 1269 -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 1269 -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 1269 -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 1269 -2022-08-28 13:11:00 STATE: test-node-wasm.js event: detect -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 967 -2022-08-28 13:11:00 STATE: test-node-wasm.js event: detect -2022-08-28 13:11:00 STATE: test-node-wasm.js event: detect -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 967 -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent -2022-08-28 13:11:00 DATA:  test-node-wasm.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-28 13:11:00 DATA:  test-node-wasm.js result: performance: load: null total: 967 -2022-08-28 13:11:00 INFO:  test-node-wasm.js test: monkey-patch -2022-08-28 13:11:00 STATE: test-node-wasm.js event: image -2022-08-28 13:11:00 STATE: test-node-wasm.js event: detect -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: monkey patch -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: segmentation [65536] -2022-08-28 13:11:00 STATE: test-node-wasm.js passeed: equal usage -2022-08-28 13:11:00 INFO:  test-node-wasm.js test: input compare -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} -2022-08-28 13:11:00 STATE: test-node-wasm.js passed: image compare 0 23.280073018790848 -2022-08-28 13:11:00 INFO:  test-node-wasm.js events: {"image":29,"detect":29,"warmup":2} -2022-08-28 13:11:00 INFO:  test-node-wasm.js tensors 4107 -2022-08-28 13:11:00 INFO:  test-node-wasm.js test complete: 21212 ms -2022-08-28 13:11:00 STATE: all tests complete -2022-08-28 13:11:00 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"test-node.js","passed":125,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"test-node-gpu.js","passed":125,"failed":0} -2022-08-28 13:11:00 INFO:  status {"test":"test-node-wasm.js","passed":124,"failed":2} -2022-08-28 13:11:00 INFO:  failures {"count":2} -2022-08-28 13:11:00 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: nanodet",[]]]} -2022-08-28 13:11:00 WARN:  failed {"test":"test-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]} +2022-08-30 10:24:02 INFO:  @vladmandic/human version 2.9.4 +2022-08-30 10:24:02 INFO:  User: vlado Platform: linux Arch: x64 Node: v18.1.0 +2022-08-30 10:24:02 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":[]},{"cmd":"../demo/facematch/node-match.js","args":[]}] +2022-08-30 10:24:02 INFO:  {"cmd":"../demo/nodejs/node.js","args":[]} start +2022-08-30 10:24:03 INFO:  {"cmd":"../demo/nodejs/node-simple.js","args":[]} start +2022-08-30 10:24:04 INFO:  {"cmd":"../demo/nodejs/node-fetch.js","args":[]} start +2022-08-30 10:24:06 INFO:  {"cmd":"../demo/nodejs/node-event.js","args":["samples/in/ai-body.jpg"]} start +2022-08-30 10:24:06 INFO:  {"cmd":"../demo/nodejs/node-similarity.js","args":["samples/in/ai-face.jpg","samples/in/ai-upper.jpg"]} start +2022-08-30 10:24:07 INFO:  {"cmd":"../demo/nodejs/node-canvas.js","args":["samples/in/ai-body.jpg","samples/out/ai-body.jpg"]} start +2022-08-30 10:24:07 INFO:  {"cmd":"../demo/multithread/node-multiprocess.js","args":[]} start +2022-08-30 10:24:08 INFO:  {"cmd":"../demo/facematch/node-match.js","args":[]} start +2022-08-30 10:24:10 INFO:  tests: ["test-node-load.js","test-node-gear.js","test-backend-node.js","test-backend-node-gpu.js","test-backend-node-wasm.js"] +2022-08-30 10:24:10 INFO:  +2022-08-30 10:24:10 INFO:  test-node-load.js start +2022-08-30 10:24:10 INFO:  test-node-load.js load start {"human":"2.9.4","tf":"3.20.0","progress":0} +2022-08-30 10:24:10 DATA:  test-node-load.js load interval {"elapsed":0,"progress":0} +2022-08-30 10:24:10 DATA:  test-node-load.js load interval {"elapsed":10,"progress":0} +2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":20,"progress":0.05339166087267679} +2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":30,"progress":0.2135162934143239} +2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":57,"progress":0.3299591712723044} +2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":76,"progress":0.5125946867158943} +2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":86,"progress":0.7259096583739463} +2022-08-30 10:24:11 STATE: test-node-load.js passed {"progress":1} +2022-08-30 10:24:11 INFO:  test-node-load.js load final {"progress":1} +2022-08-30 10:24:11 DATA:  test-node-load.js load interval {"elapsed":356,"progress":1} +2022-08-30 10:24:11 INFO:  +2022-08-30 10:24:11 INFO:  test-node-gear.js start +2022-08-30 10:24:11 DATA:  test-node-gear.js input: ["samples/in/ai-face.jpg"] +2022-08-30 10:24:11 STATE: test-node-gear.js passed: gear faceres samples/in/ai-face.jpg +2022-08-30 10:24:11 DATA:  test-node-gear.js results {"face":0,"model":"faceres","image":"samples/in/ai-face.jpg","age":23.5,"gender":"female","genderScore":0.92} +2022-08-30 10:24:11 STATE: test-node-gear.js passed: gear gear samples/in/ai-face.jpg +2022-08-30 10:24:11 DATA:  test-node-gear.js results {"face":0,"model":"gear","image":"samples/in/ai-face.jpg","age":24.4,"gender":"female","genderScore":0.7,"race":[{"score":0.97,"race":"white"}]} +2022-08-30 10:24:11 STATE: test-node-gear.js passed: gear ssrnet samples/in/ai-face.jpg +2022-08-30 10:24:11 DATA:  test-node-gear.js results {"face":0,"model":"ssrnet","image":"samples/in/ai-face.jpg","age":22.8,"gender":"female","genderScore":0.99} +2022-08-30 10:24:11 INFO:  +2022-08-30 10:24:11 INFO:  test-backend-node.js start +2022-08-30 10:24:11 INFO:  test-backend-node.js test: configuration validation +2022-08-30 10:24:11 STATE: test-backend-node.js passed: configuration default validation [] +2022-08-30 10:24:11 STATE: test-backend-node.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-30 10:24:11 INFO:  test-backend-node.js test: model load +2022-08-30 10:24:12 STATE: test-backend-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-30 10:24:12 INFO:  test-backend-node.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-30 10:24:12 INFO:  test-backend-node.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-30 10:24:12 INFO:  test-backend-node.js test: warmup +2022-08-30 10:24:12 STATE: test-backend-node.js passed: create human +2022-08-30 10:24:12 INFO:  test-backend-node.js human version: 2.9.4 +2022-08-30 10:24:12 INFO:  test-backend-node.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-30 10:24:12 INFO:  test-backend-node.js tfjs version: 3.20.0 +2022-08-30 10:24:12 INFO:  test-backend-node.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":false},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} +2022-08-30 10:24:12 STATE: test-backend-node.js passed: set backend: tensorflow +2022-08-30 10:24:12 STATE: test-backend-node.js tensors 1921 +2022-08-30 10:24:12 STATE: test-backend-node.js passed: load models +2022-08-30 10:24:12 STATE: test-backend-node.js result: defined models: 23 loaded models: 12 +2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup: none default +2022-08-30 10:24:12 DATA:  test-backend-node.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-30 10:24:12 DATA:  test-backend-node.js result: performance: load: null total: null +2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup none result match +2022-08-30 10:24:12 STATE: test-backend-node.js event: image +2022-08-30 10:24:12 STATE: test-backend-node.js event: detect +2022-08-30 10:24:12 STATE: test-backend-node.js event: warmup +2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup: face default +2022-08-30 10:24:12 DATA:  test-backend-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-30 10:24:12 DATA:  test-backend-node.js result: performance: load: null total: 354 +2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup face result match +2022-08-30 10:24:12 STATE: test-backend-node.js event: image +2022-08-30 10:24:12 STATE: test-backend-node.js event: detect +2022-08-30 10:24:12 STATE: test-backend-node.js event: warmup +2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup: body default +2022-08-30 10:24:12 DATA:  test-backend-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-30 10:24:12 DATA:  test-backend-node.js result: performance: load: null total: 237 +2022-08-30 10:24:12 STATE: test-backend-node.js passed: warmup body result match +2022-08-30 10:24:12 STATE: test-backend-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-30 10:24:12 INFO:  test-backend-node.js test: details verification +2022-08-30 10:24:12 STATE: test-backend-node.js start default +2022-08-30 10:24:12 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:12 STATE: test-backend-node.js event: image +2022-08-30 10:24:13 STATE: test-backend-node.js event: detect +2022-08-30 10:24:13 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg default +2022-08-30 10:24:13 DATA:  test-backend-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-30 10:24:13 DATA:  test-backend-node.js result: performance: load: null total: 220 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face length 1 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face score 1 0.93 1 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face arrays 4 478 1024 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face anti-spoofing 0.79 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details face liveness 0.83 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details body length 1 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details body 0.92 17 6 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details hand length 1 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details hand 0.51 0.73 point +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details hand arrays 21 5 7 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details gesture length 7 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details object length 1 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: details object 0.72 person +2022-08-30 10:24:13 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-30 10:24:13 STATE: test-backend-node.js event: image +2022-08-30 10:24:13 STATE: test-backend-node.js event: detect +2022-08-30 10:24:13 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-30 10:24:13 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-30 10:24:13 STATE: test-backend-node.js event: image +2022-08-30 10:24:13 STATE: test-backend-node.js event: detect +2022-08-30 10:24:13 STATE: test-backend-node.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-30 10:24:14 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:14 STATE: test-backend-node.js event: image +2022-08-30 10:24:14 STATE: test-backend-node.js event: detect +2022-08-30 10:24:14 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-30 10:24:14 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:14 STATE: test-backend-node.js event: image +2022-08-30 10:24:14 STATE: test-backend-node.js event: detect +2022-08-30 10:24:14 STATE: test-backend-node.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-30 10:24:14 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-30 10:24:14 STATE: test-backend-node.js event: image +2022-08-30 10:24:15 STATE: test-backend-node.js event: detect +2022-08-30 10:24:15 STATE: test-backend-node.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-30 10:24:15 INFO:  test-backend-node.js test default +2022-08-30 10:24:15 STATE: test-backend-node.js start async +2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:15 STATE: test-backend-node.js event: image +2022-08-30 10:24:15 STATE: test-backend-node.js event: detect +2022-08-30 10:24:15 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg async +2022-08-30 10:24:15 DATA:  test-backend-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-30 10:24:15 DATA:  test-backend-node.js result: performance: load: null total: 200 +2022-08-30 10:24:15 STATE: test-backend-node.js passed: default result face match 1 female 0.97 +2022-08-30 10:24:15 INFO:  test-backend-node.js test sync +2022-08-30 10:24:15 STATE: test-backend-node.js start sync +2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:15 STATE: test-backend-node.js event: image +2022-08-30 10:24:15 STATE: test-backend-node.js event: detect +2022-08-30 10:24:15 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sync +2022-08-30 10:24:15 DATA:  test-backend-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-30 10:24:15 DATA:  test-backend-node.js result: performance: load: null total: 200 +2022-08-30 10:24:15 STATE: test-backend-node.js passed: default sync 1 female 0.97 +2022-08-30 10:24:15 INFO:  test-backend-node.js test: image process +2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:15 STATE: test-backend-node.js passed: image input null [1,256,256,3] +2022-08-30 10:24:15 INFO:  test-backend-node.js test: image null +2022-08-30 10:24:15 STATE: test-backend-node.js passed: invalid input could not convert input to tensor +2022-08-30 10:24:15 INFO:  test-backend-node.js test face similarity +2022-08-30 10:24:15 STATE: test-backend-node.js start face similarity +2022-08-30 10:24:15 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:15 STATE: test-backend-node.js event: image +2022-08-30 10:24:16 STATE: test-backend-node.js event: detect +2022-08-30 10:24:16 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-30 10:24:16 DATA:  test-backend-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-30 10:24:16 DATA:  test-backend-node.js result: performance: load: null total: 198 +2022-08-30 10:24:16 STATE: test-backend-node.js start face similarity +2022-08-30 10:24:16 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:16 STATE: test-backend-node.js event: image +2022-08-30 10:24:16 STATE: test-backend-node.js event: detect +2022-08-30 10:24:16 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-30 10:24:16 DATA:  test-backend-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-30 10:24:16 DATA:  test-backend-node.js result: performance: load: null total: 199 +2022-08-30 10:24:16 STATE: test-backend-node.js start face similarity +2022-08-30 10:24:16 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-30 10:24:16 STATE: test-backend-node.js event: image +2022-08-30 10:24:16 STATE: test-backend-node.js event: detect +2022-08-30 10:24:16 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-30 10:24:16 DATA:  test-backend-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-30 10:24:16 DATA:  test-backend-node.js result: performance: load: null total: 177 +2022-08-30 10:24:16 STATE: test-backend-node.js passed: face descriptor +2022-08-30 10:24:16 STATE: test-backend-node.js passed: face similarity {"similarity":[1,0.44727452329649126,0.5567935850640406],"descriptors":[1024,1024,1024]} +2022-08-30 10:24:16 INFO:  test-backend-node.js test object +2022-08-30 10:24:16 STATE: test-backend-node.js start object +2022-08-30 10:24:16 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:16 STATE: test-backend-node.js event: image +2022-08-30 10:24:17 STATE: test-backend-node.js event: detect +2022-08-30 10:24:17 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-30 10:24:17 DATA:  test-backend-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-30 10:24:17 DATA:  test-backend-node.js result: performance: load: null total: 198 +2022-08-30 10:24:17 STATE: test-backend-node.js passed: centernet +2022-08-30 10:24:17 STATE: test-backend-node.js start object +2022-08-30 10:24:18 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:18 STATE: test-backend-node.js event: image +2022-08-30 10:24:18 STATE: test-backend-node.js event: detect +2022-08-30 10:24:18 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg object +2022-08-30 10:24:18 DATA:  test-backend-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-30 10:24:18 DATA:  test-backend-node.js result: performance: load: null total: 209 +2022-08-30 10:24:18 STATE: test-backend-node.js passed: nanodet +2022-08-30 10:24:18 INFO:  test-backend-node.js test sensitive +2022-08-30 10:24:18 STATE: test-backend-node.js start sensitive +2022-08-30 10:24:18 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:18 STATE: test-backend-node.js event: image +2022-08-30 10:24:18 STATE: test-backend-node.js event: detect +2022-08-30 10:24:18 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-30 10:24:18 DATA:  test-backend-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-30 10:24:18 DATA:  test-backend-node.js result: performance: load: null total: 169 +2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive result match +2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive face result match +2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive body result match +2022-08-30 10:24:18 STATE: test-backend-node.js passed: sensitive hand result match +2022-08-30 10:24:18 INFO:  test-backend-node.js test body +2022-08-30 10:24:18 STATE: test-backend-node.js start blazepose +2022-08-30 10:24:20 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:20 STATE: test-backend-node.js event: image +2022-08-30 10:24:21 STATE: test-backend-node.js event: detect +2022-08-30 10:24:21 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-30 10:24:21 DATA:  test-backend-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-30 10:24:21 DATA:  test-backend-node.js result: performance: load: null total: 212 +2022-08-30 10:24:21 STATE: test-backend-node.js passed: blazepose +2022-08-30 10:24:21 STATE: test-backend-node.js start efficientpose +2022-08-30 10:24:21 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:21 STATE: test-backend-node.js event: image +2022-08-30 10:24:21 STATE: test-backend-node.js event: detect +2022-08-30 10:24:21 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-30 10:24:21 DATA:  test-backend-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-30 10:24:21 DATA:  test-backend-node.js result: performance: load: null total: 233 +2022-08-30 10:24:21 STATE: test-backend-node.js passed: efficientpose +2022-08-30 10:24:21 STATE: test-backend-node.js start posenet +2022-08-30 10:24:22 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:22 STATE: test-backend-node.js event: image +2022-08-30 10:24:22 STATE: test-backend-node.js event: detect +2022-08-30 10:24:22 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-30 10:24:22 DATA:  test-backend-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-30 10:24:22 DATA:  test-backend-node.js result: performance: load: null total: 179 +2022-08-30 10:24:22 STATE: test-backend-node.js passed: posenet +2022-08-30 10:24:22 STATE: test-backend-node.js start movenet +2022-08-30 10:24:22 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:22 STATE: test-backend-node.js event: image +2022-08-30 10:24:22 STATE: test-backend-node.js event: detect +2022-08-30 10:24:22 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-30 10:24:22 DATA:  test-backend-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-30 10:24:22 DATA:  test-backend-node.js result: performance: load: null total: 163 +2022-08-30 10:24:22 STATE: test-backend-node.js passed: movenet +2022-08-30 10:24:22 INFO:  test-backend-node.js test face matching +2022-08-30 10:24:22 STATE: test-backend-node.js passed: face database 40 +2022-08-30 10:24:22 STATE: test-backend-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-30 10:24:22 INFO:  test-backend-node.js test face similarity alternative +2022-08-30 10:24:22 STATE: test-backend-node.js start face embeddings +2022-08-30 10:24:23 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:23 STATE: test-backend-node.js event: image +2022-08-30 10:24:23 STATE: test-backend-node.js event: detect +2022-08-30 10:24:23 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-30 10:24:23 DATA:  test-backend-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-30 10:24:23 DATA:  test-backend-node.js result: performance: load: null total: 186 +2022-08-30 10:24:23 STATE: test-backend-node.js passed: mobilefacenet {"embedding":192} +2022-08-30 10:24:23 STATE: test-backend-node.js start face embeddings +2022-08-30 10:24:24 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:24 STATE: test-backend-node.js event: image +2022-08-30 10:24:24 STATE: test-backend-node.js event: detect +2022-08-30 10:24:24 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-30 10:24:24 DATA:  test-backend-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-30 10:24:24 DATA:  test-backend-node.js result: performance: load: null total: 190 +2022-08-30 10:24:24 STATE: test-backend-node.js passed: insightface {"embedding":512} +2022-08-30 10:24:24 INFO:  test-backend-node.js test face attention +2022-08-30 10:24:24 STATE: test-backend-node.js start face attention +2022-08-30 10:24:24 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:24 STATE: test-backend-node.js event: image +2022-08-30 10:24:24 STATE: test-backend-node.js event: detect +2022-08-30 10:24:24 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-30 10:24:24 DATA:  test-backend-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-30 10:24:24 DATA:  test-backend-node.js result: performance: load: null total: 169 +2022-08-30 10:24:24 STATE: test-backend-node.js passed: face attention +2022-08-30 10:24:24 INFO:  test-backend-node.js test detectors +2022-08-30 10:24:24 STATE: test-backend-node.js start detectors +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:25 STATE: test-backend-node.js event: image +2022-08-30 10:24:25 STATE: test-backend-node.js event: detect +2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-30 10:24:25 DATA:  test-backend-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-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 86 +2022-08-30 10:24:25 STATE: test-backend-node.js passed: detector result face match +2022-08-30 10:24:25 STATE: test-backend-node.js passed: detector result hand match +2022-08-30 10:24:25 INFO:  test-backend-node.js test: multi-instance +2022-08-30 10:24:25 STATE: test-backend-node.js start multi instance +2022-08-30 10:24:25 STATE: test-backend-node.js event: image +2022-08-30 10:24:25 STATE: test-backend-node.js event: detect +2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: random multi instance +2022-08-30 10:24:25 DATA:  test-backend-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 76 +2022-08-30 10:24:25 INFO:  test-backend-node.js test: first instance +2022-08-30 10:24:25 STATE: test-backend-node.js start multi instance +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-30 10:24:25 DATA:  test-backend-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-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 82 +2022-08-30 10:24:25 INFO:  test-backend-node.js test: second instance +2022-08-30 10:24:25 STATE: test-backend-node.js start multi instance +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-30 10:24:25 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-30 10:24:25 DATA:  test-backend-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-30 10:24:25 DATA:  test-backend-node.js result: performance: load: null total: 75 +2022-08-30 10:24:25 INFO:  test-backend-node.js test: concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js start concurrent +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:25 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:26 STATE: test-backend-node.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289024} +2022-08-30 10:24:26 STATE: test-backend-node.js event: image +2022-08-30 10:24:26 STATE: test-backend-node.js event: image +2022-08-30 10:24:26 STATE: test-backend-node.js event: image +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 902 +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 902 +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 903 +2022-08-30 10:24:26 STATE: test-backend-node.js event: detect +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 670 +2022-08-30 10:24:26 STATE: test-backend-node.js event: detect +2022-08-30 10:24:26 STATE: test-backend-node.js event: detect +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 670 +2022-08-30 10:24:26 STATE: test-backend-node.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:24:26 DATA:  test-backend-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-30 10:24:26 DATA:  test-backend-node.js result: performance: load: null total: 670 +2022-08-30 10:24:26 INFO:  test-backend-node.js test: monkey-patch +2022-08-30 10:24:26 STATE: test-backend-node.js event: image +2022-08-30 10:24:27 STATE: test-backend-node.js event: detect +2022-08-30 10:24:27 STATE: test-backend-node.js passed: monkey patch +2022-08-30 10:24:27 STATE: test-backend-node.js passed: segmentation [65536] +2022-08-30 10:24:27 STATE: test-backend-node.js passeed: equal usage +2022-08-30 10:24:27 INFO:  test-backend-node.js test: input compare +2022-08-30 10:24:27 STATE: test-backend-node.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:27 STATE: test-backend-node.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796864} +2022-08-30 10:24:27 STATE: test-backend-node.js passed: image compare 0 23.275441687091504 +2022-08-30 10:24:27 INFO:  test-backend-node.js events: {"image":29,"detect":29,"warmup":2} +2022-08-30 10:24:27 INFO:  test-backend-node.js tensors 4105 +2022-08-30 10:24:27 INFO:  test-backend-node.js test complete: 15292 ms +2022-08-30 10:24:27 INFO:  +2022-08-30 10:24:27 INFO:  test-backend-node-gpu.js start +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js test: configuration validation +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: configuration default validation [] +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js test: model load +2022-08-30 10:24:28 STATE: test-backend-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-30 10:24:28 INFO:  test-backend-node-gpu.js memory: {"memory":{"unreliable":true,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js test: warmup +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: create human +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js human version: 2.9.4 +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js tfjs version: 3.20.0 +2022-08-30 10:24:28 INFO:  test-backend-node-gpu.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","tensorflow"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{"version":"2.7.3-dev20220521","gpu":true},"wasm":{"supported":true,"backend":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":169} +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: set backend: tensorflow +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js tensors 1921 +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: load models +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js result: defined models: 23 loaded models: 12 +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: warmup: none default +2022-08-30 10:24:28 DATA:  test-backend-node-gpu.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-30 10:24:28 DATA:  test-backend-node-gpu.js result: performance: load: null total: null +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js passed: warmup none result match +2022-08-30 10:24:28 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: warmup +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup: face default +2022-08-30 10:24:31 DATA:  test-backend-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-30 10:24:31 DATA:  test-backend-node-gpu.js result: performance: load: null total: 2874 +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup face result match +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: warmup +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup: body default +2022-08-30 10:24:31 DATA:  test-backend-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-30 10:24:31 DATA:  test-backend-node-gpu.js result: performance: load: null total: 158 +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: warmup body result match +2022-08-30 10:24:31 STATE: test-backend-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-30 10:24:31 INFO:  test-backend-node-gpu.js test: details verification +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js start default +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:31 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg default +2022-08-30 10:24:32 DATA:  test-backend-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-30 10:24:32 DATA:  test-backend-node-gpu.js result: performance: load: null total: 131 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face length 1 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face score 1 0.93 1 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face arrays 4 478 1024 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face anti-spoofing 0.79 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details face liveness 0.83 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details body length 1 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details body 0.92 17 6 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details hand length 1 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details hand 0.51 0.73 point +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details hand arrays 21 5 7 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details gesture length 7 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details object length 1 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: details object 0.72 person +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996928} +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1371996928} +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:32 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-30 10:24:33 INFO:  test-backend-node-gpu.js test default +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js start async +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:33 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg async +2022-08-30 10:24:34 DATA:  test-backend-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-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 147 +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: default result face match 1 female 0.97 +2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test sync +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start sync +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sync +2022-08-30 10:24:34 DATA:  test-backend-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-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 137 +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: default sync 1 female 0.97 +2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test: image process +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: image input null [1,256,256,3] +2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test: image null +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: invalid input could not convert input to tensor +2022-08-30 10:24:34 INFO:  test-backend-node-gpu.js test face similarity +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start face similarity +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-30 10:24:34 DATA:  test-backend-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-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 139 +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start face similarity +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-30 10:24:34 DATA:  test-backend-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-30 10:24:34 DATA:  test-backend-node-gpu.js result: performance: load: null total: 138 +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js start face similarity +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-30 10:24:34 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-30 10:24:35 DATA:  test-backend-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-30 10:24:35 DATA:  test-backend-node-gpu.js result: performance: load: null total: 129 +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: face descriptor +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: face similarity {"similarity":[1,0.447238756461232,0.556914029877052],"descriptors":[1024,1024,1024]} +2022-08-30 10:24:35 INFO:  test-backend-node-gpu.js test object +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js start object +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-30 10:24:35 DATA:  test-backend-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-30 10:24:35 DATA:  test-backend-node-gpu.js result: performance: load: null total: 137 +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js passed: centernet +2022-08-30 10:24:35 STATE: test-backend-node-gpu.js start object +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg object +2022-08-30 10:24:36 DATA:  test-backend-node-gpu.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-30 10:24:36 DATA:  test-backend-node-gpu.js result: performance: load: null total: 508 +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: nanodet +2022-08-30 10:24:36 INFO:  test-backend-node-gpu.js test sensitive +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js start sensitive +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:36 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-30 10:24:37 DATA:  test-backend-node-gpu.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-30 10:24:37 DATA:  test-backend-node-gpu.js result: performance: load: null total: 100 +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive result match +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive face result match +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive face emotion result [{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}] +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive body result match +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js passed: sensitive hand result match +2022-08-30 10:24:37 INFO:  test-backend-node-gpu.js test body +2022-08-30 10:24:37 STATE: test-backend-node-gpu.js start blazepose +2022-08-30 10:24:38 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:38 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:39 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:39 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-30 10:24:39 DATA:  test-backend-node-gpu.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-30 10:24:39 DATA:  test-backend-node-gpu.js result: performance: load: null total: 259 +2022-08-30 10:24:39 STATE: test-backend-node-gpu.js passed: blazepose +2022-08-30 10:24:39 STATE: test-backend-node-gpu.js start efficientpose +2022-08-30 10:24:39 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:39 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-30 10:24:40 DATA:  test-backend-node-gpu.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-30 10:24:40 DATA:  test-backend-node-gpu.js result: performance: load: null total: 747 +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: efficientpose +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js start posenet +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-30 10:24:40 DATA:  test-backend-node-gpu.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-30 10:24:40 DATA:  test-backend-node-gpu.js result: performance: load: null total: 121 +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js passed: posenet +2022-08-30 10:24:40 STATE: test-backend-node-gpu.js start movenet +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-30 10:24:41 DATA:  test-backend-node-gpu.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-30 10:24:41 DATA:  test-backend-node-gpu.js result: performance: load: null total: 99 +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: movenet +2022-08-30 10:24:41 INFO:  test-backend-node-gpu.js test face matching +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: face database 40 +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: face match {"first":{"index":4,"similarity":0.7828184453007331}} {"second":{"index":4,"similarity":0.5001334216773398}} {"third":{"index":4,"similarity":0.5403054967489764}} +2022-08-30 10:24:41 INFO:  test-backend-node-gpu.js test face similarity alternative +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js start face embeddings +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-30 10:24:41 DATA:  test-backend-node-gpu.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-30 10:24:41 DATA:  test-backend-node-gpu.js result: performance: load: null total: 130 +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js passed: mobilefacenet {"embedding":192} +2022-08-30 10:24:41 STATE: test-backend-node-gpu.js start face embeddings +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-30 10:24:42 DATA:  test-backend-node-gpu.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-30 10:24:42 DATA:  test-backend-node-gpu.js result: performance: load: null total: 175 +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: insightface {"embedding":512} +2022-08-30 10:24:42 INFO:  test-backend-node-gpu.js test face attention +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js start face attention +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-30 10:24:42 DATA:  test-backend-node-gpu.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-30 10:24:42 DATA:  test-backend-node-gpu.js result: performance: load: null total: 238 +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js passed: face attention +2022-08-30 10:24:42 INFO:  test-backend-node-gpu.js test detectors +2022-08-30 10:24:42 STATE: test-backend-node-gpu.js start detectors +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-30 10:24:43 DATA:  test-backend-node-gpu.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-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 52 +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detector result face match +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detector result hand match +2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: multi-instance +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start multi instance +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: random multi instance +2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 50 +2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: first instance +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start multi instance +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-30 10:24:43 DATA:  test-backend-node-gpu.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-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 52 +2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: second instance +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start multi instance +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-30 10:24:43 DATA:  test-backend-node-gpu.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-30 10:24:43 DATA:  test-backend-node-gpu.js result: performance: load: null total: 52 +2022-08-30 10:24:43 INFO:  test-backend-node-gpu.js test: concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js start concurrent +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:43 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151289056} +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 700 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 455 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 455 +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:24:44 DATA:  test-backend-node-gpu.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-30 10:24:44 DATA:  test-backend-node-gpu.js result: performance: load: null total: 455 +2022-08-30 10:24:44 INFO:  test-backend-node-gpu.js test: monkey-patch +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: image +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js event: detect +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: monkey patch +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: segmentation [65536] +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passeed: equal usage +2022-08-30 10:24:44 INFO:  test-backend-node-gpu.js test: input compare +2022-08-30 10:24:44 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34696120} +2022-08-30 10:24:45 STATE: test-backend-node-gpu.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1004796928} +2022-08-30 10:24:45 STATE: test-backend-node-gpu.js passed: image compare 0 23.275441687091504 +2022-08-30 10:24:45 INFO:  test-backend-node-gpu.js events: {"image":29,"detect":29,"warmup":2} +2022-08-30 10:24:45 INFO:  test-backend-node-gpu.js tensors 4105 +2022-08-30 10:24:45 INFO:  test-backend-node-gpu.js test complete: 16760 ms +2022-08-30 10:24:46 INFO:  +2022-08-30 10:24:46 INFO:  test-backend-node-wasm.js start +2022-08-30 10:24:46 DATA:  test-backend-node-wasm.js stdout: 2022-08-30 10:24:46 INFO:  { supported: true, backend: true, simd: true, multithread: false } +2022-08-30 10:24:46 STATE: test-backend-node-wasm.js passed: model server: https://vladmandic.github.io/human/models/ +2022-08-30 10:24:46 INFO:  test-backend-node-wasm.js test: configuration validation +2022-08-30 10:24:46 STATE: test-backend-node-wasm.js passed: configuration default validation [] +2022-08-30 10:24:46 STATE: test-backend-node-wasm.js passed: configuration invalid validation [{"reason":"unknown property","where":"config.invalid = true"}] +2022-08-30 10:24:46 INFO:  test-backend-node-wasm.js test: model load +2022-08-30 10:24:48 STATE: test-backend-node-wasm.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":"https://vladmandic.github.io/human/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":"https://vladmandic.github.io/human/models/emotion.json"},{"name":"facedetect","loaded":true,"url":"https://vladmandic.github.io/human/models/blazeface.json"},{"name":"faceiris","loaded":true,"url":"https://vladmandic.github.io/human/models/iris.json"},{"name":"facemesh","loaded":true,"url":"https://vladmandic.github.io/human/models/facemesh.json"},{"name":"faceres","loaded":true,"url":"https://vladmandic.github.io/human/models/faceres.json"},{"name":"ssrnetgender","loaded":false,"url":null},{"name":"handpose","loaded":false,"url":null},{"name":"handskeleton","loaded":true,"url":"https://vladmandic.github.io/human/models/handlandmark-full.json"},{"name":"handtrack","loaded":true,"url":"https://vladmandic.github.io/human/models/handtrack.json"},{"name":"liveness","loaded":true,"url":"https://vladmandic.github.io/human/models/liveness.json"},{"name":"movenet","loaded":true,"url":"https://vladmandic.github.io/human/models/movenet-lightning.json"},{"name":"nanodet","loaded":false,"url":null},{"name":"posenet","loaded":false,"url":null},{"name":"segmentation","loaded":true,"url":"https://vladmandic.github.io/human/models/selfie.json"},{"name":"antispoof","loaded":true,"url":"https://vladmandic.github.io/human/models/antispoof.json"}] +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js memory: {"memory":{"unreliable":false,"numTensors":1921,"numDataBuffers":1921,"numBytes":63673064}} +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js state: {"state":{"registeredVariables":{},"nextTapeNodeId":0,"numBytes":63673064,"numTensors":1921,"numStringTensors":0,"numDataBuffers":1921,"gradientDepth":0,"kernelDepth":0,"scopeStack":[],"numDataMovesStack":[],"nextScopeId":0,"tensorInfo":{},"profiling":false,"activeProfile":{"newBytes":0,"newTensors":0,"peakBytes":0,"kernels":[],"result":null,"kernelNames":[]}}} +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js test: warmup +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: create human +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js human version: 2.9.4 +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js platform: linux x64 agent: NodeJS v18.1.0 +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js tfjs version: 3.20.0 +2022-08-30 10:24:48 INFO:  test-backend-node-wasm.js env: {"browser":false,"node":true,"platform":"linux x64","agent":"NodeJS v18.1.0","backends":["cpu","wasm"],"initial":false,"tfjs":{"version":"3.20.0"},"offscreen":false,"perfadd":false,"tensorflow":{},"wasm":{"supported":true,"backend":true,"simd":true,"multithread":false},"webgl":{"supported":false,"backend":false},"webgpu":{"supported":false,"backend":false},"cpu":{"flags":[]},"kernels":126} +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: set backend: wasm +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js tensors 1921 +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: load models +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js result: defined models: 23 loaded models: 12 +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: warmup: none default +2022-08-30 10:24:48 DATA:  test-backend-node-wasm.js result: face: 0 body: 0 hand: 0 gesture: 0 object: 0 person: 0 {} {} {} +2022-08-30 10:24:48 DATA:  test-backend-node-wasm.js result: performance: load: null total: null +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js passed: warmup none result match +2022-08-30 10:24:48 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: warmup +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup: face default +2022-08-30 10:24:49 DATA:  test-backend-node-wasm.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-30 10:24:49 DATA:  test-backend-node-wasm.js result: performance: load: null total: 532 +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup face result match +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js event: warmup +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup: body default +2022-08-30 10:24:49 DATA:  test-backend-node-wasm.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-30 10:24:49 DATA:  test-backend-node-wasm.js result: performance: load: null total: 380 +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js passed: warmup body result match +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js details: {"face":{"boxScore":0.93,"faceScore":1,"age":23.7,"gender":"female","genderScore":0.97},"emotion":[{"score":0.59,"emotion":"angry"},{"score":0.29,"emotion":"fear"}],"body":{"score":0.92,"keypoints":17},"hand":{"boxScore":0.51,"fingerScore":0.73,"keypoints":21},"gestures":[{"face":0,"gesture":"facing right"},{"face":0,"gesture":"mouth 21% 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-30 10:24:49 INFO:  test-backend-node-wasm.js test: details verification +2022-08-30 10:24:49 STATE: test-backend-node-wasm.js start default +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg default +2022-08-30 10:24:50 DATA:  test-backend-node-wasm.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-30 10:24:50 DATA:  test-backend-node-wasm.js result: performance: load: null total: 323 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face length 1 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face score 1 0.93 1 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face age/gender 23.7 female 0.97 85.47 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face arrays 4 478 1024 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face emotion 2 {"score":0.59,"emotion":"angry"} +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face anti-spoofing 0.79 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details face liveness 0.83 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details body length 1 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details body 0.92 17 6 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details hand length 1 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details hand 0.51 0.73 point +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details hand arrays 21 5 7 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details gesture length 7 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details gesture first {"face":0,"gesture":"facing right"} +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details object length 1 +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: details object 0.72 person +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1413675264} +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:50 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: float32 +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,4] {"checksum":1413675264} +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,4] dtype: float32 +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:51 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,3] dtype: float32 +2022-08-30 10:24:52 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:52 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:52 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:52 STATE: test-backend-node-wasm.js passed: tensor shape: [1200,1200,3] dtype: float32 +2022-08-30 10:24:52 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,4] {"checksum":1371996871} +2022-08-30 10:24:52 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: tensor shape: [1,1200,1200,4] dtype: int32 +2022-08-30 10:24:53 INFO:  test-backend-node-wasm.js test default +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js start async +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg async +2022-08-30 10:24:53 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-30 10:24:53 DATA:  test-backend-node-wasm.js result: performance: load: null total: 329 +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: default result face match 1 female 0.97 +2022-08-30 10:24:53 INFO:  test-backend-node-wasm.js test sync +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js start sync +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:53 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sync +2022-08-30 10:24:54 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-30 10:24:54 DATA:  test-backend-node-wasm.js result: performance: load: null total: 344 +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: default sync 1 female 0.97 +2022-08-30 10:24:54 INFO:  test-backend-node-wasm.js test: image process +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: image input null [1,256,256,3] +2022-08-30 10:24:54 INFO:  test-backend-node-wasm.js test: image null +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: invalid input could not convert input to tensor +2022-08-30 10:24:54 INFO:  test-backend-node-wasm.js test face similarity +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js start face similarity +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face similarity +2022-08-30 10:24:54 DATA:  test-backend-node-wasm.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-30 10:24:54 DATA:  test-backend-node-wasm.js result: performance: load: null total: 314 +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js start face similarity +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:54 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg face similarity +2022-08-30 10:24:55 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-30 10:24:55 DATA:  test-backend-node-wasm.js result: performance: load: null total: 343 +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js start face similarity +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg face similarity +2022-08-30 10:24:55 DATA:  test-backend-node-wasm.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-30 10:24:55 DATA:  test-backend-node-wasm.js result: performance: load: null total: 375 +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: face descriptor +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: face similarity {"similarity":[1,0.5266119940661309,0.4858842904087851],"descriptors":[1024,1024,1024]} +2022-08-30 10:24:55 INFO:  test-backend-node-wasm.js test object +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js start object +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:55 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:56 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:56 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-30 10:24:56 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 1 person: 1 {"score":1,"age":29.6,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} +2022-08-30 10:24:56 DATA:  test-backend-node-wasm.js result: performance: load: null total: 374 +2022-08-30 10:24:56 STATE: test-backend-node-wasm.js passed: centernet +2022-08-30 10:24:56 STATE: test-backend-node-wasm.js start object +2022-08-30 10:24:56 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"object","model":"nanodet","url":"https://vladmandic.github.io/human-models/models/nanodet.json","missing":["sparsetodense"],"backkend":"wasm"} +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg object +2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 1 gesture: 8 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 242 +2022-08-30 10:24:57 ERROR: test-backend-node-wasm.js failed: nanodet [] +2022-08-30 10:24:57 INFO:  test-backend-node-wasm.js test sensitive +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js start sensitive +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg sensitive +2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-30 10:24:57 DATA:  test-backend-node-wasm.js result: performance: load: null total: 275 +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive result match +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive face result match +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive face emotion result [{"score":0.46,"emotion":"neutral"},{"score":0.24,"emotion":"fear"},{"score":0.17,"emotion":"sad"}] +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive body result match +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js passed: sensitive hand result match +2022-08-30 10:24:57 INFO:  test-backend-node-wasm.js test body +2022-08-30 10:24:57 STATE: test-backend-node-wasm.js start blazepose +2022-08-30 10:25:00 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:00 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:00 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:00 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg blazepose +2022-08-30 10:25:00 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.99,"keypoints":39} +2022-08-30 10:25:00 DATA:  test-backend-node-wasm.js result: performance: load: null total: 423 +2022-08-30 10:25:00 STATE: test-backend-node-wasm.js passed: blazepose +2022-08-30 10:25:00 STATE: test-backend-node-wasm.js start efficientpose +2022-08-30 10:25:01 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:01 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:02 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:02 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg efficientpose +2022-08-30 10:25:02 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.75,"keypoints":13} +2022-08-30 10:25:02 DATA:  test-backend-node-wasm.js result: performance: load: null total: 633 +2022-08-30 10:25:02 STATE: test-backend-node-wasm.js passed: efficientpose +2022-08-30 10:25:02 STATE: test-backend-node-wasm.js start posenet +2022-08-30 10:25:02 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:02 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg posenet +2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.96,"keypoints":16} +2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: performance: load: null total: 292 +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: posenet +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js start movenet +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg movenet +2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: face: 1 body: 1 hand: 2 gesture: 10 object: 0 person: 1 {"score":1,"age":29.6,"gender":"female"} {} {"score":0.92,"keypoints":17} +2022-08-30 10:25:03 DATA:  test-backend-node-wasm.js result: performance: load: null total: 257 +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: movenet +2022-08-30 10:25:03 INFO:  test-backend-node-wasm.js test face matching +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: face database 40 +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js passed: face match {"first":{"index":4,"similarity":0.7827852754786533}} {"second":{"index":4,"similarity":0.5660821189104794}} {"third":{"index":4,"similarity":0.45074189882665594}} +2022-08-30 10:25:03 INFO:  test-backend-node-wasm.js test face similarity alternative +2022-08-30 10:25:03 STATE: test-backend-node-wasm.js start face embeddings +2022-08-30 10:25:04 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:04 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:04 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:04 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-30 10:25:04 DATA:  test-backend-node-wasm.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-30 10:25:04 DATA:  test-backend-node-wasm.js result: performance: load: null total: 243 +2022-08-30 10:25:04 STATE: test-backend-node-wasm.js passed: mobilefacenet {"embedding":192} +2022-08-30 10:25:04 STATE: test-backend-node-wasm.js start face embeddings +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face embeddings +2022-08-30 10:25:05 DATA:  test-backend-node-wasm.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-30 10:25:05 DATA:  test-backend-node-wasm.js result: performance: load: null total: 276 +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: insightface {"embedding":512} +2022-08-30 10:25:05 INFO:  test-backend-node-wasm.js test face attention +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js start face attention +2022-08-30 10:25:05 WARN:  test-backend-node-wasm.js missing kernel ops {"title":"face attention","model":"facemesh","url":"https://vladmandic.github.io/human-models/models/facemesh-attention.json","missing":["atan2"],"backkend":"wasm"} +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg face attention +2022-08-30 10:25:05 DATA:  test-backend-node-wasm.js result: face: 0 body: 1 hand: 1 gesture: 2 object: 0 person: 0 {} {} {"score":0.47,"keypoints":3} +2022-08-30 10:25:05 DATA:  test-backend-node-wasm.js result: performance: load: null total: 121 +2022-08-30 10:25:05 ERROR: test-backend-node-wasm.js failed: face attention {"annotations":0} +2022-08-30 10:25:05 INFO:  test-backend-node-wasm.js test detectors +2022-08-30 10:25:05 STATE: test-backend-node-wasm.js start detectors +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg detectors +2022-08-30 10:25:06 DATA:  test-backend-node-wasm.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-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 114 +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detector result face match +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detector result hand match +2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: multi-instance +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start multi instance +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: random multi instance +2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} +2022-08-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 95 +2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: first instance +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start multi instance +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-30 10:25:06 DATA:  test-backend-node-wasm.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-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 106 +2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: second instance +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start multi instance +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg multi instance +2022-08-30 10:25:06 DATA:  test-backend-node-wasm.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-30 10:25:06 DATA:  test-backend-node-wasm.js result: performance: load: null total: 108 +2022-08-30 10:25:06 INFO:  test-backend-node-wasm.js test: concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js start concurrent +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:06 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-upper.jpg [1,720,688,3] {"checksum":151155104} +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:07 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1302 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1302 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1303 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-upper.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1005 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-face.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1006 +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: detect: samples/in/ai-body.jpg concurrent +2022-08-30 10:25:08 DATA:  test-backend-node-wasm.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-30 10:25:08 DATA:  test-backend-node-wasm.js result: performance: load: null total: 1006 +2022-08-30 10:25:08 INFO:  test-backend-node-wasm.js test: monkey-patch +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: image +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js event: detect +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: monkey patch +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: segmentation [65536] +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passeed: equal usage +2022-08-30 10:25:08 INFO:  test-backend-node-wasm.js test: input compare +2022-08-30 10:25:08 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-face.jpg [1,256,256,3] {"checksum":34697856} +2022-08-30 10:25:09 STATE: test-backend-node-wasm.js passed: load image: samples/in/ai-body.jpg [1,1200,1200,3] {"checksum":1038921856} +2022-08-30 10:25:09 STATE: test-backend-node-wasm.js passed: image compare 0 23.280073018790848 +2022-08-30 10:25:09 INFO:  test-backend-node-wasm.js events: {"image":29,"detect":29,"warmup":2} +2022-08-30 10:25:09 INFO:  test-backend-node-wasm.js tensors 4107 +2022-08-30 10:25:09 INFO:  test-backend-node-wasm.js test complete: 22548 ms +2022-08-30 10:25:09 STATE: all tests complete +2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-simple.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-fetch.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-event.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-similarity.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/nodejs/node-canvas.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/multithread/node-multiprocess.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"../demo/facematch/node-match.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"test-node-load.js","passed":1,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"test-node-gear.js","passed":3,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"test-backend-node.js","passed":125,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"test-backend-node-gpu.js","passed":125,"failed":0} +2022-08-30 10:25:09 INFO:  status {"test":"test-backend-node-wasm.js","passed":124,"failed":2} +2022-08-30 10:25:09 INFO:  failures {"count":2} +2022-08-30 10:25:09 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: nanodet",[]]]} +2022-08-30 10:25:09 WARN:  failed {"test":"test-backend-node-wasm.js","message":["error",["failed: face attention",{"annotations":0}]]}