fixed contamination of function parameter

This commit is contained in:
2025-12-18 16:06:27 +01:00
parent 3b68b9ad79
commit 1b51861daf
2 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -2,10 +2,10 @@ import numpy as np
from collections.abc import Callable from collections.abc import Callable
from params import RbmParams from params import RbmParams
from matrix import sample, gaussian from matrix import prob, sample, gaussian
def cd_jens(v_states: np.ndarray, params: RbmParams, v_to_ph: Callable, h_to_pv: Callable): def cd_jens(v_states: np.ndarray, params: RbmParams, v_to_ph: Callable, h_to_pv: Callable):
v_probs = v_states v_probs = prob(v_states)
h_states = v_to_ph(v_states) h_states = v_to_ph(v_states)
h_probs = h_states h_probs = h_states
+8 -8
View File
@@ -76,18 +76,18 @@ class Entity:
def gibbs_v_to_h(self, v: np.ndarray) -> np.ndarray: def gibbs_v_to_h(self, v: np.ndarray) -> np.ndarray:
h = None h = self.v_to_ph(v)
for i in range(self.params.num_gibbs_samples): for i in range(self.params.num_gibbs_samples-1):
h = self.v_to_ph(v) h = self.h_to_pv(h)
v = self.h_to_pv(h) h = self.v_to_ph(h)
return h return h
def gibbs_h_to_v(self, h: np.ndarray) -> np.ndarray: def gibbs_h_to_v(self, h: np.ndarray) -> np.ndarray:
v = None v = self.h_to_pv(h)
for i in range(self.params.num_gibbs_samples): for i in range(self.params.num_gibbs_samples-1):
v = self.h_to_pv(h) v = self.v_to_ph(v)
h = self.v_to_ph(v) v = self.h_to_pv(v)
return v return v