Skip to content

Commit e4fa47c

Browse files
author
pytorchbot
committed
2025-12-04 nightly release (3cf501c)
1 parent 29a638b commit e4fa47c

File tree

3 files changed

+31
-7
lines changed

3 files changed

+31
-7
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: ✨ Feature Request
2+
description: Suggest a new feature or enhancement for this project
3+
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: >
8+
#### Before submitting a feature request, please search through [existing issues](https://github.com/meta-pytorch/forge/issues?q=is%3Aissue+sort%3Acreated-desc+) to see if something similar has already been proposed.
9+
- type: textarea
10+
attributes:
11+
label: Context/Motivation
12+
description: |
13+
Describe the problem you're trying to solve or the use case for this feature. Include any relevant links and context.
14+
validations:
15+
required: true
16+
- type: textarea
17+
attributes:
18+
label: Pseudo-code + acceptance criteria [Optional]
19+
description: |
20+
Provide a rough sketch of what the API or implementation might look like. This helps us understand your vision for how the feature would work.
21+
Also, if possible, include what would need to be true for this feature to be considered complete.
22+
validations:
23+
required: false
24+
- type: markdown
25+
attributes:
26+
value: >
27+
Thanks for contributing 🎉!

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[![Discord](https://img.shields.io/badge/Discord-OpenEnv-7289da?style=flat&logo=discord&logoColor=white)](https://discord.gg/YsTYBh6PD9)
77

88
## Overview
9-
The primary purpose of the torchforge ecosystem is to delineate infra concerns from model concerns thereby making RL experimentation easier. torchforge delivers this by providing clear RL abstractions and one scalable implementation of these abstractions. When you need fine-grained control over placement, fault handling/redirecting training loads during a run, or communication patterns, the primitives are there. When you don’t, you can focus purely on your RL algorithm.
9+
The primary purpose of the torchforge ecosystem is to separate infra concerns from model concerns thereby making RL experimentation easier. torchforge delivers this by providing clear RL abstractions and one scalable implementation of these abstractions. When you need fine-grained control over placement, fault handling/redirecting training loads during a run, or communication patterns, the primitives are there. When you don’t, you can focus purely on your RL algorithm.
1010

1111
Key features:
1212
- Usability for rapid research (isolating the RL loop from infrastructure)

src/forge/observability/metrics.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@
1010
import json
1111
import logging
1212
import os
13+
import time
1314
from abc import ABC, abstractmethod
1415
from dataclasses import dataclass
15-
from datetime import datetime
1616
from enum import Enum
1717
from typing import Any, Dict, List
1818

19-
import pytz
20-
2119
from forge.observability.utils import get_proc_name_with_rank
2220

2321
from forge.util.logging import get_logger, log_once
@@ -91,7 +89,7 @@ def accumulator_class(self):
9189
class Metric:
9290
"""Container for metric data including key, value, reduction type, and timestamp.
9391
94-
Timestamp is automatically set to current UTC time if not provided.
92+
Timestamp is automatically set to current time if not provided.
9593
"""
9694

9795
key: str
@@ -101,8 +99,7 @@ class Metric:
10199

102100
def __post_init__(self):
103101
if self.timestamp is None:
104-
# Always record in UTC timezone
105-
self.timestamp = datetime.now(pytz.UTC).timestamp()
102+
self.timestamp = time.time()
106103

107104

108105
def record_metric(key: str, value: Any, reduction: Reduce = Reduce.MEAN) -> None:

0 commit comments

Comments
 (0)