/deep-learning-em-ducting

Deep learning model for classifying and characterizing atmospheric ducting within the maritime setting

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

deep-learning-em-ducting

Code and results in this repository accompany the manuscript: Deep Learning for Classifying and Characterizing Atmospheric Ducting Within the Maritime Setting. Hilarie Sit and Christopher J. Earls.

Dataset files (csv) can be found here.
Alternatively, preprocessed dataset files (npy) can be downloaded here.

Background

We built a two-step deep learning model to differentiate and classify evaporation ducts and surface-based ducts from sparsely sampled EM propagation data. Hyperparameters of the deep neural networks are optimized via random search on a 12-core Intel Xeon E5 microprocessor with clock speed of 2.7 GHz. Performance of individual models as well as an ensemble model is evaluated on no-noise and severely colored noise-contaminated test sets.

Requirements

Python = 3.7
Tensorflow = 1.13.1
Keras = 2.3.1
Numpy
Pandas

Requirements.txt is provided for recreating virtual environment

Run hyperparameter search

Hyperparameter optimization via random search can be performed by running hypersearch.py and specifying the task:

python hypersearch.py --task class

Results from the hyperparameter search are located in the 'results' folder. Models used during evaluation are located in the 'models' folder along with their training history.

Run model evaluation

Model evaluation can be performed by running evaluation.py (specify if ensemble):

python evaluation.py --ensemble

Results from evaluation are located in 'results' folder.