Optionally integrates this function into a cross-validation loop.
Training against a dirty image is run once at the start of cross-val, with the resulting state dictionary saved. The state dict is then loaded to update each new model at the start of the training loop for each k-fold.