![]() |
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 in __init__()
, or the build()
method
that is called automatically before call()
executes 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. |