Lesson 9 Discussion & Wiki (2019)

Good tests coverage is one of the running dev projects. Not exactly TDD though :smile:

2 Likes

Content until the next fast.ai course, remember? Jeremy stays true to his word :ā€™)

Can you do something similar to decorators in Swift? I didnā€™t think it was quite so dynamic, but I guess it does support currying so you could probably handroll something similarā€¦ Iā€™m not really sure.

Yes, every commit is automatically tested on our test suite. Or did you mean something else?

Lesson 2/5 of fastai in Python :smiley:

For sure. This one lecture would easily be an entire course in a CS subject.

4 Likes

Here I am starting to learn Swift, when thereā€™s so much Python left to learnā€¦

I wonder how one can keep all that complexity in their head. I feel overwhelmed. Any practical tips about how to mentally organize studying topics of overwhelming complexity?

5 Likes

Repetition. Pick a component of the lecture to focus on in each pass.

2 Likes

I would guess it depends on the computations required for the thing we want to calculate in real time.

I am going to try this with some small networks and try to assess the average log [frobenious] norm of the weights at different layers. Thereā€™s evidence that shows itā€™s correlated with test accuracy but without the need to use labels.

An unsupervised quality metric might be nice for generative models.

Can we know in advance the topics that are going to be covered in the next class so that we can brush up on those topics?

Every complex stuff is just the accumulation of simple bits. Break down the complex stuff into its parts, understand the parts well, and then reconstruct the complex stuff. Basically whatā€™s Jeremy has been doing, but you need to do it yourself to fully understand it. Follow fastaiā€™s advice: reimplement the notebooks yourself, and only look at the lessons notebook if you need it when you do so.

8 Likes
  1. Give it 2 days
  2. Print out the relevant notebooks
  3. Put pdb.set_trace() everywhere and step through the code
  4. Go back through this video and handwrite your notes on what is happening where and why in the print outs from step #2
2 Likes

I will just rewatch this a bunch of times. Brute force! :smiley:

3 Likes

It feels overly complex when you see it all in two hours. My advice would be to take is in smaller bits during the next week. Focus on the ones that feel the most important first, and if you donā€™t manage to get to the end of this lesson by next lesson, just note the parts you didnā€™t get to revisit somewhere for later, after the course.

This is one year of development distilled in five lessons, so itā€™s very dense.

10 Likes

Any good resources for understanding callbacks if you have never seen them before (callback for dummies??)

Barbara Oakleyā€™s book A Mind for Numbers has many helpful tips on studying & learning (she is the creator of the Learning How to Learn coursera class, most popular MOOC ever)

16 Likes

Also look up the concepts of active recall and spaced repetition. Best way to learn anything, according to science at least :wink:

5 Likes

Yeah in a way Jeremyā€™s teaching approach here is the similar to how Marx went over the Capital.

He started with breaking down the big things, big ideas or components that make up the system. He then went into a dive of how these work in practice. At the end, he comes ā€˜back upā€™ to the components, and is able to see them with a ā€˜different eyeā€™ having a different understand of things (Marx actually discovered the bath tub approach).

So I suggest that as a learning approach. Break things down, learn them, but then come back and critical ask what has changed.

Ohh man, this is a whirlwind deep dive :crazy_face: