Santiago Profile picture
Oct 1, 2020 11 tweets 5 min read Read on X
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!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Santiago

Santiago Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @svpino

Nov 12
This is worth 1,000+ hours of engineering work every year:

1. Reproducing a bug
2. Getting detailed debug data
3. Writing how to reproduce it
4. Putting it all together in a good bug report

This tool can do all of this and cut the time it takes to fix the bug by 70%+:
makes the reporting and fixing process really fast!

Click once, and engineers get:

• Console logs
• Network requests
• Timing waterfall
• Repro steps
• Session & user details
• Device & OS
• Backend logs

Check the attached video. Jam.dev
It's just a browser extension - so anyone can report bugs w/ technical details.

Even after the bug just happened!

You can click instant replay, and Jam will create a detailed report with real-time data and video up to the last 2 minutes.
Read 4 tweets
Oct 1
My new soon-to-be Linux laptop right before I start assembling it. Image
RAM and SSD are now installed. Took me 1 minute and I didn’t even read the manual. Image
The packaging is very nice. A lot of cardboard. This thing comes well protected.

Mostly, frustration-free packaging. Reminiscent of Apple’s boxes. Image
Read 13 tweets
Sep 16
How can you build a good understanding of math for machine learning?

Here is a complete roadmap for you.

In essence, three fields make this up:

• Calculus
• Linear algebra
• Probability theory

Let's take a quick look at them! Image
This thread is courtesy of @TivadarDanka.

3 years ago, he started writing a book about the mathematics of Machine Learning.

It's the best book you'll ever read:



Nobody explains complex ideas like he does.tivadardanka.com/books/mathemat…
1. Linear algebra.

In machine learning, data is represented by vectors. Essentially, training a learning algorithm is finding more descriptive representations of data through a series of transformations.

Linear algebra is the study of vector spaces and their transformations. Image
Read 9 tweets
Aug 12
The single most undervalued fact of linear algebra:

Matrices are graphs, and graphs are matrices.

Encoding matrices as graphs is a cheat code, making complex behavior simple to study.

Let me show you how! Image
By the way, this thread is courtesy of @TivadarDanka. He allowed me to republish it.

3 years ago, he started writing a book about the mathematics of Machine Learning.

It's the best book you'll ever read:



Nobody explains complex ideas like he does.tivadardanka.com/books/mathemat…
If you look at this example, you probably figured out the rule.

Each row is a node, and each element represents a directed and weighted edge. We omit any edges of zero elements.

The element in the 𝑖-th row and 𝑗-th column corresponds to an edge going from 𝑖 to 𝑗. Image
Read 18 tweets
Jul 12
A common fallacy:

If it's raining, the sidewalk is wet. But if the sidewalk is wet, is it raining?

Reversing the implication is called "affirming the consequent." We usually fall for this.

But surprisingly, it's not entirely wrong!

Let's explain it using Bayes Theorem:

1/10 Image
This explanation is courtesy of @TivadarDanka. He allowed me to republish it.

He is writing a book about the mathematics of Machine Learning. It's the best book I've read:



Nobody explains complex ideas like he does.

2/10tivadardanka.com/books/mathemat…
We call propositions of the form "if A, then B" implications.

We write them as "A → B," and they form the bulk of our scientific knowledge.

For example:

"If X is a closed system, then the entropy of X cannot decrease" is the second law of thermodynamics.

3/10
Read 10 tweets
Jun 12
Some of the skills you need to start building AI applications:

• Python and SQL
• Transformer and diffusion models
• LLMs and fine-tuning
• Retrieval Augmented Generation
• Vector databases

Here is one of the most comprehensive programs that you'll find online:
"Generative AI for Software Developers" is a 4-month online course.

It's a 5 to 10-hour weekly commitment, but you can dedicate as much time as you want to finish early.

Here is the link to the program:

I also have a PDF with the syllabus:bit.ly/4aNOJdy


I'm a huge fan of online education, but most of it is all over the place and mostly theoretical.

This program is different:

You'll work on 4 different hands-on projects. You'll learn practical skills you can use at the office right away.cdn.sanity.io/files/tlr8oxjg…
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(