SOURCE CODE: Mid-Level API

sure, im interested

1 Like

Hi all, I have shared the video here from the Study Group for the code walkthrough on data.external in case anyone is interested in untar_data. :slight_smile:

4 Likes

@muellerzr when you get a chance could you also please share your wonderful code walkthru from yesterday? :slight_smile:

1 Like

Sure! I posted it in a different thread but it’ll get more traction here (and be centralized) Apparently I made a mistake and didn’t set up my recording software to pick up other people (so sorry!!!) so it’s just me answering questions, sorry if it gets confusing at all!

fastai study group

1 Like

Added @muellerzr code walkthrough on unknown labels and image regression code walkthrough to the topics wiki, hope that’s okay!

1 Like

I made a seperate thread discussion for the one-off topics so it’s on topic with the study groups (as it wasn’t exactly exploring the datablock there, we went all over the place). I posted it here (and if anyone else has unrelated discussions that don’t fit well in any group)

https://forums.fast.ai/t/advanced-discussion-recordings-post-them-here/66083

Although of course if people would have it here that’s fine, I just felt the discussions weren’t 100% datablock focused most of the time

Thank you so much guys, awesome

Ah! Yeah, makes sense! :slight_smile: I still am a little fuzzy with the semantics of mid-level and thought your walkthrough was definitely a peek into the hood of the library and thought of adding it here! :sweat_smile:

1 Like

I plan on something much deeper if I want to go into it :wink: I may write my blog and then do a video with my blog as well. I’m enjoying doing the videos (as with WWF2 etc) so it’s something I’ll possibly try (while I still have time on my hands and my voice is okay!)

2 Likes

@muellerzr that would be amazing! :slight_smile: Looking forward to going through that!

1 Like

great job @arora_aman !
really helpful for newbies like myself😃

Hi All, This is a great initiative. I am late to the party. I just went through the top post and seen the links to the recorded videos until now. Will go through them. Is there a time schedule for the study group meetings?

hey @arora_aman, would you mind sharing the repos that you used for the walkthru?

Was doing a backtrace of ImageDataLoaders class for vision and and in the from_name_func method came across f = using_attr(label_func, ‘name’) which is then passed on to the from_path_func method as the label_func.

Could someone help me in understanding whats happening in that line: f = using_attr(label_func, ‘name’)?

  • The doc says it’s used to "Change function f to operate on attr"
  • and the docstring says the function returns “partial(_using_attr, f, attr)”…

I’m not an expert on this topic, from what I understand f = using_attr(label_func, 'name') creates a function f which does nothing but calls the attribute .name of it’s inputs. i.e Basically it takes the label_func which returns a list of paths, modifies it to call .name on every path in that list and return it. This new modified function is assigned as f, leaving the old function intact.

So label_func is applied on the .name of every path by creating a partial function of ‘_using_attr’ by passing in label_func and ‘name’ as the attribute which returns boolean values of whether the path is a cat or a dog. Which is then passed on to get_y which then sets the labels? I got that flow but couldn’t quite understand what _get_attr does, still kinda iffy on that! :sweat_smile:

From what I can gather f(file_name) is the same a label_func(file_name.name), so that’s what is happening I guess, creating a function that gets the name attribute of the file path and labe_func is applied to it.

1 Like

Yes, in simpler words us using_attr(label_func,“name”) simply calls label_func but instead of passing its original input, it calls it with each of [inputs[0].name,inputs[1].name …]

1 Like

Later joiner here, how does this study group runs?

1 Like

Hi @nok! You can read the initial wiki post and follow through the discussion to get a rough idea of how things are going to work. If you have any specific doubts feel free to ask them here.

1 Like