class_docstr: Serialize a Dataflow to a lmdb database, where the keys are indices and values
  are serialized datapoints.
  
  You will need to ``pip install lmdb`` to use it.
  
  Example:
  
  .. code-block:: python
  
      LMDBSerializer.save(my_df, "output.lmdb")
  
      new_df = LMDBSerializer.load("output.lmdb", shuffle=True)
class_docstr_tok: ["Serialize","a","Dataflow","to","a","lmdb","database",",","where","the","keys","are","indices","and","values","are","serialized","datapoints",".","You","will","need","to","``","pip","install","lmdb","``","to","use","it",".","Example",":","..","code-block",":",":","python","LMDBSerializer.save","(","my_df",",","``","output.lmdb","''",")","new_df","=","LMDBSerializer.load","(","``","output.lmdb","''",",","shuffle=True",")"]
docstr: Note:
      If you found deserialization being the bottleneck, you can use :class:`LMDBData` as the reader
      and run deserialization as a mapper in parallel.
docstr_tok: ["Note",":","If","you","found","deserialization","being","the","bottleneck",",","you","can","use",":","class",":","`","LMDBData","`","as","the","reader","and","run","deserialization","as","a","mapper","in","parallel","."]
code: def load(path, shuffle=True):
      """
      Note:
          If you found deserialization being the bottleneck, you can use :class:`LMDBData` as the reader
          and run deserialization as a mapper in parallel.
      """
      df = LMDBData(path, shuffle=shuffle)
      return MapData(df, LMDBSerializer._deserialize_lmdb)
  
imports: import numpy
  import os
  import platform
  from collections import defaultdict
  from ..utils import logger
  from ..utils.serialize import dumps, loads
  from ..utils.develop import create_dummy_class
  from ..utils.utils import get_tqdm
  from .base import DataFlow
  from .common import FixedSizeData, MapData
  from .format import HDF5Data, LMDBData, DiskCacheData
  from .raw import DataFromGenerator, DataFromList
label_desc: Use image node_id 2 for calling the LMDBSerializer obj's underlying member method code with example usage: obj.load(path, shuffle) and returns: MapData