diff --git a/package-lock.json b/package-lock.json index ecac9cb2..09597980 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index 550e8011..baebea39 100644 --- a/package.json +++ b/package.json @@ -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",