I need to create a fast, efficient, low-overhead routine for storing key / value pairs in LMDB for subsequent consumption by Caffe's data layer (i.e., no linking to a bunch of external libraries).
I've reviewed the caffe.proto, caffe.pb.h and caffe.pb.cc files and a handful of others pertaining to Google's protocol buffers to gain an understanding of the Datum class, which is the 'value' in LMDB records.
The best bet for me appears to be an audit of the datum.SerializeToString() method, which takes all the data structures and nested structures comprising Datum and converts them to some sort of string value. However, after plumbing the depths of Google's protobuf, I haven't been able to find where this method is defined.
Can someone point me in the right direction? And obviously if there's a faster / better / cheaper way of understanding how the serialized Datum value should be structured, then I'd definitely be open to it. Thanks.