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)
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
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