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: https://jupyter-notebook.readthedocs.io/en/stable/notebook.html

👇
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.

https://colab.research.google.com/github/tensorflow/examples/blob/master/courses/udacity_intro_to_tensorflow_for_deep_learning/l01c01_introduction_to_colab_and_python.ipynb

👇
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.

https://colab.research.google.com/github/svpino/machine-learning/blob/master/multiplication.ipynb

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!
You can follow @svpino.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: