Exemplo n.º 1
0
def test_logger(tmpdir):
    logger_1 = Logger('test', seed=1, results_dir=tmpdir)
    logger_2 = Logger('test', seed=2, results_dir=tmpdir)

    for i in range(3):
        logger_1.log_numpy(a=i, b=2 * i + 1)
        logger_2.log_numpy(a=2 * i + 1, b=i)

    a_1 = np.load(str(tmpdir / 'test' / 'a-1.npy'))
    a_2 = np.load(str(tmpdir / 'test' / 'a-2.npy'))
    b_1 = np.load(str(tmpdir / 'test' / 'b-1.npy'))
    b_2 = np.load(str(tmpdir / 'test' / 'b-2.npy'))

    assert np.array_equal(a_1, np.arange(3))
    assert np.array_equal(b_2, np.arange(3))
    assert np.array_equal(a_1, b_2)
    assert np.array_equal(b_1, a_2)

    logger_1_bis = Logger('test', append=True, seed=1, results_dir=tmpdir)

    logger_1_bis.log_numpy(a=3, b=7)
    a_1 = np.load(str(tmpdir / 'test' / 'a-1.npy'))
    b_2 = np.load(str(tmpdir / 'test' / 'b-2.npy'))

    assert np.array_equal(a_1, np.arange(4))
    assert np.array_equal(b_2, np.arange(3))
Exemplo n.º 2
0
logger.epoch_info(0, J=J, R=R, any_label='any value')

for i in trange(epochs):
    # Here some learning
    core.learn(n_steps=100, n_steps_per_fit=1)
    sleep(0.5)
    dataset = core.evaluate(n_steps=100)
    sleep(0.5)
    J = np.mean(compute_J(dataset, mdp.info.gamma))  # Discounted returns
    R = np.mean(compute_J(dataset))  # Undiscounted returns

    # Here logging epoch results to the console
    logger.epoch_info(i+1, J=J, R=R)

    # Logging the data in J.npy and E.npy
    logger.log_numpy(J=J, R=R)

    # Logging the best agent according to the best J
    logger.log_best_agent(agent, J)

# Logging the last agent
logger.log_agent(agent)

# Log the last dataset
logger.log_dataset(dataset)

logger.info('Experiment terminated')

# Loggers can also continue from previous logs results
del logger  # Delete previous logger
new_logger = Logger('tutorial', results_dir='/tmp/logs',