## Theano

Theano is an open-source python library and compiler used for optimising defining, evaluating and manipulating the mathematical functions like matrix and multidimensional array. It's a combination of Numpy, Sympy, etc., and forms a strong library which can serve in a broader perspective. They can easily be run on CPU and GPU, however, it performs work at a faster rate on GPU (Graphics Processing Unit) than CPU. Montreal Institute for Learning Algorithms (MILA) developed a model of Theano. It efficiently does the differentiation of one or more input functions. It performs optimisation for ensuring the speed and stability of operations being carried out. Theano distinguishes and rectifies errors in python with self-diagnosis and extensive testing. It performs with increased efficiency and better speeds when executed on Python- GPU base in comparison with running on C. Theano also serves as a base to deep learning model development. Since it utilizes NumPy and allied libraries to convert input structure into an effective systematic code. The main function of Theano is to regulate the computational requirement for algorithms of large neural networks involved in deep learning. Because of this, Theano is an important and popular library in the domain of deep learning (Variables are the laying foundation of programming and coding objects in Theano are called as tensors).

Theano is a core library for research and development purpose to make deep learning model with Keras. Convolutional networks, recurrent networks and their combinations are favoured by Theano. It doesn't possess predefined modes of machine learning but supports its origination and evolution and also defines expressions like, matrix arithmetic, gradient calculation and derivative determination which help in developing machine learning techniques.

Working: Firstly Theano constructs a computational graph for the model provided. The next step is compiling these code by the implementation of a variety of optimisation methods on the graph. Lastly, the compiled program is implemented to run with the help of an operation termed as function available in Theano. This procedure is often carried out continuously to instruct neural network. The major benefit of using python over a fully C- programmed model is training time is highly decreased.

## Why Theano

Theano applies an advanced optimisation method to regulate the whole computation of the graph. It fuses in the concept of algebra and the aspects of the compiler to get the result. Some part of the graph is compiled into C language. In this manner piano managers and meets the speed and efficiency requirement. Normally, local optimisation is provided by the compiler to code. Since it seldom observes the entire operation as a single limit. This is why Theano' was developed to.

## Applications and Merits of Theano

The algorithm or code created for one platform can effectively be used for running on other platforms too. Theano automatically distinguishes part of the operation to be moved to GPU.

Automatic derivative calculation: The user only needs to specify the end results of function or predict the desired output for model. Theano on its own finds out the method and operations involved for calculating the gradient/ slope and gives desired output using chain rule.

Theano can be implemented at a faster rate in comparison to other models because of which it solves the multidimensional problem easily.

Stability: Theano figures out the unstable, malicious files and expressions, rectify them. In this way, it ensures the stability and optimisation of models.

Speed modification: Theano takes into account the previous GPUs and internally rearranges them to optimise computation and analyses them. Than, implements the obtained data into expressions in CPU or GPU to ensure high speed working.

Symbolic representation: Theano generates automated symbolic graphs from the computed data and functions provided. In this way makes the representation process enhanced.

The disadvantage of using Theano is it doesn't supply with a prebuilt model which only needs training on data sets before practically using. Instead, it has a library which provides tools and codes to construct a new machine learning models. Hence, making it complex to set up things (a significant path is to be covered ) before utilizing it to perform operations.

## Conclusion about Theano

Theano unlike traditional models and other SK learns machine learning model does it work faster & with greater efficiency and is broadening its scope of application. It involves the use of GPU, ML, Python and Neural networks to increase its range and flexibility and high customisation in models. Theano with the help of computational grab developed (converts to a single compiled image), performs optimisation and restructures the graph in accordance with CPU/ GPU system, Python and C language to optimise speed & stability. Lastly after compiling is done code is executed. Theano is largely used in research and academic fields at present. The growth rate of Theano at present is standstill, but once it starts to add new features to it and eliminate complications faced by the users it will make strong come back and will again be able to compete with modern-day models.