Source code for xplogger.experiment_manager.record.omegaconf

"""OC Record."""
from __future__ import annotations

from copy import deepcopy

import ray
from omegaconf import OmegaConf
from omegaconf.dictconfig import DictConfig

from xplogger.experiment_manager.record import mongo


[docs]def make_record(mongo_record: mongo.Record) -> DictConfig: """Make record.""" data = deepcopy(mongo_record.data) data["id"] = str(data.pop("_id")) record = OmegaConf.create(data) OmegaConf.set_struct(record, True) OmegaConf.set_readonly(record, True) return record
@ray.remote # type: ignore def ray_make_record(mongo_record: mongo.Record) -> DictConfig: """Make record using ray.""" return make_record(mongo_record)