pull/70/head
Vladimir Mandic 2021-01-29 10:25:26 -05:00
parent ffecdbd87b
commit 48ac470592
2 changed files with 65 additions and 233 deletions

272
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@vladmandic/human",
"version": "0.10.2",
"version": "0.11.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -156,17 +156,17 @@
"dev": true
},
"@tensorflow/tfjs": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-2.8.5.tgz",
"integrity": "sha512-UjfMWEARIMOKpfB2+zIofKdZLD3VuCHIdmMkLTdBZrKl3XNmcclQzDpfozssO19ncS2mC1J70uS1Xo1K9nv7BQ==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-3.0.0.tgz",
"integrity": "sha512-8u4BGKhxJ+SHg6pWEwBqIM8Z4hdXmy3Lts8xilC1uMALoVfIActp3icUufZL5PfoXe+v7OsQe3CqC+8qTNLYoA==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@tensorflow/tfjs-backend-webgl": "2.8.5",
"@tensorflow/tfjs-converter": "2.8.5",
"@tensorflow/tfjs-core": "2.8.5",
"@tensorflow/tfjs-data": "2.8.5",
"@tensorflow/tfjs-layers": "2.8.5",
"@tensorflow/tfjs-backend-cpu": "3.0.0",
"@tensorflow/tfjs-backend-webgl": "3.0.0",
"@tensorflow/tfjs-converter": "3.0.0",
"@tensorflow/tfjs-core": "3.0.0",
"@tensorflow/tfjs-data": "3.0.0",
"@tensorflow/tfjs-layers": "3.0.0",
"argparse": "^1.0.10",
"chalk": "^4.1.0",
"core-js": "3",
@ -175,9 +175,9 @@
}
},
"@tensorflow/tfjs-backend-cpu": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-2.8.5.tgz",
"integrity": "sha512-6Wpp5wPkNzAm1MovtXU9Gs3hIRl/iqc7CUHlqCB4hUBIDHM7zek7vm7JjQv5IopzYNtHnuasSklNR9kb4ZAOdA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.0.0.tgz",
"integrity": "sha512-W7IX+xga007cYiFmq+QpEuDCy8SK+fsiVwawfjMFN+Dfs2FFi7JW6cHCLun/SQ5WC7dTWOhJVTwCaSBWQz6bjw==",
"dev": true,
"requires": {
"@types/seedrandom": "2.4.27",
@ -193,22 +193,22 @@
}
},
"@tensorflow/tfjs-backend-wasm": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-2.8.5.tgz",
"integrity": "sha512-Pt85ndNbOaMtR16wHSwgRkXRXIO8kufg1TzjxF/BnU0N9YZD396UB9pyr04+vNgAp0Ne5Edkp+Zz+WEthD36+A==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.0.0.tgz",
"integrity": "sha512-L3DDoHqNtbW4J8G/sPVvBIuVqm7xm+Ty/Z38NnbPpt8LhTlDlafcXQCFMJcJhx7HWqquL0GAyOik1GbzhWf+Og==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@tensorflow/tfjs-backend-cpu": "3.0.0",
"@types/emscripten": "~0.0.34"
}
},
"@tensorflow/tfjs-backend-webgl": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-2.8.5.tgz",
"integrity": "sha512-/HjutyY6QYqBoiNdZobQS+RbxZ4VlVEty10OuY3jLJEhWn3E0kG2ctKyJrSkuGDZy37LJardezdQK7zPpR78cw==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.0.0.tgz",
"integrity": "sha512-ydgmwIMLQcX65I8CYXwuY03ShHi9atDn7WopjGb561/asWleL25kg/KfcZRQKbgbCFD3PRePvmW0ytqtXgDdpw==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@tensorflow/tfjs-backend-cpu": "3.0.0",
"@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30",
@ -225,15 +225,15 @@
}
},
"@tensorflow/tfjs-converter": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.5.tgz",
"integrity": "sha512-ddxUx3+XdM8fWNBJsksu1mD8+si8LSvDAp638Ddf+iS2Peh3HdGG/jvCi8QDpn1tAcvW8ImrfuGVZ6ulP4k/mg==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.0.0.tgz",
"integrity": "sha512-3Mw7gLQiG65rap8EHKaoPxaWkwjz1hH8EbsDAaatW/ez5bWFY576hdmn/dXN56XOfdvNMDJjTgXTiU6VApH6Sg==",
"dev": true
},
"@tensorflow/tfjs-core": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.8.5.tgz",
"integrity": "sha512-djhwPl/AJZmoBsXGwr0kU4Cn/SQ8uTSPgf2qcIQQPuJnhdEXiXgaV5Fcwn+fSl9AItAg1X669FdvOGn+WgOXoA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.0.0.tgz",
"integrity": "sha512-bqE6q8afvXtTa21T27+/YIqwj0wvoH3leeAl8ciNvGuOVmYA69hIaDfwthSA8WsvqR0BQDK+8qDxR/BEUtmj7g==",
"dev": true,
"requires": {
"@types/offscreencanvas": "~2019.3.0",
@ -252,9 +252,9 @@
}
},
"@tensorflow/tfjs-data": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.8.5.tgz",
"integrity": "sha512-TH7VGi+xqZ5eHtZMHtJg/m5kDcdWwM+Mygd8Fa5TNCmxB9Mbm3bye3oSUQBJmdhlfGN34/06w81IInJ+LSXDug==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-3.0.0.tgz",
"integrity": "sha512-pZjs8Z+7vD6Y0wnEIUP6qca4+db4C6v1lsV0QAgSqbnfOMz2QxQNorKxTqbrNP1mYkpqfxqR/5mLe+tD7gy36w==",
"dev": true,
"requires": {
"@types/node-fetch": "^2.1.2",
@ -262,19 +262,19 @@
}
},
"@tensorflow/tfjs-layers": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.5.tgz",
"integrity": "sha512-d4gPPXK6hVLeMYiKtTpltGJGIf3Pzka3w4X5V5t1TJpQLIoRonWsFfWQTsdkpvJUYaSK/l5nhyvD6td08jWY3A==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.0.0.tgz",
"integrity": "sha512-nNtWXycmlEm56cFMXvTzS4Wr4rslgBbFJ6PC47Qbtl0qSfwV57qNTifDr4VOb9yCovOPiPUZGsi3FTaSr23Q5g==",
"dev": true
},
"@tensorflow/tfjs-node": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-2.8.5.tgz",
"integrity": "sha512-bRUi/7zFG8EqK0WCyDalCtjcn4rMzU0SciO0bYiu1k/diJTr+jxEMS6MaW69slEC5Fqr66GcqP9KiY7l7NQRLQ==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node/-/tfjs-node-3.0.0.tgz",
"integrity": "sha512-eeZIst3uZZ3iYj/8YiCE6nZUSNP9ISgQ9Y3BgrWp3EnySvuZv03F+XWSZ/8mNjyq4S0pBzbt08u5dY7jBRP5Tg==",
"dev": true,
"requires": {
"@tensorflow/tfjs": "2.8.5",
"@tensorflow/tfjs-core": "2.8.5",
"@tensorflow/tfjs": "3.0.0",
"@tensorflow/tfjs-core": "3.0.0",
"adm-zip": "^0.4.11",
"google-protobuf": "^3.9.2",
"https-proxy-agent": "^2.2.1",
@ -284,84 +284,6 @@
"tar": "^4.4.6"
},
"dependencies": {
"@tensorflow/tfjs": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-2.8.5.tgz",
"integrity": "sha512-UjfMWEARIMOKpfB2+zIofKdZLD3VuCHIdmMkLTdBZrKl3XNmcclQzDpfozssO19ncS2mC1J70uS1Xo1K9nv7BQ==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@tensorflow/tfjs-backend-webgl": "2.8.5",
"@tensorflow/tfjs-converter": "2.8.5",
"@tensorflow/tfjs-core": "2.8.5",
"@tensorflow/tfjs-data": "2.8.5",
"@tensorflow/tfjs-layers": "2.8.5",
"argparse": "^1.0.10",
"chalk": "^4.1.0",
"core-js": "3",
"regenerator-runtime": "^0.13.5",
"yargs": "^16.0.3"
}
},
"@tensorflow/tfjs-backend-cpu": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-2.8.5.tgz",
"integrity": "sha512-6Wpp5wPkNzAm1MovtXU9Gs3hIRl/iqc7CUHlqCB4hUBIDHM7zek7vm7JjQv5IopzYNtHnuasSklNR9kb4ZAOdA==",
"dev": true,
"requires": {
"@types/seedrandom": "2.4.27",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-backend-webgl": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-2.8.5.tgz",
"integrity": "sha512-/HjutyY6QYqBoiNdZobQS+RbxZ4VlVEty10OuY3jLJEhWn3E0kG2ctKyJrSkuGDZy37LJardezdQK7zPpR78cw==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30",
"@types/webgl2": "0.0.5",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-converter": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.5.tgz",
"integrity": "sha512-ddxUx3+XdM8fWNBJsksu1mD8+si8LSvDAp638Ddf+iS2Peh3HdGG/jvCi8QDpn1tAcvW8ImrfuGVZ6ulP4k/mg==",
"dev": true
},
"@tensorflow/tfjs-core": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.8.5.tgz",
"integrity": "sha512-djhwPl/AJZmoBsXGwr0kU4Cn/SQ8uTSPgf2qcIQQPuJnhdEXiXgaV5Fcwn+fSl9AItAg1X669FdvOGn+WgOXoA==",
"dev": true,
"requires": {
"@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30",
"node-fetch": "~2.6.1",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-data": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.8.5.tgz",
"integrity": "sha512-TH7VGi+xqZ5eHtZMHtJg/m5kDcdWwM+Mygd8Fa5TNCmxB9Mbm3bye3oSUQBJmdhlfGN34/06w81IInJ+LSXDug==",
"dev": true,
"requires": {
"@types/node-fetch": "^2.1.2",
"node-fetch": "~2.6.1"
}
},
"@tensorflow/tfjs-layers": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.5.tgz",
"integrity": "sha512-d4gPPXK6hVLeMYiKtTpltGJGIf3Pzka3w4X5V5t1TJpQLIoRonWsFfWQTsdkpvJUYaSK/l5nhyvD6td08jWY3A==",
"dev": true
},
"rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
@ -370,23 +292,17 @@
"requires": {
"glob": "^7.1.3"
}
},
"seedrandom": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz",
"integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=",
"dev": true
}
}
},
"@tensorflow/tfjs-node-gpu": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-2.8.5.tgz",
"integrity": "sha512-x4bgI2lJbAovlA1ncD6r1RYSJY11neItJAAtZYA85XgvnR60YaMGwvTh6cfYnmPmShQ05735OGraC6jAdtlQTg==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-node-gpu/-/tfjs-node-gpu-3.0.0.tgz",
"integrity": "sha512-K0VNB0saaHihbSyS6utFZI7hXsAOhWZsRjFEj38PUS9kA7Li7PBA6u6/rhlRFfjID44SsvhbpaWN8HsFv+brXw==",
"dev": true,
"requires": {
"@tensorflow/tfjs": "2.8.5",
"@tensorflow/tfjs-core": "2.8.5",
"@tensorflow/tfjs": "3.0.0",
"@tensorflow/tfjs-core": "3.0.0",
"adm-zip": "^0.4.11",
"google-protobuf": "^3.9.2",
"https-proxy-agent": "^2.2.1",
@ -396,84 +312,6 @@
"tar": "^4.4.6"
},
"dependencies": {
"@tensorflow/tfjs": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-2.8.5.tgz",
"integrity": "sha512-UjfMWEARIMOKpfB2+zIofKdZLD3VuCHIdmMkLTdBZrKl3XNmcclQzDpfozssO19ncS2mC1J70uS1Xo1K9nv7BQ==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@tensorflow/tfjs-backend-webgl": "2.8.5",
"@tensorflow/tfjs-converter": "2.8.5",
"@tensorflow/tfjs-core": "2.8.5",
"@tensorflow/tfjs-data": "2.8.5",
"@tensorflow/tfjs-layers": "2.8.5",
"argparse": "^1.0.10",
"chalk": "^4.1.0",
"core-js": "3",
"regenerator-runtime": "^0.13.5",
"yargs": "^16.0.3"
}
},
"@tensorflow/tfjs-backend-cpu": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-2.8.5.tgz",
"integrity": "sha512-6Wpp5wPkNzAm1MovtXU9Gs3hIRl/iqc7CUHlqCB4hUBIDHM7zek7vm7JjQv5IopzYNtHnuasSklNR9kb4ZAOdA==",
"dev": true,
"requires": {
"@types/seedrandom": "2.4.27",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-backend-webgl": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-2.8.5.tgz",
"integrity": "sha512-/HjutyY6QYqBoiNdZobQS+RbxZ4VlVEty10OuY3jLJEhWn3E0kG2ctKyJrSkuGDZy37LJardezdQK7zPpR78cw==",
"dev": true,
"requires": {
"@tensorflow/tfjs-backend-cpu": "2.8.5",
"@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30",
"@types/webgl2": "0.0.5",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-converter": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.5.tgz",
"integrity": "sha512-ddxUx3+XdM8fWNBJsksu1mD8+si8LSvDAp638Ddf+iS2Peh3HdGG/jvCi8QDpn1tAcvW8ImrfuGVZ6ulP4k/mg==",
"dev": true
},
"@tensorflow/tfjs-core": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-2.8.5.tgz",
"integrity": "sha512-djhwPl/AJZmoBsXGwr0kU4Cn/SQ8uTSPgf2qcIQQPuJnhdEXiXgaV5Fcwn+fSl9AItAg1X669FdvOGn+WgOXoA==",
"dev": true,
"requires": {
"@types/offscreencanvas": "~2019.3.0",
"@types/seedrandom": "2.4.27",
"@types/webgl-ext": "0.0.30",
"node-fetch": "~2.6.1",
"seedrandom": "2.4.3"
}
},
"@tensorflow/tfjs-data": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-2.8.5.tgz",
"integrity": "sha512-TH7VGi+xqZ5eHtZMHtJg/m5kDcdWwM+Mygd8Fa5TNCmxB9Mbm3bye3oSUQBJmdhlfGN34/06w81IInJ+LSXDug==",
"dev": true,
"requires": {
"@types/node-fetch": "^2.1.2",
"node-fetch": "~2.6.1"
}
},
"@tensorflow/tfjs-layers": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.5.tgz",
"integrity": "sha512-d4gPPXK6hVLeMYiKtTpltGJGIf3Pzka3w4X5V5t1TJpQLIoRonWsFfWQTsdkpvJUYaSK/l5nhyvD6td08jWY3A==",
"dev": true
},
"rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
@ -482,12 +320,6 @@
"requires": {
"glob": "^7.1.3"
}
},
"seedrandom": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.3.tgz",
"integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=",
"dev": true
}
}
},
@ -544,9 +376,9 @@
"dev": true
},
"@vladmandic/pilogger": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@vladmandic/pilogger/-/pilogger-0.2.12.tgz",
"integrity": "sha512-dnr1ZKqBZltvMC9SkFLz0MWlH2FlkL1aBu1P1DkiGwaY/QRvsL6RbPExScny2a++Z+ibGE8yUazKY0pMYHFcBA==",
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/@vladmandic/pilogger/-/pilogger-0.2.13.tgz",
"integrity": "sha512-EmLlXiPj0y69li6pXA8HhfRsBUEBH+iSxGJK4VPkjAy6q+uDFFt3cfJx6aHh4L7bIBbn0puzFv9OfPqFzRP0XA==",
"dev": true
},
"abbrev": {
@ -989,9 +821,9 @@
}
},
"esbuild": {
"version": "0.8.34",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.34.tgz",
"integrity": "sha512-tnr0V1ooakYr1aRLXQLzCn2GVG1kBTW3FWpRyC+NgrR3ntsouVpJOlTOV0BS4YLATx3/c+x3h/uBq9lWJlUAtQ==",
"version": "0.8.36",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.36.tgz",
"integrity": "sha512-kcUQB61Tf8rLJ3mOwP2ruWi/iFufaQcEs4No+JA6e7W2kMOtFExOsbyeFpEF6zNacwk2RF5fYUz5jfZwgn/SJg==",
"dev": true
},
"escalade": {
@ -1520,9 +1352,9 @@
"dev": true
},
"get-intrinsic": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
"integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz",
"integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==",
"dev": true,
"requires": {
"function-bind": "^1.1.1",

View File

@ -1,6 +1,6 @@
{
"name": "@vladmandic/human",
"version": "0.10.2",
"version": "0.11.1",
"description": "Human: AI-powered 3D Face Detection, Face Embedding & Recognition, Body Pose Tracking, Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction & Gesture Recognition",
"sideEffects": false,
"main": "dist/human.node.js",
@ -22,20 +22,20 @@
"dependencies": {},
"peerDependencies": {},
"devDependencies": {
"@tensorflow/tfjs": "^2.8.5",
"@tensorflow/tfjs-backend-cpu": "^2.8.5",
"@tensorflow/tfjs-backend-wasm": "^2.8.5",
"@tensorflow/tfjs-backend-webgl": "^2.8.5",
"@tensorflow/tfjs-converter": "^2.8.5",
"@tensorflow/tfjs-core": "^2.8.5",
"@tensorflow/tfjs-data": "^2.8.5",
"@tensorflow/tfjs-layers": "^2.8.5",
"@tensorflow/tfjs-node": "^2.8.5",
"@tensorflow/tfjs-node-gpu": "^2.8.5",
"@vladmandic/pilogger": "^0.2.12",
"@tensorflow/tfjs": "^3.0.0",
"@tensorflow/tfjs-backend-cpu": "^3.0.0",
"@tensorflow/tfjs-backend-wasm": "^3.0.0",
"@tensorflow/tfjs-backend-webgl": "^3.0.0",
"@tensorflow/tfjs-converter": "^3.0.0",
"@tensorflow/tfjs-core": "^3.0.0",
"@tensorflow/tfjs-data": "^3.0.0",
"@tensorflow/tfjs-layers": "^3.0.0",
"@tensorflow/tfjs-node": "^3.0.0",
"@tensorflow/tfjs-node-gpu": "^3.0.0",
"@vladmandic/pilogger": "^0.2.13",
"chokidar": "^3.5.1",
"dayjs": "^1.10.4",
"esbuild": "^0.8.34",
"esbuild": "^0.8.36",
"eslint": "^7.18.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-plugin-import": "^2.22.1",