Right. So improving the loading speed of a single example correlates to speeding up the whole batch speed and subsequently training? I tried that ImageNet example, but I am confused between data time and batch time. So according to example:

ts = time.time()
for iter, batch in enumerate(train_loader):
data_time.update(time.time() - ts)
…
…
outputs = fcn_model(inputs)
labels = labels.type_as(outputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
batch_time.update(time.time() - ts)

So data time is the time taken by dataloader to load a batch? and batch time is time taken by model to process a batch? I think I can only improve the efficiency of data loading, not batch processing (batch time) because that depends on model, right?