コード例 #1
0
def test_parent_fetch_trials(create_db_instance):
    """Test that experiment fetch trials from parent properly (adapters are muted)"""
    experiment_name = 'supernaedo2.3'
    root_name = 'supernaedo2'
    leaf_names = ['supernaedo2.3']

    experiment = ExperimentView(experiment_name)
    exp_node = ExperimentNode(experiment.name, experiment.version, experiment=experiment)
    exp_node = build_trimmed_tree(experiment, root_name, leaf_names)

    assert exp_node.item.name == experiment_name
    assert exp_node.parent.item.name == root_name
    assert len(exp_node.children) == 0
    # 2
    # |
    # 2.3
    assert len(list(exp_node.root)) == 2

    experiment.connect_to_version_control_tree(exp_node)

    for node in exp_node.root:
        node.item._experiment.refers['adapter'] = Adapter.build([])

    query = {'status': 'completed'}
    assert len(experiment.fetch_trials(query)) == 4
    assert len(experiment._experiment._node.parent.item.fetch_trials(query)) == 6
    assert len(experiment.fetch_trials_tree(query)) == 10
コード例 #2
0
ファイル: experiment.py プロジェクト: breuleux/orion
    def __init__(self, name, version=None, mode="r"):
        self._id = None
        self.name = name
        self.version = version if version else 1
        self._mode = mode
        self._node = None
        self.refers = {}
        self.metadata = {}
        self.max_trials = None
        self.max_broken = None
        self.space = None
        self.algorithms = None
        self.working_dir = None

        self._storage = get_storage()

        self._node = ExperimentNode(self.name, self.version, experiment=self)
コード例 #3
0
    def __init__(self, name, version=None):
        self._id = None
        self.name = name
        self.version = version if version else 1
        self._node = None
        self.refers = {}
        self.metadata = {}
        self.pool_size = None
        self.max_trials = None
        self.space = None
        self.algorithms = None
        self.working_dir = None
        self.producer = {}
        # this needs to be an attribute because we override it in ExperienceView
        self._storage = get_storage()

        self._node = ExperimentNode(self.name, self.version, experiment=self)
コード例 #4
0
 def connect_to_version_control_tree(self, experiment):
     """Build the EVC and connect the experiment to it"""
     experiment_node = ExperimentNode(experiment.name,
                                      experiment=experiment)
     experiment.connect_to_version_control_tree(experiment_node)