javascript - TensorflowJS: TypeError: Kan inte läsa egenskapen 'fetch' av undefined


Jag har en Angular 7-applikation och jag försöker ladda Mobilenet-modellen genom att följa det här exemplet.

Jag installerade tensorflowjs genom att köra npm install @tensorflow/tfjs (följde dessa instruktioner) och mobilenet-modellen genom att köra @tensorflow-models/mobilenet.

Efter det importerade jag mobilnätet genom att göra:

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

Och kör följande kod för att ladda modellen:

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

Men jag får följande fel:

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)

Vet någon vad problemet är?

Svar #1

Jag upptäckte att problemet var att jag hade olika versioner av @tensorflow/tfs och @tensorflow/tfjs-core i min package.json.

Så, jag ändrar min paketkonfiguration från:

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

Till :

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

Och felet försvann.

Svar #2

detta löste problemet för mig. Följ dessa steg:

  1. installera @tensorflow/tfjs-react-native om du inte redan har gjort det:
npm install @tensorflow/tfjs-react-native
  1. importera @tensorflow/tfjs-react-native högst upp i din fil. Till exempel, i mitt fall lade jag till det i min app.tsx-fil:
import "@tensorflow/tfjs-react-native";