Prediction behaviour of graphlab.neuralnet_classifier.create with random_crop

User 1478 | 3/12/2015, 10:14:12 AM

During the training phase of neuralnetclassifier.create each image is randomly cropped according to inputshape when random_crop=True.

What happens during Validation and Predict?

I don't think only one crop will be used to classify a Validation or Test sample, how then is the crop function used?


User 1190 | 3/12/2015, 4:54:31 PM

Hi @Unas,

This is a great question.

During predict/evaluate, it will also use a random_crop. As a result, the actual predicted probability of each label is not deterministic, but empirically the topk rank is quite stable. We understand that such randomness at predict time is not ideal in many cases, and will fix this problem in the coming release.

Essentially, our solution will be setting a seed during predict time for the random crop, and average the result of multiple crop examples for a each instance given at predict time.