Defines a transform to be applied to a keras model graph.

A transform is a combination of 'Find + Replace' which describes how to find a pattern of layers in a model, and what to replace those layers with.

A pattern is described using LayerPattern. The replacement function receives a LayerNode which contains the matched layers and should return a LayerNode which contains the set of layers which replaced the matched layers.



View source

Dictionary of custom objects introduced by the replacement function.

A Transform may introduce custom Classes and types unknown to Keras. This function should return a dictionary containing these objects in case such types are introduced. It allows model construction to serialize/deserialize these objects.

Custom objects introduced by the transform as a dictionary.


View source

Return the LayerPattern to find in the model graph.


View source

Generate a replacement sub-graph for the matched sub-graph.

The fundamental constraint of the replacement is that the replacement sub-graph should consume the same input tensors as the original sub-graph and also produce a final list of tensors which are same in number and shape as the original sub-graph. Not following this could crash model creation, or introduce bugs in the new model graph.

sub-graph, and output layers feeding from the tip of the tree as parameters. These would be needed for complex replace cases.

match_layer Matched sub-graph based on self.pattern().