edn
edn

Reputation: 2183

tensorflow high level api vs low level api

The question is simple.

Should one go for low level APIs or high level API in tensorflow in his/her own projects?

If I go for high level APIs only in my Neural Network implementation: Will I e.g. be able to apply such solutions like dropout, batch normalization, learning decay, etc.? Or is it inevitable to start using lower level APIs for such cases?

My view so far is that the tensorflow community does a great job in almost everything they do but I unfortunately cannot say the same thing for their documentation. It really takes time to clearly figure out how they thought when implementing the API. Then the question is if it is really worth the time I and many others spend to make things work? Or should we always search for solutions in the high level APIs?

It is not clear to me either where the boundary goes between high level APIs and low level APIs.

Upvotes: 1

Views: 2487

Answers (1)

jat
jat

Reputation: 106

Depends on your project goal, project novelty and complexity.

If goal of your specific project is to learn and explore tensorflow, then I would say go for low level API, because in future you would probably need to implement your stuff, since the primary purpose of tensorflow is research.

Otherwise If its team project or a serious project, then use whatever that suits the requirements, for example if existing high level solutions like layers etc.. are not working, then you would want to implement your own stuff.

So if you are learning tensorflow and starting out go for the high-level API and if you already have some experience then start exploring the low level tensorflow API as it is highly likely that you will need low-level tensorflow API in future.

Upvotes: 2

Related Questions