开发者问题收集

TensorflowJS:TypeError:无法读取未定义的属性“fetch”

2019-05-08
1789

我有一个 angular 7 应用程序,我正在尝试按照 示例加载 mobilenet 模型。

我通过运行 npm install @tensorflow/tfjs 安装了 tensorflowjs(按照 说明进行操作),并通过运行 @tensorflow-models/mobilenet 安装了 mobilenet 模型。

之后,我通过执行以下操作导入了移动网络:

import * as mobilenet from '@tensorflow-models/mobilenet';

并执行以下代码以加载模型:

mobilenet.load().then(() => {
     obs.next();
}).catch((err) => {
     console.log(err);
     console.log("ERROR");
});

但我收到了以下错误:

TypeError: Cannot read property 'fetch' of undefined
    at new e (tf-core.esm.js:17)
    at browserHTTPRequest (tf-core.esm.js:17)
    at httpRequestRouter (tf-core.esm.js:17)
    at tf-core.esm.js:17
    at Array.forEach (<anonymous>)
    at Function.e.getHandlers (tf-core.esm.js:17)
    at Function.e.getLoadHandlers (tf-core.esm.js:17)
    at Object.getLoadHandlers (tf-core.esm.js:17)
    at e.findIOHandler (tf-converter.esm.js:17)
    at e.<anonymous> (tf-converter.esm.js:17)

有人知道这是什么问题吗?

2个回答

我发现问题在于我的 packade.json 上的 @tensorflow/tfs 和 @tensorflow/tfjs-core 版本不同。

因此,我将包配置从:

...
"@tensorflow/tfjs": "^1.1.2",
"@tensorflow/tfjs-core": "^1.0.2",
...

更改为:

...
"@tensorflow/tfjs": "^1.1.2",
"@tensorflow/tfjs-core": "^1.1.2",
...

错误就消失了。

Ricardo Rocha
2019-05-08

这帮我解决了问题。请按照以下步骤操作:

  1. 如果尚未安装 @tensorflow/tfjs-react-native,请安装:

npm install @tensorflow/tfjs-react-native

  1. 在文件顶部导入 @tensorflow/tfjs-react-native。例如,在我的情况下,我将其添加到我的 app.tsx 文件中:

import "@tensorflow/tfjs-react-native";

YassineKader
2024-04-07