Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deep Learning Frameworks: A journey through the many tools available in the Python ecosystem for Deep Learning.

Deep Learning Frameworks: A journey through the many tools available in the Python ecosystem for Deep Learning.

This course is meant for research and practitioners who are interested in understand commonalities and differences of the many different tools nowadays available in the Python ecosystem for Machine and Deep Learning. Among the analysed frameworks, this talk will examine Theano (and Lasagne), TensorFlow, Keras, PyTorch and mxnet from a very technical perspective. This main goal of this talk is to introduce the many features of the frameworks, emphasising their pros and cons, as well as suggested use cases in which those tools may express their best.

Valerio Maggio

December 05, 2018
Tweet

More Decks by Valerio Maggio

Other Decks in Programming

Transcript

  1. LOREM I P S U M DEEP LEARNING FRAMEWORKS A

    journey through the many tools available in the 
 Python ecosystem for Deep Learning [email protected] @leriomaggio @leriomaggio
  2. ML PYTHON POWERED MACHINE LEARNING P Y T H O

    N github.com/josephmisiti/awesome-machine-learning#python
  3. MACHINE LEARNING P Y T H O N Scala PyWrap

    + C++ PyWrap + Python Powered
  4. • Theano is the numerical computing workhorse that powers many

    of the other deep learning frameworks. • It was built by Frédéric Bastien and the excellent research team behind the University of Montreal’s lab, MILA. • Its API is quite low level • to write effective Theano you need to be quite familiar with the algorithms that are hidden away behind the scenes in other frameworks. • Theano is a go-to library if: • you have substantial academic machine learning expertise • you are looking for very fine grained control of your models, or want to implement a novel or unusual model. • In general, Theano trades ease of use for flexibility.
  5. L O G I S T I C R E

    G R E S S I O N https://github.com/Newmu/Theano-Tutorials
  6. • PROS • Flexibility • Performance (if used properly) •

    Inspirational for many other frameworks 
 (see next) • Framework of reference till ~2016 • CONS • No Longer Maintained • Substantial learning curve • Lower level API • Compiling complex symbolic graphs can be slow
  7. B A S E D F R A M E

    W O R K S https://blocks.readthedocs.io/en/latest/
  8. • PROS • Still very flexible • Higher layer of

    abstraction than Theano • Very well tested • CONS • Substantial learning curve (still) • Smaller Community
  9. • TensorFlow is a blend between lower level, symbolic computation

    
 (like Theano), and higher level, network specification libraries like Blocks and Lasagne. • (so far) TF has the largest active community - backed by Google Brain • It offers support for running machine/deep learning models: • across multiple GPUs • provides utilities for efficient data pipelining • visualisation, and serialisation of models. • (More recently), the TensorFlow team decided to incorporate support for Keras
  10. L O G I S T I C R E

    G R E S S I O N
  11. • PROS • Very large community • Low level &

    high level interfaces to network training • Faster model compilation than Theano-based options • Clean multi-GPU support • Distributed Computation/Training + Model Serving • Ready for Production • CONS • Steep learning curve • (quite) bad documentation • Non Numpy-friendly API • Difficult to Debug