Hi

I’m trying to train a character level RNN with a difference that each token(character) gets classified into one of m classes (multi class classification). My Input is of the shape (batch_size, seq_len, num_classes) because I’m using OHEncoding and output is of shape (batch_size, seq_len,num_classes) with softmax applied to dim 2. Here’s my model

```
class CharRNN(nn.Module):
def __init__(self, seq_len, input_size, hidden_size, output_size):
super(CharRNN, self).__init__()
self.rnn = nn.RNN(input_size, hidden_size, batch_first=True)
self.op = nn.Linear(hidden_size, output_size)
self.softmax = nn.LogSoftmax(dim=2)
def forward(self, x):
x, h = self.rnn(x)
return self.softmax(self.op(x))
```

but when I use `NLLLoss()`

as the criterion and `batch_size=32, seq_len=101, num_classes=32`

, I get the following error

```
ValueError: Expected target size (32, 32), got torch.Size([32, 101, 32])
```

Please help if my understanding is correct or am I making a logical mistake somewhere. Thanks.