iter = 0 # for _ in xrange(100): while True: for x_str, target_str in sliding_window(data, seq_length): # print(x_str, target_str) inputs = [char_to_ix[ch] for ch in x_str] targets = [char_to_ix[ch] for ch in target_str] inputs_one_hot = [one_hots[x] for x in inputs] targets_one_hot = [one_hots[t] for t in targets] window = zip(inputs_one_hot, targets_one_hot) # mean_loss = rnn.learn_window(window, loss, optimizer) ys, dJdys, mean_loss = rnn.forward_window(window, loss) rnn.backward_window(dJdys) if iter % 100 == 0: append_plot_magnitudes(rnn, mean_loss) rnn.clip() rnn.update_weights(optimizer) if iter % 100 == 0: sample_and_print(rnn, inputs[0], mean_loss) show_plots() plt.pause(0.05) iter += 1 rnn.reset_memory()