Hello, I am new in pytorch and machine learning.

Training and validatin my dataset, I obtain loss between 4 and 3.5 per epoch.

I am using Cross Entropy Loss function.

I am calculating the mean of the epochs in the next way:

```
train.model()
for batch, (data, target) in enumerate(train_loader, 1):
optimizer.zero_grad()
if CUDA:
data = data.cuda()
target = target.cuda()
output = model(data)
target = torch.argmax(target,1)
loss = criterion(output, target)
loss.backward()
optimizer.step()
train_losses.append(loss.item())
pred = torch.max(output, 1)[1]
correct_train += pred.eq(target).sum()
model.eval()
for data, target in val_loader:
if CUDA:
data = data.cuda()
target = target.cuda()
output = model(data)
target = torch.argmax(target,1)
loss = criterion(output, target)
valid_losses.append(loss.item())
pred = torch.max(output, 1)[1]
correct_val += pred.eq(target).sum()
train_loss = np.average(train_losses)
valid_loss = np.average(valid_losses)
```

Most of examples I had seen have losses closely to 0.

I am not sure if I my model is working correctly.

Maybe I should do:

```
train_loss = train_losses/len(trainLoader.dataset)
valid_loss = valid_loss/len(valLoader.dataset)
```

I attach an image of a train with 1000 epochs but I stopped in 505 because it was improving very slow.

I think the difference with validation loss and training loss is because there is dropout in the training.