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:
- installera @tensorflow/tfjs-react-native om du inte redan har gjort det:
npm install @tensorflow/tfjs-react-native- 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";