Pytea, statický analyzátor na detekciu chýb tvaru tenzora v kóde Pytorch, má niekoľko obmedzení napriek svojej účinnosti pri identifikácii nezhody potenciálneho tvaru:
1. Výbuch a zložitosť cesty: Zatiaľ čo Pytea používa konzervatívne prerezávanie na riadenie počtu vykonávacích ciest, zložité modely s mnohými podmienenými príkazmi alebo slučkami môžu stále viesť k výbuchu cesty, čo potenciálne obmedzuje jeho škálovateľnosť vo veľmi veľkých alebo vysoko dynamických kodebázach [1] [1] [1] [1] [1] [1] [1] [ 3].
2. Unimplementované rozhrania API: Pytea môže zvýšiť falošné poplachy, ak sa stretne s Pytorchom alebo inými rozhraniami API tretích strán, ktoré neboli implementované v rámci svojho rámca. To znamená, že používatelia si musia byť vedomí toho, ktoré API sú podporované, aby sa predišlo zbytočným varovaním [5].
3. Obmedzenia offline analýzy: Offline analýza pomocou riešiča Z3 SMT môže mať za následok nerečiteľné cesty, ak sú obmedzenia príliš zložité alebo nelineárne, čo vedie k časovým limitom. To nemusí vždy poskytnúť jasný náznak toho, či je cesta platná alebo nie [5].
4. Interpretácia výsledkov: Používatelia musia dôkladne interpretovať výsledky, pretože Pytea identifikuje potenciálne chyby založené na obmedzeniach, ktoré nemusia vždy viesť k skutočným chybám runtime. Vyžaduje si to pochopenie kontextu a potenciálnych cestovných postupov kódu [5].
5. Integrácia a podpora: Zatiaľ čo Pytea podporuje hlavné knižnice ako Torchvision, Numpy a PIL, jej integrácia s vývojovými prostrediami, ako je VSCode, sa stále vyvíja. To znamená, že interaktívne funkcie ladenia ešte nie sú úplne zrelé [2].
Citácie:[1] https://arxiv.org/pdf/2112.09037.pdf
[2] https://www.reddit.com/r/machinearning/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_shape_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-cštruktúra-through-3-pesky-errors-6d6d67776be0c/