mirror of https://github.com/vladmandic/human
add electron detection
parent
da3cf359fd
commit
059ebe5e36
|
@ -9,8 +9,9 @@
|
|||
|
||||
## Changelog
|
||||
|
||||
### **HEAD -> main** 2023/02/13 mandic00@live.com
|
||||
### **HEAD -> main** 2023/02/22 mandic00@live.com
|
||||
|
||||
- add movenet-multipose workaround
|
||||
- rebuild and publish
|
||||
- add face.detector.minsize configurable setting
|
||||
- add affectnet
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
author: <https://github.com/vladmandic>'
|
||||
*/
|
||||
|
||||
import*as m from"../../dist/human.esm.js";var v=1920,b={modelBasePath:"../../models",cacheSensitivity:0,filter:{enabled:!0,equalization:!1,flip:!1},face:{enabled:!0,detector:{rotation:!0},mesh:{enabled:!0},attention:{enabled:!1},iris:{enabled:!0},description:{enabled:!0},emotion:{enabled:!0},antispoof:{enabled:!0},liveness:{enabled:!0}},body:{enabled:!0},hand:{enabled:!0},object:{enabled:!1},segmentation:{enabled:!1},gesture:{enabled:!0}},e=new m.Human(b);e.env.perfadd=!1;e.draw.options.font='small-caps 18px "Lato"';e.draw.options.lineHeight=20;e.draw.options.drawPoints=!0;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},s={detectFPS:0,drawFPS:0,frames:0,averageMs:0},o=(...a)=>{t.log.innerText+=a.join(" ")+`
|
||||
`,console.log(...a)},r=a=>t.fps.innerText=a,g=a=>t.perf.innerText="tensors:"+e.tf.memory().numTensors.toString()+" | performance: "+JSON.stringify(a).replace(/"|{|}/g,"").replace(/,/g," | ");async function f(){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&&o("allocated tensors:",a-n.tensors),n.tensors=a,s.detectFPS=Math.round(1e3*1e3/(e.now()-n.detect))/1e3,s.frames++,s.averageMs=Math.round(1e3*(e.now()-n.start)/s.frames)/1e3,s.frames%100===0&&!t.video.paused&&o("performance",{...s,tensors:n.tensors})}n.detect=e.now(),requestAnimationFrame(f)}async function u(){var d,i,c;if(!t.video.paused){let l=e.next(e.result),p=await e.image(t.video);e.draw.canvas(p.canvas,t.canvas);let w={bodyLabels:`person confidence [score] and ${(c=(i=(d=e.result)==null?void 0:d.body)==null?void 0:i[0])==null?void 0:c.keypoints.length} keypoints`};await e.draw.all(t.canvas,l,w),g(l.performance)}let a=e.now();s.drawFPS=Math.round(1e3*1e3/(a-n.draw))/1e3,n.draw=a,r(t.video.paused?"paused":`fps: ${s.detectFPS.toFixed(1).padStart(5," ")} detect | ${s.drawFPS.toFixed(1).padStart(5," ")} draw`),setTimeout(u,30)}async function y(){let d=(await e.webcam.enumerate())[0].deviceId;await e.webcam.start({element:t.video,crop:!1,width:v,id:d}),t.canvas.width=e.webcam.width,t.canvas.height=e.webcam.height,t.canvas.onclick=async()=>{e.webcam.paused?await e.webcam.play():e.webcam.pause()}}async function h(){o("human version:",e.version,"| tfjs version:",e.tf.version["tfjs-core"]),o("platform:",e.env.platform,"| agent:",e.env.agent),r("loading..."),await e.load(),o("backend:",e.tf.getBackend(),"| available:",e.env.backends),o("models stats:",e.models.stats()),o("models loaded:",e.models.loaded()),o("environment",e.env),r("initializing..."),await e.warmup(),await y(),await f(),await u()}window.onload=h;
|
||||
import*as m from"../../dist/human.esm.js";var v=1920,b={modelBasePath:"../../models",filter:{enabled:!0,equalization:!1,flip:!1},face:{enabled:!0,detector:{rotation:!0},mesh:{enabled:!0},attention:{enabled:!1},iris:{enabled:!0},description:{enabled:!0},emotion:{enabled:!0},antispoof:{enabled:!0},liveness:{enabled:!0}},body:{enabled:!0},hand:{enabled:!0},object:{enabled:!1},segmentation:{enabled:!1},gesture:{enabled:!0}},e=new m.Human(b);e.env.perfadd=!1;e.draw.options.font='small-caps 18px "Lato"';e.draw.options.lineHeight=20;e.draw.options.drawPoints=!0;var a={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},s={detectFPS:0,drawFPS:0,frames:0,averageMs:0},o=(...t)=>{a.log.innerText+=t.join(" ")+`
|
||||
`,console.log(...t)},r=t=>a.fps.innerText=t,g=t=>a.perf.innerText="tensors:"+e.tf.memory().numTensors.toString()+" | performance: "+JSON.stringify(t).replace(/"|{|}/g,"").replace(/,/g," | ");async function f(){if(!a.video.paused){n.start===0&&(n.start=e.now()),await e.detect(a.video);let t=e.tf.memory().numTensors;t-n.tensors!==0&&o("allocated tensors:",t-n.tensors),n.tensors=t,s.detectFPS=Math.round(1e3*1e3/(e.now()-n.detect))/1e3,s.frames++,s.averageMs=Math.round(1e3*(e.now()-n.start)/s.frames)/1e3,s.frames%100===0&&!a.video.paused&&o("performance",{...s,tensors:n.tensors})}n.detect=e.now(),requestAnimationFrame(f)}async function u(){var d,i,c;if(!a.video.paused){let l=e.next(e.result),p=await e.image(a.video);e.draw.canvas(p.canvas,a.canvas);let w={bodyLabels:`person confidence [score] and ${(c=(i=(d=e.result)==null?void 0:d.body)==null?void 0:i[0])==null?void 0:c.keypoints.length} keypoints`};await e.draw.all(a.canvas,l,w),g(l.performance)}let t=e.now();s.drawFPS=Math.round(1e3*1e3/(t-n.draw))/1e3,n.draw=t,r(a.video.paused?"paused":`fps: ${s.detectFPS.toFixed(1).padStart(5," ")} detect | ${s.drawFPS.toFixed(1).padStart(5," ")} draw`),setTimeout(u,30)}async function y(){let d=(await e.webcam.enumerate())[0].deviceId;await e.webcam.start({element:a.video,crop:!1,width:v,id:d}),a.canvas.width=e.webcam.width,a.canvas.height=e.webcam.height,a.canvas.onclick=async()=>{e.webcam.paused?await e.webcam.play():e.webcam.pause()}}async function h(){o("human version:",e.version,"| tfjs version:",e.tf.version["tfjs-core"]),o("platform:",e.env.platform,"| agent:",e.env.agent),r("loading..."),await e.load(),o("backend:",e.tf.getBackend(),"| available:",e.env.backends),o("models stats:",e.models.stats()),o("models loaded:",e.models.loaded()),o("environment",e.env),r("initializing..."),await e.warmup(),await y(),await f(),await u()}window.onload=h;
|
||||
//# sourceMappingURL=index.js.map
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -13,8 +13,9 @@ const width = 1920; // used by webcam config as well as human maximum resultion
|
|||
|
||||
const humanConfig: Partial<H.Config> = { // user configuration for human, used to fine-tune behavior
|
||||
// backend: 'webgpu',
|
||||
// cacheSensitivity: 0,
|
||||
// debug: false,
|
||||
modelBasePath: '../../models',
|
||||
cacheSensitivity: 0,
|
||||
filter: { enabled: true, equalization: false, flip: false },
|
||||
face: { enabled: true, detector: { rotation: true }, mesh: { enabled: true }, attention: { enabled: false }, iris: { enabled: true }, description: { enabled: true }, emotion: { enabled: true }, antispoof: { enabled: true }, liveness: { enabled: true } },
|
||||
body: { enabled: true },
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -33047,7 +33047,7 @@ function registerCustomOps(config3) {
|
|||
}
|
||||
var defaultFlags = {};
|
||||
async function check(instance, force = false) {
|
||||
var _a2;
|
||||
var _a2, _b2;
|
||||
instance.state = "backend";
|
||||
if (((_a2 = instance.config.backend) == null ? void 0 : _a2.length) === 0)
|
||||
instance.config.backend = await getBestBackend();
|
||||
|
@ -33058,12 +33058,23 @@ async function check(instance, force = false) {
|
|||
if (instance.config.debug)
|
||||
log("running inside web worker");
|
||||
}
|
||||
if (env.browser && instance.config.backend === "tensorflow") {
|
||||
if (typeof navigator !== "undefined" && ((_b2 = navigator == null ? void 0 : navigator.userAgent) == null ? void 0 : _b2.toLowerCase().includes("electron"))) {
|
||||
if (instance.config.debug)
|
||||
log("running inside electron");
|
||||
}
|
||||
let available = Object.keys(sr().registryFactory);
|
||||
if (instance.config.backend === "humangl" && !available.includes("humangl")) {
|
||||
register(instance);
|
||||
available = Object.keys(sr().registryFactory);
|
||||
}
|
||||
if (instance.config.debug)
|
||||
log("available backends:", available);
|
||||
if (env.browser && !env.node && instance.config.backend === "tensorflow" && available.includes("webgl")) {
|
||||
if (instance.config.debug)
|
||||
log("override: backend set to tensorflow while running in browser");
|
||||
instance.config.backend = "webgl";
|
||||
}
|
||||
if (env.node && (instance.config.backend === "webgl" || instance.config.backend === "humangl")) {
|
||||
if (env.node && !env.browser && (instance.config.backend === "webgl" || instance.config.backend === "humangl") && available.includes("tensorflow")) {
|
||||
if (instance.config.debug)
|
||||
log(`override: backend set to ${instance.config.backend} while running in nodejs`);
|
||||
instance.config.backend = "tensorflow";
|
||||
|
@ -33085,13 +33096,6 @@ async function check(instance, force = false) {
|
|||
}
|
||||
}
|
||||
}
|
||||
let available = Object.keys(sr().registryFactory);
|
||||
if (instance.config.backend === "humangl" && !available.includes("humangl")) {
|
||||
register(instance);
|
||||
available = Object.keys(sr().registryFactory);
|
||||
}
|
||||
if (instance.config.debug)
|
||||
log("available backends:", available);
|
||||
if (!available.includes(instance.config.backend)) {
|
||||
log(`error: backend ${instance.config.backend} not found in registry`);
|
||||
instance.config.backend = env.node ? "tensorflow" : "webgl";
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -91,7 +91,7 @@
|
|||
"@tensorflow/tfjs-layers": "^4.2.0",
|
||||
"@tensorflow/tfjs-node": "^4.2.0",
|
||||
"@tensorflow/tfjs-node-gpu": "^4.2.0",
|
||||
"@types/node": "^18.14.0",
|
||||
"@types/node": "^18.14.1",
|
||||
"@types/offscreencanvas": "^2019.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.53.0",
|
||||
"@typescript-eslint/parser": "^5.53.0",
|
||||
|
|
|
@ -93,12 +93,24 @@ export async function check(instance: Human, force = false) {
|
|||
if (instance.config.debug) log('running inside web worker');
|
||||
}
|
||||
|
||||
if (typeof navigator !== 'undefined' && navigator?.userAgent?.toLowerCase().includes('electron')) {
|
||||
if (instance.config.debug) log('running inside electron');
|
||||
}
|
||||
|
||||
// check available backends
|
||||
let available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
|
||||
if (instance.config.backend === 'humangl' && !available.includes('humangl')) {
|
||||
humangl.register(instance);
|
||||
available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
|
||||
}
|
||||
if (instance.config.debug) log('available backends:', available);
|
||||
|
||||
// force browser vs node backend
|
||||
if (env.browser && instance.config.backend === 'tensorflow') {
|
||||
if (env.browser && !env.node && (instance.config.backend === 'tensorflow') && available.includes('webgl')) {
|
||||
if (instance.config.debug) log('override: backend set to tensorflow while running in browser');
|
||||
instance.config.backend = 'webgl';
|
||||
}
|
||||
if (env.node && (instance.config.backend === 'webgl' || instance.config.backend === 'humangl')) {
|
||||
if (env.node && !env.browser && (instance.config.backend === 'webgl' || instance.config.backend === 'humangl') && available.includes('tensorflow')) {
|
||||
if (instance.config.debug) log(`override: backend set to ${instance.config.backend} while running in nodejs`);
|
||||
instance.config.backend = 'tensorflow';
|
||||
}
|
||||
|
@ -123,14 +135,6 @@ export async function check(instance: Human, force = false) {
|
|||
}
|
||||
}
|
||||
|
||||
// check available backends
|
||||
let available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
|
||||
if (instance.config.backend === 'humangl' && !available.includes('humangl')) {
|
||||
humangl.register(instance);
|
||||
available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
|
||||
}
|
||||
if (instance.config.debug) log('available backends:', available);
|
||||
|
||||
if (!available.includes(instance.config.backend)) {
|
||||
log(`error: backend ${instance.config.backend} not found in registry`);
|
||||
instance.config.backend = env.node ? 'tensorflow' : 'webgl';
|
||||
|
|
100
test/build.log
100
test/build.log
|
@ -1,50 +1,50 @@
|
|||
2023-02-22 06:42:38 [32mDATA: [39m Build {"name":"@vladmandic/human","version":"3.0.5"}
|
||||
2023-02-22 06:42:38 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"3.0.5"}
|
||||
2023-02-22 06:42:38 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2023-02-22 06:42:38 [36mINFO: [39m Toolchain: {"build":"0.8.2","esbuild":"0.17.10","typescript":"4.9.5","typedoc":"0.23.25","eslint":"8.34.0"}
|
||||
2023-02-22 06:42:38 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Clean: {"locations":["dist/*","types/*","typedoc/*"]}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":361}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":569,"outputBytes":924}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":672601,"outputBytes":319120}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":577,"outputBytes":928}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":672605,"outputBytes":319124}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":665,"outputBytes":1876}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":673553,"outputBytes":319235}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1375,"outputBytes":670}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":672347,"outputBytes":317690}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":1375,"outputBytes":1151306}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1822983,"outputBytes":1464928}
|
||||
2023-02-22 06:42:38 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1822983,"outputBytes":1931994}
|
||||
2023-02-22 06:42:42 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":15}
|
||||
2023-02-22 06:42:45 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":81,"generated":true}
|
||||
2023-02-22 06:42:45 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6140,"outputBytes":2920}
|
||||
2023-02-22 06:42:45 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17503,"outputBytes":9403}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Lint: {"locations":["**/*.json","src/**/*.ts","test/**/*.js","demo/**/*.js","**/*.md"],"files":170,"errors":0,"warnings":0}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Copy: {"input":"node_modules/@vladmandic/tfjs/types/tfjs-core.d.ts","output":"types/tfjs-core.d.ts"}
|
||||
2023-02-22 06:42:54 [36mINFO: [39m Done...
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Copy: {"input":"node_modules/@vladmandic/tfjs/types/tfjs.d.ts","output":"types/tfjs.esm.d.ts"}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Copy: {"input":"src/types/tsconfig.json","output":"types/tsconfig.json"}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Copy: {"input":"src/types/eslint.json","output":"types/.eslintrc.json"}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Copy: {"input":"src/types/tfjs.esm.d.ts","output":"dist/tfjs.esm.d.ts"}
|
||||
2023-02-22 06:42:54 [35mSTATE:[39m Filter: {"input":"types/tfjs-core.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m API-Extractor: {"succeeeded":true,"errors":0,"warnings":210}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Filter: {"input":"types/human.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Write: {"output":"dist/human.esm-nobundle.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Write: {"output":"dist/human.esm.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Write: {"output":"dist/human.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Write: {"output":"dist/human.node-gpu.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Write: {"output":"dist/human.node.d.ts"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Write: {"output":"dist/human.node-wasm.d.ts"}
|
||||
2023-02-22 06:42:55 [36mINFO: [39m Analyze models: {"folders":8,"result":"models/models.json"}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"./models","models":12}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../human-models/models","models":44}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../blazepose/model/","models":4}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../anti-spoofing/model","models":1}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../efficientpose/models","models":3}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../insightface/models","models":5}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../movenet/models","models":3}
|
||||
2023-02-22 06:42:55 [35mSTATE:[39m Models {"folder":"../nanodet/models","models":4}
|
||||
2023-02-22 06:42:56 [35mSTATE:[39m Models: {"count":58,"totalSize":380063249}
|
||||
2023-02-22 06:42:56 [36mINFO: [39m Human Build complete... {"logFile":"test/build.log"}
|
||||
2023-02-25 09:37:18 [32mDATA: [39m Build {"name":"@vladmandic/human","version":"3.0.5"}
|
||||
2023-02-25 09:37:18 [36mINFO: [39m Application: {"name":"@vladmandic/human","version":"3.0.5"}
|
||||
2023-02-25 09:37:18 [36mINFO: [39m Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
|
||||
2023-02-25 09:37:18 [36mINFO: [39m Toolchain: {"build":"0.8.2","esbuild":"0.17.10","typescript":"4.9.5","typedoc":"0.23.25","eslint":"8.34.0"}
|
||||
2023-02-25 09:37:18 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Clean: {"locations":["dist/*","types/*","typedoc/*"]}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":361}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":569,"outputBytes":924}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":672881,"outputBytes":319360}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":577,"outputBytes":928}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":672885,"outputBytes":319364}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":665,"outputBytes":1876}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":673833,"outputBytes":319475}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1375,"outputBytes":670}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":80,"inputBytes":672627,"outputBytes":317930}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":1375,"outputBytes":1151306}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1823263,"outputBytes":1465170}
|
||||
2023-02-25 09:37:18 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1823263,"outputBytes":1932346}
|
||||
2023-02-25 09:37:23 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":15}
|
||||
2023-02-25 09:37:26 [35mSTATE:[39m TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":81,"generated":true}
|
||||
2023-02-25 09:37:26 [35mSTATE:[39m Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6162,"outputBytes":2901}
|
||||
2023-02-25 09:37:26 [35mSTATE:[39m Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17503,"outputBytes":9403}
|
||||
2023-02-25 09:37:35 [35mSTATE:[39m Lint: {"locations":["**/*.json","src/**/*.ts","test/**/*.js","demo/**/*.js","**/*.md"],"files":170,"errors":0,"warnings":0}
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m Copy: {"input":"node_modules/@vladmandic/tfjs/types/tfjs-core.d.ts","output":"types/tfjs-core.d.ts"}
|
||||
2023-02-25 09:37:36 [36mINFO: [39m Done...
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m Copy: {"input":"node_modules/@vladmandic/tfjs/types/tfjs.d.ts","output":"types/tfjs.esm.d.ts"}
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m Copy: {"input":"src/types/tsconfig.json","output":"types/tsconfig.json"}
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m Copy: {"input":"src/types/eslint.json","output":"types/.eslintrc.json"}
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m Copy: {"input":"src/types/tfjs.esm.d.ts","output":"dist/tfjs.esm.d.ts"}
|
||||
2023-02-25 09:37:36 [35mSTATE:[39m Filter: {"input":"types/tfjs-core.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m API-Extractor: {"succeeeded":true,"errors":0,"warnings":210}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Filter: {"input":"types/human.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Write: {"output":"dist/human.esm-nobundle.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Write: {"output":"dist/human.esm.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Write: {"output":"dist/human.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Write: {"output":"dist/human.node-gpu.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Write: {"output":"dist/human.node.d.ts"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Write: {"output":"dist/human.node-wasm.d.ts"}
|
||||
2023-02-25 09:37:37 [36mINFO: [39m Analyze models: {"folders":8,"result":"models/models.json"}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"./models","models":12}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../human-models/models","models":44}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../blazepose/model/","models":4}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../anti-spoofing/model","models":1}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../efficientpose/models","models":3}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../insightface/models","models":5}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../movenet/models","models":3}
|
||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../nanodet/models","models":4}
|
||||
2023-02-25 09:37:38 [35mSTATE:[39m Models: {"count":58,"totalSize":380063249}
|
||||
2023-02-25 09:37:38 [36mINFO: [39m Human Build complete... {"logFile":"test/build.log"}
|
||||
|
|
2010
test/test.log
2010
test/test.log
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue