embedding fix

pull/70/head
Vladimir Mandic 2021-02-21 13:34:26 -05:00
parent d62e1438a5
commit e0f7748171
22 changed files with 34045 additions and 89 deletions

View File

@ -15,7 +15,7 @@ const userConfig = {
backend: 'wasm', backend: 'wasm',
async: false, async: false,
videoOptimized: false, videoOptimized: false,
face: { enabled: true, iris: { enabled: false }, mesh: { enabled: true }, age: { enabled: true }, gender: { enabled: true }, emotion: { enabled: true } }, face: { enabled: true, iris: { enabled: false }, mesh: { enabled: true }, age: { enabled: true }, gender: { enabled: true }, emotion: { enabled: true }, embedding: { enabled: true } },
body: { enabled: false }, body: { enabled: false },
hand: { enabled: false }, hand: { enabled: false },
}; };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{ {
"inputs": { "inputs": {
"dist/human.esm.js": { "dist/human.esm.js": {
"bytes": 1347222, "bytes": 1347291,
"imports": [] "imports": []
}, },
"demo/draw.js": { "demo/draw.js": {
@ -17,7 +17,7 @@
"imports": [] "imports": []
}, },
"demo/browser.js": { "demo/browser.js": {
"bytes": 26690, "bytes": 26720,
"imports": [ "imports": [
{ {
"path": "dist/human.esm.js", "path": "dist/human.esm.js",
@ -43,14 +43,14 @@
"imports": [], "imports": [],
"exports": [], "exports": [],
"inputs": {}, "inputs": {},
"bytes": 2021862 "bytes": 2022083
}, },
"dist/demo-browser-index.js": { "dist/demo-browser-index.js": {
"imports": [], "imports": [],
"exports": [], "exports": [],
"inputs": { "inputs": {
"dist/human.esm.js": { "dist/human.esm.js": {
"bytesInOutput": 1339746 "bytesInOutput": 1339815
}, },
"demo/draw.js": { "demo/draw.js": {
"bytesInOutput": 6204 "bytesInOutput": 6204
@ -65,7 +65,7 @@
"bytesInOutput": 17340 "bytesInOutput": 17340
} }
}, },
"bytes": 1388130 "bytes": 1388199
} }
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/human.esm.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

8
dist/human.esm.json vendored
View File

@ -175,7 +175,7 @@
] ]
}, },
"src/embedding/embedding.ts": { "src/embedding/embedding.ts": {
"bytes": 1909, "bytes": 2022,
"imports": [ "imports": [
{ {
"path": "src/log.ts", "path": "src/log.ts",
@ -499,7 +499,7 @@
"imports": [], "imports": [],
"exports": [], "exports": [],
"inputs": {}, "inputs": {},
"bytes": 1924685 "bytes": 1924848
}, },
"dist/human.esm.js": { "dist/human.esm.js": {
"imports": [], "imports": [],
@ -556,7 +556,7 @@
"bytesInOutput": 1180 "bytesInOutput": 1180
}, },
"src/embedding/embedding.ts": { "src/embedding/embedding.ts": {
"bytesInOutput": 725 "bytesInOutput": 794
}, },
"src/posenet/posenet.ts": { "src/posenet/posenet.ts": {
"bytesInOutput": 1007 "bytesInOutput": 1007
@ -622,7 +622,7 @@
"bytesInOutput": 2572 "bytesInOutput": 2572
} }
}, },
"bytes": 1347222 "bytes": 1347291
} }
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/human.node.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -175,7 +175,7 @@
] ]
}, },
"src/embedding/embedding.ts": { "src/embedding/embedding.ts": {
"bytes": 1909, "bytes": 2022,
"imports": [ "imports": [
{ {
"path": "src/log.ts", "path": "src/log.ts",
@ -499,7 +499,7 @@
"imports": [], "imports": [],
"exports": [], "exports": [],
"inputs": {}, "inputs": {},
"bytes": 705270 "bytes": 705433
}, },
"dist/human.node-gpu.js": { "dist/human.node-gpu.js": {
"imports": [], "imports": [],
@ -554,7 +554,7 @@
"bytesInOutput": 1247 "bytesInOutput": 1247
}, },
"src/embedding/embedding.ts": { "src/embedding/embedding.ts": {
"bytesInOutput": 769 "bytesInOutput": 838
}, },
"src/posenet/posenet.ts": { "src/posenet/posenet.ts": {
"bytesInOutput": 1030 "bytesInOutput": 1030
@ -620,7 +620,7 @@
"bytesInOutput": 2569 "bytesInOutput": 2569
} }
}, },
"bytes": 276775 "bytes": 276844
} }
} }
} }

4
dist/human.ts vendored

File diff suppressed because one or more lines are too long

4
dist/human.ts.map vendored

File diff suppressed because one or more lines are too long

8
dist/human.tson vendored
View File

@ -175,7 +175,7 @@
] ]
}, },
"src/embedding/embedding.ts": { "src/embedding/embedding.ts": {
"bytes": 1909, "bytes": 2022,
"imports": [ "imports": [
{ {
"path": "src/log.ts", "path": "src/log.ts",
@ -499,7 +499,7 @@
"imports": [], "imports": [],
"exports": [], "exports": [],
"inputs": {}, "inputs": {},
"bytes": 1924696 "bytes": 1924859
}, },
"dist/human.ts": { "dist/human.ts": {
"imports": [], "imports": [],
@ -554,7 +554,7 @@
"bytesInOutput": 1180 "bytesInOutput": 1180
}, },
"src/embedding/embedding.ts": { "src/embedding/embedding.ts": {
"bytesInOutput": 725 "bytesInOutput": 794
}, },
"src/posenet/posenet.ts": { "src/posenet/posenet.ts": {
"bytesInOutput": 1007 "bytesInOutput": 1007
@ -620,7 +620,7 @@
"bytesInOutput": 2572 "bytesInOutput": 2572
} }
}, },
"bytes": 1347264 "bytes": 1347333
} }
} }
} }

4216
dist/tfjs.esm.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

29753
dist/tfjs.esm.json vendored

File diff suppressed because it is too large Load Diff

View File

@ -64,6 +64,43 @@ const config = {
}; };
const targets = { const targets = {
node: {
tfjs: {
platform: 'node',
format: 'cjs',
metafile: 'dist/tfjs.esm.json',
entryPoints: ['src/tfjs/tf-node.ts'],
outfile: 'dist/tfjs.esm.js',
external: ['@tensorflow'],
},
node: {
platform: 'node',
format: 'cjs',
metafile: 'dist/human.node.json',
entryPoints: ['src/human.ts'],
outfile: 'dist/human.node.js',
external: ['@tensorflow'],
},
},
nodeGPU: {
tfjs: {
platform: 'node',
format: 'cjs',
metafile: 'dist/tfjs.esm.json',
entryPoints: ['src/tfjs/tf-node-gpu.ts'],
outfile: 'dist/tfjs.esm.js',
external: ['@tensorflow'],
},
node: {
platform: 'node',
format: 'cjs',
metafile: 'dist/human.node.json',
entryPoints: ['src/human.ts'],
outfile: 'dist/human.node-gpu.js',
external: ['@tensorflow'],
},
},
browserNoBundle: { browserNoBundle: {
tfjs: { tfjs: {
platform: 'browser', platform: 'browser',
@ -117,42 +154,6 @@ const targets = {
external: ['fs', 'buffer', 'util'], external: ['fs', 'buffer', 'util'],
}, },
}, },
node: {
tfjs: {
platform: 'node',
format: 'cjs',
metafile: 'dist/tfjs.esm.json',
entryPoints: ['src/tfjs/tf-node.ts'],
outfile: 'dist/tfjs.esm.js',
external: ['@tensorflow'],
},
node: {
platform: 'node',
format: 'cjs',
metafile: 'dist/human.node.json',
entryPoints: ['src/human.ts'],
outfile: 'dist/human.node.js',
external: ['@tensorflow'],
},
},
nodeGPU: {
tfjs: {
platform: 'node',
format: 'cjs',
metafile: 'dist/tfjs.esm.json',
entryPoints: ['src/tfjs/tf-node-gpu.ts'],
outfile: 'dist/tfjs.esm.js',
external: ['@tensorflow'],
},
node: {
platform: 'node',
format: 'cjs',
metafile: 'dist/human.node.json',
entryPoints: ['src/human.ts'],
outfile: 'dist/human.node-gpu.js',
external: ['@tensorflow'],
},
},
}; };
async function getStats(metafile) { async function getStats(metafile) {

View File

@ -16,6 +16,8 @@ export async function load(config) {
} }
export function simmilarity(embedding1, embedding2) { export function simmilarity(embedding1, embedding2) {
if (!embedding1 || embedding2) return 0;
if (embedding1?.length === 0 || embedding2?.length === 0) return 0;
if (embedding1?.length !== embedding2?.length) return 0; if (embedding1?.length !== embedding2?.length) return 0;
// general minkowski distance // general minkowski distance
// euclidean distance is limited case where order is 2 // euclidean distance is limited case where order is 2