reorder backend init code

pull/293/head
Vladimir Mandic 2022-09-02 11:57:47 -04:00
parent b1cb0684e4
commit 3c324033ab
14 changed files with 651 additions and 382 deletions

View File

@ -10704,20 +10704,20 @@ function register(instance2) {
if (instance2.config.backend !== "humangl")
return;
if (config2.name in tfjs_esm_exports.engine().registry && !((_a = config2 == null ? void 0 : config2.gl) == null ? void 0 : _a.getParameter(config2.gl.VERSION))) {
log("error: humangl backend invalid context");
log("humangl error: backend invalid context");
reset2(instance2);
}
if (!tfjs_esm_exports.findBackend(config2.name)) {
try {
config2.canvas = canvas(100, 100);
} catch (err) {
log("error: cannot create canvas:", err);
log("humangl error: cannot create canvas:", err);
return;
}
try {
config2.gl = config2.canvas.getContext("webgl2", config2.webGLattr);
if (!config2.gl) {
log("error: cannot get WebGL context");
log("humangl error: cannot get webgl context");
return;
}
const glv2 = config2.gl.getParameter(config2.gl.VERSION).includes("2.0");
@ -10728,33 +10728,33 @@ function register(instance2) {
}
if (config2.canvas) {
config2.canvas.addEventListener("webglcontextlost", (e) => {
log("error: humangl:", e.type);
log("humangl error:", e.type);
log("possible browser memory leak using webgl or conflict with multiple backend registrations");
instance2.emit("error");
throw new Error("backend error: webgl context lost");
});
config2.canvas.addEventListener("webglcontextrestored", (e) => {
log("error: humangl context restored:", e);
log("humangl error: context restored:", e);
});
config2.canvas.addEventListener("webglcontextcreationerror", (e) => {
log("error: humangl context create:", e);
log("humangl error: context create:", e);
});
}
} catch (err) {
log("error: cannot get webgl context:", err);
log("humangl error: cannot get webgl context:", err);
return;
}
try {
tfjs_esm_exports.setWebGLContext(2, config2.gl);
} catch (err) {
log("error: cannot set webgl context:", err);
log("humangl error: cannot set webgl context:", err);
return;
}
try {
const ctx = new tfjs_esm_exports.GPGPUContext(config2.gl);
tfjs_esm_exports.registerBackend(config2.name, () => new tfjs_esm_exports.MathBackendWebGL(ctx), config2.priority);
} catch (err) {
log("error: cannot register webgl backend:", err);
log("humangl error: cannot register webgl backend:", err);
return;
}
try {
@ -10764,25 +10764,23 @@ function register(instance2) {
tfjs_esm_exports.registerKernel(newKernelConfig);
});
} catch (err) {
log("error: cannot update WebGL backend registration:", err);
return;
}
const current = tfjs_esm_exports.backend().getGPGPUContext ? tfjs_esm_exports.backend().getGPGPUContext().gl : null;
if (current) {
log(`humangl webgl version:${current.getParameter(current.VERSION)} renderer:${current.getParameter(current.RENDERER)}`);
} else {
log("error: no current gl context:", current, config2.gl);
log("humangl error: cannot update webgl backend registration:", err);
return;
}
try {
if (tfjs_esm_exports.env().flagRegistry.WEBGL_VERSION)
tfjs_esm_exports.env().set("WEBGL_VERSION", 2);
} catch (err) {
log("error: cannot set WebGL backend flags:", err);
log("humangl error: cannot set WebGL backend flags:", err);
return;
}
extensions();
log("backend registered:", config2.name);
const current = tfjs_esm_exports.backend().getGPGPUContext ? tfjs_esm_exports.backend().getGPGPUContext().gl : null;
if (current) {
log("humangl backend registered", { webgl: current.getParameter(current.VERSION), renderer: current.getParameter(current.RENDERER) });
} else {
log("humangl error: no current gl context:", current, config2.gl);
}
}
}
@ -10815,10 +10813,10 @@ function registerCustomOps(config3) {
kernelName: "RotateWithOffset",
backendName: tfjs_esm_exports.getBackend(),
kernelFunc: (op) => tfjs_esm_exports.tidy(() => {
const backend5 = tfjs_esm_exports.getBackend();
const backend4 = tfjs_esm_exports.getBackend();
tfjs_esm_exports.setBackend("cpu");
const t = tfjs_esm_exports.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center);
tfjs_esm_exports.setBackend(backend5);
tfjs_esm_exports.setBackend(backend4);
return t;
})
};
@ -10830,7 +10828,7 @@ function registerCustomOps(config3) {
}
async function check(instance2, force = false) {
instance2.state = "backend";
if (force || env.initial || instance2.config.backend && instance2.config.backend.length > 0 && tfjs_esm_exports.getBackend() !== instance2.config.backend) {
if (force || instance2.config.backend && instance2.config.backend.length > 0 && tfjs_esm_exports.getBackend() !== instance2.config.backend) {
const timeStamp = now();
if (instance2.config.backend && instance2.config.backend.length > 0) {
if (typeof window === "undefined" && typeof WorkerGlobalScope !== "undefined" && instance2.config.debug) {
@ -10864,9 +10862,11 @@ async function check(instance2, force = false) {
}
}
}
if (instance2.config.backend === "humangl")
let available = Object.keys(tfjs_esm_exports.engine().registryFactory);
if (instance2.config.backend === "humangl" && !available.includes("humangl")) {
register(instance2);
const available = Object.keys(tfjs_esm_exports.engine().registryFactory);
available = Object.keys(tfjs_esm_exports.engine().registryFactory);
}
if (instance2.config.debug)
log("available backends:", available);
if (!available.includes(instance2.config.backend)) {
@ -10921,11 +10921,6 @@ async function check(instance2, force = false) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tfjs_esm_exports.env().set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
}
if (tfjs_esm_exports.backend().getGPGPUContext) {
const gl = await tfjs_esm_exports.backend().getGPGPUContext().gl;
if (instance2.config.debug)
log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);
}
}
if (tfjs_esm_exports.getBackend() === "webgpu") {
if (instance2.config.debug)
@ -14430,6 +14425,10 @@ var Human = class {
this.gl = config2;
validateModel(this, null, "");
this.emit("create");
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
}
reset() {
const currentBackend = this.config.backend;
@ -14474,10 +14473,6 @@ var Human = class {
if (userConfig)
this.config = mergeDeep(this.config, userConfig);
if (this.env.initial) {
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
if (!await check(this))
log("error: backend check failed");
await tfjs_esm_exports.ready();

File diff suppressed because one or more lines are too long

57
dist/human.esm.js vendored
View File

@ -83721,20 +83721,20 @@ function register(instance2) {
if (instance2.config.backend !== "humangl")
return;
if (config2.name in engine().registry && !((_a = config2 == null ? void 0 : config2.gl) == null ? void 0 : _a.getParameter(config2.gl.VERSION))) {
log("error: humangl backend invalid context");
log("humangl error: backend invalid context");
reset2(instance2);
}
if (!findBackend(config2.name)) {
try {
config2.canvas = canvas(100, 100);
} catch (err) {
log("error: cannot create canvas:", err);
log("humangl error: cannot create canvas:", err);
return;
}
try {
config2.gl = config2.canvas.getContext("webgl2", config2.webGLattr);
if (!config2.gl) {
log("error: cannot get WebGL context");
log("humangl error: cannot get webgl context");
return;
}
const glv2 = config2.gl.getParameter(config2.gl.VERSION).includes("2.0");
@ -83745,33 +83745,33 @@ function register(instance2) {
}
if (config2.canvas) {
config2.canvas.addEventListener("webglcontextlost", (e) => {
log("error: humangl:", e.type);
log("humangl error:", e.type);
log("possible browser memory leak using webgl or conflict with multiple backend registrations");
instance2.emit("error");
throw new Error("backend error: webgl context lost");
});
config2.canvas.addEventListener("webglcontextrestored", (e) => {
log("error: humangl context restored:", e);
log("humangl error: context restored:", e);
});
config2.canvas.addEventListener("webglcontextcreationerror", (e) => {
log("error: humangl context create:", e);
log("humangl error: context create:", e);
});
}
} catch (err) {
log("error: cannot get webgl context:", err);
log("humangl error: cannot get webgl context:", err);
return;
}
try {
setWebGLContext(2, config2.gl);
} catch (err) {
log("error: cannot set webgl context:", err);
log("humangl error: cannot set webgl context:", err);
return;
}
try {
const ctx = new GPGPUContext(config2.gl);
registerBackend(config2.name, () => new MathBackendWebGL(ctx), config2.priority);
} catch (err) {
log("error: cannot register webgl backend:", err);
log("humangl error: cannot register webgl backend:", err);
return;
}
try {
@ -83781,25 +83781,23 @@ function register(instance2) {
registerKernel(newKernelConfig);
});
} catch (err) {
log("error: cannot update WebGL backend registration:", err);
return;
}
const current = backend().getGPGPUContext ? backend().getGPGPUContext().gl : null;
if (current) {
log(`humangl webgl version:${current.getParameter(current.VERSION)} renderer:${current.getParameter(current.RENDERER)}`);
} else {
log("error: no current gl context:", current, config2.gl);
log("humangl error: cannot update webgl backend registration:", err);
return;
}
try {
if (env().flagRegistry.WEBGL_VERSION)
env().set("WEBGL_VERSION", 2);
} catch (err) {
log("error: cannot set WebGL backend flags:", err);
log("humangl error: cannot set WebGL backend flags:", err);
return;
}
extensions();
log("backend registered:", config2.name);
const current = backend().getGPGPUContext ? backend().getGPGPUContext().gl : null;
if (current) {
log("humangl backend registered", { webgl: current.getParameter(current.VERSION), renderer: current.getParameter(current.RENDERER) });
} else {
log("humangl error: no current gl context:", current, config2.gl);
}
}
}
@ -83847,7 +83845,7 @@ function registerCustomOps(config3) {
}
async function check(instance2, force = false) {
instance2.state = "backend";
if (force || env2.initial || instance2.config.backend && instance2.config.backend.length > 0 && getBackend() !== instance2.config.backend) {
if (force || instance2.config.backend && instance2.config.backend.length > 0 && getBackend() !== instance2.config.backend) {
const timeStamp = now();
if (instance2.config.backend && instance2.config.backend.length > 0) {
if (typeof window === "undefined" && typeof WorkerGlobalScope !== "undefined" && instance2.config.debug) {
@ -83881,9 +83879,11 @@ async function check(instance2, force = false) {
}
}
}
if (instance2.config.backend === "humangl")
let available = Object.keys(engine().registryFactory);
if (instance2.config.backend === "humangl" && !available.includes("humangl")) {
register(instance2);
const available = Object.keys(engine().registryFactory);
available = Object.keys(engine().registryFactory);
}
if (instance2.config.debug)
log("available backends:", available);
if (!available.includes(instance2.config.backend)) {
@ -83938,11 +83938,6 @@ async function check(instance2, force = false) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
env().set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
}
if (backend().getGPGPUContext) {
const gl = await backend().getGPGPUContext().gl;
if (instance2.config.debug)
log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);
}
}
if (getBackend() === "webgpu") {
if (instance2.config.debug)
@ -87447,6 +87442,10 @@ var Human = class {
this.gl = config2;
validateModel(this, null, "");
this.emit("create");
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
}
reset() {
const currentBackend = this.config.backend;
@ -87491,10 +87490,6 @@ var Human = class {
if (userConfig)
this.config = mergeDeep(this.config, userConfig);
if (this.env.initial) {
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
if (!await check(this))
log("error: backend check failed");
await ready();

File diff suppressed because one or more lines are too long

268
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -10771,20 +10771,20 @@ function register(instance2) {
if (instance2.config.backend !== "humangl")
return;
if (config2.name in tf24.engine().registry && !((_a = config2 == null ? void 0 : config2.gl) == null ? void 0 : _a.getParameter(config2.gl.VERSION))) {
log("error: humangl backend invalid context");
log("humangl error: backend invalid context");
reset2(instance2);
}
if (!tf24.findBackend(config2.name)) {
try {
config2.canvas = canvas(100, 100);
} catch (err) {
log("error: cannot create canvas:", err);
log("humangl error: cannot create canvas:", err);
return;
}
try {
config2.gl = config2.canvas.getContext("webgl2", config2.webGLattr);
if (!config2.gl) {
log("error: cannot get WebGL context");
log("humangl error: cannot get webgl context");
return;
}
const glv2 = config2.gl.getParameter(config2.gl.VERSION).includes("2.0");
@ -10795,33 +10795,33 @@ function register(instance2) {
}
if (config2.canvas) {
config2.canvas.addEventListener("webglcontextlost", (e) => {
log("error: humangl:", e.type);
log("humangl error:", e.type);
log("possible browser memory leak using webgl or conflict with multiple backend registrations");
instance2.emit("error");
throw new Error("backend error: webgl context lost");
});
config2.canvas.addEventListener("webglcontextrestored", (e) => {
log("error: humangl context restored:", e);
log("humangl error: context restored:", e);
});
config2.canvas.addEventListener("webglcontextcreationerror", (e) => {
log("error: humangl context create:", e);
log("humangl error: context create:", e);
});
}
} catch (err) {
log("error: cannot get webgl context:", err);
log("humangl error: cannot get webgl context:", err);
return;
}
try {
tf24.setWebGLContext(2, config2.gl);
} catch (err) {
log("error: cannot set webgl context:", err);
log("humangl error: cannot set webgl context:", err);
return;
}
try {
const ctx = new tf24.GPGPUContext(config2.gl);
tf24.registerBackend(config2.name, () => new tf24.MathBackendWebGL(ctx), config2.priority);
} catch (err) {
log("error: cannot register webgl backend:", err);
log("humangl error: cannot register webgl backend:", err);
return;
}
try {
@ -10831,25 +10831,23 @@ function register(instance2) {
tf24.registerKernel(newKernelConfig);
});
} catch (err) {
log("error: cannot update WebGL backend registration:", err);
return;
}
const current = tf24.backend().getGPGPUContext ? tf24.backend().getGPGPUContext().gl : null;
if (current) {
log(`humangl webgl version:${current.getParameter(current.VERSION)} renderer:${current.getParameter(current.RENDERER)}`);
} else {
log("error: no current gl context:", current, config2.gl);
log("humangl error: cannot update webgl backend registration:", err);
return;
}
try {
if (tf24.env().flagRegistry.WEBGL_VERSION)
tf24.env().set("WEBGL_VERSION", 2);
} catch (err) {
log("error: cannot set WebGL backend flags:", err);
log("humangl error: cannot set WebGL backend flags:", err);
return;
}
extensions();
log("backend registered:", config2.name);
const current = tf24.backend().getGPGPUContext ? tf24.backend().getGPGPUContext().gl : null;
if (current) {
log("humangl backend registered", { webgl: current.getParameter(current.VERSION), renderer: current.getParameter(current.RENDERER) });
} else {
log("humangl error: no current gl context:", current, config2.gl);
}
}
}
@ -10883,10 +10881,10 @@ function registerCustomOps(config3) {
kernelName: "RotateWithOffset",
backendName: tf25.getBackend(),
kernelFunc: (op) => tf25.tidy(() => {
const backend5 = tf25.getBackend();
const backend4 = tf25.getBackend();
tf25.setBackend("cpu");
const t = tf25.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center);
tf25.setBackend(backend5);
tf25.setBackend(backend4);
return t;
})
};
@ -10898,7 +10896,7 @@ function registerCustomOps(config3) {
}
async function check(instance2, force = false) {
instance2.state = "backend";
if (force || env.initial || instance2.config.backend && instance2.config.backend.length > 0 && tf25.getBackend() !== instance2.config.backend) {
if (force || instance2.config.backend && instance2.config.backend.length > 0 && tf25.getBackend() !== instance2.config.backend) {
const timeStamp = now();
if (instance2.config.backend && instance2.config.backend.length > 0) {
if (typeof window === "undefined" && typeof WorkerGlobalScope !== "undefined" && instance2.config.debug) {
@ -10932,9 +10930,11 @@ async function check(instance2, force = false) {
}
}
}
if (instance2.config.backend === "humangl")
let available = Object.keys(tf25.engine().registryFactory);
if (instance2.config.backend === "humangl" && !available.includes("humangl")) {
register(instance2);
const available = Object.keys(tf25.engine().registryFactory);
available = Object.keys(tf25.engine().registryFactory);
}
if (instance2.config.debug)
log("available backends:", available);
if (!available.includes(instance2.config.backend)) {
@ -10989,11 +10989,6 @@ async function check(instance2, force = false) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tf25.env().set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
}
if (tf25.backend().getGPGPUContext) {
const gl = await tf25.backend().getGPGPUContext().gl;
if (instance2.config.debug)
log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);
}
}
if (tf25.getBackend() === "webgpu") {
if (instance2.config.debug)
@ -14516,6 +14511,10 @@ var Human = class {
this.gl = config2;
validateModel(this, null, "");
this.emit("create");
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
}
reset() {
const currentBackend = this.config.backend;
@ -14560,10 +14559,6 @@ var Human = class {
if (userConfig)
this.config = mergeDeep(this.config, userConfig);
if (this.env.initial) {
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
if (!await check(this))
log("error: backend check failed");
await tf37.ready();

View File

@ -10772,20 +10772,20 @@ function register(instance2) {
if (instance2.config.backend !== "humangl")
return;
if (config2.name in tf24.engine().registry && !((_a = config2 == null ? void 0 : config2.gl) == null ? void 0 : _a.getParameter(config2.gl.VERSION))) {
log("error: humangl backend invalid context");
log("humangl error: backend invalid context");
reset2(instance2);
}
if (!tf24.findBackend(config2.name)) {
try {
config2.canvas = canvas(100, 100);
} catch (err) {
log("error: cannot create canvas:", err);
log("humangl error: cannot create canvas:", err);
return;
}
try {
config2.gl = config2.canvas.getContext("webgl2", config2.webGLattr);
if (!config2.gl) {
log("error: cannot get WebGL context");
log("humangl error: cannot get webgl context");
return;
}
const glv2 = config2.gl.getParameter(config2.gl.VERSION).includes("2.0");
@ -10796,33 +10796,33 @@ function register(instance2) {
}
if (config2.canvas) {
config2.canvas.addEventListener("webglcontextlost", (e) => {
log("error: humangl:", e.type);
log("humangl error:", e.type);
log("possible browser memory leak using webgl or conflict with multiple backend registrations");
instance2.emit("error");
throw new Error("backend error: webgl context lost");
});
config2.canvas.addEventListener("webglcontextrestored", (e) => {
log("error: humangl context restored:", e);
log("humangl error: context restored:", e);
});
config2.canvas.addEventListener("webglcontextcreationerror", (e) => {
log("error: humangl context create:", e);
log("humangl error: context create:", e);
});
}
} catch (err) {
log("error: cannot get webgl context:", err);
log("humangl error: cannot get webgl context:", err);
return;
}
try {
tf24.setWebGLContext(2, config2.gl);
} catch (err) {
log("error: cannot set webgl context:", err);
log("humangl error: cannot set webgl context:", err);
return;
}
try {
const ctx = new tf24.GPGPUContext(config2.gl);
tf24.registerBackend(config2.name, () => new tf24.MathBackendWebGL(ctx), config2.priority);
} catch (err) {
log("error: cannot register webgl backend:", err);
log("humangl error: cannot register webgl backend:", err);
return;
}
try {
@ -10832,25 +10832,23 @@ function register(instance2) {
tf24.registerKernel(newKernelConfig);
});
} catch (err) {
log("error: cannot update WebGL backend registration:", err);
return;
}
const current = tf24.backend().getGPGPUContext ? tf24.backend().getGPGPUContext().gl : null;
if (current) {
log(`humangl webgl version:${current.getParameter(current.VERSION)} renderer:${current.getParameter(current.RENDERER)}`);
} else {
log("error: no current gl context:", current, config2.gl);
log("humangl error: cannot update webgl backend registration:", err);
return;
}
try {
if (tf24.env().flagRegistry.WEBGL_VERSION)
tf24.env().set("WEBGL_VERSION", 2);
} catch (err) {
log("error: cannot set WebGL backend flags:", err);
log("humangl error: cannot set WebGL backend flags:", err);
return;
}
extensions();
log("backend registered:", config2.name);
const current = tf24.backend().getGPGPUContext ? tf24.backend().getGPGPUContext().gl : null;
if (current) {
log("humangl backend registered", { webgl: current.getParameter(current.VERSION), renderer: current.getParameter(current.RENDERER) });
} else {
log("humangl error: no current gl context:", current, config2.gl);
}
}
}
@ -10884,10 +10882,10 @@ function registerCustomOps(config3) {
kernelName: "RotateWithOffset",
backendName: tf25.getBackend(),
kernelFunc: (op) => tf25.tidy(() => {
const backend5 = tf25.getBackend();
const backend4 = tf25.getBackend();
tf25.setBackend("cpu");
const t = tf25.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center);
tf25.setBackend(backend5);
tf25.setBackend(backend4);
return t;
})
};
@ -10899,7 +10897,7 @@ function registerCustomOps(config3) {
}
async function check(instance2, force = false) {
instance2.state = "backend";
if (force || env.initial || instance2.config.backend && instance2.config.backend.length > 0 && tf25.getBackend() !== instance2.config.backend) {
if (force || instance2.config.backend && instance2.config.backend.length > 0 && tf25.getBackend() !== instance2.config.backend) {
const timeStamp = now();
if (instance2.config.backend && instance2.config.backend.length > 0) {
if (typeof window === "undefined" && typeof WorkerGlobalScope !== "undefined" && instance2.config.debug) {
@ -10933,9 +10931,11 @@ async function check(instance2, force = false) {
}
}
}
if (instance2.config.backend === "humangl")
let available = Object.keys(tf25.engine().registryFactory);
if (instance2.config.backend === "humangl" && !available.includes("humangl")) {
register(instance2);
const available = Object.keys(tf25.engine().registryFactory);
available = Object.keys(tf25.engine().registryFactory);
}
if (instance2.config.debug)
log("available backends:", available);
if (!available.includes(instance2.config.backend)) {
@ -10990,11 +10990,6 @@ async function check(instance2, force = false) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tf25.env().set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
}
if (tf25.backend().getGPGPUContext) {
const gl = await tf25.backend().getGPGPUContext().gl;
if (instance2.config.debug)
log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);
}
}
if (tf25.getBackend() === "webgpu") {
if (instance2.config.debug)
@ -14517,6 +14512,10 @@ var Human = class {
this.gl = config2;
validateModel(this, null, "");
this.emit("create");
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
}
reset() {
const currentBackend = this.config.backend;
@ -14561,10 +14560,6 @@ var Human = class {
if (userConfig)
this.config = mergeDeep(this.config, userConfig);
if (this.env.initial) {
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
if (!await check(this))
log("error: backend check failed");
await tf37.ready();

61
dist/human.node.js vendored
View File

@ -10771,20 +10771,20 @@ function register(instance2) {
if (instance2.config.backend !== "humangl")
return;
if (config2.name in tf24.engine().registry && !((_a = config2 == null ? void 0 : config2.gl) == null ? void 0 : _a.getParameter(config2.gl.VERSION))) {
log("error: humangl backend invalid context");
log("humangl error: backend invalid context");
reset2(instance2);
}
if (!tf24.findBackend(config2.name)) {
try {
config2.canvas = canvas(100, 100);
} catch (err) {
log("error: cannot create canvas:", err);
log("humangl error: cannot create canvas:", err);
return;
}
try {
config2.gl = config2.canvas.getContext("webgl2", config2.webGLattr);
if (!config2.gl) {
log("error: cannot get WebGL context");
log("humangl error: cannot get webgl context");
return;
}
const glv2 = config2.gl.getParameter(config2.gl.VERSION).includes("2.0");
@ -10795,33 +10795,33 @@ function register(instance2) {
}
if (config2.canvas) {
config2.canvas.addEventListener("webglcontextlost", (e) => {
log("error: humangl:", e.type);
log("humangl error:", e.type);
log("possible browser memory leak using webgl or conflict with multiple backend registrations");
instance2.emit("error");
throw new Error("backend error: webgl context lost");
});
config2.canvas.addEventListener("webglcontextrestored", (e) => {
log("error: humangl context restored:", e);
log("humangl error: context restored:", e);
});
config2.canvas.addEventListener("webglcontextcreationerror", (e) => {
log("error: humangl context create:", e);
log("humangl error: context create:", e);
});
}
} catch (err) {
log("error: cannot get webgl context:", err);
log("humangl error: cannot get webgl context:", err);
return;
}
try {
tf24.setWebGLContext(2, config2.gl);
} catch (err) {
log("error: cannot set webgl context:", err);
log("humangl error: cannot set webgl context:", err);
return;
}
try {
const ctx = new tf24.GPGPUContext(config2.gl);
tf24.registerBackend(config2.name, () => new tf24.MathBackendWebGL(ctx), config2.priority);
} catch (err) {
log("error: cannot register webgl backend:", err);
log("humangl error: cannot register webgl backend:", err);
return;
}
try {
@ -10831,25 +10831,23 @@ function register(instance2) {
tf24.registerKernel(newKernelConfig);
});
} catch (err) {
log("error: cannot update WebGL backend registration:", err);
return;
}
const current = tf24.backend().getGPGPUContext ? tf24.backend().getGPGPUContext().gl : null;
if (current) {
log(`humangl webgl version:${current.getParameter(current.VERSION)} renderer:${current.getParameter(current.RENDERER)}`);
} else {
log("error: no current gl context:", current, config2.gl);
log("humangl error: cannot update webgl backend registration:", err);
return;
}
try {
if (tf24.env().flagRegistry.WEBGL_VERSION)
tf24.env().set("WEBGL_VERSION", 2);
} catch (err) {
log("error: cannot set WebGL backend flags:", err);
log("humangl error: cannot set WebGL backend flags:", err);
return;
}
extensions();
log("backend registered:", config2.name);
const current = tf24.backend().getGPGPUContext ? tf24.backend().getGPGPUContext().gl : null;
if (current) {
log("humangl backend registered", { webgl: current.getParameter(current.VERSION), renderer: current.getParameter(current.RENDERER) });
} else {
log("humangl error: no current gl context:", current, config2.gl);
}
}
}
@ -10883,10 +10881,10 @@ function registerCustomOps(config3) {
kernelName: "RotateWithOffset",
backendName: tf25.getBackend(),
kernelFunc: (op) => tf25.tidy(() => {
const backend5 = tf25.getBackend();
const backend4 = tf25.getBackend();
tf25.setBackend("cpu");
const t = tf25.image.rotateWithOffset(op.inputs.image, op.attrs.radians, op.attrs.fillValue, op.attrs.center);
tf25.setBackend(backend5);
tf25.setBackend(backend4);
return t;
})
};
@ -10898,7 +10896,7 @@ function registerCustomOps(config3) {
}
async function check(instance2, force = false) {
instance2.state = "backend";
if (force || env.initial || instance2.config.backend && instance2.config.backend.length > 0 && tf25.getBackend() !== instance2.config.backend) {
if (force || instance2.config.backend && instance2.config.backend.length > 0 && tf25.getBackend() !== instance2.config.backend) {
const timeStamp = now();
if (instance2.config.backend && instance2.config.backend.length > 0) {
if (typeof window === "undefined" && typeof WorkerGlobalScope !== "undefined" && instance2.config.debug) {
@ -10932,9 +10930,11 @@ async function check(instance2, force = false) {
}
}
}
if (instance2.config.backend === "humangl")
let available = Object.keys(tf25.engine().registryFactory);
if (instance2.config.backend === "humangl" && !available.includes("humangl")) {
register(instance2);
const available = Object.keys(tf25.engine().registryFactory);
available = Object.keys(tf25.engine().registryFactory);
}
if (instance2.config.debug)
log("available backends:", available);
if (!available.includes(instance2.config.backend)) {
@ -10989,11 +10989,6 @@ async function check(instance2, force = false) {
log("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:", true);
tf25.env().set("WEBGL_DELETE_TEXTURE_THRESHOLD", 0);
}
if (tf25.backend().getGPGPUContext) {
const gl = await tf25.backend().getGPGPUContext().gl;
if (instance2.config.debug)
log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);
}
}
if (tf25.getBackend() === "webgpu") {
if (instance2.config.debug)
@ -14516,6 +14511,10 @@ var Human = class {
this.gl = config2;
validateModel(this, null, "");
this.emit("create");
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
}
reset() {
const currentBackend = this.config.backend;
@ -14560,10 +14559,6 @@ var Human = class {
if (userConfig)
this.config = mergeDeep(this.config, userConfig);
if (this.env.initial) {
if (this.config.debug)
log(`version: ${this.version}`);
if (this.config.debug)
log(`tfjs version: ${this.tf.version["tfjs-core"]}`);
if (!await check(this))
log("error: backend check failed");
await tf37.ready();

View File

@ -174,6 +174,8 @@ export class Human {
models.validateModel(this, null, '');
// include platform info
this.emit('create');
if (this.config.debug) log(`version: ${this.version}`);
if (this.config.debug) log(`tfjs version: ${this.tf.version['tfjs-core'] as string}`);
}
/** internal function to measure tensor leaks */
@ -299,8 +301,6 @@ export class Human {
if (userConfig) this.config = mergeDeep(this.config, userConfig) as Config;
if (this.env.initial) { // print version info on first run and check for correct backend setup
if (this.config.debug) log(`version: ${this.version}`);
if (this.config.debug) log(`tfjs version: ${this.tf.version['tfjs-core'] as string}`);
if (!await backend.check(this)) log('error: backend check failed');
await tf.ready();
if (this.env.browser) {

View File

@ -67,7 +67,7 @@ function registerCustomOps(config: Config) {
export async function check(instance: Human, force = false) {
instance.state = 'backend';
if (force || env.initial || (instance.config.backend && (instance.config.backend.length > 0) && (tf.getBackend() !== instance.config.backend))) {
if (force || (instance.config.backend && (instance.config.backend.length > 0) && (tf.getBackend() !== instance.config.backend))) {
const timeStamp = now();
if (instance.config.backend && instance.config.backend.length > 0) {
@ -108,8 +108,11 @@ export async function check(instance: Human, force = false) {
}
// check available backends
if (instance.config.backend === 'humangl') humangl.register(instance);
const available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
let available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
if (instance.config.backend === 'humangl' && !available.includes('humangl')) {
humangl.register(instance);
available = Object.keys(tf.engine().registryFactory as Record<string, unknown>);
}
if (instance.config.debug) log('available backends:', available);
if (!available.includes(instance.config.backend)) {
@ -162,10 +165,6 @@ export async function check(instance: Human, force = false) {
log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', true);
tf.env().set('WEBGL_DELETE_TEXTURE_THRESHOLD', 0);
}
if (tf.backend().getGPGPUContext) {
const gl = await tf.backend().getGPGPUContext().gl;
if (instance.config.debug) log(`gl version:${gl.getParameter(gl.VERSION) as string} renderer:${gl.getParameter(gl.RENDERER) as string}`);
}
}
// customize webgpu

View File

@ -2,18 +2,18 @@ import * as tf from '../../dist/tfjs.esm.js';
import type { Tensor } from './types';
export const constants: Record<string, Tensor | number | number[]> = {
tf255: 255,
tf1: 1,
tf2: 2,
tf255: 255.0,
tf1: 1.0,
tf2: 2.0,
tf05: 0.5,
tf127: 127.5,
rgb: [0.2989, 0.5870, 0.1140],
};
export function init() {
constants.tf255 = tf.scalar(255, 'float32');
constants.tf1 = tf.scalar(1, 'float32');
constants.tf2 = tf.scalar(2, 'float32');
constants.tf255 = tf.scalar(255.0, 'float32');
constants.tf1 = tf.scalar(1.0, 'float32');
constants.tf2 = tf.scalar(2.0, 'float32');
constants.tf05 = tf.scalar(0.5, 'float32');
constants.tf127 = tf.scalar(127.5, 'float32');
constants.rgb = tf.tensor1d([0.2989, 0.5870, 0.1140], 'float32'); // factors for red/green/blue colors when converting to grayscale

View File

@ -46,7 +46,7 @@ export function register(instance: Human): void {
// force backend reload if gl context is not valid
if (instance.config.backend !== 'humangl') return;
if ((config.name in tf.engine().registry) && !config?.gl?.getParameter(config.gl.VERSION)) {
log('error: humangl backend invalid context');
log('humangl error: backend invalid context');
models.reset(instance);
/*
log('resetting humangl backend');
@ -58,13 +58,13 @@ export function register(instance: Human): void {
try {
config.canvas = image.canvas(100, 100);
} catch (err) {
log('error: cannot create canvas:', err);
log('humangl error: cannot create canvas:', err);
return;
}
try {
config.gl = config.canvas.getContext('webgl2', config.webGLattr);
if (!config.gl) {
log('error: cannot get WebGL context');
log('humangl error: cannot get webgl context');
return;
}
const glv2 = config.gl.getParameter(config.gl.VERSION).includes('2.0');
@ -75,7 +75,7 @@ export function register(instance: Human): void {
}
if (config.canvas) {
config.canvas.addEventListener('webglcontextlost', (e) => {
log('error: humangl:', e.type);
log('humangl error:', e.type);
log('possible browser memory leak using webgl or conflict with multiple backend registrations');
instance.emit('error');
throw new Error('backend error: webgl context lost');
@ -86,27 +86,27 @@ export function register(instance: Human): void {
// await register(instance); // re-register
});
config.canvas.addEventListener('webglcontextrestored', (e) => {
log('error: humangl context restored:', e);
log('humangl error: context restored:', e);
});
config.canvas.addEventListener('webglcontextcreationerror', (e) => {
log('error: humangl context create:', e);
log('humangl error: context create:', e);
});
}
} catch (err) {
log('error: cannot get webgl context:', err);
log('humangl error: cannot get webgl context:', err);
return;
}
try {
tf.setWebGLContext(2, config.gl);
} catch (err) {
log('error: cannot set webgl context:', err);
log('humangl error: cannot set webgl context:', err);
return;
}
try {
const ctx = new tf.GPGPUContext(config.gl);
tf.registerBackend(config.name, () => new tf.MathBackendWebGL(ctx), config.priority);
} catch (err) {
log('error: cannot register webgl backend:', err);
log('humangl error: cannot register webgl backend:', err);
return;
}
try {
@ -116,23 +116,21 @@ export function register(instance: Human): void {
tf.registerKernel(newKernelConfig);
});
} catch (err) {
log('error: cannot update WebGL backend registration:', err);
return;
}
const current = tf.backend().getGPGPUContext ? tf.backend().getGPGPUContext().gl : null;
if (current) {
log(`humangl webgl version:${current.getParameter(current.VERSION) as string} renderer:${current.getParameter(current.RENDERER) as string}`);
} else {
log('error: no current gl context:', current, config.gl);
log('humangl error: cannot update webgl backend registration:', err);
return;
}
try {
if (tf.env().flagRegistry.WEBGL_VERSION) tf.env().set('WEBGL_VERSION', 2);
} catch (err) {
log('error: cannot set WebGL backend flags:', err);
log('humangl error: cannot set WebGL backend flags:', err);
return;
}
extensions();
log('backend registered:', config.name);
const current = tf.backend().getGPGPUContext ? tf.backend().getGPGPUContext().gl : null;
if (current) {
log('humangl backend registered', { webgl: current.getParameter(current.VERSION) as string, renderer: current.getParameter(current.RENDERER) as string });
} else {
log('humangl error: no current gl context:', current, config.gl);
}
}
}

View File

@ -297,3 +297,337 @@
2022-09-02 11:11:36 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473724,"outputBytes":3103705}
2022-09-02 11:11:36 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:11:36 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:23:14 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:23:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:23:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656567,"outputBytes":490115}
2022-09-02 11:23:14 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:23:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656587,"outputBytes":490131}
2022-09-02 11:23:14 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:23:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656674,"outputBytes":490222}
2022-09-02 11:23:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:23:14 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:23:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656325,"outputBytes":492263}
2022-09-02 11:23:14 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:23:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473794,"outputBytes":1687665}
2022-09-02 11:23:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473794,"outputBytes":3103778}
2022-09-02 11:23:14 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:23:14 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:23:18 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:23:18 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:23:18 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656568,"outputBytes":490115}
2022-09-02 11:23:18 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:23:18 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656588,"outputBytes":490131}
2022-09-02 11:23:18 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:23:18 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656675,"outputBytes":490222}
2022-09-02 11:23:18 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:23:18 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:23:18 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656326,"outputBytes":492263}
2022-09-02 11:23:18 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:23:18 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473795,"outputBytes":1687665}
2022-09-02 11:23:18 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473795,"outputBytes":3103778}
2022-09-02 11:23:18 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:23:18 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4140,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103778,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593415,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:23:34 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:24:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4140,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:24:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103778,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:24:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:25:30 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:25:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:25:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656585,"outputBytes":490132}
2022-09-02 11:25:30 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:25:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656605,"outputBytes":490148}
2022-09-02 11:25:30 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:25:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656692,"outputBytes":490239}
2022-09-02 11:25:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:25:30 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:25:30 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656343,"outputBytes":492280}
2022-09-02 11:25:30 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:25:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473812,"outputBytes":1687682}
2022-09-02 11:25:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473812,"outputBytes":3103795}
2022-09-02 11:25:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:25:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:25:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4140,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:25:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103795,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:25:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593434,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:25:51 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:26:19 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:26:19 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:26:19 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656497,"outputBytes":490042}
2022-09-02 11:26:19 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:26:19 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656517,"outputBytes":490058}
2022-09-02 11:26:19 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:26:19 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656604,"outputBytes":490149}
2022-09-02 11:26:19 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:26:19 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:26:19 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656255,"outputBytes":492190}
2022-09-02 11:26:19 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:26:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473724,"outputBytes":1687610}
2022-09-02 11:26:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473724,"outputBytes":3103705}
2022-09-02 11:26:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:26:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:26:51 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:26:51 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:26:51 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656591,"outputBytes":490138}
2022-09-02 11:26:51 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:26:51 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656611,"outputBytes":490154}
2022-09-02 11:26:51 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:26:51 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656698,"outputBytes":490245}
2022-09-02 11:26:51 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:26:51 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:26:51 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656349,"outputBytes":492286}
2022-09-02 11:26:51 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:26:51 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473818,"outputBytes":1687692}
2022-09-02 11:26:51 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473818,"outputBytes":3103801}
2022-09-02 11:26:51 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:26:51 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:26:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4140,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:26:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103801,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:26:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593445,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:26:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:32:47 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:32:47 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:32:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656491,"outputBytes":490036}
2022-09-02 11:32:47 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:32:47 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656511,"outputBytes":490052}
2022-09-02 11:32:47 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:32:47 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656598,"outputBytes":490143}
2022-09-02 11:32:47 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:32:47 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:32:47 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656249,"outputBytes":492184}
2022-09-02 11:32:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:32:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473718,"outputBytes":1687598}
2022-09-02 11:32:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473718,"outputBytes":3103699}
2022-09-02 11:32:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:32:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:32:55 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:32:55 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:32:55 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656491,"outputBytes":490036}
2022-09-02 11:32:55 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:32:55 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656511,"outputBytes":490052}
2022-09-02 11:32:55 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:32:55 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656598,"outputBytes":490143}
2022-09-02 11:32:55 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:32:55 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:32:55 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656249,"outputBytes":492184}
2022-09-02 11:32:56 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:32:56 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473718,"outputBytes":1687598}
2022-09-02 11:32:56 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473718,"outputBytes":3103699}
2022-09-02 11:32:56 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:32:56 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:34:56 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:34:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:34:56 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656549,"outputBytes":490093}
2022-09-02 11:34:56 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:34:56 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656569,"outputBytes":490109}
2022-09-02 11:34:56 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:34:56 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656656,"outputBytes":490200}
2022-09-02 11:34:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:34:56 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:34:57 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656307,"outputBytes":492241}
2022-09-02 11:34:57 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:34:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473776,"outputBytes":1687661}
2022-09-02 11:34:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473776,"outputBytes":3103756}
2022-09-02 11:34:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:34:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:34:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4140,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:34:59 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103756,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:35:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593343,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:35:00 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:35:33 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:35:33 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:35:33 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656548,"outputBytes":490092}
2022-09-02 11:35:33 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:35:33 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656568,"outputBytes":490108}
2022-09-02 11:35:33 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:35:33 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656655,"outputBytes":490199}
2022-09-02 11:35:33 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:35:33 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:35:33 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656306,"outputBytes":492240}
2022-09-02 11:35:33 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:35:33 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473775,"outputBytes":1687660}
2022-09-02 11:35:34 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473775,"outputBytes":3103755}
2022-09-02 11:35:34 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:35:34 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:36:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4140,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:36:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:36:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593342,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:36:22 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:37:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4083,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:37:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:37:32 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:39:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4056,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:39:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:39:30 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:39:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4082,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:39:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:39:52 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:40:12 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4113,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:40:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:40:13 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:41:54 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":4113,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:41:55 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:43:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2719,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:43:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:43:11 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:43:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2683,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:43:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:43:24 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:43:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2689,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:43:57 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:43:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:44:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2680,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:44:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:44:16 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:44:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2672,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:44:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103755,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:44:25 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:46:19 INFO:  Watch: {"event":"modify","input":"src/human.ts"}
2022-09-02 11:46:19 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:46:19 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656544,"outputBytes":490084}
2022-09-02 11:46:19 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:46:19 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656564,"outputBytes":490100}
2022-09-02 11:46:19 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:46:19 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656651,"outputBytes":490191}
2022-09-02 11:46:19 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:46:19 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:46:19 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656302,"outputBytes":492232}
2022-09-02 11:46:19 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:46:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473771,"outputBytes":1687660}
2022-09-02 11:46:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473771,"outputBytes":3103747}
2022-09-02 11:46:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:46:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:46:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2672,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:46:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103747,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:46:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593338,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:46:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:47:48 INFO:  Watch: {"event":"modify","input":"src/tfjs/humangl.ts"}
2022-09-02 11:47:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:47:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656510,"outputBytes":490050}
2022-09-02 11:47:48 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:47:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656530,"outputBytes":490066}
2022-09-02 11:47:48 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:47:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656617,"outputBytes":490157}
2022-09-02 11:47:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:47:48 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:47:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656268,"outputBytes":492198}
2022-09-02 11:47:49 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:47:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473737,"outputBytes":1687631}
2022-09-02 11:47:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473737,"outputBytes":3103713}
2022-09-02 11:47:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:47:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:47:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2672,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:47:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103713,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:47:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593281,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:47:58 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:49:37 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"}
2022-09-02 11:49:37 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:49:37 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656254,"outputBytes":489799}
2022-09-02 11:49:37 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:49:37 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656274,"outputBytes":489815}
2022-09-02 11:49:37 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:49:37 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656361,"outputBytes":489906}
2022-09-02 11:49:37 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:49:37 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:49:37 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656012,"outputBytes":491923}
2022-09-02 11:49:37 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:49:37 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473481,"outputBytes":1687467}
2022-09-02 11:49:37 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473481,"outputBytes":3103472}
2022-09-02 11:49:37 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:49:37 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:49:38 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2672,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:49:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103472,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:49:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5592852,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:49:39 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:51:18 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"}
2022-09-02 11:51:18 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:51:18 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656239,"outputBytes":489784}
2022-09-02 11:51:18 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:51:18 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656259,"outputBytes":489800}
2022-09-02 11:51:18 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:51:18 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656346,"outputBytes":489891}
2022-09-02 11:51:18 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:51:18 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:51:18 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":655997,"outputBytes":491908}
2022-09-02 11:51:19 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:51:19 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473466,"outputBytes":1687455}
2022-09-02 11:51:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473466,"outputBytes":3103456}
2022-09-02 11:51:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:51:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:51:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2672,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:51:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103456,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:51:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5592826,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:51:21 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:52:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2662,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:52:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103456,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:52:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:54:31 INFO:  Watch: {"event":"modify","input":"src/tfjs/backend.ts"}
2022-09-02 11:54:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:54:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656378,"outputBytes":489890}
2022-09-02 11:54:31 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:54:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656398,"outputBytes":489906}
2022-09-02 11:54:31 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:54:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656485,"outputBytes":489997}
2022-09-02 11:54:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:54:31 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:54:31 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656136,"outputBytes":492026}
2022-09-02 11:54:31 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:54:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473605,"outputBytes":1687517}
2022-09-02 11:54:32 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473605,"outputBytes":3103557}
2022-09-02 11:54:32 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:54:32 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:54:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2662,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:54:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103557,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:54:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"application/octet-stream","size":5593047,"url":"/dist/human.esm.js.map","remote":"::1"}
2022-09-02 11:54:35 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}
2022-09-02 11:56:17 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2022-09-02 11:56:17 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:56:17 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656380,"outputBytes":489890}
2022-09-02 11:56:17 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:56:17 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656400,"outputBytes":489906}
2022-09-02 11:56:17 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:56:17 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656487,"outputBytes":489997}
2022-09-02 11:56:17 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:56:17 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:56:17 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656138,"outputBytes":492026}
2022-09-02 11:56:17 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:56:18 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473607,"outputBytes":1687517}
2022-09-02 11:56:18 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473607,"outputBytes":3103557}
2022-09-02 11:56:18 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:56:18 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:56:26 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2022-09-02 11:56:26 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:56:26 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656384,"outputBytes":489890}
2022-09-02 11:56:26 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:56:26 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656404,"outputBytes":489906}
2022-09-02 11:56:26 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:56:26 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656491,"outputBytes":489997}
2022-09-02 11:56:26 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:56:26 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:56:26 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656142,"outputBytes":492026}
2022-09-02 11:56:26 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:56:26 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473611,"outputBytes":1687517}
2022-09-02 11:56:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473611,"outputBytes":3103557}
2022-09-02 11:56:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:56:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:56:51 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2022-09-02 11:56:51 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":159,"outputBytes":1098}
2022-09-02 11:56:51 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":75,"inputBytes":656390,"outputBytes":489890}
2022-09-02 11:56:51 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":167,"outputBytes":1118}
2022-09-02 11:56:51 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":75,"inputBytes":656410,"outputBytes":489906}
2022-09-02 11:56:51 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":206,"outputBytes":1205}
2022-09-02 11:56:51 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":75,"inputBytes":656497,"outputBytes":489997}
2022-09-02 11:56:51 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1125,"outputBytes":1439}
2022-09-02 11:56:51 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2169,"outputBytes":856}
2022-09-02 11:56:51 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":75,"inputBytes":656148,"outputBytes":492026}
2022-09-02 11:56:51 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":2425,"outputBytes":2818325}
2022-09-02 11:56:51 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":75,"inputBytes":3473617,"outputBytes":1687517}
2022-09-02 11:56:51 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":75,"inputBytes":3473617,"outputBytes":3103557}
2022-09-02 11:56:51 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6714,"outputBytes":4560}
2022-09-02 11:56:51 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15488,"outputBytes":11867}
2022-09-02 11:57:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/html","size":2662,"url":"/test/test-embedding.html","remote":"::1"}
2022-09-02 11:57:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"text/javascript","size":3103557,"url":"/dist/human.esm.js","remote":"::1"}
2022-09-02 11:57:04 DATA:  HTTPS: {"method":"GET","ver":"2.0","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::1"}

View File

@ -22,7 +22,7 @@
cacheSensitivity: 0,
cacheModels: false,
warmup: 'face',
face: { iris: { enabled: false }, emotion: { enabled: false } },
face: { iris: { enabled: false }, emotion: { enabled: false }, mesh: { enabled: true }, descriptior: { enabled: true } },
body: { enabled: false },
hand: { enabled: false },
object: { enabled: false },
@ -47,52 +47,15 @@
}
async function main() {
const human = new Human(testConfig);
log('human', human.version, { config: human.config });
// for (const backend of ['wasm', 'webgl', 'humangl', 'webgpu', 'test1', 'test2', 'test3', 'test4']) {
// for (const backend of ['webgl']) {
for (const backend of ['webgl', 'humangl', 'test1', 'test2']) {
human.reset();
if (backend === 'test1') {
human.config.backend = 'humangl';
await human.init();
} else if (backend === 'test2') {
human.config.backend = 'humangl';
await human.init();
} else if (backend === 'test3') {
human.config.backend = 'humangl';
await human.init();
} else if (backend === 'test4') {
human.config.backend = 'humangl';
await human.init();
} else {
human.config.backend = backend;
await human.init();
if (human.tf.getBackend() !== backend) {
log(backend, { desired: backend, detected: human.tf.getBackend() });
continue; // wrong backend
}
}
let res;
/*
for (const model of Object.keys(human.models)) {
if (human.models[model]) human.models[model] = null;
}
await human.load(testConfig);
*/
const ops = await human.check();
if (ops && ops.length > 0) log(backend, { backend: human.tf.getBackend(), ops });
const env = JSON.parse(JSON.stringify(human.env));
env.kernels = human.env.kernels.length;
// log(backend, { backend: human.tf.getBackend(), env, tfjs: human.tf.env().flags });
log(backend, { backend: human.tf.getBackend() });
for (const warmup of ['face', 'body']) {
testConfig.warmup = warmup;
res = await human.warmup(testConfig);
if (Array.isArray(res?.face?.[0]?.embedding) && (res?.face?.[0]?.embedding.length === 1024)) res.face[0].embedding.length = 10;
log(backend, { backend: human.tf.getBackend(), warmup, gender: res?.face?.[0]?.gender, genderScore: res?.face?.[0]?.genderScore, age: res?.face?.[0]?.age, embedding: res?.face?.[0]?.embedding });
}
}
const human = new Human(testConfig);
const ops = await human.check();
if (ops && ops.length > 0) log(backend, { backend: human.tf.getBackend(), ops });
const env = JSON.parse(JSON.stringify(human.env));
env.kernels = human.env.kernels.length;
// log(backend, { backend: human.tf.getBackend(), env, tfjs: human.tf.env().flags });
const res = await human.warmup();
if (Array.isArray(res?.face?.[0]?.embedding) && (res?.face?.[0]?.embedding.length === 1024)) res.face[0].embedding.length = 10;
log({ backend: human.tf.getBackend(), gender: res?.face?.[0]?.gender, genderScore: res?.face?.[0]?.genderScore, age: res?.face?.[0]?.age, embedding: res?.face?.[0]?.embedding });
}
main();