Fastai v2 roadmap

Is there an expected timeline for the v2 release?

Jeremy tweeted yesterday end of the month.

It will be released on 28th June i guess. (Source : Jeremy said in S4TF Design Meeting 2)

The MOOC course v2, not the library v2. We’re taking our time to make v2 exactly right and it has proved a bit longer than anticipated. Be patient :wink:

5 Likes

Oops My bad ! I thought the OP was asking about MOOC :stuck_out_tongue: . Thanks for the update.

i thought the MOOC is at version 3?

It the version 3 of part 2 :wink:

1 Like

Hi, hoping I won’t be bothering you too much, but is there any news about v2 ? Have you set a deadline for the alpha release ?

1 Like

Is there a way to participate in development of fastai v2? What kind of help is needed?

4 Likes

@maxim.pechyonkin
Just incase you missed it: Fastai v2 daily code walk-thrus

2 Likes

Awesome! Didn’t know about this.

(If this is not the place to ask about things we would like to see in v2, please direct me elsewhere)

From the docs…

Will this behavior be corrected in v2? At the moment, I find it incredibly annoying to have to redefine my custom functions and classes, when I am quickly trying to prototype and test models, especially when moving them across machines.

You are asking for a bit too much magic :wink: . A Learner (or any python object) can serialize objects, but not the code that created them. You should put your custom classes in a module you import on each of your machine.

2 Likes

Thanks! This has turned up a blind-spot, in what I thought was going on with pickling/unpickling in Python :rofl:.

Hey,

I think you are missing, on this road, a bit of criticism instead of “Hey you are doing the fantastic job”, which doesn’t actually help you much, right :slight_smile:

I found this article as a corner stone of your current work and I wanted to provide you little feedback.

Back in days when C was the main language you had to use functional programming (structs and functions), but you could do anything and the life was easy. No one complained.

Then, C++ came bringing multiple inheritance and macros and back then Bjarne though this is super smart, but this actually brought more pain to programmer than you can imagine.

Read from my lips: Bjarne was bad designer, comparable to Niche the philosopher.

I am not against the classes nor I would go back to functional programming, but I see this line may be reconsidered:

Another alternative is to avoid inheritance, and instead use composition…
This has a new problem, however, which is that the most basic attributes are now hidden underneath … , which is not a great experience for our class users (and the constructor is now rather clunky compared to our inheritance version).

The composition is the most natural thing in the world. Check your hand. The fingers are on it, but it is acting as a whole. (right_hand.small_finger.nail).
It is so natural if you get the structure once.

And it goes well along with tab completion.

I personal dislike the idea of altering classes in Fastai.

<class 'fastai.vision.data.ImageList'>
ImageList
<class 'fastai.data_block.ItemList'>
ItemList
...
<class 'fastai.data_block.ItemLists'>
ItemLists
<class 'object'>
object
...
<class 'fastai.data_block.LabelLists'>
LabelLists
<class 'fastai.data_block.ItemLists'>
ItemLists

To me, this is confusing. When I call a method on an object I don’t expect the object will change the base class.

What I share with you is that PyTorch has great protocol of things:

  • forward,
  • calculate the loss
  • backward
  • optimize

Except that you can improve optimize with parameter to auto clear the gradients on True.

I would also rather see more comments inside the source, because it helps. You may assume there will be an option in your favorite editor not to show the comments so everything can fit.

I guess we all are OK with breaking backward incompatibility nowadays, since you can always pinpoint the Fastai version to the notebook so this may become a part of the notebook, and then the notebooks will never break again.

Although they may be a note the newer and improved Fastai version exists.

RG8geW91IHJlYWxseSBuZWVkIHRoZXNlIGRlbGVnYXRlcz8=

Good luck.

Just curious why this can’t be accomplished? Couldn’t you internally export and then eval the class code?

Exporting code is called building a module/library. There is no other way in python to get functions/classes.

Hey @orange_runner

have a look to this see if you like it: https://github.com/jrzaurin/Wide-and-Deep-PyTorch

I hope I can turn it into a package soon :slight_smile:

2 Likes