![]() |
Creates a single inner block of a residual.
tfm.vision.layers.ResidualInner(
filters: int,
strides: int,
kernel_initializer: Union[str, Callable[..., tf.keras.initializers.Initializer]] = 'VarianceScaling',
kernel_regularizer: Optional[tf.keras.regularizers.Regularizer] = None,
activation: Union[str, Callable[..., tf.Tensor]] = 'relu',
use_sync_bn: bool = False,
norm_momentum: float = 0.99,
norm_epsilon: float = 0.001,
batch_norm_first: bool = True,
**kwargs
)
This corresponds to F
/G
functions in the RevNet paper:
Aidan N. Gomez, Mengye Ren, Raquel Urtasun, Roger B. Grosse.
The Reversible Residual Network: Backpropagation Without Storing Activations.
(https://arxiv.org/pdf/1707.04585.pdf)
Args | |
---|---|
filters
|
An int of output filter size.
|
strides
|
An int of stride size for convolution for the residual block.
|
kernel_initializer
|
A str or tf.keras.initializers.Initializer
instance for convolutional layers.
|
kernel_regularizer
|
A tf.keras.regularizers.Regularizer for Conv2D.
|
activation
|
A str or callable instance of the activation function.
|
use_sync_bn
|
A bool . If True, use synchronized batch normalization.
|
norm_momentum
|
A float of normalization momentum for the moving average.
|
norm_epsilon
|
A float added to variance to avoid dividing by zero.
|
batch_norm_first
|
A bool of whether to apply activation and batch norm
before conv.
|
**kwargs
|
Additional keyword arguments to be passed. |
Methods
call
call(
inputs: tf.Tensor, training: Optional[bool] = None
) -> tf.Tensor
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 in
tf.init_scope()
). It is recommended to create state, including
tf.Variable
instances and nested Layer
instances,
in __init__()
, or in the build()
method that is
called automatically before call()
executes for the first time.
Args | |
---|---|
inputs
|
Input tensor, or dict/list/tuple of input tensors.
The first positional inputs argument is subject to special rules:
|
*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 the call is meant for training or inference.mask : Boolean input mask. If the layer's call() method takes a
mask argument, its default value will be set to the mask
generated for inputs by the previous layer (if input did 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. |