Have you tried just converting the seq variable to a float in your training loop like this
    for seq, y_train in train_data:
        
        seq = seq.float()
        optimizer.zero_grad()
        model.hidden = (torch.zeros(1,1,model.hidden_size),
                        torch.zeros(1,1,model.hidden_size))

if that doesn’t work can you print out the type of seq and the hidden states.