View source on GitHub |
Defines the interface for metrics.
tf_agents.metrics.py_metric.PyMetric(
name: Text, prefix: Text = 'Metrics'
)
Attributes | |
---|---|
prefix
|
Prefix for the metric. |
summary_op
|
TF summary op for this metric. |
summary_placeholder
|
TF placeholder to be used for the result of this metric. |
Methods
aggregate
@staticmethod
aggregate( metrics: Sequence[
tf_agents.metrics.py_metric.PyMetricType
] ) ->tf_agents.typing.types.Float
Aggregates a list of metrics.
The default behaviour is to return the average of the metrics.
Args | |
---|---|
metrics
|
a list of metrics, of the same class. |
Returns | |
---|---|
The result of aggregating this metric. |
log
log()
reset
@abc.abstractmethod
reset()
Resets internal stat gathering variables used to compute the metric.
result
@abc.abstractmethod
result() -> Any
Evaluates the current value of the metric.
tf_summaries
tf_summaries(
train_step: tf_agents.typing.types.Int
= None,
step_metrics: Sequence[tf_agents.metrics.py_metric.MetricType
] = ()
) -> tf.Operation
Build TF summary op and placeholder for this metric.
To execute the op, call py_metric.run_summaries.
Args | |
---|---|
train_step
|
Step counter for training iterations. If None, no metric is generated against the global step. |
step_metrics
|
Step values to plot as X axis in addition to global_step. |
Returns | |
---|---|
The summary op. |
Raises | |
---|---|
RuntimeError
|
If this method has already been called (it can only be called once). |
ValueError
|
If any item in step_metrics is not of type PyMetric or tf_metric.TFStepMetric. |
__call__
__call__(
*args
)
Method to update the metric contents.
To change the behavior of this function, override the call method.
Different subclasses might use this differently. For instance, the PyStepMetric takes in a trajectory, while the CounterMetric takes no parameters.
Args | |
---|---|
*args
|
See call method of subclass for specific arguments. |