code:
    for i, data in enumerate(trainloader, 0):
        # get the inputs
        inputs, labels = data
        inputs, labels = Variable(inputs), Variable(labels)
        # zero the parameter gradients
        optimizer.zero_grad()
        # forward + backward + optimize
        outputs = net(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        # print statistics
        running_loss += loss.data[0]
        if i % 2000 == 1999:    # print every 2000 mini-batches
            print(f'monitoring during training: eptoch={epoch+1}, batch_index={i+1}, loss={running_loss/2000}')
            running_loss = 0.0

but I don’t understand why its dividing by 2000.
What does loss.data output?