TensorFlow 2.0 was announced in alpha at the TensorFlow Dev Summit and September 30, 2019, the TensorFlow 2.0 release date, was truly a thrilling moment for the entire machine learning and deep learning community. To give you a quick introduction, Google’s TensorFlow is an open-source library primarily built for deep learning applications and has now evolved into an end to end machine learning platform. 

Fun Fact: It was initially developed for complex numerical computations and not deep learning. However, later, Google open-sourced it as it proved to be incredibly significant for the development of deep learning. 

Ever since Google Brain launched TensorFlow in 2015, it has become the most popular open-source machine learning library. And now with the emergence of TensorFlow 2.0, even beginners can execute deep learning tasks.  

What is TensorFlow 2.0?

As per the TensorFlow team –

  1. TensorFlow 2.0 is a comprehensive toolbox for developers and researchers who are looking to build applications powered by machine learning.
  2. It was essentially built by the community that wanted flexible, powerful, and an easy-to-use platform which would also support deployment to other platforms. 

To define it precisely, TensorFlow 2.0 has made the development of machine learning applications much easier. And the credits go to the integration of Keras into TensorFlow 2.0, default Eager execution, and Pythonic function execution.

What makes Tensorflow 2.0 Better?

Enlisted below are the reasons why TensorFlow 2.0 is better than other machine learning libraries: 

  • For beginners and experts: TensorFlow 2.0 doesn’t discriminate between beginners and experts. Its simple syntax makes it really easy to learn and use which wasn’t the case with TensorFlow 1.0.
  • Powerful features: TensorFlow 2.0 allows its users to customise it according to their needs, inherit it, and build on top of it for a specific use-case.
  • Familiar APIs: Python developers will find the APIs familiar. Also, with Keras as the recommended high-level API and its integration with TensorFlow 2.0, developers’ productivity is sure to shoot up.
  • Dataset Expansion: The expansion of TensorFlow datasets has made data access easier than ever before. 

How is it Different from TensorFlow 1.0? 

(As per the TensorFlow team)

  1. API Cleanup: APIs have either gone, moved, or been replaced with their 2.0 equivalents (tf.summary, tf.keras.metrics, and tf.keras.optimisers). To automatically apply these renames, use the v2 upgrade script. 
    tf.keras is the recommended high-level API in TensorFlow 2.0.
  2. Eager execution by default: In TensorFlow 1.0, you had to perform the operation inside a session. A session is an environment in which the objects (here, multiplication of 6 and 4) are executed. That means, if you had to multiply two constants, TensorFlow 1.0 wouldn’t have given you the results until you performed it inside a session. But with TensorFlow 2.0, you can do it directly, that’s Eager Execution. 
    TensorFlow 1.0 code 
    a = tf.constant(6)
    b = tf.constant(4)
    c = a * b
    with tf.Session() as Sess:
    print(sess.run(c))

    Simplified TensorFlow 2.0 code because of Eager Execution: 
    a = tf.constant(6)
    b = tf.constant(4)
    c = a * b
    print(c)
  3. No more globals: TensorFlow relied on implicitly global namespaces. That means, in TensorFlow 1.0, you could only recover a tf.Variable, if you knew the name it was created with. But since users were not in control of the variable’s creation, it was difficult for them to find their variables again. In TensorFlow 2.0, however, if you lose track of a tf.variable, it gets garbage collected. 
  4. Functions, not sessions: A session.run() is almost similar to a function call as you specify the inputs and the function to be called to get the output. However, you can now decorate a python function in TensorFlow 2.0 by using tf.function()so that it runs as a single graph. 

Tutorial: Installation and Setup

Here are the most effective ways to use TensorFlow:

Google Colab: Nothing can match the convenience of using TensorFlow with Google Colab (provided by the TensorFlow team). It is a hosted Jupyter notebook environment and is free to use. The best part is that it requires no setup. With Google Colab, you don’t have any dependencies or installations to take care of. You can write TensorFlow code within the Colab browser.  

How to use TensorFlow 2.0 with Google Colab:

  • Go to https://colab.research.google.com . The console will give you multiple options
  • Select the option that fits from the console. It contains five tabs:
    1. Examples: Default notebooks given by Colab
    2. Recent: The recent notebooks the user worked on.
    3. Google Drive: Notebooks that are linked to the user’s Google Drive account.
    4. GitHub: Link the notebooks in the user’s GitHub account.
    5. Upload: Upload a new ipynb/GitHub file.
  • After exploring the aforementioned options, select ‘New Python 3 Notebook’ to open a new Colab notebook. 
  • Colab comes preinstalled with TensorFlow 1.0. So you need to uninstall it – !pip uninstall TensorFlow and then install it – !pip install TensorFlow

The Ecosystem of TensorFlow 2.0

  • TensorFlow.js – It is a library for ML in Javascript. TensorFlow.js allows deep learning models to run in a browser. 
  • TensorFlow Lite – It is a lightweight version of TensorFlow which can run on mobile and embedded devices. It possesses almost all the features of TensorFlow. It is built for you to run machine learning models on mobile devices with low latency, so you can do classification, regression, and more. 
  • TensorFlow Extended (TFX) – The TensorFlow team describes it as an end-to-end platform to deploy production machine learning pipelines. TFX essentially helps you build a machine learning pipeline. So, if you want to move beyond training a single model and are ready to move your model to production, TFX is the tool for you. 

Now that you here, and have a fair idea of what TensorFlow 2.0 is all about, I am assuming you’re one of our deep learning enthusiasts. And if this interests you, I have a whole world of deep learning for you to get your basics on point. Springboard’s courses on data science, data analytics, and Artificial Intelligence/Machine Learning are 1:1 mentoring-led and project-based. The best part is they are industry focussed and job-oriented especially designed for technology enthusiasts, like you, to serve them with a career that matters.