示例#1
0
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()