Documentation of fastai library?


(Kshitiz Rimal) #1

Hi, is there any documentation of fastai library? While the library itself is very good and fast as compared to keras. Its equally difficult to know about its methods and apis. Learners will need to watch the whole videos of the course to know about specific implementation details . It would be really amazing and super helpful if there is one with description on api uses. I think stuffs like architecting a model, types of layers, available optimizers, saving/loading weights/whole model… stuffs like that are very essential to the library uses and it would be really amazing if there is a place where usage is written down.

And I don’t want to sound offensive or anything but what is the point of teaching this library if itself is at alpha version and documentations are not even ready? Wouldn’t it be more helpful to the new learners if the lectures were in Keras like before or in Pytorch itself or tensorflow itself? I get that in tensorflow, the APIs are quite hard to make sense for beginners but even if it is hard at first, when they finally complete the whole course, wouldn’t it be more useful for them when they try to apply their learned knowledge to their own project?


#2

I am not trying to argue a point here, just wanted to share my experience in case someone might find it useful.

I approached the fastai library in a similar fashion you describe - wishing it be more like keras. I think it took me a bit of learning how pytorch works and more importantly fundamentally changing my approach and looking at the framework with an open mind and I have been blown away ever since.

I have learned a tremendous amount including learning from how the framework is structured. As to whether this framework is suitable for work outside the course - there are already researches using it. People have used it successfully to enter kaggle competitions. It’s side effects are elegance and ease of use for people new to the field, but otherwise it packs considerable muscle. There are things in the framework you will not see anywhere else, and I don’t mean the things noticeable at first sight like the lr finder etc.

I initially rebelled that hey, this doesn’t look like anything that I know and ofc there are good reasons why everything should look like anything that I know, but once I got over this the real fun and learning began.

Also, I think I do strange things with the framework and one would think that such high level abstractions as offered in the framework would not lend themselves to doing crazy custom things, but especially for the unusual things this library has definitely become my tool of choice.

Not meaning to argue a point here just wanted to share an alternative perspective :slight_smile: I am super happy with the framework and extremely excited to be digging deeper into it. Also, can’t wait for the goodies that will surely come with part 2! :slight_smile:


(Maik Rosenheinrich) #3

I was thinking the same and am currently learning how to properly extract docstrings from code to directly put it in an html file (sphinx) in order to automate this a little


(Kshitiz Rimal) #4

I agree with what you are saying… I wasn’t denying that … if you watch the whole videos and you also get most of the sense about the library but… course is one thing and library is another… for instance if you watch few videos of keras course and you get some idea and go to its website you can easily follow many things without needing to complete the course. but for this particular approach its not the same . The library is good… its cutting edge and I wish for it to reach version 1 very soon… but the documentation and tutorials for the library specific should be included… otherwise. its very hard in terms of adoption… because not everyone is beginner in Deep learning and if they find this library interesting… they shouldn’t watch the whole course, just to learn the library.


#5

To be honest, I almost gave up on this course after starting it several months ago and got about 4-5 lessons in but still felt clueless trying to navigate the little documentation. I’ve decided to give it a fresh look and this time around, I’m gonna restart from Lesson 1 and try to build the documentation myself… maybe gonna put it up on Github or try to make a pull request into the repo.