You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to add EnsembleClassifierDNN and EnsembleRegressorDNN model classes that wrap around their respective member model classes similar to the RandomForestRegressor and classifier in scikit-learn. Some constraints to consider for the model classes.
Base classes and sub classes: Some methods, like saving and loading models, may be identical or very similar across different ensemble types, so I would suggest putting those methods in an ensemble base class. That can be inherited by specific subclasses and modified if necessary.
Minimizing memory usage: One challenge with ensemble methods, especially for larger models, is their memory usage, especially on GPU. For keras 3, there doesn't appear to be a clear way to move model weights between cpu RAM and GPU VRAM, so the most straightforward way would be to iterate through each model and load/save the model and/or weights and run clear_session in between to prevent memory leaks.
Parallel/distributed training: Keras 3 does support data parallel and model parallel training with single models, so the easiest thing to do would be to use the existing framework to split the training across different GPUs.
Uncertainty calculations: The calc uncertainties should use the law of total variance to get the aleatoric and epistemic uncertainty estimates. We should also include helper methods for things like ensemble percentiles and covariances.
I am going to work on an initial class to see if I can get this all to work.
The text was updated successfully, but these errors were encountered:
I would like to add EnsembleClassifierDNN and EnsembleRegressorDNN model classes that wrap around their respective member model classes similar to the RandomForestRegressor and classifier in scikit-learn. Some constraints to consider for the model classes.
I am going to work on an initial class to see if I can get this all to work.
The text was updated successfully, but these errors were encountered: