这里是我的设置:
Package.json:
"@tensorflow-models/mobilenet": "^2.0.4",
"@tensorflow/tfjs": "^1.6.0",
"@tensorflow/tfjs-node": "^1.2.11",注意:必须更改为这些设置才能解决this issue.
我的文件架构:

**我的代码:**
const readImage = path => {
const imageBuffer = fs.readFileSync(path);
const tfimage = tfnode.node.decodeImage(imageBuffer);
return tfimage;
}
const performTheImageClassification = async path => {
const image = readImage("img_to_predict/actual.jpeg");
const mobilenetModel = await mobilenet.load();
const predictions = await mobilenetModel.classify(image);
console.log('Classification Results:', predictions);
}终端输出:
(node:65191) UnhandledPromiseRejectionWarning: TypeError: trackerFn(...).registerTensor is not a function
at new Tensor (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/node_modules/@tensorflow/tfjs-core/dist/tensor.js:246:21)
at Function.Tensor.make (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/node_modules/@tensorflow/tfjs-core/dist/tensor.js:261:16)
at makeTensor (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops.js:98:28)
at Object.scalar (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops.js:127:12)
at NodeJSKernelBackend.decodeJpeg (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/dist/nodejs_kernel_backend.js:1513:38)
at /Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/dist/image.js:103:14
at /Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs/node_modules/@tensorflow/tfjs-core/dist/engine.js:388:22
at Engine.scopedRun (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs/node_modules/@tensorflow/tfjs-core/dist/engine.js:398:23)
at Engine.tidy (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs/node_modules/@tensorflow/tfjs-core/dist/engine.js:387:21)
at Object.tidy (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/node_modules/@tensorflow/tfjs-core/dist/globals.js:172:28)
at decodeJpeg (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/dist/image.js:101:24)
at Object.decodeImage (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/node_modules/@tensorflow/tfjs-node/dist/image.js:209:20)
at readImage (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/server.js:97:31)
at performTheImageClassification (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/server.js:88:19)
at client.search.then.then (/Users/cyrus/Documents/Code/01. Code/debord_slow_sender_meme/server.js:81:12)
at process._tickCallback (internal/process/next_tick.js:68:7)发布于 2020-05-19 09:09:52
我也犯了同样的错误,当我试图修复这个错误的时候,其他的错误也出现了,这个错误还在继续。最后,我有了3个不同版本的tfjs tfjs-节点和移动网络。
我认为这个错误肯定是由版本错配引起的。我将tensorflow文件夹移除在nodemodules文件夹下,然后运行
npm i @tensorflow/tfjs @tensorflow/tfjs-node我特别指出了这一点,因为首先,我试图通过运行npm卸载命令并重新安装它们来卸载这两个包,但在nodemodules世界中,事情显然比这复杂得多,所以您需要卸载整个tensorflow包,因为我有一个完全不同版本的tfjs-converter,,另一个版本的tfjs--核心,tfjs--数据,以及它真的混在一起,所以确保您删除了整个tensorflow包并运行上面编写的命令来安装必要的包。
这将自动安装两个软件包的最新版本,当我发布这个答案时,它们应该是1.7.4。现在它对我来说是完美无缺的,我希望它也能对你有用。
,这是我的package.json,如果你想确定的话:
"@tensorflow-models/mobilenet": "^2.0.4",
"@tensorflow/tfjs": "^1.7.4",
"@tensorflow/tfjs-node": "^1.7.4",https://stackoverflow.com/questions/60590018
复制相似问题