I found the notebook kind of confusing and the video seemed to explain just a few arbitrary things. I have quite a bit of programming experience and a little machine learning experience, so I was able to follow through the notebook, but I think a beginner would be totally lost. I’m not sure how deep we’re meant to go into the code and how much of it we’re meant to understand at this point.
My usual expectation would be to understand 100% of the code, but perhaps that’s not your intention for lesson 1?
The notebook talks a lot about layers and loss, without defining what any of these things are or why they matter until right at the end of the notebook. It doesn’t even show the structure of a neural net.
The code itself is hard to follow due to amount of abbreviations and poor naming. For example, using lr_find() instead of find_learning_rate(), or tfms instead of transforms. These may seem like little things, but for beginners who are coming across terminology for the first time, trying to keep up with what everything stands for, while also trying to wrap your head around the concepts, is almost impossible. Spending some more time on naming would make the whole thing a lot more intuitive.
Anyway, thanks for releasing the course. I’ll stick with it
@pekoto That is the FastAI approach on things. I think it’s our fault that we aren’t used to top down learning approaches.
Definition of learning (Before I took fast AI): I can understand the thing thouroughly, I need to to know every possible combination of it, and all the theory behind it.
Definition (After fast AI): If I can apply something, I’m good. I don’t have to know the details, because my system works for now. If I need to add something extra, well I’ll figure it out.
Lesson 1 is Dogs Vs Cats. You call the 3 lines, and beat the SOTA. If you use the same model with some fine tuning, it’d work! It’s okay to not know every single theory behind the applications is what I learned.
It was hard to believe for me that I was learning, but the best approach is follow the lectures and not be worried about too much theory. Focus on building things or replicating the results without looking at the code
Yup that’s the issue - all we hope after this lesson is that you can complete the assignment, which is to replicate the notebook on a new dataset. In the following lessons you’ll learn how all the code worked, and you’ll also learn how to write the underlying library pieces.
Congratulations @jeremy for the new fastai Deep Learning (DL) framework.
I have just ended the lesson 1 and you seducted me. I think I will try to master it and add it as one of my favorite DL libraries.
As I am currently implied in the France Azure Preview, I runned the Lesson 1 notebook on a VM[E64 v3 (64 vCPU, 432 RAM, 864 HDD) - Windows Server 2016]. The training took about 3 hours instead of about 20 s with GPU.
That means some heavy projects will require more than a month to train on CPU.
So, it is definetly worth run it on GPUs.
Just two or three preoccupations: 1- Is there a particular reason why you did not create a predict_proba function, but you choose instead to use the core functions to implement the probabilities? 2- Is there a documentation ongoing as other frameworks often do it on readthedocs.io for example? I am planning for a mean/long term strategy, so it will be useful. 3- Even if I undertook the official february 2017 session, I mostly use TensorFlow and didn’t adopt Pytorch again. So, please, do you think I will need to learn Pytorch if I adopt the fastai library?
OK, @jeremy,
I had in mind to learn it later, as now I master and mostly use TensorFlow based frameworks (TensorFlow, TFLearn, Keras) and also CNTK.
So in the meanwhile I will add fastai as a new skill and plan to learn Pytorch in detail later.
As there is no formal documentation for fastai library at the time, my implementations will be based on the actual courses and tutorials.
Thank you very much.
Hi. Thank you for creating and sharing this great tool. I was looking for similar tool previously and thinking of creating one but you beat me to it I think this tool will be useful to many, helping to make it easier for them to watch the video lessons. More so when I usually replay or rewatch the videos for several times when I am doing a deep study.
One way is to notice when you have a problem and search for things at that point. Not everything is immediately useful, so you might not get everything you need out of, say, reading an entire thread. But if you run into something in the notebooks, chances are there are other people who have had the same issue or question come up for them. Good luck!
Rely on search functionality. When you can’t resolve an issue or want to explore some topic deeper, search for it on the forum.
When you encounter something that seems important (links, tips, helpful pieces of code), save it somewhere. It’s better to split notes into different categories. I use OneNote for that purpose, but there are other apps you can use, like Evernote, or any text editor. I’m categorizing links, notes, and my own thoughts into logical sections like CNN, RNN, Structured data, Learning rate, Optimizers, Image Augmentation, etc.
When I do learn.parameters() after the lesson 1 exercise with new data, it gives the following error: AttributeError: ‘ConvLearner’ object has no attribute 'parameters’
Any ideas?
I apologize in advance if this question has been asked before, but why does the 1st video stop at LR finder explanation, whereas the 1st notebook has a lot more stuff after that?