Epoch 19 batch 2: loss = 37402.234375
batch_x: Tensor(shape=[8, 9, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[[0.42913872, 0.42569342],
[0.40132850, 0.40060654],
[0.38580701, 0.38591677],
[0.40973142, 0.41231811],
[0.40205055, 0.39717406],
[0.38733649, 0.37787861],
[0.41278401, 0.40193462],
[0.40123636, 0.39912757],
[0.41206360, 0.39366233]],
[[0.37497666, 0.37625539],
[0.37711394, 0.37599814],
[0.38580701, 0.38591677],
[0.35853103, 0.35580856],
[0.37616962, 0.37004563],
[0.38733649, 0.37787861],
[0.35832843, 0.35557517],
[0.38709959, 0.37407711],
[0.41206360, 0.39366233]],
[[0.35078984, 0.35171583],
[0.37711394, 0.37599814],
[0.33498654, 0.32900515],
[0.33181334, 0.32810739],
[0.37616962, 0.37004563],
[0.33285928, 0.33187506],
[0.34383085, 0.32974616],
[0.38709959, 0.37407711],
[0.36015654, 0.34710327]],
[[0.35078984, 0.35171583],
[0.32743859, 0.32054922],
[0.30846709, 0.30110690],
[0.33181334, 0.32810739],
[0.32326299, 0.32499567],
[0.31835595, 0.30624431],
[0.34383085, 0.32974616],
[0.33492351, 0.32755485],
[0.33616599, 0.31574053]],
[[0.30117136, 0.29642209],
[0.30151668, 0.29336798],
[0.30846709, 0.30110690],
[0.27719617, 0.28210631],
[0.30917779, 0.29989621],
[0.31835595, 0.30624431],
[0.29032299, 0.28177798],
[0.31080863, 0.29621688],
[0.30864704, 0.29952756]],
[[0.27527916, 0.26931691],
[0.30151668, 0.29336798],
[0.25425524, 0.25477856],
[0.26265559, 0.25647697],
[0.30917779, 0.29989621],
[0.26482683, 0.25864434],
[0.26559258, 0.24946603],
[0.28314704, 0.28001672],
[0.28276804, 0.27169311]],
[[0.27527916, 0.26931691],
[0.24852632, 0.24823035],
[0.23982252, 0.22896685],
[0.26265559, 0.25647697],
[0.25719193, 0.25328296],
[0.24008662, 0.22658044],
[0.23722497, 0.23276240],
[0.25713393, 0.25220427],
[0.28276804, 0.27169311]],
[[0.22234946, 0.22430559],
[0.23441881, 0.22308205],
[0.23982252, 0.22896685],
[0.20898896, 0.20887959],
[0.23316494, 0.22188368],
[0.21170773, 0.21000503],
[0.21054788, 0.20408554],
[0.25713393, 0.25220427],
[0.22929557, 0.22054924]]])
y_pred: Tensor(shape=[8, 2], dtype=float32, place=Place(cpu), stop_gradient=False,
[[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312],
[2281.83837891, 1243.50195312]]) batch_y: Tensor(shape=[8, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[2515.36352539, 1130.15222168],
[2514.34350586, 1129.29687500],
[2513.87207031, 1128.72070312],
[2513.33129883, 1128.42285156],
[2512.82275391, 1127.91149902],
[2512.82275391, 1127.91149902],
[2511.77197266, 1126.97192383],
[2511.27905273, 1126.49328613]])
batch_size为8,输出的预测结果y_pred每个都是一样的
这个是我的网络代码
class Net(paddle.nn.Layer):
def __init__(self,input_size,hidden_size,num_layers):
super().__init__()
self.input_size = input_size
self.hidden_size = hidden_size
self.num_layers = num_layers
self.lstm=paddle.nn.LSTM(input_size=input_size,hidden_size=hidden_size,num_layers=num_layers)
self.fc = paddle.nn.Linear(in_features=hidden_size, out_features=2)
def forward(self,x):
x, (h, c) = self.lstm(x)
x = x[:,-1,:] # 最后一个LSTM只要窗口中最后一个特征的输出
x = self.fc(x)
return x
看不懂
可以参考下这个项目 https://aistudio.baidu.com/aistudio/projectdetail/5162692?contributionType=1
这个项目是PaddleTS版本的,
基于PaddleTS的LSTNet时序预测模型实现中国人口预测:https://aistudio.baidu.com/aistudio/projectdetail/5149510?contributionType=1