SIGHUP is not necessarily raised, if a terminal is closed, and yesterday I’ve ran into it while debugging a faulty CUDA kernel.
Were you able to train for a whole epoch or are the mentioned 3.5k iterations still in the first epoch?
In the latter case, I would recommend to use num_workers=0 and rerun the code, which might yield a better error message in case the DataLoader isn’t able to load a sample.
You could also just try to iterate the DataLoader (with num_workers=0) standalone without training the model and make sure that all samples can be properly loaded.