[Gptuser] GPT version 3.37 gdfselect: how to recover from a gdfmgo optimization that dies before completion
Alicia Hofler
hofler at jlab.org
Thu Feb 15 11:22:45 EST 2018
For GPT version 3.37, if you have a gdfmgo optimization that dies after at least one generation, you can use gdfselect to extract the last generation and use it to seed another gdfmgo optimization.
As gdfmgo progresses through generations, it puts each generation's results in the gdfmgo output file in a group tagged with "generation" and the generation number (generation 1, generation 2, generation 3, ..., generation n). The last generation (generation n) is the final optimized set of results, and its results are put in the gdfmgo output file twice, first with its generation tag (generation n) and second WITHOUT a generation tag. When gdfmgo is seeded with the results from a previous optimization, it uses the results in the tagless set. When an optimization dies, all data sets have generation tags, and gdfselect can be used to create a tagless data set from the tagged data:
gdfselect -o tagless_generation.gdf only_generation_tagged_data.gdf generation generation_ID
Here is an example. I had an optimization set to run for 35 generations, but the job ran out of time before the 35th generation finished. To create the tagless data set mgo_start.gdf using the results from generation 34 in mgo_died_at_gen34.gdf:
gdfselect -o mgo_start.gdf mgo_died_at_gen34.gdf generation 34
[hofler at qcd12k01]$ gdf2a mgo_died_at_gen34.gdf | head -2
generation 1.000e+00
setMFH2I01 [...omitted for clarity...] mgorank mgoviolations
[hofler at qcd12k01]$ gdf2a mgo_start.gdf | head -2
setMFH2I01 [...omitted for clarity...] mgorank mgoviolations
-1.029e+03 3.000e+00 5.000e+00
-Alicia
--
--------------------------------------
Alicia S. Hofler JSA/TJNAF
hofler*at*jlab.org Newport News, VA
--------------------------------------
More information about the Gptuser
mailing list