Programming used to follow a cycle of write, compile and check, which was common in the past. Modern programming applications have different requirements. This system has proven to be reliable. Text editors have always been my preference over IDEs. This is partly because I started coding with text editors. Text editors made it easy to not look for auto-correct to assist me. However, I learned that IDEs can save a lot of my time and are more about efficiency than practice. The problem was that even after I had written the code, the process for executing it remained the same.
1. Open the terminal2. Run the compilation
This was too cumbersome when I first started doing Data Science and Machine Learning. To visualize a dataset in Python, for example, I had to save it locally, close the program, and then view the graph. I soon realized that this was not in line with my philosophy of efficiency.
Figure 1: Conventional programming techniques used text editors such As Notepad++ or IDEs like PyCharm.
Real-time interaction is key to Data Science. This allows Data Scientists to interact with data and numbers dynamically. Jupyter is one such tool for Python. Jupyter Notebook, an open-source web application for interactive coding, is Jupyter Notebook. The web app supports Ruby, Julia, and Python.
Figure 2: Jupyter, an open-source web-based tool for interactive Data Science and Machine Learning is Jupyter.
Each Jupyter Notebook contains an IPython back-end kernel. The kernel analyzes and runs your code. Multiple kernels can be supported by Jupyter. A custom kernel can be created according to your requirements.
I realized in the beginning stages of my journey into Data Science that I needed separate environments to perform different tasks. Multiple kernels were a boon. I was able to set up TensorFlow with all its dependencies in one kernel, and data visualization in another.
Figure 3: IPython is the backbone of a Python Notebook
Jupyter Notebooks are resource-intensive and one of the biggest disadvantages to using them for Python development and Data Science. This problem can be overcome by Azure Notebooks. Azure Notebooks are Jupyter notebooks that are hosted on Azure virtual machines.
Figure 4: Azure Notebooks can be described as Jupyter Notebooks hosted on Azure
Azure Notebooks are completely free to access and you don’t need an Azure account in order to use them. Azure Notebooks include a variety packages that support Data Science, in addition to the cost benefit. You can also install additional packages through the Jupyter front end interface using magic commands. The packages include the entire Anaconda stack and many Microsoft-specific modules like CNTK or Azure ARM.
Figure 5: Azure notebooks come pre-installed with a variety of packages
Azure Notebooks also has the advantage of not only supporting Python. It also supports R and F#. Microsoft has also loaded Azure Notebooks, which contain a variety of practice and study materials. This allows users to approach Data Science & Programming in an interactive way. I found myself looking through the sample notebooks in order to discover new and exciting ways to use Jupyter/Azure.
Jupyter Notebooks are also available for import from Azure Notebook users and GitHub, ensuring that you have the fastest method to pull resources. You can also access the terminal that hosts the Jupyter Notebook.
Figure 6: “Libraries can be easily shared via GitHub and within Azure Notebooks
Azure Notebooks can be used independently of Microsoft Azure but they are closely related. When Azure Notebooks is activated, it automatically deploys.