Santiago Profile picture
Computer scientist and writer. I teach hard-core Machine Learning at https://t.co/THCAAZcBMu. YouTube: https://t.co/pROi08OZYJ

Oct 1, 2020, 11 tweets

It was a great improvement when I learned to use notebooks!

▫️To run experiments
▫️To share my code
▫️To present my work

It's a very different dynamic!

If you are a Python 🐍 developer, notebooks will be a multiplier for your career.

Let's talk about them:

🧵👇

A notebook is an "interactive computing environment." 🤓

This means that you can:

▫️Write code
▫️Use widgets
▫️Plot charts
▫️Write text (Markdown!)
▫️Write equations
▫️Display images
▫️Display videos

All of this in the same place! Like an interactive book!

👇

Notebooks contain "cells":

▫️You can write code on each cell (or anything, really)
▫️You can execute each cell independently
▫️Memory is shared across cells

These last two points are huge and one of the main draws of notebooks for new developers!

👇

Do you need to load some data and it takes a while?

▫️You write the code in a cell
▫️You run it once
▫️You don't need to ever run the cell again

Every cell acts as an independent "program" that shares the memory with every other program.

This makes notebooks very useful!

👇

But, wait a minute... How are notebooks going to help you?

Notebooks are good for experimenting and presenting results. They aren't meant to write production code!

Do you want to rapidly prototype a function? Maybe compare two options? Notebooks are great for that!

👇

They also have drawbacks:

▫️They discourage reusability
▫️They encourage global access to data
▫️Source control is not great
▫️The editor is not as powerful as an IDE

You would never open a can of tuna with a drill, right?

👇

Jupyter is the defacto standard for notebooks.

Jupyter is open-source, runs everywhere, and it's used across the board.

Here is the documentation of The Jupyter Notebook: jupyter-notebook.readthedocs.io/en/stable/note…

👇

Personally, I love Google Colab:

▫️It's integrated with my Google account
▫️It's free
▫️I can easily share them
▫️It gives me access to free GPU/TPU resources!

I can't even begin to express the importance of that last point! If you are into Machine Learning, you understand.

👇

A small tiny step you can take today:

▫️Introduction to Python
▫️Introduction to Google Colab

It will take around 10 - 15 minutes.

This is a great springboard that will help you understand notebooks and get into Machine Learning later.

colab.research.google.com/github/tensorf…

👇

Ready for a 30-minute introduction to Jupyter Notebooks?

"Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough" from @CoreyMSchafer is gonna give you all you need.

Video:

👇

Did I mention you can share Colab notebooks?

Here is a link to a notebook I built to multiply two numbers with a neural network.

colab.research.google.com/github/svpino/…

The code it's not that interesting. But feel free to follow the link and run each cell to see how it works.

Good luck!

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling