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
. 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