Pytea, un analyseur statique pour détecter les erreurs de forme du tenseur dans le code Pytorch, a plusieurs limites malgré son efficacité dans l'identification des décalages de forme potentielle:
1. Explosion et complexité du chemin: tandis que Pytea utilise une élagage conservateur pour gérer le nombre de chemins d'exécution, des modèles complexes avec de nombreuses instructions ou boucles conditionnels pourraient toujours conduire à une explosion de chemin, ce qui limite potentiellement son évolutivité dans des bases de code très grandes ou très dynamiques [1] [ 3].
2. Cela signifie que les utilisateurs doivent savoir quelles API sont prises en charge pour éviter les avertissements inutiles [5].
3. Limites d'analyse hors ligne: L'analyse hors ligne utilisant le solveur SMT Z3 peut entraîner des chemins indécidables si les contraintes sont trop complexes ou non linéaires, ce qui entraîne des délais d'attente. Cela peut ne pas toujours fournir une indication claire de savoir si un chemin est valide ou non [5].
4. Interprétation des résultats: Les utilisateurs doivent interpréter attentivement les résultats, car Pytea identifie les erreurs potentielles basées sur des contraintes qui ne conduisent pas toujours à des erreurs d'exécution réelles. Cela nécessite de comprendre le contexte et les chemins d'exécution potentiels du code [5].
5. Intégration et soutien: Bien que Pytea prenne en charge les grandes bibliothèques comme TorchVision, Numpy et PIL, son intégration avec des environnements de développement comme VScode est toujours en développement. Cela signifie que les fonctionnalités de débogage interactives ne sont pas encore entièrement matures [2].
Citations:[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/Understanding-Tensors-learning-a-data-structure-through-3-pesky-errors-6d674776be0c/