Note on machine learning packages

This blog is to record my experience in using machine learning packages. A thorough comparison of those major machine learning packages could be found here.

Theano

ConvOp is the main workhorse for implementing a convolutional layer in Theano. ConvOp is used by theano.tensor.signal.conv2d, which takes two symbolic inputs:

  • a 4D tensor corresponding to a mini-batch of input images. The shape of the tensor is as follows: [mini-batch size, number of input feature maps, image height, image width].
  • a 4D tensor corresponding to the weight matrix W. The shape of the tensor is: [number of feature maps at layer m, number of feature maps at layer m-1, filter height, filter width]

Graph structure could be plotted from here.

Torch

 

Lasagne

I’m very gald to find that Lasagne has many advanced optimization method, see here.

Stable version of Lasagne don’t have batch_norm layer.

 

Tensorflow

 

Keras

customized layer

https://github.com/fchollet/keras/issues/2221

Leave a comment