tfc.layers.RDFTParameter | TensorFlow v2.16.1 (original) (raw)
tfc.layers.RDFTParameter
Stay organized with collections Save and categorize content based on your preferences.
RDFT reparameterization of a convolution kernel.
Inherits From: Parameter
View aliases
Main aliases
tfc.layers.RDFTParameter(
initial_value, name=None, shape=None, dtype=None
)
This uses the real-input discrete Fourier transform (RDFT) of a kernel as its parameterization. The inverse RDFT is applied to the variable to produce the kernel.
(see https://en.wikipedia.org/wiki/Discrete_Fourier_transform)
Args | |
---|---|
initial_value | tf.Tensor or None. The initial value of the kernel. If not provided, its shape must be given, and the initial value of the parameter will be undefined. |
name | String. The name of the kernel. |
shape | tf.TensorShape or compatible. Ignored unless initial_value is None. |
dtype | tf.dtypes.DType or compatible. DType of this parameter. If not given, inferred from initial_value. |
Attributes | |
---|---|
shape | tf.TensorShape. The shape of the convolution kernel. |
real | tf.Variable. The real part of the RDFT of the kernel. |
imag | tf.Variable. The imaginary part of the RDFT of the kernel. |
dtype | |
name | Returns the name of this module as passed or determined in the ctor. |
name_scope | Returns a tf.name_scope instance for this class. |
non_trainable_variables | Sequence of non-trainable variables owned by this module and its submodules. |
submodules | Sequence of all sub-modules.Submodules are modules which are properties of this module, or found as properties of modules which are properties of this module (and so on). a = tf.Module() b = tf.Module() c = tf.Module() a.b = b b.c = c list(a.submodules) == [b, c] True list(b.submodules) == [c] True list(c.submodules) == [] True |
trainable_variables | Sequence of trainable variables owned by this module and its submodules. |
variables | Sequence of variables owned by this module and its submodules. |
Methods
get_config
get_config() -> Dict[str, Any]
Returns the configuration of the Parameter
.
get_weights
get_weights()
set_weights
set_weights(
weights
)
with_name_scope
@classmethod
with_name_scope( method )
Decorator to automatically enter the module name scope.
class MyModule(tf.Module):
@tf.Module.with_name_scope
def __call__(self, x):
if not hasattr(self, 'w'):
self.w = tf.Variable(tf.random.normal([x.shape[1], 3]))
return tf.matmul(x, self.w)
Using the above module would produce tf.Variables and tf.Tensors whose names included the module name:
mod = MyModule()
mod(tf.ones([1, 2]))
<tf.Tensor: shape=(1, 3), dtype=float32, numpy=..., dtype=float32)>
mod.w
<tf.Variable 'my_module/Variable:0' shape=(2, 3) dtype=float32,
numpy=..., dtype=float32)>
Args | |
---|---|
method | The method to wrap. |
Returns |
---|
The original method wrapped such that it enters the module's name scope. |
__call__
__call__(
compute_dtype=None
) -> tf.Tensor
Computes and returns the convolution kernel as a tf.Tensor.