def makernnset(steps): train=loadgz('/Users/subercui/Git/BaikeBalance/RNN/dataset/trainset.pkl.gz') test=loadgz('/Users/subercui/Git/BaikeBalance/RNN/dataset/testset.pkl.gz') trainstarts=sigment(train,4) teststarts=sigment(test,1.5) rnntrain=makedata(train,trainstarts,steps) rnntest=makedata(test,teststarts,steps) return rnntrain,rnntest
#plt.plot(3.*sequence[:,1],label='lean angle rate') plt.plot(predictions,label='offline network out') plt.grid() plt.legend(loc='best', fancybox=True, framealpha=0.5) plt.xlabel('time(10ms)') plt.ylabel('Value') plt.show() print 'abs error',np.mean(np.abs(predictions-targets)) def convert_norm(X): return X*np.array([[7.7,10.0,1,0.03,0.5]])+np.array([[0.,0.,1.9,0.,2.]]) if __name__=='__main__': parent_path = os.path.split(os.path.realpath(__file__))[0] trainset=loadgz(parent_path+'/dataset/trainset.pkl.gz') testset=loadgz(parent_path+'/dataset/testset.pkl.gz') trainset=add_simu_data(trainset,trainset.shape[0]/6) testset=add_simu_data(testset,testset.shape[0]/6) X_train, y_train, X_valid, y_valid = build_mlp_dataset(data=trainset,test=testset) MLPmodel=build_mlp(X_train.shape[-1] ,y_train.shape[-1], 100,20) #是否加载pretrain model #MLPmodel.load_weights(parent_path+'/MLP_weightsBest.hdf5') #print X_train[:1024],y_train[:1024],X_valid[:1024],y_valid[:1024] #print X_train[:1024].mean(axis=0) train(X_train, y_train, X_valid, y_valid, MLPmodel, batch_size=128) #下面这个函数里可以选择可视化哪个数据文件 visual_test(MLPmodel,sequence=testset) '''只是改变了训练数据的比例,就得到了一组更好的模型'''
plt.legend(loc='best', fancybox=True, framealpha=0.5) plt.xlabel('time(20ms)') plt.ylabel('steering angle (degree)') plt.show() print 'abs error',np.mean(np.abs(predictions-targets)) return predictions def convert_norm(X): return X*np.array([[7.7,10.0,1,0.03,0.5]])+np.array([[0.,0.,1.9,0.,2.]]) if __name__=='__main__': parent_path = os.path.split(os.path.realpath(__file__))[0] X_train, y_train, X_valid, y_valid = build_rnn_dataset(10) RNNmodel=build_rnn(X_train.shape[-1] ,y_train.shape[-1], 100,20) #是否加载pretrain model #preweights=load_weights(parent_path+'/MLP_weightsMultispeed151226.hdf5') #preweights.insert(1,np.zeros((100,100),dtype='float32'))#recurrent weight #RNNmodel.set_weights(preweights) RNNmodel.load_weights(parent_path+'/RNN_weights10REGU1.0.hdf5') #train(X_train, y_train, X_valid, y_valid, RNNmodel, batch_size=128) #下面这个函数里可以选择可视化哪个数据文件 testseq=loadgz('/Users/subercui/Git/BaikeBalance/RNN/dataset/testset.pkl.gz') predictions=visual_test(RNNmodel,testseq[6000:8000]) #visual_test(RNNmodel,testseq) '''可以调steps,optimizer'''