Missed TensorFlow Dev Summit? Check out the video playlist. Watch recordings

tfp.experimental.nn.Lambda

View source on GitHub

A Layer which can be defined inline.

Inherits From: Layer

tfp.experimental.nn.Lambda(
    eval_fn=None, extra_loss_fn=None, also_track=None, name=None
)

Attributes:

  • also_track
  • extra_loss
  • extra_result
  • name: Returns the name of this module as passed or determined in the ctor.

    NOTE: This is not the same as the self.name_scope.name which includes parent module names.

  • name_scope: Returns a tf.name_scope instance for this class.

  • 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

__call__

View source

__call__(
    inputs, **kwargs
)

Call self as a function.

eval

View source

eval(
    inputs, is_training=True, **kwargs
)

load

View source

load(
    filename
)

save

View source

save(
    filename
)

summary

View source

summary()

with_name_scope

@classmethod
with_name_scope(
    cls, 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.