Top 4 Jupyter Notebook Alternatives for Machine Learning

In this article, we review some of the online options for running Python using online (Jupyter) Notebooks.

The Python Landscape

There are a number of platforms available for running Python. Some of these include:

  1. Install Python on your own machine.
  2. Use Jupyter notebooks on your own machine.
  3. Use a data science platform like Anaconda on your own machine to set up the above.
  4. Use one of the numerous online Python shells or interpreters or shells.
  5. Use one of the numerous online Jupyter-Notebook-like online services.

It’s this last option we will review in this article. This is a popular choice in the data science and machine learning fields.

Quick Overview of Online Options

Installing Python on your own machine is perhaps the best approach when writing software. But if you want access to Python online for use anywhere there are a number of available options.

There are a number of sites where you can use an online Python shell, such as www.python.org/shell for example.

There are also script-based implementations of Python online, such as https://www.online-python.com/.

But these free offerings are often limited in how much code you can run and how many resources you can use. They are great for learning Python but can be too limited to use for more ambitious needs.

If you want to run some more demanding processes online in data science or machine learning fields an online Jupyter Notebook service is an effective alternative.

Before we review some of those, let’s review the classic Jupyter Notebook.

A Quick Review of Jupyter Notebooks

When installing and using Python on your own machine you either issue commands in the shell which are executed immediately; or more commonly you write commands in a program file, and then call the interpreter to execute the commands in that file, as a script.

Jupyter Notebooks implement a sort of hybrid version of these two approaches. Jupyter Notebooks are active documents that help an analyst both analyze data and communicate that analysis effectively.

Here are their features and what they do:

  1. Jupyter Notebooks are displayed in a web browser, an interface widely familiar and accessible to all.
  2. They resemble math and science textbooks, where equations and     graphs are mixed within explanatory text which describes the subject matter in question.
  3. Most significantly the “equation” portions of Jupyter Notebooks consist of code that can be executed, so that the reader can actually run the code to duplicate the analysis. When the code is run the results (numbers or graphs) are displayed below the code.   
  4. In this way they resemble lab notebooks, but where descriptive text is mixed within executable code where the data analysis and experimenting is done.

Jupyter Notebooks are created and edited within a web browser.

When creating a notebook the creator enters content in fields called “cells”. These are simply fields that allow the two kinds of entry, either markdown text or code.

The code cells can be run by hand one at a time, potentially out of order if desired (sort of like the Python shell); or the entire document can be run, cells in order, in a typical script-like manner.

The online services we will review implement the same kind of Jupyter Notebook interface, but provide the service online.

Classic Jupyter Notebook on a home PC (i.e. not online), with one markdown cell, one code cell with results below it, and one empty cell below that.

Advantages to Online Jupyter Notebooks

There are a number of reasons one might choose to use an online Jupiter Notebook service:

  1. You can run Python anywhere you have a computer and an online connection.   
  2. These platforms typically provide all the data analysis and machine learning applications (pandas, Numpy, scikit-learn, etc.) which are needed for data analysis and machine learning. Typically most all other Python libraries are available as well.
  3. Typically they provide systems with high-performing GPUs so that your data processing is fast and efficient. These often implement world-class computing capabilities. This is often essential for machine learning models to be effective and efficient. It is the server that provides the computing power, your own computer just needs to be able to display the webpage.   
  4. They take care of managing the computer system, so you don’t have to. You can be sure you have the computing resources and packages you need, and that they’ll work out of the box. You can focus on using the tools, rather than working on making sure you have a system up to the task. This can be one of the most beneficial aspects: with no effort you can have access to world-class computing resources.

Now that we understand Jupyter Notebooks, and we have seen the reasons one might choose to use an online platform, let’s review some of them to see what they offer.

Google Colab

Google Colaboratory, or Colab for short, is Google’s implementation of online Jupyter Notebooks.

Features

  • Jupyter-like web interface.
  • Customizable keystrokes.
  • Google colab documents are Jupyter Notebook files, so they can be downloaded and viewed in Classic Jupyter Notebook.
  • These files can be saved in Google Drive and Github. If in Google Drive they can be shared with others there.
  • Data science packages like pandas, etc. are supported with the import command.
  • Machine learning packages like scikit-learn, etc. are supported with the import command.
  • Several tutorial notebooks available for training in data science and machine learning.   
  • Free use of GPU and TPU.   
  • Unable to support voila. (voila combined with ipywidgets hides code cells so that notebooks can look like a normal GUI application.)

Tiers

Colab       Colab Pro           Colab Pro+       
free       $9.99/month   49.99/month       
                               Faster GPUs and TPUsPriority access to faster GPUs and TPUs
                               More memorySignificantly more memory
                               Longer runtimesEven longer runtimes
                                  Background execution after the browser is closed

The details here are admittedly vague. Google says they are not able to report specifics because they fluctuate, and that they need to maintain that flexibility to maintain their ability to provide free service.

See more details on their FAQ page https://research.google.com/colaboratory/faq.html#resource-limits.

Paperspace Gradient

Paperspace is a GPU accelerated cloud computing service. Their Gradient product is dedicated to machine learning.

Features

  • Jupyter-like web interface.
  • Can switch to full Jupyter Notebook mode within the browser.
  • Many available datasets to work with.
  • Notebooks publicly visible; private access with paid account.
  • Website storage of notebooks. However notebooks can also be downloaded to be run in Classic Jupyter Notebook on a PC.
  • Data science packages like pandas, etc. are supported with the import command.   
  • Machine learning packages like scikit-learn, etc. are supported with the import command.   
  • Multiple templates are available pre-configured with notebooks for Jupyter Notebook or various ML platforms.
  • Three “entry points”: (1) Notebooks; (2) Workflows, which help automate tasks in creating production-grade systems; (3) Deployments, which assist preparing for production.
  • Free use of GPUs.
  • Able to support voila because of full Jupyter Notebook support when in the Classic Jupyter Notebook mode.

Tiers

Free       Pro       Growth       
free$8/month$39/month
Public projectsPrivate projectsPrivate projects
5GB storage15GB storage50GB storage
Basic instancesMid-range instancesHigh-end instances
Faster free GPUsExpert support

Kaggle

source

Kaggle is arguably an online community or meeting space for data scientists and machine learning people.

As well as providing online notebooks, it includes a newsfeed, datasets, competitions, forums, and free data and machine learning courses, all accessible from a well-organized and intuitive dashboard.

Beyond the notebooks, you might want to join this site just because of all the resources it provides.

Features

  • Both Jupyter-like web interface and script-like (“normal” program files) interfaces available.   
  • Notebooks can be downloaded, then opened in Jupyter Notebook     elsewhere.   
  • Many available datasets to work with.   
  • Data science packages like pandas, etc. are supported with the import command.   
  • Machine learning packages like scikit-learn, etc. are supported with the import command.   
  • Multiple free courses on data science and machine learning.   
  • Free use of GPU and TPU.   
  • Voila probably not supported.

Tiers

All Kaggle functions are free to use.

JetBrains DataLore

JetBrains is the company that provides the PyCharm Python IDE. Datalore is their online implementation of Jupyter Notebooks.

Features

  • Both Jupyter-like web interface and script-like (“normal” program files) interfaces available. Other modes/features are available as well (see their website for details).
  • Notebooks can be downloaded, then opened in Jupyter Notebook     elsewhere.   
  • Data science packages like pandas, etc. are supported with the import command.   
  • Machine learning packages like scikit-learn, etc. are supported with the import command.
  • Well-written and easy to use help documentation.
  • Free CPU use; GPU use with paid tier.
  • Voila is available as a package.

Tiers

CommunityProfessional
Free$19.90/month       
120 hours of computations on a basic CPU machineUnlimited computations on a basic CPU machine
                               120 hours of computations on a powerful CPU machine
                               20 hours of computation on a GPU machine
10 GB of cloud storage + S3 bucket support20 GB of cloud storage + S3 bucket support
Keep machine running for 6 hours after you’ve left notebookKeep machine running for unlimited time

Conclusion

Online Jupyter Notebooks can be a valuable resource for Python computing anywhere, and ensure you have access to world-class resources for your computing.

To give you an idea of what is available we have reviewed a small sample of some of those resources.

However, this is just the tip of the iceberg of what is available. See this article for a much larger list of other available sites:

And this review is also only the tip of the iceberg of what these sites offer.

If this is something that interests you, definitely go to their sites to see what they offer; and since most have free options, try them out to see which you like best, and which best meets your Python, data science, or machine learning needs.

Also note this is a snapshot of offerings as of April 2022. This can be a fast-changing field, so examining the offerings yourself is highly encouraged to see what the latest changes are.

We wish you happy coding!