updated wiki

pull/193/head
Vladimir Mandic 2021-08-23 08:41:50 -04:00
parent a6ea8f5ca3
commit 494a845821
16 changed files with 157 additions and 156 deletions

View File

@ -11,6 +11,7 @@ Repository: **<git+https://github.com/vladmandic/human.git>**
### **HEAD -> main** 2021/08/20 mandic00@live.com ### **HEAD -> main** 2021/08/20 mandic00@live.com
- implemented movenet-multipose model
### **2.1.4** 2021/08/19 mandic00@live.com ### **2.1.4** 2021/08/19 mandic00@live.com

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/human.esm.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -11890,7 +11890,7 @@ var Human = class {
if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") { if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") {
this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false); this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false);
this.tf.ENV.set("WEBGL_CPU_FORWARD", true); this.tf.ENV.set("WEBGL_CPU_FORWARD", true);
this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", true);
this.tf.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); this.tf.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) { if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);

View File

@ -11891,7 +11891,7 @@ var Human = class {
if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") { if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") {
this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false); this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false);
this.tf.ENV.set("WEBGL_CPU_FORWARD", true); this.tf.ENV.set("WEBGL_CPU_FORWARD", true);
this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", true);
this.tf.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); this.tf.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) { if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);

2
dist/human.node.js vendored
View File

@ -11890,7 +11890,7 @@ var Human = class {
if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") { if (this.tf.getBackend() === "webgl" || this.tf.getBackend() === "humangl") {
this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false); this.tf.ENV.set("CHECK_COMPUTATION_FOR_ERRORS", false);
this.tf.ENV.set("WEBGL_CPU_FORWARD", true); this.tf.ENV.set("WEBGL_CPU_FORWARD", true);
this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", false); this.tf.ENV.set("WEBGL_PACK_DEPTHWISECONV", true);
this.tf.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true); this.tf.ENV.set("WEBGL_USE_SHAPES_UNIFORMS", true);
if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) { if (typeof this.config["deallocate"] !== "undefined" && this.config["deallocate"]) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true); log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);

View File

@ -66,14 +66,14 @@
"@tensorflow/tfjs-layers": "^3.8.0", "@tensorflow/tfjs-layers": "^3.8.0",
"@tensorflow/tfjs-node": "^3.8.0", "@tensorflow/tfjs-node": "^3.8.0",
"@tensorflow/tfjs-node-gpu": "^3.8.0", "@tensorflow/tfjs-node-gpu": "^3.8.0",
"@types/node": "^16.6.2", "@types/node": "^16.7.1",
"@typescript-eslint/eslint-plugin": "^4.29.2", "@typescript-eslint/eslint-plugin": "^4.29.2",
"@typescript-eslint/parser": "^4.29.2", "@typescript-eslint/parser": "^4.29.2",
"@vladmandic/pilogger": "^0.2.18", "@vladmandic/pilogger": "^0.2.18",
"canvas": "^2.8.0", "canvas": "^2.8.0",
"chokidar": "^3.5.2", "chokidar": "^3.5.2",
"dayjs": "^1.10.6", "dayjs": "^1.10.6",
"esbuild": "^0.12.21", "esbuild": "^0.12.22",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.2.1", "eslint-config-airbnb-base": "^14.2.1",
"eslint-plugin-import": "^2.24.1", "eslint-plugin-import": "^2.24.1",

View File

@ -1,22 +1,22 @@
2021-08-20 20:41:20 INFO:  @vladmandic/human version 2.1.4 2021-08-23 08:36:57 INFO:  @vladmandic/human version 2.1.4
2021-08-20 20:41:20 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0 2021-08-23 08:36:57 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0
2021-08-20 20:41:20 INFO:  Toolchain: {"tfjs":"3.8.0","esbuild":"0.12.21","typescript":"4.3.5","typedoc":"0.21.6","eslint":"7.32.0"} 2021-08-23 08:36:57 INFO:  Toolchain: {"tfjs":"3.8.0","esbuild":"0.12.22","typescript":"4.3.5","typedoc":"0.21.6","eslint":"7.32.0"}
2021-08-20 20:41:20 INFO:  Clean: ["dist/*","types/*","typedoc/*"] 2021-08-23 08:36:57 INFO:  Clean: ["dist/*","types/*","typedoc/*"]
2021-08-20 20:41:20 INFO:  Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true} 2021-08-23 08:36:57 INFO:  Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true}
2021-08-20 20:41:20 STATE: target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"} 2021-08-23 08:36:57 STATE: target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"}
2021-08-20 20:41:20 STATE: target: node type: node: {"imports":47,"importBytes":456494,"outputBytes":396866,"outputFiles":"dist/human.node.js"} 2021-08-23 08:36:57 STATE: target: node type: node: {"imports":47,"importBytes":456488,"outputBytes":396865,"outputFiles":"dist/human.node.js"}
2021-08-20 20:41:20 STATE: target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"} 2021-08-23 08:36:57 STATE: target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"}
2021-08-20 20:41:20 STATE: target: nodeGPU type: node: {"imports":47,"importBytes":456502,"outputBytes":396870,"outputFiles":"dist/human.node-gpu.js"} 2021-08-23 08:36:57 STATE: target: nodeGPU type: node: {"imports":47,"importBytes":456496,"outputBytes":396869,"outputFiles":"dist/human.node-gpu.js"}
2021-08-20 20:41:20 STATE: target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"} 2021-08-23 08:36:57 STATE: target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"}
2021-08-20 20:41:20 STATE: target: nodeWASM type: node: {"imports":47,"importBytes":456569,"outputBytes":396942,"outputFiles":"dist/human.node-wasm.js"} 2021-08-23 08:36:57 STATE: target: nodeWASM type: node: {"imports":47,"importBytes":456563,"outputBytes":396941,"outputFiles":"dist/human.node-wasm.js"}
2021-08-20 20:41:20 STATE: target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2168,"outputBytes":1242,"outputFiles":"dist/tfjs.esm.js"} 2021-08-23 08:36:57 STATE: target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2168,"outputBytes":1242,"outputFiles":"dist/tfjs.esm.js"}
2021-08-20 20:41:20 STATE: target: browserNoBundle type: esm: {"imports":47,"importBytes":456433,"outputBytes":255552,"outputFiles":"dist/human.esm-nobundle.js"} 2021-08-23 08:36:57 STATE: target: browserNoBundle type: esm: {"imports":47,"importBytes":456427,"outputBytes":255552,"outputFiles":"dist/human.esm-nobundle.js"}
2021-08-20 20:41:21 STATE: target: browserBundle type: tfjs: {"modules":1170,"moduleBytes":4145868,"imports":7,"importBytes":2168,"outputBytes":2334701,"outputFiles":"dist/tfjs.esm.js"} 2021-08-23 08:36:58 STATE: target: browserBundle type: tfjs: {"modules":1170,"moduleBytes":4145868,"imports":7,"importBytes":2168,"outputBytes":2334701,"outputFiles":"dist/tfjs.esm.js"}
2021-08-20 20:41:21 STATE: target: browserBundle type: iife: {"imports":47,"importBytes":2789892,"outputBytes":1386025,"outputFiles":"dist/human.js"} 2021-08-23 08:36:58 STATE: target: browserBundle type: iife: {"imports":47,"importBytes":2789886,"outputBytes":1386025,"outputFiles":"dist/human.js"}
2021-08-20 20:41:21 STATE: target: browserBundle type: esm: {"imports":47,"importBytes":2789892,"outputBytes":1386017,"outputFiles":"dist/human.esm.js"} 2021-08-23 08:36:59 STATE: target: browserBundle type: esm: {"imports":47,"importBytes":2789886,"outputBytes":1386017,"outputFiles":"dist/human.esm.js"}
2021-08-20 20:41:21 INFO:  Running Linter: ["server/","src/","tfjs/","test/","demo/"] 2021-08-23 08:36:59 INFO:  Running Linter: ["server/","src/","tfjs/","test/","demo/"]
2021-08-20 20:41:44 INFO:  Linter complete: files: 82 errors: 0 warnings: 0 2021-08-23 08:37:22 INFO:  Linter complete: files: 83 errors: 0 warnings: 0
2021-08-20 20:41:44 INFO:  Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"] 2021-08-23 08:37:22 INFO:  Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"]
2021-08-20 20:41:44 INFO:  Generate Typings: ["src/human.ts"] outDir: ["types"] 2021-08-23 08:37:22 INFO:  Generate Typings: ["src/human.ts"] outDir: ["types"]
2021-08-20 20:41:58 INFO:  Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"] 2021-08-23 08:37:37 INFO:  Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"]
2021-08-20 20:42:12 INFO:  Documentation generated at /home/vlado/dev/human/typedoc 1 2021-08-23 08:37:50 INFO:  Documentation generated at /home/vlado/dev/human/typedoc 1

View File

@ -30,7 +30,7 @@ import * as app from '../package.json';
import { Tensor, GraphModel } from './tfjs/types'; import { Tensor, GraphModel } from './tfjs/types';
// export types // export types
export type { Config } from './config'; export { Config } from './config';
export type { Result, Face, Hand, Body, Item, Gesture, Person } from './result'; export type { Result, Face, Hand, Body, Item, Gesture, Person } from './result';
export type { DrawOptions } from './draw/draw'; export type { DrawOptions } from './draw/draw';
@ -371,7 +371,7 @@ export class Human {
if (this.tf.getBackend() === 'webgl' || this.tf.getBackend() === 'humangl') { if (this.tf.getBackend() === 'webgl' || this.tf.getBackend() === 'humangl') {
this.tf.ENV.set('CHECK_COMPUTATION_FOR_ERRORS', false); this.tf.ENV.set('CHECK_COMPUTATION_FOR_ERRORS', false);
this.tf.ENV.set('WEBGL_CPU_FORWARD', true); this.tf.ENV.set('WEBGL_CPU_FORWARD', true);
this.tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', false); this.tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);
this.tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true); this.tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true);
// if (!this.config.object.enabled) this.tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision // if (!this.config.object.enabled) this.tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true); // safe to use 16bit precision
if (typeof this.config['deallocate'] !== 'undefined' && this.config['deallocate']) { // hidden param if (typeof this.config['deallocate'] !== 'undefined' && this.config['deallocate']) { // hidden param

0
src/warmup.ts Normal file
View File

View File

@ -1,120 +1,120 @@
2021-08-20 20:42:17 INFO:  @vladmandic/human version 2.1.4 2021-08-23 08:38:00 INFO:  @vladmandic/human version 2.1.4
2021-08-20 20:42:17 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0 2021-08-23 08:38:00 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.5.0
2021-08-20 20:42:17 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"] 2021-08-23 08:38:00 INFO:  tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
2021-08-20 20:42:17 INFO:  test-node.js start 2021-08-23 08:38:00 INFO:  test-node.js start
2021-08-20 20:42:19 STATE: test-node.js passed: create human 2021-08-23 08:38:01 STATE: test-node.js passed: create human
2021-08-20 20:42:19 INFO:  test-node.js human version: 2.1.4 2021-08-23 08:38:01 INFO:  test-node.js human version: 2.1.4
2021-08-20 20:42:19 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.5.0 2021-08-23 08:38:01 INFO:  test-node.js platform: linux x64 agent: NodeJS v16.5.0
2021-08-20 20:42:19 INFO:  test-node.js tfjs version: 3.8.0 2021-08-23 08:38:01 INFO:  test-node.js tfjs version: 3.8.0
2021-08-20 20:42:19 STATE: test-node.js passed: set backend: tensorflow 2021-08-23 08:38:01 STATE: test-node.js passed: set backend: tensorflow
2021-08-20 20:42:19 STATE: test-node.js passed: load models 2021-08-23 08:38:01 STATE: test-node.js passed: load models
2021-08-20 20:42:19 STATE: test-node.js result: defined models: 14 loaded models: 7 2021-08-23 08:38:01 STATE: test-node.js result: defined models: 14 loaded models: 7
2021-08-20 20:42:19 STATE: test-node.js passed: warmup: none default 2021-08-23 08:38:01 STATE: test-node.js passed: warmup: none default
2021-08-20 20:42:21 STATE: test-node.js passed: warmup: face default 2021-08-23 08:38:02 STATE: test-node.js passed: warmup: face default
2021-08-20 20:42:21 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} 2021-08-23 08:38:02 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2021-08-20 20:42:21 DATA:  test-node.js result: performance: load: 343 total: 1358 2021-08-23 08:38:02 DATA:  test-node.js result: performance: load: 365 total: 1246
2021-08-20 20:42:22 STATE: test-node.js passed: warmup: body default 2021-08-23 08:38:04 STATE: test-node.js passed: warmup: body default
2021-08-20 20:42:22 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:04 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:22 DATA:  test-node.js result: performance: load: 343 total: 1140 2021-08-23 08:38:04 DATA:  test-node.js result: performance: load: 365 total: 1077
2021-08-20 20:42:22 INFO:  test-node.js test body variants 2021-08-23 08:38:04 INFO:  test-node.js test body variants
2021-08-20 20:42:23 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:04 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:24 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet 2021-08-23 08:38:05 STATE: test-node.js passed: detect: samples/ai-body.jpg posenet
2021-08-20 20:42:24 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} 2021-08-23 08:38:05 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16}
2021-08-20 20:42:24 DATA:  test-node.js result: performance: load: 343 total: 695 2021-08-23 08:38:05 DATA:  test-node.js result: performance: load: 365 total: 738
2021-08-20 20:42:24 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:06 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:25 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet 2021-08-23 08:38:06 STATE: test-node.js passed: detect: samples/ai-body.jpg movenet
2021-08-20 20:42:25 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:06 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:25 DATA:  test-node.js result: performance: load: 343 total: 257 2021-08-23 08:38:06 DATA:  test-node.js result: performance: load: 365 total: 194
2021-08-20 20:42:26 STATE: test-node.js passed: detect: random default 2021-08-23 08:38:06 STATE: test-node.js passed: detect: random default
2021-08-20 20:42:26 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 2021-08-23 08:38:06 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0,"keypoints":0}
2021-08-20 20:42:26 DATA:  test-node.js result: performance: load: 343 total: 704 2021-08-23 08:38:06 DATA:  test-node.js result: performance: load: 365 total: 164
2021-08-20 20:42:26 INFO:  test-node.js test: first instance 2021-08-23 08:38:07 INFO:  test-node.js test: first instance
2021-08-20 20:42:26 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-08-23 08:38:07 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-08-20 20:42:27 STATE: test-node.js passed: detect: samples/ai-upper.jpg default 2021-08-23 08:38:07 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-08-20 20:42:27 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-08-23 08:38:07 DATA:  test-node.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-08-20 20:42:27 DATA:  test-node.js result: performance: load: 343 total: 953 2021-08-23 08:38:07 DATA:  test-node.js result: performance: load: 365 total: 144
2021-08-20 20:42:27 INFO:  test-node.js test: second instance 2021-08-23 08:38:07 INFO:  test-node.js test: second instance
2021-08-20 20:42:27 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-08-23 08:38:07 STATE: test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-08-20 20:42:28 STATE: test-node.js passed: detect: samples/ai-upper.jpg default 2021-08-23 08:38:08 STATE: test-node.js passed: detect: samples/ai-upper.jpg default
2021-08-20 20:42:28 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-08-23 08:38:08 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-08-20 20:42:28 DATA:  test-node.js result: performance: load: 4 total: 940 2021-08-23 08:38:08 DATA:  test-node.js result: performance: load: 4 total: 912
2021-08-20 20:42:28 INFO:  test-node.js test: concurrent 2021-08-23 08:38:08 INFO:  test-node.js test: concurrent
2021-08-20 20:42:28 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-08-23 08:38:08 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-08-20 20:42:28 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-08-23 08:38:08 STATE: test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-08-20 20:42:29 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:09 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:30 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:10 STATE: test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:34 STATE: test-node.js passed: detect: samples/ai-face.jpg default 2021-08-23 08:38:14 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-08-20 20:42:34 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} 2021-08-23 08:38:14 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2021-08-20 20:42:34 DATA:  test-node.js result: performance: load: 343 total: 4377 2021-08-23 08:38:14 DATA:  test-node.js result: performance: load: 365 total: 4268
2021-08-20 20:42:34 STATE: test-node.js passed: detect: samples/ai-face.jpg default 2021-08-23 08:38:14 STATE: test-node.js passed: detect: samples/ai-face.jpg default
2021-08-20 20:42:34 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} 2021-08-23 08:38:14 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2021-08-20 20:42:34 DATA:  test-node.js result: performance: load: 4 total: 4377 2021-08-23 08:38:14 DATA:  test-node.js result: performance: load: 4 total: 4268
2021-08-20 20:42:34 STATE: test-node.js passed: detect: samples/ai-body.jpg default 2021-08-23 08:38:14 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-08-20 20:42:34 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:14 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:34 DATA:  test-node.js result: performance: load: 343 total: 4377 2021-08-23 08:38:14 DATA:  test-node.js result: performance: load: 365 total: 4268
2021-08-20 20:42:34 STATE: test-node.js passed: detect: samples/ai-body.jpg default 2021-08-23 08:38:14 STATE: test-node.js passed: detect: samples/ai-body.jpg default
2021-08-20 20:42:34 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:14 DATA:  test-node.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:34 DATA:  test-node.js result: performance: load: 4 total: 4377 2021-08-23 08:38:14 DATA:  test-node.js result: performance: load: 4 total: 4268
2021-08-20 20:42:34 INFO:  test-node.js test complete: 15280 ms 2021-08-23 08:38:14 INFO:  test-node.js test complete: 13405 ms
2021-08-20 20:42:34 INFO:  test-node-gpu.js start 2021-08-23 08:38:14 INFO:  test-node-gpu.js start
2021-08-20 20:42:35 WARN:  test-node-gpu.js stderr: 2021-08-20 20:42:35.983213: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory 2021-08-23 08:38:15 WARN:  test-node-gpu.js stderr: 2021-08-23 08:38:15.460311: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2021-08-20 20:42:36 WARN:  test-node-gpu.js stderr: 2021-08-20 20:42:36.281966: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory 2021-08-23 08:38:15 WARN:  test-node-gpu.js stderr: 2021-08-23 08:38:15.631761: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2021-08-20 20:42:36 WARN:  test-node-gpu.js stderr: 2021-08-20 20:42:36.282070: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist 2021-08-23 08:38:15 WARN:  test-node-gpu.js stderr: 2021-08-23 08:38:15.631814: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (wyse): /proc/driver/nvidia/version does not exist
2021-08-20 20:42:36 STATE: test-node-gpu.js passed: create human 2021-08-23 08:38:15 STATE: test-node-gpu.js passed: create human
2021-08-20 20:42:36 INFO:  test-node-gpu.js human version: 2.1.4 2021-08-23 08:38:15 INFO:  test-node-gpu.js human version: 2.1.4
2021-08-20 20:42:36 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.5.0 2021-08-23 08:38:15 INFO:  test-node-gpu.js platform: linux x64 agent: NodeJS v16.5.0
2021-08-20 20:42:36 INFO:  test-node-gpu.js tfjs version: 3.8.0 2021-08-23 08:38:15 INFO:  test-node-gpu.js tfjs version: 3.8.0
2021-08-20 20:42:36 STATE: test-node-gpu.js passed: set backend: tensorflow 2021-08-23 08:38:15 STATE: test-node-gpu.js passed: set backend: tensorflow
2021-08-20 20:42:36 STATE: test-node-gpu.js passed: load models 2021-08-23 08:38:15 STATE: test-node-gpu.js passed: load models
2021-08-20 20:42:36 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7 2021-08-23 08:38:15 STATE: test-node-gpu.js result: defined models: 14 loaded models: 7
2021-08-20 20:42:36 STATE: test-node-gpu.js passed: warmup: none default 2021-08-23 08:38:15 STATE: test-node-gpu.js passed: warmup: none default
2021-08-20 20:42:38 STATE: test-node-gpu.js passed: warmup: face default 2021-08-23 08:38:17 STATE: test-node-gpu.js passed: warmup: face default
2021-08-20 20:42:38 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4} 2021-08-23 08:38:17 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.42,"keypoints":4}
2021-08-20 20:42:38 DATA:  test-node-gpu.js result: performance: load: 289 total: 1504 2021-08-23 08:38:17 DATA:  test-node-gpu.js result: performance: load: 282 total: 1241
2021-08-20 20:42:39 STATE: test-node-gpu.js passed: warmup: body default 2021-08-23 08:38:18 STATE: test-node-gpu.js passed: warmup: body default
2021-08-20 20:42:39 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:18 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:39 DATA:  test-node-gpu.js result: performance: load: 289 total: 1151 2021-08-23 08:38:18 DATA:  test-node-gpu.js result: performance: load: 282 total: 1054
2021-08-20 20:42:39 INFO:  test-node-gpu.js test body variants 2021-08-23 08:38:18 INFO:  test-node-gpu.js test body variants
2021-08-20 20:42:40 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:19 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:40 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet 2021-08-23 08:38:19 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg posenet
2021-08-20 20:42:40 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16} 2021-08-23 08:38:19 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.96,"keypoints":16}
2021-08-20 20:42:40 DATA:  test-node-gpu.js result: performance: load: 289 total: 735 2021-08-23 08:38:19 DATA:  test-node-gpu.js result: performance: load: 282 total: 739
2021-08-20 20:42:41 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:20 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:42 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet 2021-08-23 08:38:20 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg movenet
2021-08-20 20:42:42 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:20 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:42 DATA:  test-node-gpu.js result: performance: load: 289 total: 222 2021-08-23 08:38:20 DATA:  test-node-gpu.js result: performance: load: 282 total: 203
2021-08-20 20:42:42 STATE: test-node-gpu.js passed: detect: random default 2021-08-23 08:38:21 STATE: test-node-gpu.js passed: detect: random default
2021-08-20 20:42:42 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0} 2021-08-23 08:38:21 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0,"keypoints":0}
2021-08-20 20:42:42 DATA:  test-node-gpu.js result: performance: load: 289 total: 752 2021-08-23 08:38:21 DATA:  test-node-gpu.js result: performance: load: 282 total: 168
2021-08-20 20:42:42 INFO:  test-node-gpu.js test: first instance 2021-08-23 08:38:21 INFO:  test-node-gpu.js test: first instance
2021-08-20 20:42:43 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-08-23 08:38:21 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-08-20 20:42:44 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default 2021-08-23 08:38:21 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-08-20 20:42:44 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-08-23 08:38:21 DATA:  test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0.69,"keypoints":10}
2021-08-20 20:42:44 DATA:  test-node-gpu.js result: performance: load: 289 total: 945 2021-08-23 08:38:21 DATA:  test-node-gpu.js result: performance: load: 282 total: 127
2021-08-20 20:42:44 INFO:  test-node-gpu.js test: second instance 2021-08-23 08:38:21 INFO:  test-node-gpu.js test: second instance
2021-08-20 20:42:44 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3] 2021-08-23 08:38:21 STATE: test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
2021-08-20 20:42:45 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default 2021-08-23 08:38:22 STATE: test-node-gpu.js passed: detect: samples/ai-upper.jpg default
2021-08-20 20:42:45 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10} 2021-08-23 08:38:22 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":29.5,"gender":"female"} {"score":0.71,"class":"person"} {"score":0.69,"keypoints":10}
2021-08-20 20:42:45 DATA:  test-node-gpu.js result: performance: load: 3 total: 914 2021-08-23 08:38:22 DATA:  test-node-gpu.js result: performance: load: 2 total: 884
2021-08-20 20:42:45 INFO:  test-node-gpu.js test: concurrent 2021-08-23 08:38:22 INFO:  test-node-gpu.js test: concurrent
2021-08-20 20:42:45 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-08-23 08:38:22 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-08-20 20:42:45 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3] 2021-08-23 08:38:22 STATE: test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
2021-08-20 20:42:46 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:23 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:47 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3] 2021-08-23 08:38:24 STATE: test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
2021-08-20 20:42:51 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default 2021-08-23 08:38:28 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: performance: load: 289 total: 4370 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: performance: load: 282 total: 4167
2021-08-20 20:42:51 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default 2021-08-23 08:38:28 STATE: test-node-gpu.js passed: detect: samples/ai-face.jpg default
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17} 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 5 object: 1 person: 1 {"age":23.6,"gender":"female"} {"score":0.82,"class":"person"} {"score":0.47,"keypoints":17}
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: performance: load: 3 total: 4370 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: performance: load: 2 total: 4167
2021-08-20 20:42:51 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default 2021-08-23 08:38:28 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: performance: load: 289 total: 4370 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: performance: load: 282 total: 4167
2021-08-20 20:42:51 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default 2021-08-23 08:38:28 STATE: test-node-gpu.js passed: detect: samples/ai-body.jpg default
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17} 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 1 person: 1 {"age":28.5,"gender":"female"} {"score":0.72,"class":"person"} {"score":0.92,"keypoints":17}
2021-08-20 20:42:51 DATA:  test-node-gpu.js result: performance: load: 3 total: 4370 2021-08-23 08:38:28 DATA:  test-node-gpu.js result: performance: load: 2 total: 4167
2021-08-20 20:42:51 INFO:  test-node-gpu.js test complete: 15164 ms 2021-08-23 08:38:28 INFO:  test-node-gpu.js test complete: 13105 ms
2021-08-20 20:42:51 INFO:  test-node-wasm.js start 2021-08-23 08:38:28 INFO:  test-node-wasm.js start
2021-08-20 20:42:51 ERROR: test-node-wasm.js failed: model server: request to http://localhost:10030/models/ failed, reason: connect ECONNREFUSED 127.0.0.1:10030 2021-08-23 08:38:29 ERROR: test-node-wasm.js failed: model server: request to http://localhost:10030/models/ failed, reason: connect ECONNREFUSED 127.0.0.1:10030
2021-08-20 20:42:51 ERROR: test-node-wasm.js aborting test 2021-08-23 08:38:29 ERROR: test-node-wasm.js aborting test
2021-08-20 20:42:51 INFO:  status: {"passed":46,"failed":1} 2021-08-23 08:38:29 INFO:  status: {"passed":46,"failed":1}

View File

@ -7,7 +7,7 @@ import * as tf from '../dist/tfjs.esm.js';
import * as facemesh from './blazeface/facemesh'; import * as facemesh from './blazeface/facemesh';
import * as draw from './draw/draw'; import * as draw from './draw/draw';
import { Tensor, GraphModel } from './tfjs/types'; import { Tensor, GraphModel } from './tfjs/types';
export type { Config } from './config'; export { Config } from './config';
export type { Result, Face, Hand, Body, Item, Gesture, Person } from './result'; export type { Result, Face, Hand, Body, Item, Gesture, Person } from './result';
export type { DrawOptions } from './draw/draw'; export type { DrawOptions } from './draw/draw';
/** Defines all possible input types for **Human** detection /** Defines all possible input types for **Human** detection

2
wiki

@ -1 +1 @@
Subproject commit 65558ea91f6d5ec2dbc46bf9c46c592d34dce706 Subproject commit e894eff5aee6aeca6a7690c5a3d6a0f7404d7f2c