SOURCE CODE: Mid-Level API

As a group, we discussed on how to approach towards digging into the source code. We discussed the common problems we face, and decided that looking into the mid level APIs is the best approach to start with as it is highly flexible and can be also applied to other applications such as text/collaborative filtering/segmentation

We want to take a linear approach and gradually build on top each week by digging more into the API slowly.

We will start by looking into the PETs dataset first and gradually start looking into other perhaps more interesting datasets such as imagewang, imagewoof etc

We will split resources and decide at the end of each lecture on who works on what based out of interest, then go away for 2-3 days, complete the individual pieces of work, write multiple small blog posts on the different things we all worked on and come back in 3 days time again as a group to share the information and present to the group our individual findings. This way we all learn and progress together as a group and are able to cover more ground than we would have been able to if we would have worked individually.

1 Like

@jeremy could you please make this post a WIKI when you get a chance :slight_smile:

Petition to rename the group “Mid-Level API Study Group”? Or “SOURCE CODE: Mid-Level API”

(Or DataBlock API even)

1 Like

Granted :wink:

I’d like this but I seem to have run out of my like balance… that’s a first :slight_smile:

1 Like

Sound good to me.
Maybe we could meet on the Wednesdays to wrap-up the lesson and discuss the assignments.
And meet again on Fridays or Mondays, before the next lesson, to present our work?

1 Like

Haha, I wasn’t aware there’s a like balance on the forums. That’s new.

Yes thank you for the suggestion. That’s the idea but we haven’t decided the specifics yet. We will be organising another zoom call very soon to discuss the exact timings based on what works for everyone.

I will post the details for the next zoom call soon :slight_smile:

I’ve been working on this CVPR competition track to reconstruct Hyperspectral Imagery from it’s RGB counterpart, the deadline of which is 23. Also, since I’ve been off for a while due to college exams, I’ve got quite a bit of work at Pixxel (a start-up that I’m a part of) that’s overdue. On top of that I’ve just come home after a long while (coz college is closed) so my family would really appreciate it if I spend more time with them.
A lot of this is just going to last for the next 4-6 days so I’m going to try and contribute as much as possible for now. Next week onwards this won’t be a problem.

For now assume that I’m all in on this. I’ll need to stretch a few nights, but that’s ok. The upside is worth it.

2 Likes

Now that’s inspiring :slight_smile:

1 Like

I’d like to share a fun fact: Aman and myself were going to be roommates in SF and it was my evil plan to learn everything from him. But looks like the plan went into a much better direction!

I feel completely overwhelmed by the discussion here and just by the responses of everyone but I think I’ll follow the fastai advice and just “try blah”.

Really looking forward to it!

PS: As much as I wanted to like the discussions, I’ve run out of likes as well, blame @muellerzr for that :stuck_out_tongue:

2 Likes

Hahahaha, I wasn’t aware about your evil plan. I thought it was our mutual understanding to learn from each other. :wink:

Yes, mutual understanding to learn from you :smiley:

As someone in kinda the same boat (dealing with college being fully remote now, etc) I completely understand. Very inspiring all you are managing to do while in college, do what you need to do time wise :slight_smile:

I take no responsibility for this, because I’m in that boat too so now I blame @init_27 for this!

The first day of the course couldn’t have been better than this for me (in India, the lecture was at 7 AM, so it’s still the first day).
I’ve still got likes to spare though. I somehow keep forgetting to like posts. I don’t know maybe I’m just not used to social media. :sweat_smile:


Now, I’m not familiar with fastai2 at this point, and so I wanted to know what would be the fastest way to get acquainted with the datablock API assuming that I generally go much faster when I have access to written material, notebooks, docs, etc. as opposed to videos. @muellerz could you help out with this as you’re already very experienced with this?
The 4 options I’m aware of are:

  1. http://dev.fast.ai
  2. Fastbook
  3. @muellerz’s walkthroughs
  4. FastAI V2 Walkthroughs by Jeremy
  5. Course-V4 Notebooks (they’re a subset of Fastbook so I guess this is redundant)

Essentially, if I want to sit for a few hours and get majorly acquainted with the whole datablock API at length, what would be the fastest way to go about it?

1 Like

Wow, you folks are amazing and all I did in uni was have chai :frowning:

I suspect a recursive loop happening here. Def blaming @muellerzr for that too :stuck_out_tongue:

1 Like

You might like this! :slight_smile:

6 Likes

Sure thing. I have my walk with fastai2 notebooks which go through it (and while the lectures are good, I made the notebooks so they’re very readable and so you don’t have to sit through me blabbling on :slight_smile: ). Besides, that, looking at notebook 50 which has datablock examples is also a good one.

Which BTW are here:

NB50:

3 Likes

Thanks a lot for this. This definitely helps.

Thanks a lot!

I think I’ll go over all of these and then possibly devour the documentation website with much more context.

1 Like

As a side thing, for the past week or so, I have been thinking of creating a simple streamlit webapp where a user can select a few options from dropdown menus like the number of different items in a dataset, each item’s type, transforms, validation pct, etc. in a very “English” way, and then out pops a fastai2 snippet that gives them a dataloader after substituting in the path.

I haven’t checkout out the new API yet so I’m not sure, but I’m guessing this app will at least be able to build snippets for moderately complex use-cases. It can be helpful for both beginners and experienced people alike to use the webapp for both exploration and actual usage.

Or maybe, it’s just a stupid idea. I don’t know. :sweat_smile:. I can use some opinions here.

1 Like