import numpy
import logging
from bonsai_ai import Brain, Config
from bonsai_gym import GymSimulator

log = logging.getLogger('gym_simulator')
log.setLevel(logging.DEBUG)


class MountainCarContinuous(GymSimulator):
    environment_name = 'MountainCarContinuous-v0'
    simulator_name = 'mountaincar_continuous_simulator'

    def gym_to_state(self, observation):
        state = {'x_position': observation[0], 'x_velocity': observation[1]}
        return state

    # As an Estimator, continuous mountaincar returns the command
    # as a numpy array.
    def action_to_gym(self, actions):
        # return actions['command']
        return numpy.asarray([actions['command']])


if __name__ == '__main__':
    # create a brain, openai-gym environment, and simulator
    config = Config(sys.argv)
    brain = Brain(config)
    sim = MountainCarContinuous(brain)
    sim.run_gym()
Exemplo n.º 2
0
def blank_brain():
    config = Config([__name__])
    return Brain(config)
Exemplo n.º 3
0
def predictor_with_train_config(train_config):
    brain = Brain(train_config)
    predictor = Predictor(brain, 'cartpole_simulator')
    predictor._ioloop = IOLoop.current()
    return predictor
Exemplo n.º 4
0
def luminance_sim(train_config):
    brain = Brain(train_config)
    sim = LuminanceSim(brain, 'random_simulator')
    sim._ioloop = IOLoop.current()
    return sim
Exemplo n.º 5
0
def luminance_sim(train_config):
    brain = Brain(train_config)
    sim = LuminanceSim(brain, 'random_simulator')
    return sim
Exemplo n.º 6
0
def test_brain_no_proxy():
    config = Config([__name__, '--disable-telemetry'])
    brain = Brain(config)
    assert brain._proxy_header() is None
Exemplo n.º 7
0
def record_csv_predict(record_csv_config_predict):
    brain = Brain(record_csv_config_predict)
    sim = CartSim(brain, 'cartpole_simulator')
    sim.enable_keys(['foo'], 'bar')
    sim._ioloop = IOLoop.current()
    return sim
Exemplo n.º 8
0
def predictor(predict_config):
    brain = Brain(predict_config)
    predictor = Predictor(brain, 'cartpole_simulator')
    return predictor
Exemplo n.º 9
0
def test_brain_name_is_not_none(train_config):
    brain = Brain(train_config)
    assert brain.name is not None
Exemplo n.º 10
0
def record_json_sim(record_json_config):
    brain = Brain(record_json_config)
    sim = CartSim(brain, 'cartpole_simulator')
    sim.enable_keys(['foo'], 'bar')
    sim._ioloop = IOLoop.current()
    return sim
Exemplo n.º 11
0
def test_brain_with_proxy():
    # Patch and Mock out requests/responses
    set_proxies(http_proxy='pass', https_proxy=None, all_proxy=None)
    config = Config([__name__])
    brain = Brain(config)
    assert brain._proxy_header() is not None
Exemplo n.º 12
0
def test_brain_no_proxy():
    config = Config([__name__])
    brain = Brain(config)
    assert brain._proxy_header() is None
Exemplo n.º 13
0
def test_brain_timeout():
    config = Config([__name__, '--network-timeout=1', '--disable-telemetry'])
    brain = Brain(config)
    assert brain._timeout == 1
Exemplo n.º 14
0
def train_sim(train_config):
    brain = Brain(train_config)
    sim = CartSim(brain, 'cartpole_simulator')
    return sim
Exemplo n.º 15
0
def train_sim(train_config):
    brain = Brain(train_config)
    sim = CartSim(brain, 'cartpole_simulator')
    sim._ioloop = IOLoop.current()
    return sim
Exemplo n.º 16
0
def predict_sim(predict_config):
    brain = Brain(predict_config)
    sim = CartSim(brain, 'cartpole_simulator')
    return sim
Exemplo n.º 17
0
def predict_sim(predict_config):
    brain = Brain(predict_config)
    sim = CartSim(brain, 'cartpole_simulator')
    sim._ioloop = IOLoop.current()
    return sim
Exemplo n.º 18
0
def predictor_with_train_config(train_config):
    brain = Brain(train_config)
    predictor = Predictor(brain, 'cartpole_simulator')
    return predictor
Exemplo n.º 19
0
def pr_sequence_sim(predict_config):
    brain = Brain(predict_config)
    sim = SequencingSim(brain, 'cartpole_simulator')
    sim._ioloop = IOLoop.current()
    return sim
Exemplo n.º 20
0
if __name__ == "__main__":
    # parse configuration options specific to this simulation
    # additional args will be read with Config(sys.argv)
    parser = argparse.ArgumentParser(description='Launch EnergyPlus simulator')
    parser.add_argument('--test_croom', action='store_true', default=False)
    parser.add_argument('--test_energyplus',
                        action='store_true',
                        default=False)
    args, unknown = parser.parse_known_args()

    # Test the results from the original models...
    if args.test_croom or args.test_energyplus:
        if args.test_croom:
            test_model(model=CRoom())
        elif args.test_energyplus:
            test_model(model=ePlus85Actuator())

    # ...or run the AI for simulation
    else:
        config = Config(sys.argv)
        brain = Brain(config)
        sim = EnergyPlusSimulator(brain, 'EnergyplusSimulator')

        brain.update()
        while (sim.run()):
            continue

        # finished, dump out plot
        sim.finished()
Exemplo n.º 21
0
def test_brain_predict_exist_ready(predict_config, v2_get):
    """ Tests existence and readiness in predict mode """
    brain = Brain(predict_config)
    brain.update()
    assert brain.exists is True
    assert brain.ready is True