mirror of https://github.com/vladmandic/human
fix movenet-multipose
parent
073c6c519d
commit
adbab08203
|
@ -9,8 +9,10 @@
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### **HEAD -> main** 2023/02/22 mandic00@live.com
|
### **HEAD -> main** 2023/02/25 mandic00@live.com
|
||||||
|
|
||||||
|
- add electron detection
|
||||||
|
- fix gender-ssrnet-imdb
|
||||||
- add movenet-multipose workaround
|
- add movenet-multipose workaround
|
||||||
- rebuild and publish
|
- rebuild and publish
|
||||||
- add face.detector.minsize configurable setting
|
- add face.detector.minsize configurable setting
|
||||||
|
|
|
@ -13,6 +13,7 @@ const Human = require('../../dist/human.node.js'); // use this when using human
|
||||||
const humanConfig = {
|
const humanConfig = {
|
||||||
// add any custom config here
|
// add any custom config here
|
||||||
debug: true,
|
debug: true,
|
||||||
|
body: { enabled: false },
|
||||||
};
|
};
|
||||||
|
|
||||||
async function detect(inputFile) {
|
async function detect(inputFile) {
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -44234,6 +44234,8 @@ async function load17(config3) {
|
||||||
inputSize8 = (model18 == null ? void 0 : model18["executor"]) && ((_a2 = model18 == null ? void 0 : model18.inputs) == null ? void 0 : _a2[0].shape) ? model18.inputs[0].shape[2] : 0;
|
inputSize8 = (model18 == null ? void 0 : model18["executor"]) && ((_a2 = model18 == null ? void 0 : model18.inputs) == null ? void 0 : _a2[0].shape) ? model18.inputs[0].shape[2] : 0;
|
||||||
if (inputSize8 < 64)
|
if (inputSize8 < 64)
|
||||||
inputSize8 = 256;
|
inputSize8 = 256;
|
||||||
|
if (O().flagRegistry.WEBGL_USE_SHAPES_UNIFORMS)
|
||||||
|
O().set("WEBGL_USE_SHAPES_UNIFORMS", false);
|
||||||
return model18;
|
return model18;
|
||||||
}
|
}
|
||||||
function parseSinglePose(res, config3, image) {
|
function parseSinglePose(res, config3, image) {
|
||||||
|
@ -44276,12 +44278,11 @@ function parseSinglePose(res, config3, image) {
|
||||||
return bodies;
|
return bodies;
|
||||||
}
|
}
|
||||||
function parseMultiPose(res, config3, image) {
|
function parseMultiPose(res, config3, image) {
|
||||||
config3.body.minConfidence = -1;
|
|
||||||
const bodies = [];
|
const bodies = [];
|
||||||
for (let id2 = 0; id2 < res[0].length; id2++) {
|
for (let id2 = 0; id2 < res[0].length; id2++) {
|
||||||
const kpt4 = res[0][id2];
|
const kpt4 = res[0][id2];
|
||||||
const totalScore = Math.round(100 * kpt4[51 + 4]) / 100;
|
const boxScore = Math.round(100 * kpt4[51 + 4]) / 100;
|
||||||
if (totalScore > config3.body.minConfidence) {
|
if (boxScore > config3.body.minConfidence) {
|
||||||
const keypoints = [];
|
const keypoints = [];
|
||||||
for (let i = 0; i < 17; i++) {
|
for (let i = 0; i < 17; i++) {
|
||||||
const score = kpt4[3 * i + 2];
|
const score = kpt4[3 * i + 2];
|
||||||
|
@ -44295,7 +44296,8 @@ function parseMultiPose(res, config3, image) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const newBox = calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);
|
const boxRaw = [kpt4[51 + 1], kpt4[51 + 0], kpt4[51 + 3] - kpt4[51 + 1], kpt4[51 + 2] - kpt4[51 + 0]];
|
||||||
|
const boxNorm = [Math.trunc(boxRaw[0] * (image.shape[2] || 0)), Math.trunc(boxRaw[1] * (image.shape[1] || 0)), Math.trunc(boxRaw[2] * (image.shape[2] || 0)), Math.trunc(boxRaw[3] * (image.shape[1] || 0))];
|
||||||
const annotations2 = {};
|
const annotations2 = {};
|
||||||
for (const [name, indexes] of Object.entries(connected3)) {
|
for (const [name, indexes] of Object.entries(connected3)) {
|
||||||
const pt = [];
|
const pt = [];
|
||||||
|
@ -44307,7 +44309,7 @@ function parseMultiPose(res, config3, image) {
|
||||||
}
|
}
|
||||||
annotations2[name] = pt;
|
annotations2[name] = pt;
|
||||||
}
|
}
|
||||||
const body4 = { id: id2, score: totalScore, box: newBox.box, boxRaw: newBox.boxRaw, keypoints: [...keypoints], annotations: annotations2 };
|
const body4 = { id: id2, score: boxScore, box: boxNorm, boxRaw, keypoints: [...keypoints], annotations: annotations2 };
|
||||||
bodyParts(body4);
|
bodyParts(body4);
|
||||||
bodies.push(body4);
|
bodies.push(body4);
|
||||||
}
|
}
|
||||||
|
|
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
10
package.json
10
package.json
|
@ -91,16 +91,16 @@
|
||||||
"@tensorflow/tfjs-layers": "^4.2.0",
|
"@tensorflow/tfjs-layers": "^4.2.0",
|
||||||
"@tensorflow/tfjs-node": "^4.2.0",
|
"@tensorflow/tfjs-node": "^4.2.0",
|
||||||
"@tensorflow/tfjs-node-gpu": "^4.2.0",
|
"@tensorflow/tfjs-node-gpu": "^4.2.0",
|
||||||
"@types/node": "^18.14.1",
|
"@types/node": "^18.14.2",
|
||||||
"@types/offscreencanvas": "^2019.7.0",
|
"@types/offscreencanvas": "^2019.7.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.53.0",
|
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
||||||
"@typescript-eslint/parser": "^5.53.0",
|
"@typescript-eslint/parser": "^5.54.0",
|
||||||
"@vladmandic/build": "0.8.2",
|
"@vladmandic/build": "0.8.2",
|
||||||
"@vladmandic/pilogger": "^0.4.7",
|
"@vladmandic/pilogger": "^0.4.7",
|
||||||
"@vladmandic/tfjs": "github:vladmandic/tfjs",
|
"@vladmandic/tfjs": "github:vladmandic/tfjs",
|
||||||
"canvas": "^2.11.0",
|
"canvas": "^2.11.0",
|
||||||
"esbuild": "^0.17.10",
|
"esbuild": "^0.17.10",
|
||||||
"eslint": "8.34.0",
|
"eslint": "8.35.0",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-plugin-html": "^7.1.0",
|
"eslint-plugin-html": "^7.1.0",
|
||||||
"eslint-plugin-import": "^2.27.5",
|
"eslint-plugin-import": "^2.27.5",
|
||||||
|
@ -110,7 +110,7 @@
|
||||||
"eslint-plugin-promise": "^6.1.1",
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
"rimraf": "^4.1.2",
|
"rimraf": "^4.1.2",
|
||||||
"tslib": "^2.5.0",
|
"tslib": "^2.5.0",
|
||||||
"typedoc": "0.23.25",
|
"typedoc": "0.23.26",
|
||||||
"typescript": "4.9.5"
|
"typescript": "4.9.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ export async function load(config: Config): Promise<GraphModel> {
|
||||||
} else if (config.debug) log('cached model:', model['modelUrl']);
|
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||||
inputSize = (model?.['executor'] && 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;
|
if (inputSize < 64) inputSize = 256;
|
||||||
|
// @ts-ignore private property
|
||||||
|
if (tf.env().flagRegistry.WEBGL_USE_SHAPES_UNIFORMS) tf.env().set('WEBGL_USE_SHAPES_UNIFORMS', false); // default=false <https://github.com/tensorflow/tfjs/issues/5205>
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,12 +83,11 @@ function parseSinglePose(res, config, image) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseMultiPose(res, config, image) {
|
function parseMultiPose(res, config, image) {
|
||||||
config.body.minConfidence = -1; // movenet-multipose return incorrect scores
|
|
||||||
const bodies: BodyResult[] = [];
|
const bodies: BodyResult[] = [];
|
||||||
for (let id = 0; id < res[0].length; id++) {
|
for (let id = 0; id < res[0].length; id++) {
|
||||||
const kpt = res[0][id];
|
const kpt = res[0][id];
|
||||||
const totalScore = Math.round(100 * kpt[51 + 4]) / 100;
|
const boxScore = Math.round(100 * kpt[51 + 4]) / 100;
|
||||||
if (totalScore > config.body.minConfidence) {
|
if (boxScore > config.body.minConfidence) {
|
||||||
const keypoints: BodyKeypoint[] = [];
|
const keypoints: BodyKeypoint[] = [];
|
||||||
for (let i = 0; i < 17; i++) {
|
for (let i = 0; i < 17; i++) {
|
||||||
const score = kpt[3 * i + 2];
|
const score = kpt[3 * i + 2];
|
||||||
|
@ -100,10 +101,10 @@ function parseMultiPose(res, config, image) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const newBox = box.calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);
|
// const newBox = box.calc(keypoints.map((pt) => pt.position), [image.shape[2], image.shape[1]]);
|
||||||
// movenet-multipose has built-in box details
|
// movenet-multipose has built-in box details
|
||||||
// const boxRaw: Box = [kpt[51 + 1], kpt[51 + 0], kpt[51 + 3] - kpt[51 + 1], kpt[51 + 2] - kpt[51 + 0]];
|
const boxRaw: Box = [kpt[51 + 1], kpt[51 + 0], kpt[51 + 3] - kpt[51 + 1], kpt[51 + 2] - kpt[51 + 0]];
|
||||||
// const box: Box = [Math.trunc(boxRaw[0] * (image.shape[2] || 0)), Math.trunc(boxRaw[1] * (image.shape[1] || 0)), Math.trunc(boxRaw[2] * (image.shape[2] || 0)), Math.trunc(boxRaw[3] * (image.shape[1] || 0))];
|
const boxNorm: Box = [Math.trunc(boxRaw[0] * (image.shape[2] || 0)), Math.trunc(boxRaw[1] * (image.shape[1] || 0)), Math.trunc(boxRaw[2] * (image.shape[2] || 0)), Math.trunc(boxRaw[3] * (image.shape[1] || 0))];
|
||||||
const annotations: Record<BodyAnnotation, Point[][]> = {} as Record<BodyAnnotation, Point[][]>;
|
const annotations: Record<BodyAnnotation, Point[][]> = {} as Record<BodyAnnotation, Point[][]>;
|
||||||
for (const [name, indexes] of Object.entries(coords.connected)) {
|
for (const [name, indexes] of Object.entries(coords.connected)) {
|
||||||
const pt: Point[][] = [];
|
const pt: Point[][] = [];
|
||||||
|
@ -114,7 +115,8 @@ function parseMultiPose(res, config, image) {
|
||||||
}
|
}
|
||||||
annotations[name] = pt;
|
annotations[name] = pt;
|
||||||
}
|
}
|
||||||
const body: BodyResult = { id, score: totalScore, box: newBox.box, boxRaw: newBox.boxRaw, keypoints: [...keypoints], annotations };
|
// const body: BodyResult = { id, score: totalScore, box: newBox.box, boxRaw: newBox.boxRaw, keypoints: [...keypoints], annotations };
|
||||||
|
const body: BodyResult = { id, score: boxScore, box: boxNorm, boxRaw, keypoints: [...keypoints], annotations };
|
||||||
fix.bodyParts(body);
|
fix.bodyParts(body);
|
||||||
bodies.push(body);
|
bodies.push(body);
|
||||||
}
|
}
|
||||||
|
|
100
test/build.log
100
test/build.log
|
@ -1,50 +1,50 @@
|
||||||
2023-02-25 09:37:18 [32mDATA: [39m Build {"name":"@vladmandic/human","version":"3.0.5"}
|
2023-02-28 14:59:24 [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-28 14:59:24 [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-28 14:59:24 [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-28 14:59:24 [36mINFO: [39m Toolchain: {"build":"0.8.2","esbuild":"0.17.10","typescript":"4.9.5","typedoc":"0.23.26","eslint":"8.35.0"}
|
||||||
2023-02-25 09:37:18 [36mINFO: [39m Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
|
2023-02-28 14:59:24 [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-28 14:59:24 [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-28 14:59:24 [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-28 14:59:24 [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-28 14:59:24 [35mSTATE:[39m Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":80,"inputBytes":673124,"outputBytes":319556}
|
||||||
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-28 14:59:24 [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-28 14:59:24 [35mSTATE:[39m Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":80,"inputBytes":673128,"outputBytes":319560}
|
||||||
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-28 14:59:24 [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-28 14:59:24 [35mSTATE:[39m Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":80,"inputBytes":674076,"outputBytes":319671}
|
||||||
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-28 14:59:24 [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-28 14:59:24 [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":672870,"outputBytes":318124}
|
||||||
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-28 14:59:24 [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-28 14:59:24 [35mSTATE:[39m Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":80,"inputBytes":1823506,"outputBytes":1465356}
|
||||||
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-28 14:59:24 [35mSTATE:[39m Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":80,"inputBytes":1823506,"outputBytes":1932610}
|
||||||
2023-02-25 09:37:23 [35mSTATE:[39m Typings: {"input":"src/human.ts","output":"types/lib","files":15}
|
2023-02-28 14:59:28 [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-28 14:59:31 [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-28 14:59:31 [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-28 14:59:31 [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-28 14:59:41 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:42 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [35mSTATE:[39m Models {"folder":"./models","models":12}
|
||||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../human-models/models","models":44}
|
2023-02-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [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-28 14:59:43 [35mSTATE:[39m Models {"folder":"../efficientpose/models","models":3}
|
||||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../insightface/models","models":5}
|
2023-02-28 14:59:43 [35mSTATE:[39m Models {"folder":"../insightface/models","models":5}
|
||||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../movenet/models","models":3}
|
2023-02-28 14:59:43 [35mSTATE:[39m Models {"folder":"../movenet/models","models":3}
|
||||||
2023-02-25 09:37:37 [35mSTATE:[39m Models {"folder":"../nanodet/models","models":4}
|
2023-02-28 14:59:43 [35mSTATE:[39m Models {"folder":"../nanodet/models","models":4}
|
||||||
2023-02-25 09:37:38 [35mSTATE:[39m Models: {"count":58,"totalSize":380063249}
|
2023-02-28 14:59:43 [35mSTATE:[39m Models: {"count":58,"totalSize":380063249}
|
||||||
2023-02-25 09:37:38 [36mINFO: [39m Human Build complete... {"logFile":"test/build.log"}
|
2023-02-28 14:59:43 [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
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue