Skip to content

PlasmaControl/bes-ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BES ML

ML models for DIII-D BES data

To use this repo, clone it and add the repo directory to $PYTHONPATH. To contribute to this repo, branch off of main, push the feature branch to Github, and submit PRs. Prior to submitting PRs, pull and merge any updates from main and run pytest.

bes_ml/ contains modules and classes to create, train, and analyze BES ML models. bes_ml.base contains the base classes, and other modules under bes_ml contain specific applications that import bes_ml.base. Each application directory should contain train.py and analyze.py modules. Example usage:

from elm_regression import Trainer, Analyzer

model = Trainer()
model.train()

model_analyzer = Analyzer()
model_analyzer.plot_training()
model_analyzer.run_inference()
model_analyzer.plot_inference()
model_analyzer.show()

The primary code objects are:

  • Base class _Trainer in bes_ml.base.train_base and application-specific subclasses like ELM_Classification_Trainer in bes_ml.elm_classification.train.
  • Similarly, base class _Analyzer in bes_ml.base.analyze_base and applicaiton-specific subclasses like ELM_Regression_Analyzer in bes_ml.elm_classification.analyze
  • Model class Multi_Features_Model in bes_ml.base.models. Multi_Features_Model is composed of different types of features such as CNN features, dense features, FFT features, etc. All feature are a subclass of _Base_Features in bes_ml.base.models.

bes_data/ contains small sample datasets (~10 MB HDF5 files) to assist with code development and tools to package BES data on the GA cluster. test/ contains pytest tests.

Additional examples can be inferred from the test scripts and from if __name__ == ... blocks in modules.

About

BES ML data tools and models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published