aboutsummaryrefslogtreecommitdiff
path: root/code/sunlab/common/scaler/adversarial_scaler.py
diff options
context:
space:
mode:
Diffstat (limited to 'code/sunlab/common/scaler/adversarial_scaler.py')
-rw-r--r--code/sunlab/common/scaler/adversarial_scaler.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/code/sunlab/common/scaler/adversarial_scaler.py b/code/sunlab/common/scaler/adversarial_scaler.py
new file mode 100644
index 0000000..7f61725
--- /dev/null
+++ b/code/sunlab/common/scaler/adversarial_scaler.py
@@ -0,0 +1,44 @@
+class AdversarialScaler:
+ """# Scaler Class to use in Adversarial Autoencoder
+
+ For any scaler to be implemented, make sure to ensure each of the methods
+ are implemented:
+ - __init__ (optional)
+ - init
+ - load
+ - save
+ - __call__"""
+
+ def __init__(self, base_directory):
+ """# Scaler initialization
+
+ - Initialize the base directory of the model where it will live"""
+ self.base_directory = base_directory
+
+ def init(self, data):
+ """# Scaler initialization
+
+ Initialize the scaler transformation with the data
+ Should always return self in subclasses"""
+ raise NotImplementedError("Scaler initialization has not been implemented yet")
+
+ def load(self):
+ """# Scaler loading
+
+ Load the data scaler model from a file
+ Should always return self in subclasses"""
+ raise NotImplementedError("Scaler loading has not been implemented yet")
+
+ def save(self):
+ """# Scaler saving
+
+ Save the data scaler model"""
+ raise NotImplementedError("Scaler saving has not been implemented yet")
+
+ def transform(self, *args, **kwargs):
+ """# Scale the given data"""
+ return self.__call__(*args, **kwargs)
+
+ def __call__(self, *args, **kwargs):
+ """# Scale the given data"""
+ raise NotImplementedError("Scaler has not been implemented yet")