Pytea ซึ่งเป็นเครื่องวิเคราะห์แบบคงที่สำหรับการตรวจจับข้อผิดพลาดรูปร่างเทนเซอร์ในรหัส pytorch มีข้อ จำกัด หลายประการแม้จะมีประสิทธิภาพในการระบุรูปร่างที่ไม่ตรงกันที่อาจเกิดขึ้น:
1. การระเบิดของเส้นทางและความซับซ้อน: ในขณะที่ PyTea ใช้การตัดแต่งกิ่งอนุรักษ์เพื่อจัดการจำนวนเส้นทางการดำเนินการโมเดลที่ซับซ้อนที่มีคำแถลงเงื่อนไขหรือลูปจำนวนมากยังคงอาจนำไปสู่การระเบิดของเส้นทาง 3].
2. API ที่ไม่ได้ใช้งาน: Pytea อาจเพิ่มการเตือนที่ผิดพลาดหากพบ Pytorch หรือ API ของบุคคลที่สามอื่น ๆ ที่ยังไม่ได้ใช้งานภายในกรอบของมัน ซึ่งหมายความว่าผู้ใช้จำเป็นต้องทราบว่า API ใดได้รับการสนับสนุนเพื่อหลีกเลี่ยงการเตือนที่ไม่จำเป็น [5]
3. ข้อ จำกัด การวิเคราะห์ออฟไลน์: การวิเคราะห์ออฟไลน์โดยใช้ตัวแก้ Z3 SMT สามารถส่งผลให้เส้นทางที่ไม่สามารถตัดสินใจได้หากข้อ จำกัด มีความซับซ้อนหรือไม่เป็นเชิงเส้นมากเกินไปนำไปสู่การหมดเวลา สิ่งนี้อาจไม่ได้เป็นข้อบ่งชี้ที่ชัดเจนว่าเส้นทางนั้นถูกต้องหรือไม่ [5]
4. การตีความผลลัพธ์: ผู้ใช้จำเป็นต้องตีความผลลัพธ์อย่างรอบคอบเนื่องจาก Pytea ระบุข้อผิดพลาดที่อาจเกิดขึ้นตามข้อ จำกัด ที่อาจไม่นำไปสู่ข้อผิดพลาดรันไทม์ที่เกิดขึ้นจริงเสมอไป สิ่งนี้ต้องการการทำความเข้าใจบริบทและเส้นทางการดำเนินการที่อาจเกิดขึ้นของรหัส [5]
5. การรวมและการสนับสนุน: ในขณะที่ Pytea สนับสนุนห้องสมุดที่สำคัญเช่น Torchvision, Numpy และ PIL การรวมเข้ากับสภาพแวดล้อมการพัฒนาเช่น VSCODE ยังอยู่ในระหว่างการพัฒนา ซึ่งหมายความว่าคุณสมบัติการดีบักแบบโต้ตอบยังไม่เติบโตอย่างสมบูรณ์ [2]
การอ้างอิง:[1] https://arxiv.org/pdf/2112.09037.pdf
[2] https://www.reddit.com/r/machinelearning/comments/rm4fgz/p_a_static_analyzer_for_detecting_tensor_shape/
[3] https://sf.snu.ac.kr/pytea/
[4] https://www.researchgate.net/publication/370473038_static_analysis_of_hape_in_tensorflow_programs
[5] https://github.com/ropas/pytea
[6] https://arxiv.org/pdf/2106.02887.pdf
[7] https://dl.acm.org/doi/10.1145/3510454.3528638
[8] https://towardsdatascience.com/understanding-tensors-learning-a-data-structure-through-3-pesky-errors-6d674776be0c/