What is a backend ?

337 views
Skip to first unread message

Ketan Pandey

unread,
Jun 10, 2018, 8:48:49 AM6/10/18
to Keras-users
Hii, 
I am new to keras and tensorflow, and I don't understand what is a backend in machine learning or deep learning. And if there is a backend, so what is a front-end?

Dennis S

unread,
Jun 10, 2018, 9:16:11 AM6/10/18
to Ketan Pandey, Keras-users
Great question and I'm going to attempt to answer it in straightforward terms. I'm teaching an intro to neural networks this week and this will be good practice for me:

Data science has many approaches to solving problems. You might have heard of common ones like linear regression or nearest-neighbors. Beyond that, you have neural networks and deep learning. In short, data science is a massive universe of available models. Tensorflow is a library that was designed to help your "non deep learning" approaches and, in addition to that, has some very helpful methods to handle various math formulas and data manipulations. 

Keras is a library that is specifically designed to help you work with neural networks and deep learning. You wouldn't use it for, say, a regression analysis problem. But, for those cases where neural networks still need "base" functions and methods, rather than re-write some of those formulas, Keras relies on Tensorflow to provide any number of computations and data items. That is how Tensorflow is a "backend" to Keras: it provides the math and data that neural networks use that also intersect with traditional data science approaches. 

As for the "front-end", I'm not sure if that's a direct answer - the answer is: it depends. In the majority of cases, people use Keras to create a saved model and then build any number of "front-ends" with that. Now, that could be a CSV result set, a web application, a REST API, an input to another algorithm and so on and so on - there's very few limits there. 

Overall, this list is very helpful. If you post a use case, you might get some feedback that would help develop your project further. 

Thanks,

Dennis

On Sun, Jun 10, 2018 at 7:48 AM, Ketan Pandey <ketanp...@gmail.com> wrote:
Hii, 
I am new to keras and tensorflow, and I don't understand what is a backend in machine learning or deep learning. And if there is a backend, so what is a front-end?

--
You received this message because you are subscribed to the Google Groups "Keras-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to keras-users+unsubscribe@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/keras-users/6c39e3bd-0b2b-4eba-9dc1-951390b38fd5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Thanks,

Dennis

Matias Valdenegro

unread,
Jun 10, 2018, 1:09:14 PM6/10/18
to keras...@googlegroups.com

Backend is not a ML/DL concept, but a computer science one. Keras does not do computation on its own, it uses other libraries (Theano, TensorFlow, etc) for that purpose, that's why a backend interface was defined so you can switch these on the fly.

 

A front-end could be any application that uses Keras and does something useful (like a GUI). Also note that the typical frontend-backend split that is usually used in software engineering might be slightly different for Machine Learning, as generally there is no user-facing GUI.

Reply all
Reply to author
Forward
0 new messages