mirror of https://github.com/vladmandic/human
modularize build platform
parent
3eb4ae69fa
commit
93f3b159f7
|
@ -6,3 +6,4 @@ test
|
||||||
wiki
|
wiki
|
||||||
dist/tfjs.esm.js
|
dist/tfjs.esm.js
|
||||||
dist/tfjs.esm.js.map
|
dist/tfjs.esm.js.map
|
||||||
|
types/dist/tfjs.esm.d.ts
|
||||||
|
|
|
@ -9,6 +9,9 @@ Repository: **<git+https://github.com/vladmandic/human.git>**
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
### **HEAD -> main** 2021/06/06 mandic00@live.com
|
||||||
|
|
||||||
|
|
||||||
### **update wasm to tfjs 3.7.0** 2021/06/06 mandic00@live.com
|
### **update wasm to tfjs 3.7.0** 2021/06/06 mandic00@live.com
|
||||||
|
|
||||||
- modularize build platform
|
- modularize build platform
|
||||||
|
|
|
@ -753,11 +753,19 @@ async function processDataURL(f, action) {
|
||||||
image.onerror = async () => status('image loading error');
|
image.onerror = async () => status('image loading error');
|
||||||
image.onload = async () => {
|
image.onload = async () => {
|
||||||
ui.background = image;
|
ui.background = image;
|
||||||
document.getElementById('canvas').style.display = 'block';
|
if (document.getElementById('canvas').style.display === 'block') { // replace canvas used for video
|
||||||
const canvas = document.getElementById('canvas');
|
const canvas = document.getElementById('canvas');
|
||||||
const ctx = canvas.getContext('2d');
|
const ctx = canvas.getContext('2d');
|
||||||
const overlaid = await human.segmentation(canvas, ui.background, userConfig);
|
const overlaid = await human.segmentation(canvas, ui.background, userConfig);
|
||||||
if (overlaid) ctx.drawImage(overlaid, 0, 0);
|
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;
|
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": {
|
"scripts": {
|
||||||
"start": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught demo/node.js",
|
"start": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught demo/node.js",
|
||||||
"dev": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught server/serve.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",
|
"lint": "eslint src server demo test",
|
||||||
"test": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught test/test.js",
|
"test": "node --trace-warnings --unhandled-rejections=strict --trace-uncaught test/test.js",
|
||||||
"scan": "npx auditjs@latest ossi --dev --quiet"
|
"scan": "npx auditjs@latest ossi --dev --quiet"
|
||||||
|
|
|
@ -7,6 +7,7 @@ const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const log = require('@vladmandic/pilogger');
|
const log = require('@vladmandic/pilogger');
|
||||||
const esbuild = require('esbuild');
|
const esbuild = require('esbuild');
|
||||||
|
const rimraf = require('rimraf');
|
||||||
const tfjs = require('@tensorflow/tfjs/package.json');
|
const tfjs = require('@tensorflow/tfjs/package.json');
|
||||||
const changelog = require('./changelog.js');
|
const changelog = require('./changelog.js');
|
||||||
const lint = require('./lint.js');
|
const lint = require('./lint.js');
|
||||||
|
@ -42,6 +43,7 @@ const config = {
|
||||||
buildLog: 'build.log',
|
buildLog: 'build.log',
|
||||||
changelog: '../CHANGELOG.md',
|
changelog: '../CHANGELOG.md',
|
||||||
lintLocations: ['server/', 'src/', 'tfjs/', 'test/', 'demo/'],
|
lintLocations: ['server/', 'src/', 'tfjs/', 'test/', 'demo/'],
|
||||||
|
cleanLocations: ['dist/*', 'types/*', 'typedoc/*'],
|
||||||
};
|
};
|
||||||
|
|
||||||
const targets = {
|
const targets = {
|
||||||
|
@ -226,8 +228,8 @@ async function build(f, msg, dev = false) {
|
||||||
}
|
}
|
||||||
if (!dev) { // only for prod builds, skipped for dev build
|
if (!dev) { // only for prod builds, skipped for dev build
|
||||||
await lint.run(config.lintLocations); // run linter
|
await lint.run(config.lintLocations); // run linter
|
||||||
await typings.run(targets.browserBundle.esm.entryPoints); // generate typings
|
|
||||||
await changelog.update(config.changelog); // generate changelog
|
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
|
await typedoc.run(targets.browserBundle.esm.entryPoints); // generate typedoc
|
||||||
}
|
}
|
||||||
if (require.main === module) process.exit(0);
|
if (require.main === module) process.exit(0);
|
||||||
|
@ -239,12 +241,18 @@ async function build(f, msg, dev = false) {
|
||||||
busy = false;
|
busy = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clean() {
|
||||||
|
log.info('Clean:', config.cleanLocations);
|
||||||
|
for (const loc of config.cleanLocations) rimraf.sync(loc);
|
||||||
|
}
|
||||||
|
|
||||||
if (require.main === module) {
|
if (require.main === module) {
|
||||||
config.buildLog = path.join(__dirname, config.buildLog);
|
config.buildLog = path.join(__dirname, config.buildLog);
|
||||||
if (fs.existsSync(config.buildLog)) fs.unlinkSync(config.buildLog);
|
if (fs.existsSync(config.buildLog)) fs.unlinkSync(config.buildLog);
|
||||||
log.logFile(config.buildLog);
|
log.logFile(config.buildLog);
|
||||||
log.header();
|
log.header();
|
||||||
log.info(`Toolchain: tfjs: ${tfjs.version} esbuild ${esbuild.version}; typescript ${typings.version}; typedoc: ${typedoc.version} eslint: ${lint.version}`);
|
log.info(`Toolchain: tfjs: ${tfjs.version} esbuild ${esbuild.version}; typescript ${typings.version}; typedoc: ${typedoc.version} eslint: ${lint.version}`);
|
||||||
|
clean();
|
||||||
build('all', 'startup');
|
build('all', 'startup');
|
||||||
} else {
|
} else {
|
||||||
exports.build = build;
|
exports.build = build;
|
||||||
|
|
|
@ -1,21 +1,22 @@
|
||||||
2021-06-06 18:44:28 [36mINFO: [39m @vladmandic/human version 2.0.0
|
2021-06-06 20:24:49 [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 20:24:49 [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 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 18:44:28 [36mINFO: [39m Build: file startup all type: production config: {"minifyWhitespace":true,"minifyIdentifiers":true,"minifySyntax":true}
|
2021-06-06 20:24:49 [36mINFO: [39m Clean: ["dist/*","types/*","typedoc/*"]
|
||||||
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 20:24:49 [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: node: {"imports":41,"importBytes":430506,"outputBytes":376423,"outputFiles":"dist/human.node.js"}
|
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 18:44:28 [35mSTATE:[39m target: nodeGPU type: tfjs: {"imports":1,"importBytes":110,"outputBytes":1311,"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 18:44:29 [35mSTATE:[39m target: nodeGPU type: node: {"imports":41,"importBytes":430514,"outputBytes":376427,"outputFiles":"dist/human.node-gpu.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 18:44:29 [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: nodeGPU type: node: {"imports":41,"importBytes":430479,"outputBytes":376427,"outputFiles":"dist/human.node-gpu.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 20:24:50 [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: browserNoBundle type: tfjs: {"imports":1,"importBytes":2938,"outputBytes":1214,"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 18:44:29 [35mSTATE:[39m target: browserNoBundle type: esm: {"imports":41,"importBytes":430417,"outputBytes":247743,"outputFiles":"dist/human.esm-nobundle.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 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 20:24:50 [35mSTATE:[39m target: browserNoBundle type: esm: {"imports":41,"importBytes":430382,"outputBytes":247743,"outputFiles":"dist/human.esm-nobundle.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 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 18:44:30 [35mSTATE:[39m target: browserBundle type: esm: {"imports":41,"importBytes":1771582,"outputBytes":1586136,"outputFiles":"dist/human.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 18:44:30 [36mINFO: [39m Running Linter: ["server/","demo/","src/","test/"]
|
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 18:44:54 [36mINFO: [39m Linter complete: files: 67 errors: 0 warnings: 0
|
2021-06-06 20:24:51 [36mINFO: [39m Running Linter: ["server/","src/","tfjs/","test/","demo/"]
|
||||||
2021-06-06 18:44:54 [36mINFO: [39m Generate Typings: ["src/human.ts"] outDir: ["types"]
|
2021-06-06 20:25:16 [36mINFO: [39m Linter complete: files: 71 errors: 0 warnings: 0
|
||||||
2021-06-06 18:45:10 [36mINFO: [39m Generate ChangeLog: ["/home/vlado/dev/human/CHANGELOG.md"]
|
2021-06-06 20:25:16 [36mINFO: [39m Generate Typings: ["src/human.ts"] outDir: ["types"]
|
||||||
2021-06-06 18:45:10 [36mINFO: [39m Generate TypeDocs: ["src/human.ts"] outDir: ["typedoc"]
|
2021-06-06 20:25:31 [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: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 ts = require('typescript');
|
||||||
const log = require('@vladmandic/pilogger');
|
const log = require('@vladmandic/pilogger');
|
||||||
const tsconfig = require('../tsconfig.json');
|
|
||||||
|
|
||||||
const version = ts.version;
|
const version = ts.version;
|
||||||
|
|
||||||
async function typings(entryPoint) {
|
async function typings(entryPoint) {
|
||||||
log.info('Generate Typings:', entryPoint, 'outDir:', [tsconfig.compilerOptions.outDir]);
|
const configFileName = ts.findConfigFile('./', ts.sys.fileExists, 'tsconfig.json') || '';
|
||||||
const tsoptions = { ...tsconfig.compilerOptions,
|
const configFile = ts.readConfigFile(configFileName, ts.sys.readFile);
|
||||||
target: ts.ScriptTarget.ES2018,
|
const compilerOptions = ts.parseJsonConfigFileContent(configFile.config, ts.sys, './');
|
||||||
module: ts.ModuleKind.ES2020,
|
log.info('Generate Typings:', entryPoint, 'outDir:', [compilerOptions.options.outDir]);
|
||||||
moduleResolution: ts.ModuleResolutionKind.NodeJs,
|
const compilerHost = ts.createCompilerHost(compilerOptions.options);
|
||||||
};
|
const program = ts.createProgram(entryPoint, compilerOptions.options, compilerHost);
|
||||||
const compilerHost = ts.createCompilerHost(tsoptions);
|
|
||||||
const program = ts.createProgram(entryPoint, tsoptions, compilerHost);
|
|
||||||
const emit = program.emit();
|
const emit = program.emit();
|
||||||
const diag = ts
|
const diag = ts
|
||||||
.getPreEmitDiagnostics(program)
|
.getPreEmitDiagnostics(program)
|
||||||
|
@ -29,5 +26,10 @@ async function typings(entryPoint) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.run = typings;
|
if (require.main === module) {
|
||||||
exports.version = version;
|
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
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export async function load(config: Config | any) {
|
export async function load(config: Config | any) {
|
||||||
if (!model) {
|
if (!model) {
|
||||||
|
// @ts-ignore type mismatch on GraphModel
|
||||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.age.modelPath));
|
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.age.modelPath));
|
||||||
if (!model || !model.modelUrl) log('load model failed:', 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('load model:', model['modelUrl']);
|
||||||
} else if (config.debug) log('cached model:', model.modelUrl);
|
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,6 +33,7 @@ export async function predict(image: Tensor, config: Config | any) {
|
||||||
}
|
}
|
||||||
skipped = 0;
|
skipped = 0;
|
||||||
return new Promise(async (resolve) => {
|
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 resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
||||||
const enhance = tf.mul(resize, [255.0]);
|
const enhance = tf.mul(resize, [255.0]);
|
||||||
tf.dispose(resize);
|
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
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export async function load(config: Config | any) {
|
export async function load(config: Config | any) {
|
||||||
if (!model) {
|
if (!model) {
|
||||||
|
// @ts-ignore type mismatch on GraphModel
|
||||||
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.gender.modelPath));
|
model = await tf.loadGraphModel(join(config.modelBasePath, config.face.gender.modelPath));
|
||||||
alternative = model.inputs[0].shape[3] === 1;
|
alternative = model.inputs[0].shape ? model.inputs[0]?.shape[3] === 1 : false;
|
||||||
if (!model || !model.modelUrl) log('load model failed:', config.face.gender.modelPath);
|
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('load model:', model['modelUrl']);
|
||||||
} else if (config.debug) log('cached model:', model.modelUrl);
|
} else if (config.debug) log('cached model:', model['modelUrl']);
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +37,7 @@ export async function predict(image: Tensor, config: Config | any) {
|
||||||
}
|
}
|
||||||
skipped = 0;
|
skipped = 0;
|
||||||
return new Promise(async (resolve) => {
|
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 resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
|
||||||
let enhance;
|
let enhance;
|
||||||
if (alternative) {
|
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 20:23:38 [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 20:23:38 [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 20:23:38 [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 20:23:38 [36mINFO: [39m test-node.js start
|
||||||
2021-06-06 18:58:07 [35mSTATE:[39m test-node.js passed: create human
|
2021-06-06 20:23:39 [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 20:23:39 [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 20:23:39 [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 20:23:39 [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 20:23:40 [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 20:23:40 [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 20:23:40 [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 20:23:40 [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 20:23:41 [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 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 18:58:09 [32mDATA: [39m test-node.js result: performance: load: 298 total: 1226
|
2021-06-06 20:23:41 [32mDATA: [39m test-node.js result: performance: load: 284 total: 1387
|
||||||
2021-06-06 18:58:10 [35mSTATE:[39m test-node.js passed: warmup: body default
|
2021-06-06 20:23:42 [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 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 18:58:10 [32mDATA: [39m test-node.js result: performance: load: 298 total: 1153
|
2021-06-06 20:23:42 [32mDATA: [39m test-node.js result: performance: load: 284 total: 1325
|
||||||
2021-06-06 18:58:10 [36mINFO: [39m test-node.js test body variants
|
2021-06-06 20:23:42 [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 20:23:43 [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 20:23:44 [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 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 18:58:11 [32mDATA: [39m test-node.js result: performance: load: 298 total: 789
|
2021-06-06 20:23:44 [32mDATA: [39m test-node.js result: performance: load: 284 total: 797
|
||||||
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 20:23:45 [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 20:23:45 [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 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 18:58:12 [32mDATA: [39m test-node.js result: performance: load: 298 total: 229
|
2021-06-06 20:23:45 [32mDATA: [39m test-node.js result: performance: load: 284 total: 207
|
||||||
2021-06-06 18:58:13 [35mSTATE:[39m test-node.js passed: detect: random default
|
2021-06-06 20:23:46 [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 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 18:58:13 [32mDATA: [39m test-node.js result: performance: load: 298 total: 669
|
2021-06-06 20:23:46 [32mDATA: [39m test-node.js result: performance: load: 284 total: 189
|
||||||
2021-06-06 18:58:13 [36mINFO: [39m test-node.js test: first instance
|
2021-06-06 20:23:46 [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 20:23:46 [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 20:23:46 [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 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 18:58:15 [32mDATA: [39m test-node.js result: performance: load: 298 total: 977
|
2021-06-06 20:23:46 [32mDATA: [39m test-node.js result: performance: load: 284 total: 120
|
||||||
2021-06-06 18:58:15 [36mINFO: [39m test-node.js test: second instance
|
2021-06-06 20:23:46 [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 20:23:46 [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 20:23:47 [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 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 18:58:16 [32mDATA: [39m test-node.js result: performance: load: 2 total: 923
|
2021-06-06 20:23:47 [32mDATA: [39m test-node.js result: performance: load: 4 total: 971
|
||||||
2021-06-06 18:58:16 [36mINFO: [39m test-node.js test: concurrent
|
2021-06-06 20:23:47 [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 20:23:47 [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 20:23:47 [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 20:23:48 [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 20:23:49 [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 20:23:53 [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 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 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 298 total: 4147
|
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 284 total: 4150
|
||||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-face.jpg default
|
2021-06-06 20:23:53 [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 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 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 2 total: 4147
|
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 4 total: 4150
|
||||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg default
|
2021-06-06 20:23:53 [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 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 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 298 total: 4147
|
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 284 total: 4150
|
||||||
2021-06-06 18:58:22 [35mSTATE:[39m test-node.js passed: detect: samples/ai-body.jpg default
|
2021-06-06 20:23:53 [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 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 18:58:22 [32mDATA: [39m test-node.js result: performance: load: 2 total: 4147
|
2021-06-06 20:23:53 [32mDATA: [39m test-node.js result: performance: load: 4 total: 4150
|
||||||
2021-06-06 18:58:22 [36mINFO: [39m test-node.js test complete: 14795 ms
|
2021-06-06 20:23:53 [36mINFO: [39m test-node.js test complete: 13854 ms
|
||||||
2021-06-06 18:58:22 [36mINFO: [39m test-node-gpu.js start
|
2021-06-06 20:23:53 [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 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 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 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 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 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 18:58:22 [35mSTATE:[39m test-node-gpu.js passed: create human
|
2021-06-06 20:23:55 [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 20:23:55 [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 20:23:55 [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 20:23:55 [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 20:23:55 [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 20:23:55 [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 20:23:55 [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 20:23:55 [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 20:23:56 [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 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 18:58:24 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 1188
|
2021-06-06 20:23:56 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 1419
|
||||||
2021-06-06 18:58:25 [35mSTATE:[39m test-node-gpu.js passed: warmup: body default
|
2021-06-06 20:23:58 [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 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 18:58:25 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 1158
|
2021-06-06 20:23:58 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 1291
|
||||||
2021-06-06 18:58:25 [36mINFO: [39m test-node-gpu.js test body variants
|
2021-06-06 20:23:58 [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 20:23:59 [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 20:23:59 [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 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 18:58:27 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 797
|
2021-06-06 20:23:59 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 781
|
||||||
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 20:24:00 [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 20:24:00 [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 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 18:58:28 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 209
|
2021-06-06 20:24:00 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 222
|
||||||
2021-06-06 18:58:28 [35mSTATE:[39m test-node-gpu.js passed: detect: random default
|
2021-06-06 20:24:01 [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 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 18:58:28 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 186
|
2021-06-06 20:24:01 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 629
|
||||||
2021-06-06 18:58:28 [36mINFO: [39m test-node-gpu.js test: first instance
|
2021-06-06 20:24:01 [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 20:24:02 [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 20:24:03 [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 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 18:58:29 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 127
|
2021-06-06 20:24:03 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 996
|
||||||
2021-06-06 18:58:29 [36mINFO: [39m test-node-gpu.js test: second instance
|
2021-06-06 20:24:03 [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 20:24:03 [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 20:24:04 [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 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 18:58:30 [32mDATA: [39m test-node-gpu.js result: performance: load: 2 total: 1032
|
2021-06-06 20:24:04 [32mDATA: [39m test-node-gpu.js result: performance: load: 3 total: 970
|
||||||
2021-06-06 18:58:30 [36mINFO: [39m test-node-gpu.js test: concurrent
|
2021-06-06 20:24:04 [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 20:24:04 [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 20:24:04 [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 20:24:05 [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 20:24:06 [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 20:24:10 [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 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 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 4052
|
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 4247
|
||||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-face.jpg default
|
2021-06-06 20:24:10 [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 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 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 2 total: 4052
|
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 3 total: 4247
|
||||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg default
|
2021-06-06 20:24:10 [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 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 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 290 total: 4052
|
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 282 total: 4247
|
||||||
2021-06-06 18:58:36 [35mSTATE:[39m test-node-gpu.js passed: detect: samples/ai-body.jpg default
|
2021-06-06 20:24:10 [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 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 18:58:36 [32mDATA: [39m test-node-gpu.js result: performance: load: 2 total: 4052
|
2021-06-06 20:24:10 [32mDATA: [39m test-node-gpu.js result: performance: load: 3 total: 4247
|
||||||
2021-06-06 18:58:36 [36mINFO: [39m test-node-gpu.js test complete: 13452 ms
|
2021-06-06 20:24:10 [36mINFO: [39m test-node-gpu.js test complete: 15308 ms
|
||||||
2021-06-06 18:58:36 [36mINFO: [39m test-node-wasm.js start
|
2021-06-06 20:24:10 [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 20:24:10 [35mSTATE:[39m test-node-wasm.js passed: model server: http://localhost:10030/models/
|
||||||
2021-06-06 18:58:36 [31mERROR:[39m test-node-wasm.js aborting test
|
2021-06-06 20:24:10 [35mSTATE:[39m test-node-wasm.js passed: create human
|
||||||
2021-06-06 18:58:36 [36mINFO: [39m status: {"passed":46,"failed":1}
|
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
|
// import from dist
|
||||||
// modules: 1299, moduleBytes: 4230827, imports: 7, importBytes: 2478, outputBytes: 2357435
|
|
||||||
// get versions of all packages
|
// get versions of all packages
|
||||||
/*
|
/*
|
||||||
import * as packageBundle from '@tensorflow/tfjs/package.json';
|
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 packageData from '@tensorflow/tfjs-data/package.json';
|
||||||
import * as packageLayers from '@tensorflow/tfjs-layers/package.json';
|
import * as packageLayers from '@tensorflow/tfjs-layers/package.json';
|
||||||
import * as packageConverter from '@tensorflow/tfjs-converter/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_cpu } from '@tensorflow/tfjs-backend-cpu/dist/index.js';
|
||||||
import { version_webgl } from '@tensorflow/tfjs-backend-webgl/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';
|
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
|
// import from src
|
||||||
// modules: 1681, moduleBytes: 5711239, imports: 7, importBytes: 2701, outputBytes: 2107830
|
|
||||||
// get versions of all packages
|
// get versions of all packages
|
||||||
import { version as tfjsVersion } from '@tensorflow/tfjs/package.json';
|
import { version as tfjsVersion } from '@tensorflow/tfjs/package.json';
|
||||||
import { version as tfjsCoreVersion } from '@tensorflow/tfjs-core/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';
|
import { version as tfjsBackendWASMVersion } from '@tensorflow/tfjs-backend-wasm/package.json';
|
||||||
|
|
||||||
// export all
|
// export all
|
||||||
|
// requires treeShaking:ignore-annotations due to tfjs misconfiguration
|
||||||
export * from '@tensorflow/tfjs-core/src/index';
|
export * from '@tensorflow/tfjs-core/src/index';
|
||||||
export * from '@tensorflow/tfjs-layers/src/index';
|
export * from '@tensorflow/tfjs-layers/src/index';
|
||||||
export * from '@tensorflow/tfjs-converter/src/index';
|
export * from '@tensorflow/tfjs-converter/src/index';
|
||||||
|
|
|
@ -19,12 +19,7 @@
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"baseUrl": "./",
|
"baseUrl": "./",
|
||||||
"paths": {
|
"paths": { "tslib": ["node_modules/tslib/tslib.d.ts"] },
|
||||||
"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"]
|
|
||||||
},
|
|
||||||
"strictNullChecks": true,
|
"strictNullChecks": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": false,
|
||||||
"noUnusedLocals": false,
|
"noUnusedLocals": false,
|
||||||
|
@ -37,8 +32,8 @@
|
||||||
"allowUnreachableCode": false
|
"allowUnreachableCode": false
|
||||||
},
|
},
|
||||||
"formatCodeOptions": { "indentSize": 2, "tabSize": 2 },
|
"formatCodeOptions": { "indentSize": 2, "tabSize": 2 },
|
||||||
"exclude": ["node_modules/", "types/"],
|
"exclude": ["node_modules/", "types/", "tfjs/", "dist/"],
|
||||||
"include": ["src/"],
|
"include": ["src"],
|
||||||
"typedocOptions": {
|
"typedocOptions": {
|
||||||
"excludePrivate": true,
|
"excludePrivate": true,
|
||||||
"excludeExternals": true,
|
"excludeExternals": true,
|
||||||
|
|
|
@ -391,7 +391,7 @@
|
||||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
|
||||||
<a name="image" class="tsd-anchor"></a>
|
<a name="image" class="tsd-anchor"></a>
|
||||||
<h3>image</h3>
|
<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 class="tsd-sources">
|
||||||
</aside>
|
</aside>
|
||||||
<div class="tsd-comment tsd-typography">
|
<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>
|
<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>
|
||||||
<li class="tsd-parameter">
|
<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>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -576,7 +576,7 @@
|
||||||
<a name="detect" class="tsd-anchor"></a>
|
<a name="detect" class="tsd-anchor"></a>
|
||||||
<h3>detect</h3>
|
<h3>detect</h3>
|
||||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
<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>
|
||||||
<ul class="tsd-descriptions">
|
<ul class="tsd-descriptions">
|
||||||
<li class="tsd-description">
|
<li class="tsd-description">
|
||||||
|
@ -596,7 +596,7 @@
|
||||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||||
<ul class="tsd-parameters">
|
<ul class="tsd-parameters">
|
||||||
<li>
|
<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>
|
||||||
<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>
|
<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>
|
<a name="enhance" class="tsd-anchor"></a>
|
||||||
<h3>enhance</h3>
|
<h3>enhance</h3>
|
||||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
<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>
|
||||||
<ul class="tsd-descriptions">
|
<ul class="tsd-descriptions">
|
||||||
<li class="tsd-description">
|
<li class="tsd-description">
|
||||||
|
@ -625,10 +625,10 @@
|
||||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||||
<ul class="tsd-parameters">
|
<ul class="tsd-parameters">
|
||||||
<li>
|
<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>
|
</li>
|
||||||
</ul>
|
</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>
|
<p>Tensor</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -738,7 +738,7 @@
|
||||||
<a name="segmentation-1" class="tsd-anchor"></a>
|
<a name="segmentation-1" class="tsd-anchor"></a>
|
||||||
<h3>segmentation</h3>
|
<h3>segmentation</h3>
|
||||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
<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>
|
||||||
<ul class="tsd-descriptions">
|
<ul class="tsd-descriptions">
|
||||||
<li class="tsd-description">
|
<li class="tsd-description">
|
||||||
|
@ -754,10 +754,10 @@
|
||||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||||
<ul class="tsd-parameters">
|
<ul class="tsd-parameters">
|
||||||
<li>
|
<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>
|
||||||
<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>
|
</li>
|
||||||
</ul>
|
</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>
|
<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">
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||||
<a name="image" class="tsd-anchor"></a>
|
<a name="image" class="tsd-anchor"></a>
|
||||||
<h3><span class="tsd-flag ts-flagOptional">Optional</span> image</h3>
|
<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 class="tsd-sources">
|
||||||
</aside>
|
</aside>
|
||||||
</section>
|
</section>
|
||||||
|
@ -291,7 +291,7 @@
|
||||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||||
<a name="tensor" class="tsd-anchor"></a>
|
<a name="tensor" class="tsd-anchor"></a>
|
||||||
<h3>tensor</h3>
|
<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 class="tsd-sources">
|
||||||
</aside>
|
</aside>
|
||||||
</section>
|
</section>
|
||||||
|
|
Loading…
Reference in New Issue