ارتقا به 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 یا بالاتر ارتقا داده شد، این فایل را حذف کنید.

predefined_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 نیز باید اعمال شود).