BVLC/caffe — pull request #1239 by sguada (2014-10-08 01:19:02+00:00)
Title: Allow using encoded images in Datum, LevelDB, LMDB

This PR allows to store the image files directly into the DB, which saves a lot of space and sacrifices only a little bit of speed (not noticeable since it is done during the prefetching).
- To convert a set of images and leave them encoded (just copy the copy image file) do:
./build/tools/conver_imageset -encoded=true
- Added a TIMING flag to Makefile to see if prefetch is fast enough compared to the forward/backward pass.
- To use add TIMING := 1 to your Makefile.config
- This would display the time used in prefetch (reading images + transforming images)
- The time used in the forward pass
- The time used in the backward pass
- Speeded up and update the code in WindowDatalayer:
- Now it read and transform faster the window images into blobs.
- It has an option to cache_images into memory in case of slow HDD. It caches the encoded images to save memory.
- Now it also accepts mean_values instead of mean_file.
- This PR also speed up the transformation applied to cv::Mat, this should allow to add easily new transformation done directly with cv::Mat using OpenCV