การอัปเกรดเป็น 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 หรือสูงกว่า

predefed_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 ด้วย)