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)