Mise à niveau vers TensorFlow.js 3.0

Ce qui a changé dans TensorFlow.js 3.0

Les notes de version sont disponibles ici . Cette version met à niveau TypeScript vers 4.8.4 et @webgpu/types vers 0.1.21. Si vous n'utilisez pas TypeScript, vous pouvez mettre à jour vers la version 4.0 sans lire ce document.

Changements révolutionnaires

Cette version est en rupture pour les projets qui utilisent typescript<4.4 . Tous les autres projets ne devraient pas être affectés.

Mise à niveau du code à partir de 3.x

Pour TypeScript >= 4.4

Aucune modification majeure de l'API n'a été apportée dans cette version, donc les projets qui utilisent typescript>=4.4 peuvent traiter cela comme une version mineure et mettre à niveau sans aucune modification.

Pour TypeScript <4.4

Lors de l'utilisation typescript<4.4 , l'erreur suivante se produira.

node_modules/@webgpu/types/dist/index.d.ts:587:16 - error TS2304: Cannot find name 'PredefinedColorSpace'.

587   colorSpace?: PredefinedColorSpace;
                   ~~~~~~~~~~~~~~~~~~~~
...

Pour résoudre ce problème, mettez à niveau TypeScript vers la version 4.4.2 ou supérieure, ou ajoutez le fichier predefined_color_space.d.ts (le nom et le chemin peuvent être modifiés) avec le contenu suivant à votre projet pour définir le type manquant. Supprimez ce fichier lorsque TypeScript est mis à niveau vers la version 4.4 ou supérieure.

prédéfini_color_space.d.ts

type PredefinedColorSpace = "display-p3" | "srgb";

Pour TypeScript <3.6

typescript<3.6 a l'erreur supplémentaire suivante.

node_modules/@tensorflow/tfjs-core/dist/engine.d.ts:127:9 - error TS1086: An accessor cannot be declared in an ambient context.

127     get backend(): KernelBackend;
            ~~~~~~~
...

Activez skipLibCheck pour supprimer cette erreur, ou effectuez une mise à niveau vers au moins TypeScript 3.6.2 pour la corriger (le correctif ci-dessus pour PredefinedColorSpace devra également être appliqué).