tensorflow.js - TFJS kaster TS2411 som fejl ved import ved brug af Typescript
Jeg prøver at importere tfjs i et Typescript-miljø. Dog får jeg følgende fejl:
node_modules/@tensorflow/tfjs-layers/dist/keras_format/types.d.ts:12:5 - fejl TS2411: Egenskaben 'config' af typen 'T' kan ikke tildeles til strengindeks typen 'PyJsonValue'.
Dette kan nemt gengives med følgende trin:
npm init
npm i @tensorflow/tfjs
npm i typescript
Opret en index.ts:
import * as tf from '@tensorflow/tfjs';
// Define a model for linear regression.
const model = tf.sequential();
Konfigurer og kompiler:
tsc --init
tsc
Filen package.json indeholder derefter følgende:
"dependencies": {
"@tensorflow/tfjs": "^0.15.1",
"typescript": "3.3.3"
}
Og tsconfig ser sådan ud:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"esModuleInterop": true
}
}
Svar #1
Efter lidt interaktion med tfjs-teamet kunne vi spore problemet. Problemet ligger faktisk i TypeScript-konfigurationen. Hvis flaget: "strictNullChecks": true er sat, kaster TypeScript den førnævnte kompileringsfejl. Da dette flag er inkluderet i "strict": true, som igen er inkluderet i standard TypeScript-konfigurationen, er dette uønsket adfærd.
Som en midlertidig løsning kan man bruge skipLibCheck til kun at tjekke deres egen kode og ikke afhængighederne.
Problemet relateret til dette kan findes her: Problem på tfjs