Skip to content
Snippets Groups Projects
Commit 9e2524dd authored by Mads M. Pedersen's avatar Mads M. Pedersen
Browse files

A few improvements

parent 0238f95e
No related branches found
No related tags found
1 merge request!57A few improvements
Pipeline #
......@@ -75,9 +75,13 @@ class TopFarmProblem(Problem):
self.recorder = NestedTopFarmListRecorder(self.cost_comp, self.record_id)
else:
self.recorder = TopFarmListRecorder(self.record_id)
if state == {} and len(self.recorder.driver_iteration_lst) > 0:
state = {k: self.recorder.get(k)[-1] for k in self.state.keys()}
self.update_state(state)
if len(self.recorder.driver_iteration_lst) > 0:
try:
self.update_state({k: self.recorder.get(k)[-1] for k in self.state.keys() if k not in state})
except ValueError:
pass # loaded state does not fit into dimension of current state
self.driver.add_recorder(self.recorder)
self.run_driver()
self.cleanup()
......
......@@ -116,6 +116,9 @@ class ListRecorder(BaseRecorder):
if res.shape[-1] == 1:
res = res[:, 0]
return res
def __getitem__(self, key):
return self.get(key)
def keys(self):
return list(np.unique(['counter', 'iteration_coordinate', 'timestamp', 'success', 'msg'] +
......@@ -264,6 +267,8 @@ class TopFarmListRecorder(ListRecorder):
plt.axis('equal')
return ln
init()
def update(frame):
title.set_text("%f (%.2f%%)" % (cost[frame],
(cost[frame] - cost[0]) / cost[0] * 100))
......
......@@ -70,6 +70,8 @@ def test_ListRecorder():
cases = recorder.driver_cases
assert cases.num_cases == 4
npt.assert_array_equal(recorder.get('counter'), range(1, 5))
npt.assert_array_equal(recorder['counter'], range(1, 5))
npt.assert_array_almost_equal(recorder.get(['x', 'y', 'f_xy']), xyf, 4)
for xyf, k in zip(xyf[0], ['x', 'y', 'f_xy']):
npt.assert_allclose(cases.get_case(0).outputs[k][0], xyf)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment