verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
< kris___>
I did not understand your point regarding checking of resize module.
< kris___>
In the case of logitic regression and ssRBM we are training of 1 * 49 * 8* 8 * 3 vector so how does the it matter how we reshape it.
< kris___>
the patches come around about 245 mb for random patches since there are only 10 random patches for 5000 images.
< kris___>
For the convolutional patches we get around 1.2gb for 5000 images
< lozhnikov>
kris___: Looks like random_patch.py is correct. Regarding the rehsape() function: I think the reshape order could affect indexing and patch sampling, therefore I guess it is reasonable to verify each step of the algorithm i.e. visualize images and patches
< lozhnikov>
if I understand right each column represents a separate image, right?
< kris___>
well the original data shape is 192, 4000. So temp actually evalutes to matrix of 192*10 and then we serailise this, now this reprsents a single image.
< kris___>
192*4000
< lozhnikov>
why the shape is 192x4000? the shape of each image is 32*32. Images are colored. So the number of rows should be equal to 3*32*32
< kris___>
(8*8*3 ) x 10 * 400: Here 8*8 patches are used.
< kris___>
We would have to train on patches since we will be training the ssRBM on pathches also.
< lozhnikov>
patches are used in order to train RBM, but you don't use RBM at all
< kris___>
I am saying that since pathches are used to train the RBM a fair comparision would be train a classifier on these patches.
< kris___>
Are you saying that we should train the classifier not on the patches but the images ??
< kris___>
That would be unfair comparision.
< kris___>
*comparision
< lozhnikov>
Why do you think so?
< kris___>
Well simply because one classifier gets to see the whole image. While other classifier see only parts of the image.
< lozhnikov>
no, you use the ssRBM in order to extract features convolutionally from the whole image
< kris___>
What is the input to the ssRBM?
< lozhnikov>
the input contains patches
< kris___>
What is the output of the ssRBM? Are you suggesting we get the convolutional kernels from the ssRBM's.
< lozhnikov>
kris___: check the paper. the paper states you should extract 49 N features and train on them the classifier
< lozhnikov>
"We train mcRBM on 8x8
< lozhnikov>
color image patches sampled at random locations, and then
< lozhnikov>
we apply the algorithm to extract features convolutionally
< lozhnikov>
over the whole 32x32 image by extracting features on a
< lozhnikov>
we use a multinomial logistic regression classifier to rec-
< lozhnikov>
ognize the object category in the image."
< kris___>
I do not understand "we apply the algorithm to extract features convolutionally
< kris___>
4:14 PM over the whole 32x32 image by extracting features on a"
< kris___>
What algorithm ...
< lozhnikov>
the algorithm that samples hidden variables
< lozhnikov>
so, they don't use patches for training the classifier
< kris___>
Okay, So you train an ssRBM on random pathches of size 8*8*3. Then after the ssRBM is trained. You sample hidden variables of the ssRBM on test data to extract features. Is what i understood from the paper.
< kris___>
Using the extracted features you train a classifier.
< lozhnikov>
yeah
< kris___>
I do not get the part that says we extract features convolutinally.
< kris___>
Where is the convolution operator applied here.
< lozhnikov>
Sample 49 patches from each image using a regularly spaced 7*7 grid
< lozhnikov>
then sample hidden variables from each patch and concatenate these hidden variables
< kris___>
okay i get it. Then why are intial patches taken randomly we could also sample them in regularly spaced 7*7 grid manner.
< lozhnikov>
not sure. maybe in order to decrease the size of the dataset
< kris___>
Okay i get training algorithm now. Sample random 8 * 8 * 3 pathches from say 400 image ==> 400 * (8 * 8 * 3 * 10). Then you train the ssRBM on these patches. Then you take the input image again and sample 400 * ( 7 *7 *3 * 49) pathches and then using those get hidden variables. now you have N * 49 vector. Train a classifier on (N*49*num_images, image_lables)
< kris___>
Is this correct.
< lozhnikov>
exactly
< kris___>
Okay thanks. I was very confused earlier.
< lozhnikov>
however, I suggest to increase the number of input images (400)
< kris___>
Okay but more than a 1000 images and system would become very slow.
< kris___>
It might till tommrow to complete the test. I have some other work i need to do.
vivekp has quit [Ping timeout: 240 seconds]
vivekp has joined #mlpack
kris1 has quit [Read error: Connection reset by peer]
kris1 has joined #mlpack
kris___ has quit [Quit: Connection closed for inactivity]