What's the best way to load large data?

I guess one of the reasons is that you are creating a new db transaction each time __getitem__ gets called. That will be a lot of overhead.

Also, sequentially loading the items using an iterator (as done in caffe) will be faster than using f.get(key), but current Dataset API doesn’t seem to support iterator…