add the parameter layer_map to built-in subclasses of
LayerMapComposite, which will be prepended to the composite's
layer_map
add the parameter layer_map and first_map to built-in subclasses
of SpecialFirstLayerMapComposite, which will be prepended to the
composites layer_map and first_map respectively
this is done to let the user easily introduce small changes to the
built-in composites, for example to add rules for missing layers, or
change the behavior for existing modules
the most important use-case for this is adding a mapping for MaxPool layers
to use another rule without the need to implement a full composite
for this use-case, also add the abstract type MaxPool
Tests: Cooperative LayerMapComposite
added tests for built-in cooperative LayerMapComposites
built-in composites now get cooperative variations for tests in
conftest.py
these variations get custom rules PassClone and GradClone
the registered rule for each module is now checked only for the first
match in the module_map, which would previously lead to errors when
one module had more than one matching rule
Docs: Cooperative LayerMapComposite
add documentation for cooperative LayerMapComposite subtypes
add subsections to how-to/use-rules-composites-and-canonizers
Composite
Composites: Cooperative LayerMapComposite
layer_map
to built-in subclasses of LayerMapComposite, which will be prepended to the composite'slayer_map
layer_map
andfirst_map
to built-in subclasses of SpecialFirstLayerMapComposite, which will be prepended to the compositeslayer_map
andfirst_map
respectivelyMaxPool
layers to use another rule without the need to implement a full compositeMaxPool
Tests: Cooperative LayerMapComposite
PassClone
andGradClone
Docs: Cooperative LayerMapComposite