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

Developing Machine Learning Applications with TensorFlow

Developing Machine Learning Applications with TensorFlow

Talk conducted during Campus DevCon at MSU-IIT Iligan, School of Computer Studies at Andres Bonifacio Ave, Iligan City, Lanao del Norte on May 5, 2018.

Marc Anthony Reyes

May 05, 2018
Tweet

More Decks by Marc Anthony Reyes

Other Decks in Programming

Transcript

  1. Developing Machine Learning Applications with TensorFlow Marc Anthony Reyes (@marcreyesph)

    AI Developer Intern, Wela School Systems BS Computer Science, Xavier University – Ateneo de Cagayan
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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
  11. 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)
  12. 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.
  13. 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)
  14. • 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
  15. Tanumbotics (from left to right: Marc Anthony Reyes, Jessa Balagtas,

    Joseph Philip Fernan Gaston, John Neijzen, Fidel Ivan Racines)