Skip to content

Commit ee40767

Browse files
authored
PyGAD 2.10.0 Documentation
Documentation of pygad.torchga added.
1 parent 18d70b6 commit ee40767

File tree

6 files changed

+1476
-235
lines changed

6 files changed

+1476
-235
lines changed

docs/source/Footer.rst

Lines changed: 104 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
.. _header-n0:
1+
.. _header-n344:
22

33
Release History
44
===============
55

6-
.. _header-n2:
6+
.. _header-n346:
77

88
PyGAD 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

2020
PyGAD 1.0.20
2121
-------------
@@ -35,7 +35,7 @@ Release Date: 4 May 2020
3535
4. 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

4040
PyGAD 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

6666
PyGAD 2.1.0
6767
-----------
@@ -97,7 +97,7 @@ Release Date: 14 May 2020
9797

9898
2. Mutation is applied independently for the genes.
9999

100-
.. _header-n44:
100+
.. _header-n388:
101101

102102
PyGAD 2.2.1
103103
-----------
@@ -107,7 +107,7 @@ Release Date: 17 May 2020
107107
1. 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

112112
PyGAD 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

146146
PyGAD 2.3.0
147147
-----------
@@ -166,7 +166,7 @@ Release date: 1 June 2020
166166
6. The name of the ``pygad.nn.train_network()`` function is changed to
167167
``pygad.nn.train()``.
168168

169-
.. _header-n77:
169+
.. _header-n421:
170170

171171
PyGAD 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

209209
PyGAD 2.5.0
210210
-----------
@@ -300,7 +300,7 @@ If the user did not assign the initial population to the
300300
randomly based on the ``gene_space`` parameter. Moreover, the mutation
301301
is applied based on this parameter.
302302

303-
.. _header-n115:
303+
.. _header-n459:
304304

305305
PyGAD 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

323323
PyGAD 2.7.0
324324
-----------
@@ -377,7 +377,7 @@ parameter or set it to ``"classification"`` (default value). In this
377377
case, 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

382382
PyGAD 2.7.1
383383
-----------
@@ -387,7 +387,7 @@ Release Date: 11 September 2020
387387
1. A bug fix when the ``problem_type`` argument is set to
388388
``regression``.
389389

390-
.. _header-n153:
390+
.. _header-n497:
391391

392392
PyGAD 2.7.2
393393
-----------
@@ -397,7 +397,7 @@ Release Date: 14 September 2020
397397
1. Bug fix to support building and training regression neural networks
398398
with multiple outputs.
399399

400-
.. _header-n158:
400+
.. _header-n502:
401401

402402
PyGAD 2.8.0
403403
-----------
@@ -407,7 +407,7 @@ Release Date: 20 September 2020
407407
1. 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

412412
PyGAD 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

425425
PyGAD 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

453502
PyGAD Projects at GitHub
454503
========================
@@ -458,7 +507,7 @@ https://pypi.org/project/pygad. PyGAD is built out of a number of
458507
open-source GitHub projects. A brief note about these projects is given
459508
in 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
469518
is the first project which is an open-source Python 3 project for
470519
implementing 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
483532
supports classification and later regression will be also supported.
484533
Moreover, 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>`__
497546
and `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
508557
is to only implement the **forward pass** of a convolutional neural
509558
network 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>`__
521570
project for building the genetic algorithm.
522571

523-
.. _header-n325:
572+
.. _header-n563:
524573

525574
`KerasGA <https://github.com/ahmedfgad/KerasGA>`__
526575
--------------------------------------------------
527576

528577
GitHub 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>`__
533596
project 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

537603
Submitting Issues
538604
=================
@@ -549,7 +615,7 @@ is not working properly or to ask for questions.
549615
If this is not a proper option for you, then check the **Contact Us**
550616
section for more contact details.
551617

552-
.. _header-n189:
618+
.. _header-n574:
553619

554620
Ask for Feature
555621
===============
@@ -566,7 +632,7 @@ to ahmed.f.gad@gmail.com.
566632

567633
Also check the **Contact Us** section for more contact details.
568634

569-
.. _header-n193:
635+
.. _header-n578:
570636

571637
Projects 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

590656
For More Information
591657
====================
592658

593659
There are different resources that can be used to get started with the
594660
genetic algorithm and building it in Python.
595661

596-
.. _header-n206:
662+
.. _header-n591:
597663

598664
Tutorial: 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

622688
Tutorial: 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

641707
Tutorial: 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

661727
Tutorial: 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

681747
Tutorial: 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

707773
Tutorial: 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

726792
Book: 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

752818
Contact Us
753819
==========

0 commit comments

Comments
 (0)