Pytea, statický analyzátor pro detekci chyb tvaru tenzoru v kódu Pytorch, má několik omezení navzdory jeho účinnosti při identifikaci potenciálních neshod tvaru:
1.. Výbuch a složitost cesty: Zatímco Pytea používá konzervativní prořezávání ke správě počtu cest provádění, složité modely s mnoha podmíněnými prohlášeními nebo smyčováním by stále mohly vést k explozi cesty, což potenciálně omezuje jeho škálovatelnost ve velmi velkých nebo vysoce dynamických kódových směrech [1] [[1] [[1] [[1] [[1] [[1] [[1] [[1] [[1] [[1] [ 3].
2. Neimplementované API: Pytea může zvýšit falešné poplachy, pokud narazí na Pytorch nebo jiná API třetích stran, která nebyla implementována v rámci jeho rámce. To znamená, že uživatelé si musí být vědomi toho, která API jsou podporována, aby se zabránilo zbytečným varováním [5].
3. Omezení analýzy offline: Analýza offline využívajícího řešitele Z3 SMT může vést k nerozhodnutelným cestám, pokud jsou omezení příliš složitá nebo nelineární, což vede k časovým limitům. To nemusí vždy poskytnout jasný náznak toho, zda je cesta platná nebo ne [5].
4. Interpretace výsledků: Uživatelé musí interpretovat výsledky pečlivě, protože Pytea identifikuje potenciální chyby založené na omezeních, která nemusí vždy vést ke skutečným chybám runtime. To vyžaduje pochopení kontextu a potenciálních cest provádění kódu [5].
5. Integrace a podpora: Zatímco Pytea podporuje hlavní knihovny jako Torchvision, Numpy a PIL, její integrace s vývojovým prostředím, jako je VScode, se stále vyvíjí. To znamená, že interaktivní prvky ladění ještě nejsou plně zralé [2].
Citace:[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_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/unstanding-tingors-learning-a-tata-Structure-Through-3-Pesky-errors-6D674776BE0C//