minor fixes

pull/233/head
Vladimir Mandic 2021-11-21 16:55:17 -05:00
parent 73333b375b
commit a743185fe9
17 changed files with 1243 additions and 1503 deletions

View File

@ -9,11 +9,13 @@
## Changelog
### **HEAD -> main** 2021/11/19 mandic00@live.com
- edit blazepose keypoints
- new build process
### **2.5.3** 2021/11/18 mandic00@live.com
### **origin/main** 2021/11/17 mandic00@live.com
- create typedef rollup
- optimize centernet
- cache frequent tf constants

View File

@ -1333,10 +1333,13 @@ var Env = class {
try {
if (this.webgpu.supported)
this.webgpu.adapter = (await navigator["gpu"].requestAdapter()).name;
this.kernels = tfjs_esm_exports.getKernelsForBackend(tfjs_esm_exports.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
this.webgpu.supported = false;
}
try {
this.kernels = tfjs_esm_exports.getKernelsForBackend(tfjs_esm_exports.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
}
}
async updateCPU() {
const cpu = { model: "", flags: [] };
@ -5163,11 +5166,9 @@ var kpt = [
var connected = {
leftLeg: ["leftHip", "leftKnee", "leftAnkle", "leftHeel", "leftFoot"],
rightLeg: ["rightHip", "rightKnee", "rightAnkle", "rightHeel", "rightFoot"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder", "rightShoulder"],
leftArm: ["leftShoulder", "leftElbow", "leftWrist", "leftPalm"],
rightArm: ["rightShoulder", "rightElbow", "rightWrist", "rightPalm"],
leftHand: ["leftHand", "leftPalm", "leftPinky", "leftPalm", "leftIndex", "leftPalm", "leftThumb"],
rightHand: ["rightHand", "rightPalm", "rightPinky", "rightPalm", "rightIndex", "rightPalm", "rightThumb"],
leftEye: ["leftEyeInside", "leftEye", "leftEyeOutside"],
rightEye: ["rightEyeInside", "rightEye", "rightEyeOutside"],
mouth: ["leftMouth", "rightMouth"]

File diff suppressed because one or more lines are too long

254
dist/human.esm.js vendored
View File

@ -28815,54 +28815,54 @@ ENV3.registerFlag("KEEP_INTERMEDIATE_TENSORS", () => false, (debugValue) => {
}
});
var DataType8;
(function(DataType49) {
DataType49[DataType49["DT_INVALID"] = 0] = "DT_INVALID";
DataType49[DataType49["DT_FLOAT"] = 1] = "DT_FLOAT";
DataType49[DataType49["DT_DOUBLE"] = 2] = "DT_DOUBLE";
DataType49[DataType49["DT_INT32"] = 3] = "DT_INT32";
DataType49[DataType49["DT_UINT8"] = 4] = "DT_UINT8";
DataType49[DataType49["DT_INT16"] = 5] = "DT_INT16";
DataType49[DataType49["DT_INT8"] = 6] = "DT_INT8";
DataType49[DataType49["DT_STRING"] = 7] = "DT_STRING";
DataType49[DataType49["DT_COMPLEX64"] = 8] = "DT_COMPLEX64";
DataType49[DataType49["DT_INT64"] = 9] = "DT_INT64";
DataType49[DataType49["DT_BOOL"] = 10] = "DT_BOOL";
DataType49[DataType49["DT_QINT8"] = 11] = "DT_QINT8";
DataType49[DataType49["DT_QUINT8"] = 12] = "DT_QUINT8";
DataType49[DataType49["DT_QINT32"] = 13] = "DT_QINT32";
DataType49[DataType49["DT_BFLOAT16"] = 14] = "DT_BFLOAT16";
DataType49[DataType49["DT_QINT16"] = 15] = "DT_QINT16";
DataType49[DataType49["DT_QUINT16"] = 16] = "DT_QUINT16";
DataType49[DataType49["DT_UINT16"] = 17] = "DT_UINT16";
DataType49[DataType49["DT_COMPLEX128"] = 18] = "DT_COMPLEX128";
DataType49[DataType49["DT_HALF"] = 19] = "DT_HALF";
DataType49[DataType49["DT_RESOURCE"] = 20] = "DT_RESOURCE";
DataType49[DataType49["DT_VARIANT"] = 21] = "DT_VARIANT";
DataType49[DataType49["DT_UINT32"] = 22] = "DT_UINT32";
DataType49[DataType49["DT_UINT64"] = 23] = "DT_UINT64";
DataType49[DataType49["DT_FLOAT_REF"] = 101] = "DT_FLOAT_REF";
DataType49[DataType49["DT_DOUBLE_REF"] = 102] = "DT_DOUBLE_REF";
DataType49[DataType49["DT_INT32_REF"] = 103] = "DT_INT32_REF";
DataType49[DataType49["DT_UINT8_REF"] = 104] = "DT_UINT8_REF";
DataType49[DataType49["DT_INT16_REF"] = 105] = "DT_INT16_REF";
DataType49[DataType49["DT_INT8_REF"] = 106] = "DT_INT8_REF";
DataType49[DataType49["DT_STRING_REF"] = 107] = "DT_STRING_REF";
DataType49[DataType49["DT_COMPLEX64_REF"] = 108] = "DT_COMPLEX64_REF";
DataType49[DataType49["DT_INT64_REF"] = 109] = "DT_INT64_REF";
DataType49[DataType49["DT_BOOL_REF"] = 110] = "DT_BOOL_REF";
DataType49[DataType49["DT_QINT8_REF"] = 111] = "DT_QINT8_REF";
DataType49[DataType49["DT_QUINT8_REF"] = 112] = "DT_QUINT8_REF";
DataType49[DataType49["DT_QINT32_REF"] = 113] = "DT_QINT32_REF";
DataType49[DataType49["DT_BFLOAT16_REF"] = 114] = "DT_BFLOAT16_REF";
DataType49[DataType49["DT_QINT16_REF"] = 115] = "DT_QINT16_REF";
DataType49[DataType49["DT_QUINT16_REF"] = 116] = "DT_QUINT16_REF";
DataType49[DataType49["DT_UINT16_REF"] = 117] = "DT_UINT16_REF";
DataType49[DataType49["DT_COMPLEX128_REF"] = 118] = "DT_COMPLEX128_REF";
DataType49[DataType49["DT_HALF_REF"] = 119] = "DT_HALF_REF";
DataType49[DataType49["DT_RESOURCE_REF"] = 120] = "DT_RESOURCE_REF";
DataType49[DataType49["DT_VARIANT_REF"] = 121] = "DT_VARIANT_REF";
DataType49[DataType49["DT_UINT32_REF"] = 122] = "DT_UINT32_REF";
DataType49[DataType49["DT_UINT64_REF"] = 123] = "DT_UINT64_REF";
(function(DataType48) {
DataType48[DataType48["DT_INVALID"] = 0] = "DT_INVALID";
DataType48[DataType48["DT_FLOAT"] = 1] = "DT_FLOAT";
DataType48[DataType48["DT_DOUBLE"] = 2] = "DT_DOUBLE";
DataType48[DataType48["DT_INT32"] = 3] = "DT_INT32";
DataType48[DataType48["DT_UINT8"] = 4] = "DT_UINT8";
DataType48[DataType48["DT_INT16"] = 5] = "DT_INT16";
DataType48[DataType48["DT_INT8"] = 6] = "DT_INT8";
DataType48[DataType48["DT_STRING"] = 7] = "DT_STRING";
DataType48[DataType48["DT_COMPLEX64"] = 8] = "DT_COMPLEX64";
DataType48[DataType48["DT_INT64"] = 9] = "DT_INT64";
DataType48[DataType48["DT_BOOL"] = 10] = "DT_BOOL";
DataType48[DataType48["DT_QINT8"] = 11] = "DT_QINT8";
DataType48[DataType48["DT_QUINT8"] = 12] = "DT_QUINT8";
DataType48[DataType48["DT_QINT32"] = 13] = "DT_QINT32";
DataType48[DataType48["DT_BFLOAT16"] = 14] = "DT_BFLOAT16";
DataType48[DataType48["DT_QINT16"] = 15] = "DT_QINT16";
DataType48[DataType48["DT_QUINT16"] = 16] = "DT_QUINT16";
DataType48[DataType48["DT_UINT16"] = 17] = "DT_UINT16";
DataType48[DataType48["DT_COMPLEX128"] = 18] = "DT_COMPLEX128";
DataType48[DataType48["DT_HALF"] = 19] = "DT_HALF";
DataType48[DataType48["DT_RESOURCE"] = 20] = "DT_RESOURCE";
DataType48[DataType48["DT_VARIANT"] = 21] = "DT_VARIANT";
DataType48[DataType48["DT_UINT32"] = 22] = "DT_UINT32";
DataType48[DataType48["DT_UINT64"] = 23] = "DT_UINT64";
DataType48[DataType48["DT_FLOAT_REF"] = 101] = "DT_FLOAT_REF";
DataType48[DataType48["DT_DOUBLE_REF"] = 102] = "DT_DOUBLE_REF";
DataType48[DataType48["DT_INT32_REF"] = 103] = "DT_INT32_REF";
DataType48[DataType48["DT_UINT8_REF"] = 104] = "DT_UINT8_REF";
DataType48[DataType48["DT_INT16_REF"] = 105] = "DT_INT16_REF";
DataType48[DataType48["DT_INT8_REF"] = 106] = "DT_INT8_REF";
DataType48[DataType48["DT_STRING_REF"] = 107] = "DT_STRING_REF";
DataType48[DataType48["DT_COMPLEX64_REF"] = 108] = "DT_COMPLEX64_REF";
DataType48[DataType48["DT_INT64_REF"] = 109] = "DT_INT64_REF";
DataType48[DataType48["DT_BOOL_REF"] = 110] = "DT_BOOL_REF";
DataType48[DataType48["DT_QINT8_REF"] = 111] = "DT_QINT8_REF";
DataType48[DataType48["DT_QUINT8_REF"] = 112] = "DT_QUINT8_REF";
DataType48[DataType48["DT_QINT32_REF"] = 113] = "DT_QINT32_REF";
DataType48[DataType48["DT_BFLOAT16_REF"] = 114] = "DT_BFLOAT16_REF";
DataType48[DataType48["DT_QINT16_REF"] = 115] = "DT_QINT16_REF";
DataType48[DataType48["DT_QUINT16_REF"] = 116] = "DT_QUINT16_REF";
DataType48[DataType48["DT_UINT16_REF"] = 117] = "DT_UINT16_REF";
DataType48[DataType48["DT_COMPLEX128_REF"] = 118] = "DT_COMPLEX128_REF";
DataType48[DataType48["DT_HALF_REF"] = 119] = "DT_HALF_REF";
DataType48[DataType48["DT_RESOURCE_REF"] = 120] = "DT_RESOURCE_REF";
DataType48[DataType48["DT_VARIANT_REF"] = 121] = "DT_VARIANT_REF";
DataType48[DataType48["DT_UINT32_REF"] = 122] = "DT_UINT32_REF";
DataType48[DataType48["DT_UINT64_REF"] = 123] = "DT_UINT64_REF";
})(DataType8 || (DataType8 = {}));
var SaverDef;
(function(SaverDef2) {
@ -45953,6 +45953,7 @@ function getTextureConfig(gl, textureHalfFloatExtension) {
defaultNumChannels = 1;
textureTypeHalfFloat = glany.HALF_FLOAT;
textureTypeFloat = glany.FLOAT;
downloadTextureFormat = glany.RGBA8;
} else {
internalFormatFloat = gl.RGBA;
internalFormatHalfFloat = gl.RGBA;
@ -45963,8 +45964,8 @@ function getTextureConfig(gl, textureHalfFloatExtension) {
defaultNumChannels = 4;
textureTypeHalfFloat = textureHalfFloatExtension != null ? textureHalfFloatExtension.HALF_FLOAT_OES : null;
textureTypeFloat = gl.FLOAT;
downloadTextureFormat = gl.RGBA;
}
downloadTextureFormat = gl.RGBA;
return {
internalFormatFloat,
internalFormatHalfFloat,
@ -48796,7 +48797,11 @@ function createAndConfigureTexture(gl, width, height, internalFormat, textureFor
callAndCheck(gl, () => gl.texParameteri(tex2d, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE));
callAndCheck(gl, () => gl.texParameteri(tex2d, gl.TEXTURE_MIN_FILTER, gl.NEAREST));
callAndCheck(gl, () => gl.texParameteri(tex2d, gl.TEXTURE_MAG_FILTER, gl.NEAREST));
callAndCheck(gl, () => gl.texImage2D(tex2d, 0, internalFormat, width, height, 0, textureFormat, textureType, null));
if (env().getNumber("WEBGL_VERSION") === 1) {
callAndCheck(gl, () => gl.texImage2D(tex2d, 0, internalFormat, width, height, 0, textureFormat, textureType, null));
} else {
callAndCheck(gl, () => gl.texStorage2D(tex2d, 1, internalFormat, width, height));
}
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, null));
return texture;
}
@ -48856,15 +48861,29 @@ function uploadDenseMatrixToTexture(gl, texture, width, height, data, textureCon
internalFormat = textureConfig.internalFormatPackedFloat;
}
dataForUpload.set(data);
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, width, height, 0, gl.RGBA, texelDataType, dataForUpload));
if (env().getNumber("WEBGL_VERSION") === 2) {
callAndCheck(gl, () => gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, width, height, gl.RGBA, texelDataType, dataForUpload));
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, width, height, 0, gl.RGBA, texelDataType, dataForUpload));
}
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, null));
}
function uploadPixelDataToTexture(gl, texture, pixels) {
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, texture));
if (pixels.data instanceof Uint8Array) {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, pixels.width, pixels.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels.data));
if (env().getNumber("WEBGL_VERSION") === 2) {
callAndCheck(gl, () => gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, pixels.width, pixels.height, gl.RGBA, gl.UNSIGNED_BYTE, pixels.data));
gl.flush();
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, pixels.width, pixels.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels.data));
}
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, pixels));
if (env().getNumber("WEBGL_VERSION") === 2) {
callAndCheck(gl, () => gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels));
gl.flush();
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, pixels));
}
}
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, null));
}
@ -49646,6 +49665,8 @@ function numBytesForInternalFormat(gl, internalFormat) {
return 16;
} else if (internalFormat === glany.RGBA16F) {
return 8;
} else if (internalFormat === glany.RGBA8) {
return 4;
}
throw new Error(`Unknown internal format ${internalFormat}`);
}
@ -50313,7 +50334,9 @@ var _MathBackendWebGL = class extends KernelBackend {
texData.isPacked = true;
texData.shape = input2.shape;
}
} else if (!!texData.isPacked !== !!program.packedInputs) {
}
this.uploadToGPU(input2.dataId);
if (!!texData.isPacked !== !!program.packedInputs) {
input2 = texData.isPacked ? this.unpackTensor(input2) : this.packTensor(input2);
dataToDispose.push(input2);
texData = this.texData.get(input2.dataId);
@ -50326,7 +50349,6 @@ var _MathBackendWebGL = class extends KernelBackend {
texData = this.texData.get(input2.dataId);
savedInput.shape = targetShape;
}
this.uploadToGPU(input2.dataId);
return { shape: input2.shape, texData, isUniform: false };
});
this.uploadToGPU(output.dataId);
@ -50439,18 +50461,23 @@ var _MathBackendWebGL = class extends KernelBackend {
let program;
let width = texShape[1], height = texShape[0];
const isByteArray = values instanceof Uint8Array || values instanceof Uint8ClampedArray;
if (isPacked) {
if (isPacked || !isByteArray) {
[width, height] = getPackedMatrixTextureShapeWidthHeight(texShape[0], texShape[1]);
}
if (isPacked) {
program = new EncodeMatrixPackedProgram(shapeAs3D, isByteArray);
} else {
program = new EncodeMatrixProgram(shapeAs3D, isByteArray);
}
const tempDenseInputHandle = this.makeTensorInfo([height, width], dtype);
const tempDenseInputTexShape = isByteArray ? [height, width] : texShape;
const tempDenseInputHandle = this.makeTensorInfo(tempDenseInputTexShape, dtype);
const tempDenseInputTexData = this.texData.get(tempDenseInputHandle.dataId);
if (isByteArray) {
this.texData.get(tempDenseInputHandle.dataId).usage = TextureUsage.PIXELS;
tempDenseInputTexData.usage = TextureUsage.PIXELS;
} else {
this.texData.get(tempDenseInputHandle.dataId).usage = TextureUsage.UPLOAD;
tempDenseInputTexData.usage = TextureUsage.UPLOAD;
}
tempDenseInputTexData.texShape = tempDenseInputTexShape;
this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(tempDenseInputHandle.dataId), width, height, values);
const customValues = [[height, width]];
const preventEagerUnpacking = true;
@ -63956,31 +63983,27 @@ var multiplyConfig3 = {
kernelFunc: multiplyKernelFunc
};
var ReduceProgram2 = class {
constructor(reduceInfo, reduceType, outputDtype) {
constructor(reduceInfo, reduceType) {
this.workGroupSize = [64, 1, 1];
this.variableNames = ["x"];
this.uniforms = "reduceSize : i32;";
this.size = true;
this.inputShape = [reduceInfo.batchSize, reduceInfo.inSize];
const [outputShape] = backend_util_exports.computeOutAndReduceShapes(this.inputShape, [1]);
this.outputShape = outputShape.length === 0 ? [1] : outputShape;
this.reductionFactor = 2;
const xMaxThreads = 256;
const xThreads = Math.min(Math.ceil(reduceInfo.inSize / this.reductionFactor), xMaxThreads);
this.workGroupSize = [xThreads, 1, 1];
this.dispatchLayout = { x: [], y: this.outputShape.map((d, i) => i) };
this.dispatch = computeDispatch(this.dispatchLayout, this.outputShape, this.workGroupSize);
this.dispatchLayout = flatDispatchLayout(this.outputShape);
this.dispatch = computeDispatch(this.dispatchLayout, this.outputShape, [1, 1, 1]);
this.reduceType = reduceType;
this.shaderKey = `reduce_${reduceType}_${outputDtype}`;
this.shaderKey = `reduce_${reduceType}`;
}
getUserCode() {
const reduceInSharedMemory = this.workGroupSize[0] > 1;
let reduceOp = ``;
let initValue = "0.0";
if (this.reduceType === "min" || this.reduceType === "max") {
reduceOp = `
if (isNanCustom(candidate)) {
bestValue = uniforms.NAN;
} elseif (candidate ${this.reduceType === "min" ? "<" : ">"}
bestValue)
} elseif (!isNanCustom(bestValue) && candidate ${this.reduceType === "min" ? "<" : ">"} bestValue)
{ bestValue = candidate; }`;
initValue = "f32(x.numbers[offset])";
} else if (this.reduceType === "sum" || this.reduceType === "mean") {
@ -63989,57 +64012,51 @@ var ReduceProgram2 = class {
reduceOp = " bestValue = bestValue * candidate; ";
initValue = "1.0";
}
const outputSnippet = this.reduceType === "mean" ? `setOutputFlat(flatOutputIndex, bestValue / f32(uniforms.reduceSize));` : `setOutputFlat(flatOutputIndex, bestValue);`;
const outputSnippet = this.reduceType === "mean" ? `setOutputFlat(outputIndex, bestValue / f32(uniforms.reduceSize));` : `setOutputFlat(outputIndex, bestValue);`;
const sharedMemorySnippet = `
var<workgroup> xBestValues : array<f32, ${this.workGroupSize[0]}>;
`;
const sharedMemoryReduceSnippet = `
xBestValues[localId.x] = bestValue;
${this.reduceType === "sum" || this.reduceType === "mean" || this.reduceType === "prod" ? `bestValue = ${initValue};` : " "}
var currentSize = WorkGroupSize;
for(; currentSize > 1;) {
workgroupBarrier();
for (var w = 0; w < ${this.reductionFactor}; w = w + 1) {
let i = i32(localId.x) * ${this.reductionFactor} + w;
if (i < currentSize) {
let candidate = xBestValues[i];
${reduceOp}
}
}
workgroupBarrier();
xBestValues[localId.x] = bestValue;
currentSize = DIV_CEIL(currentSize, ${this.reductionFactor});
${this.reduceType === "sum" || this.reduceType === "mean" || this.reduceType === "prod" ? `if(currentSize > 1) { bestValue = ${initValue}; }` : ""}
}
if (localId.x == 0u) {
${outputSnippet}
}
`;
const userCode = `
fn DIV_CEIL(a : i32, b : i32) -> i32 {
return ((a - 1) / b + 1);
fn DIV_CEIL(a : u32, b : u32) -> u32 {
return ((a - 1u) / b + 1u);
}
let WorkGroupSize = ${this.workGroupSize[0]};
${reduceInSharedMemory ? sharedMemorySnippet : ""}
fn getOffset(globalId : vec3<u32>) -> i32 {
let outputCoords = getOutputCoordsWithNonFlatDispatchLayout(globalId);
${sharedMemorySnippet}
fn getOffset(outputIndex : i32) -> i32 {
let outputCoords = getCoordsFromFlatIndex(outputIndex);
let offset = ${this.outputShape.length === 1 ? "outputCoords" : "outputCoords[0]"} * uniforms.reduceSize;
return offset;
return offset;
}
${getNonFlatDispatchLayoutMainHeaderString()} {
let offset = getOffset(globalId);
${getMainHeaderAndGlobalIndexString()}
let outputIndex = index / i32(workGroupSizeX);
let offset = getOffset(outputIndex);
var bestValue = ${initValue};
let Length = uniforms.reduceSize;
let WorkPerThread = DIV_CEIL(Length, WorkGroupSize);
for (var w = 0; w < WorkPerThread; w = w + 1) {
let i = i32(globalId.x) * WorkPerThread + w;
if (i < Length) {
let candidate = f32(x.numbers[offset + i]);
${reduceOp}
}
let WorkPerThread = DIV_CEIL(u32(Length), workGroupSizeX);
for (var k = i32(localId.x); k < Length && outputIndex < uniforms.size;
k = k + i32(workGroupSizeX)) {
let candidate = f32(x.numbers[offset + k]);
${reduceOp}
}
let flatOutputIndex = i32(globalId.y);
${reduceInSharedMemory ? sharedMemoryReduceSnippet : outputSnippet}
xBestValues[localId.x] = bestValue;
workgroupBarrier();
var reduceSize = min(u32(Length), workGroupSizeX);
for (var currentSize = reduceSize / 2u; reduceSize > 1u;
currentSize = reduceSize / 2u) {
let interval = DIV_CEIL(reduceSize, 2u);
if (localId.x < currentSize) {
let candidate = xBestValues[localId.x + interval];
${reduceOp}
xBestValues[localId.x] = bestValue;
}
reduceSize = interval;
workgroupBarrier();
}
if (localId.x == 0u && outputIndex < uniforms.size) {
${outputSnippet}
}
}
`;
return userCode;
@ -64087,7 +64104,7 @@ function reduce2(x, axis, keepDims, reduceType, backend22) {
const uniformData = [
{ type: "int32", data: [inSize] }
];
const program = new ReduceProgram2(reduceInfo, reduceType, dtype);
const program = new ReduceProgram2(reduceInfo, reduceType);
const reduced = backend22.runWebGPUProgram(program, [input2], dtype, uniformData);
toDispose.push(reduced);
res = reshape5({ inputs: { x: reduced }, attrs: { shape: resOutShape }, backend: backend22 });
@ -65506,7 +65523,7 @@ var ScatterOptimizedProgram = class {
`;
}
const updatesSnippet = `getUpdates(${updatesString})`;
const atomicAddSnippet = this.type === "int32" ? `ignore(atomicAdd(&(result.numbers[flatIndex]), i32(updateValue)));` : `
const atomicAddSnippet = this.type === "int32" ? `atomicAdd(&(result.numbers[flatIndex]), i32(updateValue));` : `
var assumed = atomicLoad(&(result.numbers[flatIndex]));
var success = 0;
for (; success == 0;) {
@ -70637,7 +70654,7 @@ registerBackend("wasm", async () => {
const { wasm } = await init();
return new BackendWasm(wasm);
}, WASM_PRIORITY);
var externalVersion = "3.11.0-20211118";
var externalVersion = "3.11.0-20211121";
var version8 = {
tfjs: externalVersion,
"tfjs-core": externalVersion,
@ -71723,10 +71740,13 @@ var Env = class {
try {
if (this.webgpu.supported)
this.webgpu.adapter = (await navigator["gpu"].requestAdapter()).name;
this.kernels = getKernelsForBackend(getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
this.webgpu.supported = false;
}
try {
this.kernels = getKernelsForBackend(getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
}
}
async updateCPU() {
const cpu = { model: "", flags: [] };
@ -75553,11 +75573,9 @@ var kpt = [
var connected = {
leftLeg: ["leftHip", "leftKnee", "leftAnkle", "leftHeel", "leftFoot"],
rightLeg: ["rightHip", "rightKnee", "rightAnkle", "rightHeel", "rightFoot"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder", "rightShoulder"],
leftArm: ["leftShoulder", "leftElbow", "leftWrist", "leftPalm"],
rightArm: ["rightShoulder", "rightElbow", "rightWrist", "rightPalm"],
leftHand: ["leftHand", "leftPalm", "leftPinky", "leftPalm", "leftIndex", "leftPalm", "leftThumb"],
rightHand: ["rightHand", "rightPalm", "rightPinky", "rightPalm", "rightIndex", "rightPalm", "rightThumb"],
leftEye: ["leftEyeInside", "leftEye", "leftEyeOutside"],
rightEye: ["rightEyeInside", "rightEye", "rightEyeOutside"],
mouth: ["leftMouth", "rightMouth"]

File diff suppressed because one or more lines are too long

464
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1350,10 +1350,13 @@ var Env = class {
try {
if (this.webgpu.supported)
this.webgpu.adapter = (await navigator["gpu"].requestAdapter()).name;
this.kernels = tf3.getKernelsForBackend(tf3.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
this.webgpu.supported = false;
}
try {
this.kernels = tf3.getKernelsForBackend(tf3.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
}
}
async updateCPU() {
const cpu = { model: "", flags: [] };
@ -5202,11 +5205,9 @@ var kpt = [
var connected = {
leftLeg: ["leftHip", "leftKnee", "leftAnkle", "leftHeel", "leftFoot"],
rightLeg: ["rightHip", "rightKnee", "rightAnkle", "rightHeel", "rightFoot"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder", "rightShoulder"],
leftArm: ["leftShoulder", "leftElbow", "leftWrist", "leftPalm"],
rightArm: ["rightShoulder", "rightElbow", "rightWrist", "rightPalm"],
leftHand: ["leftHand", "leftPalm", "leftPinky", "leftPalm", "leftIndex", "leftPalm", "leftThumb"],
rightHand: ["rightHand", "rightPalm", "rightPinky", "rightPalm", "rightIndex", "rightPalm", "rightThumb"],
leftEye: ["leftEyeInside", "leftEye", "leftEyeOutside"],
rightEye: ["rightEyeInside", "rightEye", "rightEyeOutside"],
mouth: ["leftMouth", "rightMouth"]

View File

@ -1351,10 +1351,13 @@ var Env = class {
try {
if (this.webgpu.supported)
this.webgpu.adapter = (await navigator["gpu"].requestAdapter()).name;
this.kernels = tf3.getKernelsForBackend(tf3.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
this.webgpu.supported = false;
}
try {
this.kernels = tf3.getKernelsForBackend(tf3.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
}
}
async updateCPU() {
const cpu = { model: "", flags: [] };
@ -5203,11 +5206,9 @@ var kpt = [
var connected = {
leftLeg: ["leftHip", "leftKnee", "leftAnkle", "leftHeel", "leftFoot"],
rightLeg: ["rightHip", "rightKnee", "rightAnkle", "rightHeel", "rightFoot"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder", "rightShoulder"],
leftArm: ["leftShoulder", "leftElbow", "leftWrist", "leftPalm"],
rightArm: ["rightShoulder", "rightElbow", "rightWrist", "rightPalm"],
leftHand: ["leftHand", "leftPalm", "leftPinky", "leftPalm", "leftIndex", "leftPalm", "leftThumb"],
rightHand: ["rightHand", "rightPalm", "rightPinky", "rightPalm", "rightIndex", "rightPalm", "rightThumb"],
leftEye: ["leftEyeInside", "leftEye", "leftEyeOutside"],
rightEye: ["rightEyeInside", "rightEye", "rightEyeOutside"],
mouth: ["leftMouth", "rightMouth"]

9
dist/human.node.js vendored
View File

@ -1350,10 +1350,13 @@ var Env = class {
try {
if (this.webgpu.supported)
this.webgpu.adapter = (await navigator["gpu"].requestAdapter()).name;
this.kernels = tf3.getKernelsForBackend(tf3.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
this.webgpu.supported = false;
}
try {
this.kernels = tf3.getKernelsForBackend(tf3.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch (e) {
}
}
async updateCPU() {
const cpu = { model: "", flags: [] };
@ -5202,11 +5205,9 @@ var kpt = [
var connected = {
leftLeg: ["leftHip", "leftKnee", "leftAnkle", "leftHeel", "leftFoot"],
rightLeg: ["rightHip", "rightKnee", "rightAnkle", "rightHeel", "rightFoot"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder"],
torso: ["leftShoulder", "rightShoulder", "rightHip", "leftHip", "leftShoulder", "rightShoulder"],
leftArm: ["leftShoulder", "leftElbow", "leftWrist", "leftPalm"],
rightArm: ["rightShoulder", "rightElbow", "rightWrist", "rightPalm"],
leftHand: ["leftHand", "leftPalm", "leftPinky", "leftPalm", "leftIndex", "leftPalm", "leftThumb"],
rightHand: ["rightHand", "rightPalm", "rightPinky", "rightPalm", "rightIndex", "rightPalm", "rightThumb"],
leftEye: ["leftEyeInside", "leftEye", "leftEyeOutside"],
rightEye: ["rightEyeInside", "rightEye", "rightEyeOutside"],
mouth: ["leftMouth", "rightMouth"]

247
dist/tfjs.esm.js vendored
View File

@ -4,7 +4,7 @@
author: <https://github.com/vladmandic>'
*/
// node_modules/.pnpm/github.com+vladmandic+tfjs@78c185a728b2afcbfd2e37d38a254f4242c8223a/node_modules/@vladmandic/tfjs/dist/tfjs.esm.js
// node_modules/.pnpm/github.com+vladmandic+tfjs@14eabb5e489a9403713f08c3595e04728a838e82/node_modules/@vladmandic/tfjs/dist/tfjs.esm.js
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@ -28107,54 +28107,54 @@ ENV3.registerFlag("KEEP_INTERMEDIATE_TENSORS", () => false, (debugValue) => {
}
});
var DataType8;
(function(DataType49) {
DataType49[DataType49["DT_INVALID"] = 0] = "DT_INVALID";
DataType49[DataType49["DT_FLOAT"] = 1] = "DT_FLOAT";
DataType49[DataType49["DT_DOUBLE"] = 2] = "DT_DOUBLE";
DataType49[DataType49["DT_INT32"] = 3] = "DT_INT32";
DataType49[DataType49["DT_UINT8"] = 4] = "DT_UINT8";
DataType49[DataType49["DT_INT16"] = 5] = "DT_INT16";
DataType49[DataType49["DT_INT8"] = 6] = "DT_INT8";
DataType49[DataType49["DT_STRING"] = 7] = "DT_STRING";
DataType49[DataType49["DT_COMPLEX64"] = 8] = "DT_COMPLEX64";
DataType49[DataType49["DT_INT64"] = 9] = "DT_INT64";
DataType49[DataType49["DT_BOOL"] = 10] = "DT_BOOL";
DataType49[DataType49["DT_QINT8"] = 11] = "DT_QINT8";
DataType49[DataType49["DT_QUINT8"] = 12] = "DT_QUINT8";
DataType49[DataType49["DT_QINT32"] = 13] = "DT_QINT32";
DataType49[DataType49["DT_BFLOAT16"] = 14] = "DT_BFLOAT16";
DataType49[DataType49["DT_QINT16"] = 15] = "DT_QINT16";
DataType49[DataType49["DT_QUINT16"] = 16] = "DT_QUINT16";
DataType49[DataType49["DT_UINT16"] = 17] = "DT_UINT16";
DataType49[DataType49["DT_COMPLEX128"] = 18] = "DT_COMPLEX128";
DataType49[DataType49["DT_HALF"] = 19] = "DT_HALF";
DataType49[DataType49["DT_RESOURCE"] = 20] = "DT_RESOURCE";
DataType49[DataType49["DT_VARIANT"] = 21] = "DT_VARIANT";
DataType49[DataType49["DT_UINT32"] = 22] = "DT_UINT32";
DataType49[DataType49["DT_UINT64"] = 23] = "DT_UINT64";
DataType49[DataType49["DT_FLOAT_REF"] = 101] = "DT_FLOAT_REF";
DataType49[DataType49["DT_DOUBLE_REF"] = 102] = "DT_DOUBLE_REF";
DataType49[DataType49["DT_INT32_REF"] = 103] = "DT_INT32_REF";
DataType49[DataType49["DT_UINT8_REF"] = 104] = "DT_UINT8_REF";
DataType49[DataType49["DT_INT16_REF"] = 105] = "DT_INT16_REF";
DataType49[DataType49["DT_INT8_REF"] = 106] = "DT_INT8_REF";
DataType49[DataType49["DT_STRING_REF"] = 107] = "DT_STRING_REF";
DataType49[DataType49["DT_COMPLEX64_REF"] = 108] = "DT_COMPLEX64_REF";
DataType49[DataType49["DT_INT64_REF"] = 109] = "DT_INT64_REF";
DataType49[DataType49["DT_BOOL_REF"] = 110] = "DT_BOOL_REF";
DataType49[DataType49["DT_QINT8_REF"] = 111] = "DT_QINT8_REF";
DataType49[DataType49["DT_QUINT8_REF"] = 112] = "DT_QUINT8_REF";
DataType49[DataType49["DT_QINT32_REF"] = 113] = "DT_QINT32_REF";
DataType49[DataType49["DT_BFLOAT16_REF"] = 114] = "DT_BFLOAT16_REF";
DataType49[DataType49["DT_QINT16_REF"] = 115] = "DT_QINT16_REF";
DataType49[DataType49["DT_QUINT16_REF"] = 116] = "DT_QUINT16_REF";
DataType49[DataType49["DT_UINT16_REF"] = 117] = "DT_UINT16_REF";
DataType49[DataType49["DT_COMPLEX128_REF"] = 118] = "DT_COMPLEX128_REF";
DataType49[DataType49["DT_HALF_REF"] = 119] = "DT_HALF_REF";
DataType49[DataType49["DT_RESOURCE_REF"] = 120] = "DT_RESOURCE_REF";
DataType49[DataType49["DT_VARIANT_REF"] = 121] = "DT_VARIANT_REF";
DataType49[DataType49["DT_UINT32_REF"] = 122] = "DT_UINT32_REF";
DataType49[DataType49["DT_UINT64_REF"] = 123] = "DT_UINT64_REF";
(function(DataType48) {
DataType48[DataType48["DT_INVALID"] = 0] = "DT_INVALID";
DataType48[DataType48["DT_FLOAT"] = 1] = "DT_FLOAT";
DataType48[DataType48["DT_DOUBLE"] = 2] = "DT_DOUBLE";
DataType48[DataType48["DT_INT32"] = 3] = "DT_INT32";
DataType48[DataType48["DT_UINT8"] = 4] = "DT_UINT8";
DataType48[DataType48["DT_INT16"] = 5] = "DT_INT16";
DataType48[DataType48["DT_INT8"] = 6] = "DT_INT8";
DataType48[DataType48["DT_STRING"] = 7] = "DT_STRING";
DataType48[DataType48["DT_COMPLEX64"] = 8] = "DT_COMPLEX64";
DataType48[DataType48["DT_INT64"] = 9] = "DT_INT64";
DataType48[DataType48["DT_BOOL"] = 10] = "DT_BOOL";
DataType48[DataType48["DT_QINT8"] = 11] = "DT_QINT8";
DataType48[DataType48["DT_QUINT8"] = 12] = "DT_QUINT8";
DataType48[DataType48["DT_QINT32"] = 13] = "DT_QINT32";
DataType48[DataType48["DT_BFLOAT16"] = 14] = "DT_BFLOAT16";
DataType48[DataType48["DT_QINT16"] = 15] = "DT_QINT16";
DataType48[DataType48["DT_QUINT16"] = 16] = "DT_QUINT16";
DataType48[DataType48["DT_UINT16"] = 17] = "DT_UINT16";
DataType48[DataType48["DT_COMPLEX128"] = 18] = "DT_COMPLEX128";
DataType48[DataType48["DT_HALF"] = 19] = "DT_HALF";
DataType48[DataType48["DT_RESOURCE"] = 20] = "DT_RESOURCE";
DataType48[DataType48["DT_VARIANT"] = 21] = "DT_VARIANT";
DataType48[DataType48["DT_UINT32"] = 22] = "DT_UINT32";
DataType48[DataType48["DT_UINT64"] = 23] = "DT_UINT64";
DataType48[DataType48["DT_FLOAT_REF"] = 101] = "DT_FLOAT_REF";
DataType48[DataType48["DT_DOUBLE_REF"] = 102] = "DT_DOUBLE_REF";
DataType48[DataType48["DT_INT32_REF"] = 103] = "DT_INT32_REF";
DataType48[DataType48["DT_UINT8_REF"] = 104] = "DT_UINT8_REF";
DataType48[DataType48["DT_INT16_REF"] = 105] = "DT_INT16_REF";
DataType48[DataType48["DT_INT8_REF"] = 106] = "DT_INT8_REF";
DataType48[DataType48["DT_STRING_REF"] = 107] = "DT_STRING_REF";
DataType48[DataType48["DT_COMPLEX64_REF"] = 108] = "DT_COMPLEX64_REF";
DataType48[DataType48["DT_INT64_REF"] = 109] = "DT_INT64_REF";
DataType48[DataType48["DT_BOOL_REF"] = 110] = "DT_BOOL_REF";
DataType48[DataType48["DT_QINT8_REF"] = 111] = "DT_QINT8_REF";
DataType48[DataType48["DT_QUINT8_REF"] = 112] = "DT_QUINT8_REF";
DataType48[DataType48["DT_QINT32_REF"] = 113] = "DT_QINT32_REF";
DataType48[DataType48["DT_BFLOAT16_REF"] = 114] = "DT_BFLOAT16_REF";
DataType48[DataType48["DT_QINT16_REF"] = 115] = "DT_QINT16_REF";
DataType48[DataType48["DT_QUINT16_REF"] = 116] = "DT_QUINT16_REF";
DataType48[DataType48["DT_UINT16_REF"] = 117] = "DT_UINT16_REF";
DataType48[DataType48["DT_COMPLEX128_REF"] = 118] = "DT_COMPLEX128_REF";
DataType48[DataType48["DT_HALF_REF"] = 119] = "DT_HALF_REF";
DataType48[DataType48["DT_RESOURCE_REF"] = 120] = "DT_RESOURCE_REF";
DataType48[DataType48["DT_VARIANT_REF"] = 121] = "DT_VARIANT_REF";
DataType48[DataType48["DT_UINT32_REF"] = 122] = "DT_UINT32_REF";
DataType48[DataType48["DT_UINT64_REF"] = 123] = "DT_UINT64_REF";
})(DataType8 || (DataType8 = {}));
var SaverDef;
(function(SaverDef2) {
@ -45245,6 +45245,7 @@ function getTextureConfig(gl, textureHalfFloatExtension) {
defaultNumChannels = 1;
textureTypeHalfFloat = glany.HALF_FLOAT;
textureTypeFloat = glany.FLOAT;
downloadTextureFormat = glany.RGBA8;
} else {
internalFormatFloat = gl.RGBA;
internalFormatHalfFloat = gl.RGBA;
@ -45255,8 +45256,8 @@ function getTextureConfig(gl, textureHalfFloatExtension) {
defaultNumChannels = 4;
textureTypeHalfFloat = textureHalfFloatExtension != null ? textureHalfFloatExtension.HALF_FLOAT_OES : null;
textureTypeFloat = gl.FLOAT;
downloadTextureFormat = gl.RGBA;
}
downloadTextureFormat = gl.RGBA;
return {
internalFormatFloat,
internalFormatHalfFloat,
@ -48088,7 +48089,11 @@ function createAndConfigureTexture(gl, width, height, internalFormat, textureFor
callAndCheck(gl, () => gl.texParameteri(tex2d, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE));
callAndCheck(gl, () => gl.texParameteri(tex2d, gl.TEXTURE_MIN_FILTER, gl.NEAREST));
callAndCheck(gl, () => gl.texParameteri(tex2d, gl.TEXTURE_MAG_FILTER, gl.NEAREST));
callAndCheck(gl, () => gl.texImage2D(tex2d, 0, internalFormat, width, height, 0, textureFormat, textureType, null));
if (env().getNumber("WEBGL_VERSION") === 1) {
callAndCheck(gl, () => gl.texImage2D(tex2d, 0, internalFormat, width, height, 0, textureFormat, textureType, null));
} else {
callAndCheck(gl, () => gl.texStorage2D(tex2d, 1, internalFormat, width, height));
}
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, null));
return texture;
}
@ -48148,15 +48153,29 @@ function uploadDenseMatrixToTexture(gl, texture, width, height, data, textureCon
internalFormat = textureConfig.internalFormatPackedFloat;
}
dataForUpload.set(data);
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, width, height, 0, gl.RGBA, texelDataType, dataForUpload));
if (env().getNumber("WEBGL_VERSION") === 2) {
callAndCheck(gl, () => gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, width, height, gl.RGBA, texelDataType, dataForUpload));
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, width, height, 0, gl.RGBA, texelDataType, dataForUpload));
}
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, null));
}
function uploadPixelDataToTexture(gl, texture, pixels) {
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, texture));
if (pixels.data instanceof Uint8Array) {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, pixels.width, pixels.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels.data));
if (env().getNumber("WEBGL_VERSION") === 2) {
callAndCheck(gl, () => gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, pixels.width, pixels.height, gl.RGBA, gl.UNSIGNED_BYTE, pixels.data));
gl.flush();
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, pixels.width, pixels.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels.data));
}
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, pixels));
if (env().getNumber("WEBGL_VERSION") === 2) {
callAndCheck(gl, () => gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels));
gl.flush();
} else {
callAndCheck(gl, () => gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, pixels));
}
}
callAndCheck(gl, () => gl.bindTexture(gl.TEXTURE_2D, null));
}
@ -48938,6 +48957,8 @@ function numBytesForInternalFormat(gl, internalFormat) {
return 16;
} else if (internalFormat === glany.RGBA16F) {
return 8;
} else if (internalFormat === glany.RGBA8) {
return 4;
}
throw new Error(`Unknown internal format ${internalFormat}`);
}
@ -49605,7 +49626,9 @@ var _MathBackendWebGL = class extends KernelBackend {
texData.isPacked = true;
texData.shape = input2.shape;
}
} else if (!!texData.isPacked !== !!program.packedInputs) {
}
this.uploadToGPU(input2.dataId);
if (!!texData.isPacked !== !!program.packedInputs) {
input2 = texData.isPacked ? this.unpackTensor(input2) : this.packTensor(input2);
dataToDispose.push(input2);
texData = this.texData.get(input2.dataId);
@ -49618,7 +49641,6 @@ var _MathBackendWebGL = class extends KernelBackend {
texData = this.texData.get(input2.dataId);
savedInput.shape = targetShape;
}
this.uploadToGPU(input2.dataId);
return { shape: input2.shape, texData, isUniform: false };
});
this.uploadToGPU(output.dataId);
@ -49731,18 +49753,23 @@ var _MathBackendWebGL = class extends KernelBackend {
let program;
let width = texShape[1], height = texShape[0];
const isByteArray = values instanceof Uint8Array || values instanceof Uint8ClampedArray;
if (isPacked) {
if (isPacked || !isByteArray) {
[width, height] = getPackedMatrixTextureShapeWidthHeight(texShape[0], texShape[1]);
}
if (isPacked) {
program = new EncodeMatrixPackedProgram(shapeAs3D, isByteArray);
} else {
program = new EncodeMatrixProgram(shapeAs3D, isByteArray);
}
const tempDenseInputHandle = this.makeTensorInfo([height, width], dtype);
const tempDenseInputTexShape = isByteArray ? [height, width] : texShape;
const tempDenseInputHandle = this.makeTensorInfo(tempDenseInputTexShape, dtype);
const tempDenseInputTexData = this.texData.get(tempDenseInputHandle.dataId);
if (isByteArray) {
this.texData.get(tempDenseInputHandle.dataId).usage = TextureUsage.PIXELS;
tempDenseInputTexData.usage = TextureUsage.PIXELS;
} else {
this.texData.get(tempDenseInputHandle.dataId).usage = TextureUsage.UPLOAD;
tempDenseInputTexData.usage = TextureUsage.UPLOAD;
}
tempDenseInputTexData.texShape = tempDenseInputTexShape;
this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(tempDenseInputHandle.dataId), width, height, values);
const customValues = [[height, width]];
const preventEagerUnpacking = true;
@ -63248,31 +63275,27 @@ var multiplyConfig3 = {
kernelFunc: multiplyKernelFunc
};
var ReduceProgram2 = class {
constructor(reduceInfo, reduceType, outputDtype) {
constructor(reduceInfo, reduceType) {
this.workGroupSize = [64, 1, 1];
this.variableNames = ["x"];
this.uniforms = "reduceSize : i32;";
this.size = true;
this.inputShape = [reduceInfo.batchSize, reduceInfo.inSize];
const [outputShape] = backend_util_exports.computeOutAndReduceShapes(this.inputShape, [1]);
this.outputShape = outputShape.length === 0 ? [1] : outputShape;
this.reductionFactor = 2;
const xMaxThreads = 256;
const xThreads = Math.min(Math.ceil(reduceInfo.inSize / this.reductionFactor), xMaxThreads);
this.workGroupSize = [xThreads, 1, 1];
this.dispatchLayout = { x: [], y: this.outputShape.map((d, i) => i) };
this.dispatch = computeDispatch(this.dispatchLayout, this.outputShape, this.workGroupSize);
this.dispatchLayout = flatDispatchLayout(this.outputShape);
this.dispatch = computeDispatch(this.dispatchLayout, this.outputShape, [1, 1, 1]);
this.reduceType = reduceType;
this.shaderKey = `reduce_${reduceType}_${outputDtype}`;
this.shaderKey = `reduce_${reduceType}`;
}
getUserCode() {
const reduceInSharedMemory = this.workGroupSize[0] > 1;
let reduceOp = ``;
let initValue = "0.0";
if (this.reduceType === "min" || this.reduceType === "max") {
reduceOp = `
if (isNanCustom(candidate)) {
bestValue = uniforms.NAN;
} elseif (candidate ${this.reduceType === "min" ? "<" : ">"}
bestValue)
} elseif (!isNanCustom(bestValue) && candidate ${this.reduceType === "min" ? "<" : ">"} bestValue)
{ bestValue = candidate; }`;
initValue = "f32(x.numbers[offset])";
} else if (this.reduceType === "sum" || this.reduceType === "mean") {
@ -63281,57 +63304,51 @@ var ReduceProgram2 = class {
reduceOp = " bestValue = bestValue * candidate; ";
initValue = "1.0";
}
const outputSnippet = this.reduceType === "mean" ? `setOutputFlat(flatOutputIndex, bestValue / f32(uniforms.reduceSize));` : `setOutputFlat(flatOutputIndex, bestValue);`;
const outputSnippet = this.reduceType === "mean" ? `setOutputFlat(outputIndex, bestValue / f32(uniforms.reduceSize));` : `setOutputFlat(outputIndex, bestValue);`;
const sharedMemorySnippet = `
var<workgroup> xBestValues : array<f32, ${this.workGroupSize[0]}>;
`;
const sharedMemoryReduceSnippet = `
xBestValues[localId.x] = bestValue;
${this.reduceType === "sum" || this.reduceType === "mean" || this.reduceType === "prod" ? `bestValue = ${initValue};` : " "}
var currentSize = WorkGroupSize;
for(; currentSize > 1;) {
workgroupBarrier();
for (var w = 0; w < ${this.reductionFactor}; w = w + 1) {
let i = i32(localId.x) * ${this.reductionFactor} + w;
if (i < currentSize) {
let candidate = xBestValues[i];
${reduceOp}
}
}
workgroupBarrier();
xBestValues[localId.x] = bestValue;
currentSize = DIV_CEIL(currentSize, ${this.reductionFactor});
${this.reduceType === "sum" || this.reduceType === "mean" || this.reduceType === "prod" ? `if(currentSize > 1) { bestValue = ${initValue}; }` : ""}
}
if (localId.x == 0u) {
${outputSnippet}
}
`;
const userCode = `
fn DIV_CEIL(a : i32, b : i32) -> i32 {
return ((a - 1) / b + 1);
fn DIV_CEIL(a : u32, b : u32) -> u32 {
return ((a - 1u) / b + 1u);
}
let WorkGroupSize = ${this.workGroupSize[0]};
${reduceInSharedMemory ? sharedMemorySnippet : ""}
fn getOffset(globalId : vec3<u32>) -> i32 {
let outputCoords = getOutputCoordsWithNonFlatDispatchLayout(globalId);
${sharedMemorySnippet}
fn getOffset(outputIndex : i32) -> i32 {
let outputCoords = getCoordsFromFlatIndex(outputIndex);
let offset = ${this.outputShape.length === 1 ? "outputCoords" : "outputCoords[0]"} * uniforms.reduceSize;
return offset;
return offset;
}
${getNonFlatDispatchLayoutMainHeaderString()} {
let offset = getOffset(globalId);
${getMainHeaderAndGlobalIndexString()}
let outputIndex = index / i32(workGroupSizeX);
let offset = getOffset(outputIndex);
var bestValue = ${initValue};
let Length = uniforms.reduceSize;
let WorkPerThread = DIV_CEIL(Length, WorkGroupSize);
for (var w = 0; w < WorkPerThread; w = w + 1) {
let i = i32(globalId.x) * WorkPerThread + w;
if (i < Length) {
let candidate = f32(x.numbers[offset + i]);
${reduceOp}
}
let WorkPerThread = DIV_CEIL(u32(Length), workGroupSizeX);
for (var k = i32(localId.x); k < Length && outputIndex < uniforms.size;
k = k + i32(workGroupSizeX)) {
let candidate = f32(x.numbers[offset + k]);
${reduceOp}
}
let flatOutputIndex = i32(globalId.y);
${reduceInSharedMemory ? sharedMemoryReduceSnippet : outputSnippet}
xBestValues[localId.x] = bestValue;
workgroupBarrier();
var reduceSize = min(u32(Length), workGroupSizeX);
for (var currentSize = reduceSize / 2u; reduceSize > 1u;
currentSize = reduceSize / 2u) {
let interval = DIV_CEIL(reduceSize, 2u);
if (localId.x < currentSize) {
let candidate = xBestValues[localId.x + interval];
${reduceOp}
xBestValues[localId.x] = bestValue;
}
reduceSize = interval;
workgroupBarrier();
}
if (localId.x == 0u && outputIndex < uniforms.size) {
${outputSnippet}
}
}
`;
return userCode;
@ -63379,7 +63396,7 @@ function reduce2(x, axis, keepDims, reduceType, backend2) {
const uniformData = [
{ type: "int32", data: [inSize] }
];
const program = new ReduceProgram2(reduceInfo, reduceType, dtype);
const program = new ReduceProgram2(reduceInfo, reduceType);
const reduced = backend2.runWebGPUProgram(program, [input2], dtype, uniformData);
toDispose.push(reduced);
res = reshape5({ inputs: { x: reduced }, attrs: { shape: resOutShape }, backend: backend2 });
@ -64798,7 +64815,7 @@ var ScatterOptimizedProgram = class {
`;
}
const updatesSnippet = `getUpdates(${updatesString})`;
const atomicAddSnippet = this.type === "int32" ? `ignore(atomicAdd(&(result.numbers[flatIndex]), i32(updateValue)));` : `
const atomicAddSnippet = this.type === "int32" ? `atomicAdd(&(result.numbers[flatIndex]), i32(updateValue));` : `
var assumed = atomicLoad(&(result.numbers[flatIndex]));
var success = 0;
for (; success == 0;) {
@ -69929,7 +69946,7 @@ registerBackend("wasm", async () => {
const { wasm } = await init();
return new BackendWasm(wasm);
}, WASM_PRIORITY);
var externalVersion = "3.11.0-20211118";
var externalVersion = "3.11.0-20211121";
var version8 = {
tfjs: externalVersion,
"tfjs-core": externalVersion,

View File

@ -74,8 +74,8 @@
"@vladmandic/tfjs": "github:vladmandic/tfjs",
"canvas": "^2.8.0",
"dayjs": "^1.10.7",
"esbuild": "^0.13.14",
"eslint": "8.2.0",
"esbuild": "^0.13.15",
"eslint": "8.3.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-html": "^6.2.0",
"eslint-plugin-import": "^2.25.3",

View File

@ -45,11 +45,11 @@ export const kpt: Array<string> = [
export const connected: Record<string, string[]> = {
leftLeg: ['leftHip', 'leftKnee', 'leftAnkle', 'leftHeel', 'leftFoot'],
rightLeg: ['rightHip', 'rightKnee', 'rightAnkle', 'rightHeel', 'rightFoot'],
torso: ['leftShoulder', 'rightShoulder', 'rightHip', 'leftHip', 'leftShoulder'],
torso: ['leftShoulder', 'rightShoulder', 'rightHip', 'leftHip', 'leftShoulder', 'rightShoulder'],
leftArm: ['leftShoulder', 'leftElbow', 'leftWrist', 'leftPalm'],
rightArm: ['rightShoulder', 'rightElbow', 'rightWrist', 'rightPalm'],
leftHand: ['leftHand', 'leftPalm', 'leftPinky', 'leftPalm', 'leftIndex', 'leftPalm', 'leftThumb'],
rightHand: ['rightHand', 'rightPalm', 'rightPinky', 'rightPalm', 'rightIndex', 'rightPalm', 'rightThumb'],
// leftHand: ['leftHand', 'leftPalm', 'leftPinky', 'leftPalm', 'leftIndex', 'leftPalm', 'leftThumb'],
// rightHand: ['rightHand', 'rightPalm', 'rightPinky', 'rightPalm', 'rightIndex', 'rightPalm', 'rightThumb'],
leftEye: ['leftEyeInside', 'leftEye', 'leftEyeOutside'],
rightEye: ['rightEyeInside', 'rightEye', 'rightEyeOutside'],
mouth: ['leftMouth', 'rightMouth'],

View File

@ -138,10 +138,12 @@ export class Env {
try {
if (this.webgpu.supported) this.webgpu.adapter = (await navigator['gpu'].requestAdapter()).name;
// enumerate kernels
this.kernels = tf.getKernelsForBackend(tf.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch {
this.webgpu.supported = false;
}
try {
this.kernels = tf.getKernelsForBackend(tf.getBackend()).map((kernel) => kernel.kernelName.toLowerCase());
} catch { /**/ }
}
/** update cpu information */

View File

@ -1,322 +1,25 @@
2021-11-18 10:06:13 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.3"}
2021-11-18 10:06:13 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-11-18 10:06:13 INFO:  Toolchain: {"build":"0.6.4","esbuild":"0.13.14","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.2.0"}
2021-11-18 10:06:13 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-11-18 10:06:13 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2021-11-18 10:06:13 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-18 10:06:13 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546931,"outputBytes":462537}
2021-11-18 10:06:13 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-18 10:06:13 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546939,"outputBytes":462541}
2021-11-18 10:06:13 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-18 10:06:13 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547006,"outputBytes":462613}
2021-11-18 10:06:13 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-18 10:06:13 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-18 10:06:13 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546568,"outputBytes":464258}
2021-11-18 10:06:14 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-18 10:06:14 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3045908,"outputBytes":1624796}
2021-11-18 10:06:14 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3045908,"outputBytes":2969964}
2021-11-18 10:06:34 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":108}
2021-11-18 10:06:34 WARN:  You are running with an unsupported TypeScript version! TypeDoc supports 4.0, 4.1, 4.2, 4.3, 4.4
2021-11-18 10:06:41 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":52,"generated":true}
2021-11-18 10:06:41 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-18 10:06:41 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-18 10:07:16 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":94,"errors":0,"warnings":0}
2021-11-18 10:07:17 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-11-18 10:07:17 INFO:  Done...
2021-11-19 13:43:40 INFO:  @vladmandic/human version 2.5.3
2021-11-19 13:43:40 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.0.1
2021-11-19 13:43:40 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.3"}
2021-11-19 13:43:40 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-11-19 13:43:40 INFO:  Toolchain: {"build":"0.6.4","esbuild":"0.13.14","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.2.0"}
2021-11-19 13:43:40 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]}
2021-11-19 13:43:40 STATE: WebServer: {"ssl":false,"port":10030,"root":"."}
2021-11-19 13:43:40 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-19 13:43:40 STATE: Watch: {"locations":["src/**","README.md","src/**/*","tfjs/**/*","demo/**/*.ts"]}
2021-11-19 13:43:40 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-19 13:43:40 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546931,"outputBytes":462537}
2021-11-19 13:43:40 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-19 13:43:40 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546939,"outputBytes":462541}
2021-11-19 13:43:40 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-19 13:43:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547006,"outputBytes":462613}
2021-11-19 13:43: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-19 13:43: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-19 13:43: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":546568,"outputBytes":464258}
2021-11-19 13:43: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":110,"outputBytes":2500252}
2021-11-19 13:43:41 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3045908,"outputBytes":1624796}
2021-11-19 13:43:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3045908,"outputBytes":2969964}
2021-11-19 13:43:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 13:43:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 13:43:42 INFO:  Listening...
2021-11-19 15:06:45 INFO:  @vladmandic/human version 2.5.3
2021-11-19 15:06:45 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.0.1
2021-11-19 15:06:45 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.3"}
2021-11-19 15:06:45 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-11-19 15:06:45 INFO:  Toolchain: {"build":"0.6.4","esbuild":"0.13.14","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.2.0"}
2021-11-19 15:06:45 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]}
2021-11-19 15:06:45 STATE: WebServer: {"ssl":false,"port":10030,"root":"."}
2021-11-19 15:06:45 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-19 15:06:45 STATE: Watch: {"locations":["src/**","README.md","src/**/*","tfjs/**/*","demo/**/*.ts"]}
2021-11-19 15:06:45 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-19 15:06:45 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546975,"outputBytes":462579}
2021-11-19 15:06:45 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-19 15:06:45 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546983,"outputBytes":462583}
2021-11-19 15:06:45 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-19 15:06:45 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547050,"outputBytes":462655}
2021-11-19 15:06:45 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-19 15:06:45 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-19 15:06:45 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546612,"outputBytes":464300}
2021-11-19 15:06:45 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 15:06:46 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3045952,"outputBytes":1624822}
2021-11-19 15:06:46 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3045952,"outputBytes":2970006}
2021-11-19 15:06:46 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 15:06:46 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 15:06:46 INFO:  Listening...
2021-11-19 15:08:26 INFO:  Watch: {"event":"modify","input":"src/util/draw.ts"}
2021-11-19 15:08:26 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-19 15:08:26 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546998,"outputBytes":462612}
2021-11-19 15:08:26 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-19 15:08:26 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547006,"outputBytes":462616}
2021-11-19 15:08:26 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-19 15:08:26 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547073,"outputBytes":462688}
2021-11-19 15:08:26 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-19 15:08:26 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-19 15:08:26 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546635,"outputBytes":464333}
2021-11-19 15:08:26 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 15:08:27 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3045975,"outputBytes":1624827}
2021-11-19 15:08:27 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3045975,"outputBytes":2970039}
2021-11-19 15:08:27 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 15:08:27 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 15:10:41 INFO:  Watch: {"event":"modify","input":"src/util/draw.ts"}
2021-11-19 15:10: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-19 15:10:41 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":546984,"outputBytes":462598}
2021-11-19 15:10: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-19 15:10:41 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":546992,"outputBytes":462602}
2021-11-19 15:10: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-19 15:10:41 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547059,"outputBytes":462674}
2021-11-19 15:10: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-19 15:10: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-19 15:10: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":546621,"outputBytes":464319}
2021-11-19 15:10:42 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 15:10:42 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3045961,"outputBytes":1624821}
2021-11-19 15:10:42 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3045961,"outputBytes":2970025}
2021-11-19 15:10:42 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 15:10:42 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 15:17:44 INFO:  Watch: {"event":"modify","input":"src/body/blazeposecoords.ts"}
2021-11-19 15:17:44 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-19 15:17:44 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547132,"outputBytes":462746}
2021-11-19 15:17:44 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-19 15:17:44 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547140,"outputBytes":462750}
2021-11-19 15:17:44 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-19 15:17:44 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547207,"outputBytes":462822}
2021-11-19 15:17:44 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-19 15:17:44 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-19 15:17:44 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546769,"outputBytes":464467}
2021-11-19 15:17:45 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 15:17:45 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046109,"outputBytes":1624956}
2021-11-19 15:17:46 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046109,"outputBytes":2970173}
2021-11-19 15:17:46 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 15:17:46 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 15:18:30 INFO:  Watch: {"event":"modify","input":"src/body/blazeposecoords.ts"}
2021-11-19 15:18: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-19 15:18:31 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547132,"outputBytes":462746}
2021-11-19 15:18: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-19 15:18:31 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547140,"outputBytes":462750}
2021-11-19 15:18: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-19 15:18:31 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547207,"outputBytes":462822}
2021-11-19 15:18: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-19 15:18: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-19 15:18: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":546769,"outputBytes":464467}
2021-11-19 15:18: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":110,"outputBytes":2500252}
2021-11-19 15:18:31 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046109,"outputBytes":1624956}
2021-11-19 15:18:32 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046109,"outputBytes":2970173}
2021-11-19 15:18:32 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 15:18:32 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 15:20:22 INFO:  Watch: {"event":"modify","input":"src/util/draw.ts"}
2021-11-19 15:20:22 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-19 15:20:22 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547227,"outputBytes":462849}
2021-11-19 15:20:22 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-19 15:20:22 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547235,"outputBytes":462853}
2021-11-19 15:20:22 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-19 15:20:22 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547302,"outputBytes":462925}
2021-11-19 15:20:22 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-19 15:20:22 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-19 15:20:22 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":546864,"outputBytes":464570}
2021-11-19 15:20:22 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 15:20:23 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046204,"outputBytes":1625013}
2021-11-19 15:20:23 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046204,"outputBytes":2970276}
2021-11-19 15:20:23 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 15:20:23 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:00:28 INFO:  Watch: {"event":"modify","input":"src/body/blazeposecoords.ts"}
2021-11-19 16:00: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-19 16:00:28 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547520,"outputBytes":463026}
2021-11-19 16:00: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-19 16:00:28 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547528,"outputBytes":463030}
2021-11-19 16:00: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-19 16:00:28 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547595,"outputBytes":463102}
2021-11-19 16:00: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-19 16:00: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-19 16:00: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":547157,"outputBytes":464747}
2021-11-19 16:00: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":110,"outputBytes":2500252}
2021-11-19 16:00:29 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046497,"outputBytes":1625178}
2021-11-19 16:00:29 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046497,"outputBytes":2970453}
2021-11-19 16:00:29 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:00:29 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:01:20 INFO:  Watch: {"event":"modify","input":"src/body/blazeposecoords.ts"}
2021-11-19 16:01:20 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-19 16:01:20 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547518,"outputBytes":463026}
2021-11-19 16:01:20 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-19 16:01:20 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547526,"outputBytes":463030}
2021-11-19 16:01:20 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-19 16:01:20 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547593,"outputBytes":463102}
2021-11-19 16:01:20 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-19 16:01:20 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-19 16:01:21 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":547155,"outputBytes":464747}
2021-11-19 16:01:21 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 16:01:21 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046495,"outputBytes":1625178}
2021-11-19 16:01:22 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046495,"outputBytes":2970453}
2021-11-19 16:01:22 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:01:22 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:04:57 INFO:  Watch: {"event":"remove","input":"src/body/annotations.ts"}
2021-11-19 16:04:57 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-19 16:04:57 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547518,"outputBytes":463026}
2021-11-19 16:04:57 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-19 16:04:58 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547526,"outputBytes":463030}
2021-11-19 16:04: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-19 16:04:58 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547593,"outputBytes":463102}
2021-11-19 16:04: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-19 16:04: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-19 16:04: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":547155,"outputBytes":464747}
2021-11-19 16:04: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":110,"outputBytes":2500252}
2021-11-19 16:04:59 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046495,"outputBytes":1625178}
2021-11-19 16:04:59 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046495,"outputBytes":2970453}
2021-11-19 16:04:59 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:04:59 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:06:48 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"}
2021-11-19 16:06: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-19 16:06:48 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547582,"outputBytes":462928}
2021-11-19 16:06: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-19 16:06:48 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547590,"outputBytes":462932}
2021-11-19 16:06: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-19 16:06:48 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547657,"outputBytes":463004}
2021-11-19 16:06: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-19 16:06: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-19 16:06: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":547219,"outputBytes":464649}
2021-11-19 16:06: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":110,"outputBytes":2500252}
2021-11-19 16:06:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046559,"outputBytes":1625108}
2021-11-19 16:06:49 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046559,"outputBytes":2970355}
2021-11-19 16:06:49 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:06:49 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:27:15 INFO:  @vladmandic/human version 2.5.3
2021-11-19 16:27:15 INFO:  User: vlado Platform: linux Arch: x64 Node: v17.0.1
2021-11-19 16:27:15 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.3"}
2021-11-19 16:27:15 INFO:  Environment: {"profile":"development","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-11-19 16:27:15 INFO:  Toolchain: {"build":"0.6.4","esbuild":"0.13.14","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.2.0"}
2021-11-19 16:27:15 INFO:  Build: {"profile":"development","steps":["serve","watch","compile"]}
2021-11-19 16:27:15 STATE: WebServer: {"ssl":false,"port":10030,"root":"."}
2021-11-19 16:27:15 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-19 16:27:15 STATE: Watch: {"locations":["src/**","README.md","src/**/*","tfjs/**/*","demo/**/*.ts"]}
2021-11-19 16:27:15 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-19 16:27:15 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547627,"outputBytes":462973}
2021-11-19 16:27:15 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-19 16:27:15 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547635,"outputBytes":462977}
2021-11-19 16:27:15 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-19 16:27:15 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547702,"outputBytes":463049}
2021-11-19 16:27:15 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-19 16:27:15 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-19 16:27:15 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":547264,"outputBytes":464694}
2021-11-19 16:27: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":110,"outputBytes":2500252}
2021-11-19 16:27:16 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046604,"outputBytes":1625141}
2021-11-19 16:27:16 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046604,"outputBytes":2970400}
2021-11-19 16:27:16 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:27:16 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:27:16 INFO:  Listening...
2021-11-19 16:27:47 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"}
2021-11-19 16:27: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-19 16:27:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547582,"outputBytes":462928}
2021-11-19 16:27: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-19 16:27:47 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547590,"outputBytes":462932}
2021-11-19 16:27: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-19 16:27:47 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547657,"outputBytes":463004}
2021-11-19 16:27: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-19 16:27: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-19 16:27: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":547219,"outputBytes":464649}
2021-11-19 16:27:47 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 16:27:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046559,"outputBytes":1625108}
2021-11-19 16:27:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046559,"outputBytes":2970355}
2021-11-19 16:27:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:27:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:27:54 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"}
2021-11-19 16:27: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-19 16:27:54 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":547582,"outputBytes":462928}
2021-11-19 16:27: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-19 16:27:54 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":547590,"outputBytes":462932}
2021-11-19 16:27: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-19 16:27:55 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":547657,"outputBytes":463004}
2021-11-19 16:27:55 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-19 16:27:55 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-19 16:27:55 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":547219,"outputBytes":464649}
2021-11-19 16:27: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":110,"outputBytes":2500252}
2021-11-19 16:27:55 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3046559,"outputBytes":1625108}
2021-11-19 16:27:56 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3046559,"outputBytes":2970355}
2021-11-19 16:27:56 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:27:56 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:55:47 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"}
2021-11-19 16:55: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-19 16:55:47 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":548037,"outputBytes":463249}
2021-11-19 16:55: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-19 16:55:47 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":548045,"outputBytes":463253}
2021-11-19 16:55: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-19 16:55:47 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":548112,"outputBytes":463325}
2021-11-19 16:55: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-19 16:55: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-19 16:55: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":547674,"outputBytes":465006}
2021-11-19 16:55: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":110,"outputBytes":2500252}
2021-11-19 16:55:48 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3047014,"outputBytes":1625263}
2021-11-19 16:55:48 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3047014,"outputBytes":2970664}
2021-11-19 16:55:48 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:55:48 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 16:57:06 INFO:  Watch: {"event":"modify","input":"src/body/blazepose.ts"}
2021-11-19 16:57:06 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-19 16:57:06 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":548033,"outputBytes":463245}
2021-11-19 16:57:06 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-19 16:57:06 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":548041,"outputBytes":463249}
2021-11-19 16:57:06 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-19 16:57:06 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":548108,"outputBytes":463321}
2021-11-19 16:57:06 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-19 16:57:06 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-19 16:57:06 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":547670,"outputBytes":465002}
2021-11-19 16:57:07 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 16:57:07 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3047010,"outputBytes":1625251}
2021-11-19 16:57:08 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3047010,"outputBytes":2970662}
2021-11-19 16:57:08 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 16:57:08 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 17:17:33 INFO:  Watch: {"event":"modify","input":"src/util/draw.ts"}
2021-11-19 17:17:33 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-19 17:17:33 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":548033,"outputBytes":463245}
2021-11-19 17:17:33 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-19 17:17:33 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":548041,"outputBytes":463249}
2021-11-19 17:17:33 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-19 17:17:33 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":548108,"outputBytes":463321}
2021-11-19 17:17:33 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-19 17:17:33 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-19 17:17:33 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":547670,"outputBytes":465002}
2021-11-19 17:17:34 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 17:17:34 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3047010,"outputBytes":1625251}
2021-11-19 17:17:34 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3047010,"outputBytes":2970662}
2021-11-19 17:17:34 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 17:17:34 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-19 17:58:17 INFO:  Watch: {"event":"modify","input":"src/util/interpolate.ts"}
2021-11-19 17:58:17 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-19 17:58:17 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":548441,"outputBytes":463649}
2021-11-19 17:58:17 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":1283}
2021-11-19 17:58:17 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":548449,"outputBytes":463653}
2021-11-19 17:58:17 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":1350}
2021-11-19 17:58:17 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":548516,"outputBytes":463725}
2021-11-19 17:58:17 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-19 17:58:17 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":2326,"outputBytes":912}
2021-11-19 17:58:17 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":548078,"outputBytes":465406}
2021-11-19 17:58:18 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500252}
2021-11-19 17:58:18 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3047418,"outputBytes":1625477}
2021-11-19 17:58:19 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3047418,"outputBytes":2971066}
2021-11-19 17:58:19 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-19 17:58:19 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-21 16:47:59 INFO:  Application: {"name":"@vladmandic/human","version":"2.5.3"}
2021-11-21 16:47:59 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2021-11-21 16:47:59 INFO:  Toolchain: {"build":"0.6.4","esbuild":"0.13.15","typescript":"4.5.2","typedoc":"0.22.9","eslint":"8.3.0"}
2021-11-21 16:47:59 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2021-11-21 16:47:59 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2021-11-21 16:47:59 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-21 16:47:59 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":62,"inputBytes":548495,"outputBytes":463490}
2021-11-21 16:47:59 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-21 16:47:59 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":62,"inputBytes":548503,"outputBytes":463494}
2021-11-21 16:47:59 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-21 16:47:59 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":62,"inputBytes":548570,"outputBytes":463566}
2021-11-21 16:47:59 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-21 16:47:59 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-21 16:47:59 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":62,"inputBytes":548132,"outputBytes":465247}
2021-11-21 16:48:00 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":2500605}
2021-11-21 16:48:00 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":62,"inputBytes":3047825,"outputBytes":1625313}
2021-11-21 16:48:01 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":62,"inputBytes":3047825,"outputBytes":2971260}
2021-11-21 16:48:21 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":108}
2021-11-21 16:48:21 WARN:  You are running with an unsupported TypeScript version! TypeDoc supports 4.0, 4.1, 4.2, 4.3, 4.4
2021-11-21 16:48:29 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":52,"generated":true}
2021-11-21 16:48:29 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5841,"outputBytes":4127}
2021-11-21 16:48:29 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":11794}
2021-11-21 16:49:07 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":93,"errors":0,"warnings":0}
2021-11-21 16:49:08 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2021-11-21 16:49:08 INFO:  Done...

File diff suppressed because it is too large Load Diff

View File

@ -40,6 +40,6 @@
<p>Running in WebWorker thread</p>
</div></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="updateBackend" class="tsd-anchor"></a><h3>update<wbr/>Backend</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">update<wbr/>Backend<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/util/env.ts#L114">src/util/env.ts:114</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>update backend information</p>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="updateCPU" class="tsd-anchor"></a><h3>updateCPU</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">updateCPU<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/util/env.ts#L148">src/util/env.ts:148</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="updateCPU" class="tsd-anchor"></a><h3>updateCPU</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">updateCPU<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vladmandic/human/blob/main/src/util/env.ts#L150">src/util/env.ts:150</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>update cpu information</p>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../index.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="../modules/Tensor.html">Tensor</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="Env.html" class="tsd-kind-icon">Env</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="Env.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#Canvas" class="tsd-kind-icon">Canvas</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#Image" class="tsd-kind-icon">Image</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#ImageData" class="tsd-kind-icon">Image<wbr/>Data</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#agent" class="tsd-kind-icon">agent</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#backends" class="tsd-kind-icon">backends</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#browser" class="tsd-kind-icon">browser</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#cpu" class="tsd-kind-icon">cpu</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#filter" class="tsd-kind-icon">filter</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#initial" class="tsd-kind-icon">initial</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#kernels" class="tsd-kind-icon">kernels</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#node" class="tsd-kind-icon">node</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#offscreen" class="tsd-kind-icon">offscreen</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#perfadd" class="tsd-kind-icon">perfadd</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#platform" class="tsd-kind-icon">platform</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#tfjs" class="tsd-kind-icon">tfjs</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#wasm" class="tsd-kind-icon">wasm</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#webgl" class="tsd-kind-icon">webgl</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#webgpu" class="tsd-kind-icon">webgpu</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Env.html#worker" class="tsd-kind-icon">worker</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Env.html#updateBackend" class="tsd-kind-icon">update<wbr/>Backend</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Env.html#updateCPU" class="tsd-kind-icon">updateCPU</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long