Done
@Moorkopsoesje wanted to visualize the weights from the RBM, but there was still something wrong with the previous code so this needs to be fixed and then needs to be visualized. Discuss with Luc how he visualized the centroids, so it's comparable.
@robbertvdg has reshaped the feature representation from the RBM, but he could probably use the ready-made reshape function instead. He also made a test, but still has some trouble with comparing the matrices (look up/write equals function)
@Rahazan the labels are assigned and saved. You can also ask for all metadata, so how many patches per image, which label, so it's easier to read.
@Guardianofnature function to calculate all distances between patches and centroids. There are two ways to calculate this, the hard and soft way, but only the hard way (Euclidean distance) is used by Tom. He returns a list of lists (2d matrix of centroids and patches), change to numpy arrays.
@Lucivius tried to combine Java and Python, no success. Also saved output in HDF5 files.
@StevenReitsma classifier written, with input feature vector and output Kaggle submission (probabilities per class, csv).
To do
[x] @StevenReitsma pooling
[x] @Moorkopsoesje Does scikitlearn has a partial fit? Do for RBM
Else look up other Bolzmann package
[x] @robbertvdg and @StevenReitsma write reshape function for activation matrix to 3d-activation matrix
[x] @robbertvdg write test for function from Steven & Robbert
[x] @Lucivius put code for weight visualization in imutil
[x] @Moorkopsoesje visualizes weights from RBM with Luc's code
[x] @Guardianofnature output for distances in numpy arrays and no list of lists
[x] @Guardianofnature and @Lucivius look at efficient matrix multiplication/distance calculation, and run k-means more iterations.
[x] @Rahazan random batch reading
We need to make sure that everyone knows what the right inputs and outputs are.
Every variable and function uses underscores except class names in CamelCase