Пример #1
0
def runThread(numTrain, numTest, agent, maxJobs, results, finished):
    exp = None
    try:
        # pretrain

        exp = SimpleSimulation(numDevices=numDevices,
                               maxJobs=maxJobs,
                               agentClass=agent,
                               tasks=[HARD],
                               systemStateClass=extendedSystemState,
                               jobInterval=1)
        exp.setBatterySize(1e-1)
        exp.setFpgaIdleSleep(1e-3)
        exp.simulateEpisodes(int(numTrain))
    except:
        traceback.print_exc(file=sys.stdout)
        if exp is not None:
            print("Error in experiment:", maxJobs, exp.time)

    exp.sharedAgent.setProductionMode()

    for i in range(int(numTest)):
        exp.simulateEpisode(int(numTrain) + i)
        results.put([
            "Agent %s" % exp.sharedAgent.__name__, maxJobs, exp.numFinishedJobs
        ])
    # results.put(["", jobInterval, np.average([dev.numJobs for dev in exp.devices]) / exp.getCompletedJobs()])
    finished.put(True)
Пример #2
0
def runThread(jobInterval, results, finished):
	try:
		exp = SimpleSimulation(jobInterval=jobInterval)
		# exp.simulateTime(10)
		# pretrain
		exp.simulateEpisodes(100)
	except:
		traceback.print_exc(file=sys.stdout)
		print("Error in experiment:", jobInterval, exp.time)

	exp.sharedAgent.setProductionMode()
	exp.simulateEpisode()

	results.put(["", jobInterval, exp.numFinishedJobs])
	# results.put(["", jobInterval, np.average([dev.numJobs for dev in exp.devices]) / exp.getCompletedJobs()])
	finished.put(True)
Пример #3
0
def runThread(agent, maxJobs, results, finished):
    try:
        # pretrain

        exp = SimpleSimulation(maxJobs=maxJobs, agentClass=agent)
        exp.simulateEpisodes(100)
    except:
        traceback.print_exc(file=sys.stdout)
        print("Error in experiment:", maxJobs, exp.time)

    exp.sharedAgent.setProductionMode()
    exp.simulateEpisode()

    results.put(
        ["Agent %s" % exp.sharedAgent.__name__, maxJobs, exp.numFinishedJobs])
    # results.put(["", jobInterval, np.average([dev.numJobs for dev in exp.devices]) / exp.getCompletedJobs()])
    finished.put(True)