Skip to content

Commit 2b627e5

Browse files
authored
Merge pull request #400 from mj-will/improve-resume
Improve resuming when run is finished
2 parents 807d279 + edb1b8e commit 2b627e5

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

nessai/proposal/flowproposal.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ def names(self):
732732
def rescaled_names(self):
733733
warn(
734734
(
735-
"`rescaled_names` is deprecated, use `rescaled_parameters` "
735+
"`rescaled_names` is deprecated, use `prime_parameters` "
736736
"instead"
737737
),
738738
FutureWarning,

nessai/samplers/nestedsampler.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,6 +1254,9 @@ def nested_sampling_loop(self):
12541254
nested_samples : numpy.ndarray
12551255
Array of nested samples.
12561256
"""
1257+
if self.finalised:
1258+
logger.info("Run has already finished!")
1259+
return self.log_evidence, np.array(self.nested_samples)
12571260
self.sampling_start_time = datetime.datetime.now()
12581261
if not self.initialised:
12591262
self.initialise(live_points=True)

tests/test_samplers/test_nested_sampler/test_core_sampling.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ def test_nested_sampling_loop(sampler, config):
272272
def test_nested_sampling_loop_prior_sampling(sampler, close_pool):
273273
"""Test the nested sampling loop for prior sampling"""
274274
sampler.initialised = False
275+
sampler.finalised = False
275276
sampler.nested_samples = sampler.model.new_point(10)
276277
sampler.prior_sampling = True
277278
sampler._close_pool = close_pool
@@ -288,3 +289,15 @@ def test_nested_sampling_loop_prior_sampling(sampler, close_pool):
288289
sampler.finalise.assert_called_once()
289290
assert_structured_arrays_equal(samples, sampler.nested_samples)
290291
assert evidence == -5.99
292+
293+
294+
def test_nested_sampling_loop_already_finished(sampler, caplog):
295+
caplog.set_level("INFO")
296+
sampler.finalised = True
297+
sampler.log_evidence = 0.1
298+
sampler.nested_samples = [1, 2, 3]
299+
logz, ns = NestedSampler.nested_sampling_loop(sampler)
300+
assert "Run has already finished!" in str(caplog.text)
301+
sampler.check_resume.assert_not_called()
302+
assert logz is sampler.log_evidence
303+
np.testing.assert_array_equal(ns, np.array(sampler.nested_samples))

0 commit comments

Comments
 (0)