0.Introduction

Welcome to this guide!

In this guide, we will show how to install Theano, Lasagne, and Nolearn on our machine, Ubuntu 14.04, which you can follow at next chapter.

Before installing, here are some quick introductions quoted from respective official websites or introduction articles that can help you to know more about them:

Theano

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

  • tight integration with NumPy – Use numpy.ndarray in Theano-compiled functions.
  • transparent use of a GPU – Perform data-intensive calculations up to 140x faster than with CPU.(float32 only)
  • efficient symbolic differentiation – Theano does your derivatives for function with one or many inputs.
  • speed and stability optimizations – Get the right answer for log(1+x) even when x is really tiny.
  • dynamic C code generation – Evaluate expressions faster.
  • extensive unit-testing and self-verification – Detect and diagnose many types of errors.

Theano has been powering large-scale computationally intensive scientific investigations since 2007. But it is also approachable enough to be used in the classroom (University of Montreal’s deep learning/machine learning classes).

Quote from http://deeplearning.net/software/theano/

Lasagne

Lasagne is a lightweight library to build and train neural networks in Theano. Its main features are:

  • Supports feed-forward networks such as Convolutional Neural Networks (CNNs), recurrent networks including Long Short-Term Memory (LSTM), and any combination thereof
  • Allows architectures of multiple inputs and multiple outputs, including auxiliary classifiers
  • Many optimization methods including Nesterov momentum, RMSprop and ADAM
  • Freely definable cost function and no need to derive gradients due to Theano's symbolic differentiation
  • Transparent support of CPUs and GPUs due to Theano's expression compiler

Its design is governed by six principles:

  • Simplicity: Be easy to use, easy to understand and easy to extend, to facilitate use in research
  • Transparency: Do not hide Theano behind abstractions, directly process and return Theano expressions or Python / numpy data types
  • Modularity: Allow all parts (layers, regularizers, optimizers, ...) to be used independently of Lasagne
  • Pragmatism: Make common use cases easy, do not overrate uncommon cases
  • Restraint: Do not obstruct users with features they decide not to use
  • Focus: "Do one thing and do it well"

Quote form https://github.com/Lasagne/Lasagne

Nolearn

Nolearn contains a number of utility modules that are helpful with machine learning tasks.But, Nolearn isn't just another DNN package - it's an abstraction layer on top of existing packages like theano and lasagne that buries some of the raw coding in abstraction. It can be also be really frustrating to work with if you don't have a Graphics Processing Unit, but it will work - you just have to be willing to run your RAM at max capacity for an hour or two. I'll let you worry about installing nolearn and its dependencies - consider using virtualenv if you haven't used that before.

Quote from http://derekjanni.github.io/Easy-Neural-Nets/

results matching ""

    No results matching ""