cache frequent tf constants

pull/233/head
Vladimir Mandic 2021-11-16 18:31:07 -05:00
parent be8b532cb9
commit 788e3827a9
25 changed files with 2452 additions and 1668 deletions

View File

@ -979,13 +979,13 @@ async function histogramEqualization(inputImage) {
const max4 = [tfjs_esm_exports.max(channels[0]), tfjs_esm_exports.max(channels[1]), tfjs_esm_exports.max(channels[2])];
const absMax = await Promise.all(max4.map((channel) => channel.data()));
const maxValue = 0.99 * Math.max(absMax[0][0], absMax[1][0], absMax[2][0]);
const sub8 = [tfjs_esm_exports.sub(channels[0], min2[0]), tfjs_esm_exports.sub(channels[1], min2[1]), tfjs_esm_exports.sub(channels[2], min2[2])];
const sub9 = [tfjs_esm_exports.sub(channels[0], min2[0]), tfjs_esm_exports.sub(channels[1], min2[1]), tfjs_esm_exports.sub(channels[2], min2[2])];
const range = [tfjs_esm_exports.sub(max4[0], min2[0]), tfjs_esm_exports.sub(max4[1], min2[1]), tfjs_esm_exports.sub(max4[2], min2[2])];
const fact = [tfjs_esm_exports.div(maxValue, range[0]), tfjs_esm_exports.div(maxValue, range[1]), tfjs_esm_exports.div(maxValue, range[2])];
const enh = [tfjs_esm_exports.mul(sub8[0], fact[0]), tfjs_esm_exports.mul(sub8[1], fact[1]), tfjs_esm_exports.mul(sub8[2], fact[2])];
const enh = [tfjs_esm_exports.mul(sub9[0], fact[0]), tfjs_esm_exports.mul(sub9[1], fact[1]), tfjs_esm_exports.mul(sub9[2], fact[2])];
const rgb3 = tfjs_esm_exports.stack([enh[0], enh[1], enh[2]], 2);
const reshape8 = tfjs_esm_exports.reshape(rgb3, [1, squeeze9.shape[0], squeeze9.shape[1], 3]);
tfjs_esm_exports.dispose([...channels, ...min2, ...max4, ...sub8, ...range, ...fact, ...enh, rgb3, squeeze9]);
tfjs_esm_exports.dispose([...channels, ...min2, ...max4, ...sub9, ...range, ...fact, ...enh, rgb3, squeeze9]);
return reshape8;
}
@ -1438,6 +1438,14 @@ async function predict(image29, config3, idx, count2) {
});
}
// src/tfjs/constants.ts
var tf255 = tfjs_esm_exports.scalar(255, "float32");
var tf1 = tfjs_esm_exports.scalar(1, "float32");
var tf22 = tfjs_esm_exports.scalar(2, "float32");
var tf05 = tfjs_esm_exports.scalar(0.5, "float32");
var tf127 = tfjs_esm_exports.scalar(127.5, "float32");
var rgb = tfjs_esm_exports.tensor1d([0.2989, 0.587, 0.114], "float32");
// src/gear/ssrnet-age.ts
var model2;
var last3 = [];
@ -1475,7 +1483,7 @@ async function predict2(image29, config3, idx, count2) {
return;
const t = {};
t.resize = tfjs_esm_exports.image.resizeBilinear(image29, [model2.inputs[0].shape[2], model2.inputs[0].shape[1]], false);
t.enhance = tfjs_esm_exports.mul(t.resize, 255);
t.enhance = tfjs_esm_exports.mul(t.resize, tf255);
const obj = { age: 0 };
if (config3.face["ssrnet"].enabled)
t.age = model2.execute(t.enhance);
@ -1497,7 +1505,7 @@ var last4 = [];
var lastCount3 = 0;
var lastTime3 = 0;
var skipped3 = Number.MAX_SAFE_INTEGER;
var rgb = [0.2989, 0.587, 0.114];
var rgb2 = [0.2989, 0.587, 0.114];
async function load3(config3) {
if (env.initial)
model3 = null;
@ -1529,11 +1537,11 @@ async function predict3(image29, config3, idx, count2) {
t.resize = tfjs_esm_exports.image.resizeBilinear(image29, [model3.inputs[0].shape[2], model3.inputs[0].shape[1]], false);
t.enhance = tfjs_esm_exports.tidy(() => {
const [red, green, blue] = tfjs_esm_exports.split(t.resize, 3, 3);
const redNorm = tfjs_esm_exports.mul(red, rgb[0]);
const greenNorm = tfjs_esm_exports.mul(green, rgb[1]);
const blueNorm = tfjs_esm_exports.mul(blue, rgb[2]);
const redNorm = tfjs_esm_exports.mul(red, rgb2[0]);
const greenNorm = tfjs_esm_exports.mul(green, rgb2[1]);
const blueNorm = tfjs_esm_exports.mul(blue, rgb2[2]);
const grayscale = tfjs_esm_exports.addN([redNorm, greenNorm, blueNorm]);
const normalize = tfjs_esm_exports.mul(tfjs_esm_exports.sub(grayscale, 0.5), 2);
const normalize = tfjs_esm_exports.mul(tfjs_esm_exports.sub(grayscale, tf05), 2);
return normalize;
});
const obj = { gender: "", genderScore: 0 };
@ -4900,7 +4908,7 @@ var cutBoxFromImageAndResize = (box4, image29, cropSize) => {
const h = image29.shape[1];
const w = image29.shape[2];
const crop2 = tfjs_esm_exports.image.cropAndResize(image29, [[box4.startPoint[1] / h, box4.startPoint[0] / w, box4.endPoint[1] / h, box4.endPoint[0] / w]], [0], cropSize);
const norm = tfjs_esm_exports.div(crop2, 255);
const norm = tfjs_esm_exports.div(crop2, tf255);
tfjs_esm_exports.dispose(crop2);
return norm;
};
@ -5029,6 +5037,7 @@ var keypointsCount = 6;
var model5;
var anchors = null;
var inputSize = 0;
var inputSizeT = null;
var size = () => inputSize;
async function load5(config3) {
var _a, _b;
@ -5043,6 +5052,7 @@ async function load5(config3) {
} else if (config3.debug)
log("cached model:", model5["modelUrl"]);
inputSize = model5.inputs[0].shape ? model5.inputs[0].shape[2] : 0;
inputSizeT = tfjs_esm_exports.scalar(inputSize, "int32");
anchors = tfjs_esm_exports.tensor2d(generateAnchors(inputSize));
return model5;
}
@ -5051,13 +5061,13 @@ function decodeBounds(boxOutputs) {
t.boxStarts = tfjs_esm_exports.slice(boxOutputs, [0, 1], [-1, 2]);
t.centers = tfjs_esm_exports.add(t.boxStarts, anchors);
t.boxSizes = tfjs_esm_exports.slice(boxOutputs, [0, 3], [-1, 2]);
t.boxSizesNormalized = tfjs_esm_exports.div(t.boxSizes, inputSize);
t.centersNormalized = tfjs_esm_exports.div(t.centers, inputSize);
t.halfBoxSize = tfjs_esm_exports.div(t.boxSizesNormalized, 2);
t.boxSizesNormalized = tfjs_esm_exports.div(t.boxSizes, inputSizeT);
t.centersNormalized = tfjs_esm_exports.div(t.centers, inputSizeT);
t.halfBoxSize = tfjs_esm_exports.div(t.boxSizesNormalized, tf22);
t.starts = tfjs_esm_exports.sub(t.centersNormalized, t.halfBoxSize);
t.ends = tfjs_esm_exports.add(t.centersNormalized, t.halfBoxSize);
t.startNormalized = tfjs_esm_exports.mul(t.starts, inputSize);
t.endNormalized = tfjs_esm_exports.mul(t.ends, inputSize);
t.startNormalized = tfjs_esm_exports.mul(t.starts, inputSizeT);
t.endNormalized = tfjs_esm_exports.mul(t.ends, inputSizeT);
const boxes = tfjs_esm_exports.concat2d([t.startNormalized, t.endNormalized], 1);
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
return boxes;
@ -5068,8 +5078,8 @@ async function getBoxes(inputImage, config3) {
return { boxes: [] };
const t = {};
t.resized = tfjs_esm_exports.image.resizeBilinear(inputImage, [inputSize, inputSize]);
t.div = tfjs_esm_exports.div(t.resized, 127.5);
t.normalized = tfjs_esm_exports.sub(t.div, 0.5);
t.div = tfjs_esm_exports.div(t.resized, tf127);
t.normalized = tfjs_esm_exports.sub(t.div, tf05);
const res = model5 == null ? void 0 : model5.execute(t.normalized);
if (Array.isArray(res)) {
const sorted = res.sort((a, b) => a.size - b.size);
@ -5237,7 +5247,7 @@ async function prepareImage(input) {
];
t.pad = tfjs_esm_exports.pad(input, padding);
t.resize = tfjs_esm_exports.image.resizeBilinear(t.pad, [inputSize2[1][0], inputSize2[1][1]]);
const final = tfjs_esm_exports.div(t.resize, 255);
const final = tfjs_esm_exports.div(t.resize, tf255);
Object.keys(t).forEach((tensor3) => tfjs_esm_exports.dispose(t[tensor3]));
return final;
}
@ -5532,19 +5542,22 @@ async function load7(config3) {
log("cached model:", model7["modelUrl"]);
return model7;
}
function max2d(inputs, minScore) {
async function max2d(inputs, minScore) {
const [width, height] = inputs.shape;
return tfjs_esm_exports.tidy(() => {
const reshaped = tfjs_esm_exports.reshape(inputs, [height * width]);
const newScore = tfjs_esm_exports.max(reshaped, 0).dataSync()[0];
const max4 = tfjs_esm_exports.max(reshaped, 0);
const newScore = (await max4.data())[0];
tfjs_esm_exports.dispose([reshaped, max4]);
if (newScore > minScore) {
const coordinates = tfjs_esm_exports.argMax(reshaped, 0);
const x = tfjs_esm_exports.mod(coordinates, width).dataSync()[0];
const y = tfjs_esm_exports.div(coordinates, tfjs_esm_exports.scalar(width, "int32")).dataSync()[0];
const mod2 = tfjs_esm_exports.mod(coordinates, width);
const x = (await mod2.data())[0];
const div12 = tfjs_esm_exports.div(coordinates, tfjs_esm_exports.scalar(width, "int32"));
const y = (await div12.data())[0];
tfjs_esm_exports.dispose([mod2, div12]);
return [x, y, newScore];
}
return [0, 0, newScore];
});
}
async function predict7(image29, config3) {
const skipTime = (config3.body.skipTime || 0) > now() - lastTime7;
@ -5560,8 +5573,8 @@ async function predict7(image29, config3) {
if (!(model7 == null ? void 0 : model7.inputs[0].shape))
return null;
const resize = tfjs_esm_exports.image.resizeBilinear(image29, [model7.inputs[0].shape[2], model7.inputs[0].shape[1]], false);
const enhance3 = tfjs_esm_exports.mul(resize, 2);
const norm = enhance3.sub(1);
const enhance3 = tfjs_esm_exports.mul(resize, tf22);
const norm = tfjs_esm_exports.sub(enhance3, tf1);
return norm;
});
let resT;
@ -5576,7 +5589,7 @@ async function predict7(image29, config3) {
const stack4 = squeeze9.unstack(2);
tfjs_esm_exports.dispose(squeeze9);
for (let id = 0; id < stack4.length; id++) {
const [x2, y2, partScore] = max2d(stack4[id], config3.body.minConfidence);
const [x2, y2, partScore] = await max2d(stack4[id], config3.body.minConfidence);
if (partScore > (((_a = config3.body) == null ? void 0 : _a.minConfidence) || 0)) {
cache2.keypoints.push({
score: Math.round(100 * partScore) / 100,
@ -5632,7 +5645,6 @@ var last6 = [];
var lastCount5 = 0;
var lastTime8 = 0;
var skipped8 = Number.MAX_SAFE_INTEGER;
var rgb2 = [0.2989, 0.587, 0.114];
async function load8(config3) {
var _a, _b;
if (env.initial)
@ -5665,13 +5677,10 @@ async function predict8(image29, config3, idx, count2) {
const t = {};
const inputSize8 = (model8 == null ? void 0 : model8.inputs[0].shape) ? model8.inputs[0].shape[2] : 0;
t.resize = tfjs_esm_exports.image.resizeBilinear(image29, [inputSize8, inputSize8], false);
[t.red, t.green, t.blue] = tfjs_esm_exports.split(t.resize, 3, 3);
t.redNorm = tfjs_esm_exports.mul(t.red, rgb2[0]);
t.greenNorm = tfjs_esm_exports.mul(t.green, rgb2[1]);
t.blueNorm = tfjs_esm_exports.mul(t.blue, rgb2[2]);
t.grayscale = tfjs_esm_exports.addN([t.redNorm, t.greenNorm, t.blueNorm]);
t.grayscaleSub = tfjs_esm_exports.sub(t.grayscale, 0.5);
t.grayscaleMul = tfjs_esm_exports.mul(t.grayscaleSub, 2);
t.channels = tfjs_esm_exports.mul(t.resize, rgb);
t.grayscale = tfjs_esm_exports.sum(t.channels, 3, true);
t.grayscaleSub = tfjs_esm_exports.sub(t.grayscale, tf05);
t.grayscaleMul = tfjs_esm_exports.mul(t.grayscaleSub, tf22);
t.emotion = model8 == null ? void 0 : model8.execute(t.grayscaleMul);
lastTime8 = now();
const data = await t.emotion.data();
@ -5979,8 +5988,6 @@ async function load11(config3) {
} else if (config3.debug)
log("cached model:", model11["modelUrl"]);
inputSize5 = model11.inputs[0].shape ? model11.inputs[0].shape[2] : 0;
if (inputSize5 === -1)
inputSize5 = 64;
return model11;
}
var triangulation = TRI468;
@ -6012,7 +6019,7 @@ function enhance2(input) {
if (!(model12 == null ? void 0 : model12.inputs[0].shape))
return tensor3;
const crop2 = tfjs_esm_exports.image.resizeBilinear(tensor3, [model12.inputs[0].shape[2], model12.inputs[0].shape[1]], false);
const norm = tfjs_esm_exports.mul(crop2, 255);
const norm = tfjs_esm_exports.mul(crop2, tf255);
tfjs_esm_exports.dispose(crop2);
return norm;
}
@ -9167,8 +9174,8 @@ var HandDetector = class {
async predict(input, config3) {
const t = {};
t.resize = tfjs_esm_exports.image.resizeBilinear(input, [this.inputSize, this.inputSize]);
t.div = tfjs_esm_exports.div(t.resize, 127.5);
t.image = tfjs_esm_exports.sub(t.div, 1);
t.div = tfjs_esm_exports.div(t.resize, tf127);
t.image = tfjs_esm_exports.sub(t.div, tf1);
t.batched = this.model.execute(t.image);
t.predictions = tfjs_esm_exports.squeeze(t.batched);
t.slice = tfjs_esm_exports.slice(t.predictions, [0, 0], [-1, 1]);
@ -9298,7 +9305,7 @@ var HandPipeline = class {
const rotationMatrix = buildRotationMatrix2(-angle, palmCenter);
const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;
const croppedInput = cutBoxFromImageAndResize2(newBox, rotatedImage, [this.inputSize, this.inputSize]);
const handImage = tfjs_esm_exports.div(croppedInput, 255);
const handImage = tfjs_esm_exports.div(croppedInput, tf255);
tfjs_esm_exports.dispose(croppedInput);
tfjs_esm_exports.dispose(rotatedImage);
const [confidenceT, keypoints] = this.handPoseModel.execute(handImage);
@ -10005,8 +10012,7 @@ async function detectFingers(input, h, config3) {
if (input && models2[1] && config3.hand.landmarks && h.score > (config3.hand.minConfidence || 0)) {
const t = {};
t.crop = tfjs_esm_exports.image.cropAndResize(input, [h.boxCrop], [0], [inputSize6[1][0], inputSize6[1][1]], "bilinear");
t.cast = tfjs_esm_exports.cast(t.crop, "float32");
t.div = tfjs_esm_exports.div(t.cast, 255);
t.div = tfjs_esm_exports.div(t.crop, tf255);
[t.score, t.keypoints] = models2[1].execute(t.div, ["Identity_1", "Identity"]);
const rawScore = (await t.score.data())[0];
const score = (100 - Math.trunc(100 / (1 + Math.exp(rawScore)))) / 100;
@ -10296,21 +10302,16 @@ async function load15(config3) {
} else if (config3.debug)
log("cached model:", model14["modelUrl"]);
inputSize7 = model14.inputs[0].shape ? model14.inputs[0].shape[2] : 0;
if (inputSize7 === -1)
inputSize7 = 256;
return model14;
}
async function parseSinglePose(res, config3, image29, inputBox) {
async function parseSinglePose(res, config3, image29) {
const kpt4 = res[0][0];
const keypoints = [];
let score = 0;
for (let id = 0; id < kpt4.length; id++) {
score = kpt4[id][2];
if (score > config3.body.minConfidence) {
const positionRaw = [
(inputBox[3] - inputBox[1]) * kpt4[id][1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt4[id][0] + inputBox[0]
];
const positionRaw = [kpt4[id][1], kpt4[id][0]];
keypoints.push({
score: Math.round(100 * score) / 100,
part: kpt3[id],
@ -10341,7 +10342,7 @@ async function parseSinglePose(res, config3, image29, inputBox) {
bodies.push(body4);
return bodies;
}
async function parseMultiPose(res, config3, image29, inputBox) {
async function parseMultiPose(res, config3, image29) {
const bodies = [];
for (let id = 0; id < res[0].length; id++) {
const kpt4 = res[0][id];
@ -10351,10 +10352,7 @@ async function parseMultiPose(res, config3, image29, inputBox) {
for (let i = 0; i < 17; i++) {
const score = kpt4[3 * i + 2];
if (score > config3.body.minConfidence) {
const positionRaw = [
(inputBox[3] - inputBox[1]) * kpt4[3 * i + 1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt4[3 * i + 0] + inputBox[0]
];
const positionRaw = [kpt4[3 * i + 1], kpt4[3 * i + 0]];
keypoints.push({
part: kpt3[i],
score: Math.round(100 * score) / 100,
@ -10403,7 +10401,7 @@ async function predict15(input, config3) {
t.res = model14 == null ? void 0 : model14.execute(t.input);
cache5.last = now();
const res = await t.res.array();
cache5.bodies = t.res.shape[2] === 17 ? await parseSinglePose(res, config3, input, [0, 0, 1, 1]) : await parseMultiPose(res, config3, input, [0, 0, 1, 1]);
cache5.bodies = t.res.shape[2] === 17 ? await parseSinglePose(res, config3, input) : await parseMultiPose(res, config3, input);
for (const body4 of cache5.bodies) {
rescaleBody(body4, [input.shape[2] || 1, input.shape[1] || 1]);
jitter(body4.keypoints);
@ -10506,7 +10504,7 @@ async function predict16(image29, config3) {
return new Promise(async (resolve) => {
const outputSize2 = [image29.shape[2], image29.shape[1]];
const resize = tfjs_esm_exports.image.resizeBilinear(image29, [model15.inputSize, model15.inputSize], false);
const norm = tfjs_esm_exports.div(resize, 255);
const norm = tfjs_esm_exports.div(resize, tf255);
const transpose = norm.transpose([0, 3, 1, 2]);
tfjs_esm_exports.dispose(norm);
tfjs_esm_exports.dispose(resize);
@ -10890,7 +10888,7 @@ async function process5(input, background, config3) {
const t = {};
t.resize = tfjs_esm_exports.image.resizeBilinear(inputImage.tensor, [model17.inputs[0].shape ? model17.inputs[0].shape[1] : 0, model17.inputs[0].shape ? model17.inputs[0].shape[2] : 0], false);
tfjs_esm_exports.dispose(inputImage.tensor);
t.norm = tfjs_esm_exports.div(t.resize, 255);
t.norm = tfjs_esm_exports.div(t.resize, tf255);
t.res = model17.execute(t.norm);
t.squeeze = tfjs_esm_exports.squeeze(t.res, 0);
if (t.squeeze.shape[2] === 2) {
@ -12346,12 +12344,12 @@ function calc2(newResult, config3) {
// src/face/match.ts
function distance(descriptor1, descriptor2, options3 = { order: 2, multiplier: 25 }) {
let sum2 = 0;
let sum3 = 0;
for (let i = 0; i < descriptor1.length; i++) {
const diff = !options3.order || options3.order === 2 ? descriptor1[i] - descriptor2[i] : Math.abs(descriptor1[i] - descriptor2[i]);
sum2 += !options3.order || options3.order === 2 ? diff * diff : diff ** options3.order;
sum3 += !options3.order || options3.order === 2 ? diff * diff : diff ** options3.order;
}
return (options3.multiplier || 20) * sum2;
return (options3.multiplier || 20) * sum3;
}
var normalizeDistance = (dist, order, min2, max4) => {
if (dist === 0)

File diff suppressed because one or more lines are too long

146
dist/human.esm.js vendored
View File

@ -24804,13 +24804,13 @@ var DepthwiseConv2D = class extends BaseConv {
};
DepthwiseConv2D.className = "DepthwiseConv2D";
serialization_exports.registerClass(DepthwiseConv2D);
function standardizeArgs(inputs, initialState, constants, numConstants) {
function standardizeArgs(inputs, initialState, constants14, numConstants) {
if (Array.isArray(inputs)) {
if (initialState != null || constants != null) {
if (initialState != null || constants14 != null) {
throw new ValueError("When inputs is an array, neither initialState or constants should be provided");
}
if (numConstants != null) {
constants = inputs.slice(inputs.length - numConstants, inputs.length);
constants14 = inputs.slice(inputs.length - numConstants, inputs.length);
inputs = inputs.slice(0, inputs.length - numConstants);
}
if (inputs.length > 1) {
@ -24826,10 +24826,10 @@ function standardizeArgs(inputs, initialState, constants, numConstants) {
}
}
initialState = toListOrNull(initialState);
constants = toListOrNull(constants);
return { inputs, initialState, constants };
constants14 = toListOrNull(constants14);
return { inputs, initialState, constants: constants14 };
}
function rnn(stepFunction, inputs, initialStates, goBackwards = false, mask3, constants, unroll = false, needPerStepOutputs = false) {
function rnn(stepFunction, inputs, initialStates, goBackwards = false, mask3, constants14, unroll = false, needPerStepOutputs = false) {
return tidy(() => {
const ndim = inputs.shape.length;
if (ndim < 3) {
@ -24837,7 +24837,7 @@ function rnn(stepFunction, inputs, initialStates, goBackwards = false, mask3, co
}
const axes = [1, 0].concat(range2(2, ndim));
inputs = transpose(inputs, axes);
if (constants != null) {
if (constants14 != null) {
throw new NotImplementedError("The rnn() functoin of the deeplearn.js backend does not support constants yet.");
}
if (unroll) {
@ -25077,14 +25077,14 @@ var _RNN = class extends Layer {
}
apply(inputs, kwargs) {
let initialState = kwargs == null ? null : kwargs["initialState"];
let constants = kwargs == null ? null : kwargs["constants"];
let constants14 = kwargs == null ? null : kwargs["constants"];
if (kwargs == null) {
kwargs = {};
}
const standardized = standardizeArgs(inputs, initialState, constants, this.numConstants);
const standardized = standardizeArgs(inputs, initialState, constants14, this.numConstants);
inputs = standardized.inputs;
initialState = standardized.initialState;
constants = standardized.constants;
constants14 = standardized.constants;
let additionalInputs = [];
let additionalSpecs = [];
if (initialState != null) {
@ -25096,10 +25096,10 @@ var _RNN = class extends Layer {
}
additionalSpecs = additionalSpecs.concat(this.stateSpec);
}
if (constants != null) {
kwargs["constants"] = constants;
additionalInputs = additionalInputs.concat(constants);
this.numConstants = constants.length;
if (constants14 != null) {
kwargs["constants"] = constants14;
additionalInputs = additionalInputs.concat(constants14);
this.numConstants = constants14.length;
}
const isTensor = additionalInputs[0] instanceof SymbolicTensor;
if (isTensor) {
@ -28198,19 +28198,19 @@ var Bidirectional = class extends Wrapper {
}
apply(inputs, kwargs) {
let initialState = kwargs == null ? null : kwargs["initialState"];
let constants = kwargs == null ? null : kwargs["constants"];
let constants14 = kwargs == null ? null : kwargs["constants"];
if (kwargs == null) {
kwargs = {};
}
const standardized = standardizeArgs(inputs, initialState, constants, this.numConstants);
const standardized = standardizeArgs(inputs, initialState, constants14, this.numConstants);
inputs = standardized.inputs;
initialState = standardized.initialState;
constants = standardized.constants;
constants14 = standardized.constants;
if (Array.isArray(inputs)) {
initialState = inputs.slice(1);
inputs = inputs[0];
}
if ((initialState == null || initialState.length === 0) && constants == null) {
if ((initialState == null || initialState.length === 0) && constants14 == null) {
return super.apply(inputs, kwargs);
}
const additionalInputs = [];
@ -28227,7 +28227,7 @@ var Bidirectional = class extends Wrapper {
this.backwardLayer.stateSpec = stateSpecs.slice(numStates / 2);
additionalSpecs.push(...stateSpecs);
}
if (constants != null) {
if (constants14 != null) {
throw new NotImplementedError("Support for constants in Bidirectional layers is not implemented yet.");
}
const isSymbolicTensor = additionalInputs[0] instanceof SymbolicTensor;
@ -71764,6 +71764,14 @@ async function predict(image7, config3, idx, count3) {
});
}
// src/tfjs/constants.ts
var tf255 = scalar(255, "float32");
var tf1 = scalar(1, "float32");
var tf22 = scalar(2, "float32");
var tf05 = scalar(0.5, "float32");
var tf127 = scalar(127.5, "float32");
var rgb = tensor1d([0.2989, 0.587, 0.114], "float32");
// src/gear/ssrnet-age.ts
var model3;
var last3 = [];
@ -71801,7 +71809,7 @@ async function predict2(image7, config3, idx, count3) {
return;
const t = {};
t.resize = image.resizeBilinear(image7, [model3.inputs[0].shape[2], model3.inputs[0].shape[1]], false);
t.enhance = mul(t.resize, 255);
t.enhance = mul(t.resize, tf255);
const obj = { age: 0 };
if (config3.face["ssrnet"].enabled)
t.age = model3.execute(t.enhance);
@ -71823,7 +71831,7 @@ var last4 = [];
var lastCount3 = 0;
var lastTime3 = 0;
var skipped3 = Number.MAX_SAFE_INTEGER;
var rgb = [0.2989, 0.587, 0.114];
var rgb2 = [0.2989, 0.587, 0.114];
async function load3(config3) {
if (env2.initial)
model4 = null;
@ -71855,11 +71863,11 @@ async function predict3(image7, config3, idx, count3) {
t.resize = image.resizeBilinear(image7, [model4.inputs[0].shape[2], model4.inputs[0].shape[1]], false);
t.enhance = tidy(() => {
const [red, green, blue] = split(t.resize, 3, 3);
const redNorm = mul(red, rgb[0]);
const greenNorm = mul(green, rgb[1]);
const blueNorm = mul(blue, rgb[2]);
const redNorm = mul(red, rgb2[0]);
const greenNorm = mul(green, rgb2[1]);
const blueNorm = mul(blue, rgb2[2]);
const grayscale = addN([redNorm, greenNorm, blueNorm]);
const normalize = mul(sub(grayscale, 0.5), 2);
const normalize = mul(sub(grayscale, tf05), 2);
return normalize;
});
const obj = { gender: "", genderScore: 0 };
@ -75226,7 +75234,7 @@ var cutBoxFromImageAndResize = (box4, image7, cropSize) => {
const h = image7.shape[1];
const w = image7.shape[2];
const crop2 = image.cropAndResize(image7, [[box4.startPoint[1] / h, box4.startPoint[0] / w, box4.endPoint[1] / h, box4.endPoint[0] / w]], [0], cropSize);
const norm2 = div(crop2, 255);
const norm2 = div(crop2, tf255);
dispose(crop2);
return norm2;
};
@ -75355,6 +75363,7 @@ var keypointsCount = 6;
var model6;
var anchors = null;
var inputSize = 0;
var inputSizeT = null;
var size = () => inputSize;
async function load5(config3) {
var _a, _b;
@ -75369,6 +75378,7 @@ async function load5(config3) {
} else if (config3.debug)
log("cached model:", model6["modelUrl"]);
inputSize = model6.inputs[0].shape ? model6.inputs[0].shape[2] : 0;
inputSizeT = scalar(inputSize, "int32");
anchors = tensor2d(generateAnchors(inputSize));
return model6;
}
@ -75377,13 +75387,13 @@ function decodeBounds(boxOutputs) {
t.boxStarts = slice(boxOutputs, [0, 1], [-1, 2]);
t.centers = add2(t.boxStarts, anchors);
t.boxSizes = slice(boxOutputs, [0, 3], [-1, 2]);
t.boxSizesNormalized = div(t.boxSizes, inputSize);
t.centersNormalized = div(t.centers, inputSize);
t.halfBoxSize = div(t.boxSizesNormalized, 2);
t.boxSizesNormalized = div(t.boxSizes, inputSizeT);
t.centersNormalized = div(t.centers, inputSizeT);
t.halfBoxSize = div(t.boxSizesNormalized, tf22);
t.starts = sub(t.centersNormalized, t.halfBoxSize);
t.ends = add2(t.centersNormalized, t.halfBoxSize);
t.startNormalized = mul(t.starts, inputSize);
t.endNormalized = mul(t.ends, inputSize);
t.startNormalized = mul(t.starts, inputSizeT);
t.endNormalized = mul(t.ends, inputSizeT);
const boxes = concat2d([t.startNormalized, t.endNormalized], 1);
Object.keys(t).forEach((tensor2) => dispose(t[tensor2]));
return boxes;
@ -75394,8 +75404,8 @@ async function getBoxes(inputImage, config3) {
return { boxes: [] };
const t = {};
t.resized = image.resizeBilinear(inputImage, [inputSize, inputSize]);
t.div = div(t.resized, 127.5);
t.normalized = sub(t.div, 0.5);
t.div = div(t.resized, tf127);
t.normalized = sub(t.div, tf05);
const res = model6 == null ? void 0 : model6.execute(t.normalized);
if (Array.isArray(res)) {
const sorted = res.sort((a, b) => a.size - b.size);
@ -75563,7 +75573,7 @@ async function prepareImage(input2) {
];
t.pad = pad(input2, padding);
t.resize = image.resizeBilinear(t.pad, [inputSize2[1][0], inputSize2[1][1]]);
const final = div(t.resize, 255);
const final = div(t.resize, tf255);
Object.keys(t).forEach((tensor2) => dispose(t[tensor2]));
return final;
}
@ -75858,19 +75868,22 @@ async function load7(config3) {
log("cached model:", model8["modelUrl"]);
return model8;
}
function max2d(inputs, minScore) {
async function max2d(inputs, minScore) {
const [width, height] = inputs.shape;
return tidy(() => {
const reshaped = reshape(inputs, [height * width]);
const newScore = max(reshaped, 0).dataSync()[0];
const max7 = max(reshaped, 0);
const newScore = (await max7.data())[0];
dispose([reshaped, max7]);
if (newScore > minScore) {
const coordinates = argMax(reshaped, 0);
const x = mod(coordinates, width).dataSync()[0];
const y = div(coordinates, scalar(width, "int32")).dataSync()[0];
const mod4 = mod(coordinates, width);
const x = (await mod4.data())[0];
const div3 = div(coordinates, scalar(width, "int32"));
const y = (await div3.data())[0];
dispose([mod4, div3]);
return [x, y, newScore];
}
return [0, 0, newScore];
});
}
async function predict7(image7, config3) {
const skipTime = (config3.body.skipTime || 0) > now() - lastTime7;
@ -75886,8 +75899,8 @@ async function predict7(image7, config3) {
if (!(model8 == null ? void 0 : model8.inputs[0].shape))
return null;
const resize = image.resizeBilinear(image7, [model8.inputs[0].shape[2], model8.inputs[0].shape[1]], false);
const enhance3 = mul(resize, 2);
const norm2 = enhance3.sub(1);
const enhance3 = mul(resize, tf22);
const norm2 = sub(enhance3, tf1);
return norm2;
});
let resT;
@ -75902,7 +75915,7 @@ async function predict7(image7, config3) {
const stack2 = squeeze2.unstack(2);
dispose(squeeze2);
for (let id = 0; id < stack2.length; id++) {
const [x2, y2, partScore] = max2d(stack2[id], config3.body.minConfidence);
const [x2, y2, partScore] = await max2d(stack2[id], config3.body.minConfidence);
if (partScore > (((_a = config3.body) == null ? void 0 : _a.minConfidence) || 0)) {
cache2.keypoints.push({
score: Math.round(100 * partScore) / 100,
@ -75958,7 +75971,6 @@ var last6 = [];
var lastCount5 = 0;
var lastTime8 = 0;
var skipped8 = Number.MAX_SAFE_INTEGER;
var rgb2 = [0.2989, 0.587, 0.114];
async function load8(config3) {
var _a, _b;
if (env2.initial)
@ -75991,13 +76003,10 @@ async function predict8(image7, config3, idx, count3) {
const t = {};
const inputSize8 = (model9 == null ? void 0 : model9.inputs[0].shape) ? model9.inputs[0].shape[2] : 0;
t.resize = image.resizeBilinear(image7, [inputSize8, inputSize8], false);
[t.red, t.green, t.blue] = split(t.resize, 3, 3);
t.redNorm = mul(t.red, rgb2[0]);
t.greenNorm = mul(t.green, rgb2[1]);
t.blueNorm = mul(t.blue, rgb2[2]);
t.grayscale = addN([t.redNorm, t.greenNorm, t.blueNorm]);
t.grayscaleSub = sub(t.grayscale, 0.5);
t.grayscaleMul = mul(t.grayscaleSub, 2);
t.channels = mul(t.resize, rgb);
t.grayscale = sum2(t.channels, 3, true);
t.grayscaleSub = sub(t.grayscale, tf05);
t.grayscaleMul = mul(t.grayscaleSub, tf22);
t.emotion = model9 == null ? void 0 : model9.execute(t.grayscaleMul);
lastTime8 = now();
const data = await t.emotion.data();
@ -76305,8 +76314,6 @@ async function load11(config3) {
} else if (config3.debug)
log("cached model:", model12["modelUrl"]);
inputSize5 = model12.inputs[0].shape ? model12.inputs[0].shape[2] : 0;
if (inputSize5 === -1)
inputSize5 = 64;
return model12;
}
var triangulation = TRI468;
@ -76338,7 +76345,7 @@ function enhance2(input2) {
if (!(model13 == null ? void 0 : model13.inputs[0].shape))
return tensor2;
const crop2 = image.resizeBilinear(tensor2, [model13.inputs[0].shape[2], model13.inputs[0].shape[1]], false);
const norm2 = mul(crop2, 255);
const norm2 = mul(crop2, tf255);
dispose(crop2);
return norm2;
}
@ -79493,8 +79500,8 @@ var HandDetector = class {
async predict(input2, config3) {
const t = {};
t.resize = image.resizeBilinear(input2, [this.inputSize, this.inputSize]);
t.div = div(t.resize, 127.5);
t.image = sub(t.div, 1);
t.div = div(t.resize, tf127);
t.image = sub(t.div, tf1);
t.batched = this.model.execute(t.image);
t.predictions = squeeze(t.batched);
t.slice = slice(t.predictions, [0, 0], [-1, 1]);
@ -79624,7 +79631,7 @@ var HandPipeline = class {
const rotationMatrix = buildRotationMatrix2(-angle, palmCenter);
const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;
const croppedInput = cutBoxFromImageAndResize2(newBox, rotatedImage, [this.inputSize, this.inputSize]);
const handImage = div(croppedInput, 255);
const handImage = div(croppedInput, tf255);
dispose(croppedInput);
dispose(rotatedImage);
const [confidenceT, keypoints] = this.handPoseModel.execute(handImage);
@ -80331,8 +80338,7 @@ async function detectFingers(input2, h, config3) {
if (input2 && models2[1] && config3.hand.landmarks && h.score > (config3.hand.minConfidence || 0)) {
const t = {};
t.crop = image.cropAndResize(input2, [h.boxCrop], [0], [inputSize6[1][0], inputSize6[1][1]], "bilinear");
t.cast = cast(t.crop, "float32");
t.div = div(t.cast, 255);
t.div = div(t.crop, tf255);
[t.score, t.keypoints] = models2[1].execute(t.div, ["Identity_1", "Identity"]);
const rawScore = (await t.score.data())[0];
const score = (100 - Math.trunc(100 / (1 + Math.exp(rawScore)))) / 100;
@ -80622,21 +80628,16 @@ async function load15(config3) {
} else if (config3.debug)
log("cached model:", model15["modelUrl"]);
inputSize7 = model15.inputs[0].shape ? model15.inputs[0].shape[2] : 0;
if (inputSize7 === -1)
inputSize7 = 256;
return model15;
}
async function parseSinglePose(res, config3, image7, inputBox) {
async function parseSinglePose(res, config3, image7) {
const kpt4 = res[0][0];
const keypoints = [];
let score = 0;
for (let id = 0; id < kpt4.length; id++) {
score = kpt4[id][2];
if (score > config3.body.minConfidence) {
const positionRaw = [
(inputBox[3] - inputBox[1]) * kpt4[id][1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt4[id][0] + inputBox[0]
];
const positionRaw = [kpt4[id][1], kpt4[id][0]];
keypoints.push({
score: Math.round(100 * score) / 100,
part: kpt3[id],
@ -80667,7 +80668,7 @@ async function parseSinglePose(res, config3, image7, inputBox) {
bodies.push(body4);
return bodies;
}
async function parseMultiPose(res, config3, image7, inputBox) {
async function parseMultiPose(res, config3, image7) {
const bodies = [];
for (let id = 0; id < res[0].length; id++) {
const kpt4 = res[0][id];
@ -80677,10 +80678,7 @@ async function parseMultiPose(res, config3, image7, inputBox) {
for (let i = 0; i < 17; i++) {
const score = kpt4[3 * i + 2];
if (score > config3.body.minConfidence) {
const positionRaw = [
(inputBox[3] - inputBox[1]) * kpt4[3 * i + 1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt4[3 * i + 0] + inputBox[0]
];
const positionRaw = [kpt4[3 * i + 1], kpt4[3 * i + 0]];
keypoints.push({
part: kpt3[i],
score: Math.round(100 * score) / 100,
@ -80729,7 +80727,7 @@ async function predict15(input2, config3) {
t.res = model15 == null ? void 0 : model15.execute(t.input);
cache5.last = now();
const res = await t.res.array();
cache5.bodies = t.res.shape[2] === 17 ? await parseSinglePose(res, config3, input2, [0, 0, 1, 1]) : await parseMultiPose(res, config3, input2, [0, 0, 1, 1]);
cache5.bodies = t.res.shape[2] === 17 ? await parseSinglePose(res, config3, input2) : await parseMultiPose(res, config3, input2);
for (const body4 of cache5.bodies) {
rescaleBody(body4, [input2.shape[2] || 1, input2.shape[1] || 1]);
jitter(body4.keypoints);
@ -80832,7 +80830,7 @@ async function predict16(image7, config3) {
return new Promise(async (resolve) => {
const outputSize2 = [image7.shape[2], image7.shape[1]];
const resize = image.resizeBilinear(image7, [model16.inputSize, model16.inputSize], false);
const norm2 = div(resize, 255);
const norm2 = div(resize, tf255);
const transpose6 = norm2.transpose([0, 3, 1, 2]);
dispose(norm2);
dispose(resize);
@ -81216,7 +81214,7 @@ async function process5(input2, background, config3) {
const t = {};
t.resize = image.resizeBilinear(inputImage.tensor, [model18.inputs[0].shape ? model18.inputs[0].shape[1] : 0, model18.inputs[0].shape ? model18.inputs[0].shape[2] : 0], false);
dispose(inputImage.tensor);
t.norm = div(t.resize, 255);
t.norm = div(t.resize, tf255);
t.res = model18.execute(t.norm);
t.squeeze = squeeze(t.res, 0);
if (t.squeeze.shape[2] === 2) {

File diff suppressed because one or more lines are too long

748
dist/human.js vendored

File diff suppressed because one or more lines are too long

713
dist/human.node-gpu.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

713
dist/human.node.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,7 @@
*/
import * as tf from '../../dist/tfjs.esm.js';
import * as constants from '../tfjs/constants';
import { log, join, now } from '../util/util';
import type { BodyKeypoint, BodyResult, Box, Point } from '../result';
import type { GraphModel, Tensor } from '../tfjs/types';
@ -71,7 +72,7 @@ async function prepareImage(input: Tensor): Promise<Tensor> {
];
t.pad = tf.pad(input, padding);
t.resize = tf.image.resizeBilinear(t.pad, [inputSize[1][0], inputSize[1][1]]);
const final = tf.div(t.resize, 255);
const final = tf.div(t.resize, constants.tf255);
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
return final;
}

View File

@ -7,6 +7,7 @@
import { log, join, now } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js';
import * as coords from './efficientposecoords';
import * as constants from '../tfjs/constants';
import type { BodyResult, Point } from '../result';
import type { GraphModel, Tensor } from '../tfjs/types';
import type { Config } from '../config';
@ -33,19 +34,22 @@ export async function load(config: Config): Promise<GraphModel> {
}
// performs argmax and max functions on a 2d tensor
function max2d(inputs, minScore) {
async function max2d(inputs, minScore) {
const [width, height] = inputs.shape;
return tf.tidy(() => {
const reshaped = tf.reshape(inputs, [height * width]); // combine all data
const newScore = tf.max(reshaped, 0).dataSync()[0]; // get highest score // inside tf.tidy
const max = tf.max(reshaped, 0);
const newScore = (await max.data())[0]; // get highest score
tf.dispose([reshaped, max]);
if (newScore > minScore) { // skip coordinate calculation is score is too low
const coordinates = tf.argMax(reshaped, 0);
const x = tf.mod(coordinates, width).dataSync()[0]; // inside tf.tidy
const y = tf.div(coordinates, tf.scalar(width, 'int32')).dataSync()[0]; // inside tf.tidy
const mod = tf.mod(coordinates, width);
const x = (await mod.data())[0];
const div = tf.div(coordinates, tf.scalar(width, 'int32'));
const y = (await div.data())[0];
tf.dispose([mod, div]);
return [x, y, newScore];
}
return [0, 0, newScore];
});
}
export async function predict(image: Tensor, config: Config): Promise<BodyResult[]> {
@ -60,8 +64,8 @@ export async function predict(image: Tensor, config: Config): Promise<BodyResult
const tensor = tf.tidy(() => {
if (!model?.inputs[0].shape) return null;
const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
const enhance = tf.mul(resize, 2);
const norm = enhance.sub(1);
const enhance = tf.mul(resize, constants.tf2);
const norm = tf.sub(enhance, constants.tf1);
return norm;
});
@ -80,7 +84,7 @@ export async function predict(image: Tensor, config: Config): Promise<BodyResult
// process each unstacked tensor as a separate body part
for (let id = 0; id < stack.length; id++) {
// actual processing to get coordinates and score
const [x, y, partScore] = max2d(stack[id], config.body.minConfidence);
const [x, y, partScore] = await max2d(stack[id], config.body.minConfidence);
if (partScore > (config.body?.minConfidence || 0)) {
cache.keypoints.push({
score: Math.round(100 * partScore) / 100,

View File

@ -39,21 +39,17 @@ export async function load(config: Config): Promise<GraphModel> {
else if (config.debug) log('load model:', model['modelUrl']);
} else if (config.debug) log('cached model:', model['modelUrl']);
inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0;
if (inputSize === -1) inputSize = 256;
return model;
}
async function parseSinglePose(res, config, image, inputBox) {
async function parseSinglePose(res, config, image) {
const kpt = res[0][0];
const keypoints: Array<BodyKeypoint> = [];
let score = 0;
for (let id = 0; id < kpt.length; id++) {
score = kpt[id][2];
if (score > config.body.minConfidence) {
const positionRaw: Point = [
(inputBox[3] - inputBox[1]) * kpt[id][1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt[id][0] + inputBox[0],
];
const positionRaw: Point = [kpt[id][1], kpt[id][0]];
keypoints.push({
score: Math.round(100 * score) / 100,
part: coords.kpt[id],
@ -84,7 +80,7 @@ async function parseSinglePose(res, config, image, inputBox) {
return bodies;
}
async function parseMultiPose(res, config, image, inputBox) {
async function parseMultiPose(res, config, image) {
const bodies: Array<BodyResult> = [];
for (let id = 0; id < res[0].length; id++) {
const kpt = res[0][id];
@ -94,10 +90,7 @@ async function parseMultiPose(res, config, image, inputBox) {
for (let i = 0; i < 17; i++) {
const score = kpt[3 * i + 2];
if (score > config.body.minConfidence) {
const positionRaw: Point = [
(inputBox[3] - inputBox[1]) * kpt[3 * i + 1] + inputBox[1],
(inputBox[2] - inputBox[0]) * kpt[3 * i + 0] + inputBox[0],
];
const positionRaw: Point = [kpt[3 * i + 1], kpt[3 * i + 0]];
keypoints.push({
part: coords.kpt[i],
score: Math.round(100 * score) / 100,
@ -181,8 +174,8 @@ export async function predict(input: Tensor, config: Config): Promise<BodyResult
cache.last = now();
const res = await t.res.array();
cache.bodies = (t.res.shape[2] === 17)
? await parseSinglePose(res, config, input, [0, 0, 1, 1])
: await parseMultiPose(res, config, input, [0, 0, 1, 1]);
? await parseSinglePose(res, config, input)
: await parseMultiPose(res, config, input);
for (const body of cache.bodies) {
fix.rescaleBody(body, [input.shape[2] || 1, input.shape[1] || 1]);
fix.jitter(body.keypoints);

View File

@ -6,6 +6,7 @@
import { log, join } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js';
import * as util from './facemeshutil';
import * as constants from '../tfjs/constants';
import type { Config } from '../config';
import type { Tensor, GraphModel } from '../tfjs/types';
import { env } from '../util/env';
@ -15,6 +16,7 @@ const keypointsCount = 6;
let model: GraphModel | null;
let anchors: Tensor | null = null;
let inputSize = 0;
let inputSizeT: Tensor | null = null;
export const size = () => inputSize;
@ -26,7 +28,8 @@ export async function load(config: Config): Promise<GraphModel> {
else if (config.debug) log('load model:', model['modelUrl']);
} else if (config.debug) log('cached model:', model['modelUrl']);
inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0;
anchors = tf.tensor2d(util.generateAnchors(inputSize));
inputSizeT = tf.scalar(inputSize, 'int32') as Tensor;
anchors = tf.tensor2d(util.generateAnchors(inputSize)) as Tensor;
return model;
}
@ -35,13 +38,13 @@ function decodeBounds(boxOutputs) {
t.boxStarts = tf.slice(boxOutputs, [0, 1], [-1, 2]);
t.centers = tf.add(t.boxStarts, anchors);
t.boxSizes = tf.slice(boxOutputs, [0, 3], [-1, 2]);
t.boxSizesNormalized = tf.div(t.boxSizes, inputSize);
t.centersNormalized = tf.div(t.centers, inputSize);
t.halfBoxSize = tf.div(t.boxSizesNormalized, 2);
t.boxSizesNormalized = tf.div(t.boxSizes, inputSizeT);
t.centersNormalized = tf.div(t.centers, inputSizeT);
t.halfBoxSize = tf.div(t.boxSizesNormalized, constants.tf2);
t.starts = tf.sub(t.centersNormalized, t.halfBoxSize);
t.ends = tf.add(t.centersNormalized, t.halfBoxSize);
t.startNormalized = tf.mul(t.starts, inputSize);
t.endNormalized = tf.mul(t.ends, inputSize);
t.startNormalized = tf.mul(t.starts, inputSizeT);
t.endNormalized = tf.mul(t.ends, inputSizeT);
const boxes = tf.concat2d([t.startNormalized, t.endNormalized], 1);
Object.keys(t).forEach((tensor) => tf.dispose(t[tensor]));
return boxes;
@ -53,8 +56,8 @@ export async function getBoxes(inputImage: Tensor, config: Config) {
const t: Record<string, Tensor> = {};
t.resized = tf.image.resizeBilinear(inputImage, [inputSize, inputSize]);
t.div = tf.div(t.resized, 127.5);
t.normalized = tf.sub(t.div, 0.5);
t.div = tf.div(t.resized, constants.tf127);
t.normalized = tf.sub(t.div, constants.tf05);
const res = model?.execute(t.normalized) as Tensor[];
if (Array.isArray(res)) { // are we using tfhub or pinto converted model?
const sorted = res.sort((a, b) => a.size - b.size);

View File

@ -126,7 +126,6 @@ export async function load(config: Config): Promise<GraphModel> {
else if (config.debug) log('load model:', model['modelUrl']);
} else if (config.debug) log('cached model:', model['modelUrl']);
inputSize = model.inputs[0].shape ? model.inputs[0].shape[2] : 0;
if (inputSize === -1) inputSize = 64;
return model;
}

View File

@ -5,6 +5,7 @@
import * as tf from '../../dist/tfjs.esm.js';
import * as coords from './facemeshcoords';
import * as constants from '../tfjs/constants';
import type { Box, Point } from '../result';
import { env } from '../util/env';
@ -40,7 +41,7 @@ export const cutBoxFromImageAndResize = (box, image, cropSize) => {
const h = image.shape[1];
const w = image.shape[2];
const crop = tf.image.cropAndResize(image, [[box.startPoint[1] / h, box.startPoint[0] / w, box.endPoint[1] / h, box.endPoint[0] / w]], [0], cropSize);
const norm = tf.div(crop, 255);
const norm = tf.div(crop, constants.tf255);
tf.dispose(crop);
return norm;
};

View File

@ -8,10 +8,11 @@
*/
import { log, join, now } from '../util/util';
import { env } from '../util/env';
import * as tf from '../../dist/tfjs.esm.js';
import * as constants from '../tfjs/constants';
import type { Tensor, GraphModel } from '../tfjs/types';
import type { Config } from '../config';
import { env } from '../util/env';
let model: GraphModel | null;
const last: Array<{
@ -40,7 +41,7 @@ export function enhance(input): Tensor {
const tensor = (input.image || input.tensor || input) as Tensor; // input received from detector is already normalized to 0..1, input is also assumed to be straightened
if (!model?.inputs[0].shape) return tensor; // model has no shape so no point continuing
const crop = tf.image.resizeBilinear(tensor, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
const norm = tf.mul(crop, 255);
const norm = tf.mul(crop, constants.tf255);
tf.dispose(crop);
return norm;
/*

View File

@ -9,6 +9,7 @@ import type { Config } from '../config';
import type { GraphModel, Tensor } from '../tfjs/types';
import * as tf from '../../dist/tfjs.esm.js';
import { env } from '../util/env';
import * as constants from '../tfjs/constants';
const annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];
let model: GraphModel | null;
@ -17,9 +18,6 @@ let lastCount = 0;
let lastTime = 0;
let skipped = Number.MAX_SAFE_INTEGER;
// tuning values
const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale
export async function load(config: Config): Promise<GraphModel> {
if (env.initial) model = null;
if (!model) {
@ -47,14 +45,16 @@ export async function predict(image: Tensor, config: Config, idx, count): Promis
t.resize = tf.image.resizeBilinear(image, [inputSize, inputSize], false);
// const box = [[0.15, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right
// const resize = tf.image.cropAndResize(image, box, [0], [inputSize, inputSize]);
[t.red, t.green, t.blue] = tf.split(t.resize, 3, 3);
// [t.red, t.green, t.blue] = tf.split(t.resize, 3, 3);
// weighted rgb to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html
t.redNorm = tf.mul(t.red, rgb[0]);
t.greenNorm = tf.mul(t.green, rgb[1]);
t.blueNorm = tf.mul(t.blue, rgb[2]);
t.grayscale = tf.addN([t.redNorm, t.greenNorm, t.blueNorm]);
t.grayscaleSub = tf.sub(t.grayscale, 0.5);
t.grayscaleMul = tf.mul(t.grayscaleSub, 2);
// t.redNorm = tf.mul(t.red, rgb[0]);
// t.greenNorm = tf.mul(t.green, rgb[1]);
// t.blueNorm = tf.mul(t.blue, rgb[2]);
// t.grayscale = tf.addN([t.redNorm, t.greenNorm, t.blueNorm]);
t.channels = tf.mul(t.resize, constants.rgb);
t.grayscale = tf.sum(t.channels, 3, true);
t.grayscaleSub = tf.sub(t.grayscale, constants.tf05);
t.grayscaleMul = tf.mul(t.grayscaleSub, constants.tf2);
t.emotion = model?.execute(t.grayscaleMul) as Tensor; // result is already in range 0..1, no need for additional activation
lastTime = now();
const data = await t.emotion.data();

View File

@ -6,9 +6,10 @@
import { log, join, now } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js';
import { env } from '../util/env';
import * as constants from '../tfjs/constants';
import type { Config } from '../config';
import type { GraphModel, Tensor } from '../tfjs/types';
import { env } from '../util/env';
let model: GraphModel | null;
const last: Array<{ age: number }> = [];
@ -43,7 +44,7 @@ export async function predict(image: Tensor, config: Config, idx, count): Promis
if (!model?.inputs || !model.inputs[0] || !model.inputs[0].shape) return;
const t: Record<string, Tensor> = {};
t.resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);
t.enhance = tf.mul(t.resize, 255);
t.enhance = tf.mul(t.resize, constants.tf255);
const obj = { age: 0 };
if (config.face['ssrnet'].enabled) t.age = model.execute(t.enhance) as Tensor;
if (t.age) {

View File

@ -6,6 +6,7 @@
import { log, join, now } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js';
import * as constants from '../tfjs/constants';
import type { Config } from '../config';
import type { GraphModel, Tensor } from '../tfjs/types';
import { env } from '../util/env';
@ -50,7 +51,7 @@ export async function predict(image: Tensor, config: Config, idx, count): Promis
const greenNorm = tf.mul(green, rgb[1]);
const blueNorm = tf.mul(blue, rgb[2]);
const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);
const normalize = tf.mul(tf.sub(grayscale, 0.5), 2); // range grayscale:-1..1
const normalize = tf.mul(tf.sub(grayscale, constants.tf05), 2); // range grayscale:-1..1
return normalize;
});
const obj = { gender: '', genderScore: 0 };

View File

@ -6,6 +6,7 @@
import * as tf from '../../dist/tfjs.esm.js';
import * as util from './handposeutil';
import * as anchors from './handposeanchors';
import * as constants from '../tfjs/constants';
import type { Tensor, GraphModel } from '../tfjs/types';
import type { Point } from '../result';
@ -55,8 +56,8 @@ export class HandDetector {
async predict(input, config): Promise<{ startPoint: Point; endPoint: Point, palmLandmarks: Point[]; confidence: number }[]> {
const t: Record<string, Tensor> = {};
t.resize = tf.image.resizeBilinear(input, [this.inputSize, this.inputSize]);
t.div = tf.div(t.resize, 127.5);
t.image = tf.sub(t.div, 1);
t.div = tf.div(t.resize, constants.tf127);
t.image = tf.sub(t.div, constants.tf1);
t.batched = this.model.execute(t.image) as Tensor;
t.predictions = tf.squeeze(t.batched);
t.slice = tf.slice(t.predictions, [0, 0], [-1, 1]);

View File

@ -6,6 +6,7 @@
import * as tf from '../../dist/tfjs.esm.js';
import * as util from './handposeutil';
import type * as detector from './handposedetector';
import * as constants from '../tfjs/constants';
import type { Tensor, GraphModel } from '../tfjs/types';
import { env } from '../util/env';
import { now } from '../util/util';
@ -120,7 +121,7 @@ export class HandPipeline {
const rotationMatrix = util.buildRotationMatrix(-angle, palmCenter);
const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;
const croppedInput = util.cutBoxFromImageAndResize(newBox, rotatedImage, [this.inputSize, this.inputSize]);
const handImage = tf.div(croppedInput, 255);
const handImage = tf.div(croppedInput, constants.tf255);
tf.dispose(croppedInput);
tf.dispose(rotatedImage);
const [confidenceT, keypoints] = this.handPoseModel.execute(handImage) as Array<Tensor>;

View File

@ -15,6 +15,7 @@ import type { Config } from '../config';
import { env } from '../util/env';
import * as fingerPose from './fingerpose';
import { fakeOps } from '../tfjs/backend';
import * as constants from '../tfjs/constants';
const models: [GraphModel | null, GraphModel | null] = [null, null];
const modelOutputNodes = ['StatefulPartitionedCall/Postprocessor/Slice', 'StatefulPartitionedCall/Postprocessor/ExpandDims_1'];
@ -154,8 +155,7 @@ async function detectFingers(input: Tensor, h: HandDetectResult, config: Config)
if (input && models[1] && config.hand.landmarks && h.score > (config.hand.minConfidence || 0)) {
const t: Record<string, Tensor> = {};
t.crop = tf.image.cropAndResize(input, [h.boxCrop], [0], [inputSize[1][0], inputSize[1][1]], 'bilinear');
t.cast = tf.cast(t.crop, 'float32');
t.div = tf.div(t.cast, 255);
t.div = tf.div(t.crop, constants.tf255);
[t.score, t.keypoints] = models[1].execute(t.div, ['Identity_1', 'Identity']) as Tensor[];
const rawScore = (await t.score.data())[0];
const score = (100 - Math.trunc(100 / (1 + Math.exp(rawScore)))) / 100; // reverse sigmoid value

View File

@ -6,6 +6,7 @@
import { log, join, now } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js';
import * as constants from '../tfjs/constants';
import { labels } from './labels';
import type { ObjectResult, Box } from '../result';
import type { GraphModel, Tensor } from '../tfjs/types';
@ -117,7 +118,7 @@ export async function predict(image: Tensor, config: Config): Promise<ObjectResu
return new Promise(async (resolve) => {
const outputSize = [image.shape[2], image.shape[1]];
const resize = tf.image.resizeBilinear(image, [model.inputSize, model.inputSize], false);
const norm = tf.div(resize, 255);
const norm = tf.div(resize, constants.tf255);
const transpose = norm.transpose([0, 3, 1, 2]);
tf.dispose(norm);
tf.dispose(resize);

View File

@ -9,6 +9,7 @@
import { log, join } from '../util/util';
import * as tf from '../../dist/tfjs.esm.js';
import * as image from '../image/image';
import * as constants from '../tfjs/constants';
import type { GraphModel, Tensor } from '../tfjs/types';
import type { Config } from '../config';
import { env } from '../util/env';
@ -39,7 +40,7 @@ export async function process(input: Input, background: Input | undefined, confi
t.resize = tf.image.resizeBilinear(inputImage.tensor, [model.inputs[0].shape ? model.inputs[0].shape[1] : 0, model.inputs[0].shape ? model.inputs[0].shape[2] : 0], false);
tf.dispose(inputImage.tensor);
t.norm = tf.div(t.resize, 255);
t.norm = tf.div(t.resize, constants.tf255);
t.res = model.execute(t.norm) as Tensor;
t.squeeze = tf.squeeze(t.res, 0); // meet.shape:[1,256,256,1], selfie.shape:[1,144,256,2]

9
src/tfjs/constants.ts Normal file
View File

@ -0,0 +1,9 @@
import * as tf from '../../dist/tfjs.esm.js';
import type { Tensor } from './types';
export const tf255: Tensor = tf.scalar(255, 'float32');
export const tf1: Tensor = tf.scalar(1, 'float32');
export const tf2: Tensor = tf.scalar(2, 'float32');
export const tf05: Tensor = tf.scalar(0.5, 'float32');
export const tf127: Tensor = tf.scalar(127.5, 'float32');
export const rgb: Tensor = tf.tensor1d([0.2989, 0.5870, 0.1140], 'float32'); // factors for red/green/blue colors when converting to grayscale

View File

@ -24,3 +24,771 @@
2021-11-16 12:52:49 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":92,"errors":0,"warnings":0}
2021-11-16 12:52:50 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-11-16 12:52:50 INFO:  Done...
2021-11-16 17:38:28 INFO:  @vladmandic/human version 2.5.2
2021-11-16 17:38:28 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.0.1
2021-11-16 17:38:28 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.2"}
2021-11-16 17:38:28 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-11-16 17:38:28 INFO:  Toolchain: {"build":"0.6.4","esbuild":"0.13.13","typescript":"4.4.4","typedoc":"0.22.9","eslint":"8.2.0"}
2021-11-16 17:38:28 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]}
2021-11-16 17:38:28 STATE: WebServer: {"ssl":false,"port":10030,"root":"."}
2021-11-16 17:38:28 STATE: WebServer: {"ssl":true,"port":10031,"root":".","sslKey":"node_modules/@vladmandic/build/cert/https.key","sslCrt":"node_modules/@vladmandic/build/cert/https.crt"}
2021-11-16 17:38:28 STATE: Watch: {"locations":["src/**","README.md","src/**/*","tfjs/**/*","demo/**/*.ts"]}
2021-11-16 17:38:28 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:38:28 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545971,"outputBytes":462761}
2021-11-16 17:38:28 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:38:28 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545979,"outputBytes":462765}
2021-11-16 17:38:28 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:38:28 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546046,"outputBytes":462837}
2021-11-16 17:38:28 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:38:28 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:38:28 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545608,"outputBytes":464956}
2021-11-16 17:38:29 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:38:29 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042476,"outputBytes":1623976}
2021-11-16 17:38:30 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042476,"outputBytes":2968092}
2021-11-16 17:38:30 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:38:30 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:38:30 INFO:  Listening...
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2968092,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815308,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:38:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:42:39 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"}
2021-11-16 17:42:39 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:42:39 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545806,"outputBytes":462597}
2021-11-16 17:42:39 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:42:39 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545814,"outputBytes":462601}
2021-11-16 17:42:39 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:42:39 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545881,"outputBytes":462673}
2021-11-16 17:42:39 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:42:39 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:42:39 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545443,"outputBytes":464792}
2021-11-16 17:42:40 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:42:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042311,"outputBytes":1623916}
2021-11-16 17:42:41 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042311,"outputBytes":2967926}
2021-11-16 17:42:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:42:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:42:53 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"}
2021-11-16 17:42:53 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:42:53 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545820,"outputBytes":462611}
2021-11-16 17:42:53 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:42:53 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545828,"outputBytes":462615}
2021-11-16 17:42:53 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:42:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545895,"outputBytes":462687}
2021-11-16 17:42:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:42:54 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:42:54 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545457,"outputBytes":464806}
2021-11-16 17:42:54 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:42:54 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042325,"outputBytes":1623920}
2021-11-16 17:42:55 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042325,"outputBytes":2967942}
2021-11-16 17:42:55 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:42:55 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:43:14 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"}
2021-11-16 17:43:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:43:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545685,"outputBytes":462477}
2021-11-16 17:43: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":110,"outputBytes":1283}
2021-11-16 17:43:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545693,"outputBytes":462481}
2021-11-16 17:43: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":149,"outputBytes":1350}
2021-11-16 17:43:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545760,"outputBytes":462553}
2021-11-16 17:43:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:43: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":2326,"outputBytes":912}
2021-11-16 17:43:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545322,"outputBytes":464672}
2021-11-16 17:43:15 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:43:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042190,"outputBytes":1623884}
2021-11-16 17:43:16 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042190,"outputBytes":2967808}
2021-11-16 17:43:16 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:43:16 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:45:03 INFO:  Watch: {"event":"modify","input":"src/face/faceres.ts"}
2021-11-16 17:45:03 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:45:03 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545745,"outputBytes":462477}
2021-11-16 17:45:03 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:45:03 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545753,"outputBytes":462481}
2021-11-16 17:45:03 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:45:03 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545820,"outputBytes":462553}
2021-11-16 17:45:03 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:45:03 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:45:03 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545382,"outputBytes":464674}
2021-11-16 17:45:04 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:45:04 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042250,"outputBytes":1623883}
2021-11-16 17:45:04 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042250,"outputBytes":2967810}
2021-11-16 17:45:04 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:45:04 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:47:41 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2021-11-16 17:47:41 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:47:41 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545850,"outputBytes":462553}
2021-11-16 17:47:41 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:47:41 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545858,"outputBytes":462557}
2021-11-16 17:47:41 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:47:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545925,"outputBytes":462629}
2021-11-16 17:47:41 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:47:41 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:47:41 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545487,"outputBytes":464774}
2021-11-16 17:47:41 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:47:42 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042355,"outputBytes":1623922}
2021-11-16 17:47:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042355,"outputBytes":2967876}
2021-11-16 17:47:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:47:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:48:24 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:48:24 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:48:25 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545921,"outputBytes":462557}
2021-11-16 17:48:25 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:48:25 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545929,"outputBytes":462561}
2021-11-16 17:48:25 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:48:25 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545996,"outputBytes":462633}
2021-11-16 17:48:25 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:48:25 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:48:25 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545558,"outputBytes":464778}
2021-11-16 17:48:25 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:48:26 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042426,"outputBytes":1623925}
2021-11-16 17:48:26 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042426,"outputBytes":2967880}
2021-11-16 17:48:26 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:48:26 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967880,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815106,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:30 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:48:31 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:35 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:50:35 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:50:35 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545994,"outputBytes":462633}
2021-11-16 17:50:35 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:50:35 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546002,"outputBytes":462637}
2021-11-16 17:50:35 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:50:35 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546069,"outputBytes":462709}
2021-11-16 17:50:35 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:50:35 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:50:35 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545631,"outputBytes":464866}
2021-11-16 17:50:35 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:50:36 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042499,"outputBytes":1623975}
2021-11-16 17:50:36 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042499,"outputBytes":2967951}
2021-11-16 17:50:36 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:50:36 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:50:43 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:50:43 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:50:43 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546005,"outputBytes":462644}
2021-11-16 17:50:43 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:50:43 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546013,"outputBytes":462648}
2021-11-16 17:50:43 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:50:43 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546080,"outputBytes":462720}
2021-11-16 17:50:43 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:50:43 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:50:43 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545642,"outputBytes":464877}
2021-11-16 17:50:44 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:50:44 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042510,"outputBytes":1623985}
2021-11-16 17:50:45 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042510,"outputBytes":2967962}
2021-11-16 17:50:45 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:50:45 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:50:52 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:52 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:52 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:52 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967962,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815269,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:50:53 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:51:30 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:51:30 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:51:30 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546033,"outputBytes":462674}
2021-11-16 17:51: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":110,"outputBytes":1283}
2021-11-16 17:51:30 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546041,"outputBytes":462678}
2021-11-16 17:51: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":149,"outputBytes":1350}
2021-11-16 17:51:30 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546108,"outputBytes":462750}
2021-11-16 17:51:30 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:51: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":2326,"outputBytes":912}
2021-11-16 17:51:30 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545670,"outputBytes":464919}
2021-11-16 17:51:31 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:51:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042538,"outputBytes":1623999}
2021-11-16 17:51:32 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042538,"outputBytes":2967988}
2021-11-16 17:51:32 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:51:32 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:51:48 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:51:48 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:51:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546033,"outputBytes":462674}
2021-11-16 17:51: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":110,"outputBytes":1283}
2021-11-16 17:51:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546041,"outputBytes":462678}
2021-11-16 17:51: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":149,"outputBytes":1350}
2021-11-16 17:51:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546108,"outputBytes":462750}
2021-11-16 17:51:48 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:51: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":2326,"outputBytes":912}
2021-11-16 17:51:48 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545670,"outputBytes":464919}
2021-11-16 17:51:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:51:49 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042538,"outputBytes":1623999}
2021-11-16 17:51:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042538,"outputBytes":2967988}
2021-11-16 17:51:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:51:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:51:54 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:51:54 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:51:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546044,"outputBytes":462685}
2021-11-16 17:51:54 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:51:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546052,"outputBytes":462689}
2021-11-16 17:51:54 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:51:54 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546119,"outputBytes":462761}
2021-11-16 17:51:54 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:51:54 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:51:54 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545681,"outputBytes":464930}
2021-11-16 17:51:55 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:51:55 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042549,"outputBytes":1624009}
2021-11-16 17:51:56 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042549,"outputBytes":2967999}
2021-11-16 17:51:56 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:51:56 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:52:05 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:05 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:05 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:05 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967999,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815360,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:06 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:47 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:52:47 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:52:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546050,"outputBytes":462691}
2021-11-16 17:52: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":110,"outputBytes":1283}
2021-11-16 17:52:47 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546058,"outputBytes":462695}
2021-11-16 17:52: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":149,"outputBytes":1350}
2021-11-16 17:52:47 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546125,"outputBytes":462767}
2021-11-16 17:52:47 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:52: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":2326,"outputBytes":912}
2021-11-16 17:52:47 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545687,"outputBytes":464936}
2021-11-16 17:52:48 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:52:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042555,"outputBytes":1624012}
2021-11-16 17:52:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042555,"outputBytes":2968005}
2021-11-16 17:52:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:52:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:52:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2968005,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815371,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:52:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:11 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:53:11 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:53:11 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546061,"outputBytes":462630}
2021-11-16 17:53:11 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:53:11 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546069,"outputBytes":462634}
2021-11-16 17:53:11 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:53:11 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546136,"outputBytes":462706}
2021-11-16 17:53:11 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:53:11 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:53:11 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545698,"outputBytes":464863}
2021-11-16 17:53:11 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:53:12 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042566,"outputBytes":1623969}
2021-11-16 17:53:12 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042566,"outputBytes":2967949}
2021-11-16 17:53:12 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:53:12 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:53:16 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:16 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:16 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:16 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967949,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815326,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:17 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:28 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:53:28 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:53:28 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546050,"outputBytes":462619}
2021-11-16 17:53:28 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:53:28 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546058,"outputBytes":462623}
2021-11-16 17:53:28 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:53:28 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546125,"outputBytes":462695}
2021-11-16 17:53:28 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:53:28 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:53:28 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545687,"outputBytes":464852}
2021-11-16 17:53:28 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:53:29 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042555,"outputBytes":1623959}
2021-11-16 17:53:30 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042555,"outputBytes":2967938}
2021-11-16 17:53:30 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:53:30 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:53:31 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:53:31 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:53:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546001,"outputBytes":462570}
2021-11-16 17:53: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":110,"outputBytes":1283}
2021-11-16 17:53:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546009,"outputBytes":462574}
2021-11-16 17:53: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":149,"outputBytes":1350}
2021-11-16 17:53:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546076,"outputBytes":462646}
2021-11-16 17:53:31 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:53: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":2326,"outputBytes":912}
2021-11-16 17:53:31 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545638,"outputBytes":464803}
2021-11-16 17:53:31 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:53:32 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042506,"outputBytes":1623918}
2021-11-16 17:53:32 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042506,"outputBytes":2967889}
2021-11-16 17:53:32 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:53:32 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967889,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815209,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:53:45 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:43 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:57:43 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:57:43 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546069,"outputBytes":462710}
2021-11-16 17:57:43 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:57:43 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546077,"outputBytes":462714}
2021-11-16 17:57:43 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:57:43 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546144,"outputBytes":462786}
2021-11-16 17:57:43 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:57:43 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:57:43 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545706,"outputBytes":464955}
2021-11-16 17:57:44 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:57:44 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042574,"outputBytes":1624032}
2021-11-16 17:57:45 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042574,"outputBytes":2968024}
2021-11-16 17:57:45 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:57:45 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2968024,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815375,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:49 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:57:50 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 17:59:14 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:59:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:59:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546027,"outputBytes":462385}
2021-11-16 17:59: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":110,"outputBytes":1283}
2021-11-16 17:59:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546035,"outputBytes":462389}
2021-11-16 17:59: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":149,"outputBytes":1350}
2021-11-16 17:59:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546102,"outputBytes":462461}
2021-11-16 17:59:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:59: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":2326,"outputBytes":912}
2021-11-16 17:59:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545664,"outputBytes":464570}
2021-11-16 17:59:15 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:59:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042532,"outputBytes":1623811}
2021-11-16 17:59:16 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042532,"outputBytes":2967724}
2021-11-16 17:59:16 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:59:16 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:59:29 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 17:59:29 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:59:29 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":545905,"outputBytes":462353}
2021-11-16 17:59:29 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 17:59:29 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":545913,"outputBytes":462357}
2021-11-16 17:59:29 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 17:59:29 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":545980,"outputBytes":462429}
2021-11-16 17:59:29 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:59:29 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 17:59:29 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545542,"outputBytes":464538}
2021-11-16 17:59:30 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:59:30 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042410,"outputBytes":1623789}
2021-11-16 17:59:31 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042410,"outputBytes":2967692}
2021-11-16 17:59:31 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:59:31 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 17:59:56 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2021-11-16 17:59:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 17:59:56 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546046,"outputBytes":462412}
2021-11-16 17:59: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":110,"outputBytes":1283}
2021-11-16 17:59:56 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546054,"outputBytes":462416}
2021-11-16 17:59: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":149,"outputBytes":1350}
2021-11-16 17:59:56 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546121,"outputBytes":462488}
2021-11-16 17:59:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 17:59: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":2326,"outputBytes":912}
2021-11-16 17:59:56 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545683,"outputBytes":464609}
2021-11-16 17:59:56 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 17:59:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042551,"outputBytes":1623825}
2021-11-16 17:59:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042551,"outputBytes":2967746}
2021-11-16 17:59:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 17:59:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:00:16 INFO:  Watch: {"event":"modify","input":"src/gear/emotion.ts"}
2021-11-16 18:00:16 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:00:16 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546056,"outputBytes":462409}
2021-11-16 18:00:16 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 18:00:16 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546064,"outputBytes":462413}
2021-11-16 18:00:16 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 18:00:16 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546131,"outputBytes":462485}
2021-11-16 18:00:16 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:00:16 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 18:00:16 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545693,"outputBytes":464606}
2021-11-16 18:00:16 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:00:17 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042561,"outputBytes":1623825}
2021-11-16 18:00:17 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042561,"outputBytes":2967743}
2021-11-16 18:00:17 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:00:17 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:00:18 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:18 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:18 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:18 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967743,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:18 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:18 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815089,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:19 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:21 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:21 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:21 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:21 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967743,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:21 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:21 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815089,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:00:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:19 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2021-11-16 18:01:19 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:01:19 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546058,"outputBytes":462411}
2021-11-16 18:01: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":110,"outputBytes":1283}
2021-11-16 18:01:19 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546066,"outputBytes":462415}
2021-11-16 18:01: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":149,"outputBytes":1350}
2021-11-16 18:01:19 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546133,"outputBytes":462487}
2021-11-16 18:01:19 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:01: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":2326,"outputBytes":912}
2021-11-16 18:01:19 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545695,"outputBytes":464608}
2021-11-16 18:01:19 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:01:20 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042563,"outputBytes":1623825}
2021-11-16 18:01:21 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042563,"outputBytes":2967745}
2021-11-16 18:01:21 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:01:21 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967745,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815091,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:01:22 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:12:14 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2021-11-16 18:12:14 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:12:14 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546116,"outputBytes":462454}
2021-11-16 18:12: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":110,"outputBytes":1283}
2021-11-16 18:12:14 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546124,"outputBytes":462458}
2021-11-16 18:12: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":149,"outputBytes":1350}
2021-11-16 18:12:14 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546191,"outputBytes":462530}
2021-11-16 18:12:14 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:12: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":2326,"outputBytes":912}
2021-11-16 18:12:14 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545753,"outputBytes":464663}
2021-11-16 18:12:15 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:12:15 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042621,"outputBytes":1623849}
2021-11-16 18:12:15 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042621,"outputBytes":2967783}
2021-11-16 18:12:15 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:12:15 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:16:56 INFO:  Watch: {"event":"modify","input":"src/face/blazeface.ts"}
2021-11-16 18:16:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:16:56 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546393,"outputBytes":462611}
2021-11-16 18:16: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":110,"outputBytes":1283}
2021-11-16 18:16:56 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546401,"outputBytes":462615}
2021-11-16 18:16: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":149,"outputBytes":1350}
2021-11-16 18:16:56 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546468,"outputBytes":462687}
2021-11-16 18:16:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:16: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":2326,"outputBytes":912}
2021-11-16 18:16:56 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546030,"outputBytes":464840}
2021-11-16 18:16:56 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:16:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042898,"outputBytes":1623903}
2021-11-16 18:16:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042898,"outputBytes":2967926}
2021-11-16 18:16:57 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:16:57 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:16:57 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts","skip":true}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967926,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815553,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:27 INFO:  Watch: {"event":"modify","input":"src/face/blazeface.ts"}
2021-11-16 18:17:27 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:17:27 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546331,"outputBytes":462558}
2021-11-16 18:17:27 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 18:17:27 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546339,"outputBytes":462562}
2021-11-16 18:17:27 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 18:17:27 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546406,"outputBytes":462634}
2021-11-16 18:17:27 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:17:27 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 18:17:27 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545968,"outputBytes":464787}
2021-11-16 18:17:28 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:17:28 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042836,"outputBytes":1623881}
2021-11-16 18:17:29 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042836,"outputBytes":2967873}
2021-11-16 18:17:29 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:17:29 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967873,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815456,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:33 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:58 INFO:  Watch: {"event":"modify","input":"src/face/blazeface.ts"}
2021-11-16 18:17:58 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:17:58 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546253,"outputBytes":462488}
2021-11-16 18:17:58 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 18:17:58 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546261,"outputBytes":462492}
2021-11-16 18:17:58 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 18:17:58 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546328,"outputBytes":462564}
2021-11-16 18:17:58 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:17:58 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 18:17:58 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545890,"outputBytes":464705}
2021-11-16 18:17:58 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:17:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042758,"outputBytes":1623858}
2021-11-16 18:17:59 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042758,"outputBytes":2967808}
2021-11-16 18:17:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:17:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:17:59 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:59 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:59 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:17:59 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967808,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815339,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:18:00 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:19:02 INFO:  Watch: {"event":"modify","input":"src/body/movenet.ts"}
2021-11-16 18:19:02 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:19:02 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546212,"outputBytes":462441}
2021-11-16 18:19:02 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 18:19:02 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546220,"outputBytes":462445}
2021-11-16 18:19:02 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 18:19:03 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546287,"outputBytes":462517}
2021-11-16 18:19:03 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:19:03 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 18:19:03 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545849,"outputBytes":464658}
2021-11-16 18:19:03 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:19:04 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042717,"outputBytes":1623840}
2021-11-16 18:19:04 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042717,"outputBytes":2967761}
2021-11-16 18:19:04 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:19:04 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:23:09 INFO:  Watch: {"event":"modify","input":"src/tfjs/constants.ts"}
2021-11-16 18:23:09 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:23:09 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546264,"outputBytes":462477}
2021-11-16 18:23:09 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 18:23:09 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546272,"outputBytes":462481}
2021-11-16 18:23:09 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 18:23:09 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546339,"outputBytes":462553}
2021-11-16 18:23:09 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:23:09 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 18:23:09 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":545901,"outputBytes":464707}
2021-11-16 18:23:10 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:23:10 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3042769,"outputBytes":1623860}
2021-11-16 18:23:11 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3042769,"outputBytes":2967793}
2021-11-16 18:23:11 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:23:11 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/gear/ssrnet-gender.ts"}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/gear/ssrnet-age.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/face/faceres.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/body/efficientpose.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/face/blazeface.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/hand/handposedetector.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/face/facemesh.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/face/facemeshutil.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/hand/handposepipeline.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/object/nanodet.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/segmentation/segmentation.ts","skip":true}
2021-11-16 18:27:39 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts","skip":true}
2021-11-16 18:27:39 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":1275}
2021-11-16 18:27:39 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546837,"outputBytes":462529}
2021-11-16 18:27:39 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-16 18:27:39 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546845,"outputBytes":462533}
2021-11-16 18:27:39 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-16 18:27:39 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":546912,"outputBytes":462605}
2021-11-16 18:27:39 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1063,"outputBytes":1652}
2021-11-16 18:27:39 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-16 18:27:39 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546474,"outputBytes":464732}
2021-11-16 18:27:40 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":307,"outputBytes":2497780}
2021-11-16 18:27:40 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3043342,"outputBytes":1623856}
2021-11-16 18:27:40 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3043342,"outputBytes":2967838}
2021-11-16 18:27:40 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5811,"outputBytes":3821}
2021-11-16 18:27:40 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15166,"outputBytes":11786}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/html","size":1953,"url":"/demo/typescript/index.html","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":3821,"url":"/demo/typescript/index.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"font/woff2","size":181500,"url":"/assets/lato-light.woff2","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"text/javascript","size":2967838,"url":"/dist/human.esm.js","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":8281,"url":"/demo/typescript/index.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4815947,"url":"/dist/human.esm.js.map","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":161813,"url":"/models/movenet-lightning.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":79038,"url":"/models/blazeface.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":71432,"url":"/models/faceres.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":17980,"url":"/models/emotion.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":122025,"url":"/models/iris.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":89289,"url":"/models/facemesh.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":602812,"url":"/models/handtrack.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/json","size":82231,"url":"/models/handlandmark-full.json","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"image/x-icon","size":261950,"url":"/favicon.ico","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":4650216,"url":"/models/movenet-lightning.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":538928,"url":"/models/blazeface.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":820516,"url":"/models/emotion.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2599092,"url":"/models/iris.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2955780,"url":"/models/facemesh.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":5431368,"url":"/models/handlandmark-full.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":6978814,"url":"/models/faceres.bin","remote":"::ffff:192.168.0.200"}
2021-11-16 18:30:01 DATA:  HTTP: {"method":"GET","ver":"1.1","status":200,"mime":"application/octet-stream","size":2964837,"url":"/models/handtrack.bin","remote":"::ffff:192.168.0.200"}