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

Relaterede artikler