Mini batch sampling with graphlab.neuralnet_classifier

User 1478 | 3/13/2015, 4:34:34 PM

Should the input dataset to graphlab.neuralnetclassifier be randomized before calling graphlab.neuralnetclassifier.create() to ensure that Mini Batches contain a proper distribution of classes?

Or, is random sampling automatically employed in graphlab.neuralnet_classifier.create() when sampling Mini Batches?

Comments

User 18 | 3/13/2015, 10:18:50 PM

<a href="https://dato.com/products/create/docs/generated/graphlab.imageanalysis.loadimages.html#graphlab.imageanalysis.loadimages">graphlab.imageanalysis.loadimages</a> loads the images in random order. The neural net classifier doesn't do any additional random shuffling. It does send data in mini batches, but with a fixed batch ordering. So it's not really random.

So load_images() ensures that the images aren't ordered by classes. The training procedure doesn't do additional randomization.