0.2 June Release
June 2020 release
Our goal was to add user-facing features in this release, while continuing to harden the correctness of the codebase from the previous release. Developers can now train all models on multiple GPUs and can participate in Bring Your Own Data (BYOD) experience, where any 3D seismic dataset can be loaded with very little effort using a sample script, which demos Penobscot dataset BYOD procedure. This added functionality also means that all new datasets such as Penobscot gain multi-GPU training, which can also be run inside a Docker container. Enhancements such as extra TensorBoard logging metrics also carry over to this release as we have achieved 100% code reusability in the repository across all dataset, model, and training configurations. We drastically reduced the runtime of Pull Request builds by using a synthetic checkerboard testing dataset with stringent unit tests. Quality of training data has also been improved through more thorough sampling of bottom seismic layers. Default model used as SOTA in the repository has been switched from HRNet to SEResNet Unet architecture.
This release also incorporated contributions from the CSE team, which include:
- SEGY to numpy converter utility and sample notebooks, which demonstrate how to work with rectangular boundary SEGY datasets; once converted to numpy, these datasets gain the plug-n-play functionality in the bring-your-own-data (BYOD) experience outlined above (unit tests are included)
- Enhanced ability to perform data ablation studies in the data preprocessing scripts on all datasets - specifically one can specify how many inline and/or crossline slices to remove during training and measure model performance as a function of data sparsity at cross-section level (unit tests are included)
New Features:
- Multi-GPU training both inside and outside of Docker #359 #378 #320
- BYOD with Penobscot example #351 #321
Enhancements:
- Docker image building test #358
- Data loader API enhancement to pass config parameters object to lower-level loaders #352
- Change default model to SEResNet UNet #350
- Merge contributions from CSE team #349
- Enhanced training data quality through more efficient sampling, and depth-wise padding #259
- Documentation enhancements #384 #383 #381 #354