Theano is a Python library that allows you to define, optimize, and efficiently evaluate mathematical expressions involve multi-dimensional arrays is knows as Theano. Theano was written at the LISA lab. It is release under a BSD license.  It is mostly use in building Deep Learning Projects.

Repository :- https://github.com/Theano/Theano

Theano python
Theano python

Theano features

  • Tight integration with NumPy
    • It is a similar interface to NumPy.
  • Transparent use of a GPU
    • The perform data-intensive computations up to 140x faster than on a CPU
      (central Processing units). It is support for only float32.
  • Efficient symbolic differentiation
    • Theano can compute derivatives for functions of one and multiple inputs.
  • Speed and stability optimizations
    • The avoid nasty bugs when computing expressions.
  • Dynamic C code generation
    • The evaluate expressions fast.
  • Extensive unit-testing and self-verification
    • The includes tools for detecting and diagnosing bugs.

How to install Theano

Theano can be install on Windows, MacOS, and Linux.

pip install theano

Simple Example of theano

import theano
from theano import tensor
s = tensor.dscalar()
r = tensor.dscalar()
f = s + r
z = theano.function([s,r], f)
y = z(2.5, 2.5)
print (y)

Output of theano

5.0

Trivial Theano Expression

z = x + y

Where ab are variables and c is the expression output.

Importing Theano

from theano import *

Declaring Variables

x = tensor.dscalar()

The dscalar method declares a decimal scalar variable. The execution of the above statement creates a variable called “x” in your program code. same, we will create variable “y” using the following statement.

y = tensor.dscalar()

Defining Expression

The define our expression that operates on these two variables “x” and “y”.

z = x + y

Defining Theano Function

s = theano.function([x,y], z)

The function  takes two arguments, the first argument is input to function and the second one is its output. The above declaration states that the first argument is of type array consisting of two elements x and y. The output is a scalar unit called z. This function will be references with the variable name s in our further code.

Invoking Theano Function

r = s(4.5, 6.5)

The input to the function is an array consisting of two scalars: 4.5 and 6.5. The output of execution is assign to the scalar variable r.

print (r)

Full Program

from theano import *
x = tensor.dscalar()
y = tensor.dscalar()
z = x + y
s = theano.function([x,y], z)
r = s(4.5, 6.5)
print (r)

Output : 11.0

Expression for Matrix Multiplication

A dot product of two matrices. The first matrix is of dimension 2 x 3 and the second one is of dimension 3 x 2.

Declaring Variables

Theano expression for the above, we first declare two variables to represent our matrices are following:-

x = tensor.dmatrix()
y = tensor.dmatrix()

Defining Expression

The dot product, we use the built-in function called dot.

z = tensor.dot(x,y)

Defining Theano Function

s = theano.function([x,y], z)

Invoking Theano Function

r= s([[ 1, 2, 3], [4, 5 ,6]], [[10, 11], [20, 21], [30,31]])

The two variables in the above statement are NumPy arrays

f(numpy.array([[ 1, 2, 3], [4, 5 ,6]]),

numpy.array([[10, 11], [20, 21], [30,31]]))

After r, we print its value

print (r)

Output

[[140. 146.] [320. 335.]]

Full program

The complete program listing is given here:
from theano import *
x = tensor.dmatrix()
y = tensor.dmatrix()
z = tensor.dot(x,y)
s = theano.function([x,y], z)
r = s([[ 1, 2, 3], [4, 5 ,6]], [[10, 11], [20, 21], [30,31]])
print (r)

Output

[[140. 146.] [320. 335.]]

Data Types

The different data types available to you for creating your expressions. The following table given are :-

  • Byte
  • 16-bit integers
  • 32-bit integers
  • 64-bit integers
  • float
  • double
  • complex

Scalar

Syntax

a = theano.tensor.scalar ('a')

Example of Scalar

a = theano.tensor.scalar ('a')
a = 77.0
print (a)

Output : 77.0

If you have any queries regarding this article or if I have missed something on this topic, please feel free to add in the comment down below for the audience. See you guys in another article.

To know more about Theano Library Function please Wikipedia click here

Stay Connected Stay Safe, Thank you.


Basic Engineer

Hey Readers! We have more than fifteen years of experience in Software Development, IoT, Telecom, Banking, Finance and Embedded domain. Currently we are actively working on Data Science, ML and AI with multiple market leaders worldwide. Happy Reading. Cheers!

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *