getting started with neural networks kerastensorflowtheanoand cntk keras is model-level libraryproviding high-level building blocks for developing deep-learning models it doesn' handle low-level operations such as tensor manipulation and differentiation insteadit relies on specializedwell-optimized tensor library to do soserving as the backend engine of keras rather than choosing single tensor library and tying the implementation of keras to that librarykeras handles the problem in modular way (see figure )thus several different backend engines can be plugged seamlessly into keras currentlythe three existing backend implementations are the tensorflow backendthe theano backendand the microsoft cognitive toolkit (cntkbackend in the futureit' likely that keras will be extended to work with even more deep-learning execution engines figure the deep-learning soft ware and hardware st ack tensorflowcntkand theano are some of the primary platforms for deep learning today theano (lab at universite de montrealtensorflow (www tensorflow orgis developed by googleand cntk (piece of code that you write with keras can be run with any of these backends without having to change anything in the codeyou can seamlessly switch between the two during developmentwhich often proves useful--for instanceif one of these backends proves to be faster for specific task we recommend using the tensorflow backend as the default for most of your deep-learning needsbecause it' the most widely adoptedscalableand production ready via tensorflow (or theanoor cntk)keras is able to run seamlessly on both cpus and gpus when running on cputensorflow is itself wrapping low-level library for tensor operations called eigen (tensorflow wraps library of well-optimized deep-learning operations called the nvidia cuda deep neural network library (cudnndeveloping with kerasa quick overview you've already seen one example of keras modelthe mnist example the typical keras workflow looks just like that example define your training datainput tensors and target tensors define network of layers (or model that maps your inputs to your targets licensed to