Source code for modules.tests.testUnity

from logs import logDecorator as lD 
import json, pprint
import numpy as np

from unityagents import UnityEnvironment
from lib.envs    import envUnity


config = json.load(open('../config/config.json'))
logBase = config['logging']['logBase'] + '.modules.tests.testUnity'

[docs]@lD.log( logBase + '.allTests' ) def allTests(logger): try: cfg = json.load(open('../config/modules/tests.json'))['params'] policy = lambda m: eval( cfg['UnityParams']['randomAction'] ) with envUnity.Env(cfg['UnityParams']['binaryFile'], showEnv=True) as env: results = env.episode(policy, maxSteps = 1000) for i in range(env.num_agents): print(f'For agent {i}:') s, a, r, ns, d = zip(*results[i]) print(f'Rewards: {r}') print(f'Donnes: {d}') except Exception as e: logger.error(f'Unable to finish Unity tests: {e}') return