How do you... learn? (and study)

Hi guys,
I have a question for you all:
How do you learn?! (related to this course)

I mean: ok, I understand I have to code and concentrate on doing things more than “reading” the notebook and listen to the lessons. But I’m really interested in how do you actually learn, what you DO to be successfull in this course.

I’m absolutely new to this course and really exited.
I’m doing this:

  1. following the video lesson
  2. reading the suggested extended-note and runnning the jupiter notebbok during the process
  3. copy and paste some notes (from the extended-note) to my markdownd notes to have something I find really important / usefull
  4. doing homework to acutally write some code

But I’m thinking that maybe it is not enough: I do not “study” in the real sense of the word, writing down something and “repeating” like a normal lesson.

I any case, a part from my doubts, which is your path? If you want to share it, I think (and hope) it could be usefull for someone else. Like me :slight_smile:

Thank you!
David

4 Likes

I made a post on this on “Share Your Work” to what I did but I will reiterate it for what I found very helpful/successful Original

  • Spend 1-2hrs a day on mini projects that I can get deep into for a month or two at most.
  • Look over the source code and notebooks often
  • Write blogs and lecturing geared towards those who either barely know what fastai is or are getting the basics to make sure I know it well enough and can explain it.
  • Go through the lectures and courses slowly, relistening and running the notebooks often .
  • You are your own rival. Try to outperform yourself on your projects and you will see growth.
  • Read the forum daily. Even a casual browse of a topic. I may not understand something people are talking about, but I know it exists and I can revisit it later if I need to

Essentially go through the notebooks and explore why what is doing what, play around with problem sets, and keep looking back at the original notebooks until it becomes fluid :slight_smile: Hope that helps!

14 Likes

To add to this point, it doesn’t even have to be a full blog. When you run into an issue, write a forum post detailing the problem and what the solution is. This helps a ton not only for people that come after you on the forums, but will also help yourself. I have started creating these whenever I start to have a problem and usually I am able to find the solution, but if you aren’t able to, it also is a great way to help people follow how you arrived at the issue you are having.

I can’t count the number of times I’ve had an issue and ended up searching and finding the answer on the forum from myself.

11 Likes

I have been trying to learn for a year and a half, so you can say I am a slow learner :grinning: I have been just listening to fast.ai lectures and also participating in TWIML study group meetings (in addition to trying to work on my data classification). I cannot say that I fully understand all that I hear, but over time, it becomes a little bit more clear. But I have to admit, for me, the learning process has been very slow and somewhat difficult. The forum helps too, very much so!

2 Likes

Yeah, a community to keep you accountable and to ask questions to is really important as well in my experience.

4 Likes

I’d say you described pretty well how I do it :slight_smile:
I would just add

  • Sometimes, instead of applying what I’ve just learned to another application, I try to implement some Fastai functions myself without using Fastai library. To have a better understanding of what’s hapenning behind the curtain. Because when Jeremy explains it it always seems brilliantly simple. But when you do it by yourself that’s another story. But be careful, hours pass quickly when doing this!
7 Likes

For me, I learn by participating in Kaggle, reading papers, trying to contribute to the library, and work on 1-2 projects at a time.

3 Likes

Wow thank you very much!
Really helpful!!

I never thought about a lot of things I think are really nice like going (also if I do not need it in that specific moment) through the forum daily or also write blogs and lecturing.
I’m also a slow learner, I also work 8h/day so I’ll concentrate on the course in the night and in the weekend.

Thank you all, we’ll meet again here I hope!
David

Hi @ilovescience may I ask you an example of your projects? I’m on my first lesson and I would like to understand how to move and if I can start right now with a small project.

Absolutely right. Me too.

I just focused on different datasets and trying to get the best results on those datasets. I am interested in medical problems, so I find datasets on Kaggle. And now there are a lot of Kaggle competitions going on as well.

2 Likes

Hi David,
It sounds like your doing what your supposed to! I’ve found that learning this or anything for that matter is what I’d call ‘grinding’. I don’t usually comprehend or remember everything the first time, so I halve-to keep ‘grinding’ over the material. It’s kind of like ‘iterating’ a CNN over the same dataset many times, until it starts to learn the material.
I would have described myself as a luddite until 2013 when a guy I met at welding school. He told me about the machine learning revolution that had just began taking off in the previous couple years, and he said “that was where the action was at!” Something in me realized he was probably right, and I’ve been trying to learn about automation and programming ever since. It was definitely difficult at first though, my wife laughed at me when I brought home a SpongeBob Typing Tutorial CD. I even wasted alot of money buying junk computers on Craigslist, because I didn’t know what to look for!
My best trick back then was to reverse engineer want-ads on Indeed. I’d read what qualifications were required to get a job as a ‘robotics engineer’ or example. That’s how I learned about Ubuntu linux, Github, python, using the ‘terminal’, etc.
And honestly, I’ve been ‘grinding’ at this stuff for at least 5 years, and I’m still in kindergarten compared to someone like Jeremy Howard! But ironically, I know 100 times more than any of my friends or family who are still in the luddite category.:roll_eyes:
One last thing, It’s kind of like ‘transfer learning’…all the difficult little things I’ve picked up have enabled me to comprehend the lectures in the first videos. I don’t know the material yet, but I at least understand the language! I think the other key ingredient is to be doggedly persistent, even when I’m driving around, there’s a good chance I’m listening to something technical I found on YouTube with my phone.
~Cheers

4 Likes

Hi learnlearn hope your having a wonderful weekend.

I agree with statements in your post. Since starting this course and making apps for all the lessons (currently putting my apps made in lesson 3. into production. There are four of them, Character recognition, Multi Segmentation, Camvid Headpose and Tabular Data). I have found putting them into production has enabled me Improve at Unix, Server and Client Side programming in general, Docker, Github and many other libraries such as Pytorch, Fastai and Startlette.

Most of the time what you call grind is the equivalent of me affirming to myself “I will persevere until I succeed”. I read as much as I can and some of the papers I understand the language but the concepts at the moment are challenging:sweat_smile: me, but the more I read them the clearer they are getting.:sweat_smile:

But as you pointed among my peers at work and socially I am considered pretty knowledgeable about ai.

I think the best way to learn and retain is just to keep completing things and keep raising the bar on oneself.

Cheers mrfabulous1 :smiley::smiley:

3 Likes

Thank you everyone!
It is really comforting to find so many people engaged in what I am trying to do. And I really appreciate the time you spend answer my question, not so (or, not only) fastai-related. :smiley:

I’m back from a vacation of 10 days in Greece (peloponnese) and now I will put the effort into the tasks and in the next lessons of the course applying your suggestions.

Thank you!
David

1 Like

Hey there @mrfabulous1 I appreciate your input!

I’m not quite as far along as you are, but I’m heading in that direction. I’d like to use Google Cloud Platform for my GPU needs, but I’m still working on getting it setup. They have a peculiar way of dealing with the GPU quotas, where you request usage, and they take two days to get back with you…anyhow, I’m looking forward to following along with Jeremy Howard. I think he’s an excellent teacher!
I see your in London, are you familiar with Andrew Trask? He’s another public ML practitioner, I believe he’s a PhD student at Oxford. I have a book he came out with this year, ‘Grokking Machine Learning.’ It’s a pretty digestible read!
I’ll let you know when I get my GCP instance up and running, in the mean time I’m going to look up ‘Startlette’…I hadn’t heard of that one yet.

~Cheers from Kentucky!

1 Like

Hi learnlearn thanks foy reply, :smiley:

At the moment I use Google Colab for my work as its totally free for now, until I get myself a GPU :moneybag:.
In my last post I spelt the library wrong it should of been Starlette.
When you finish the introduction lesson most people build their version of the Teddy Bear classifier and their is a repo https://fastai-v3.onrender.com. that was written by one of the creators of Dgango. Starlette https://www.starlette.io/ is one of the libraries used in this starter app.
Have a jolly week!

mrfabulous1

How’s it going @mrfabulous1!?
If you don’t mind, let me ask you your advice:smiley:
I’ve been trying like mad to get Jupyter Notebook running on my GCP instance…I can’t seem to cross the finish line! I’ve gotten as far as successfully running the instance in the google command line shell and SSH into it. (per the fastai instructions)
Also, I can run Jupyter Notebook,…but I can’t open the notebook in the browser. I’ve tried many variations of http://localhost/8080/tree in chrome and firefox…
I’ve also tried a bunch of suggestions I found on the fastai forum and google in general. Been fiddling with it all day and half the other…
Should I put a hold on Google Cloud Platform and try something else perhaps? Like Colab
I was even thinking about signing up for googles “Developer technical support” which would be $100/month.
If they could help me figure out what is wrong with my configurations, I wouldn’t mind paying for their help…
What do you think I should do? I’m really anxious to get into the course material, but I don’t want to give up too easily. I do think getting a handle on GCP would be a good skill to develop…and If I had something worth sharing, I’d try to add it to the fastai docs (from what I can gather, this has been a reoccurring problem for other people, but I couldn’t pinpoint a clear solution)…on the other hand, I’m not too proud to ignore when I should move on and try something else!
Have you run into anything like this?
~Cheers!

Have you tried http://localhost:8080/tree I am guessing the 8080 is the port number, but I don’t use collab personally. I am sure somebody on here can help though. If you don’t have luck on this thread, I would suggest creating a new topic about this issue. I would definitely consider doing that before going through their support line!

Another resource that might be useful to you: https://course.fast.ai/start_gcp.html

Did you run this command?

gcloud compute ssh --zone=$ZONE jupyter@$INSTANCE_NAME -- -L 8080:localhost:8080

Hi learnlearn glad to hear your having lots of fun :wink::wink:

In the getting started section Jeremy and the team have created created many ways to get started using Jupyter notebooks.
My criteria was, it had to be free :free: and I had to understand it easily.

I chose https://course.fast.ai/update_colab.html as this suited my criteria as I am currently awaiting my millions :moneybag: from ai and will be in a better position to spend on hosting when it :moneybag: arrives.

I have done lessons 1 - 3.5 on my Mac and Colab and am currently deploying apps for all the examples Jeremy talks about in the lessons on Docker.

Feel free to carry out the suggestions of [KevinB],(https://forums.fast.ai/u/KevinB) if you are still having problems and want to try Colab then I am pretty sure that we can get you up and running quickly, all the platforms have their pro’s and cons but I can help if you choose Colab.

Have an excellent day :smiley::smiley:
ps. I think any platform is better than paying $100 before you even get started.

1 Like