Get our free extension to see links to code for papers anywhere online!

Chrome logo Add to Chrome

Firefox logo Add to Firefox


JANUS: Fast and Flexible Deep Learning via Symbolic Graph Execution of Imperative Programs

Dec 04, 2018
Eunji Jeong, Sungwoo Cho, Gyeong-In Yu, Joo Seong Jeong, DongJin Shin, Byung-Gon Chun


Share this with someone who'll enjoy it:


The rapid evolution of deep neural networks is demanding deep learning (DL) frameworks not only to satisfy the traditional requirement of quickly executing large computations, but also to support straightforward programming models for quickly implementing and experimenting with complex network structures. However, existing frameworks fail to excel in both departments simultaneously, leading to diverged efforts for optimizing performance and improving usability. This paper presents JANUS, a system that combines the advantages from both sides by transparently converting an imperative DL program written in Python, the de-facto scripting language for DL, into an efficiently executable symbolic dataflow graph. JANUS can convert various dynamic features of Python, including dynamic control flow, dynamic types, and impure functions, into elements of a symbolic dataflow graph. Experiments demonstrate that JANUS can achieve fast DL training by exploiting the techniques imposed by symbolic graph-based DL frameworks, while maintaining the simple and flexible programmability of imperative DL frameworks at the same time.

* NSDI 2019 
* To appear at NSDI 2019 


   Access Paper Source



Share this with someone who'll enjoy it: