This PR implements new leaderboard submissions scripts as detailed in Issue #84. It implements new models for the leaderboard on PyTorch 1.7. It also includes numerous bug fixes.
A list of updates:
Renamed experimental to fastmri_examples.
Fixes for worker seeding in data_module.py.
Removed hyphens from submission filenames.
Fixed a bug in VolumeSampler that could cause training jobs to stall on startup. Previously NumPy was used to divide volumes between ranks, which performed weirdly (possibly due to how the fork is done?). Now VolumeSampler only uses the standard library, which seems to be more stable.
Fixed a bug in the test data transforms for both demo scripts and the new leaderboard submissions scripts.
Fixed type annotations in data transforms.
Converted pad inputs to a list since the online PyTorch docs lie about what type that function expects.
Added data set cache creation to prepare_data so that it doesn't happen simultaneously on multiple ranks in ddp mode.
Added a combine_train_val flag to the data module to allow combining train and val for leaderboard submissions.
Renamed val_loss log to validation_loss. Using val_loss causes the PyTorch Lightning ModelCheckpoint to overwrite the user settings in the interest of backwards compatibility.
This PR replaces PR #101.
This PR implements new leaderboard submissions scripts as detailed in Issue #84. It implements new models for the leaderboard on PyTorch 1.7. It also includes numerous bug fixes.
A list of updates:
experimental
tofastmri_examples
.data_module.py
.VolumeSampler
that could cause training jobs to stall on startup. Previously NumPy was used to divide volumes between ranks, which performed weirdly (possibly due to how the fork is done?). NowVolumeSampler
only uses the standard library, which seems to be more stable.prepare_data
so that it doesn't happen simultaneously on multiple ranks inddp
mode.combine_train_val
flag to the data module to allow combiningtrain
andval
for leaderboard submissions.val_loss
log tovalidation_loss
. Usingval_loss
causes the PyTorch LightningModelCheckpoint
to overwrite the user settings in the interest of backwards compatibility.