def st_snep( P, dim_s, dim_t, init_y=None, verbose=True, repeat=1, init_seed=None ): ''' Space-time Embedding (based on pair-wise similarities) ''' if verbose: print( "Space-Time Embedding (%s)" % opt.distribution ) print( "%-15s = %d" % ( "N", P.shape[0] ) ) print( "%-15s = %d" % ( "dim(s)", dim_s ) ) print( "%-15s = %d" % ( "dim(t)", dim_t ) ) print( "%-15s = %d" % ( "max_epochs", opt.max_epochs ) ) print( "%-15s = %.1f" % ( "lrate (s)", opt.lrate_s ) ) print( "%-15s = %.1f" % ( "lrate (t)", opt.lrate_t ) ) print( "%-15s = %d" % ( "lying", opt.lying ) ) best_Y = None best_Z = None best_E = np.inf if init_seed is None: init_seed = np.random.randint( 1000000 ) start_t = tick( verbose=verbose ) for run in range( repeat ): Y, Z, E = __embed( P, dim_s, dim_t, init_y, verbose, init_seed+run ) if E[-1] < best_E: best_E = E[-1] best_Y = Y best_Z = Z if verbose: tick( start_t ) print( 'final E=%6.3f' % E[-1] ) print( 'record E=%6.3f' % best_E ) return best_Y, best_Z, best_E
def propagate(g,t): G = np.zeros([len(t), g.shape[0], g.shape[1]]) for k in t: if k == 0: G[k,:,:] = g else: G[k,:,:] = tick(G[k-1,:,:]) pickle.dump( G, open( "G.p", "wb" ) ) return G
def __init__(self): try: self.camera = PiCamera() self.camera.resolution = (320, 240) self.camera.framerate = 30 self.camera.start_preview() self.m = None try: self.m = Moving() except: print("Moving not possible") self.m = None time.sleep(2) self.t = tick(self.camera, self.m) self.t.start() self.m.start() # self.m.setMotorPlan([[100,100],[100,100],[100,100],[100,100],[100,100],[100,100],[100,100],[100,100],[100,100],[100,100]]) except: print("FAILED") traceback.print_exc()
wait_clear(1) grimace.grimace() wait_clear(1) bit_sad.bit_sad() wait_clear(1) small_neutral.small_neutral() wait_clear(1) very_sad.very_sad() wait_clear(1) neutral.neutral() wait_clear(1) grin.grin() wait_clear(1) cross.cross() wait_clear(1) tick.tick() wait_clear(1) question.question() wait_clear(1) speak1.speak1() wait_clear(0.1) speak2.speak2() wait_clear(0.1) speak1.speak1() wait_clear(0.1) speak2.speak2() wait_clear(0.1) speak1.speak1() wait_clear(0.1) speak2.speak2() wait_clear(0.1)
def train( cls, data, # one sample per row dim_h=10, # number of hidden units lrate=1e-3, # learning rate max_epoches=100, # no. iterations batch_size=20, # mini batch size seed=None, # random seed shuffle=True, # whether to shuffle the data train_ratio=0.9, # the ratio of training set verbose=True, ): # verbose output """ randomly initialize a RBM object, train it based on given data This is the standard way of create a RBM object """ n_samples, dim_v = data.shape n_train = int(n_samples * train_ratio) if verbose: start_t = tick() print("input data size %dx%d" % data.shape) print("%.0f%% for training, %.0f%% for validation" % (train_ratio * 100, 100 - train_ratio * 100)) print("RBM with %d hidden units" % dim_h) print("learning rate %f" % lrate) print("run for %d epoches" % max_epoches) print("using batches of %d samples" % batch_size) # initialization learner = cls(dim_v, dim_h, lrate, max_epoches, batch_size, seed) # the bits for compute the pesudo-log-likelihood pll_bits_train = learner.chaos.randint(dim_v, size=n_train) pll_bits_valid = learner.chaos.randint(dim_v, size=(n_samples - n_train)) # idx stores the sample index to be selected in order idx = range(n_samples) if shuffle: learner.chaos.shuffle(idx) for epoch in range(learner.max_epoches): if verbose: print("[%4d]" % epoch, end=" ") progress_bar = 0.05 * n_train for s in xrange(0, n_train, learner.batch_size): learner.__update(data[idx[s : s + learner.batch_size]]) progress_bar -= learner.batch_size if progress_bar < 0: progress_bar = 0.05 * n_train if verbose: print("=", end="") # error measure: average negative pseudo loglikelihood if verbose: print( " err_train=%-8.2f" % -learner.pesudo_likelihood(data[idx[:n_train]], pll_bits_train).mean(), end="" ) if n_train < n_samples: print( " err_valid=%-8.2f" % -learner.pesudo_likelihood(data[idx[n_train:]], pll_bits_valid).mean(), end="", ) print("") if verbose: tick(start_t) return learner
to_read, to_write, to_error = select.select(connections,connections,connections,0) for socko in to_read: if socko == serversocket: print "connecting" (clientsocket, address) = socko.accept() print "putting " + address[0] + " onto connections"; conn_info.append(address) clientsocket.setblocking(0) connections.append(clientsocket) print len(connections) else: print "reader" try: #i needed this try block only for google chrome! wierd. data = socko.recv(1024) #1024 potential problem causer except socket.error, msg: closesocket(socko) break print data if not data: print "no data" closesocket(socko) break try: handle_data(data, socko, to_read, to_write, to_error) except socket.error, msg: closesocket(socko) if counter % cycles_per_tick == 0: print connections tick.tick(to_read, to_write, to_error, scope) for socko in to_error: print socko + " had an error"
from tick import tick import time t = np.arange(10) g, sidx = initgame(1000) mode = 'Store' if mode == 'Store': G = propagate(g, t) ani = visualize(G) elif mode == 'Live': fig = plt.figure() ax = fig.gca() fig.show() G = g # Im = plt.imshow(g) # Im.show() while 1: plt.imshow(G) fig.canvas.draw() t = time.time() G = tick(G) elapsed = time.time() - t print(elapsed) # Im.set_data(G) # plt.draw() else: G = pickle.load(open("G.p", "rb")) ani = visualize(G)
connections, 0) for socko in to_read: if socko == serversocket: print "connecting" (clientsocket, address) = socko.accept() print "putting " + address[0] + " onto connections" conn_info.append(address) clientsocket.setblocking(0) connections.append(clientsocket) print len(connections) else: print "reader" try: #i needed this try block only for google chrome! wierd. data = socko.recv(1024) #1024 potential problem causer except socket.error, msg: closesocket(socko) break print data if not data: print "no data" closesocket(socko) break try: handle_data(data, socko, to_read, to_write, to_error) except socket.error, msg: closesocket(socko) if counter % cycles_per_tick == 0: print connections tick.tick(to_read, to_write, to_error, scope) for socko in to_error: print socko + " had an error"