Not sure what you mean. Itās easy to write a test for a Callback to make sure it did what it was supposed to do.
Shameless plugin: if youāre a bit rusty with decorators, Iāve written a blog post on them
This lecture is the most dense lecture of all fastai courses. I reckon it will take weeks to get a good grasp of all practices taught in the lesson. Pure gold!
And itās only lesson 2
In fastai do you write automated tests?
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
For sure. This one lecture would easily be an entire course in a CS subject.
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?
Repetition. Pick a component of the lecture to focus on in each pass.
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.
- Give it 2 days
- Print out the relevant notebooks
- Put
pdb.set_trace()
everywhere and step through the code - Go back through this video and handwrite your notes on what is happening where and why in the print outs from step #2
I will just rewatch this a bunch of times. Brute force!
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.