trinity.utils

Submodules

trinity.utils.distributed module

For distributed training with multiple process groups.

trinity.utils.distributed.is_ipv6_address(ip_str: str) bool[source]
trinity.utils.distributed.init_process_group(backend: str | Backend | None = None, init_method: str | None = None, timeout: float | None = None, world_size: int = -1, rank: int = -1, store: Store | None = None, group_name: str | None = None, pg_options: Any | None = None)[source]

trinity.utils.dlc_utils module

trinity.utils.dlc_utils.get_dlc_env_vars() dict[source]
trinity.utils.dlc_utils.is_running() bool[source]

Check if ray cluster is running.

trinity.utils.dlc_utils.wait_for_ray_setup() None[source]
trinity.utils.dlc_utils.wait_for_ray_worker_nodes(world_size: int) None[source]
trinity.utils.dlc_utils.setup_ray_cluster(namespace: str)[source]

trinity.utils.eval_utils module

trinity.utils.eval_utils.simple_answer_parser(response: str) str[source]
trinity.utils.eval_utils.find_boxed_answer(string)[source]

Find answers from solutions where the answers are enclosed in LaTeX’s oxed tag

trinity.utils.eval_utils.extract_solution(solution_str)[source]

Extract the equation from the solution string.

trinity.utils.eval_utils.validate_equation(equation_str, available_numbers)[source]

Validate that equation only uses available numbers and each number once.

trinity.utils.eval_utils.evaluate_equation(equation_str)[source]

Safely evaluate the arithmetic equation using eval() with precautions.

trinity.utils.log module

Logging configuration for vLLM.

class trinity.utils.log.NewLineFormatter(fmt, datefmt=None)[source]

Bases: Formatter

Adds logging prefix to newlines to align multi-line messages.

__init__(fmt, datefmt=None)[source]

Initialize the formatter with specified format strings.

Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format.

Use a style parameter of ‘%’, ‘{’ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string.

Changed in version 3.2: Added the style parameter.

format(record)[source]

Format the specified record as text.

The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.

trinity.utils.log.get_logger(name: str, level: int = 10) Logger[source]

Get a logger with the given name and level.

Parameters:
  • name (str) – The name of the logger.

  • level (int, optional) – The level of the logger. Defaults to logging.DEBUG.

Returns:

The logger with the given name and level.

Return type:

logging.Logger

trinity.utils.monitor module

Monitor

class trinity.utils.monitor.Monitor(project: str, name: str, role: str, config: Config | None = None)[source]

Bases: ABC

__init__(project: str, name: str, role: str, config: Config | None = None) None[source]
abstract log_table(table_name: str, experiences_table: DataFrame, step: int)[source]

Log a table

abstract log(data: dict, step: int, commit: bool = False) None[source]

Log metrics.

abstract close() None[source]

Close the monitor

calculate_metrics(data: dict[str, List[float] | float], prefix: str | None = None) dict[str, float][source]
class trinity.utils.monitor.TensorboardMonitor(project: str, name: str, role: str, config: Config | None = None)[source]

Bases: Monitor

__init__(project: str, name: str, role: str, config: Config | None = None) None[source]
log_table(table_name: str, experiences_table: DataFrame, step: int)[source]

Log a table

log(data: dict, step: int, commit: bool = False) None[source]

Log metrics.

close() None[source]

Close the monitor

class trinity.utils.monitor.WandbMonitor(project: str, name: str, role: str, config: Config | None = None)[source]

Bases: Monitor

__init__(project: str, name: str, role: str, config: Config | None = None) None[source]
log_table(table_name: str, experiences_table: DataFrame, step: int)[source]

Log a table

log(data: dict, step: int, commit: bool = False) None[source]

Log metrics.

close() None[source]

Close the monitor

trinity.utils.registry module

class trinity.utils.registry.Registry(name: str)[source]

Bases: object

This class is used to register some modules to registry by a repo name.

__init__(name: str)[source]

Initialization method.

Parameters:

name – a registry repo name

property name

Get name of current registry.

Returns:

name of current registry.

property modules

Get all modules in current registry.

Returns:

a dict storing modules in current registry.

list()[source]

Logging the list of module in current registry.

get(module_key)[source]

Get module named module_key from in current registry. If not found, return None.

Parameters:

module_key – specified module name

Returns:

module named module_key

register_module(module_name: str | None = None, module_cls: type | None = None, force=False)[source]

Register module class object to registry with the specified modulename.

Parameters:
  • module_name – module name

  • module_cls – module class object

  • force – Whether to override an existing class with the same name. Default: False.

Example

>>> registry = Registry()
>>> @registry.register_module()
>>> class TextFormatter:
>>>     pass
>>> class TextFormatter2:
>>>     pass
>>> registry.register_module( module_name='text_formatter2',
                            module_cls=TextFormatter2)

Module contents