[X,Y,num_classes,class_ids_reverse] = createTrain('shakespeare_input.txt',num_samples,len_samples) inputD = num_classes outputD = num_classes permutation = permute(num_samples) X = X[:,permutation] Y = Y[:,permutation] X_tr = X[:,:num_train] Y_tr = Y[:,:num_train] X_valid = X[:,num_train:] Y_valid = Y[:,num_train:] # Creating network layers layers = [OneHot(num_classes),LSTM(),LSTM(),LSTM(),softmax(num_classes)] trY = T.lmatrix() # Initializing network rnn = RNN(layers,softmax_loss,trY,1e-3) # Fitting model rnn.fitModel(X_tr,Y_tr,1,'checkpoints/',epochs,batch_size,learning_rate_decay,decay_after) # Printing a generated sentence out = rnn.predict_language_model(X_valid[:,:1],1000,OutputSampleFromDiscrete) # Print the sentence here text_produced = text_prediction(class_ids_reverse,out)
batch_size = num_train learning_rate_decay = 0.97 decay_after = 5 use_pretrained = False train_more = False global rnn if not use_pretrained: # Creating network layers layers = [TemporalInputFeatures(inputD),LSTM('tanh','sigmoid','orthogonal',4,512),softmax(num_classes)] trY = T.lmatrix() # Initializing network rnn = RNN(layers,softmax_loss,trY,1e-3) if not os.path.exists('{1}/{0}/'.format(index,path_to_checkpoints)): os.mkdir('{1}/{0}/'.format(index,path_to_checkpoints)) # Fitting model rnn.fitModel(X_tr,Y_tr,1,'{1}/{0}/'.format(index,path_to_checkpoints),epochs,batch_size,learning_rate_decay,decay_after) else: checkpoint = sys.argv[3] # Prediction rnn = load('{2}/{0}/checkpoint.{1}'.format(index,checkpoint,path_to_checkpoints)) if train_more: rnn.fitModel(X_tr,Y_tr,1,'{1}/{0}/'.format(index,path_to_checkpoints),epochs,batch_size,learning_rate_decay,decay_after) predictions = []