If you use ZCA in DataLoader, it would be very slow. Instead, I wrote a ZCA Transformation here 112, and it is used per minibatch, which is faster. The usage of ZCA Transformation is as below.
for data, target in dataloader:
     zca_data = zca(data)