TRL documentation

Other

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Other

profiling_decorator

trl.extras.profiling.profiling_decorator

< >

( func: <built-in function callable> )

Parameters

  • func (callable) — Function to be profiled.

Decorator to profile a function and log execution time using extras.profiling.profiling_context().

Example:

from transformers import Trainer
from trl.extras.profiling import profiling_decorator

class MyTrainer(Trainer):
    @profiling_decorator
    def some_method(self):
        A = np.random.rand(1000, 1000)
        B = np.random.rand(1000, 1000)
        # Code to profile: simulate a computationally expensive operation
        result = A @ B

profiling_context

trl.extras.profiling.profiling_context

< >

( trainer: Trainer name: str )

Parameters

  • trainer (~transformers.Trainer) — Trainer object.
  • name (str) — Name of the block to be profiled. Used as a key in the logged dictionary.

A context manager function for profiling a block of code. Results are logged to Weights & Biases if enabled.

Example:

from transformers import Trainer
from trl.extras.profiling import profiling_context

class MyTrainer(Trainer):
    def some_method(self):
        A = np.random.rand(1000, 1000)
        B = np.random.rand(1000, 1000)
        with profiling_context(self, "matrix_multiplication"):
            # Code to profile: simulate a computationally expensive operation
            result = A @ B  # Matrix multiplication
< > Update on GitHub