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()
def blank_brain(): config = Config([__name__]) return Brain(config)
def predictor_with_train_config(train_config): brain = Brain(train_config) predictor = Predictor(brain, 'cartpole_simulator') predictor._ioloop = IOLoop.current() return predictor
def luminance_sim(train_config): brain = Brain(train_config) sim = LuminanceSim(brain, 'random_simulator') sim._ioloop = IOLoop.current() return sim
def luminance_sim(train_config): brain = Brain(train_config) sim = LuminanceSim(brain, 'random_simulator') return sim
def test_brain_no_proxy(): config = Config([__name__, '--disable-telemetry']) brain = Brain(config) assert brain._proxy_header() is None
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
def predictor(predict_config): brain = Brain(predict_config) predictor = Predictor(brain, 'cartpole_simulator') return predictor
def test_brain_name_is_not_none(train_config): brain = Brain(train_config) assert brain.name is not None
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
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
def test_brain_no_proxy(): config = Config([__name__]) brain = Brain(config) assert brain._proxy_header() is None
def test_brain_timeout(): config = Config([__name__, '--network-timeout=1', '--disable-telemetry']) brain = Brain(config) assert brain._timeout == 1
def train_sim(train_config): brain = Brain(train_config) sim = CartSim(brain, 'cartpole_simulator') return sim
def train_sim(train_config): brain = Brain(train_config) sim = CartSim(brain, 'cartpole_simulator') sim._ioloop = IOLoop.current() return sim
def predict_sim(predict_config): brain = Brain(predict_config) sim = CartSim(brain, 'cartpole_simulator') return sim
def predict_sim(predict_config): brain = Brain(predict_config) sim = CartSim(brain, 'cartpole_simulator') sim._ioloop = IOLoop.current() return sim
def predictor_with_train_config(train_config): brain = Brain(train_config) predictor = Predictor(brain, 'cartpole_simulator') return predictor
def pr_sequence_sim(predict_config): brain = Brain(predict_config) sim = SequencingSim(brain, 'cartpole_simulator') sim._ioloop = IOLoop.current() return sim
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()
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