You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2.`example.py`: Just gives an example of how to use the project by calling the methods in the `ga.py` file.
9
9
10
-
The GA.py file holds the implementation of the GA operations such as muration and crossover. The other file gives an example of using the GA.py file.
10
+
To test the project, you can simply run the `example.py` file.
11
+
12
+
```
13
+
python example.py
14
+
```
15
+
16
+
## How to Use the Project?
17
+
18
+
To use the project, here is the summary of the minimum required steps:
19
+
20
+
1. Prepare the required parameters.
21
+
2. Import the `ga.py` module.
22
+
3. Create an instance of the `GA` class.
23
+
4. Train the genetic algorithm.
24
+
25
+
Let's discuss how to do each of these steps.
26
+
27
+
### Preparing the Parameters
28
+
29
+
Before running the GA, some parameters are required such as:
30
+
31
+
-`equation_inputs` : Inputs of the function to be optimized.
32
+
-`equation_output`: Function output.
33
+
-`sol_per_pop` : Number of solutions in the population.
34
+
`num_parents_mating` : Number of solutions to be selected as parents in the mating pool.
35
+
`num_generations` : Number of generations.
36
+
-`mutation_percent_genes` : Percentage of genes to mutate.
37
+
-`mutation_num_genes` : Number of genes to mutate. If only the `mutation_percent_genes` argument is specified, then the value of `mutation_num_genes` will be implicitly calculated.
38
+
39
+
Here is the code for preparing such parameters:
40
+
41
+
```python
42
+
function_inputs = [4,-2,3.5,5,-11,-4.7]
43
+
function_output =44
44
+
45
+
sol_per_pop =8
46
+
num_parents_mating =4
47
+
num_generations =50
48
+
49
+
mutation_percent_genes=10
50
+
```
51
+
52
+
### Import the `ga.py` Module
53
+
54
+
The next step is to import the `ga` module as follows:
55
+
56
+
```python
57
+
import ga
58
+
```
59
+
60
+
This module has a class named `GA` which holds the implementation of all methods for running the genetic algorithm.
61
+
62
+
### Create an Instance of the `GA` Class.
63
+
64
+
The `GA` class is instantiated where the previously prepared parameters are fed to its constructor. The constructor is responsible for creating the initial population.
To start with coding the genetic algorithm, you can check the tutorial titled [**Genetic Algorithm Implementation in Python**](https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad) available at these links:
[This tutorial](https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad) is prepared based on a previous version of the project but it still a good resource to start with coding the genetic algorithm.
You can also check my book cited as [**Ahmed Fawzy Gad 'Practical Computer Vision Applications Using Deep Learning with CNNs'. Dec. 2018, Apress, 978-1-4842-4167-7**](https://www.amazon.com/Practical-Computer-Vision-Applications-Learning/dp/1484241665).
It is important to note that this project does not implement everything in GA and there are a wide number of variations to be applied. For example, this project uses decimal representation for the chromosome and the binary representations might be preferred for other problems.
13
127
@@ -16,6 +130,7 @@ It is important to note that this project does not implement everything in GA an
0 commit comments