Exemple #1
0
 def test_list(self):
     """Define the arena with one version"""
     arena = Arena([("Random A", lambda seed: AgentRandom(seed)),
                    ("Random C", lambda seed: AgentRandom(seed)),
                    ("Random B", lambda seed: AgentRandom(seed))], 5)
     self.assertEqual(len(arena.csv_results_lists()), 3)
     self.assertListEqual(
         arena.csv_results_lists(),
         [['Random A', 0.2, 0.8, 0.8], ['Random B', 0.2, 0.2, 0.2],
          ['Random C', 0.2, 0.8, 0.2]])
Exemple #2
0
                    default='arena.results.csv',
                    help='Path to write arena results')

ARGS = PARSER.parse_args()

print('Starting arena')
A3C_PATH = os.path.join("models",
                        "stated_2017-05-01T22-59-33.510476_best_0.45875")
dtype = torch.cuda.FloatTensor if torch.cuda.is_available(
) else torch.FloatTensor

ARENA = Arena(
    [
        # Place agents in this list as created
        # first in the tuple is the readable name
        # second is a lambda that ONLY takes a random seed. This can be discarded
        # if the the Agent does not require a seed
        ("A3C", lambda seed: AgentA3C(A3C_PATH, dtype, seed)),
        ("Random", lambda seed: AgentRandom(seed))
    ],
    500)

print('Run the arena for: ', ARENA.csv_header())

with open(ARGS.output, 'w') as f:
    WRITER = csv.writer(f)
    WRITER.writerow(ARENA.csv_header())
    WRITER.writerows(ARENA.csv_results_lists())

print('Complete')