significantly improved GB-RBM training

This commit is contained in:
2026-01-05 14:16:34 +01:00
parent 9f72c1f253
commit fdf4186d6b
3 changed files with 60 additions and 78 deletions
+7 -6
View File
@@ -11,11 +11,12 @@ class TestModel(Model):
if do_gaussian_hidden:
# Hidden gaussian
self.unit1 = Entity((96*96, 16), EntityParams(do_gaussian_visible=True, do_gaussian_hidden=True), TrainingParams(learning_rate=0.00001, momentum=0.9, num_epochs=1000, do_rao_blackwell=True))
self.unit1 = Entity((96*96, 16), EntityParams(do_gaussian_visible=True, do_gaussian_hidden=True),
TrainingParams(learning_rate=0.000001, momentum=0.9, num_epochs=1000))
else:
# Hidden binary
self.unit1 = Entity((96 * 96, 16), EntityParams(do_gaussian_visible=True, do_gaussian_hidden=False),
TrainingParams(learning_rate=0.000002, momentum=0.9, num_epochs=1000))
self.unit1 = Entity((96 * 96, 333), EntityParams(do_gaussian_visible=True, do_gaussian_hidden=False),
TrainingParams(learning_rate=0.0001, momentum=0.9, num_epochs=1000))
def forward(self, x: Mat):
x = self.unit1.forward(x)
@@ -34,10 +35,10 @@ if __name__ == "__main__":
model = TestModel(prj_name, "results")
# Init state
model.init(0.01)
model.init(0.1)
# load state
# model.load()
model.load()
# Load train data
train_batch = read_armadillo(os.path.join(prj_root, f"{prj_name}.training.dat"))
@@ -56,7 +57,7 @@ if __name__ == "__main__":
out_normalized = model.backward(model.forward(inp))
img = 2*(out_normalized + 0.5)
img = np.reshape(img, (96, 96))
axes[index].imshow(img)
axes[index].imshow(np.asnumpy(img))
axes[index].axis('off')
plt.show()