SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Open-Source Frameworks for
Deep Learning: an Overview
Vincenzo Lomonaco
University of Bologna ML Course - 2018
PhD Student @ University of Bologna
Founder of ContinualAI.org
vincenzolomonaco.com
About Me
• PhD Student @ University of Bologna
• Visiting Scholar @ ENSTA ParisTech and @ Purdue
University
• Phd Students’ Representative of the Department of
Computer Science and Engineering
• Teaching Assistant of the courses Machine Learning
and Computer Architectures
• Author and Technical reviewer of the online course
Deep Learning with R and book R Deep Learning
Essentials
• Founder of Continual AI
Continual AI Community
http://continualai.org https://continualai.herokuapp.com
Outline
1. Introduction
a. From Machine Learning to Deep Learning
b. History of Deep Learning Frameworks
2. Open-Source Deep Learning Frameworks
a. Main Features and Distinctions
b. Caffe, Tensorflow and Pytorch
3. Practical Advices
4. What next?
The Machine Learning Software Stack
“Hidden Technical Debt in Machine Learning Systems” by D. Sculley et al.
The Machine Learning Software Stack
For Prototyping and R&D
● Scikit-learn (Python), Caret
(R), Weka (Java)
For Production
● Kubernetes, KubeFlow,
Hadoop
● H2O, MLlib, SparkML,
FlinkML
Setting up a Machine Learning Framework for Production: http://code.hootsuite.com/setting-up-a-machine-learning-framework-for-production/
From Machine Learning to Deep Learning
For Deep Learning the line between
Prototyping and Production is
more blurred
● Caffe / Caffe 2
● Torch / PyTorch
● Tensorflow
● CNTK, MxNet, Gluon,
Chainer, etc.
From Machine Learning to Deep Learning
Why
● Prototyping with neural nets on
massive datasets needs efficiency
● Limited focus on:
1. (Deep) Neural Networks.
2. Gradient-Based Optimization.
3. Transparent (multi) CPU/GPU
acceleration
History of Deep Learning Frameworks
2010 2013 2014 2015 2016 20182017
...
History of Deep Learning Frameworks
History of Deep Learning Frameworks
Andrej Karpathy, 10 mar 2018 : https://twitter.com/karpathy/status/972295865187512320/
Deep Learning Frameworks: 2018 Figures
Deep Learning Framework Power Scores 2018 : https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a/
Deep Learning Frameworks: 2018 Figures
Deep Learning Framework Power Scores 2018 : https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a/
Outline
1. Introduction
a. From Machine Learning to Deep Learning
b. History of Deep Learning Frameworks
2. Open-Source Deep Learning Frameworks
a. Main Features and Distinctions
b. Caffe, Tensorflow and Pytorch
3. Practical Advices
4. What next?
Main Features and Distinctions
1. Static vs Dynamic Graph
2. Differentiation Support
3. Hardware / Platform Support
4. Model / Utils Support and Performance
5. Multi-CPU/GPU support
6. API level
7. License and Community Support
Comparison of deep learning software: https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software
Static vs Dynamic Graph
Static (define-AND-run) Dynamic (define-BY-run)
Differentiation Support
Types of Differentiation
1. Numerical Differentiation
2. Symbolic Differentiation
3. Automatic Differentiation
4. Hard-coded Differentiation
“Automatic Differentiation in Machine Learning: a Survey”: http://www.jmlr.org/papers/volume18/17-468/17-468.pdf
Hardware / Platform Support
Platform Support
● Windows, Unix (MAC OS, Linux)
● Android OS, iOS, Embedded
Systems
Hardware Acceleration
● Cuda / OpenCL Support
● OpenMP, MPI Support
● AI Chips
Model / Utils Support and Performance
Types of models supported
● FC-NNs, CNNs, RNNs, etc.
● General purpose algebraic
functions
Utils support
● Pre-trained models Zoo
● Data format and loading
● Monitoring / Visualization tools
Performance
● Very different from task to
task and model to model, etc.
Multi-CPU / GPU support
Types of parallelization
● Data Parallelism
● Model Parallelism
Hardware for parallelization
● CPUs
● GPUs
● Distributed clusters
“Large Scale Distributed Deep Networks”: http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks.pdf
API Level
Important features
● Usability
● Flexibility
● Expandability
● Easy to Debug
License and Community Support
Licence
● Apache 2.0, MIT, BSD,
GNU GPL, Freemium,
etc.
● Most of them allow also
commercial use (but look
at patent licence too)
Community Support
● Contribution Diversity
● Active Development
● Supportive Q&A
● Number of users
Caffe, Tensorflow and Pytorch
● Static Graph
● Hard-coded Differentiation
● Windows, Unix, Embedded
● Mainly Feedforward models
● Multi-CPU/GPUs
● Prototxt, C++, Python API
● BSD Licence
● Low community support
● Static Graph (with lazy eval)
● Automatic Differentiation
● Windows, Unix, Embedded
● General purpose graph
● Multi-CPU/GPUs
● C++ and (many) Python API
● Apache 2.0
● High community support
● Dynamic Graph
● Automatic Differentiation
● Windows, Unix, Embedded
● General purpose graph
● Multi-CPU/GPUs
● C++ and Python API
● BSD Licence
● High community support
Caffe: Deep learning framework by BAIR
“Caffe: Convolutional architecture for fast feature embedding”: https://arxiv.org/pdf/1408.5093.pdf
Caffe: Deep learning framework by BAIR
Key features
● Shallow framework architecture
● High-level performance for
Feed-forward architectures
● Efficient support for multi-thread
data loading with LMDB
● 3 different API levels (Prototxt,
Python, C++)
Data Loaders
Net Modules
Solver
C++ Prototxt Python
GPU CPU
Caffe: Deep learning framework by BAIR
[Hands-on (15 minutes)] Training a
ConvNet with Caffe
Tensorflow: Deep learning framework by
Google
“Tensorflow: a system for large-scale machine learning.”: https://www.usenix.org/system/files/conference/osdi16/osdi16-abadi.pdf
Tensorflow: Deep learning framework by
Google
Tensorflow: Deep learning framework by
Google
Key features
● Great models / utils
support
● Large API variants at
different levels
● Solid codebase
● Amazing community
support and permissive
Apache 2.0 licence
Tensorflow course: https://ekababisong.org/gcp-ml-seminar/tensorflow/
[Hands-on (15 minutes)] Training a
ConvNet with Tensorflow
Pytorch: Deep learning framework by
Facebook
“Automatic differentiation in PyTorch”: https://openreview.net/pdf?id=BJJsrmfCZ
Pytorch: Deep learning framework by
Facebook
Pytorch: Deep learning framework by
Facebook
Key features
● Great models / utils support
● Nice integration with ONNX
and Caffe2
● Great for highly-dynamic
graphs
● Simple, neat API
● Easy to learn
Python API C++ API
[Hands-on (15 minutes)] Training a
ConvNet with Pytorch
Outline
1. Introduction
a. From Machine Learning to Deep Learning
b. History of Deep Learning Frameworks
2. Open-Source Deep Learning Frameworks
a. Main Features and Distinctions
b. Caffe, Tensorflow and Pytorch
3. Practical Advices
4. What next?
Practical Advices
Practical Advices
● Your don’t need to choose one framework for life
● Be flexible, understand the core and common
ideas
● On-the-run conversion may be painful!
● Choose the best depending on the task at hand
and the already existing resources
What Next?
Questions?
Vincenzo Lomonaco
University of Bologna ML Course - 2018
PhD Student @ University of Bologna
Founder of ContinualAI.org
vincenzolomonaco.com

Mais conteúdo relacionado

Mais procurados

Pybcn machine learning for dummies with python
Pybcn machine learning for dummies with pythonPybcn machine learning for dummies with python
Pybcn machine learning for dummies with pythonJavier Arias Losada
 
Torch: a scientific computing framework for machine-learning practitioners
Torch: a scientific computing framework for machine-learning practitionersTorch: a scientific computing framework for machine-learning practitioners
Torch: a scientific computing framework for machine-learning practitionersHoffman Lab
 
Python 101 for the .NET Developer
Python 101 for the .NET DeveloperPython 101 for the .NET Developer
Python 101 for the .NET DeveloperSarah Dutkiewicz
 
What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)wesley chun
 
GPT and other Text Transformers: Black Swans and Stochastic Parrots
GPT and other Text Transformers:  Black Swans and Stochastic ParrotsGPT and other Text Transformers:  Black Swans and Stochastic Parrots
GPT and other Text Transformers: Black Swans and Stochastic ParrotsKonstantin Savenkov
 
python for linguists
python for linguistspython for linguists
python for linguistsshukaihsieh
 
Europython - Machine Learning for dummies with Python
Europython - Machine Learning for dummies with PythonEuropython - Machine Learning for dummies with Python
Europython - Machine Learning for dummies with PythonJavier Arias Losada
 
Resources for Teaching Undergraduate Computational Physics
Resources for Teaching Undergraduate Computational PhysicsResources for Teaching Undergraduate Computational Physics
Resources for Teaching Undergraduate Computational PhysicsAmdeselassie Amde
 
Tutorial on Deep learning and Applications
Tutorial on Deep learning and ApplicationsTutorial on Deep learning and Applications
Tutorial on Deep learning and ApplicationsNhatHai Phan
 
Machine learning (webinar)
Machine learning (webinar)Machine learning (webinar)
Machine learning (webinar)Syed Rashid
 
Deep Learning through Examples
Deep Learning through ExamplesDeep Learning through Examples
Deep Learning through ExamplesSri Ambati
 
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning ResearchJeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning ResearchAI Frontiers
 
01 introduction to_module
01 introduction to_module01 introduction to_module
01 introduction to_moduleAPU
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...pythoncharmers
 
Aprendizaje automático aplicado utilizando TensorFlow
Aprendizaje automático aplicado utilizando TensorFlowAprendizaje automático aplicado utilizando TensorFlow
Aprendizaje automático aplicado utilizando TensorFlowNicolas Bortolotti
 
1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on pythonSANTOSHJAISWAL52
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Benoit Combemale
 
Mentoring Session with Innovesia: Advance Robotics
Mentoring Session with Innovesia: Advance RoboticsMentoring Session with Innovesia: Advance Robotics
Mentoring Session with Innovesia: Advance RoboticsDony Riyanto
 

Mais procurados (20)

Pybcn machine learning for dummies with python
Pybcn machine learning for dummies with pythonPybcn machine learning for dummies with python
Pybcn machine learning for dummies with python
 
Torch: a scientific computing framework for machine-learning practitioners
Torch: a scientific computing framework for machine-learning practitionersTorch: a scientific computing framework for machine-learning practitioners
Torch: a scientific computing framework for machine-learning practitioners
 
Python 101 for the .NET Developer
Python 101 for the .NET DeveloperPython 101 for the .NET Developer
Python 101 for the .NET Developer
 
What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)What is Python? (Silicon Valley CodeCamp 2015)
What is Python? (Silicon Valley CodeCamp 2015)
 
GPT and other Text Transformers: Black Swans and Stochastic Parrots
GPT and other Text Transformers:  Black Swans and Stochastic ParrotsGPT and other Text Transformers:  Black Swans and Stochastic Parrots
GPT and other Text Transformers: Black Swans and Stochastic Parrots
 
python for linguists
python for linguistspython for linguists
python for linguists
 
Europython - Machine Learning for dummies with Python
Europython - Machine Learning for dummies with PythonEuropython - Machine Learning for dummies with Python
Europython - Machine Learning for dummies with Python
 
Resources for Teaching Undergraduate Computational Physics
Resources for Teaching Undergraduate Computational PhysicsResources for Teaching Undergraduate Computational Physics
Resources for Teaching Undergraduate Computational Physics
 
Tutorial on Deep learning and Applications
Tutorial on Deep learning and ApplicationsTutorial on Deep learning and Applications
Tutorial on Deep learning and Applications
 
Machine learning (webinar)
Machine learning (webinar)Machine learning (webinar)
Machine learning (webinar)
 
NUS PhD e-open day 2020
NUS PhD e-open day 2020NUS PhD e-open day 2020
NUS PhD e-open day 2020
 
Deep Learning through Examples
Deep Learning through ExamplesDeep Learning through Examples
Deep Learning through Examples
 
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning ResearchJeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
 
Oa 4 month exp
Oa 4 month expOa 4 month exp
Oa 4 month exp
 
01 introduction to_module
01 introduction to_module01 introduction to_module
01 introduction to_module
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
 
Aprendizaje automático aplicado utilizando TensorFlow
Aprendizaje automático aplicado utilizando TensorFlowAprendizaje automático aplicado utilizando TensorFlow
Aprendizaje automático aplicado utilizando TensorFlow
 
1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)
 
Mentoring Session with Innovesia: Advance Robotics
Mentoring Session with Innovesia: Advance RoboticsMentoring Session with Innovesia: Advance Robotics
Mentoring Session with Innovesia: Advance Robotics
 

Semelhante a Open-Source Frameworks for Deep Learning: an Overview

01 zero lecture lovely professional university CSE111.pptx
01 zero lecture lovely professional university CSE111.pptx01 zero lecture lovely professional university CSE111.pptx
01 zero lecture lovely professional university CSE111.pptxmexebi1971
 
Reproducibility and automation of machine learning process
Reproducibility and automation of machine learning processReproducibility and automation of machine learning process
Reproducibility and automation of machine learning processDenis Dus
 
The road ahead for scientific computing with Python
The road ahead for scientific computing with PythonThe road ahead for scientific computing with Python
The road ahead for scientific computing with PythonRalf Gommers
 
딥러닝프레임워크비교
딥러닝프레임워크비교딥러닝프레임워크비교
딥러닝프레임워크비교Junyi Song
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R MeetupJo-fai Chow
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R MeetupSri Ambati
 
Overview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis ToolsOverview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis ToolsKeiichiro Ono
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018Chun-Yu Tseng
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Luciano Resende
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligenceCarlos Toxtli
 
Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Iulian Pintoiu
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsLuciano Resende
 
14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source14_Ed_Symp_Open_Source
14_Ed_Symp_Open_SourceSteve Arnold
 
Implementing AI: High Performace Architectures
Implementing AI: High Performace ArchitecturesImplementing AI: High Performace Architectures
Implementing AI: High Performace ArchitecturesKTN
 
Keynote at Converge 2019
Keynote at Converge 2019Keynote at Converge 2019
Keynote at Converge 2019Travis Oliphant
 

Semelhante a Open-Source Frameworks for Deep Learning: an Overview (20)

01 zero lecture lovely professional university CSE111.pptx
01 zero lecture lovely professional university CSE111.pptx01 zero lecture lovely professional university CSE111.pptx
01 zero lecture lovely professional university CSE111.pptx
 
Open64 compiler
Open64 compilerOpen64 compiler
Open64 compiler
 
Reproducibility and automation of machine learning process
Reproducibility and automation of machine learning processReproducibility and automation of machine learning process
Reproducibility and automation of machine learning process
 
The road ahead for scientific computing with Python
The road ahead for scientific computing with PythonThe road ahead for scientific computing with Python
The road ahead for scientific computing with Python
 
딥러닝프레임워크비교
딥러닝프레임워크비교딥러닝프레임워크비교
딥러닝프레임워크비교
 
OpenVINO introduction
OpenVINO introductionOpenVINO introduction
OpenVINO introduction
 
H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R Meetup
 
Berlin R Meetup
Berlin R MeetupBerlin R Meetup
Berlin R Meetup
 
Overview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis ToolsOverview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis Tools
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
 
PyData Boston 2013
PyData Boston 2013PyData Boston 2013
PyData Boston 2013
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
 
Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019Productionizing Machine Learning - Bigdata meetup 5-06-2019
Productionizing Machine Learning - Bigdata meetup 5-06-2019
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
 
14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source14_Ed_Symp_Open_Source
14_Ed_Symp_Open_Source
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
Implementing AI: High Performace Architectures
Implementing AI: High Performace ArchitecturesImplementing AI: High Performace Architectures
Implementing AI: High Performace Architectures
 
Keynote at Converge 2019
Keynote at Converge 2019Keynote at Converge 2019
Keynote at Converge 2019
 

Mais de Vincenzo Lomonaco

2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf
2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf
2023-08-22 CoLLAs Tutorial - Beyond CIL.pdfVincenzo Lomonaco
 
Continual Learning with Deep Architectures - Tutorial ICML 2021
Continual Learning with Deep Architectures - Tutorial ICML 2021Continual Learning with Deep Architectures - Tutorial ICML 2021
Continual Learning with Deep Architectures - Tutorial ICML 2021Vincenzo Lomonaco
 
Toward Continual Learning on the Edge
Toward Continual Learning on the EdgeToward Continual Learning on the Edge
Toward Continual Learning on the EdgeVincenzo Lomonaco
 
Continual Learning: Another Step Towards Truly Intelligent Machines
Continual Learning: Another Step Towards Truly Intelligent MachinesContinual Learning: Another Step Towards Truly Intelligent Machines
Continual Learning: Another Step Towards Truly Intelligent MachinesVincenzo Lomonaco
 
Continual Reinforcement Learning in 3D Non-stationary Environments
Continual Reinforcement Learning in 3D Non-stationary EnvironmentsContinual Reinforcement Learning in 3D Non-stationary Environments
Continual Reinforcement Learning in 3D Non-stationary EnvironmentsVincenzo Lomonaco
 
Continual/Lifelong Learning with Deep Architectures
Continual/Lifelong Learning with Deep ArchitecturesContinual/Lifelong Learning with Deep Architectures
Continual/Lifelong Learning with Deep ArchitecturesVincenzo Lomonaco
 
Continual Learning for Robotics
Continual Learning for RoboticsContinual Learning for Robotics
Continual Learning for RoboticsVincenzo Lomonaco
 
Don't forget, there is more than forgetting: new metrics for Continual Learni...
Don't forget, there is more than forgetting: new metrics for Continual Learni...Don't forget, there is more than forgetting: new metrics for Continual Learni...
Don't forget, there is more than forgetting: new metrics for Continual Learni...Vincenzo Lomonaco
 
CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...
CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...
CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...Vincenzo Lomonaco
 
Continuous Learning with Deep Architectures
Continuous Learning with Deep ArchitecturesContinuous Learning with Deep Architectures
Continuous Learning with Deep ArchitecturesVincenzo Lomonaco
 
CORe50: a New Dataset and Benchmark for Continuous Object Recognition Poster
CORe50: a New Dataset and Benchmark for Continuous Object Recognition PosterCORe50: a New Dataset and Benchmark for Continuous Object Recognition Poster
CORe50: a New Dataset and Benchmark for Continuous Object Recognition PosterVincenzo Lomonaco
 
Continuous Unsupervised Training of Deep Architectures
Continuous Unsupervised Training of Deep ArchitecturesContinuous Unsupervised Training of Deep Architectures
Continuous Unsupervised Training of Deep ArchitecturesVincenzo Lomonaco
 
Comparing Incremental Learning Strategies for Convolutional Neural Networks
Comparing Incremental Learning Strategies for Convolutional Neural NetworksComparing Incremental Learning Strategies for Convolutional Neural Networks
Comparing Incremental Learning Strategies for Convolutional Neural NetworksVincenzo Lomonaco
 
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Vincenzo Lomonaco
 
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Vincenzo Lomonaco
 
A Framework for Deadlock Detection in Java
A Framework for Deadlock Detection in JavaA Framework for Deadlock Detection in Java
A Framework for Deadlock Detection in JavaVincenzo Lomonaco
 
Deep Learning libraries and first experiments with Theano
Deep Learning libraries and first experiments with TheanoDeep Learning libraries and first experiments with Theano
Deep Learning libraries and first experiments with TheanoVincenzo Lomonaco
 
Word2vec on the italian language: first experiments
Word2vec on the italian language: first experimentsWord2vec on the italian language: first experiments
Word2vec on the italian language: first experimentsVincenzo Lomonaco
 
Machine Learning for Automated Reasoning: An Overview
Machine Learning for Automated Reasoning: An OverviewMachine Learning for Automated Reasoning: An Overview
Machine Learning for Automated Reasoning: An OverviewVincenzo Lomonaco
 

Mais de Vincenzo Lomonaco (20)

2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf
2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf
2023-08-22 CoLLAs Tutorial - Beyond CIL.pdf
 
Continual Learning with Deep Architectures - Tutorial ICML 2021
Continual Learning with Deep Architectures - Tutorial ICML 2021Continual Learning with Deep Architectures - Tutorial ICML 2021
Continual Learning with Deep Architectures - Tutorial ICML 2021
 
Toward Continual Learning on the Edge
Toward Continual Learning on the EdgeToward Continual Learning on the Edge
Toward Continual Learning on the Edge
 
Continual Learning: Another Step Towards Truly Intelligent Machines
Continual Learning: Another Step Towards Truly Intelligent MachinesContinual Learning: Another Step Towards Truly Intelligent Machines
Continual Learning: Another Step Towards Truly Intelligent Machines
 
Tutorial inns2019 full
Tutorial inns2019 fullTutorial inns2019 full
Tutorial inns2019 full
 
Continual Reinforcement Learning in 3D Non-stationary Environments
Continual Reinforcement Learning in 3D Non-stationary EnvironmentsContinual Reinforcement Learning in 3D Non-stationary Environments
Continual Reinforcement Learning in 3D Non-stationary Environments
 
Continual/Lifelong Learning with Deep Architectures
Continual/Lifelong Learning with Deep ArchitecturesContinual/Lifelong Learning with Deep Architectures
Continual/Lifelong Learning with Deep Architectures
 
Continual Learning for Robotics
Continual Learning for RoboticsContinual Learning for Robotics
Continual Learning for Robotics
 
Don't forget, there is more than forgetting: new metrics for Continual Learni...
Don't forget, there is more than forgetting: new metrics for Continual Learni...Don't forget, there is more than forgetting: new metrics for Continual Learni...
Don't forget, there is more than forgetting: new metrics for Continual Learni...
 
CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...
CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...
CORe50: a New Dataset and Benchmark for Continual Learning and Object Recogni...
 
Continuous Learning with Deep Architectures
Continuous Learning with Deep ArchitecturesContinuous Learning with Deep Architectures
Continuous Learning with Deep Architectures
 
CORe50: a New Dataset and Benchmark for Continuous Object Recognition Poster
CORe50: a New Dataset and Benchmark for Continuous Object Recognition PosterCORe50: a New Dataset and Benchmark for Continuous Object Recognition Poster
CORe50: a New Dataset and Benchmark for Continuous Object Recognition Poster
 
Continuous Unsupervised Training of Deep Architectures
Continuous Unsupervised Training of Deep ArchitecturesContinuous Unsupervised Training of Deep Architectures
Continuous Unsupervised Training of Deep Architectures
 
Comparing Incremental Learning Strategies for Convolutional Neural Networks
Comparing Incremental Learning Strategies for Convolutional Neural NetworksComparing Incremental Learning Strategies for Convolutional Neural Networks
Comparing Incremental Learning Strategies for Convolutional Neural Networks
 
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
 
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...Deep Learning for Computer Vision: A comparision between Convolutional Neural...
Deep Learning for Computer Vision: A comparision between Convolutional Neural...
 
A Framework for Deadlock Detection in Java
A Framework for Deadlock Detection in JavaA Framework for Deadlock Detection in Java
A Framework for Deadlock Detection in Java
 
Deep Learning libraries and first experiments with Theano
Deep Learning libraries and first experiments with TheanoDeep Learning libraries and first experiments with Theano
Deep Learning libraries and first experiments with Theano
 
Word2vec on the italian language: first experiments
Word2vec on the italian language: first experimentsWord2vec on the italian language: first experiments
Word2vec on the italian language: first experiments
 
Machine Learning for Automated Reasoning: An Overview
Machine Learning for Automated Reasoning: An OverviewMachine Learning for Automated Reasoning: An Overview
Machine Learning for Automated Reasoning: An Overview
 

Último

Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling ManjurJual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjurptikerjasaptiker
 
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格q6pzkpark
 
7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.pptibrahimabdi22
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabiaahmedjiabur940
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptxThe-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptxVivek487417
 
怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制
怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制
怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制vexqp
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...Bertram Ludäscher
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareGraham Ware
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1ranjankumarbehera14
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxchadhar227
 
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
SR-101-01012024-EN.docx  Federal Constitution  of the Swiss ConfederationSR-101-01012024-EN.docx  Federal Constitution  of the Swiss Confederation
SR-101-01012024-EN.docx Federal Constitution of the Swiss ConfederationEfruzAsilolu
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制vexqp
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...Health
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制vexqp
 

Último (20)

Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling ManjurJual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
Jual Cytotec Asli Obat Aborsi No. 1 Paling Manjur
 
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
一比一原版(曼大毕业证书)曼尼托巴大学毕业证成绩单留信学历认证一手价格
 
7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt7. Epi of Chronic respiratory diseases.ppt
7. Epi of Chronic respiratory diseases.ppt
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptxThe-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
The-boAt-Story-Navigating-the-Waves-of-Innovation.pptx
 
怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制
怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制
怎样办理伦敦大学毕业证(UoL毕业证书)成绩单学校原版复制
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham Ware
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptx
 
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
SR-101-01012024-EN.docx  Federal Constitution  of the Swiss ConfederationSR-101-01012024-EN.docx  Federal Constitution  of the Swiss Confederation
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
 
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
怎样办理纽约州立大学宾汉姆顿分校毕业证(SUNY-Bin毕业证书)成绩单学校原版复制
 
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit RiyadhCytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
Cytotec in Jeddah+966572737505) get unwanted pregnancy kit Riyadh
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
 
Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...
 

Open-Source Frameworks for Deep Learning: an Overview

  • 1. Open-Source Frameworks for Deep Learning: an Overview Vincenzo Lomonaco University of Bologna ML Course - 2018 PhD Student @ University of Bologna Founder of ContinualAI.org vincenzolomonaco.com
  • 2. About Me • PhD Student @ University of Bologna • Visiting Scholar @ ENSTA ParisTech and @ Purdue University • Phd Students’ Representative of the Department of Computer Science and Engineering • Teaching Assistant of the courses Machine Learning and Computer Architectures • Author and Technical reviewer of the online course Deep Learning with R and book R Deep Learning Essentials • Founder of Continual AI
  • 3. Continual AI Community http://continualai.org https://continualai.herokuapp.com
  • 4. Outline 1. Introduction a. From Machine Learning to Deep Learning b. History of Deep Learning Frameworks 2. Open-Source Deep Learning Frameworks a. Main Features and Distinctions b. Caffe, Tensorflow and Pytorch 3. Practical Advices 4. What next?
  • 5. The Machine Learning Software Stack “Hidden Technical Debt in Machine Learning Systems” by D. Sculley et al.
  • 6. The Machine Learning Software Stack For Prototyping and R&D ● Scikit-learn (Python), Caret (R), Weka (Java) For Production ● Kubernetes, KubeFlow, Hadoop ● H2O, MLlib, SparkML, FlinkML Setting up a Machine Learning Framework for Production: http://code.hootsuite.com/setting-up-a-machine-learning-framework-for-production/
  • 7. From Machine Learning to Deep Learning For Deep Learning the line between Prototyping and Production is more blurred ● Caffe / Caffe 2 ● Torch / PyTorch ● Tensorflow ● CNTK, MxNet, Gluon, Chainer, etc.
  • 8. From Machine Learning to Deep Learning Why ● Prototyping with neural nets on massive datasets needs efficiency ● Limited focus on: 1. (Deep) Neural Networks. 2. Gradient-Based Optimization. 3. Transparent (multi) CPU/GPU acceleration
  • 9. History of Deep Learning Frameworks 2010 2013 2014 2015 2016 20182017 ...
  • 10. History of Deep Learning Frameworks
  • 11. History of Deep Learning Frameworks Andrej Karpathy, 10 mar 2018 : https://twitter.com/karpathy/status/972295865187512320/
  • 12. Deep Learning Frameworks: 2018 Figures Deep Learning Framework Power Scores 2018 : https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a/
  • 13. Deep Learning Frameworks: 2018 Figures Deep Learning Framework Power Scores 2018 : https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a/
  • 14. Outline 1. Introduction a. From Machine Learning to Deep Learning b. History of Deep Learning Frameworks 2. Open-Source Deep Learning Frameworks a. Main Features and Distinctions b. Caffe, Tensorflow and Pytorch 3. Practical Advices 4. What next?
  • 15. Main Features and Distinctions 1. Static vs Dynamic Graph 2. Differentiation Support 3. Hardware / Platform Support 4. Model / Utils Support and Performance 5. Multi-CPU/GPU support 6. API level 7. License and Community Support Comparison of deep learning software: https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software
  • 16. Static vs Dynamic Graph Static (define-AND-run) Dynamic (define-BY-run)
  • 17. Differentiation Support Types of Differentiation 1. Numerical Differentiation 2. Symbolic Differentiation 3. Automatic Differentiation 4. Hard-coded Differentiation “Automatic Differentiation in Machine Learning: a Survey”: http://www.jmlr.org/papers/volume18/17-468/17-468.pdf
  • 18. Hardware / Platform Support Platform Support ● Windows, Unix (MAC OS, Linux) ● Android OS, iOS, Embedded Systems Hardware Acceleration ● Cuda / OpenCL Support ● OpenMP, MPI Support ● AI Chips
  • 19. Model / Utils Support and Performance Types of models supported ● FC-NNs, CNNs, RNNs, etc. ● General purpose algebraic functions Utils support ● Pre-trained models Zoo ● Data format and loading ● Monitoring / Visualization tools Performance ● Very different from task to task and model to model, etc.
  • 20. Multi-CPU / GPU support Types of parallelization ● Data Parallelism ● Model Parallelism Hardware for parallelization ● CPUs ● GPUs ● Distributed clusters “Large Scale Distributed Deep Networks”: http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks.pdf
  • 21. API Level Important features ● Usability ● Flexibility ● Expandability ● Easy to Debug
  • 22. License and Community Support Licence ● Apache 2.0, MIT, BSD, GNU GPL, Freemium, etc. ● Most of them allow also commercial use (but look at patent licence too) Community Support ● Contribution Diversity ● Active Development ● Supportive Q&A ● Number of users
  • 23. Caffe, Tensorflow and Pytorch ● Static Graph ● Hard-coded Differentiation ● Windows, Unix, Embedded ● Mainly Feedforward models ● Multi-CPU/GPUs ● Prototxt, C++, Python API ● BSD Licence ● Low community support ● Static Graph (with lazy eval) ● Automatic Differentiation ● Windows, Unix, Embedded ● General purpose graph ● Multi-CPU/GPUs ● C++ and (many) Python API ● Apache 2.0 ● High community support ● Dynamic Graph ● Automatic Differentiation ● Windows, Unix, Embedded ● General purpose graph ● Multi-CPU/GPUs ● C++ and Python API ● BSD Licence ● High community support
  • 24. Caffe: Deep learning framework by BAIR “Caffe: Convolutional architecture for fast feature embedding”: https://arxiv.org/pdf/1408.5093.pdf
  • 25. Caffe: Deep learning framework by BAIR Key features ● Shallow framework architecture ● High-level performance for Feed-forward architectures ● Efficient support for multi-thread data loading with LMDB ● 3 different API levels (Prototxt, Python, C++) Data Loaders Net Modules Solver C++ Prototxt Python GPU CPU
  • 26. Caffe: Deep learning framework by BAIR
  • 27. [Hands-on (15 minutes)] Training a ConvNet with Caffe
  • 28. Tensorflow: Deep learning framework by Google “Tensorflow: a system for large-scale machine learning.”: https://www.usenix.org/system/files/conference/osdi16/osdi16-abadi.pdf
  • 29. Tensorflow: Deep learning framework by Google
  • 30. Tensorflow: Deep learning framework by Google Key features ● Great models / utils support ● Large API variants at different levels ● Solid codebase ● Amazing community support and permissive Apache 2.0 licence Tensorflow course: https://ekababisong.org/gcp-ml-seminar/tensorflow/
  • 31. [Hands-on (15 minutes)] Training a ConvNet with Tensorflow
  • 32. Pytorch: Deep learning framework by Facebook “Automatic differentiation in PyTorch”: https://openreview.net/pdf?id=BJJsrmfCZ
  • 33. Pytorch: Deep learning framework by Facebook
  • 34. Pytorch: Deep learning framework by Facebook Key features ● Great models / utils support ● Nice integration with ONNX and Caffe2 ● Great for highly-dynamic graphs ● Simple, neat API ● Easy to learn Python API C++ API
  • 35. [Hands-on (15 minutes)] Training a ConvNet with Pytorch
  • 36. Outline 1. Introduction a. From Machine Learning to Deep Learning b. History of Deep Learning Frameworks 2. Open-Source Deep Learning Frameworks a. Main Features and Distinctions b. Caffe, Tensorflow and Pytorch 3. Practical Advices 4. What next?
  • 38. Practical Advices ● Your don’t need to choose one framework for life ● Be flexible, understand the core and common ideas ● On-the-run conversion may be painful! ● Choose the best depending on the task at hand and the already existing resources
  • 40. Questions? Vincenzo Lomonaco University of Bologna ML Course - 2018 PhD Student @ University of Bologna Founder of ContinualAI.org vincenzolomonaco.com