الترقية إلى TensorFlow.js 3.0

ما الذي تغير في TensorFlow.js 3.0

ملاحظات الإصدار متاحة هنا . يقوم هذا الإصدار بترقية TypeScript إلى 4.8.4 و @webgpu/types إلى 0.1.21. إذا كنت لا تستخدم TypeScript، فيمكنك التحديث إلى الإصدار 4.0 دون قراءة هذا المستند.

كسر التغييرات

هذا الإصدار معطل للمشاريع التي تستخدم typescript<4.4 . يجب ألا تتأثر جميع المشاريع الأخرى.

ترقية الكود من 3.x

بالنسبة لـ TypeScript >= 4.4

لم يتم إجراء أي تغييرات جذرية على واجهة برمجة التطبيقات (API) في هذا الإصدار، لذا يمكن للمشروعات التي تستخدم typescript>=4.4 التعامل مع هذا باعتباره إصدارًا بسيطًا وترقية دون أي تغييرات.

بالنسبة لـ TypeScript <4.4

عند استخدام typescript<4.4 ، سيحدث الخطأ التالي.

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

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

لإصلاح ذلك، قم بترقية TypeScript إلى الإصدار 4.4.2 أو أحدث، أو قم بإضافة الملف predefined_color_space.d.ts (يمكن تغيير الاسم والمسار) مع المحتويات التالية إلى مشروعك لتحديد النوع المفقود. قم بإزالة هذا الملف عند ترقية TypeScript إلى الإصدار 4.4 أو أعلى.

محدد مسبقًا_color_space.d.ts

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

بالنسبة لـ TypeScript <3.6

يحتوي typescript<3.6 على الخطأ الإضافي التالي.

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;
            ~~~~~~~
...

قم بتمكين skipLibCheck لمنع هذا الخطأ، أو قم بالترقية إلى TypeScript 3.6.2 على الأقل لإصلاحه (يجب أيضًا تطبيق الإصلاح أعلاه لـ PredefinedColorSpace ).