Shortcuts

Source code for torcheval.metrics.functional.aggregation.throughput

# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.


import torch


[docs]@torch.inference_mode() def throughput( num_processed: int = 0, elapsed_time_sec: float = 0.0, ) -> torch.Tensor: """ Calculate the throughput value which is the number of elements processed per second. Its class version is ``torcheval.metrics.Throughput``. Args: num_processed (int): Number of items processed. elapsed_time_sec (float): Total elapsed time in seconds to process ``num_processed`` items. Raises: ValueError: If ``num_processed`` is a negative number. If ``elapsed_time_sec`` is a non-positive number. Examples:: >>> import torch >>> from torcheval.metrics.functional import throughput >>> throughput(64, 2.0) tensor(32.) """ return _throughput_compute(num_processed, elapsed_time_sec)
def _throughput_compute(num_processed: int, elapsed_time_sec: float) -> torch.Tensor: if num_processed < 0: raise ValueError( f"Expected num_processed to be a non-negative number, but received {num_processed}." ) if elapsed_time_sec <= 0: raise ValueError( f"Expected elapsed_time_sec to be a positive number, but received {elapsed_time_sec}." ) return torch.tensor(num_processed / elapsed_time_sec)

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources