import torch from torch import nn import numpy as np import matplotlib.pyplot as plt # 超参数 # Hyper Parameters TIME_STEP = 10 # rnn time step INPUT_SIZE = 1 # rnn input size LR = 0.02 # learning rate # 生成数据 # show data steps = np.linspace(0, np.pi * 2, 100, dtype=np.float32) # float32 for converting torch FloatTensor x_np = np.sin(steps) # 输入 y_np = np.cos(steps) # 目标 plt.plot(steps, y_np, 'r-', label='target (cos)') plt.plot(steps, x_np, 'b-', label='input (sin)') plt.legend(loc='best') plt.show() # 定义神经网络 # 对每一个 r_out 都得放到 Linear 中去计算出预测的 output, 所以能用一个 for loop 来循环计算. class RNN(nn.Module):