class_docstr: Base class for Types.
  
  Any Grid Types must be inherited from this class and must implement abstract
  methods. The constructor (or the initializer for pythonistas) can take parameters
  and customize the behaviour of serialization/deserialization process.
  
  Notes
  -----
  *  The argument to the :meth:`deserialize` method must be type annotated. This
     information will be used to construct the API endpoint. For instance, if you are
     making a custom ``Text`` type, you might expect the end user to pass text string
     and the language, you could define this method like this:
  
     .. code-block:: python
  
        def deserialize(self, text: str, language: str):
            pass
  
  *  This will be translated to an API endpoint (automatically and transparently -
     no explicit coding required from you) that takes a dictionary that would look
     like this:
  
     .. code-block:: python
  
        {"text": "some string", "language": "en"}
docstr: Unpacks data (assuming kwargs) and calls deserialize method of child class.
  
  While it does not seem to be doing much, and always does one thing, the benefit comes when building
  sophisticated datatypes (such as Repeated) where the developer wants to dictate how the unpacking happens. For
  simple cases like Image or Bbox etc., developer would never need to know the existence of this. Task graph would
  never call deserialize directly but always call this method.
docstr_tok: ["Unpacks","data","(","assuming","kwargs",")","and","calls","deserialize","method","of","child","class",".","While","it","does","not","seem","to","be","doing","much",",","and","always","does","one","thing",",","the","benefit","comes","when","building","sophisticated","datatypes","(","such","as","Repeated",")","where","the","developer","wants","to","dictate","how","the","unpacking","happens",".","For","simple","cases","like","Image","or","Bbox","etc.",",","developer","would","never","need","to","know","the","existence","of","this",".","Task","graph","would","never","call","deserialize","directly","but","always","call","this","method","."]
code: def packed_deserialize(self, kwargs):
      """Unpacks data (assuming kwargs) and calls deserialize method of child class.
  
      While it does not seem to be doing much, and always does one thing, the benefit comes when building
      sophisticated datatypes (such as Repeated) where the developer wants to dictate how the unpacking happens. For
      simple cases like Image or Bbox etc., developer would never need to know the existence of this. Task graph would
      never call deserialize directly but always call this method.
  
      """
      return self.deserialize(**kwargs)
  
file_path: lightning-flash/src/flash/core/serve/types/base.py
imports: import abc
  from typing import get_type_hints
  from flash.core.serve._compat import cached_property
label_desc: Use image node_id 4 for calling the BaseType obj's underlying member method code with example usage: obj.packed_deserialize(kwargs) and returns: self