Skip to content

Conversation

@abhinavnayak11
Copy link
Contributor

@abhinavnayak11 abhinavnayak11 commented Jul 3, 2021

Using len(train_loader.dataset) and len(valid_loader.dataset) will result in wrong values as they return size of 'train_data' (i.e 60000 images). This is the reason for such difference in train_loss and valid_loss.
'train_loader' actually has size of 0.8*train_data (i.e 48000 images) and valid_loader actually has size of 0.2*train_data (i.e 12000 images).
Hence calculate avg batch loss in each batch and divide by total batches. This works because all the batches in both the Dataloaders are of size 20(reason: 48000%20=0 and 12000%20=0)

Using len(train_loader.dataset) and len(valid_loader.dataset) will result in wrong values as they return size of 'train_data' (i.e 60000 images). This is the reason for such difference in train_loss and valid_loss.
'train_loader' actually has size of 0.8*train_data (i.e 48000 images) and valid_loader actually has size of 0.2*train_data (i.e 12000 images). 
Hence calculate avg batch loss in each batch and divide by total batches. This works because all the batches in both the dataloaders are of 20(reason: 48000%20=0 and 12000%20=0)
@abhiojha8 abhiojha8 self-assigned this Jul 5, 2021
@abhiojha8 abhiojha8 merged commit b82f182 into udacity:master Jul 5, 2021
@abhiojha8 abhiojha8 added the bug Something isn't working label Jul 5, 2021
mxagar pushed a commit to mxagar/deep-learning-v2-pytorch that referenced this pull request Jul 1, 2022
Updated calculation of train_loss and valid_loss
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants