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/
Cyrinika has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
Cyrinika has joined #mlpack
Cyrinika has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
Cyrinika has joined #mlpack
Cyrinika has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
vivekp has quit [Read error: Connection reset by peer]
vivekp has joined #mlpack
kris___ has quit [Quit: Connection closed for inactivity]
Cyrinika has joined #mlpack
Cyrinika has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
Cyrinika has joined #mlpack
Cyrinika has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
vivekp has quit [Ping timeout: 260 seconds]
vivekp has joined #mlpack
govg has quit [Ping timeout: 248 seconds]
govg has joined #mlpack
kris1 has joined #mlpack
kris___ has joined #mlpack
< kris___> lozhnikov: Updated the gist... the numpy reshapes a layer...
< 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
< kris___> lozhnikov:
< kris___> I am getting an accuracy of around 15 on softmax regression https://gist.github.com/kris-singh/ee57aee957c9e1780e982342d1e5bd96
< kris___> using 10 random samples.
< lozhnikov> kris___: Could you send me the description of the test?
< kris___> With the 100 patches it goes down to 11%
< kris___> Okay. So i for every image i am passing a 1920(8*8*3*RandomSample = 10) vector to softmax classifier
< kris___> I tested this for the 500images 400 train images and 100 test images.
< lozhnikov> no, I mean the following: Did someone implement the test? Could you send me the link to the paper?
< kris___> Hmmm, no there is no link.
< kris___> I thought of this test.
< kris___> as comparison to the ssRBM classification test
< kris___> something similar to how we write down the test.
< lozhnikov> ah, okay. I don't understand patch handling: "temp = trainData.cols(i * numPatches, i * numPatches + numPatches - 1);"
< 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> 7x7 regularly spaced grid (stepping every 4 pixels). Then,
< 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]
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
kris1 has quit [Quit: kris1]