Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Как Pytea обрабатывает сложные пути выполнения в коде Pytorch


Как Pytea обрабатывает сложные пути выполнения в коде Pytorch


Pytea, статический анализатор для обнаружения ошибок формы тензора в коде Pytorch, обрабатывает сложные пути выполнения, используя несколько стратегий:

1. Консервативная обрезка: Pytea использует метод консервативной обрезки, чтобы уменьшить количество путей выполнения. Этот метод помогает предотвратить взрыв пути, который может произойти при анализе кода с многочисленными условными ветвями. Обрезки менее актуальных путей, Pytea фокусируется на наиболее критических путях выполнения, которые, вероятно, будут содержать ошибки формы тензора [1] [2].

2. Символическая абстракция: Pytea полагается на символическую абстракцию, чтобы упростить анализ циклов и условных утверждений. Эта абстракция позволяет Pytea анализировать код без необходимости его выполнения, что делает его более эффективным для обработки сложных путей [1] [2].

3. Обработка петлей: для петли Pytea разворачивает концентрационные петли и анализирует их прямую кодовую версию. Для петель с неизвестными границами, такими как те, которые итерация по наборам данных, Pytea анализирует корпус петли для двух случаев: Minibatch с фиксированным размером и меньший остаточный Minibatch. Этот подход упрощает анализ петель, которые в противном случае могли бы усложнить анализ пути выполнения [1] [2].

4. Механизм тайм -аута: если количество путей выполнения все еще становится слишком большим, несмотря на обрезку, Pytea использует механизм тайм -аута. Это гарантирует, что анализ не займет чрезмерно много времени, даже если это означает, что не полностью изучает все возможные пути [1] [2].

Объединяя эти стратегии, Pytea эффективно обрабатывает сложные пути выполнения в коде Pytorch, позволяя ему быстро и точно определять ошибки формы тензора.

Цитаты:
[1] https://sf.snu.ac.kr/publications/pytea.pdf
[2] https://arxiv.org/pdf/2112.09037.pdf
[3] https://sf.snu.ac.kr/pytea/
[4] https://www.researchgate.net/publication/357114953_a_static_analyzer_for_detuction_tensor_shape_errors_in_deep_neural_network_training_code
[5] https://dl.acm.org/doi/10.1145/3510454.3528638
[6] https://discuss.pytorch.org/t/pytorch-coning-conventions/42548
[7] https://www.computer.org/csdl/proecumentings-article/icse-companion/2022/959800a337/1eapbpbou12
[8] https://stackoverflow.com/questions/57410835/define-a-meralative-path-folder-inside-a-function-hat-code-on-both-cmd-and-id