UC-Davis-molecular-computing/nuad

restart runs with different random seeds

cgevans opened this issue · 1 comments

In using many processors independently to design a system, as recommended by the readme, it would be nice to be able to take a particularly successful run, and then "restart" several copies of it on multiple processors.

For example, in a current design, I ran 96 parallel=False runs starting from random sequences, resulting in scores for my system between 85 and 300 or so. I then took the best 4 runs, and used these as starting points for 24 runs each.

However, this isn't simple. Simply copying the output directories and rerunning will result in all runs using the same random seed, making the repetition pointless. Setting a different random_seed parameter for each new search will also be ignored, here. Starting from a design rather than using the restart option would be an option, but this seems less convenient than simply copying output directories.

In my case, I seem to have gotten around this by writing fake rng_best.json files, but an option to reset the seed during a restart would be nice.

Setting a different random_seed parameter for each new search will also be ignored, here.

It seems a better option would be to ignore the saved random seed in rng_best.json if the SearchParameters.random_seed parameter is set, although possibly with a prompt and/or warning to verify that the user intended to do a restart but ignore the stored random seed.

Does that sound reasonable?