From 8ef24c13e0f6d7f98834c6c6485db4fffa7a5ac4 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 16:50:32 -0400 Subject: [PATCH] Update release 3.0.0 notes --- docs/source/Footer.rst | 70 ++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/docs/source/Footer.rst b/docs/source/Footer.rst index 6887cbe..6de145e 100644 --- a/docs/source/Footer.rst +++ b/docs/source/Footer.rst @@ -1198,84 +1198,74 @@ PyGAD 3.0.0 Release Date 8 April 2023 -1. The structure of the library is changed and some methods defined in - the ``pygad.py`` module are moved to the ``pygad.utils``, - ``pygad.helper``, and ``pygad.visualize`` submodules. +1. The structure of the library is changed and some methods defined in + the ``pygad.py`` module are moved to the ``pygad.utils``, + ``pygad.helper``, and ``pygad.visualize`` submodules. -2. The ``pygad.utils.parent_selection`` module has a class named - ``ParentSelection`` where all the parent selection operators exist. - The ``pygad.GA`` class extends this class. +2. The ``pygad.utils.parent_selection`` module has a class named + ``ParentSelection`` where all the parent selection operators exist. + The ``pygad.GA`` class extends this class. -3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` - where all the crossover operators exist. The ``pygad.GA`` class - extends this class. +3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` + where all the crossover operators exist. The ``pygad.GA`` class + extends this class. -4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` - where all the mutation operators exist. The ``pygad.GA`` class - extends this class. +4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` + where all the mutation operators exist. The ``pygad.GA`` class + extends this class. -5. The ``pygad.helper.unique`` module has a class named ``Unique`` some - helper methods exist to solve duplicate genes and make sure every - gene is unique. The ``pygad.GA`` class extends this class. +5. The ``pygad.helper.unique`` module has a class named ``Unique`` some + helper methods exist to solve duplicate genes and make sure every + gene is unique. The ``pygad.GA`` class extends this class. -6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where - all the methods that create plots exist. The ``pygad.GA`` class - extends this class. +6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where + all the methods that create plots exist. The ``pygad.GA`` class + extends this class. -.. code:: python - - ... - class GA(utils.parent_selection.ParentSelection, - utils.crossover.Crossover, - utils.mutation.Mutation, - helper.unique.Unique, - visualize.plot.Plot): - ... - -1. Support of using the ``logging`` module to log the outputs to both +7. Support of using the ``logging`` module to log the outputs to both the console and text file instead of using the ``print()`` function. This is by assigning the ``logging.Logger`` to the new ``logger`` parameter. Check the `Logging Outputs `__ for more information. -2. A new instance attribute called ``logger`` to save the logger. +8. A new instance attribute called ``logger`` to save the logger. -3. The function/method passed to the ``fitness_func`` parameter accepts +9. The function/method passed to the ``fitness_func`` parameter accepts a new parameter that refers to the instance of the ``pygad.GA`` class. Check this for an example: `Use Functions and Methods to Build Fitness Function and Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163 -4. Update the documentation to include an example of using functions +10. Update the documentation to include an example of using functions and methods to calculate the fitness and build callbacks. Check this for more details: `Use Functions and Methods to Build Fitness Function and Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003 -5. Validate the value passed to the ``initial_population`` parameter. +11. Validate the value passed to the ``initial_population`` parameter. -6. Validate the type and length of the ``pop_fitness`` parameter of the +12. Validate the type and length of the ``pop_fitness`` parameter of the ``best_solution()`` method. -7. Some edits in the documentation. +13. Some edits in the documentation. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/106 -8. Fix an issue when building the initial population as (some) genes +14. Fix an issue when building the initial population as (some) genes have their value taken from the mutation range (defined by the parameters ``random_mutation_min_val`` and ``random_mutation_max_val``) instead of using the parameters ``init_range_low`` and ``init_range_high``. -9. The ``summary()`` method returns the summary as a single-line +15. The ``summary()`` method returns the summary as a single-line string. Just log/print the returned string it to see it properly. -10. The ``callback_generation`` parameter is removed. Use the +16. The ``callback_generation`` parameter is removed. Use the ``on_generation`` parameter instead. -11. There was an issue when using the ``parallel_processing`` parameter +17. There was an issue when using the ``parallel_processing`` parameter with Keras and PyTorch. As Keras/PyTorch are not thread-safe, the ``predict()`` method gives incorrect and weird results when more than 1 thread is used. @@ -1285,7 +1275,7 @@ Release Date 8 April 2023 `StackOverflow answer `__. -12. Replace ``numpy.float`` by ``float`` in the 2 parent selection +18. Replace ``numpy.float`` by ``float`` in the 2 parent selection operators roulette wheel and stochastic universal. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/168