예제 #1
0
def test_excluded_domain(capsys, logging_config):
    log = Logger()
    log._enable_all = False
    log.spam('eggs')
    out, err = capsys.readouterr()
    assert out == ''
    assert err == ''
예제 #2
0
def test_logging_config():
    config = Config([__name__, '--log', 'v1', 'v2', 'v3'])
    log = Logger()
    assert (config.verbose is False)
    assert ('v1' in log._enabled_keys)
    assert ('v2' in log._enabled_keys)
    assert ('v3' in log._enabled_keys)
    assert ('v4' not in log._enabled_keys)
    log._enabled_keys = {}
예제 #3
0
def test_enable_all(capsys, logging_config):
    log = Logger()
    log.set_enable_all(True)
    log.spam('eggs')
    out, err = capsys.readouterr()
    assert out == ''
    assert err.find("[spam] eggs\n") >= 0
    log.set_enable_all(False)
예제 #4
0
def test_verbose_logging(capsys, temp_dot_bonsai):
    config = Config([
        __name__,
        '--verbose'
        ])
    log = Logger()
    assert(config.verbose is True)
    assert(log._enable_all is True)
예제 #5
0
def test_included_domain(capsys, logging_config):
    log = Logger()
    log.foo('bar')
    log.baz('qux')
    out, err = capsys.readouterr()
    assert out == ''
    assert err.find('[foo] bar\n') >= 0
    assert err.find('[baz] qux\n') >= 0
예제 #6
0
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 == ''
예제 #7
0
파일: star.py 프로젝트: sagibs0n/bonsai-sdk
"""
Provides the state transform, action transform, terminal function and reward
function. The functions in this file are called from cartpole_simulator.py.
"""

import math

from bonsai_ai.logger import Logger

log = Logger()


def state(model_state):
    """ Convert the state as represented in CartPole to a format expected.
        by the AI Engine.
    """
    return {
        'position': model_state[0],
        'velocity': model_state[1],
        'angle': model_state[2],
        'rotation': model_state[3],
    }


def terminal(model_state):
    """ Return true if the state should end the episode. This includes both
        failure terminals (such as when the model isout-of-bounds) and success
        terminals (when the model is in a successful state)
    """
    x, x_dot, theta, theta_dot = model_state
    theta_threshold_radians = 12 * 2 * math.pi / 360
예제 #8
0
import numpy
import random
import sys

from bonsai_ai import Luminance
from bonsai_ai import Config, Brain, Simulator
from bonsai_ai.logger import Logger

log = Logger()

letters = {
    "X": [[1, 0, 1], [0, 1, 0], [1, 0, 1]],
    "O": [[0, 1, 0], [1, 0, 1], [0, 1, 0]],
    " ": [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
}

POSMAP = {"X": 1, " ": 0, "O": -1}


class TicTacToeGame(object):
    def __init__(self, seed=42):
        random.seed(seed)
        self.board = [" "] * 10
        self.playerLetter, self.computerLetter = ('X', 'O')
        self.terminal = False
        self.reward = 0
        self.framecount = 0
        self.image = numpy.zeros((9, 9), dtype=numpy.uint8)

    def render(self):
        for i in range(3):
예제 #9
0
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__':
예제 #10
0
def test_verbose_logging():
    config = Config([__name__, '--verbose'])
    log = Logger()
    assert (config.verbose is True)
    assert (log._enable_all is True)
    assert (len(log._enabled_keys.keys()) == 0)