Challenges in Migrating Imperative Deep Learning Programs to Graph Execution: An Empirical Study
Not on the map. Why?
Abstract (arXiv)
Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code that supports symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development tends to produce DL code that is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, less error-prone imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. While hybrid approaches aim for the "best of both worlds," the challenges in applying them in the real world are largely unknown. We conduct a data-driven analysis of challenges -- and resultant bugs -- involved in writing reliable yet performant imperative DL code by studying 250 open-source projects, consisting of 19.7 MLOC, along with 470 and 446 manually examined code patches and bug reports, respectively. The results indicate that hybridization: (i) is prone to API misuse, (ii) can result in performance degradation -- the opposite of its intention, and (iii) has limited application due to execution mode incompatibility. We put forth several recommendations, best practices, and anti-patterns for effectively hybridizing imperative DL code, potentially benefiting DL practitioners, API designers, tool developers, and educators.
Key facts. Cited by 2 papers in the map (data through 7 Oct 2026). Builds on 19 of its 110 references that are in the map. First posted on arXiv 24 Jan 2022.
Builds on
19 of 110 references.
References · 19
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2015MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systemscited by 195
- 2019Taxonomy of Real Faults in Deep Learning Systemscited by 90
- 2019A Comprehensive Study on Deep Learning Bug Characteristicscited by 65
- 2018Software Engineering Challenges of Deep Learningcited by 41
- 2020Repairing Deep Neural Networks: Fix Patterns and Challengescited by 33
- 2021Silent Bugs in Deep Learning Frameworks: An Empirical Study of Keras and TensorFlowcited by 25
- 2019TensorFlow Eager: A Multi-Stage, Python-Embedded DSL for Machine Learningcited by 22
- 2021An Empirical Study on Deployment Faults of Deep Learning Based Mobile Applicationscited by 20
- 2019What Do Developers Ask About ML Libraries? A Large-scale Study Using Stack Overflowcited by 13
- 2021Design Smells in Deep Learning Programs: An Empirical Studycited by 10
- 2018AutoGraph: Imperative-style Coding with Graph-based Performancecited by 9
7 more
- 2019Analysis and Detection of Information Types of Open Source Software Issue Discussionscited by 9
- 2020Documentation of Machine Learning Softwarecited by 8
- 2020ArguLens: Anatomy of Community Opinions On Usability Issues Using Argumentation Modelscited by 2
- 2021Mining Software Repositories with a Collaborative Heuristic Repositorycited by 2
- 2018Proactive Empirical Assessment of New Language Feature Adoption via Automated Refactoring: The Case of Java 8 Default Methodscited by 1
- 2020A Deep Dive on the Impact of COVID-19 in Software Developmentcited by 1
- 2021Automated Evolution of Feature Logging Statement Levels Using Git Histories and Degree of Interestcited by 1
Built on by
Citing papers per year: 2024: 1; 2025: 1.
2 papers.