Esempio n. 1
0
# Create results directory if it doesnt exist
if not os.path.isdir(resultsDir):
    os.makedirs(resultsDir)

workerNum = 0
genNum = 0
deadWorkers = 0
deadWorkerLimit = 999999999
procIDs = {} # Maps pid --> worker num
genPID = util.startGenerator(genNum, generateExec, resultsDir, dataFile, individualsPerGeneration,
                        maxGeneration, seed, rom)
genNum += 1

# Main Loop
while util.getCurrentGen(resultsDir,doingCMAES) < maxGeneration:
    time.sleep(10)

    out = util.condor_q()
    if not out:
        continue

    # print 'condor_q output',out
    # sys.stdout.flush()
        
    # Check if generator is alive & active
    genStatus = util.getPIDStatus(genPID, out) 
    if genStatus == None: # Missing generator
        print 'Missing Generator. pid:',genPID
        sys.exit(0)
    elif genStatus != 'R': # Generator alive but not running
Esempio n. 2
0
                    type=int,
                    default=-1,
                    help='Seed the random number generator.')

args = parser.parse_args()
rom = args.G
seed = str(args.R)
executable = args.e
dataFile = args.d
maxGeneration = args.g
resultsDir = args.r
individualsPerGeneration = args.n
timeout_secs = 1

# Detect the current generation
currentGeneration = util.getCurrentGen(resultsDir)
if currentGeneration < 0:
    sys.stderr.write('Did not find any generation files! Exiting.\n')
    sys.stderr.flush()
    sys.exit(0)

while currentGeneration < maxGeneration:
    # Wait until we see a generation file for the current generation
    generationFile = "generation" + str(currentGeneration) + ".ser.gz"
    generationPath = os.path.join(resultsDir, generationFile)

    start = time.time()
    while not os.path.exists(generationPath):
        time.sleep(5)
        if time.time() - start >= timeout_secs:
            sys.stderr.write(
Esempio n. 3
0
                    help='This should point to the rom to be run.')
parser.add_argument('-R', metavar='random-seed', required=False, type=int, default=-1,
                    help='Seed the random number generator.')

args = parser.parse_args()
rom                      = args.G
seed                     = str(args.R)
executable               = args.e
dataFile                 = args.d
maxGeneration            = args.g
resultsDir               = args.r
individualsPerGeneration = args.n
timeout_secs = 1

# Detect the current generation
currentGeneration = util.getCurrentGen(resultsDir)
if currentGeneration < 0:
        sys.stderr.write('Did not find any generation files! Exiting.\n')
        sys.stderr.flush()
        sys.exit(0)

while currentGeneration < maxGeneration:
    # Wait until we see a generation file for the current generation
    generationFile = "generation" + str(currentGeneration) + ".ser.gz"
    generationPath = os.path.join(resultsDir,generationFile)

    start = time.time()
    while not os.path.exists(generationPath):
        time.sleep(5)
        if time.time() - start >= timeout_secs:
            sys.stderr.write('Reached timeout waiting for new generation... quitting\n')
Esempio n. 4
0
# Create results directory if it doesnt exist
if not os.path.isdir(resultsDir):
    os.makedirs(resultsDir)

workerNum = 0
genNum = 0
deadWorkers = 0
deadWorkerLimit = 999999999
procIDs = {}  # Maps pid --> worker num
genPID = util.startGenerator(genNum, generateExec, resultsDir, dataFile,
                             individualsPerGeneration, maxGeneration, seed,
                             rom)
genNum += 1

# Main Loop
while util.getCurrentGen(resultsDir, doingCMAES) < maxGeneration:
    time.sleep(10)

    out = util.condor_q()
    if not out:
        continue

    # print 'condor_q output',out
    # sys.stdout.flush()

    # Check if generator is alive & active
    genStatus = util.getPIDStatus(genPID, out)
    if genStatus == None:  # Missing generator
        print 'Missing Generator. pid:', genPID
        sys.exit(0)
    elif genStatus != 'R':  # Generator alive but not running