2

我正在尝试在我的节点服务器上加载本地 tensorflowjs 模型,但出现错误:

UnhandledPromiseRejectionWarning: TypeError: Only HTTP(S) protocols are supported.

这就是我导入 Tensorflowjs 包的方式:

const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');

global.fetch = require('node-fetch')

并像这样加载模型:

const ssd_model_path =
    'file://models/ssd_model/model.json'

this.model = await tf.loadLayersModel(ssd_model_path);

我的依赖项如下:

"dependencies": {
    "@tensorflow/tfjs": "^1.5.2",
    "@tensorflow/tfjs-core": "^1.2.11",
    "@tensorflow/tfjs-node": "^1.2.3",
    "electron-reload": "^1.5.0",
    "esm": "^3.2.25",
    "jimp": "^0.9.3",
    "node-fetch": "^2.6.0"
  }
4

1 回答 1

3

我认为tfjs-node适用于 NodeJS,tfjs适用于 Web 浏览器。你不应该同时使用两者,因为tfjs-node所有东西都是 NodeJS 的依赖项。

如果你看一个 NodeJS 的例子,那么你会看到不使用tfjs

https://github.com/tensorflow/tfjs-examples/tree/master/mnist-node

于 2020-02-09T14:22:45.607 回答