Pytea, un analizador de error de forma de tensor Pytorch, está diseñado para escanear estáticamente aplicaciones de Pytorch y detectar posibles errores de forma mediante el análisis de rutas de ejecución y restricciones de forma de tensor. Sin embargo, Pytea puede luchar con ciertas API de Pytorch si no están completamente implementadas o compatibles con su marco.
El análisis de Pytea puede generar falsas alarmas si el código contiene Pytorch u otras API de terceros que no se han implementado. Esto significa que si Pytea encuentra una llamada API no implementada, puede marcarlo incorrectamente como un error o emitir una advertencia. La herramienta registra cada llamada API no implementada en sus registros, lo que permite a los usuarios identificar qué API específicas no son compatibles [10].
Además, la efectividad de Pytea puede estar limitada por la complejidad del código que analiza. Por ejemplo, si el código involucra operaciones complejas o restricciones no lineales que son difíciles de manejar para el solucionador SMT (Z3), PYTEA podría clasificar estos casos como "indecidibles" y tiempo de espera [10]. Sin embargo, las API específicas de Pytorch con las que lucha Pytea no se enumeran explícitamente, pero cualquier operación no implementada o demasiado compleja podría plantear desafíos.
Citas:[1] https://arxiv.org/pdf/2112.09037.pdf
[2] https://stackoverflow.com/questions/59158044/installing-a-specific-pytorch-build-f-e-cpu-only-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-au-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-calcule-ingral-image-using-pytorch-api/22669
[9] https://www.altexsoft.com/blog/pytorch-library/
[10] https://github.com/ropas/pytea