Tune in to the first Women in ML Symposium this Tuesday, October 19 at 9am PST Register now


View source on GitHub

Allows attribute assignment to Trackable objects with no dependency.

Example usage:

obj = Trackable()
obj.has_dependency = tf.Variable(0., name="dep")
obj.no_dependency = NoDependency(tf.Variable(1., name="nodep"))
assert obj.no_dependency.name == "nodep:0"

obj in this example has a dependency on the variable "dep", and both attributes contain un-wrapped Variable objects.

NoDependency also works with tf.keras.Model, but only for checkpoint dependencies: wrapping a Layer in NoDependency will assign the (unwrapped) Layer to the attribute without a checkpoint dependency, but the Model will still track the Layer (so it will appear in Model.layers, and its variables will appear in Model.variables).