mbuali's picture
Upload folder using huggingface_hub
d1ceb73 verified
raw
history blame contribute delete
873 Bytes
"""
Utilities for converting data types into structured JSON for dumping.
"""
import traceback
from typing import Dict, Sequence
import torch._logging._internal
INTERN_TABLE: Dict[str, int] = {}
def intern_string(s: str) -> int:
r = INTERN_TABLE.get(s, None)
if r is None:
r = len(INTERN_TABLE)
INTERN_TABLE[s] = r
torch._logging._internal.trace_structured(
"str", lambda: (s, r), suppress_context=True
)
return r
def from_traceback(tb: Sequence[traceback.FrameSummary]) -> object:
r = []
for frame in tb:
# dict naming convention here coincides with
# python/combined_traceback.cpp
r.append(
{
"line": frame.lineno,
"name": frame.name,
"filename": intern_string(frame.filename),
}
)
return r