8000 Add files via upload · evdcush/GeneticAlgorithmPython@e2f5ab9 · GitHub
[go: up one dir, main page]

Skip to content

Commit e2f5ab9

Browse files
authored
Add files via upload
1 parent 52c6728 commit e2f5ab9

File tree

6 files changed

+3497
-0
lines changed

6 files changed

+3497
-0
lines changed

docs/source/Footer.rst

Lines changed: 344 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,344 @@
1+
.. _header-n0:
2+
3+
Release History
4+
===============
5+
6+
.. _header-n2:
7+
8+
PyGAD 1.0.17
9+
------------
10+
11+
Release Date: 15 April 2020
12+
13+
1. The **pygad.GA** class accepts a new argument named ``fitness_func``
14+
which accepts a function to be used for calculating the fitness
15+
values for the solutions. This allows the project to be customized to
16+
any problem by building the right fitness function.
17+
18+
.. _header-n7:
19+
20+
PyGAD 1.0.20
21+
-------------
22+
23+
Release Date: 4 May 2020
24+
25+
1. The **pygad.GA** attributes are moved from the class scope to the
26+
instance scope.
27+
28+
2. Raising an exception for incorrect values of the passed parameters.
29+
30+
3. Two new parameters are added to the **pygad.GA** class constructor
31+
(``init_range_low`` and ``init_range_high``) allowing the user to
32+
customize the range from which the genes values in the initial
33+
population are selected.
34+
35+
4. The code object ``__code__`` of the passed fitness function is
36+
checked to ensure it has the right number of parameters.
37+
38+
.. _header-n18:
39+
40+
PyGAD 2.0.0
41+
------------
42+
43+
Release Date: 13 May 2020
44+
45+
1. The fitness function accepts a new argument named ``sol_idx``
46+
representing the index of the solution within the population.
47+
48+
2. A new parameter to the **pygad.GA** class constructor named
49+
``initial_population`` is supported to allow the user to use a custom
50+
initial population to be used by the genetic algorithm. If not None,
51+
then the passed population will be used. If ``None``, then the
52+
genetic algorithm will create the initial population using the
53+
``sol_per_pop`` and ``num_genes`` parameters.
54+
55+
3. The parameters ``sol_per_pop`` and ``num_genes`` are optional and set
56+
to ``None`` by default.
57+
58+
4. A new parameter named ``callback_generation`` is introduced in the
59+
**pygad.GA** class constructor. It accepts a function with a single
60+
parameter representing the **pygad.GA** class instance. This function
61+
is called after each generation. This helps the user to do
62+
post-processing or debugging operations after each generation.
63+
64+
.. _header-n29:
65+
66+
PyGAD 2.1.0
67+
-----------
68+
69+
Release Date: 14 May 2020
70+
71+
1. The ``best_solution()`` method in the **pygad.GA** class returns a
72+
new output representing the index of the best solution within the
73+
population. Now, it returns a total of 3 outputs and their order is:
74+
best solution, best solution fitness, and best solution index. Here
75+
is an example:
76+
77+
.. code:: python
78+
79+
solution, solution_fitness, solution_idx = ga_instance.best_solution()
80+
print("Parameters of the best solution :", solution)
81+
print("Fitness value of the best solution :", solution_fitness, "\n")
82+
print("Index of the best solution :", solution_idx, "\n")
83+
84+
1. | A new attribute named ``best_solution_generation`` is added to the
85+
instances of the **pygad.GA** class. it holds the generation number
86+
at which the best solution is reached. It is only assigned the
87+
generation number after the ``run()`` method completes. Otherwise,
88+
its value is -1.
89+
| Example:
90+
91+
.. code:: python
92+
93+
print("Best solution reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation))
94+
95+
1. The ``best_solution_fitness`` attribute is renamed to
96+
``best_solutions_fitness`` (plural solution).
97+
98+
.. _header-n42:
99+
100+
PyGAD Projects at GitHub
101+
========================
102+
103+
The PyGAD library is available at PyPI at this page
104+
https://pypi.org/project/pygad. PyGAD is built out of a number of
105+
open-source GitHub projects. A brief note about these projects is given
106+
in the next subsections.
107+
108+
.. _header-n44:
109+
110+
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython>`__
111+
--------------------------------------------------------------------------------
112+
113+
GitHub Link: https://github.com/ahmedfgad/GeneticAlgorithmPython
114+
115+
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython>`__
116+
is the first project which is an open-source Python 3 project for
117+
implementing the genetic algorithm based on NumPy.
118+
119+
.. _header-n47:
120+
121+
`NumPyANN <https://github.com/ahmedfgad/NumPyANN>`__
122+
----------------------------------------------------
123+
124+
GitHub Link: https://github.com/ahmedfgad/NumPyANN
125+
126+
`NumPyANN <https://github.com/ahmedfgad/NumPyANN>`__ builds artificial
127+
neural networks in **Python 3** using **NumPy** from scratch. The
128+
purpose of this project is to only implement the **forward pass** of a
129+
neural network without using a training algorithm. Currently, it only
130+
supports classification and later regression will be also supported.
131+
Moreover, only one class is supported per sample.
132+
133+
.. _header-n50:
134+
135+
`NeuralGenetic <https://github.com/ahmedfgad/NeuralGenetic>`__
136+
--------------------------------------------------------------
137+
138+
GitHub Link: https://github.com/ahmedfgad/NeuralGenetic
139+
140+
`NeuralGenetic <https://github.com/ahmedfgad/NeuralGenetic>`__ trains
141+
neural networks using the genetic algorithm based on the previous 2
142+
projects
143+
`GeneticAlgorithmPython <https://github.com/ahmedfgad/GeneticAlgorithmPython>`__
144+
and `NumPyANN <https://github.com/ahmedfgad/NumPyANN>`__.
145+
146+
.. _header-n53:
147+
148+
Submitting Issues
149+
=================
150+
151+
If there is an issue using PyGAD, then use any of your preferred option
152+
to discuss that issue.
153+
154+
One way is `submitting an
155+
issue <https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/new>`__
156+
into this GitHub project
157+
(https://github.com/ahmedfgad/GeneticAlgorithmPython) in case something
158+
is not working properly or to ask for questions.
159+
160+
If this is not a proper option for you, then check the **Contact Us**
161+
section for more contact details.
162+
163+
.. _header-n57:
164+
165+
Ask for Feature
166+
===============
167+
168+
PyGAD is actively developed with the goal of building a dynamic library
169+
for suporting a wide-range of problems to be optimized using the genetic
170+
algorithm.
171+
172+
To ask for a new feature, either `submit an
173+
issue <https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/new>`__
174+
into this GitHub project
175+
(https://github.com/ahmedfgad/GeneticAlgorithmPython) or send an e-mail
176+
to ahmed.f.gad@gmail.com.
177+
178+
Also check the **Contact Us** section for more contact details.
179+
180+
.. _header-n61:
181+
182+
Projects Built using PyGAD
183+
==========================
184+
185+
If you created a project that uses PyGAD, then we can support you by
186+
mentioning this project here in PyGAD's documentation.
187+
188+
To do that, please send a message at ahmed.f.gad@gmail.com or check the
189+
**Contact Us** section for more contact details.
190+
191+
Within your message, please send the following details:
192+
193+
- Project title
194+
195+
- Brief description
196+
197+
- Preferably, a link that directs the readers to your project
198+
199+
.. _header-n72:
200+
201+
For More Information
202+
====================
203+
204+
There are different resources that can be used to get started with the
205+
genetic algorithm and building it in Python.
206+
207+
.. _header-n74:
208+
209+
Tutorial: Implementing Genetic Algorithm in Python
210+
--------------------------------------------------
211+
212+
To start with coding the genetic algorithm, you can check the tutorial
213+
titled `Genetic Algorithm Implementation in
214+
Python <https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad>`__
215+
available at these links:
216+
217+
- `LinkedIn <https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad>`__
218+
219+
- `Towards Data
220+
Science <https://towardsdatascience.com/genetic-algorithm-implementation-in-python-5ab67bb124a6>`__
221+
222+
- `KDnuggets <https://www.kdnuggets.com/2018/07/genetic-algorithm-implementation-python.html>`__
223+
224+
`This
225+
tutorial <https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad>`__
226+
is prepared based on a previous version of the project but it still a
227+
good resource to start with coding the genetic algorithm.
228+
229+
|image0|
230+
231+
.. _header-n85:
232+
233+
Tutorial: Introduction to Genetic Algorithm
234+
-------------------------------------------
235+
236+
Get started with the genetic algorithm by reading the tutorial titled
237+
`Introduction to Optimization with Genetic
238+
Algorithm <https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad>`__
239+
which is available at these links:
240+
241+
- `LinkedIn <https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad>`__
242+
243+
- `Towards Data
244+
Science <https://www.kdnuggets.com/2018/03/introduction-optimization-with-genetic-algorithm.html>`__
245+
246+
- `KDnuggets <https://towardsdatascience.com/introduction-to-optimization-with-genetic-algorithm-2f5001d9964b>`__
247+
248+
|image1|
249+
250+
.. _header-n95:
251+
252+
Tutorial: Build Neural Networks in Python
253+
-----------------------------------------
254+
255+
Read about building neural networks in Python through the tutorial
256+
titled `Artificial Neural Network Implementation using NumPy and
257+
Classification of the Fruits360 Image
258+
Dataset <https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad>`__
259+
available at these links:
260+
261+
- `LinkedIn <https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad>`__
262+
263+
- `Towards Data
264+
Science <https://towardsdatascience.com/artificial-neural-network-implementation-using-numpy-and-classification-of-the-fruits360-image-3c56affa4491>`__
265+
266+
- `KDnuggets <https://www.kdnuggets.com/2019/02/artificial-neural-network-implementation-using-numpy-and-image-classification.html>`__
267+
268+
|image2|
269+
270+
.. _header-n105:
271+
272+
Tutorial: Optimize Neural Networks with Genetic Algorithm
273+
---------------------------------------------------------
274+
275+
Read about training neural networks using the genetic algorithm through
276+
the tutorial titled `Artificial Neural Networks Optimization using
277+
Genetic Algorithm with
278+
Python <https://www.linkedin.com/pulse/artificial-neural-networks-optimization-using-genetic-ahmed-gad>`__
279+
available at these links:
280+
281+
- `LinkedIn <https://www.linkedin.com/pulse/artificial-neural-networks-optimization-using-genetic-ahmed-gad>`__
282+
283+
- `Towards Data
284+
Science <https://towardsdatascience.com/artificial-neural-networks-optimization-using-genetic-algorithm-with-python-1fe8ed17733e>`__
285+
286+
- `KDnuggets <https://www.kdnuggets.com/2019/03/artificial-neural-networks-optimization-genetic-algorithm-python.html>`__
287+
288+
|image3|
289+
290+
.. _header-n115:
291+
292+
Book: Practical Computer Vision Applications Using Deep Learning with CNNs
293+
--------------------------------------------------------------------------
294+
295+
You can also check my book cited as `Ahmed Fawzy Gad 'Practical Computer
296+
Vision Applications Using Deep Learning with CNNs'. Dec. 2018, Apress,
297+
978-1-4842-4167-7 <https://www.amazon.com/Practical-Computer-Vision-Applications-Learning/dp/1484241665>`__
298+
which discusses neural networks, convolutional neural networks, deep
299+
learning, genetic algorithm, and more.
300+
301+
Find the book at these links:
302+
303+
- `Amazon <https://www.amazon.com/Practical-Computer-Vision-Applications-Learning/dp/1484241665>`__
304+
305+
- `Springer <https://link.springer.com/book/10.1007/978-1-4842-4167-7>`__
306+
307+
- `Apress <https://www.apress.com/gp/book/9781484241660>`__
308+
309+
- `O'Reilly <https://www.oreilly.com/library/view/practical-computer-vision/9781484241677>`__
310+
311+
- `Google Books <https://books.google.com.eg/books?id=xLd9DwAAQBAJ>`__
312+
313+
.. figure:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg
314+
:alt:
315+
316+
.. _header-n130:
317+
318+
Contact Us
319+
==========
320+
321+
- E-mail: ahmed.f.gad@gmail.com
322+
323+
- `LinkedIn <https://www.linkedin.com/in/ahmedfgad>`__
324+
325+
- `Amazon Author Page <https://amazon.com/author/ahmedgad>`__
326+
327+
- `Heartbeat <https://heartbeat.fritz.ai/@ahmedfgad>`__
328+
329+
- `Paperspace <https://blog.paperspace.com/author/ahmed>`__
330+
331+
- `KDnuggets <https://kdnuggets.com/author/ahmed-gad>`__
332+
333+
- `TowardsDataScience <https://towardsdatascience.com/@ahmedfgad>`__
334+
335+
- `GitHub <https://github.com/ahmedfgad>`__
336+
337+
.. |image0| image:: https://user-images.githubusercontent.com/16560492/78830052-a3c19300-79e7-11ea-8b9b-4b343ea4049c.png
338+
:target: https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad
339+
.. |image1| image:: https://user-images.githubusercontent.com/16560492/82078259-26252d00-96e1-11ea-9a02-52a99e1054b9.jpg
340+
:target: https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad
341+
.. |image2| image:: https://user-images.githubusercontent.com/16560492/82078281-30472b80-96e1-11ea-8017-6a1f4383d602.jpg
342+
:target: https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad
343+
.. |image3| image:: https://user-images.githubusercontent.com/16560492/82078300-376e3980-96e1-11ea-821c-aa6b8ceb44d4.jpg
344+
:target: https://www.linkedin.com/pulse/artificial-neural-networks-optimization-using-genetic-ahmed-gad

0 commit comments

Comments
 (0)
0