1
- .. _header-n0 :
1
+ .. _header-n344 :
2
2
3
3
Release History
4
4
===============
5
5
6
- .. _header-n2 :
6
+ .. _header-n346 :
7
7
8
8
PyGAD 1.0.17
9
9
------------
@@ -15,7 +15,7 @@ Release Date: 15 April 2020
15
15
values for the solutions. This allows the project to be customized to
16
16
any problem by building the right fitness function.
17
17
18
- .. _header-n7 :
18
+ .. _header-n351 :
19
19
20
20
PyGAD 1.0.20
21
21
-------------
@@ -35,7 +35,7 @@ Release Date: 4 May 2020
35
35
4. The code object ``__code__ `` of the passed fitness function is
36
36
checked to ensure it has the right number of parameters.
37
37
38
- .. _header-n18 :
38
+ .. _header-n362 :
39
39
40
40
PyGAD 2.0.0
41
41
------------
@@ -61,7 +61,7 @@ Release Date: 13 May 2020
61
61
is called after each generation. This helps the user to do
62
62
post-processing or debugging operations after each generation.
63
63
64
- .. _header-n29 :
64
+ .. _header-n373 :
65
65
66
66
PyGAD 2.1.0
67
67
-----------
@@ -97,7 +97,7 @@ Release Date: 14 May 2020
97
97
98
98
2. Mutation is applied independently for the genes.
99
99
100
- .. _header-n44 :
100
+ .. _header-n388 :
101
101
102
102
PyGAD 2.2.1
103
103
-----------
@@ -107,7 +107,7 @@ Release Date: 17 May 2020
107
107
1. Adding 2 extra modules (pygad.nn and pygad.gann) for building and
108
108
training neural networks with the genetic algorithm.
109
109
110
- .. _header-n49 :
110
+ .. _header-n393 :
111
111
112
112
PyGAD 2.2.2
113
113
-----------
@@ -141,7 +141,7 @@ The new gene value is **0.1**.
141
141
``crossover_type `` parameters of the pygad.GA class constructor. When
142
142
``None ``, this means the step is bypassed and has no action.
143
143
144
- .. _header-n62 :
144
+ .. _header-n406 :
145
145
146
146
PyGAD 2.3.0
147
147
-----------
@@ -166,7 +166,7 @@ Release date: 1 June 2020
166
166
6. The name of the ``pygad.nn.train_network() `` function is changed to
167
167
``pygad.nn.train() ``.
168
168
169
- .. _header-n77 :
169
+ .. _header-n421 :
170
170
171
171
PyGAD 2.4.0
172
172
-----------
@@ -204,7 +204,7 @@ through more generations because no further improvement is possible.
204
204
if ga_instance.best_solution()[1 ] >= 70 :
205
205
return " stop"
206
206
207
- .. _header-n87 :
207
+ .. _header-n431 :
208
208
209
209
PyGAD 2.5.0
210
210
-----------
@@ -300,7 +300,7 @@ If the user did not assign the initial population to the
300
300
randomly based on the ``gene_space `` parameter. Moreover, the mutation
301
301
is applied based on this parameter.
302
302
303
- .. _header-n115 :
303
+ .. _header-n459 :
304
304
305
305
PyGAD 2.6.0
306
306
------------
@@ -318,7 +318,7 @@ Release Date: 6 August 2020
318
318
``on_fitness ``, ``on_parents ``, ``on_crossover ``, ``on_mutation ``,
319
319
``on_generation ``, and ``on_stop ``.
320
320
321
- .. _header-n124 :
321
+ .. _header-n468 :
322
322
323
323
PyGAD 2.7.0
324
324
-----------
@@ -377,7 +377,7 @@ parameter or set it to ``"classification"`` (default value). In this
377
377
case, the activation function of the last layer can be set to any type
378
378
(e.g. softmax).
379
379
380
- .. _header-n148 :
380
+ .. _header-n492 :
381
381
382
382
PyGAD 2.7.1
383
383
-----------
@@ -387,7 +387,7 @@ Release Date: 11 September 2020
387
387
1. A bug fix when the ``problem_type `` argument is set to
388
388
``regression ``.
389
389
390
- .. _header-n153 :
390
+ .. _header-n497 :
391
391
392
392
PyGAD 2.7.2
393
393
-----------
@@ -397,7 +397,7 @@ Release Date: 14 September 2020
397
397
1. Bug fix to support building and training regression neural networks
398
398
with multiple outputs.
399
399
400
- .. _header-n158 :
400
+ .. _header-n502 :
401
401
402
402
PyGAD 2.8.0
403
403
-----------
@@ -407,7 +407,7 @@ Release Date: 20 September 2020
407
407
1. Support of a new module named ``kerasga `` so that the Keras models
408
408
can be trained by the genetic algorithm using PyGAD.
409
409
410
- .. _header-n163 :
410
+ .. _header-n507 :
411
411
412
412
PyGAD 2.8.1
413
413
-----------
@@ -420,7 +420,7 @@ Release Date: 3 October 2020
420
420
Management, Faculty of Engineering, Alexandria University,
421
421
Egypt <https://www.linkedin.com/in/hamadakassem> `__.
422
422
423
- .. _header-n168 :
423
+ .. _header-n512 :
424
424
425
425
PyGAD 2.9.0
426
426
------------
@@ -448,7 +448,56 @@ Release Date: 06 December 2020
448
448
``numpy.int64 ``, ``numpy.float ``, ``numpy.float16 ``,
449
449
``numpy.float32 ``, or ``numpy.float64 ``.
450
450
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 :
452
501
453
502
PyGAD Projects at GitHub
454
503
========================
@@ -458,7 +507,7 @@ https://pypi.org/project/pygad. PyGAD is built out of a number of
458
507
open-source GitHub projects. A brief note about these projects is given
459
508
in the next subsections.
460
509
461
- .. _header-n170 :
510
+ .. _header-n548 :
462
511
463
512
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
464
513
--------------------------------------------------------------------------------
@@ -469,7 +518,7 @@ GitHub Link: https://github.com/ahmedfgad/GeneticAlgorithmPython
469
518
is the first project which is an open-source Python 3 project for
470
519
implementing the genetic algorithm based on NumPy.
471
520
472
- .. _header-n173 :
521
+ .. _header-n551 :
473
522
474
523
`NumPyANN <https://github.com/ahmedfgad/NumPyANN >`__
475
524
----------------------------------------------------
@@ -483,7 +532,7 @@ neural network without using a training algorithm. Currently, it only
483
532
supports classification and later regression will be also supported.
484
533
Moreover, only one class is supported per sample.
485
534
486
- .. _header-n176 :
535
+ .. _header-n554 :
487
536
488
537
`NeuralGenetic <https://github.com/ahmedfgad/NeuralGenetic >`__
489
538
--------------------------------------------------------------
@@ -496,7 +545,7 @@ projects
496
545
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
497
546
and `NumPyANN <https://github.com/ahmedfgad/NumPyANN >`__.
498
547
499
- .. _header-n179 :
548
+ .. _header-n557 :
500
549
501
550
`NumPyCNN <https://github.com/ahmedfgad/NumPyCNN >`__
502
551
----------------------------------------------------
@@ -508,7 +557,7 @@ convolutional neural networks using NumPy. The purpose of this project
508
557
is to only implement the **forward pass ** of a convolutional neural
509
558
network without using a training algorithm.
510
559
511
- .. _header-n182 :
560
+ .. _header-n560 :
512
561
513
562
`CNNGenetic <https://github.com/ahmedfgad/CNNGenetic >`__
514
563
--------------------------------------------------------
@@ -520,19 +569,36 @@ convolutional neural networks using the genetic algorithm. It uses the
520
569
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
521
570
project for building the genetic algorithm.
522
571
523
- .. _header-n325 :
572
+ .. _header-n563 :
524
573
525
574
`KerasGA <https://github.com/ahmedfgad/KerasGA >`__
526
575
--------------------------------------------------
527
576
528
577
GitHub Link: https://github.com/ahmedfgad/KerasGA
529
578
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
532
595
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython >`__
533
596
project for building the genetic algorithm.
534
597
535
- .. _header-n185 :
598
+ `pygad.torchga <https://github.com/ahmedfgad/TorchGA >`__:
599
+ https://github.com/ahmedfgad/TorchGA
600
+
601
+ .. _header-n570 :
536
602
537
603
Submitting Issues
538
604
=================
@@ -549,7 +615,7 @@ is not working properly or to ask for questions.
549
615
If this is not a proper option for you, then check the **Contact Us **
550
616
section for more contact details.
551
617
552
- .. _header-n189 :
618
+ .. _header-n574 :
553
619
554
620
Ask for Feature
555
621
===============
@@ -566,7 +632,7 @@ to ahmed.f.gad@gmail.com.
566
632
567
633
Also check the **Contact Us ** section for more contact details.
568
634
569
- .. _header-n193 :
635
+ .. _header-n578 :
570
636
571
637
Projects Built using PyGAD
572
638
==========================
@@ -585,15 +651,15 @@ Within your message, please send the following details:
585
651
586
652
- Preferably, a link that directs the readers to your project
587
653
588
- .. _header-n204 :
654
+ .. _header-n589 :
589
655
590
656
For More Information
591
657
====================
592
658
593
659
There are different resources that can be used to get started with the
594
660
genetic algorithm and building it in Python.
595
661
596
- .. _header-n206 :
662
+ .. _header-n591 :
597
663
598
664
Tutorial: Implementing Genetic Algorithm in Python
599
665
--------------------------------------------------
@@ -617,7 +683,7 @@ good resource to start with coding the genetic algorithm.
617
683
618
684
|image0 |
619
685
620
- .. _header-n217 :
686
+ .. _header-n602 :
621
687
622
688
Tutorial: Introduction to Genetic Algorithm
623
689
-------------------------------------------
@@ -636,7 +702,7 @@ which is available at these links:
636
702
637
703
|image1 |
638
704
639
- .. _header-n227 :
705
+ .. _header-n612 :
640
706
641
707
Tutorial: Build Neural Networks in Python
642
708
-----------------------------------------
@@ -656,7 +722,7 @@ available at these links:
656
722
657
723
|image2 |
658
724
659
- .. _header-n237 :
725
+ .. _header-n622 :
660
726
661
727
Tutorial: Optimize Neural Networks with Genetic Algorithm
662
728
---------------------------------------------------------
@@ -676,7 +742,7 @@ available at these links:
676
742
677
743
|image3 |
678
744
679
- .. _header-n247 :
745
+ .. _header-n632 :
680
746
681
747
Tutorial: Building CNN in Python
682
748
--------------------------------
@@ -702,7 +768,7 @@ good resource to start with coding CNNs.
702
768
703
769
|image4 |
704
770
705
- .. _header-n260 :
771
+ .. _header-n645 :
706
772
707
773
Tutorial: Derivation of CNN from FCNN
708
774
-------------------------------------
@@ -721,7 +787,7 @@ which is available at these links:
721
787
722
788
|image5 |
723
789
724
- .. _header-n270 :
790
+ .. _header-n655 :
725
791
726
792
Book: Practical Computer Vision Applications Using Deep Learning with CNNs
727
793
--------------------------------------------------------------------------
@@ -747,7 +813,7 @@ Find the book at these links:
747
813
.. figure :: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg
748
814
:alt:
749
815
750
- .. _header-n285 :
816
+ .. _header-n670 :
751
817
752
818
Contact Us
753
819
==========
0 commit comments