From c8741dcd6df286911870d68193fe9c5f300df47e Mon Sep 17 00:00:00 2001 From: jung-geun Date: Sat, 21 Oct 2023 02:29:44 +0900 Subject: [PATCH] =?UTF-8?q?23-10-21=20version=201.0.2=20back=20propagation?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95=20=EA=B0=80=EB=8A=A5=20=3D>=20=EC=B4=88?= =?UTF-8?q?=EA=B8=B0=EC=97=90=20=ED=95=9C=ED=95=B4=EC=84=9C=20=EC=97=AD?= =?UTF-8?q?=EC=A0=84=ED=8C=8C=201=ED=9A=8C=20=EC=8B=A4=ED=96=89=20?= =?UTF-8?q?=EA=B0=80=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fashion_mnist.py | 1 + mnist.py | 1 + pso/__init__.py | 2 +- pso/optimizer.py | 24 +++++++++++++----------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/fashion_mnist.py b/fashion_mnist.py index 1d3574b..7713da0 100644 --- a/fashion_mnist.py +++ b/fashion_mnist.py @@ -115,6 +115,7 @@ best_score = pso_mnist.fit( empirical_balance=False, dispersion=False, batch_size=5000, + back_propagation=True, ) print("Done!") diff --git a/mnist.py b/mnist.py index 97ef676..bf044be 100644 --- a/mnist.py +++ b/mnist.py @@ -117,6 +117,7 @@ best_score = pso_mnist.fit( empirical_balance=False, dispersion=False, batch_size=5000, + back_propagation=True, ) print("Done!") diff --git a/pso/__init__.py b/pso/__init__.py index c72634b..2b83435 100644 --- a/pso/__init__.py +++ b/pso/__init__.py @@ -1,7 +1,7 @@ from .optimizer import Optimizer as optimizer from .particle import Particle as particle -__version__ = "1.0.1" +__version__ = "1.0.2" __all__ = [ "optimizer", diff --git a/pso/optimizer.py b/pso/optimizer.py index a0590bc..ddd3bd5 100644 --- a/pso/optimizer.py +++ b/pso/optimizer.py @@ -328,6 +328,7 @@ class Optimizer: check_point: int = None, batch_size: int = None, validate_data: any = None, + back_propagation: bool = False, ): """ # Args: @@ -393,20 +394,21 @@ class Optimizer: except ValueError as ve: sys.exit(ve) - model_ = keras.models.model_from_json(self.model.to_json()) - model_.compile( - loss=self.loss, - optimizer="adam", - metrics=["accuracy", "mse"] - ) - model_.fit(x, y, epochs=1, verbose=0) - score = model_.evaluate(x, y, verbose=1) + if back_propagation: + model_ = keras.models.model_from_json(self.model.to_json()) + model_.compile( + loss=self.loss, + optimizer="adam", + metrics=["accuracy", "mse"] + ) + model_.fit(x, y, epochs=1, verbose=0) + score = model_.evaluate(x, y, verbose=1) - self.g_best_score = score + self.g_best_score = score - self.g_best = model_.get_weights() + self.g_best = model_.get_weights() - del model_ + del model_ dataset = self._batch_generator_(x, y, batch_size=batch_size)