mirror of https://github.com/vladmandic/human
modularize build platform
parent
3eb4ae69fa
commit
93f3b159f7
|
@ -6,3 +6,4 @@ test
|
|||
wiki
|
||||
dist/tfjs.esm.js
|
||||
dist/tfjs.esm.js.map
|
||||
types/dist/tfjs.esm.d.ts
|
||||
|
|
|
@ -9,6 +9,9 @@ Repository: **<git+https://github.com/vladmandic/human.git>**
|
|||
|
||||
## Changelog
|
||||
|
||||
### **HEAD -> main** 2021/06/06 mandic00@live.com
|
||||
|
||||
|
||||
### **update wasm to tfjs 3.7.0** 2021/06/06 mandic00@live.com
|
||||
|
||||
- modularize build platform
|
||||
|
|
|
@ -753,11 +753,19 @@ async function processDataURL(f, action) {
|
|||
image.onerror = async () => status('image loading error');
|
||||
image.onload = async () => {
|
||||
ui.background = image;
|
||||
document.getElementById('canvas').style.display = 'block';
|
||||
const canvas = document.getElementById('canvas');
|
||||
const ctx = canvas.getContext('2d');
|
||||
const overlaid = await human.segmentation(canvas, ui.background, userConfig);
|
||||
if (overlaid) ctx.drawImage(overlaid, 0, 0);
|
||||
if (document.getElementById('canvas').style.display === 'block') { // replace canvas used for video
|
||||
const canvas = document.getElementById('canvas');
|
||||
const ctx = canvas.getContext('2d');
|
||||
const overlaid = await human.segmentation(canvas, ui.background, userConfig);
|
||||
if (overlaid) ctx.drawImage(overlaid, 0, 0);
|
||||
} else {
|
||||
const canvases = document.getElementById('samples-container').children; // replace loaded images
|
||||
for (const canvas of canvases) {
|
||||
const ctx = canvas.getContext('2d');
|
||||
const overlaid = await human.segmentation(canvas, ui.background, userConfig);
|
||||
if (overlaid) ctx.drawImage(overlaid, 0, 0);
|
||||
}
|
||||
}
|
||||
};
|
||||
image.src = dataURL;
|
||||
}
|
||||
|
|
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -23,7 +23,7 @@
|
|||
"scripts": {
|
||||
"start": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught demo/node.js",
|
||||
"dev": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught server/serve.js",
|
||||
"build": "rimraf dist/* typedoc/* types/* && node --trace-warnings --unhandled-rejections=strict --trace-uncaught server/build.js",
|
||||
"build": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught server/build.js",
|
||||
"lint": "eslint src server demo test",
|
||||
"test": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught test/test.js",
|
||||
"scan": "npx auditjs@latest ossi --dev --quiet"
|
||||
|
|
|
@ -7,6 +7,7 @@ const fs = require('fs');
|
|||
const path = require('path');
|
||||
const log = require('@vladmandic/pilogger');
|
||||
const esbuild = require('esbuild');
|
||||
const rimraf = require('rimraf');
|
||||
const tfjs = require('@tensorflow/tfjs/package.json');
|
||||
const changelog = require('./changelog.js');
|
||||
const lint = require('./lint.js');
|
||||
|
@ -42,6 +43,7 @@ const config = {
|
|||
buildLog: 'build.log',
|
||||
changelog: '../CHANGELOG.md',
|
||||
lintLocations: ['server/', 'src/', 'tfjs/', 'test/', 'demo/'],
|
||||
cleanLocations: ['dist/*', 'types/*', 'typedoc/*'],
|
||||
};
|
||||
|
||||
const targets = {
|
||||
|
@ -226,8 +228,8 @@ async function build(f, msg, dev = false) {
|
|||
}
|
||||
if (!dev) { // only for prod builds, skipped for dev build
|
||||
await lint.run(config.lintLocations); // run linter
|
||||
await typings.run(targets.browserBundle.esm.entryPoints); // generate typings
|
||||
await changelog.update(config.changelog); // generate changelog
|
||||
await typings.run(targets.browserBundle.esm.entryPoints); // generate typings
|
||||
await typedoc.run(targets.browserBundle.esm.entryPoints); // generate typedoc
|
||||
}
|
||||
if (require.main === module) process.exit(0);
|
||||
|
@ -239,12 +241,18 @@ async function build(f, msg, dev = false) {
|
|||
busy = false;
|
||||
}
|
||||
|
||||
function clean() {
|
||||
log.info('Clean:', config.cleanLocations);
|
||||
for (const loc of config.cleanLocations) rimraf.sync(loc);
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
config.buildLog = path.join(__dirname, config.buildLog);
|
||||
if (fs.existsSync(config.buildLog)) fs.unlinkSync(config.buildLog);
|
||||
log.logFile(config.buildLog);
|
||||
log.header();
|
||||
log.info(`Toolchain: tfjs: ${tfjs.version} esbuild ${esbuild.version}; typescript ${typings.version}; typedoc: ${typedoc.version} eslint: ${lint.version}`);
|
||||
clean();
|
||||
build('all', 'startup');
|
||||
} else {
|
||||
exports.build = build;
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
2021-06-06 18:44:28 [36mINFO: [39m @vladmandic/human version 2.0.0
|
||||
2021-06-06 18:44:28 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v16.0.0
|
||||
2021-06-06 18:44:28 [36mINFO: [39m Toolchain: tfjs: 3.7.0 esbuild 0.12.6; typescript 4.2.4; typedoc: 0.20.36 eslint: 7.27.0
|
||||
2021-06-06 18:44:28 [36mINFO: [39m Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true}
|
||||
2021-06-06 18:44:28 [35mSTATE:[39m target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 18:44:28 [35mSTATE:[39m target: node type: node: {"imports":41,"importBytes":430506,"outputBytes":376423,"outputFiles":"dist/human.node.js"}
|
||||
2021-06-06 18:44:28 [35mSTATE:[39m target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: nodeGPU type: node: {"imports":41,"importBytes":430514,"outputBytes":376427,"outputFiles":"dist/human.node-gpu.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: nodeWASM type: node: {"imports":41,"importBytes":430581,"outputBytes":376499,"outputFiles":"dist/human.node-wasm.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2938,"outputBytes":1214,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: browserNoBundle type: esm: {"imports":41,"importBytes":430417,"outputBytes":247743,"outputFiles":"dist/human.esm-nobundle.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: browserBundle type: tfjs: {"modules":1684,"moduleBytes":5720341,"imports":7,"importBytes":2938,"outputBytes":1342379,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 18:44:29 [35mSTATE:[39m target: browserBundle type: iife: {"imports":41,"importBytes":1771582,"outputBytes":1586144,"outputFiles":"dist/human.js"}
|
||||
2021-06-06 18:44:30 [35mSTATE:[39m target: browserBundle type: esm: {"imports":41,"importBytes":1771582,"outputBytes":1586136,"outputFiles":"dist/human.esm.js"}
|
||||
2021-06-06 18:44:30 [36mINFO: [39m Running Linter: ["server/","demo/","src/","test/"]
|
||||
2021-06-06 18:44:54 [36mINFO: [39m Linter complete: files: 67 errors: 0 warnings: 0
|
||||
2021-06-06 18:44:54 [36mINFO: [39m Generate Typings: ["src/human.ts"] outDir: ["types"]
|
||||
2021-06-06 18:45:10 [36mINFO: [39m Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"]
|
||||
2021-06-06 18:45:10 [36mINFO: [39m Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"]
|
||||
2021-06-06 18:45:23 [36mINFO: [39m Documentation generated at /home/vlado/dev/human/typedoc 1
|
||||
2021-06-06 20:24:49 [36mINFO: [39m @vladmandic/human version 2.0.0
|
||||
2021-06-06 20:24:49 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v16.0.0
|
||||
2021-06-06 20:24:49 [36mINFO: [39m Toolchain: tfjs: 3.7.0 esbuild 0.12.6; typescript 4.2.4; typedoc: 0.20.36 eslint: 7.27.0
|
||||
2021-06-06 20:24:49 [36mINFO: [39m Clean: ["dist/*","types/*","typedoc/*"]
|
||||
2021-06-06 20:24:49 [36mINFO: [39m Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true}
|
||||
2021-06-06 20:24:49 [35mSTATE:[39m target: node type: tfjs: {"imports":1,"importBytes":102,"outputBytes":1303,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 20:24:49 [35mSTATE:[39m target: node type: node: {"imports":41,"importBytes":430471,"outputBytes":376423,"outputFiles":"dist/human.node.js"}
|
||||
2021-06-06 20:24:49 [35mSTATE:[39m target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 20:24:50 [35mSTATE:[39m target: nodeGPU type: node: {"imports":41,"importBytes":430479,"outputBytes":376427,"outputFiles":"dist/human.node-gpu.js"}
|
||||
2021-06-06 20:24:50 [35mSTATE:[39m target: nodeWASM type: tfjs: {"imports":1,"importBytes":149,"outputBytes":1378,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 20:24:50 [35mSTATE:[39m target: nodeWASM type: node: {"imports":41,"importBytes":430546,"outputBytes":376499,"outputFiles":"dist/human.node-wasm.js"}
|
||||
2021-06-06 20:24:50 [35mSTATE:[39m target: browserNoBundle type: tfjs: {"imports":1,"importBytes":2938,"outputBytes":1214,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 20:24:50 [35mSTATE:[39m target: browserNoBundle type: esm: {"imports":41,"importBytes":430382,"outputBytes":247743,"outputFiles":"dist/human.esm-nobundle.js"}
|
||||
2021-06-06 20:24:50 [35mSTATE:[39m target: browserBundle type: tfjs: {"modules":1684,"moduleBytes":5720341,"imports":7,"importBytes":2938,"outputBytes":1342379,"outputFiles":"dist/tfjs.esm.js"}
|
||||
2021-06-06 20:24:51 [35mSTATE:[39m target: browserBundle type: iife: {"imports":41,"importBytes":1771547,"outputBytes":1586144,"outputFiles":"dist/human.js"}
|
||||
2021-06-06 20:24:51 [35mSTATE:[39m target: browserBundle type: esm: {"imports":41,"importBytes":1771547,"outputBytes":1586136,"outputFiles":"dist/human.esm.js"}
|
||||
2021-06-06 20:24:51 [36mINFO: [39m Running Linter: ["server/","src/","tfjs/","test/","demo/"]
|
||||
2021-06-06 20:25:16 [36mINFO: [39m Linter complete: files: 71 errors: 0 warnings: 0
|
||||
2021-06-06 20:25:16 [36mINFO: [39m Generate Typings: ["src/human.ts"] outDir: ["types"]
|
||||
2021-06-06 20:25:31 [36mINFO: [39m Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"]
|
||||
2021-06-06 20:25:45 [36mINFO: [39m Documentation generated at /home/vlado/dev/human/typedoc 1
|
||||
2021-06-06 20:25:45 [36mINFO: [39m Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"]
|
||||
|
|
|
@ -1,18 +1,15 @@
|
|||
const ts = require('typescript');
|
||||
const log = require('@vladmandic/pilogger');
|
||||
const tsconfig = require('../tsconfig.json');
|
||||
|
||||
const version = ts.version;
|
||||
|
||||
async function typings(entryPoint) {
|
||||
log.info('Generate Typings:', entryPoint, 'outDir:', [tsconfig.compilerOptions.outDir]);
|
||||
const tsoptions = { ...tsconfig.compilerOptions,
|
||||
target: ts.ScriptTarget.ES2018,
|
||||
module: ts.ModuleKind.ES2020,
|
||||
moduleResolution: ts.ModuleResolutionKind.NodeJs,
|
||||
};
|
||||
const compilerHost = ts.createCompilerHost(tsoptions);
|
||||
const program = ts.createProgram(entryPoint, tsoptions, compilerHost);
|
||||
const configFileName = ts.findConfigFile('./', ts.sys.fileExists, 'tsconfig.json') || '';
|
||||
const configFile = ts.readConfigFile(configFileName, ts.sys.readFile);
|
||||
const compilerOptions = ts.parseJsonConfigFileContent(configFile.config, ts.sys, './');
|
||||
log.info('Generate Typings:', entryPoint, 'outDir:', [compilerOptions.options.outDir]);
|
||||
const compilerHost = ts.createCompilerHost(compilerOptions.options);
|
||||
const program = ts.createProgram(entryPoint, compilerOptions.options, compilerHost);
|
||||
const emit = program.emit();
|
||||
const diag = ts
|
||||
.getPreEmitDiagnostics(program)
|
||||
|
@ -29,5 +26,10 @@ async function typings(entryPoint) {
|
|||
}
|
||||
}
|
||||
|
||||
exports.run = typings;
|
||||
exports.version = version;
|
||||
if (require.main === module) {
|
||||
log.header();
|
||||
typings(['src/human.ts']); // generate typedoc
|
||||
} else {
|
||||
exports.run = typings;
|
||||
exports.version = version;
|
||||
}
|
||||
|
|
|
@ -16,10 +16,11 @@ let skipped = Number.MAX_SAFE_INTEGER;
|
|||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
export async function load(config: Config | any) {
|
||||
if (!model) {
|
||||
// @ts-ignore type mismatch on GraphModel
|
||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.age.modelPath));
|
||||
if (!model || !model.modelUrl) log('load model failed:', config.face.age.modelPath);
|
||||
else if (config.debug) log('load model:', model.modelUrl);
|
||||
} else if (config.debug) log('cached model:', model.modelUrl);
|
||||
if (!model || !model['modelUrl']) log('load model failed:', config.face.age.modelPath);
|
||||
else if (config.debug) log('load model:', model['modelUrl']);
|
||||
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||
return model;
|
||||
}
|
||||
|
||||
|
@ -32,6 +33,7 @@ export async function predict(image: Tensor, config: Config | any) {
|
|||
}
|
||||
skipped = 0;
|
||||
return new Promise(async (resolve) => {
|
||||
if (!model.inputs[0].shape) return;
|
||||
const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
||||
const enhance = tf.mul(resize, [255.0]);
|
||||
tf.dispose(resize);
|
||||
|
|
|
@ -19,11 +19,12 @@ const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when
|
|||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
export async function load(config: Config | any) {
|
||||
if (!model) {
|
||||
// @ts-ignore type mismatch on GraphModel
|
||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.gender.modelPath));
|
||||
alternative = model.inputs[0].shape[3] === 1;
|
||||
if (!model || !model.modelUrl) log('load model failed:', config.face.gender.modelPath);
|
||||
else if (config.debug) log('load model:', model.modelUrl);
|
||||
} else if (config.debug) log('cached model:', model.modelUrl);
|
||||
alternative = model.inputs[0].shape ? model.inputs[0]?.shape[3] === 1 : false;
|
||||
if (!model || !model['modelUrl']) log('load model failed:', config.face.gender.modelPath);
|
||||
else if (config.debug) log('load model:', model['modelUrl']);
|
||||
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||
return model;
|
||||
}
|
||||
|
||||
|
@ -36,6 +37,7 @@ export async function predict(image: Tensor, config: Config | any) {
|
|||
}
|
||||
skipped = 0;
|
||||
return new Promise(async (resolve) => {
|
||||
if (!model.inputs[0].shape) return;
|
||||
const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
||||
let enhance;
|
||||
if (alternative) {
|
||||
|
|
289
test/test.log
289
test/test.log
|
@ -1,120 +1,169 @@
|
|||
2021-06-06 18:58:06 [36mINFO: [39m @vladmandic/human version 2.0.0
|
||||
2021-06-06 18:58:06 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v16.0.0
|
||||
2021-06-06 18:58:06 [36mINFO: [39m tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
|
||||
2021-06-06 18:58:06 [36mINFO: [39m test-node.js start
|
||||
2021-06-06 18:58:07 [35mSTATE:[39m test-node.js passed: create human
|
||||
2021-06-06 18:58:07 [36mINFO: [39m test-node.js human version: 2.0.0
|
||||
2021-06-06 18:58:07 [36mINFO: [39m test-node.js platform: linux x64 agent: NodeJS v16.0.0
|
||||
2021-06-06 18:58:07 [36mINFO: [39m test-node.js tfjs version: 3.7.0
|
||||
2021-06-06 18:58:07 [35mSTATE:[39m test-node.js passed: set backend: tensorflow
|
||||
2021-06-06 18:58:07 [35mSTATE:[39m test-node.js passed: load models
|
||||
2021-06-06 18:58:07 [35mSTATE:[39m test-node.js result: defined models: 14 loaded models: 7
|
||||
2021-06-06 18:58:07 [35mSTATE:[39m test-node.js passed: warmup: none default
|
||||
2021-06-06 18:58:09 [35mSTATE:[39m test-node.js passed: warmup: face default
|
||||
2021-06-06 18:58:09 [32mDATA: [39m 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.73,"keypoints":5}
|
||||
2021-06-06 18:58:09 [32mDATA: [39m test-node.js result: performance: load: 298 total: 1226
|
||||
2021-06-06 18:58:10 [35mSTATE:[39m test-node.js passed: warmup: body default
|
||||
2021-06-06 18:58:10 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:10 [32mDATA: [39m test-node.js result: performance: load: 298 total: 1153
|
||||
2021-06-06 18:58:10 [36mINFO: [39m test-node.js test body variants
|
||||
2021-06-06 18:58:11 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:11 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg posenet
|
||||
2021-06-06 18:58:11 [32mDATA: [39m 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-06-06 18:58:11 [32mDATA: [39m test-node.js result: performance: load: 298 total: 789
|
||||
2021-06-06 18:58:12 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:12 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg movenet
|
||||
2021-06-06 18:58:12 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:12 [32mDATA: [39m test-node.js result: performance: load: 298 total: 229
|
||||
2021-06-06 18:58:13 [35mSTATE:[39m test-node.js passed: detect: random default
|
||||
2021-06-06 18:58:13 [32mDATA: [39m test-node.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0}
|
||||
2021-06-06 18:58:13 [32mDATA: [39m test-node.js result: performance: load: 298 total: 669
|
||||
2021-06-06 18:58:13 [36mINFO: [39m test-node.js test: first instance
|
||||
2021-06-06 18:58:14 [35mSTATE:[39m test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 18:58:15 [35mSTATE:[39m test-node.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 18:58:15 [32mDATA: [39m 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.78,"keypoints":7}
|
||||
2021-06-06 18:58:15 [32mDATA: [39m test-node.js result: performance: load: 298 total: 977
|
||||
2021-06-06 18:58:15 [36mINFO: [39m test-node.js test: second instance
|
||||
2021-06-06 18:58:15 [35mSTATE:[39m test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 18:58:16 [35mSTATE:[39m test-node.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 18:58:16 [32mDATA: [39m 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.78,"keypoints":7}
|
||||
2021-06-06 18:58:16 [32mDATA: [39m test-node.js result: performance: load: 2 total: 923
|
||||
2021-06-06 18:58:16 [36mINFO: [39m test-node.js test: concurrent
|
||||
2021-06-06 18:58:16 [35mSTATE:[39m test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 18:58:16 [35mSTATE:[39m test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 18:58:17 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:18 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 18:58:22 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 298 total: 4147
|
||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 18:58:22 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 2 total: 4147
|
||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 18:58:22 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 298 total: 4147
|
||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 18:58:22 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 2 total: 4147
|
||||
2021-06-06 18:58:22 [36mINFO: [39m test-node.js test complete: 14795 ms
|
||||
2021-06-06 18:58:22 [36mINFO: [39m test-node-gpu.js start
|
||||
2021-06-06 18:58:22 [33mWARN: [39m test-node-gpu.js stderr: 2021-06-06 18:58:22.766663: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 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-06-06 18:58:22 [33mWARN: [39m test-node-gpu.js stderr: 2021-06-06 18:58:22.810895: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
|
||||
2021-06-06 18:58:22 [33mWARN: [39m test-node-gpu.js stderr: 2021-06-06 18:58:22.810998: 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-06-06 18:58:22 [35mSTATE:[39m test-node-gpu.js passed: create human
|
||||
2021-06-06 18:58:22 [36mINFO: [39m test-node-gpu.js human version: 2.0.0
|
||||
2021-06-06 18:58:22 [36mINFO: [39m test-node-gpu.js platform: linux x64 agent: NodeJS v16.0.0
|
||||
2021-06-06 18:58:22 [36mINFO: [39m test-node-gpu.js tfjs version: 3.7.0
|
||||
2021-06-06 18:58:23 [35mSTATE:[39m test-node-gpu.js passed: set backend: tensorflow
|
||||
2021-06-06 18:58:23 [35mSTATE:[39m test-node-gpu.js passed: load models
|
||||
2021-06-06 18:58:23 [35mSTATE:[39m test-node-gpu.js result: defined models: 14 loaded models: 7
|
||||
2021-06-06 18:58:23 [35mSTATE:[39m test-node-gpu.js passed: warmup: none default
|
||||
2021-06-06 18:58:24 [35mSTATE:[39m test-node-gpu.js passed: warmup: face default
|
||||
2021-06-06 18:58:24 [32mDATA: [39m 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.73,"keypoints":5}
|
||||
2021-06-06 18:58:24 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 1188
|
||||
2021-06-06 18:58:25 [35mSTATE:[39m test-node-gpu.js passed: warmup: body default
|
||||
2021-06-06 18:58:25 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:25 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 1158
|
||||
2021-06-06 18:58:25 [36mINFO: [39m test-node-gpu.js test body variants
|
||||
2021-06-06 18:58:26 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:27 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg posenet
|
||||
2021-06-06 18:58:27 [32mDATA: [39m 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-06-06 18:58:27 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 797
|
||||
2021-06-06 18:58:28 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:28 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg movenet
|
||||
2021-06-06 18:58:28 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:28 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 209
|
||||
2021-06-06 18:58:28 [35mSTATE:[39m test-node-gpu.js passed: detect: random default
|
||||
2021-06-06 18:58:28 [32mDATA: [39m 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-06-06 18:58:28 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 186
|
||||
2021-06-06 18:58:28 [36mINFO: [39m test-node-gpu.js test: first instance
|
||||
2021-06-06 18:58:28 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 18:58:29 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 18:58:29 [32mDATA: [39m test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0.78,"keypoints":7}
|
||||
2021-06-06 18:58:29 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 127
|
||||
2021-06-06 18:58:29 [36mINFO: [39m test-node-gpu.js test: second instance
|
||||
2021-06-06 18:58:29 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 18:58:30 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 18:58:30 [32mDATA: [39m 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.78,"keypoints":7}
|
||||
2021-06-06 18:58:30 [32mDATA: [39m test-node-gpu.js result: performance: load: 2 total: 1032
|
||||
2021-06-06 18:58:30 [36mINFO: [39m test-node-gpu.js test: concurrent
|
||||
2021-06-06 18:58:30 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 18:58:30 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 18:58:31 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:32 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 18:58:36 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 4052
|
||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 18:58:36 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 2 total: 4052
|
||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 18:58:36 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 4052
|
||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 18:58:36 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 2 total: 4052
|
||||
2021-06-06 18:58:36 [36mINFO: [39m test-node-gpu.js test complete: 13452 ms
|
||||
2021-06-06 18:58:36 [36mINFO: [39m test-node-wasm.js start
|
||||
2021-06-06 18:58:36 [31mERROR:[39m test-node-wasm.js failed: model server: request to http://localhost:10030/models/ failed, reason: connect ECONNREFUSED 127.0.0.1:10030
|
||||
2021-06-06 18:58:36 [31mERROR:[39m test-node-wasm.js aborting test
|
||||
2021-06-06 18:58:36 [36mINFO: [39m status: {"passed":46,"failed":1}
|
||||
2021-06-06 20:23:38 [36mINFO: [39m @vladmandic/human version 2.0.0
|
||||
2021-06-06 20:23:38 [36mINFO: [39m User: vlado Platform: linux Arch: x64 Node: v16.0.0
|
||||
2021-06-06 20:23:38 [36mINFO: [39m tests: ["test-node.js","test-node-gpu.js","test-node-wasm.js"]
|
||||
2021-06-06 20:23:38 [36mINFO: [39m test-node.js start
|
||||
2021-06-06 20:23:39 [35mSTATE:[39m test-node.js passed: create human
|
||||
2021-06-06 20:23:39 [36mINFO: [39m test-node.js human version: 2.0.0
|
||||
2021-06-06 20:23:39 [36mINFO: [39m test-node.js platform: linux x64 agent: NodeJS v16.0.0
|
||||
2021-06-06 20:23:39 [36mINFO: [39m test-node.js tfjs version: 3.7.0
|
||||
2021-06-06 20:23:40 [35mSTATE:[39m test-node.js passed: set backend: tensorflow
|
||||
2021-06-06 20:23:40 [35mSTATE:[39m test-node.js passed: load models
|
||||
2021-06-06 20:23:40 [35mSTATE:[39m test-node.js result: defined models: 14 loaded models: 7
|
||||
2021-06-06 20:23:40 [35mSTATE:[39m test-node.js passed: warmup: none default
|
||||
2021-06-06 20:23:41 [35mSTATE:[39m test-node.js passed: warmup: face default
|
||||
2021-06-06 20:23:41 [32mDATA: [39m 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.73,"keypoints":5}
|
||||
2021-06-06 20:23:41 [32mDATA: [39m test-node.js result: performance: load: 284 total: 1387
|
||||
2021-06-06 20:23:42 [35mSTATE:[39m test-node.js passed: warmup: body default
|
||||
2021-06-06 20:23:42 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:23:42 [32mDATA: [39m test-node.js result: performance: load: 284 total: 1325
|
||||
2021-06-06 20:23:42 [36mINFO: [39m test-node.js test body variants
|
||||
2021-06-06 20:23:43 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:23:44 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg posenet
|
||||
2021-06-06 20:23:44 [32mDATA: [39m 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-06-06 20:23:44 [32mDATA: [39m test-node.js result: performance: load: 284 total: 797
|
||||
2021-06-06 20:23:45 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:23:45 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg movenet
|
||||
2021-06-06 20:23:45 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:23:45 [32mDATA: [39m test-node.js result: performance: load: 284 total: 207
|
||||
2021-06-06 20:23:46 [35mSTATE:[39m test-node.js passed: detect: random default
|
||||
2021-06-06 20:23:46 [32mDATA: [39m 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-06-06 20:23:46 [32mDATA: [39m test-node.js result: performance: load: 284 total: 189
|
||||
2021-06-06 20:23:46 [36mINFO: [39m test-node.js test: first instance
|
||||
2021-06-06 20:23:46 [35mSTATE:[39m test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 20:23:46 [35mSTATE:[39m test-node.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 20:23:46 [32mDATA: [39m test-node.js result: face: 0 body: 1 hand: 0 gesture: 1 object: 1 person: 0 {} {"score":0.72,"class":"person"} {"score":0.78,"keypoints":7}
|
||||
2021-06-06 20:23:46 [32mDATA: [39m test-node.js result: performance: load: 284 total: 120
|
||||
2021-06-06 20:23:46 [36mINFO: [39m test-node.js test: second instance
|
||||
2021-06-06 20:23:46 [35mSTATE:[39m test-node.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 20:23:47 [35mSTATE:[39m test-node.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 20:23:47 [32mDATA: [39m 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.78,"keypoints":7}
|
||||
2021-06-06 20:23:47 [32mDATA: [39m test-node.js result: performance: load: 4 total: 971
|
||||
2021-06-06 20:23:47 [36mINFO: [39m test-node.js test: concurrent
|
||||
2021-06-06 20:23:47 [35mSTATE:[39m test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 20:23:47 [35mSTATE:[39m test-node.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 20:23:48 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:23:49 [35mSTATE:[39m test-node.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:23:53 [35mSTATE:[39m test-node.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 20:23:53 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 284 total: 4150
|
||||
2021-06-06 20:23:53 [35mSTATE:[39m test-node.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 20:23:53 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 4 total: 4150
|
||||
2021-06-06 20:23:53 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 20:23:53 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 284 total: 4150
|
||||
2021-06-06 20:23:53 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 20:23:53 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 4 total: 4150
|
||||
2021-06-06 20:23:53 [36mINFO: [39m test-node.js test complete: 13854 ms
|
||||
2021-06-06 20:23:53 [36mINFO: [39m test-node-gpu.js start
|
||||
2021-06-06 20:23:54 [33mWARN: [39m test-node-gpu.js stderr: 2021-06-06 20:23:54.801996: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 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-06-06 20:23:55 [33mWARN: [39m test-node-gpu.js stderr: 2021-06-06 20:23:55.008859: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
|
||||
2021-06-06 20:23:55 [33mWARN: [39m test-node-gpu.js stderr: 2021-06-06 20:23:55.008889: 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-06-06 20:23:55 [35mSTATE:[39m test-node-gpu.js passed: create human
|
||||
2021-06-06 20:23:55 [36mINFO: [39m test-node-gpu.js human version: 2.0.0
|
||||
2021-06-06 20:23:55 [36mINFO: [39m test-node-gpu.js platform: linux x64 agent: NodeJS v16.0.0
|
||||
2021-06-06 20:23:55 [36mINFO: [39m test-node-gpu.js tfjs version: 3.7.0
|
||||
2021-06-06 20:23:55 [35mSTATE:[39m test-node-gpu.js passed: set backend: tensorflow
|
||||
2021-06-06 20:23:55 [35mSTATE:[39m test-node-gpu.js passed: load models
|
||||
2021-06-06 20:23:55 [35mSTATE:[39m test-node-gpu.js result: defined models: 14 loaded models: 7
|
||||
2021-06-06 20:23:55 [35mSTATE:[39m test-node-gpu.js passed: warmup: none default
|
||||
2021-06-06 20:23:56 [35mSTATE:[39m test-node-gpu.js passed: warmup: face default
|
||||
2021-06-06 20:23:56 [32mDATA: [39m 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.73,"keypoints":5}
|
||||
2021-06-06 20:23:56 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 1419
|
||||
2021-06-06 20:23:58 [35mSTATE:[39m test-node-gpu.js passed: warmup: body default
|
||||
2021-06-06 20:23:58 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:23:58 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 1291
|
||||
2021-06-06 20:23:58 [36mINFO: [39m test-node-gpu.js test body variants
|
||||
2021-06-06 20:23:59 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:23:59 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg posenet
|
||||
2021-06-06 20:23:59 [32mDATA: [39m 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-06-06 20:23:59 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 781
|
||||
2021-06-06 20:24:00 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:00 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg movenet
|
||||
2021-06-06 20:24:00 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:24:00 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 222
|
||||
2021-06-06 20:24:01 [35mSTATE:[39m test-node-gpu.js passed: detect: random default
|
||||
2021-06-06 20:24:01 [32mDATA: [39m test-node-gpu.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0}
|
||||
2021-06-06 20:24:01 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 629
|
||||
2021-06-06 20:24:01 [36mINFO: [39m test-node-gpu.js test: first instance
|
||||
2021-06-06 20:24:02 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 20:24:03 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 20:24:03 [32mDATA: [39m 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.78,"keypoints":7}
|
||||
2021-06-06 20:24:03 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 996
|
||||
2021-06-06 20:24:03 [36mINFO: [39m test-node-gpu.js test: second instance
|
||||
2021-06-06 20:24:03 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 20:24:04 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 20:24:04 [32mDATA: [39m 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.78,"keypoints":7}
|
||||
2021-06-06 20:24:04 [32mDATA: [39m test-node-gpu.js result: performance: load: 3 total: 970
|
||||
2021-06-06 20:24:04 [36mINFO: [39m test-node-gpu.js test: concurrent
|
||||
2021-06-06 20:24:04 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 20:24:04 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 20:24:05 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:06 [35mSTATE:[39m test-node-gpu.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:10 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 20:24:10 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 4247
|
||||
2021-06-06 20:24:10 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 20:24:10 [32mDATA: [39m 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.73,"keypoints":17}
|
||||
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 3 total: 4247
|
||||
2021-06-06 20:24:10 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 20:24:10 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 4247
|
||||
2021-06-06 20:24:10 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 20:24:10 [32mDATA: [39m 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.93,"keypoints":17}
|
||||
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 3 total: 4247
|
||||
2021-06-06 20:24:10 [36mINFO: [39m test-node-gpu.js test complete: 15308 ms
|
||||
2021-06-06 20:24:10 [36mINFO: [39m test-node-wasm.js start
|
||||
2021-06-06 20:24:10 [35mSTATE:[39m test-node-wasm.js passed: model server: http://localhost:10030/models/
|
||||
2021-06-06 20:24:10 [35mSTATE:[39m test-node-wasm.js passed: create human
|
||||
2021-06-06 20:24:10 [36mINFO: [39m test-node-wasm.js human version: 2.0.0
|
||||
2021-06-06 20:24:10 [36mINFO: [39m test-node-wasm.js platform: linux x64 agent: NodeJS v16.0.0
|
||||
2021-06-06 20:24:10 [36mINFO: [39m test-node-wasm.js tfjs version: 3.7.0
|
||||
2021-06-06 20:24:11 [35mSTATE:[39m test-node-wasm.js passed: set backend: wasm
|
||||
2021-06-06 20:24:11 [35mSTATE:[39m test-node-wasm.js passed: load models
|
||||
2021-06-06 20:24:11 [35mSTATE:[39m test-node-wasm.js result: defined models: 14 loaded models: 6
|
||||
2021-06-06 20:24:11 [35mSTATE:[39m test-node-wasm.js passed: warmup: none default
|
||||
2021-06-06 20:24:11 [31mERROR:[39m test-node-wasm.js failed: warmup: face default
|
||||
2021-06-06 20:24:11 [31mERROR:[39m test-node-wasm.js failed: warmup: body default
|
||||
2021-06-06 20:24:11 [36mINFO: [39m test-node-wasm.js test body variants
|
||||
2021-06-06 20:24:12 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:15 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-body.jpg posenet
|
||||
2021-06-06 20:24:15 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.96,"keypoints":16}
|
||||
2021-06-06 20:24:15 [32mDATA: [39m test-node-wasm.js result: performance: load: 547 total: 2894
|
||||
2021-06-06 20:24:17 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:19 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-body.jpg movenet
|
||||
2021-06-06 20:24:19 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17}
|
||||
2021-06-06 20:24:19 [32mDATA: [39m test-node-wasm.js result: performance: load: 547 total: 1787
|
||||
2021-06-06 20:24:20 [35mSTATE:[39m test-node-wasm.js passed: detect: random default
|
||||
2021-06-06 20:24:20 [32mDATA: [39m test-node-wasm.js result: face: 0 body: 1 hand: 0 gesture: 0 object: 0 person: 0 {} {} {"score":0,"keypoints":0}
|
||||
2021-06-06 20:24:20 [32mDATA: [39m test-node-wasm.js result: performance: load: 547 total: 1509
|
||||
2021-06-06 20:24:20 [36mINFO: [39m test-node-wasm.js test: first instance
|
||||
2021-06-06 20:24:21 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 20:24:23 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 20:24:23 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":29.5,"gender":"female"} {} {"score":0.78,"keypoints":7}
|
||||
2021-06-06 20:24:23 [32mDATA: [39m test-node-wasm.js result: performance: load: 547 total: 2003
|
||||
2021-06-06 20:24:23 [36mINFO: [39m test-node-wasm.js test: second instance
|
||||
2021-06-06 20:24:23 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-upper.jpg [1,720,688,3]
|
||||
2021-06-06 20:24:26 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-upper.jpg default
|
||||
2021-06-06 20:24:26 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":29.5,"gender":"female"} {} {"score":0.78,"keypoints":7}
|
||||
2021-06-06 20:24:26 [32mDATA: [39m test-node-wasm.js result: performance: load: 3 total: 2038
|
||||
2021-06-06 20:24:26 [36mINFO: [39m test-node-wasm.js test: concurrent
|
||||
2021-06-06 20:24:26 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 20:24:26 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-face.jpg [1,256,256,3]
|
||||
2021-06-06 20:24:27 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:29 [35mSTATE:[39m test-node-wasm.js passed: load image: samples/ai-body.jpg [1,1200,1200,3]
|
||||
2021-06-06 20:24:37 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 0 person: 1 {"age":23.6,"gender":"female"} {} {"score":0.73,"keypoints":17}
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: performance: load: 547 total: 7865
|
||||
2021-06-06 20:24:37 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-face.jpg default
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 4 object: 0 person: 1 {"age":23.6,"gender":"female"} {} {"score":0.73,"keypoints":17}
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: performance: load: 3 total: 7865
|
||||
2021-06-06 20:24:37 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17}
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: performance: load: 547 total: 7865
|
||||
2021-06-06 20:24:37 [35mSTATE:[39m test-node-wasm.js passed: detect: samples/ai-body.jpg default
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: face: 1 body: 1 hand: 0 gesture: 3 object: 0 person: 1 {"age":28.5,"gender":"female"} {} {"score":0.93,"keypoints":17}
|
||||
2021-06-06 20:24:37 [32mDATA: [39m test-node-wasm.js result: performance: load: 3 total: 7865
|
||||
2021-06-06 20:24:37 [36mINFO: [39m test-node-wasm.js test complete: 26470 ms
|
||||
2021-06-06 20:24:37 [36mINFO: [39m status: {"passed":68,"failed":2}
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
*/
|
||||
|
||||
// import from dist
|
||||
// modules: 1299, moduleBytes: 4230827, imports: 7, importBytes: 2478, outputBytes: 2357435
|
||||
// get versions of all packages
|
||||
/*
|
||||
import * as packageBundle from '@tensorflow/tfjs/package.json';
|
||||
|
@ -12,7 +11,7 @@ import * as packageCore from '@tensorflow/tfjs-core/package.json';
|
|||
import * as packageData from '@tensorflow/tfjs-data/package.json';
|
||||
import * as packageLayers from '@tensorflow/tfjs-layers/package.json';
|
||||
import * as packageConverter from '@tensorflow/tfjs-converter/package.json';
|
||||
// for backends, get version from source so it can register backend during import
|
||||
// for backends, get version from source to avoid incorrect tree shaking
|
||||
import { version_cpu } from '@tensorflow/tfjs-backend-cpu/dist/index.js';
|
||||
import { version_webgl } from '@tensorflow/tfjs-backend-webgl/dist/index.js';
|
||||
import { version_wasm } from '@tensorflow/tfjs-backend-wasm/dist/index.js';
|
||||
|
@ -28,7 +27,6 @@ export * from '@tensorflow/tfjs-backend-wasm/dist/index.js';
|
|||
*/
|
||||
|
||||
// import from src
|
||||
// modules: 1681, moduleBytes: 5711239, imports: 7, importBytes: 2701, outputBytes: 2107830
|
||||
// get versions of all packages
|
||||
import { version as tfjsVersion } from '@tensorflow/tfjs/package.json';
|
||||
import { version as tfjsCoreVersion } from '@tensorflow/tfjs-core/package.json';
|
||||
|
@ -40,6 +38,7 @@ import { version as tfjsBackendWebGLVersion } from '@tensorflow/tfjs-backend-web
|
|||
import { version as tfjsBackendWASMVersion } from '@tensorflow/tfjs-backend-wasm/package.json';
|
||||
|
||||
// export all
|
||||
// requires treeShaking:ignore-annotations due to tfjs misconfiguration
|
||||
export * from '@tensorflow/tfjs-core/src/index';
|
||||
export * from '@tensorflow/tfjs-layers/src/index';
|
||||
export * from '@tensorflow/tfjs-converter/src/index';
|
||||
|
|
|
@ -19,12 +19,7 @@
|
|||
"sourceMap": true,
|
||||
"allowJs": true,
|
||||
"baseUrl": "./",
|
||||
"paths": {
|
||||
"tslib": ["node_modules/tslib/tslib.d.ts"],
|
||||
"@tensorflow/tfjs-node/dist/io/file_system": ["node_modules/@tensorflow/tfjs-node/dist/io/file_system.js"],
|
||||
"@tensorflow/tfjs-core/dist/index": ["node_modules/@tensorflow/tfjs-core/dist/index.js"],
|
||||
"@tensorflow/tfjs-converter/dist/index": ["node_modules/@tensorflow/tfjs-converter/dist/index.js"]
|
||||
},
|
||||
"paths": { "tslib": ["node_modules/tslib/tslib.d.ts"] },
|
||||
"strictNullChecks": true,
|
||||
"noImplicitAny": false,
|
||||
"noUnusedLocals": false,
|
||||
|
@ -37,8 +32,8 @@
|
|||
"allowUnreachableCode": false
|
||||
},
|
||||
"formatCodeOptions": { "indentSize": 2, "tabSize": 2 },
|
||||
"exclude": ["node_modules/", "types/"],
|
||||
"include": ["src/"],
|
||||
"exclude": ["node_modules/", "types/", "tfjs/", "dist/"],
|
||||
"include": ["src"],
|
||||
"typedocOptions": {
|
||||
"excludePrivate": true,
|
||||
"excludeExternals": true,
|
||||
|
|
|
@ -391,7 +391,7 @@
|
|||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
|
||||
<a name="image" class="tsd-anchor"></a>
|
||||
<h3>image</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">image<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>canvas<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span><span class="tsd-signature-symbol">; </span>tensor<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></div>
|
||||
<div class="tsd-signature tsd-kind-icon">image<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>canvas<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span><span class="tsd-signature-symbol">; </span>tensor<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> }</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
|
@ -408,7 +408,7 @@
|
|||
<h5>canvas<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span></h5>
|
||||
</li>
|
||||
<li class="tsd-parameter">
|
||||
<h5>tensor<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
|
||||
<h5>tensor<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span></h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -576,7 +576,7 @@
|
|||
<a name="detect" class="tsd-anchor"></a>
|
||||
<h3>detect</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">detect<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, userConfig<span class="tsd-signature-symbol">?: </span><a href="../interfaces/config.html" class="tsd-signature-type" data-tsd-kind="Interface">Config</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../index.html#error" class="tsd-signature-type" data-tsd-kind="Type alias">Error</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/result.html" class="tsd-signature-type" data-tsd-kind="Interface">Result</a><span class="tsd-signature-symbol">></span></li>
|
||||
<li class="tsd-signature tsd-kind-icon">detect<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><a href="../index.html#input" class="tsd-signature-type" data-tsd-kind="Type alias">Input</a>, userConfig<span class="tsd-signature-symbol">?: </span><a href="../interfaces/config.html" class="tsd-signature-type" data-tsd-kind="Interface">Config</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../index.html#error" class="tsd-signature-type" data-tsd-kind="Type alias">Error</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/result.html" class="tsd-signature-type" data-tsd-kind="Interface">Result</a><span class="tsd-signature-symbol">></span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
|
@ -596,7 +596,7 @@
|
|||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>input: <span class="tsd-signature-type">any</span></h5>
|
||||
<h5>input: <a href="../index.html#input" class="tsd-signature-type" data-tsd-kind="Type alias">Input</a></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5><span class="tsd-flag ts-flagOptional">Optional</span> userConfig: <a href="../interfaces/config.html" class="tsd-signature-type" data-tsd-kind="Interface">Config</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h5>
|
||||
|
@ -611,7 +611,7 @@
|
|||
<a name="enhance" class="tsd-anchor"></a>
|
||||
<h3>enhance</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">enhance<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
|
||||
<li class="tsd-signature tsd-kind-icon">enhance<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
|
@ -625,10 +625,10 @@
|
|||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>input: <span class="tsd-signature-type">any</span></h5>
|
||||
<h5>input: <span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span></h5>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span></h4>
|
||||
<p>Tensor</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -738,7 +738,7 @@
|
|||
<a name="segmentation-1" class="tsd-anchor"></a>
|
||||
<h3>segmentation</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, background<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span><span class="tsd-signature-symbol">></span></li>
|
||||
<li class="tsd-signature tsd-kind-icon">segmentation<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><a href="../index.html#input" class="tsd-signature-type" data-tsd-kind="Type alias">Input</a>, background<span class="tsd-signature-symbol">?: </span><a href="../index.html#input" class="tsd-signature-type" data-tsd-kind="Type alias">Input</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span><span class="tsd-signature-symbol">></span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
|
@ -754,10 +754,10 @@
|
|||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>input: <span class="tsd-signature-type">any</span></h5>
|
||||
<h5>input: <a href="../index.html#input" class="tsd-signature-type" data-tsd-kind="Type alias">Input</a></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5><span class="tsd-flag ts-flagOptional">Optional</span> background: <span class="tsd-signature-type">any</span></h5>
|
||||
<h5><span class="tsd-flag ts-flagOptional">Optional</span> background: <a href="../index.html#input" class="tsd-signature-type" data-tsd-kind="Type alias">Input</a></h5>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">HTMLCanvasElement</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">OffscreenCanvas</span><span class="tsd-signature-symbol">></span></h4>
|
||||
|
|
|
@ -216,7 +216,7 @@
|
|||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a name="image" class="tsd-anchor"></a>
|
||||
<h3><span class="tsd-flag ts-flagOptional">Optional</span> image</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">image<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
|
||||
<div class="tsd-signature tsd-kind-icon">image<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
</section>
|
||||
|
@ -291,7 +291,7 @@
|
|||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a name="tensor" class="tsd-anchor"></a>
|
||||
<h3>tensor</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">tensor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
|
||||
<div class="tsd-signature tsd-kind-icon">tensor<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Tensor</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Rank</span><span class="tsd-signature-symbol">></span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
</section>
|
||||
|
|
Loading…
Reference in New Issue