Skip to main content

Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs.

Project description

Theano is a Python library that allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays. It is built on top of NumPy. Theano features:

  • tight integration with NumPy: a similar interface to NumPy’s. numpy.ndarrays are also used internally in Theano-compiled functions.

  • transparent use of a GPU: perform data-intensive computations up to 140x faster than on a CPU (support for float32 only).

  • efficient symbolic differentiation: Theano can compute derivatives for functions of one or many inputs.

  • speed and stability optimizations: avoid nasty bugs when computing expressions such as log(1+ exp(x) ) for large values of x.

  • dynamic C code generation: evaluate expressions faster.

  • extensive unit-testing and self-verification: includes tools for detecting and diagnosing bugs and/or potential problems.

Theano has been powering large-scale computationally intensive scientific research since 2007, but it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).

Release Notes for Theano 0.3.0 (2010-11-23)

This is the first major release of Theano since 0.1. Version 0.2 development started internally but it was never advertised as a release.

There have been so many changes since 0.1 that we have lost track of many of them. Below is a partial list of changes since 0.1.

  • GPU code using NVIDIA’s CUDA framework is now generated for many Ops.

  • Some interface changes since 0.1:
    • A new “shared variable” system to allow reusing memory space between Theano functions.
      • A new memory contract has been formally written for Theano, for people who want to minimize memory copies.

    • The old module system has been deprecated.

    • By default, inputs to a Theano function will not be silently downcasted (e.g. from float64 to float32).

    • An error is now raised when using the result of logical operation on Theano variable in an ‘if’ (i.e. an implicit call to __nonzeros__).

    • An error is now raised when we receive a non-aligned ndarray as input to a function (this is not supported).

    • An error is raised when the list of dimensions passed to dimshuffle() contains duplicates or is otherwise not sensible.

    • Call NumPy BLAS bindings for gemv operations in addition to the already supported gemm.

    • If gcc is unavailable at import time, Theano now falls back to a Python-based emulation mode after raising a warning.

    • An error is now raised when tensor.grad is called on a non-scalar Theano variable (in the past we would implicitly do a sum on the tensor to make it a scalar).

    • Added support for “erf” and “erfc” functions.

  • The current default value of the parameter axis of theano.{max,min,argmax,argmin,max_and_argmax} is deprecated. We now use the default NumPy behavior of operating on the entire tensor.

  • Theano is now available from PyPI and installable through “easy_install” or “pip”.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

Theano-0.3.0.zip (965.6 kB view details)

Uploaded Source

Theano-0.3.0.tar.gz (846.4 kB view details)

Uploaded Source

File details

Details for the file Theano-0.3.0.zip.

File metadata

  • Download URL: Theano-0.3.0.zip
  • Upload date:
  • Size: 965.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Theano-0.3.0.zip
Algorithm Hash digest
SHA256 a1f6c409e155216b0040b6420c9dfcd3903a503068f9714d9563f9d233e1ffcf
MD5 97b6cac4ae7534a4d80d845b3bbcde0d
BLAKE2b-256 ef66a24b254cbf576f6acc5dd594e2b4a36b528c6189a1c8eee0c41e3274a632

See more details on using hashes here.

File details

Details for the file Theano-0.3.0.tar.gz.

File metadata

  • Download URL: Theano-0.3.0.tar.gz
  • Upload date:
  • Size: 846.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Theano-0.3.0.tar.gz
Algorithm Hash digest
SHA256 812ddd1a0e8bb0e081b434f2bc421bee9a2538fc772812975b8cda9bfdc047ab
MD5 8468fa3a27329a0583c455194fdd67fa
BLAKE2b-256 447b9bb32cf116b9627aa0240f829aaba74ddd4ec2b31155f79f1e4e6a52f35f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page