class_docstr: A serializable object composed of device memory buffers.
  
  This base class defines a standard serialization protocol for objects
  encapsulating device memory buffers. Serialization proceeds by copying
  device data onto the host, then returning it along with suitable metadata
  for reconstruction of the object. Deserialization performs the reverse
  process, copying the serialized data from the host to new device buffers.
  Subclasses must define the abstract methods :meth:`~.serialize` and
  :meth:`~.deserialize`. The former defines the conversion of the object
  into a representative collection of metadata and data buffers, while the
  latter converts back from that representation into an equivalent object.
class_docstr_tok: ["A","serializable","object","composed","of","device","memory","buffers",".","This","base","class","defines","a","standard","serialization","protocol","for","objects","encapsulating","device","memory","buffers",".","Serialization","proceeds","by","copying","device","data","onto","the","host",",","then","returning","it","along","with","suitable","metadata","for","reconstruction","of","the","object",".","Deserialization","performs","the","reverse","process",",","copying","the","serialized","data","from","the","host","to","new","device","buffers",".","Subclasses","must","define","the","abstract","methods",":","meth",":","`","~.serialize","`","and",":","meth",":","`","~.deserialize","`",".","The","former","defines","the","conversion","of","the","object","into","a","representative","collection","of","metadata","and","data","buffers",",","while","the","latter","converts","back","from","that","representation","into","an","equivalent","object","."]
docstr: Generate an equivalent serializable representation of an object.
  
  Subclasses must implement this method to define how the attributes of
  the object are converted into a serializable representation. A common
  solution is to construct a list containing device buffer attributes in
  a well-defined order that can be reinterpreted upon deserialization,
  then place all other lightweight attributes into the metadata
  dictionary.
  
  Returns
  -------
  Tuple[Dict, List]
      The first element of the returned tuple is a dict containing any
      serializable metadata required to reconstruct the object. The
      second element is a list containing the device data buffers
      or memoryviews of the object.
  
  :meta private:
docstr_tok: ["Generate","an","equivalent","serializable","representation","of","an","object",".","Subclasses","must","implement","this","method","to","define","how","the","attributes","of","the","object","are","converted","into","a","serializable","representation",".","A","common","solution","is","to","construct","a","list","containing","device","buffer","attributes","in","a","well-defined","order","that","can","be","reinterpreted","upon","deserialization",",","then","place","all","other","lightweight","attributes","into","the","metadata","dictionary",".","Returns","--","--","--","-","Tuple","[","Dict",",","List","]","The","first","element","of","the","returned","tuple","is","a","dict","containing","any","serializable","metadata","required","to","reconstruct","the","object",".","The","second","element","is","a","list","containing","the","device","data","buffers","or","memoryviews","of","the","object",".",":","meta","private",":"]
code: def serialize(self):
      """Generate an equivalent serializable representation of an object.
  
      Subclasses must implement this method to define how the attributes of
      the object are converted into a serializable representation. A common
      solution is to construct a list containing device buffer attributes in
      a well-defined order that can be reinterpreted upon deserialization,
      then place all other lightweight attributes into the metadata
      dictionary.
  
      Returns
      -------
      Tuple[Dict, List]
          The first element of the returned tuple is a dict containing any
          serializable metadata required to reconstruct the object. The
          second element is a list containing the device data buffers
          or memoryviews of the object.
  
      :meta private:
      """
      raise NotImplementedError(
          "Subclasses of Serializable must implement serialize"
      )
  
file_path: cudf/python/cudf/cudf/core/abc.py
imports: import pickle
  import numpy
  import cudf
label_desc: Use image node_id 1 for calling the Serializable obj's underlying member method code with example usage: obj.serialize() without return types