Conversation
…ssing by the `ColumnSelector` or `LowUniqueValueFilter` by adding a protected_features parameter to the fit method.
…rom fitting and do not clear session in FaultDetector.tune after loading the model.
…pipeline.py to prevent shadowing the module in the root __init__.py file. Also updates the CLI tests to patch the objects directly.
…tual class instead of name.
…, so we do not have any breaking changes. - Introduce a flag in the config `protect_conditional_features` to set to True if the user wants to protect these features. - Update the conditional feature list of the autoencoder if some of the conditions are missing.
edi-iee
reviewed
Jun 11, 2026
edi-iee
reviewed
Jun 11, 2026
edi-iee
reviewed
Jun 11, 2026
edi-iee
reviewed
Jun 11, 2026
edi-iee
reviewed
Jun 11, 2026
edi-iee
reviewed
Jun 11, 2026
edi-iee
approved these changes
Jun 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enable Python 3.12 support and TensorFlow 2.16–2.18 compatibility (for python 3.11 and python 3.12)
from tensorflow.keras...imports tofrom keras...imports for compatibility with both Keras 2.15 and Keras 3.xautoencoder.__call__: Convert all inputs totf.Tensorbefore passing to model (Keras 3 no longer allows mixed tensor/non-tensor inputs)energy_fault_detector.quick_fault_detection.quick_fault_detectortopipelineso we do not shadow the submodule name with the function name anymore. Also updated the tests so they run in python 3.10 as well.Prevent conditional features (for conditional autoencoder variants) from being dropped during preprocessing:
ColumnSelectororLowUniqueValueFilternow have aprotected_featuresargument in the fit method, so these components know which features should not be dropped. TheFaultDetectornow passes the conditonal features asprotected_featuresto theDataPreprocessor.DataPreprocessorraises an error if (one of) theprotected_featureswas dropped somehow.protect_conditional_featuresconfig option (undertrain, defaultFalsefor backward compatibility). When set toTrue, conditional features are protected from being dropped by the preprocessing pipeline.Handling of missing conditional features:
sensor_datawould cause the training to fail.FaultDetector.fit()now resolves conditional features against the available columns insensor_databefore training. Missing features are logged as warnings and excluded.ConditionalAEfalls back toMultilayerAutoencoder(with the same architecture params from config).conditional_features.protect_conditional_features=False, a post-preprocessing check detects conditionals dropped by the pipeline and triggers the same fallback logic.ValueError(since the trained model requires them).CI:
Bugfixes
clear_sessioncall inFaultDetector.tuneafter loading the model.