示例#1
0
def main(solver):
    barista_net = BaristaNet(solver)
    write_ipc_interface(barista_net, 'barista-ipc-interface.txt')

    print "Barista running. Waiting on compute semaphore:",
    print barista_net.compute_semaphore

    print "Conv1_dW norm:", np.linalg.norm(barista_net.net.params['conv1'][0].diff)
    print "Data norm:", np.linalg.norm(barista_net.net.blobs['data'].data)
    for i in range(10):
        barista_net.full_pass()
        print "Completed full pass #%d" % i
        print "Conv1_dW norm:", np.linalg.norm(barista_net.net.params['conv1'][0].diff)
        print "Data norm:", np.linalg.norm(barista_net.net.blobs['data'].data)
示例#2
0
def test():
    from barista.baristanet import BaristaNet
    baristanet = BaristaNet('models/deepq/train_val.prototxt',
                            'models/deepq/deepq16.caffemodel',
                            'Augustus')

    print "\nData Norms (before loading):"
    print "-"*40
    data_norms = compute_data_norms(baristanet.net, ('state', 'next_state'))
    pretty_print(data_norms)
    baristanet.dummy_load_minibatch()
    print "\nData Norms (after loading):"
    print "-"*40
    data_norms = compute_data_norms(baristanet.net, ('state', 'next_state'))
    pretty_print(data_norms)

    print "\nGradient norms (before computing):"
    print "-"*40
    grad_norms = compute_gradient_norms(baristanet.net, ord=2)
    pretty_print(grad_norms)

    baristanet.full_pass()

    print "\nGradient norms (after computing):"
    print "-"*40
    grad_norms = compute_gradient_norms(baristanet.net, ord=2)
    pretty_print(grad_norms)

    data = extract_net_data(
               baristanet.net,
               ('Q_sa', 'action', 'reward', 'P_sa', 'loss'))
    Q, P = data['Q_sa'], data['P_sa']
    action, reward, loss = data['action'], data['reward'], data['loss']
    print "\nQ_sa:"
    print "-"*40
    print Q.reshape((Q.size, 1))
    print "P_sa:"
    print P
    print "Action:"
    print action
    print "Reward:"
    print reward
    print "Loss:", loss
示例#3
0
def start_barista(solver_filename):
    pid = os.getpid()
    print("Daemon PID:", pid, file=sys.stderr)

    net = BaristaNet(solver_filename)

    ipc_interface = net.get_ipc_interface()
    ipc_interface_filename = os.path.join(os.getcwd(),
                                          "barista-%d.interface" % pid)
    write_ipc_interface(ipc_interface, ipc_interface_filename)
    print(ipc_interface_filename + "," + str(pid), file=sys.stdout)

    # Close stdout so the pipe can return
    sys.stdout.close()
    os.close(1)

    # Compute until the cows come home
    while True:
        net.full_pass()
def test():
    from barista.baristanet import BaristaNet
    baristanet = BaristaNet('models/deepq/train_val.prototxt',
                            'models/deepq/deepq16.caffemodel', 'Augustus')

    print "\nData Norms (before loading):"
    print "-" * 40
    data_norms = compute_data_norms(baristanet.net, ('state', 'next_state'))
    pretty_print(data_norms)
    baristanet.dummy_load_minibatch()
    print "\nData Norms (after loading):"
    print "-" * 40
    data_norms = compute_data_norms(baristanet.net, ('state', 'next_state'))
    pretty_print(data_norms)

    print "\nGradient norms (before computing):"
    print "-" * 40
    grad_norms = compute_gradient_norms(baristanet.net, ord=2)
    pretty_print(grad_norms)

    baristanet.full_pass()

    print "\nGradient norms (after computing):"
    print "-" * 40
    grad_norms = compute_gradient_norms(baristanet.net, ord=2)
    pretty_print(grad_norms)

    data = extract_net_data(baristanet.net,
                            ('Q_sa', 'action', 'reward', 'P_sa', 'loss'))
    Q, P = data['Q_sa'], data['P_sa']
    action, reward, loss = data['action'], data['reward'], data['loss']
    print "\nQ_sa:"
    print "-" * 40
    print Q.reshape((Q.size, 1))
    print "P_sa:"
    print P
    print "Action:"
    print action
    print "Reward:"
    print reward
    print "Loss:", loss