View source on GitHub
|
An abstract class defining the API required for evaluation.
orbit.AbstractEvaluator(
name=None
)
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).
|
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
evaluate
@abc.abstractmethodevaluate( num_steps: tf.Tensor ) -> Optional[Output]
Implements num_steps steps of evaluation.
This method will by called the Controller to perform an evaluation. The
num_steps parameter specifies the number of steps of evaluation to run,
which is specified by the user when calling one of the Controller's
evaluation methods. A special sentinel value of -1 is reserved to indicate
evaluation should run until the underlying data source is exhausted.
| Args | |
|---|---|
num_steps
|
The number of evaluation steps to run. Note that it is up to
the model what constitutes a "step". Evaluations may also want to
support "complete" evaluations when num_steps == -1, running until a
given data source is exhausted.
|
| Returns | |
|---|---|
Either None, or a dictionary mapping names to Tensors or NumPy values.
If a dictionary is returned, it will be written to logs and as TensorBoard
summaries. The dictionary may also be nested, which will generate a
hierarchy of summary directories.
|
with_name_scope
@classmethodwith_name_scope( method )
Decorator to automatically enter the module name scope.
class MyModule(tf.Module):@tf.Module.with_name_scopedef __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. |
View source on GitHub