def test_disable_domain(capsys, logging_config): log = Logger() log.set_enabled('spam', False) assert log._enabled_keys['spam'] == False log.spam('eggs') out, err = capsys.readouterr() assert out == '' assert err == ''
class TicTacToeSim(Simulator): def __init__(self, brain, iteration_limit=0): super(TicTacToeSim, self).__init__(brain, 'TicTacToeSimulator') self._env = TicTacToeGame() def episode_finish(self): log.info("Episode {} reward: {}".format(self.episode_count, self.episode_reward)) def episode_start(self, config): observation = self._env.reset() return {'image': observation} def simulate(self, action): observation, reward, done = self._env.advance(action) return {'image': observation}, reward, done if __name__ == "__main__": config = Config(sys.argv) brain = Brain(config) sim = TicTacToeSim(brain) # If predicting print the board if sim.predict: log.set_enabled('game') while sim.run(): continue
import sys import gym from bonsai_ai import Brain, Config, Predictor from bonsai_ai.logger import Logger log = Logger() log.set_enabled("info") def _state(observation): """ Converts gym observation into Inkling state dictionary """ state = { 'position': observation[0], 'velocity': observation[1], 'angle': observation[2], 'rotation': observation[3] } return state def _action(action): """ Converts Inkling action into a gym action """ return action['command'] def _log_state_and_action(state, action): log.info("The BRAIN received the following state: {}".format(state)) log.info("The BRAIN returned the following action: {}".format(action)) if __name__ == '__main__':