Arrow Down
Web Development

Machine learning with TensorFlow: 14 things you need to consider

Nisha Gopinath Menon
-
January 24, 2019

This is the era of hyper-personalization. And with that, every industry is discovering new use cases for machine learning and deep learning. Implementing machine learning models today is far less difficult and daunting than it used to be thanks to machine learning frameworks like Google’s TensorFlow, that make the process of training models, acquiring data, serving predictions, and refining future results easier.  

  1. A software library, where you can make use of data flow graphs for numerical computation of mathematical expressions, tailored for Machine Learning and created by Google, TensorFlow is one of the best libraries to implement deep learning. Mathematical operations are represented by Nodes in the graph, while multidimensional data arrays (tensors) that flow between them are represented by the edges.
  2. Today it's widely used to develop solutions with Deep Learning. Deep learning is a method of implementing Machine Learning. You train systems to perform tasks such as identifying spoken words, recognizing images, and even comprehend natural language by feeding data into huge neural networks connected machines that mimic the web of neurons within our brains, with deep learning. You can teach it to recognize dogs if you feed photos of dogs into a neural net. You can teach it to carry conversations if you feed it conversational data.
  3. These neural networks aren’t driven by new algorithms. They date back to the 1980s. What’s new is that their creators now have the processing power and the enormous amounts of data to make these algorithms viable thanks to the internet. You need an awful lot of machines and an awful lot of cat photos to teach a system to recognize a cat.
  4. How does TensorFlow work? TensorFlow allows developers to create dataflow graphs, structures which describe how data moves through a series of processing nodes, or a graph. A mathematical operation is represented by each node in the graph represents, and a multidimensional data array or tensor is the connection or edge between nodes.
  5. TensorFlow applications can be run on almost any target that’s convenient: a cluster in the cloud, a local machine, Android and iOS devices, CPUs or GPUs. For further acceleration, on Google’s custom TPU or TensorFlow Processing Unit silicon, you can run TensorFlow if you use Google’s own cloud. Though the models then created by TensorFlow could be deployed on just about any device where they'll be used to serve predictions.
  6. Abstraction is the single biggest advantage TensorFlow provides for machine learning development. Instead of figuring out proper ways to hitch the output of one function to the input of another, or dealing with the many details of implementing algorithms, the engineer can focus on the overall logic of the application. The details behind the scenes are taken care of by TensorFlow.
  7. For engineers who are looking to gain introspection into and debug TensorFlow apps, TensorFlow offers additional conveniences. The eager execution mode allows you to modify and evaluate each graph operation transparently and separately, rather than constructing the entire graph as a single opaque object and evaluating it all at once. The TensorBoard visualization suite allows you to profile and inspect the way graphs run by way of an interactive, web-based dashboard.
  8. You can build neural networks line-by-line now. Keras is all about easy prototyping and user-friendliness, something old TensorFlow sorely craved more of. You’ll love tf.keras if you enjoy constructing neural networks a layer at a time and love the object-oriented thinking.
  9. Tensorflow Is not a normal Python library. Tensorflow is a framework that represents a computation graph, a particular type of computational abstraction. The first thing you do when you manipulate Tensorflow with Python is assemble the computation graph with your Python code. Once that is done, the second thing you do is interact with it (using Tensorflow’s “sessions”). However, it’s crucial to keep in mind that the computation graph does not live inside of your variables; it lives in the global namespace.
  10. It’s not just Python. We get it. For a while now we've all been complaining about TensorFlow’s Python monomania. TensorFlow is no longer just for the Python folks anymore. From R to Swift to JavaScript, it now runs in many languages.
  11. You don’t need to start from scratch. No example code for miles and a blank new page in your editor is no fun way to get started with machine learning. A storehouse of pre-trained machine learning model components, packaged for one-line reuse is what you get with TensorFlow Hub. So now you can engage in a more efficient method of helping yourself to another's code and call it your own with TensorFlow Hub.
  12. TensorFlow democratizes the power of deep learning. You don't need to know all about the optimization algorithms and advanced math models required to implement deep neural networks with TensorFlow. Just read the tutorials, download the sample code, and you can get started in no time. Many "non ML" engineers have started playing with the technology with their datasets and applications since Google open-sourced TensorFlow last November. Moreover, the library does lower the barrier to entry for machine learning significantly.
  13. You must have a large number of training datasets. And that is one of the current challenges with deep learning. The recognition accuracy might be high, often when you validate with test images. But the accuracy drops down significantly when you apply the system with real use cases. The neural network model is most probably suffering from "overfitting" (the phenomenon in the neural network where the model is trained to fit just to the small training dataset) due to the insufficient number of training images.
  14. Also, deep learning consumes a lot of computing power. Certain big enterprises have started doing large-scale distributed training to improve deep learning, but those servers come at a huge cost. Google offers Cloud ML (Cloud Machine Learning), a low-cost cloud platform for prediction and training that dedicates a huge number of cloud servers to training a network with TensorFlow. Google builds a large-scale cluster for distributed training with Cloud ML, and you only have to pay for what you need, making it easier for engineers to try out deep learning without making a significant capital investment.

So what’s stopping you? You can download TensorFlow for free, it's open source, and get started immediately. It’s what Google Cloud Vision and AlphaGo are built on top of, and it’s yours to play with.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Need help with product design or development?

Our product development experts are eager to learn more about your project and deliver an experience your customers and stakeholders love.

Nisha Gopinath Menon
Bangalore