class_docstr: Abstract base class of all serializers and deserializers.
docstr: Serializes or deserializes a value by given name.
  
  This operator saves or loads a value by given name.
  
  If this is a serializer, then the value is simply saved at the key.
  Note that some type information might be missed depending on the
  implementation (and the target file format).
  
  If this is a deserializer, then the value is loaded by the key. The
  deserialization differently works on scalars and arrays. For scalars,
  the ``value`` argument is used just for determining the type of
  restored value to be converted, and the converted value is returned.
  For arrays, the restored elements are directly copied into the
  ``value`` argument. String values are treated like scalars.
  
  .. note::
     Serializers and deserializers are required to
     correctly handle the ``None`` value. When ``value`` is ``None``,
     serializers save it in format-dependent ways, and deserializers
     just return the loaded value. When the saved ``None`` value is
     loaded by a deserializer, it should quietly return the ``None``
     value without modifying the ``value`` object.
  
  Args:
      key (str): Name of the serialization entry.
      value (scalar, numpy.ndarray, cupy.ndarray, None, or str):
          Object to be (de)serialized.
          ``None`` is only supported by deserializers.
  
  Returns:
      Serialized or deserialized value.
code: def __call__(self, key, value):
      """Serializes or deserializes a value by given name.
  
      This operator saves or loads a value by given name.
  
      If this is a serializer, then the value is simply saved at the key.
      Note that some type information might be missed depending on the
      implementation (and the target file format).
  
      If this is a deserializer, then the value is loaded by the key. The
      deserialization differently works on scalars and arrays. For scalars,
      the ``value`` argument is used just for determining the type of
      restored value to be converted, and the converted value is returned.
      For arrays, the restored elements are directly copied into the
      ``value`` argument. String values are treated like scalars.
  
      .. note::
         Serializers and deserializers are required to
         correctly handle the ``None`` value. When ``value`` is ``None``,
         serializers save it in format-dependent ways, and deserializers
         just return the loaded value. When the saved ``None`` value is
         loaded by a deserializer, it should quietly return the ``None``
         value without modifying the ``value`` object.
  
      Args:
          key (str): Name of the serialization entry.
          value (scalar, numpy.ndarray, cupy.ndarray, None, or str):
              Object to be (de)serialized.
              ``None`` is only supported by deserializers.
  
      Returns:
          Serialized or deserialized value.
  
      """
      raise NotImplementedError
  
file_path: chainer/chainer/serializer.py
label_desc: Use image node_id 2 for calling the AbstractSerializer obj's underlying member method code with example usage: obj.__call__(key, value) without return types