Module delta.extensions.layers.pretrained
Use a pretrained model inside another network.
Functions
def pretrained(filename, encoding_layer, outputs: Optional[List[str]] = None, trainable: bool = True, training: bool = True, **kwargs)-
Creates pre-trained layer from an existing model file. Only works with sequential models. This was quite tricky to get right with tensorflow.
Parameters
filename:str- Model file to load.
encoding_layer:str- Name of the layer to stop at.
outputs:Optional[List[str]]- List of names of output layers that may be used later in the model. Only layers listed here will be accessible as inputs to other layers, in the form this_layer_name/internal_name. (internal_name must be included in outputs to do so)
trainable:bool- Whether to update weights during training for this layer.
training:bool- Standard tensorflow option, used for batch norm layers.
Classes
class InputSelectLayer (arg_number, **kwargs)-
A layer that takes any number of inputs, and returns a given one.
Parameters
arg_number:int- The index of the input to select.
Expand source code
class InputSelectLayer(tensorflow.keras.layers.Layer): """ A layer that takes any number of inputs, and returns a given one. """ def __init__(self, arg_number, **kwargs): """ Parameters ---------- arg_number: int The index of the input to select. """ super().__init__(**kwargs) self._arg = arg_number def call(self, inputs, **kwargs): #pylint: disable=unused-argument,arguments-differ return inputs[self._arg] def get_config(self): return {'arg_number' : self._arg}Ancestors
- keras.src.engine.base_layer.Layer
- tensorflow.python.module.module.Module
- tensorflow.python.trackable.autotrackable.AutoTrackable
- tensorflow.python.trackable.base.Trackable
- keras.src.utils.version_utils.LayerVersionSelector
Methods
def call(self, inputs, **kwargs)-
This is where the layer's logic lives.
The
call()method may not create state (except in its first invocation, wrapping the creation of variables or other resources intf.init_scope()). It is recommended to create state, includingtf.Variableinstances and nestedLayerinstances, in__init__(), or in thebuild()method that is called automatically beforecall()executes for the first time.Args
inputs- Input tensor, or dict/list/tuple of input tensors.
The first positional
inputsargument is subject to special rules: -inputsmust be explicitly passed. A layer cannot have zero arguments, andinputscannot be provided via the default value of a keyword argument. - NumPy array or Python scalar values ininputsget cast as tensors. - Keras mask metadata is only collected frominputs. - Layers are built (build(input_shape)method) using shape info frominputsonly. -input_speccompatibility is only checked againstinputs. - Mixed precision input casting is only applied toinputs. If a layer has tensor arguments in*argsor**kwargs, their casting behavior in mixed precision should be handled manually. - The SavedModel input specification is generated usinginputsonly. - Integration with various ecosystem packages like TFMOT, TFLite, TF.js, etc is only supported forinputsand not for tensors in positional and keyword arguments. *args- Additional positional arguments. May contain tensors, although this is not recommended, for the reasons above.
**kwargs- Additional keyword arguments. May contain tensors, although
this is not recommended, for the reasons above.
The following optional keyword arguments are reserved:
-
training: Boolean scalar tensor of Python boolean indicating whether thecallis meant for training or inference. -mask: Boolean input mask. If the layer'scall()method takes amaskargument, its default value will be set to the mask generated forinputsby the previous layer (ifinputdid come from a layer that generated a corresponding mask, i.e. if it came from a Keras layer with masking support).
Returns
A tensor or list/tuple of tensors.
def get_config(self)-
Returns the config of the layer.
A layer config is a Python dictionary (serializable) containing the configuration of a layer. The same layer can be reinstantiated later (without its trained weights) from this configuration.
The config of a layer does not include connectivity information, nor the layer class name. These are handled by
Network(one layer of abstraction above).Note that
get_config()does not guarantee to return a fresh copy of dict every time it is called. The callers should make a copy of the returned dict if they want to modify it.Returns
Python dictionary.