|View source on GitHub|
Scope which defines a variable creation function to be used by variable().
@tf_contextlib.contextmanager tf.variable_creator_scope( variable_creator )
variable_creator is expected to be a function with the following signature:
def variable_creator(next_creator, **kwargs)
The creator is supposed to eventually call the next_creator to create a variable if it does want to create a variable and not call Variable or ResourceVariable directly. This helps make creators composable. A creator may choose to create multiple variables, return already existing variables, or simply register that a variable was created and defer to the next creators in line. Creators can also modify the keyword arguments seen by the next creators.
Custom getters in the variable scope will eventually resolve down to these custom creators when they do create variables.
The valid keyword arguments in kwds are:
Tensor, or Python object convertible to a
Tensor, which is the initial value for the Variable. The initial value must have a shape specified unless
validate_shapeis set to False. Can also be a callable with no argument that returns the initial value when called. In that case,
dtypemust be specified. (Note that initializer functions from init_ops.py must first be bound to a shape before being used here.)
True, the default, GradientTapes automatically watch uses of this Variable.
False, allows the variable to be initialized with a value of unknown shape. If
True, the default, the shape of
initial_valuemust be known.
None, caches on another device. Typical use is to cache on the device where the Ops using the Variable reside, to deduplicate copying through
Switchand other conditional statements.
'Variable'and gets uniquified automatically. dtype: If set, initial_value will be converted to the given type. If
None, either the datatype will be kept (if
initial_valueis a Tensor), or
tf.VariableSynchronization. By default the synchronization is set to
AUTOand the current
DistributionStrategychooses when to synchronize.
This set may grow over time, so it's important the signature of creators is as mentioned above.
| ||the passed creator|
|A scope in which the creator is active|
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.