Improve and polish pycaffe

- fix input preprocessing configuration in 3cac223 picking up on #733
- update examples' outputs given correct preprocessing 9d7346b, always include caffe pythonpath 45d74bd, and reword classification + time on a gtx 770 fc01ee6
- add console output with human-readable labels and a grayscale flag to classify.py courtesy of @petewarden's #735
- fix #525 by scaling data to [0, 255], doing mean subtraction, and then input scaling
I'll be damned, that's where I started from. I rebased it out to go [0,
255] the whole way. You've convinced me it is a little too strange and
counter to convention though, so multiplication in preprocess() and flag it
is. The flag really is needed for vector or whatever inputs since the
ImageNet / OpenCV 0-255 is actually the special case.

On Monday, August 4, 2014, longjon <notifications@github.com> wrote:

> In python/caffe/io.py:
>
> > @@ -25,6 +27,7 @@ def load_image(filename, color=True):
> >              img = np.tile(img, (1, 1, 3))
> >      elif img.shape[2] == 4:
> >          img = img[:, :, :3]
> > +    img *= 255
>
> I do feel bad about passing around floating point arrays called images
> that aren't in [0, 1], as that has tripped me up before, and I also worry
> about the user who passes in a float image from elsewhere without knowing
> about this.
>
> How do you feel about putting this multiplication in preprocess, after
> checking the type? It could be another parameter or an optional argument in
> case one really wants to do something different. mean and input_scale
> would work as in DataLayer, on input in [0, 255], but float images would
> stay in [0, 1] (that way everything "nonstandard" would happen at the
> image-to-blob boundary, where scaling preconceptions disappear).
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/BVLC/caffe/pull/816/files#r15796494>.
>