Pytea, un analizzatore di errori di forma del tensore di Pytorch, è progettato per scansionare staticamente le applicazioni di Pytorch e rilevare possibili errori di forma analizzando i percorsi di esecuzione e i vincoli di forma del tensore. Tuttavia, Pytea può lottare con alcune API di Pytorch se non sono pienamente implementate o supportate nel suo framework.
L'analisi di Pytea può emettere falsi allarmi se il codice contiene Pytorch o altre API di terze parti che non sono state implementate. Ciò significa che se Pytea incontra una chiamata API non implementata, potrebbe erroneamente contrassegnarla come errore o emettere un avviso. Lo strumento registra ogni chiamata API non implementata nei suoi registri, consentendo agli utenti di identificare quali API specifiche non sono supportate [10].
Inoltre, l'efficacia di Pytea può essere limitata dalla complessità del codice che analizza. Ad esempio, se il codice prevede operazioni complesse o vincoli non lineari che sono difficili da gestire per il solutore SMT (Z3), Pytea potrebbe classificare questi casi come "indecidibili" e timeout [10]. Tuttavia, le API di Pytorch specifiche con cui Pytea lotta non sono esplicitamente elencate, ma qualsiasi operazione non implementata o eccessivamente complessa potrebbe rappresentare sfide.
Citazioni:[1] https://arxiv.org/pdf/2112.09037.pdf
[2] https://stackoverflow.com/questions/59158044/installing-a-specific-pytorch-build-f-e-cpu-ony-with-poetry
[3] https://pytorch.org/docs/stable/func.ux_limitations.html
[4] https://pytorch.org/docs/stable/torch.compiler_fine_grain_apis.html
[5] https://pytorch.org/functorch/stable/ux_limitations.html
[6] https://discuss.pytorch.org/t/survey-what-are-you-using-the-c-api-for/55163
[7] https://docs.habana.ai/en/latest/pytorch_customop_api/page_index.html
[8] https://discuss.pytorch.org/t/is-there-an-elegant-way-to-calculato-integral-image-using-using-pytorch-api/22669
[9] https://www.altexsoft.com/blog/pytorch-library/
[10] https://github.com/ropas/pytea