From 71cc5308f88962f5040a8a665338d41ccf7d8eac Mon Sep 17 00:00:00 2001 From: jung-geun Date: Tue, 12 Mar 2024 21:13:51 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9E=9C=EB=8D=A4=20=EC=8B=9C=EB=93=9C?= =?UTF-8?q?=EB=A5=BC=2042=EB=A1=9C=20=EC=84=A4=EC=A0=95=ED=95=98=EC=97=AC?= =?UTF-8?q?=20=EB=82=9C=EC=88=98=20=EC=83=9D=EC=84=B1=EC=9D=84=20=EC=9D=BC?= =?UTF-8?q?=EA=B4=80=EC=84=B1=20=EC=9E=88=EA=B2=8C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- pso/optimizer.py | 2 +- pso/particle.py | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 67e1e30..89c6793 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ [![Python Package Index publish](https://github.com/jung-geun/PSO/actions/workflows/pypi.yml/badge.svg?event=push)](https://github.com/jung-geun/PSO/actions/workflows/pypi.yml) [![PyPI - Version](https://img.shields.io/pypi/v/pso2keras)](https://pypi.org/project/pso2keras/) -[![Quality Gate Status](https://sonar.pieroot.xyz/api/project_badges/measure?project=pieroot_pso_6a2f36a9-2688-4900-a4a5-5be85f36f75a&metric=alert_status&token=sqb_5fa45d924cd1c13f71a23a9283fba9460dc63eb6)](https://sonar.pieroot.xyz/dashboard?id=pieroot_pso_6a2f36a9-2688-4900-a4a5-5be85f36f75a) -[![Duplicated Lines (%)](https://sonar.pieroot.xyz/api/project_badges/measure?project=pieroot_pso_6a2f36a9-2688-4900-a4a5-5be85f36f75a&metric=duplicated_lines_density&token=sqb_5fa45d924cd1c13f71a23a9283fba9460dc63eb6)](https://sonar.pieroot.xyz/dashboard?id=pieroot_pso_6a2f36a9-2688-4900-a4a5-5be85f36f75a) -[![Security Rating](https://sonar.pieroot.xyz/api/project_badges/measure?project=pieroot_pso_6a2f36a9-2688-4900-a4a5-5be85f36f75a&metric=security_rating&token=sqb_5fa45d924cd1c13f71a23a9283fba9460dc63eb6)](https://sonar.pieroot.xyz/dashboard?id=pieroot_pso_6a2f36a9-2688-4900-a4a5-5be85f36f75a) +[![Quality Gate Status](https://sonar.pieroot.xyz/api/project_badges/measure?project=pieroot_pso_AY4yioUduAwlZ9Y7RLBU&metric=alert_status&token=sqb_48381b203cab5da421d40ebf2f09903ef90e6004)](https://sonar.pieroot.xyz/dashboard?id=pieroot_pso_AY4yioUduAwlZ9Y7RLBU) +[![Duplicated Lines (%)](https://sonar.pieroot.xyz/api/project_badges/measure?project=pieroot_pso_AY4yioUduAwlZ9Y7RLBU&metric=duplicated_lines_density&token=sqb_48381b203cab5da421d40ebf2f09903ef90e6004)](https://sonar.pieroot.xyz/dashboard?id=pieroot_pso_AY4yioUduAwlZ9Y7RLBU) +[![Security Rating](https://sonar.pieroot.xyz/api/project_badges/measure?project=pieroot_pso_AY4yioUduAwlZ9Y7RLBU&metric=security_rating&token=sqb_48381b203cab5da421d40ebf2f09903ef90e6004)](https://sonar.pieroot.xyz/dashboard?id=pieroot_pso_AY4yioUduAwlZ9Y7RLBU) # PSO diff --git a/pso/optimizer.py b/pso/optimizer.py index 8ec6f89..c65e719 100644 --- a/pso/optimizer.py +++ b/pso/optimizer.py @@ -530,7 +530,7 @@ class Optimizer: * (epoch % weight_reduction) / weight_reduction ) - rng = np.random.default_rng() + rng = np.random.default_rng(seed=42) for i in part_pbar: part_pbar.set_description( f"loss: {min_loss:.4f} acc: {max_acc:.4f} mse: {min_mse:.4f}" diff --git a/pso/particle.py b/pso/particle.py index afc4ece..475c50f 100644 --- a/pso/particle.py +++ b/pso/particle.py @@ -139,7 +139,16 @@ class Particle: def set_model(self, model: keras.Model): self.model = model - self.__reset_particle() + + def compile(self): + if self.model is None: + raise ValueError(self.MODEL_IS_NONE) + + self.model.compile( + optimizer="adam", + loss=self.loss, + metrics=["accuracy", "mse"], + ) def get_weights(self): if self.model is None: @@ -247,7 +256,7 @@ class Particle: encode_p, p_sh, p_len = self._encode(weights=self.best_weights) encode_g, g_sh, g_len = self._encode(weights=Particle.g_best_weights) - rng = np.random.default_rng() + rng = np.random.default_rng(seed=42) r_0 = rng.random() r_1 = rng.random() @@ -300,7 +309,7 @@ class Particle: encode_p, p_sh, p_len = self._encode(weights=self.best_weights) encode_g, g_sh, g_len = self._encode(weights=Particle.g_best_weights) - rng = np.random.default_rng() + rng = np.random.default_rng(seed=42) r_0 = rng.random() r_1 = rng.random()