FastAI and TenserFlow

I am trying to differentiate FastAI and Tenserflow but I am still confused. Are they option for each other? Can we do the same thing in TenserFlow what we did in lecture 1? Can anyone help me out on this?

I have found course on Keggle: https://www.kaggle.com/dansbecker/intro-to-deep-learning-and-computer-vision. Can we do the same thing using FastAI?

1 Like

Tensorflow is more lower level - it provides basic elements you can build neural networks from. In that regard it is similar to pytorch (which is what the fastai library builds on and what we use in the course).

Keras is a framework build on top of tensorflow - it takes the basic components and weaves them together to give you the ability to weave networks out of them. Pytorch is actually somewhere in between - it exposes low level functionality as well as some building blocks. Not unlike keras.

FastAi builds on top of pytorch, specifically caters to newcomers to the field and is based in cutting edge research. It also exposes a very elegant API that I am becoming quite fond of.

2 Likes

So, if I am not understanding it wrong then, we can replicate our lesson 1 using Tenserflow as well and PyTourch and TenserFlow are doing kind of similar job, aren’t they?

PyTorch and Tensorflow - yes, they serve a similar purpose. It would take you a lot of effort to recreate what is done in lecture 1 in TF though - the machinery of the fastai lib is quite advanced. Also, pytorch allows for great flexibility and implementing many of the things we use might not be trivial in TF. Some people tried in keras but I am not sure how far they got.

Got it… one last question, why TF is more popular then FastAI even though FastAI is more flexible and powerful? Is it beacuse of Google?

Many aspects would probably go into this. Fastai library is now only on version 0.6, it is very young. It’s very easy to paint a false picture here without going into many details. Also, when making a comparison, probably it would make more sense to compare TF to pytorch, though they are also not equivalent.

Thanks a lot @radek. Much appreciated your efforts…

1 Like

if you don’t mind then can you please breif me about FastAI history? I mean how FastAI evolve? @radek

I think it was unveiled for the first part of the course last Fall - maybe it was publicly available before, I am not sure. It must have been in the works for a good couple of months.

If you are asking these questions trying to figure out which framework to learn initially, then this is the wrong approach. It is the underlying concepts that matter and once you understand them you can fairly easily switch between frameworks. If you would like to start getting state of the art results as soon as possible, then fastai is for you without a doubt (I don’t see it as an opinion of mine - this is stating the facts).

If you are new to the field and want to learn, and this is where we enter the subjective opinion territory but based in a lot of personal experience, I think going the fastai route is again your best bet. Fastai materials are the best I have come across by a very large margin and I have tried quite a few. Also, the library has capabilities beyond what any other offers, meaning you will learn techniques that would require a lot of hacking in TF and that I don’t think are taught anywhere else at all or to the extent we learn them here.

3 Likes

thanks @radek. I am not sure whether first lesson covers FastAI history. Probably I missed it. Certainly I am new to this field but after completing first lesson and with my programming background, I can say FastAI is much powerful and flexible( I have mentioned earlier as well). I want to learn more about such powerful library. I appreciate your efforts to elaborate it… Thanks again

1 Like

This might help with some fastai history info: Fastai Launch

1 Like

Though TensorFlow is more popular, FastAI works very effectively.

machine learning

I have summerised this thred i my this post: https://medium.com/@mayurt20/fastai-and-tenserflow-c98969ef9803