tfm.vision.RetinaNetTask

View source on GitHub

A single-replica view of training procedure.

Inherits From: Task

View aliases

Main aliases

tfm.vision.retinanet.RetinaNetTask

tfm.vision.RetinaNetTask(
 params, logging_dir: Optional[str] = None, name: Optional[str] = None
)

RetinaNet task provides artifacts for training/evalution procedures, including loading/iterating over Datasets, initializing the model, calculating the loss, post-processing, and customized metrics with reduction.

Args

params the task configuration instance, which can be any of dataclass, ConfigDict, namedtuple, etc.
logging_dir a string pointing to where the model, summaries etc. will be saved. You can also write additional stuff in this directory.
name the task name.

Attributes

logging_dir

task_config

Methods

aggregate_logs

View source

aggregate_logs(
 state=None, step_outputs=None
)

Optional aggregation over logs returned from a validation step.

Given step_logs from a validation step, this function aggregates the logs after each eval_step() (see eval_reduce() function in official/core/base_trainer.py). It runs on CPU and can be used to aggregate metrics during validation, when there are too many metrics that cannot fit into TPU memory. Note that this may increase latency due to data transfer between TPU and CPU. Also, the step output from a validation step may be a tuple with elements from replicas, and a concatenation of the elements is needed in such case.

Args
state The current state of training, for example, it can be a sequence of metrics.
step_logs Logs from a validation step. Can be a dictionary.

build_attribute_loss

View source

build_attribute_loss(
 attribute_heads: List[tfm.vision.configs.retinanet.AttributeHead ],
 outputs: Mapping[str, Any],
 labels: Mapping[str, Any],
 box_sample_weight: tf.Tensor
) -> float

Computes attribute loss.

Args
attribute_heads a list of attribute head configs.
outputs RetinaNet model outputs.
labels RetinaNet labels.
box_sample_weight normalized bounding box sample weights.

Returns
Attribute loss of all attribute heads.

build_inputs

View source

build_inputs(
 params: tfm.vision.configs.retinanet.DataConfig ,
 input_context: Optional[tf.distribute.InputContext] = None
)

Build input dataset.

build_losses

View source

build_losses(
 outputs: Mapping[str, Any],
 labels: Mapping[str, Any],
 aux_losses: Optional[Any] = None
)

Build RetinaNet losses.

build_metrics

View source

build_metrics(
 training: bool = True
)

Build detection metrics.

build_model

View source

build_model()

Build RetinaNet model.

create_optimizer

View source

@classmethod
create_optimizer(
 optimizer_config: tfm.optimization.OptimizationConfig ,
 runtime_config: Optional[tfm.core.base_task.RuntimeConfig ] = None,
 dp_config: Optional[tfm.core.base_task.DifferentialPrivacyConfig ] = None
)

Creates an TF optimizer from configurations.

Args
optimizer_config the parameters of the Optimization settings.
runtime_config the parameters of the runtime.
dp_config the parameter of differential privacy.

Returns
A tf.optimizers.Optimizer object.

inference_step

View source

inference_step(
 inputs, model: tf.keras.Model
)

Performs the forward step.

With distribution strategies, this method runs on devices.

Args
inputs a dictionary of input tensors.
model the keras.Model.

Returns
Model outputs.

initialize

View source

initialize(
 model: tf.keras.Model
)

Loading pretrained checkpoint.

process_compiled_metrics

View source

process_compiled_metrics(
 compiled_metrics, labels, model_outputs
)

Process and update compiled_metrics.

call when using compile/fit API.

Args
compiled_metrics the compiled metrics (model.compiled_metrics).
labels a tensor or a nested structure of tensors.
model_outputs a tensor or a nested structure of tensors. For example, output of the keras model built by self.build_model.

process_metrics

View source

process_metrics(
 metrics, labels, model_outputs, **kwargs
)

Process and update metrics.

Called when using custom training loop API.

Args
metrics a nested structure of metrics objects. The return of function self.build_metrics.
labels a tensor or a nested structure of tensors.
model_outputs a tensor or a nested structure of tensors. For example, output of the keras model built by self.build_model.
**kwargs other args.

reduce_aggregated_logs

View source

reduce_aggregated_logs(
 aggregated_logs, global_step=None
)

Optional reduce of aggregated logs over validation steps.

This function reduces aggregated logs at the end of validation, and can be used to compute the final metrics. It runs on CPU and in each eval_end() in base trainer (see eval_end() function in official/core/base_trainer.py).

Args
aggregated_logs Aggregated logs over multiple validation steps.
global_step An optional variable of global step.

Returns
A dictionary of reduced results.

train_step

View source

train_step(
 inputs: Tuple[Any, Any],
 model: tf.keras.Model,
 optimizer: tf.keras.optimizers.Optimizer,
 metrics: Optional[List[Any]] = None
)

Does forward and backward.

Args
inputs a dictionary of input tensors.
model the model, forward pass definition.
optimizer the optimizer for this training step.
metrics a nested structure of metrics objects.

Returns
A dictionary of logs.

validation_step

View source

validation_step(
 inputs: Tuple[Any, Any],
 model: tf.keras.Model,
 metrics: Optional[List[Any]] = None
)

Validatation step.

Args
inputs a dictionary of input tensors.
model the keras.Model.
metrics a nested structure of metrics objects.

Returns
A dictionary of logs.

Class Variables

loss 'loss'

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.

Last updated 2024年02月02日 UTC.