1 of 38

TensorFlow 2.0 Doc Sprint by �GCDC Islamabad

2 of 38

Software Basics for Deep Learning

Languages

Frameworks

Libraries

3 of 38

4 of 38

5 of 38

What is a Framework?

  • Foundation on which software developers can build programs for specific platforms
  • A skeleton - application defines the "meat" of the operation by filling out the skeleton
  • Contains the basic flow - plug in your behaviour
  • Provides a standard way
  • Has functions that are reusable

6 of 38

What is a Framework?

  • Can offer a better level of abstraction along with simplification of difficult programming challenges
  • Each framework is built in a different manner for different purposes

7 of 38

Deep Learning Frameworks

  • Tensorflow By Google
    • Stable C and Python API
  • Torch
    • Lua
  • Pytorch - Libtorch (for C++)
    • Python API
  • Caffe
    • Written in C++
    • Also has a python API
  • Keras (Wrapper Framework)
    • With tensorflow backend
    • With CNTK backend
    • With Theano backend

8 of 38

Deep Learning Frameworks

  • Theano (Discontinued)
    • Python Library
  • Microsoft Cognitive Toolkit CNTK
    • Training on Python
    • Evaluation can be done in C, C# / .NET, Java

9 of 38

To allow software developers to focus on tasks which are unique for each project instead of repetitive code

10 of 38

Frameworks

Caffe

TensorFlow

Pytorch

Keras

11 of 38

Deep learning Pipeline

12 of 38

Choosing deep learning Frameworks

  • Easy of programming (development and deployment)
  • Running speed
  • Application
    • Computer vision
    • NLP
    • Other

13 of 38

Caffe

  • USP: speed
  • 1 ms/image for inference and 4 ms/image for learning
  • Does not support fine granularity network layers like those found in TensorFlow
  • Overall support for recurrent networks and language modeling is quite poor
  • Establishing complex layer types has to be done in low-level language
  • Great for vision tasks

14 of 38

Detectron

15 of 38

Keras

  • USP : quick experimentation
  • Provides high level API
  • Sits on top of other DL libraries
  • Uses object oriented approach
  • CNNs and RNNs
  • Lightweight, easy to use and straightforward
  • Speed comparatively slower
  • Used for smaller datasets
  • Primary usage of Keras is in classification, text generation and summarization, tagging, translation along with speech recognition and others.

16 of 38

Pytorch

  • USP : Dynamic computation graphs
  • Dynamic computation graphs
    • which let you process variable-length inputs and outputs, which is useful when working with RNNs
  • “Define by Run”
  • An easier learning curve and easier to use
  • Great for Natural Language Processing tasks
    • Used by Facebook to process around 6 billion text translations per day

17 of 38

pix2pix

18 of 38

19 of 38

TensorFlow

  • USP : Powerful machine learning Framework
  • TensorBoard + TensorFlow Lite
  • Better for production models and scalability
  • Well documented, well written tutorials on the internet
  • Research + Industry
  • Parallel execution across multiple GPUs
  • Speed good for high performance

20 of 38

TensorFlow

TensorFlow 2.0

Made Easy!!

21 of 38

TensorFlow Lite

  • Running machine learning models on mobile and embedded devices
  • On‑device machine learning inference with low latency and a small binary size
  • Android, iOS, and other operating systems

22 of 38

23 of 38

Companies using tensorflow lite

24 of 38

25 of 38

Debugging

Library Management

Pipelining

Scalability

Visualization

26 of 38

27 of 38

RankBrain

28 of 38

Nsynth Super

29 of 38

Doc Sprint

  • A doc sprint is a way to improve documentation by the community
  • Multiple Doc Sprints for TF2.0 are happening worldwide today
  • Opportunity to win Swags and appear on leaderboard

30 of 38

31 of 38

How to Contribute

There are two main ways to contribute to TensorFlow documentation

  • Raise an issue on Github
  • Create a Pull Request for that particular issue

32 of 38

Steps to Contribute

33 of 38

Steps to Contribute - Chose an API Symbol

�(Link for the Docs Task will be provided at the end of the slide)

34 of 38

Steps to Contribute - Review docstring

  • For each symbol review the documentation against the code
    • (Does not necessarily have to be each, pick the ones you’ve worked with before)

Things to check are

  • Correct Links
  • Clear Description
  • Usage Example
  • Parameters Defined
  • Returns Defined
  • Raises Listed and Defined

35 of 38

Steps to Contribute - Report Review Results

  • Add comment in the sheet along with your github handle and your reviews
    • Once Paige accepts your review results, she will update the sheet accordingly
  • Open a new docs issue on Github https://github.com/tensorflow/tensorflow/issues/new?template=20-documentation-issue.md

Example issue:

https://github.com/tensorflow/tensorflow/issues/25794

36 of 38

Steps to Contribute - Fix doc issue (optional)

Make your changes

Submit your PR

37 of 38

Helpful Links

38 of 38

Happy Contributing!