TensorFlow - Simple overview for beginners

What is Tensorflow?

TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.

Tensorflow

To put it simply, TensorFlow is an open-source Google's machine learning framework, using data flow graphs for numerical computation. One of the most popular and used so far. It has a lot of tools and features that help you with data management and data visualization.

Why is it so good?

Support for many languages

TensorFlow is designed to work with many popular programming languages like C++, JavaScript, Swift, Go and Python. Python is most commonly used and considered as the main one. That's why only Python has full support to all features used in TensorFlow and its the best choice. But what if I want to use other programming languages? Thanks to the use of an open-source TensorFlow community feature called Bindings, we are able to use any language we want! All that is needed, is to follow recommended by TensorFlow API steps.

It's cross-platformed

TensorFlow runs on almost everything. You can use GPUs, CPUs, mobile platforms, embedded platforms, cloud systems. It also works with IoT (Internet of Things), so be prepared, the future is now!

Tensorflow layers
TensorFlow Architecture, source: https://www.tensorflow.org/guide/extend/architecture

Easy model building and sharing

Building and training models now can be very easy. TensorFlow, by using high-level Keras API, makes 'getting started' with Machine Learning soft and simple. Also, for different needs there comes multiple levels of abstraction. For more flexibility, TensorFlow offers eager execution, which allows for immediate iteration and intuitive debugging. Large scale Machine Learning tasks? Not a problem! Just use a Distribution Strategy API. Sharing is also very easy. Unlike the most competition, to run models, TensorFlow requires only a checkpoint file and the names of layers you need for inference. You can use the same model, without recompiling and rebuilding it, in many projects, no matter in what programming language it's written. It's just a few lines of code and we are ready to go: 

# imported graph to be used as default later
imported_graph = tf.Graph()
with imported_graph.as_default():
# read graph definition from file
   graph_def = tf.GraphDef()
   with tf.gfile.GFile('path/to/model', 'rb') as model:
       # parse it
       graph_def.ParseFromString(model.read())
   # and import to TensorFlow
   tf.import_graph_def(graph_def, name="imported_model")
with imported_graph.as_default():
   output = tf.Session().run("output:0", feed_dict={"input:0": our_input})

TensorBoard

Building and training a huge deep neural network can be tough and challenging. To make it easier to understand, optimize and debug, TensorFlow has developed a special feature, visualization tool named TensorBoard. 

TENSORBOARD
Fully configured TensorBoard source: https://www.tensorflow.org/guide/summaries_and_tensorboard

Loss, accuracy and other metrics, now can be run even during a training session. It also shows tensor changes overtime, tensor shapes for nodes, total memory usage parameter and more!

Big community and popularity

Open-source projects must have a strong community. So TensorFlow does. By writing this article: 131,903 stars, 61,542 commits, 2107 contributors on Github. 45,538 questions on StackOverflow. Those are numbers of the most popular Machine Learning framework. Those numbers you can trust while starting your journey with Machine Learning.

Summary

AI, Deep Learning, Machine Learning are very hot topics nowadays. It's not 'easy to take' matter, but TensorFlow makes it for sure a way more understandable and clear. It is used by start-ups, academics, and of course big companies (Coca-Cola, Airbnb, Twitter and more). You can find it in in daily used APS like Google Search Engine or Gmail. You can find it everywhere and that's the biggest strength - it's for everyone and it's easily accessible. And Yes, it has is own problems, but the development team and a huge community are working hard to make it perfect.

Take a look at Tensorflow

0
Buy Me A Coffee
searchstaruserlist-altbookcalendarfacebook-squarelinkedin-squarearrow-circle-rightmoneybellyoutube-playinstagramline-chart