Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import torch.nn as nn
- import torch.nn.functional as F
- class Model(nn.Module):
- def __init__(self):
- super(Model, self).__init__()
- self.rnn = nn.LSTM(input_size=1,hidden_size=50,num_layers=3,batch_first=True,dropout=0.2)
- self.out = nn.Linear(50, 1)
- def forward(self, x):
- r_out, (h_n, h_c) = self.rnn(x, None)
- x = r_out[:,-1,:] #last hidden output!
- x = self.out(x)
- return x
- model = Model()
- if cuda:
- model.cuda()
- mse = mean_squared_error(dataset['y'].iloc[60:].values,predicted)
- print("RMSE:", np.sqrt(mse))
- RMSE: 0.10680269716212222
- #array --> List
- today = total_x[-1].reshape(-1).tolist()
- # scaling last price
- last_price = scaler.transform(infered['y_pred'][-1].reshape(-1, 1))
- # adding last price to list.
- today.append(last_price[0])
- # Exclude first(0th index) element
- today = today[1:]
- #reshape
- today = np.array(today).reshape(-1,60,1)
- today = torch.Tensor(list(today))
- #predict!
- tomorrow = predict_with_pytorch(model, today)
- #inverse transform.
- tomorrow = scaler.inverse_transform(tomorrow)[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement