Fastai2 and new course now released

Just a hint from my side: I think this community should take their time and update the notebooks of the first course (fastai-0.7) to make these notbooks work for all fastai-releases, also in the fastai-2 version. To me this would make more sense. Imagine if it wouldn’t be possible to open a Word-Documents (.doc) as-of 1998 in my current 2020 Word environment (.docx): what would the people say?
As I am new to all this I still have the choice to move to other deep-learning frameworks, which are less “expensive” concerning frequently changing installation routines.

Updates to the API are never backwards compatible (1:1 without converting it over). What you describe already exists. In the course/ of fastai2 is every notebook from course-v3 updated. (The part 1). There are numerous tutorial notebooks available to help with migration too. No backwards compatibility is applicable here because it’s an ever evolving framework furthering Jeremy’s vision of what he wants this library to be. Read the docs, read the tutorials, and learn the new API if you want. Otherwise Paperspace etc has docker containers (and more exist elsewhere) with proper builds for the older versions of fastai. Also, DL frameworks are not “Word”. They serve two very different purposes. Word has a need to keep track and support outdated work, in this case, that causes so much overhead it’s not worth it. Not to mention: Word - Huge team working on things. Fastai - open source, worked on by generous folks and only Sylvain (who is not with the project anymore) and Jeremy. That’s 1 person (and some very nice people).

TL;DR: Backwards compatibility is extremely expensive and unreasonable for a library with a small amount of devs (dev). fastai is a passion project, and not stemming from a big mega-corp like Microsoft. There are many resources (I made WWF2 to do something similar) including tutorial notebooks and example notebooks, and the entirety of course-v3 on fastai’s repo. Docker is your friend if you are concerned about versioning.

11 Likes

I’d like to add, why I feel its just not a feasible idea to simply change the code from older notebooks to make it compatible with the new version of fastai is because the aim of fastai is not just give tools, but let everyone use the latest ideas in the broad domain of Deep Learning. Deep Learning from 2017 should not be used in 2020. That’s simply the idea behind fastai. Couldn’t have said it better, @muellerzr. Its a passion project, not necessarily intended to provide tools for mega corporations!

2 Likes

@muellerzr @PalaashAgrawal
ok, thanks a lot for the explanation. This makes it a bit clearer to me: a “passionate” project with only a few developers is a good explanation. I understand. :+1:

1 Like

Would this repository have the v1-compatible course notebooks?
https://nbviewer.jupyter.org/github/fastai/course-v3/tree/master/nbs/

Yes it does. A quick TLDR:

Fastai V1 - course-v3
Fastai V2 - course-v4

1 Like

@andreas.traut note that in every course we mention many times that we strongly recommend not using your own PC, and especially not using Windows. Instead, use one of the supported and documented platforms, which have everything set up ready to go for you.

4 Likes

Someone mentioned Docker. And I would like to mention creating your own Python environments using Anaconda or other available options.

But I would suggest against that.

As Jeremy mentioned, go with the recommended setups.

And I tried to use fastai v0.7.0, but ran into dependency hell as fastai has a lot of dependencies.

Just go with recommended options.

2 Likes

I have a question- will Google Colab automatically support fastai2 when the course comes online?

We’re working on that :slight_smile:

1 Like

I’ll put a ticket for it so folks don’t need to install each time. (When the merger of repos happens)

3 Likes

If you folks are working on that, then you must have some reasons.

May I ask why is that important? I was trying to follow the Machine Learning for Coders course and faced the difficulties.

But since the new course will have Machine Learning in it, and I am speculating that the fastai2 will have the necessary parts, why are you working on that?

Asking just out of curiosity.

1 Like

Thanks. Really appreciate it.

That’s quite literally why :slight_smile: this way if folks want to do the older courses, we can. We have a docker-repo with related fastai docker images now. So those will be added (v1 and 0.7). Or in some cases did their work on an older version too.

1 Like

Thank you. Until now I installed every package, which I was interested in on my own Windows computer and all of them worked without issues and installation was very easy. So thank you for letting me know, that for “fastai” this is not the recommended way.

I think that is not recommended for the course, and not the library. You are supposed to use the library as per your needs as a dev.

But using one of the recommended options is advised for the course. I believe that’s what Jeremy meant.

In the real dev world you should be working out of docker images or something similar on a system that is suported (windows is not one). Most folks run Linux + Anaconda which allows for versioning of different packages. (this is what Jeremy meant from a dev perspective). From a course perspective, any of the platforms mentioned can also double as a development platform too. I use colab regularly for this purpose mixed in w/ nbdev. And when doing GPU things, this is 100% mandatory (IE either you use someone else’s host or you host your own server to some degree, WSL2 is trying to fix that but it’s not far enough yet)

1 Like

Thanks for clarifying.

Besides Colab, I have used fastai in my Linux machine using virtual environments. Had a seamless experience. (Haven’t tried for CV or NLP, though.)

I, too, have used Colab for development using fastai .

I have always used Linux for any kind of development, not just Deep Learning or fastai .

1 Like

Well, I used conda to create the environment for fastai 0.7.0 ML course on WSL 2 Ubuntu and it worked fine. Also, you don’t require Windows 10 insider for WSL 2 anymore. From Windows 10 version 2004 you can download WSL 2.

Some people have reported problems with the CUDA drivers not recognizing the GPU(GTX 1050) and garbage collection. I’ve yet to experience that with RTX 2060.

2 Likes

Hi @kogam22

Maybe a blog post or even a forum post here documenting what you did to get it to run might be helpful for those folks who want to run fastai 0.7 on a local jupyter environment.

A local jupyter environment is really convenient sometimes, especially when your internet connection is flaky.

Best regards,
Butch

2 Likes