注意看代码注释,自己可以跑一遍,结合代码注释会比较好,解析都在代码注释里面。
版本:Python3.7,torch1.3.1, cuda没有
1. 代码
import torch
from torch import nn
import numpy as np
import matplotlib.pyplot as plt
# 定义一些参数
TIME_STEP = 10
INPUT_SIZE = 1
LR = 0.02
# 展示数据
# steps = np.linspace(0,np.pi*2,100,dtype=np.float32)
# 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()
# 定义我们自己的网络
class RNN(nn.Module):
def __init__(self):
super(RNN, self).__init__()
self.rnn = nn.RNN(
input_size=INPUT_SIZE,
hidden_size=32,
num_layers=1,
batch_first=True
)
self.out = nn.Linear(32,1)
def forward(self,x