class chainer.serializers.NpzDeserializer(npz, path='', strict=True, ignore_names=None)[source]

Deserializer for NPZ format.

This is the standard deserializer in Chainer. This deserializer can be used to read an object serialized by save_npz().

  • npznpz file object.
  • path – The base path that the deserialization starts from.
  • strict (bool) – If True, the deserializer raises an error when an expected value is not found in the given NPZ file. Otherwise, it ignores the value and skip deserialization.
  • ignore_names (string, callable or list of them) – If callable, it is a function that takes a name of a parameter and a persistent and returns True when it needs to be skipped. If string, this is a name of a parameter or persistent that are going to be skipped. This can also be a list of callables and strings that behave as described above.


__call__(key, value)[source]

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.


As of v2.0.0, 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.

  • 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.

Serialized or deserialized value.


Gets a child serializer.

This operator creates a _child_ serializer represented by the given key.

Parameters:key (str) – Name of the child serializer.

Loads an object from this deserializer.

This is equivalent to obj.serialize(self).

Parameters:obj – Target object to be serialized.