Slide 1

Slide 1 text

Guide to choose right deep Learning framework for your AI project Rishikesh [email protected] Data Scientist @ Humonics Global Pvt ltd

Slide 2

Slide 2 text

@whoami ● Data Scientist at Humonics Global Private Ltd. ● Github: rishikksh20 ● Telegram: @rishikksh20 ● Contribute to : Keras, Numpy, Scikit-Learn, matplotlib etc.

Slide 3

Slide 3 text

Quick Survey o How many have machine learning background ? o How many have ever used any deep learning framework ? o How many people have used only 1 framework ? o How many of you contributed to any deep learning framework ?

Slide 4

Slide 4 text

o Key points to keep o Identify scope of the project o Bottlenecks o Frameworks o Benchmarking Outline

Slide 5

Slide 5 text

● Easy of coding ● Installation and support ● Boilerplate examples and community ● Stability and Scalability ● Speed of Training and Inference Key Points to keep

Slide 6

Slide 6 text

Ease of Coding ● Minimum Line of code for complex algorithms ● Ease of use in terms of architecture ● Deployment friendly ● Coding flexibility ● How many functions/methods are offered out of the box ● High level as well as Low level APIs ● Debugging and logging

Slide 7

Slide 7 text

Installation and Support ● Single hand installation ● Good documentation ● OS support ● Multiple language support ● Support bleeding edge technologies ● Hardware Support (Mobile/CPU/GPU/Multi-GPU/TPU/Distributive/Cloud)

Slide 8

Slide 8 text

Boilerplate examples and community ● Framework Developers ● Kick start examples ● Availability of tutorials and training materials ● Active communities

Slide 9

Slide 9 text

Stability and Scalability ● Maturity of frameworks ● Back compatibility ● Frequency of release ● Number of users ● Number of existing issues ● Scale to large distributive environment

Slide 10

Slide 10 text

Speed of Training and Inference ● How much time it take to train a model ? ● How much time it take to inference ?

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Identify scope of the project ● Research Project ● Small Project or POC ● Medium Scale Project ● Large Complex Project

Slide 13

Slide 13 text

Bottleneck ● Installation and Dependency management ● Hard to keep up with latest development ● So far there is no standardization ● Inconsistency in low level optimization ● Too much Hardware dependencies

Slide 14

Slide 14 text

Tensorflow ● Originally developed by Google Brain ● Widely used machine learning framework ● Backed by excellent and large community ● Adequate documentation and huge learning resource available ● Probably all necessary functions and features are out-of-the box ● Production ready framework

Slide 15

Slide 15 text

● High level API like Keras. ● Written in C++ but support many client language APIs like Java, Python, Go etc. ● Started as static graph structure now support dynamic graph computation. ● Deploy on Android ● Good Visualization tool like tensorboard

Slide 16

Slide 16 text

So Any Reason to looks others ? ● Less pythonic and flexible. For researchers, Tensorflow is hard to learn and hard to use. Research is all about flexibility, and lack of flexibility is baked into Tensorflow at a deep level.

Slide 17

Slide 17 text

PyTorch ● Primarily developed by Facebook and Uber ● Pure Pythonic approach and highly flexible (Dynamic computational Graph) ● Research friendly ● No need high level API like Keras ● Simple to learn and code ● Butter smooth debugging

Slide 18

Slide 18 text

Cons ● Less mature ● Not yet Production ready, but is in roadmap ● Lack of in-built visualization tool like Tensorboard ● Do not have mobile support yet ● Scalability

Slide 19

Slide 19 text

● Supported by Microsoft and Amazon ● Supports many languages, from C++ to Python, JavaScript, Go, and R ● Faster training than other popular frameworks ● Highly scalable and production ready ● Easy to code using High level API “Gluon”. ● Distributed environment ● Deploy any where from GPU to mobile MXNet

Slide 20

Slide 20 text

● Lesser user base ● Small community Cons

Slide 21

Slide 21 text

Benchmarking

Slide 22

Slide 22 text

Which one is more mature ?

Slide 23

Slide 23 text

Speed tensorflow pytorch mxnet 130 135 140 145 150 155 160 165 170 175 180 173 169 145 ResNet50 Feature Extraction

Slide 24

Slide 24 text

tensorflow pytorch mxnet 28 28.5 29 29.5 30 30.5 31 31.5 30 31 29 IMDB movie reviews

Slide 25

Slide 25 text

Questions ? Contact Details: Github: https:/ /github.com/rishikksh20 Telegram: @rishikksh20 Email : [email protected]