aboutsummaryrefslogtreecommitdiff
path: root/code/sunlab/common/distribution/adversarial_distribution.py
diff options
context:
space:
mode:
authorChristian C <cc@localhost>2024-11-11 12:29:32 -0800
committerChristian C <cc@localhost>2024-11-11 12:29:32 -0800
commitb85ee9d64a536937912544c7bbd5b98b635b7e8d (patch)
treecef7bc17d7b29f40fc6b1867d0ce0a742d5583d0 /code/sunlab/common/distribution/adversarial_distribution.py
Initial commit
Diffstat (limited to 'code/sunlab/common/distribution/adversarial_distribution.py')
-rw-r--r--code/sunlab/common/distribution/adversarial_distribution.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/code/sunlab/common/distribution/adversarial_distribution.py b/code/sunlab/common/distribution/adversarial_distribution.py
new file mode 100644
index 0000000..675c00e
--- /dev/null
+++ b/code/sunlab/common/distribution/adversarial_distribution.py
@@ -0,0 +1,35 @@
+class AdversarialDistribution:
+ """# Distribution Class to use in Adversarial Autoencoder
+
+ For any distribution to be implemented, make sure to ensure each of the
+ methods are implemented"""
+
+ def __init__(self, N):
+ """# Initialize the distribution for N-dimensions"""
+ self.dims = N
+ return
+
+ def get_full_name(self):
+ """# Return a human-readable name of the distribution"""
+ return self.full_name
+
+ def get_name(self):
+ """# Return a shortened name of the distribution
+
+ Preferrably, the name should include characters that can be included in
+ a file name"""
+ return self.name
+
+ def __str__(self):
+ """# Returns the short name"""
+ return self.get_name()
+
+ def __repr__(self):
+ """# Returns the short name"""
+ return self.get_name()
+
+ def __call__(self, *args):
+ """# Magic method when calling the distribution
+
+ This method is going to be called when you use `dist(...)`"""
+ raise NotImplementedError("This distribution has not been implemented yet")