fix: use inverse func in p method in Label class

This commit is contained in:
Lenoctambule
2026-04-17 04:52:23 +02:00
parent 65c6d3bbee
commit 6eaaa43285

View File

@@ -103,7 +103,7 @@ class ClassicalAutoencoder(AAutoencoder):
self.losses = [self.loss(data_set)] self.losses = [self.loss(data_set)]
epoch = 0 epoch = 0
no_improv = 0 no_improv = 0
prev_error = self.losses[0] prev_error = self.losses[-1]
with tqdm(bar_format="{desc} {elapsed} {rate_fmt}") as lbar: with tqdm(bar_format="{desc} {elapsed} {rate_fmt}") as lbar:
while True: while True:
lbar.set_description( lbar.set_description(
@@ -198,7 +198,7 @@ class VariationalAutoencoder(AAutoencoder):
self.KL_losses = [kl_0] self.KL_losses = [kl_0]
epoch = 0 epoch = 0
no_improv = 0 no_improv = 0
prev_loss = self.recon_losses[0] + self.KL_losses[0] prev_loss = self.recon_losses[-1] + self.KL_losses[-1]
with tqdm(bar_format="{desc} {elapsed} {rate_fmt}") as lbar: with tqdm(bar_format="{desc} {elapsed} {rate_fmt}") as lbar:
while True: while True:
lbar.set_description( lbar.set_description(
@@ -265,9 +265,7 @@ class Label:
self.history[idx] = (self.history[idx] + code) / 2 self.history[idx] = (self.history[idx] + code) / 2
def p(self, x: np.ndarray): def p(self, x: np.ndarray):
return np.mean( return 1 / (1e-4 + np.mean(np.abs(self.history - x)))
np.exp(-np.abs(self.history - x))
)
class LabelingVAE(VariationalAutoencoder): class LabelingVAE(VariationalAutoencoder):