Hi guys,
I just though it could be a good idea to start studying the Deep Learning with PyTorch which was officially released 4 days ago in the mean time till the release of the Jeremy’s book and new course. If you are interested in studying it in a group, join this thread
I second @jeremy’s mission to make AI more accessible. I’ve invested a significant amount of time in fastai2 and I’d like to share my experience so far and how it is related to that mission:
-
If you want to run simple use case, fastai2 works pretty well, but to be honest it’s a matter of preference vs. other libraries. 10 lines of code vs. 20 lines of code?
-
If anything fails, you probably would need to dive into fastai2 internals, just 1 example:
.predict(item)
if you havemetrics
defined in yourleaner
such asauc
it will fail b/c if needs more than 1 class with an obscure error b/c metrics are called even if you call.predict()
on a single item. -
I understand naming and coding conventions inside the library may be peculiar which is fine if its internals are hidden from you (although I’ve been forced to do dive into them more than I care to admit); but regardless naming conventions and inconsistencies get out of the library pretty quickly:
Why is itlearn
and notlearner
?
TfmdLists
?
before_batch
vs.after_batch
…begin_batch
vs.after_batch
Why notbefore
vsafter
orbegin
vs.end
? (I hope it’s not b/c it was meant to bebeginning
vsend
butbeginning
was cut à lalearn
)
In retrospect one of the biggest improvements of fastai vs fastai2 was the naming change fromdatabunch
vsdataloaders
? It turned out adatabunch
was just (almost?) a bunch ofDataLoaders
! I wonder for example if there is a better name forTfmdList
, which now that I think understand is really a transformed dataset (indexed by a list).
Please take the above as constructive criticism. I do not have time to become a contributor and I just wanted to use the library, but I feel with fastai2 if you want to use its power you have to become an expert in its internals and I know it’s cheaper to critic something than to contribute fixing it; but given how ideosyncratic fastai2 is, I am not sure things such as naming conventions are open to change.