1- .. _header-n0 :
1+ .. _header-n344 :
22
33Release History
44===============
55
6- .. _header-n2 :
6+ .. _header-n346 :
77
88PyGAD 1.0.17
99------------
@@ -15,7 +15,7 @@ Release Date: 15 April 2020
1515 values for the solutions. This allows the project to be customized to
1616 any problem by building the right fitness function.
1717
18- .. _header-n7 :
18+ .. _header-n351 :
1919
2020PyGAD 1.0.20
2121-------------
@@ -35,7 +35,7 @@ Release Date: 4 May 2020
35354. The code object ``__code__ `` of the passed fitness function is
3636 checked to ensure it has the right number of parameters.
3737
38- .. _header-n18 :
38+ .. _header-n362 :
3939
4040PyGAD 2.0.0
4141------------
@@ -61,7 +61,7 @@ Release Date: 13 May 2020
6161 is called after each generation. This helps the user to do
6262 post-processing or debugging operations after each generation.
6363
64- .. _header-n29 :
64+ .. _header-n373 :
6565
6666PyGAD 2.1.0
6767-----------
@@ -97,7 +97,7 @@ Release Date: 14 May 2020
9797
98982. Mutation is applied independently for the genes.
9999
100- .. _header-n44 :
100+ .. _header-n388 :
101101
102102PyGAD 2.2.1
103103-----------
@@ -107,7 +107,7 @@ Release Date: 17 May 2020
1071071. Adding 2 extra modules (pygad.nn and pygad.gann) for building and
108108 training neural networks with the genetic algorithm.
109109
110- .. _header-n49 :
110+ .. _header-n393 :
111111
112112PyGAD 2.2.2
113113-----------
@@ -141,7 +141,7 @@ The new gene value is **0.1**.
141141 ``crossover_type `` parameters of the pygad.GA class constructor. When
142142 ``None ``, this means the step is bypassed and has no action.
143143
144- .. _header-n62 :
144+ .. _header-n406 :
145145
146146PyGAD 2.3.0
147147-----------
@@ -166,7 +166,7 @@ Release date: 1 June 2020
1661666. The name of the ``pygad.nn.train_network() `` function is changed to
167167 ``pygad.nn.train() ``.
168168
169- .. _header-n77 :
169+ .. _header-n421 :
170170
171171PyGAD 2.4.0
172172-----------
@@ -204,7 +204,7 @@ through more generations because no further improvement is possible.
204204 if ga_instance.best_solution()[1 ] >= 70 :
205205 return " stop"
206206
207- .. _header-n87 :
207+ .. _header-n431 :
208208
209209PyGAD 2.5.0
210210-----------
@@ -300,7 +300,7 @@ If the user did not assign the initial population to the
300300randomly based on the ``gene_space `` parameter. Moreover, the mutation
301301is applied based on this parameter.
302302
303- .. _header-n115 :
303+ .. _header-n459 :
304304
305305PyGAD 2.6.0
306306------------
@@ -318,7 +318,7 @@ Release Date: 6 August 2020
318318 ``on_fitness ``, ``on_parents ``, ``on_crossover ``, ``on_mutation ``,
319319 ``on_generation ``, and ``on_stop ``.
320320
321- .. _header-n124 :
321+ .. _header-n468 :
322322
323323PyGAD 2.7.0
324324-----------
@@ -377,7 +377,7 @@ parameter or set it to ``"classification"`` (default value). In this
377377case, the activation function of the last layer can be set to any type
378378(e.g. softmax).
379379
380- .. _header-n148 :
380+ .. _header-n492 :
381381
382382PyGAD 2.7.1
383383-----------
@@ -387,7 +387,7 @@ Release Date: 11 September 2020
3873871. A bug fix when the ``problem_type `` argument is set to
388388 ``regression ``.
389389
390- .. _header-n153 :
390+ .. _header-n497 :
391391
392392PyGAD 2.7.2
393393-----------
@@ -397,7 +397,7 @@ Release Date: 14 September 2020
3973971. Bug fix to support building and training regression neural networks
398398 with multiple outputs.
399399
400- .. _header-n158 :
400+ .. _header-n502 :
401401
402402PyGAD 2.8.0
403403-----------
@@ -407,7 +407,7 @@ Release Date: 20 September 2020
4074071. Support of a new module named ``kerasga `` so that the Keras models
408408 can be trained by the genetic algorithm using PyGAD.
409409
410- .. _header-n163 :
410+ .. _header-n507 :
411411
412412PyGAD 2.8.1
413413-----------
@@ -420,7 +420,7 @@ Release Date: 3 October 2020
420420 Management, Faculty of Engineering, Alexandria University,
421421 Egypt <https://www.linkedin.com/in/hamadakassem> `__.
422422
423- .. _header-n168 :
423+ .. _header-n512 :
424424
425425PyGAD 2.9.0
426426------------
@@ -448,7 +448,56 @@ Release Date: 06 December 2020
448448 ``numpy.int64 ``, ``numpy.float ``, ``numpy.float16 ``,
449449 ``numpy.float32 ``, or ``numpy.float64 ``.
450450
451- .. _header-n303 :
451+ .. _header-n525 :
452+
453+ PyGAD 2.10.0
454+ ------------
455+
456+ Release Date: 03 January 2021
457+
458+ 1. Support of adaptive mutation where the mutation rate is determined by
459+ the fitness value of each solution. Read the `Adaptive
460+ Mutation <https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#adaptive-mutation> `__
461+ section for more details. Also, read this paper: `Libelli, S.
462+ Marsili, and P. Alba. "Adaptive mutation in genetic algorithms." Soft
463+ computing 4.2 (2000):
464+ 76-80. <https://www.researchgate.net/publication/225642916_Adaptive_mutation_in_genetic_algorithms> `__
465+
466+ 2. Before the ``run() `` method completes or exits, the fitness value of
467+ the best solution in the current population is appended to the
468+ ``best_solution_fitness `` list attribute. Note that the fitness value
469+ of the best solution in the initial population is already saved at
470+ the beginning of the list. So, the fitness value of the best solution
471+ is saved before the genetic algorithm starts and after it ends.
472+
473+ 3. When the parameter ``parent_selection_type `` is set to ``sss ``
474+ (steady-state selection), then a warning message is printed if the
475+ value of the ``keep_parents `` parameter is set to 0.
476+
477+ 4. More validations to the user input parameters.
478+
479+ 5. The default value of the ``mutation_percent_genes `` is set to the
480+ string ``"default" `` rather than the integer 10. This change helps to
481+ know whether the user explicitly passed a value to the
482+ ``mutation_percent_genes `` parameter or it is left to its default
483+ one. The ``"default" `` value is later translated into the integer 10.
484+
485+ 6. The ``mutation_percent_genes `` parameter is no longer accepting the
486+ value 0. It must be ``>0 `` and ``<=100 ``.
487+
488+ 7. The built-in ``warnings `` module is used to show warning messages
489+ rather than just using the ``print() `` function.
490+
491+ 8. A new ``bool `` parameter called ``suppress_warnings `` is added to the
492+ constructor of the ``pygad.GA `` class. It allows the user to control
493+ whether the warning messages are printed or not. It defaults to
494+ ``False `` which means the messages are printed.
495+
496+ 9. A helper method called ``adaptive_mutation_population_fitness() `` is
497+ created to calculate the average fitness value used in adaptive
498+ mutation to filter the solutions.
499+
500+ .. _header-n546 :
452501
453502PyGAD Projects at GitHub
454503========================
@@ -458,7 +507,7 @@ https://pypi.org/project/pygad. PyGAD is built out of a number of
458507open-source GitHub projects. A brief note about these projects is given
459508in the next subsections.
460509
461- .. _header-n170 :
510+ .. _header-n548 :
462511
463512`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
464513--------------------------------------------------------------------------------
@@ -469,7 +518,7 @@ GitHub Link: https://github.com/ahmedfgad/GeneticAlgorithmPython
469518is the first project which is an open-source Python 3 project for
470519implementing the genetic algorithm based on NumPy.
471520
472- .. _header-n173 :
521+ .. _header-n551 :
473522
474523`NumPyANN <https://github.com/ahmedfgad/NumPyANN >`__
475524----------------------------------------------------
@@ -483,7 +532,7 @@ neural network without using a training algorithm. Currently, it only
483532supports classification and later regression will be also supported.
484533Moreover, only one class is supported per sample.
485534
486- .. _header-n176 :
535+ .. _header-n554 :
487536
488537`NeuralGenetic <https://github.com/ahmedfgad/NeuralGenetic >`__
489538--------------------------------------------------------------
@@ -496,7 +545,7 @@ projects
496545`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
497546and `NumPyANN <https://github.com/ahmedfgad/NumPyANN >`__.
498547
499- .. _header-n179 :
548+ .. _header-n557 :
500549
501550`NumPyCNN <https://github.com/ahmedfgad/NumPyCNN >`__
502551----------------------------------------------------
@@ -508,7 +557,7 @@ convolutional neural networks using NumPy. The purpose of this project
508557is to only implement the **forward pass ** of a convolutional neural
509558network without using a training algorithm.
510559
511- .. _header-n182 :
560+ .. _header-n560 :
512561
513562`CNNGenetic <https://github.com/ahmedfgad/CNNGenetic >`__
514563--------------------------------------------------------
@@ -520,19 +569,36 @@ convolutional neural networks using the genetic algorithm. It uses the
520569`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
521570project for building the genetic algorithm.
522571
523- .. _header-n325 :
572+ .. _header-n563 :
524573
525574`KerasGA <https://github.com/ahmedfgad/KerasGA >`__
526575--------------------------------------------------
527576
528577GitHub Link: https://github.com/ahmedfgad/KerasGA
529578
530- `KerasGA <https://github.com/ahmedfgad/KerasGA >`__ trains Keras models
531- using the genetic algorithm. It uses the
579+ `KerasGA <https://github.com/ahmedfgad/KerasGA >`__ trains
580+ `Keras <https://keras.io >`__ models using the genetic algorithm. It uses
581+ the
582+ `GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
583+ project for building the genetic algorithm.
584+
585+ .. _header-n566 :
586+
587+ `TorchGA <https://github.com/ahmedfgad/TorchGA >`__
588+ --------------------------------------------------
589+
590+ GitHub Link: https://github.com/ahmedfgad/TorchGA
591+
592+ `TorchGA <https://github.com/ahmedfgad/TorchGA >`__ trains
593+ `PyTorch <https://pytorch.org >`__ models using the genetic algorithm. It
594+ uses the
532595`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
533596project for building the genetic algorithm.
534597
535- .. _header-n185 :
598+ `pygad.torchga <https://github.com/ahmedfgad/TorchGA >`__:
599+ https://github.com/ahmedfgad/TorchGA
600+
601+ .. _header-n570 :
536602
537603Submitting Issues
538604=================
@@ -549,7 +615,7 @@ is not working properly or to ask for questions.
549615If this is not a proper option for you, then check the **Contact Us **
550616section for more contact details.
551617
552- .. _header-n189 :
618+ .. _header-n574 :
553619
554620Ask for Feature
555621===============
@@ -566,7 +632,7 @@ to ahmed.f.gad@gmail.com.
566632
567633Also check the **Contact Us ** section for more contact details.
568634
569- .. _header-n193 :
635+ .. _header-n578 :
570636
571637Projects Built using PyGAD
572638==========================
@@ -585,15 +651,15 @@ Within your message, please send the following details:
585651
586652- Preferably, a link that directs the readers to your project
587653
588- .. _header-n204 :
654+ .. _header-n589 :
589655
590656For More Information
591657====================
592658
593659There are different resources that can be used to get started with the
594660genetic algorithm and building it in Python.
595661
596- .. _header-n206 :
662+ .. _header-n591 :
597663
598664Tutorial: Implementing Genetic Algorithm in Python
599665--------------------------------------------------
@@ -617,7 +683,7 @@ good resource to start with coding the genetic algorithm.
617683
618684|image0 |
619685
620- .. _header-n217 :
686+ .. _header-n602 :
621687
622688Tutorial: Introduction to Genetic Algorithm
623689-------------------------------------------
@@ -636,7 +702,7 @@ which is available at these links:
636702
637703|image1 |
638704
639- .. _header-n227 :
705+ .. _header-n612 :
640706
641707Tutorial: Build Neural Networks in Python
642708-----------------------------------------
@@ -656,7 +722,7 @@ available at these links:
656722
657723|image2 |
658724
659- .. _header-n237 :
725+ .. _header-n622 :
660726
661727Tutorial: Optimize Neural Networks with Genetic Algorithm
662728---------------------------------------------------------
@@ -676,7 +742,7 @@ available at these links:
676742
677743|image3 |
678744
679- .. _header-n247 :
745+ .. _header-n632 :
680746
681747Tutorial: Building CNN in Python
682748--------------------------------
@@ -702,7 +768,7 @@ good resource to start with coding CNNs.
702768
703769|image4 |
704770
705- .. _header-n260 :
771+ .. _header-n645 :
706772
707773Tutorial: Derivation of CNN from FCNN
708774-------------------------------------
@@ -721,7 +787,7 @@ which is available at these links:
721787
722788|image5 |
723789
724- .. _header-n270 :
790+ .. _header-n655 :
725791
726792Book: Practical Computer Vision Applications Using Deep Learning with CNNs
727793--------------------------------------------------------------------------
@@ -747,7 +813,7 @@ Find the book at these links:
747813.. figure :: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg
748814 :alt:
749815
750- .. _header-n285 :
816+ .. _header-n670 :
751817
752818Contact Us
753819==========
0 commit comments