p1=np.sin(2*np.pi*p1/np.sqrt(75)); p2=np.asarray(xrange(2000)); #p2=0.5*np.sin(2*np.pi*p2/np.sqrt(20))+np.sin(2*np.pi*p2/np.sqrt(40)); p2=np.sin(2*np.pi*p2/np.sqrt(40)); ps=np.vstack((p1[None], p2[None])); p=[]; p.append(ps); #p.append(p1[None]); #p.append(p2[None]); # training net.train(p); # test readout print "NRMSE readout: %f" % (util.nrmse(net.W_out.dot(net.all_train_args), net.all_train_outs)); print "mean NEMSE W: %f" % util.nrmse(net.W.dot(net.all_train_old_args), net.W_targets); y=net.W_out.dot(net.all_train_args) print y.shape print net.all_train_outs.shape pplot.figure(1); pplot.plot(xrange(1000), p[0][0,500:1500]); pplot.plot(xrange(1000), y[0,0:1000]); pplot.title("Redout") pplot.show(); # test conceptors parameter_nl=0.1;
# Prepare testing data p1 = np.asarray(xrange(2000)) p1 = np.sin(2 * np.pi * p1 / np.sqrt(75)) p2 = np.asarray(xrange(2000)) #p2=0.5*np.sin(2*np.pi*p2/np.sqrt(20))+np.sin(2*np.pi*p2/np.sqrt(40)); p2 = np.sin(2 * np.pi * p2 / np.sqrt(40)) ps = np.vstack((p1[None], p2[None])) p = [] #p.append(ps); p.append(p1[None]) p.append(p2[None]) net.load(p, load_mode="complete") print util.nrmse(net.all_train_dt_args, net.D.dot(net.all_train_old_args)) c1, x1 = net.cue_conceptor(p1[None]) c2, x2 = net.cue_conceptor(p2[None]) #c1=net.recall_conceptor(c1, x1); #c2=net.recall_conceptor(c2, x2); print "Autoconceptors are trained" measure_washout = 50 measure_rl = 500 x = x2 x_before = x y1 = np.zeros((measure_rl, 1))
# Prepare testing data p1=np.asarray(xrange(2000)); p1=np.sin(2*np.pi*p1/np.sqrt(75)); p2=np.asarray(xrange(2000)); #p2=0.5*np.sin(2*np.pi*p2/np.sqrt(20))+np.sin(2*np.pi*p2/np.sqrt(40)); p2=np.sin(2*np.pi*p2/np.sqrt(40)); ps=np.vstack((p1[None], p2[None])); p=[]; #p.append(ps); p.append(p1[None]); p.append(p2[None]); net.load(p, load_mode="complete"); print util.nrmse(net.all_train_dt_args, net.D.dot(net.all_train_old_args)) c1, x1=net.cue_conceptor(p1[None]); c2, x2=net.cue_conceptor(p2[None]); #c1=net.recall_conceptor(c1, x1); #c2=net.recall_conceptor(c2, x2); print "Autoconceptors are trained" measure_washout=50; measure_rl=500; x=x2; x_before=x; y1=np.zeros((measure_rl,1));