I have time series data with data(num_of_samples, sample_length)
num_of_samples=2000
samle_length =600
I have implemented my lstm model :
class Recurrent_Layer(nn.Module):
def init(self, num_classes, hidden_size):
super(Recurrent_Layer, self).init()
    self.lstm=nn.LSTM( hidden_size, hidden_size) 
    self.fc=nn.Linear( hidden_size, num_classes)
    
def forward(self, x, h_init,c_init):
    out, (h_final, c_final) =self.lstm(x, (h_init,c_init))
    score_seq      =self.fc(out[-1])
    return score_seq,  h_final , c_final

my problem that I need to know how to organise dimension of input such that I have 20 samples every time # with each sample with length 600 , in other words, I need to enroll the lstm 20 times each with 600 points.
trainnig
for i in range(0,2000-seq_length,seq_length):

    h = torch.zeros(1,1,  hidden_size)
    c = torch.zeros(1,1,  hidden_size)
    h=h.to(device)
    c=c.to(device)

    lstm_optimizer.zero_grad()

    input_sequence  =  source_data[i:i+seq_length]
    input_labels =  source_labels[i:i+seq_length]
 
    input_labels=input_sequence.to(device)
    input_labels=input_labels.to(device)

    h=h.detach()
    c=c.detach()
    h=h.requires_grad_()
    c=c.requires_grad_()

    scores_char, h, c = lstm_net(input_sequence.view(seq_length,1), h, c)


#error
RuntimeError: invalid argument 2: size ‘[20 x 1]’ is invalid for input with 12000 elements at …\aten\src\TH\THStorage.cpp:84
#I need to understand how can I arrange my data so that I achieve this task ?