tf.contrib.checkpoint.List

Class List

Defined in tensorflow/python/training/checkpointable/data_structures.py.

An append-only sequence type which is checkpointable.

Maintains checkpoint dependencies on its contents (which must also be checkpointable), and forwards any Layer metadata such as updates and losses.

Note that List is purely a container. It lets a tf.keras.Model or other checkpointable object know about its contents, but does not call any Layer instances which are added to it. To indicate a sequence of Layer instances which should be called sequentially, use tf.keras.Sequential.

Example usage:

class HasList(tf.keras.Model):

  def __init__(self):
    super(HasList, self).__init__()
    self.layer_list = tf.contrib.checkpoint.List([layers.Dense(3)])
    self.layer_list.append(layers.Dense(4))

  def call(self, x):
    aggregation = 0.
    for l in self.layer_list:
      x = l(x)
      aggregation += tf.reduce_sum(x)
    return aggregation

This kind of wrapping is necessary because Checkpointable objects do not (yet) deeply inspect regular Python data structures, so for example assigning a regular list (self.layer_list = [layers.Dense(3)]) does not create a checkpoint dependency and does not add the Layer instance's weights to its parent Model.

Properties

layers

losses

Aggregate losses from any Layer instances.

non_trainable_variables

non_trainable_weights

trainable_variables

trainable_weights

updates

Aggregate updates from any Layer instances.

variables

weights

Methods

__init__

__init__(
    *args,
    **kwargs
)

Construct a new sequence. Arguments are passed to list().

__add__

__add__(other)

__contains__

__contains__(value)

__eq__

__eq__(other)

__getitem__

__getitem__(key)

__iadd__

__iadd__(values)

__iter__

__iter__()

__len__

__len__()

__radd__

__radd__(other)

__reversed__

__reversed__()

__subclasshook__

__subclasshook__(
    cls,
    C
)

append

append(value)

Add a new checkpointable value.

count

count(value)

S.count(value) -> integer -- return number of occurrences of value

extend

extend(values)

Add a sequence of checkpointable values.

index

index(value)

S.index(value) -> integer -- return first index of value. Raises ValueError if the value is not present.