Tags: rengel8/GeneticAlgorithmPython
Tags
Documentation of PyGAD 2.14.3 The new release has some bug fixes when setting the save_best_solutions parameter to True. Previously, the best solution for generation i was added into the best_solutions attribute at generation i+1. Now, the best_solutions attribute is updated by each solution at its exact generation.
New bade added Add a new badge: https://readthedocs.org/projects/pygad/badge
PyGAD 2.14.0 Documentation 1. Issue ahmedfgad#40 is solved. Now, the None value works with the crossover_type and mutation_type parameters: ahmedfgad#40 2. The gene_type parameter supports accepting a list/tuple/numpy.ndarray of numeric data types for the genes. This helps to control the data type of each individual gene. Previously, the gene_type can be assigned only to a single data type that is applied for all genes. 3. A new bool attribute named gene_type_single is added to the pygad.GA class. It is True when there is a single data type assigned to the gene_type parameter. When the gene_type parameter is assigned a list/tuple/numpy.ndarray, then gene_type_single is set to False. 4. The mutation_by_replacement flag now has no effect if gene_space exists except for the genes with None values. For example, for gene_space=[None, [5, 6]] the mutation_by_replacement flag affects only the first gene which has None for its value space. 5. When an element has a value of None in the gene_space parameter (e.g. gene_space=[None, [5, 6]]), then its value will be randomly generated for each solution rather than being generate once for all solutions. Previously, the gene with None value in gene_space is the same across all solutions 6. Some changes in the documentation according to issue ahmedfgad#32: ahmedfgad#32
PyGAD 2.10.2 A bug fix when save_best_solutions=True. Refer to this issue for more information: ahmedfgad#25
PyGAD 2.10.1 Documentation 1. In the `gene_space` parameter, any `None` value (regardless of its index or axis), is replaced by a randomly generated number based on the 3 parameters `init_range_low`, `init_range_high`, and `gene_type`. So, the `None` value in `[..., None, ...]` or `[..., [..., None, ...], ...]` are replaced with random values. This gives more freedom in building the space of values for the genes. 2. All the numbers passed to the `gene_space` parameter are casted to the type specified in the `gene_type` parameter. 3. The `numpy.uint` data type is supported for the parameters that accept integer values. 4. In the `pygad.kerasga` module, the `model_weights_as_vector()` function uses the `trainable` attribute of the model's layers to only return the trainable weights in the network. So, only the trainable layers with their `trainable` attribute set to `True` (`trainable=True`), which is the default value, have their weights evolved. All non-trainable layers with the `trainable` attribute set to `False` (`trainable=False`) will not be evolved. Thanks to [Prof. Tamer A. Farrag](https://github.com/tfarrag2000) for pointing about that at [GitHub](ahmedfgad/KerasGA#1).
Link to TorchGA project at GitHub Link to TorchGA project at GitHub: https://github.com/ahmedfgad/TorchGA
PyGAD 2.9.0 Changes in PyGAD 2.9.0 (06 December 2020): 1. The fitness values of the initial population are considered in the `best_solutions_fitness` attribute. 2. An optional parameter named `save_best_solutions` is added. It defaults to `False`. When it is `True`, then the best solution after each generation is saved into an attribute named `best_solutions`. If `False`, then no solutions are saved and the `best_solutions` attribute will be empty. 3. Scattered crossover is supported. To use it, assign the `crossover_type` parameter the value `"scattered"`. 4. NumPy arrays are now supported by the `gene_space` parameter. 5. The following parameters (`gene_type`, `crossover_probability`, `mutation_probability`, `delay_after_gen`) can be assigned to a numeric value of any of these data types: `int`, `float`, `numpy.int`, `numpy.int8`, `numpy.int16`, `numpy.int32`, `numpy.int64`, `numpy.float`, `numpy.float16`, `numpy.float32`, or `numpy.float64`.
PreviousNext