From c0f88e04a075a9f1d811543149c11d1329245ae0 Mon Sep 17 00:00:00 2001 From: Jeremy Reizenstein Date: Fri, 10 Jun 2022 12:22:46 -0700 Subject: [PATCH] make ExperimentConfig Configurable Summary: Preparing for pluggables in experiment.py Reviewed By: davnov134 Differential Revision: D36830674 fbshipit-source-id: eab499d1bc19c690798fbf7da547544df7e88fa5 --- projects/implicitron_trainer/experiment.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/projects/implicitron_trainer/experiment.py b/projects/implicitron_trainer/experiment.py index 4bf8d57c..96de5f67 100755 --- a/projects/implicitron_trainer/experiment.py +++ b/projects/implicitron_trainer/experiment.py @@ -53,7 +53,7 @@ import os import random import time import warnings -from dataclasses import dataclass, field +from dataclasses import field from typing import Any, Dict, Optional, Tuple import hydra @@ -73,7 +73,9 @@ from pytorch3d.implicitron.evaluation import evaluate_new_view_synthesis as eval from pytorch3d.implicitron.models.generic_model import EvaluationMode, GenericModel from pytorch3d.implicitron.tools import model_io, vis_utils from pytorch3d.implicitron.tools.config import ( + Configurable, enable_get_default_args, + expand_args_fields, get_default_args_field, remove_unused_components, ) @@ -671,8 +673,7 @@ def _seed_all_random_engines(seed: int): random.seed(seed) -@dataclass(eq=False) -class ExperimentConfig: +class ExperimentConfig(Configurable): generic_model_args: DictConfig = get_default_args_field(GenericModel) solver_args: DictConfig = get_default_args_field(init_optimizer) data_source_args: DictConfig = get_default_args_field(ImplicitronDataSource) @@ -705,6 +706,8 @@ class ExperimentConfig: ) +expand_args_fields(ExperimentConfig) + if __name__ == "__main__": cs = hydra.core.config_store.ConfigStore.instance() cs.store(name="default_config", node=ExperimentConfig)