Slide 1

Slide 1 text

Developing Machine Learning Applications with TensorFlow Marc Anthony Reyes (@marcreyesph) AI Developer Intern, Wela School Systems BS Computer Science, Xavier University – Ateneo de Cagayan

Slide 2

Slide 2 text

About Me • 19 years of age (September 7, 1998) • 3rd Year BS Computer Science • Creative Lead at GDG Cagayan de Oro • Likes The Purge (The First Purge is coming soon in theaters in July) • Loves cats Portions of this slide is using Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 3

Slide 3 text

When I had a first glimpse on ML

Slide 4

Slide 4 text

What is Machine Learning?

Slide 5

Slide 5 text

What is Machine Learning? • Arthur Samuel, an American pioneer in the field of computer gaming and artificial intelligence, coined the term “Machine Learning” in 1959 while at IBM. • “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E” (Mitchell, 1997) Portions of this slide is using Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 6

Slide 6 text

Types of Learning • Supervised learning The computer is presented with example inputs and their desired outputs, given by a “teacher”, and the goal is to learn a general rule that maps inputs to outputs. • Unsupervised learning No labels are given to the learning algorithm, leaving it on its own to find structure in its input. Unsupervised learning can be a goal in itself (discovering hidden patterns in data) or a means towards an end (feature learning) Portions of this slide is using Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 7

Slide 7 text

What can Machine Learning do? • Natural Language Processing (NLP) • Sentiment analysis (“I do not like that book”) • Language detection • Image recognition • Cat or dog, model of car, types of objects in frame • Facial recognition (group photos by individual) • Hotdog or not hotdog? • Prediction • Trends (weather, stocks, product sales) • Agents • Automated game players, chatbots Portions of this slide is using Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 8

Slide 8 text

Machine Learning Libraries • Natural Language Toolkit (NLTK) • Language processing in Python: Parts of speech, named entities, parse trees • TensorFlow • Open source software library for numerical computation • Flexible architecture • Originally made by researchers and engineers at Google Brain • TensorFlow Lite: Machine Learning apps for android Portions of this slide is using Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 9

Slide 9 text

What is TensorFlow? • TensorFlow is an open-source software library for dataflow programming across a range of tasks. It is a symbolic math library, and also used for machine learning applications such as neural networks. • In May 2017 Google announced a software stack specifically for Android development, TensorFlow Lite, beginning with Android Oreo. Portions of this presentation are use Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 10

Slide 10 text

What is required from me? • Mathematics • Understanding of Statistics, Linear Algebra (Matrix Operations, Tensors), Calculus • Programming • Knowledge in Python, Scala, Java, or R • Domain Knowledge • Know your problem and your data • Software Engineering • Questions about performance and integration of ML models • Burning passion to pursue ML • Don’t get frustrated if you don’t get it the first time • Practice, practice, practice • Read books Portions of this slide is using Algorithmia’s Machine Learning presentation. Visit https://blog.algorithmia.com/building-intelligent-applications/ for details.

Slide 11

Slide 11 text

Building ML Apps with TensorFlow Eager Execution

Slide 12

Slide 12 text

What is Eager Execution? • TensorFlow's eager execution is an imperative programming environment that evaluates operations immediately, without building graphs. • Operations return concrete values instead of constructing a computational graph to run later.

Slide 13

Slide 13 text

Graph Execution vs Eager Execution Graph Execution import tensorflow as tf sess = tf.InteractiveSession() a = tf.constant(3) b = tf.constant(5) multiply = tf.multiply(a, b) print(multiply) # prints Tensor("Mul_2:0", shape=(), dtype=int32) multiply.eval(feed_dict={a: 3, b: 5}) # prints 15 Eager Execution import tensorflow as tf tf.enable_eager_execution() tf.executing_eagerly() # Prints true a = 3 b = 5 multiply = tf.multiply(a, b) print(multiply) # prints 15

Slide 14

Slide 14 text

What do I need? ML Libraries (e.g. TensorFlow, Theano, Scikit-learn) Data Processing and Visualization Libraries (e.g. matplotlib, ggplot2, numpy, scipy) Interactive IDE (e.g. Jupyter Notebook)

Slide 15

Slide 15 text

Demo: Iris Classification Problem

Slide 16

Slide 16 text

The Iris Classification Problem The Iris genus entails about 300 species, but our program will classify only the following three: Iris setosa, Iris virginica, and Iris versicolor.

Slide 17

Slide 17 text

Things to consider • Make sure your images are of lesser file size for faster processing • Your images should be of the same dimensions; machine learning works on image datasets of the same sizes • Check the version of the data visualization library you’re using • Choosing the right activation function and Machine Learning algorithm for your ML projects (LSTM for NLP, SVM for Image Processing Classification, etc)

Slide 18

Slide 18 text

• Funded by Jollibee FEP Youth Program • Develop an intelligent pest and crop monitoring system via drone imaging • Analyze crop health and whether crops are infested by gathering image data and analyzing them with image processing

Slide 19

Slide 19 text

Tanumbotics (from left to right: Marc Anthony Reyes, Jessa Balagtas, Joseph Philip Fernan Gaston, John Neijzen, Fidel Ivan Racines)

Slide 20

Slide 20 text

Conclusion “It always seems impossible until it is done” –Nelson Mandela

Slide 21

Slide 21 text

is looking for a Web Developer

Slide 22

Slide 22 text

Thank you very much! Social Media / @marcreyesph E-mail / [email protected]