LSTM for Time series forecasting

Hi all. I have doubt in training an LSTM model for time series prediction. I have a dataset that looks like this:

Datetime AEP_MW
0 2004-12-31 01:00:00 13478.0
1 2004-12-31 02:00:00 12865.0
2 2004-12-31 03:00:00 12577.0
3 2004-12-31 04:00:00 12517.0
4 2004-12-31 05:00:00 12670.0

I create train and test sets based on the dates and scale the values using Sklearn.

train_set = df[df['Datetime'] < '2017-1-1 00:00:00']
test_set = df[df['Datetime'] >= '2017-1-1 00:00:00']

After that, I create a data structure for the LSTM. I want the model to look at the previous 60 time steps to predict the next 1 time step.

X_train = []
y_train = []

window_size = 60
num_features = 1

for i in range(window_size, len(train_set)):
    X_train.append(train_vals_scaled[i-window_size:i, 0])
    y_train .append(train_vals_scaled[i, 0])

X_train, y_train = np.array(X_train), np.array(y_train)

After this, I write a Data Loader class.

class trainData(Dataset):
    
    def __init__(self, X_data, y_data):
        self.X_data = X_data
        self.y_data = y_data
        
    def __getitem__(self, index):
        return self.X_data[index], self.y_data[index]
        
    def __len__ (self):
        return len(self.X_data)

    
class testData(Dataset):
    
    def __init__(self, X_data):
        self.X_data = X_data
        
    def __getitem__(self, index):
        return self.X_data[index]
        
    def __len__ (self):
        return len(self.X_data)

train_data = trainData(torch.FloatTensor(X_train), torch.FloatTensor(y_train))
test_data = testData(torch.FloatTensor(X_test))

I can’t seem to write code after this. I need help in writing the LSTM class along with training and prediction. The docs seem very confusing and I couldn’t find a good blogpost online which uses PyTorch for tabular time series forecasting.