add note on manually disping tensor

pull/134/head
Vladimir Mandic 2021-06-18 13:39:20 -04:00
parent ab43759266
commit 0d58300990
8 changed files with 32 additions and 30 deletions

View File

@ -11,6 +11,7 @@ Repository: **<git+https://github.com/vladmandic/human.git>**
### **HEAD -> main** 2021/06/18 mandic00@live.com ### **HEAD -> main** 2021/06/18 mandic00@live.com
- modularize model loading
### **2.0.3** 2021/06/18 mandic00@live.com ### **2.0.3** 2021/06/18 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

View File

@ -1,22 +1,22 @@
2021-06-18 09:14:08 INFO:  @vladmandic/human version 2.0.3 2021-06-18 13:38:18 INFO:  @vladmandic/human version 2.0.3
2021-06-18 09:14:08 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.0.0 2021-06-18 13:38:18 INFO:  User: vlado Platform: linux Arch: x64 Node: v16.0.0
2021-06-18 09:14:08 INFO:  Toolchain: {"tfjs":"3.7.0","esbuild":"0.12.9","typescript":"4.3.4","typedoc":"0.21.0","eslint":"7.28.0"} 2021-06-18 13:38:18 INFO:  Toolchain: {"tfjs":"3.7.0","esbuild":"0.12.9","typescript":"4.3.4","typedoc":"0.21.0","eslint":"7.28.0"}
2021-06-18 09:14:08 INFO:  Clean: ["dist/*","types/*","typedoc/*"] 2021-06-18 13:38:18 INFO:  Clean: ["dist/*","types/*","typedoc/*"]
2021-06-18 09:14:08 INFO:  Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true} 2021-06-18 13:38:18 INFO:  Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true}
2021-06-18 09:14:08 STATE: target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"} 2021-06-18 13:38:18 STATE: target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"}
2021-06-18 09:14:09 STATE: target: node type: node: {"imports":42,"importBytes":432899,"outputBytes":377119,"outputFiles":"dist/human.node.js"} 2021-06-18 13:38:18 STATE: target: node type: node: {"imports":42,"importBytes":433058,"outputBytes":377119,"outputFiles":"dist/human.node.js"}
2021-06-18 09:14:09 STATE: target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"} 2021-06-18 13:38:18 STATE: target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"}
2021-06-18 09:14:09 STATE: target: nodeGPU type: node: {"imports":42,"importBytes":432907,"outputBytes":377123,"outputFiles":"dist/human.node-gpu.js"} 2021-06-18 13:38:18 STATE: target: nodeGPU type: node: {"imports":42,"importBytes":433066,"outputBytes":377123,"outputFiles":"dist/human.node-gpu.js"}
2021-06-18 09:14:09 STATE: target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"} 2021-06-18 13:38:18 STATE: target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"}
2021-06-18 09:14:09 STATE: target: nodeWASM type: node: {"imports":42,"importBytes":432974,"outputBytes":377195,"outputFiles":"dist/human.node-wasm.js"} 2021-06-18 13:38:18 STATE: target: nodeWASM type: node: {"imports":42,"importBytes":433133,"outputBytes":377195,"outputFiles":"dist/human.node-wasm.js"}
2021-06-18 09:14:09 STATE: target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2817,"outputBytes":1214,"outputFiles":"dist/tfjs.esm.js"} 2021-06-18 13:38:18 STATE: target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2817,"outputBytes":1214,"outputFiles":"dist/tfjs.esm.js"}
2021-06-18 09:14:09 STATE: target: browserNoBundle type: esm: {"imports":42,"importBytes":432810,"outputBytes":247617,"outputFiles":"dist/human.esm-nobundle.js"} 2021-06-18 13:38:18 STATE: target: browserNoBundle type: esm: {"imports":42,"importBytes":432969,"outputBytes":247617,"outputFiles":"dist/human.esm-nobundle.js"}
2021-06-18 09:14:09 STATE: target: browserBundle type: tfjs: {"modules":1684,"moduleBytes":5720339,"imports":7,"importBytes":2817,"outputBytes":2817783,"outputFiles":"dist/tfjs.esm.js"} 2021-06-18 13:38:18 STATE: target: browserBundle type: tfjs: {"modules":1684,"moduleBytes":5720339,"imports":7,"importBytes":2817,"outputBytes":2817783,"outputFiles":"dist/tfjs.esm.js"}
2021-06-18 09:14:09 STATE: target: browserBundle type: iife: {"imports":42,"importBytes":3249379,"outputBytes":1588012,"outputFiles":"dist/human.js"} 2021-06-18 13:38:19 STATE: target: browserBundle type: iife: {"imports":42,"importBytes":3249538,"outputBytes":1588012,"outputFiles":"dist/human.js"}
2021-06-18 09:14:10 STATE: target: browserBundle type: esm: {"imports":42,"importBytes":3249379,"outputBytes":1588004,"outputFiles":"dist/human.esm.js"} 2021-06-18 13:38:19 STATE: target: browserBundle type: esm: {"imports":42,"importBytes":3249538,"outputBytes":1588004,"outputFiles":"dist/human.esm.js"}
2021-06-18 09:14:10 INFO:  Running Linter: ["server/","src/","tfjs/","test/","demo/"] 2021-06-18 13:38:19 INFO:  Running Linter: ["server/","src/","tfjs/","test/","demo/"]
2021-06-18 09:14:27 INFO:  Linter complete: files: 74 errors: 0 warnings: 0 2021-06-18 13:38:36 INFO:  Linter complete: files: 74 errors: 0 warnings: 0
2021-06-18 09:14:27 INFO:  Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"] 2021-06-18 13:38:36 INFO:  Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"]
2021-06-18 09:14:27 INFO:  Generate Typings: ["src/human.ts"] outDir: ["types"] 2021-06-18 13:38:36 INFO:  Generate Typings: ["src/human.ts"] outDir: ["types"]
2021-06-18 09:14:37 INFO:  Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"] 2021-06-18 13:38:47 INFO:  Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"]
2021-06-18 09:14:47 INFO:  Documentation generated at /home/vlado/dev/human/typedoc 1 2021-06-18 13:38:56 INFO:  Documentation generated at /home/vlado/dev/human/typedoc 1

View File

@ -107,7 +107,7 @@ export interface Config {
* - iouThreshold: ammount of overlap between two detected objects before one object is removed * - iouThreshold: ammount of overlap between two detected objects before one object is removed
* - maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance * - maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance
* - rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles * - rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles
* - return: return extracted face as tensor for futher user processing * - return: return extracted face as tensor for futher user processing, in which case user is reponsible for manually disposing the tensor
*/ */
face: { face: {
enabled: boolean, enabled: boolean,
@ -276,6 +276,7 @@ const config: Config = {
minConfidence: 0.2, // threshold for discarding a prediction minConfidence: 0.2, // threshold for discarding a prediction
iouThreshold: 0.1, // ammount of overlap between two detected objects before one object is removed iouThreshold: 0.1, // ammount of overlap between two detected objects before one object is removed
return: false, // return extracted face as tensor return: false, // return extracted face as tensor
// in which case user is reponsible for disposing the tensor
}, },
mesh: { mesh: {

View File

@ -216,7 +216,7 @@
<li>iouThreshold: ammount of overlap between two detected objects before one object is removed</li> <li>iouThreshold: ammount of overlap between two detected objects before one object is removed</li>
<li>maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance</li> <li>maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance</li>
<li>rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles</li> <li>rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles</li>
<li>return: return extracted face as tensor for futher user processing</li> <li>return: return extracted face as tensor for futher user processing, in which case user is reponsible for manually disposing the tensor</li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -93,7 +93,7 @@ export interface Config {
* - iouThreshold: ammount of overlap between two detected objects before one object is removed * - iouThreshold: ammount of overlap between two detected objects before one object is removed
* - maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance * - maxDetected: maximum number of faces detected in the input, should be set to the minimum number for performance
* - rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles * - rotation: use calculated rotated face image or just box with rotation as-is, false means higher performance, but incorrect mesh mapping on higher face angles
* - return: return extracted face as tensor for futher user processing * - return: return extracted face as tensor for futher user processing, in which case user is reponsible for manually disposing the tensor
*/ */
face: { face: {
enabled: boolean; enabled: boolean;

2
wiki

@ -1 +1 @@
Subproject commit f433ac2b3b8194a62aed252ef2518d480d4866cc Subproject commit e3468326ed13c8664aa3e553d336891629c80b66