tfc.layers.Parameter

Reparameterized Layer variable.

This object represents a parameter of a tf.keras.layer.Layer object which isn't directly stored in a tf.Variable, but can be represented as a function (of any number of tf.Variable attributes).

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

View source

Returns the configuration of the Parameter.

get_weights

View source

set_weights

View source

with_name_scope

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__

View source

Computes and returns the parameter value as a tf.Tensor.