Lstm Sin 函数推测模拟
[!info] 说明Sin 函数的推测,用前面 3 个连续 sin 函数的结果推测第 4 个的值。例如:已知y1 ,y2 ,y3 推测 y4 。输入 input_x 为(length,batch,size)长度、batch 数量【批次训练数】、维度。下面代码暂时未用到 batch。
代码如下:
# 测试用lstm拟合sin函数
import numpy as np
import torch
import matplotlib.pyplot as plt
from torch.autograd import Variable
# 构建输入
x = np.arange(0,12,0.1,dtype=np.float32)
y = np.sin(x)
# 下面方法用来生成输入的数据集x和y,输入是sin(x)的序列,x为(长度、1、3)长度、batch、维度的一个三维的输入数据,y是对应的后面一个sin(x)的值
def generateData(dataset,timeStep=3):
dataX,dataY=[],[]
for i in range(len(dataset)-timeStep):
a &