Expected input batch_size to match target batch_size for Linear Layer after RNN

I am getting an error when trying to evaluate a model with Cross Entropy Loss after calling the forward function of my model which is a simple RNN with a linear layer afterwards.

This is my model. As you will see, input size, hidden size and output size are all 1, while only the sequence length is 80. The sequences are just 80 floating point numbers, and the label is one floating point value (the next value for the whole sequence that I am trying to learn).

class RNN(nn.Module):
    def __init__(self, input_size, hidden_size, output_size, seq_length):
        super(RNN, self).__init__()
        self.hidden_size = hidden_size
        self.input_size = input_size
        self.seq_length = seq_length
        self.num_layers = 1
        self.batch_size = 1  

        self.rnn = nn.RNN(input_size, hidden_size)
        self.linear = nn.Linear(hidden_size, output_size)
        
        self.hidden_state = self._init_hidden()
    
    def forward(self, input_seq):
        input_seq = input_seq.reshape(self.seq_length, self.batch_size, self.input_size)
        out, self.hidden_state = self.rnn(input_seq, self.hidden_state)
        print(out.shape)
        out = self.linear(out)
        return out
    
    def _init_hidden(self):
        hidden = torch.zeros(1, self.batch_size, self.hidden_size)
        return hidden

rnn_model = RNN(input_size=1, hidden_size=1, output_size=1, seq_length=80)
loss_function = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(rnn_model.parameters(), lr=lr)
for i in range(epochs):
    for seq, label in train_sequences:
        optimizer.zero_grad()
        output = rnn_model(seq)
        loss = loss_function(output, label) # <-- ERROR
        loss.backward() 
        optimizer.step() 

The error message that I get is: Expected input batch_size (80) to match target batch_size (1).