In master the pycaffe preprocessing for deployment nets -- models that use input: fields instead of data layers -- is incorrect for certain combinations of input scaling and means.
- pycaffe scales the input before mean subtraction, instead of after
- pycaffe represents images as floats in [0, 1], while some Caffe models represent images in [0, 255] -- most notably the ImageNet models
However when the input scale in master is set to 255 this reproduces the correct behavior for the ImageNet models.
This bug does not affect models that use data layers as the input preprocessing is handled by ForwardPrefilled() and the data layers instead of pycaffe's Net.preprocess().
Input preprocessing in Python is fixed and merged to dev in #816. A new stable release is on the way, but in the meantime pycaffe users working with deployment nets should try dev to ensure correct model output.
Sorry for the bug! Thanks to @Denominator for a report.