From f9a4d8411aa0eca2c600fdba56d529ca853499d6 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 15:21:29 -0400 Subject: [PATCH 001/220] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 30ef0a3..52a0f5f 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,7 +1,7 @@ # These are supported funding model platforms github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -PayPal: http://paypal.me/ahmedfgad # Replace with a single Patreon username +PayPal: ahmedfgad # Replace with a single Patreon username open_collective: pygad ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel From b141853cd26a21e834a4205b73dec4eaefd651cc Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 15:21:52 -0400 Subject: [PATCH 002/220] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 52a0f5f..6aeb29e 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,7 +1,7 @@ # These are supported funding model platforms github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -PayPal: ahmedfgad # Replace with a single Patreon username +paypal: http://paypal.me/ahmedfgad # Replace with a single Patreon username open_collective: pygad ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel From d5dbe0e66ae74780c5630489bf46a2fd99c92867 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 15:24:06 -0400 Subject: [PATCH 003/220] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 6aeb29e..d44bede 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,7 +1,7 @@ # These are supported funding model platforms github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -paypal: http://paypal.me/ahmedfgad # Replace with a single Patreon username +# paypal: http://paypal.me/ahmedfgad # Replace with a single Patreon username open_collective: pygad ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel From ed1fa62bc7ca41aff15ff22581ee971468e3d32e Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 15:36:55 -0400 Subject: [PATCH 004/220] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index d44bede..5892ed6 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username -custom: https://donate.stripe.com/eVa5kO866elKgM0144 # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] +custom: ['https://donate.stripe.com/eVa5kO866elKgM0144', 'http://paypal.me/ahmedfgad'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From a62ca2b92ebef81ce557bf78ec2615b72c36d544 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 16:47:05 -0400 Subject: [PATCH 005/220] Update release notes --- docs/source/Footer.rst | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/source/Footer.rst b/docs/source/Footer.rst index 5efa117..6887cbe 100644 --- a/docs/source/Footer.rst +++ b/docs/source/Footer.rst @@ -1196,7 +1196,7 @@ Release Date 23 February 2023 PyGAD 3.0.0 ----------- -Release Date ... 2023 +Release Date 8 April 2023 1. The structure of the library is changed and some methods defined in the ``pygad.py`` module are moved to the ``pygad.utils``, @@ -1204,20 +1204,23 @@ Release Date ... 2023 2. The ``pygad.utils.parent_selection`` module has a class named ``ParentSelection`` where all the parent selection operators exist. + The ``pygad.GA`` class extends this class. 3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` - where all the crossover operators exist. + where all the crossover operators exist. The ``pygad.GA`` class + extends this class. 4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` - where all the mutation operators exist. + where all the mutation operators exist. The ``pygad.GA`` class + extends this class. 5. The ``pygad.helper.unique`` module has a class named ``Unique`` some helper methods exist to solve duplicate genes and make sure every - gene is unique. + gene is unique. The ``pygad.GA`` class extends this class. -6. | The ``pygad.visualize.plot`` module has a class named ``Plot`` - where all the methods that create plots exist. - | The ``pygad.GA`` class extends all of these classes. +6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where + all the methods that create plots exist. The ``pygad.GA`` class + extends this class. .. code:: python From 8ef24c13e0f6d7f98834c6c6485db4fffa7a5ac4 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 8 Apr 2023 16:50:32 -0400 Subject: [PATCH 006/220] Update release 3.0.0 notes --- docs/source/Footer.rst | 70 ++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/docs/source/Footer.rst b/docs/source/Footer.rst index 6887cbe..6de145e 100644 --- a/docs/source/Footer.rst +++ b/docs/source/Footer.rst @@ -1198,84 +1198,74 @@ PyGAD 3.0.0 Release Date 8 April 2023 -1. The structure of the library is changed and some methods defined in - the ``pygad.py`` module are moved to the ``pygad.utils``, - ``pygad.helper``, and ``pygad.visualize`` submodules. +1. The structure of the library is changed and some methods defined in + the ``pygad.py`` module are moved to the ``pygad.utils``, + ``pygad.helper``, and ``pygad.visualize`` submodules. -2. The ``pygad.utils.parent_selection`` module has a class named - ``ParentSelection`` where all the parent selection operators exist. - The ``pygad.GA`` class extends this class. +2. The ``pygad.utils.parent_selection`` module has a class named + ``ParentSelection`` where all the parent selection operators exist. + The ``pygad.GA`` class extends this class. -3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` - where all the crossover operators exist. The ``pygad.GA`` class - extends this class. +3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` + where all the crossover operators exist. The ``pygad.GA`` class + extends this class. -4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` - where all the mutation operators exist. The ``pygad.GA`` class - extends this class. +4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` + where all the mutation operators exist. The ``pygad.GA`` class + extends this class. -5. The ``pygad.helper.unique`` module has a class named ``Unique`` some - helper methods exist to solve duplicate genes and make sure every - gene is unique. The ``pygad.GA`` class extends this class. +5. The ``pygad.helper.unique`` module has a class named ``Unique`` some + helper methods exist to solve duplicate genes and make sure every + gene is unique. The ``pygad.GA`` class extends this class. -6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where - all the methods that create plots exist. The ``pygad.GA`` class - extends this class. +6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where + all the methods that create plots exist. The ``pygad.GA`` class + extends this class. -.. code:: python - - ... - class GA(utils.parent_selection.ParentSelection, - utils.crossover.Crossover, - utils.mutation.Mutation, - helper.unique.Unique, - visualize.plot.Plot): - ... - -1. Support of using the ``logging`` module to log the outputs to both +7. Support of using the ``logging`` module to log the outputs to both the console and text file instead of using the ``print()`` function. This is by assigning the ``logging.Logger`` to the new ``logger`` parameter. Check the `Logging Outputs `__ for more information. -2. A new instance attribute called ``logger`` to save the logger. +8. A new instance attribute called ``logger`` to save the logger. -3. The function/method passed to the ``fitness_func`` parameter accepts +9. The function/method passed to the ``fitness_func`` parameter accepts a new parameter that refers to the instance of the ``pygad.GA`` class. Check this for an example: `Use Functions and Methods to Build Fitness Function and Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163 -4. Update the documentation to include an example of using functions +10. Update the documentation to include an example of using functions and methods to calculate the fitness and build callbacks. Check this for more details: `Use Functions and Methods to Build Fitness Function and Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003 -5. Validate the value passed to the ``initial_population`` parameter. +11. Validate the value passed to the ``initial_population`` parameter. -6. Validate the type and length of the ``pop_fitness`` parameter of the +12. Validate the type and length of the ``pop_fitness`` parameter of the ``best_solution()`` method. -7. Some edits in the documentation. +13. Some edits in the documentation. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/106 -8. Fix an issue when building the initial population as (some) genes +14. Fix an issue when building the initial population as (some) genes have their value taken from the mutation range (defined by the parameters ``random_mutation_min_val`` and ``random_mutation_max_val``) instead of using the parameters ``init_range_low`` and ``init_range_high``. -9. The ``summary()`` method returns the summary as a single-line +15. The ``summary()`` method returns the summary as a single-line string. Just log/print the returned string it to see it properly. -10. The ``callback_generation`` parameter is removed. Use the +16. The ``callback_generation`` parameter is removed. Use the ``on_generation`` parameter instead. -11. There was an issue when using the ``parallel_processing`` parameter +17. There was an issue when using the ``parallel_processing`` parameter with Keras and PyTorch. As Keras/PyTorch are not thread-safe, the ``predict()`` method gives incorrect and weird results when more than 1 thread is used. @@ -1285,7 +1275,7 @@ Release Date 8 April 2023 `StackOverflow answer `__. -12. Replace ``numpy.float`` by ``float`` in the 2 parent selection +18. Replace ``numpy.float`` by ``float`` in the 2 parent selection operators roulette wheel and stochastic universal. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/168 From 1c43819d30d44ce80e87c38a508ed8c730e41cba Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 10 Apr 2023 14:34:54 -0400 Subject: [PATCH 007/220] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 015c020..ef5a7ae 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,7 @@ Install PyGAD with the following command: pip install pygad ``` -PyGAD is developed in Python 3.7.3 and depends on NumPy for creating and manipulating arrays and Matplotlib for creating figures. The exact NumPy version used in developing PyGAD is 1.16.4. For Matplotlib, the version is 3.1.0. - -To get started with PyGAD, please read the documentation at [Read The Docs](https://pygad.readthedocs.io/) https://pygad.readthedocs.io. +To get started with PyGAD, please read the documentation at [Read The Docs](https://pygad.readthedocs.io) https://pygad.readthedocs.io. # PyGAD Source Code From 38e27cbb6b21b4fc4c01661271159938eb5fdcaf Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:40:33 -0400 Subject: [PATCH 008/220] Upload all package files The repository only had the pygad.py script and some few other scripts. Other scripts in the library exist in these repositories: 1) https://github.com/ahmedfgad/NumPyANN 2) https://github.com/ahmedfgad/NumPyCNN 3) https://github.com/ahmedfgad/NeuralGenetic 4) https://github.com/ahmedfgad/CNNGenetic 5) https://github.com/ahmedfgad/KerasGA 6) https://github.com/ahmedfgad/TorchGA Now, the pygad directory has all the scripts in the library. --- pygad/__init__.py | 3 + pygad/cnn/__init__.py | 4 + pygad/cnn/cnn.py | 849 ++++++++++++ pygad/gacnn/__init__.py | 4 + pygad/gacnn/gacnn.py | 97 ++ pygad/gann/__init__.py | 4 + pygad/gann/gann.py | 269 ++++ pygad/helper/__init__.py | 3 + pygad/helper/unique.py | 638 +++++++++ pygad/kerasga/__init__.py | 3 + pygad/kerasga/kerasga.py | 89 ++ pygad/nn/__init__.py | 4 + pygad/nn/nn.py | 399 ++++++ pygad/pygad.py | 2219 +++++++++++++++++++++++++++++++ pygad/torchga/__init__.py | 3 + pygad/torchga/torchga.py | 90 ++ pygad/utils/__init__.py | 5 + pygad/utils/crossover.py | 248 ++++ pygad/utils/mutation.py | 822 ++++++++++++ pygad/utils/parent_selection.py | 191 +++ pygad/visualize/__init__.py | 3 + pygad/visualize/plot.py | 348 +++++ 22 files changed, 6295 insertions(+) create mode 100644 pygad/__init__.py create mode 100644 pygad/cnn/__init__.py create mode 100644 pygad/cnn/cnn.py create mode 100644 pygad/gacnn/__init__.py create mode 100644 pygad/gacnn/gacnn.py create mode 100644 pygad/gann/__init__.py create mode 100644 pygad/gann/gann.py create mode 100644 pygad/helper/__init__.py create mode 100644 pygad/helper/unique.py create mode 100644 pygad/kerasga/__init__.py create mode 100644 pygad/kerasga/kerasga.py create mode 100644 pygad/nn/__init__.py create mode 100644 pygad/nn/nn.py create mode 100644 pygad/pygad.py create mode 100644 pygad/torchga/__init__.py create mode 100644 pygad/torchga/torchga.py create mode 100644 pygad/utils/__init__.py create mode 100644 pygad/utils/crossover.py create mode 100644 pygad/utils/mutation.py create mode 100644 pygad/utils/parent_selection.py create mode 100644 pygad/visualize/__init__.py create mode 100644 pygad/visualize/plot.py diff --git a/pygad/__init__.py b/pygad/__init__.py new file mode 100644 index 0000000..71f207b --- /dev/null +++ b/pygad/__init__.py @@ -0,0 +1,3 @@ +from .pygad import * # Relative import. + +__version__ = "3.0.0" diff --git a/pygad/cnn/__init__.py b/pygad/cnn/__init__.py new file mode 100644 index 0000000..57e6d6f --- /dev/null +++ b/pygad/cnn/__init__.py @@ -0,0 +1,4 @@ +from .cnn import * + +__version__ = "1.0.0" + diff --git a/pygad/cnn/cnn.py b/pygad/cnn/cnn.py new file mode 100644 index 0000000..0e78a52 --- /dev/null +++ b/pygad/cnn/cnn.py @@ -0,0 +1,849 @@ +import numpy +import functools + +""" +Convolutional neural network implementation using NumPy +A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: + https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad + https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a + https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html +It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 +""" + +# Supported activation functions by the cnn.py module. +supported_activation_functions = ("sigmoid", "relu", "softmax") + +def sigmoid(sop): + + """ + Applies the sigmoid function. + + sop: The input to which the sigmoid function is applied. + + Returns the result of the sigmoid function. + """ + + if type(sop) in [list, tuple]: + sop = numpy.array(sop) + + return 1.0 / (1 + numpy.exp(-1 * sop)) + +def relu(sop): + + """ + Applies the rectified linear unit (ReLU) function. + + sop: The input to which the relu function is applied. + + Returns the result of the ReLU function. + """ + + if not (type(sop) in [list, tuple, numpy.ndarray]): + if sop < 0: + return 0 + else: + return sop + elif type(sop) in [list, tuple]: + sop = numpy.array(sop) + + result = sop + result[sop < 0] = 0 + + return result + +def softmax(layer_outputs): + + """ + Applies the sotmax function. + + sop: The input to which the softmax function is applied. + + Returns the result of the softmax function. + """ + return layer_outputs / (numpy.sum(layer_outputs) + 0.000001) + +def layers_weights(model, initial=True): + + """ + Creates a list holding the weights of all layers in the CNN. + + model: A reference to the instance from the cnn.Model class. + initial: When True, the function returns the initial weights of the layers. When False, the trained weights of the layers are returned. The initial weights are only needed before network training starts. The trained weights are needed to predict the network outputs. + + Returns a list (network_weights) holding the weights of the layers in the CNN. + """ + + network_weights = [] + + layer = model.last_layer + while "previous_layer" in layer.__init__.__code__.co_varnames: + if type(layer) in [Conv2D, Dense]: + # If the 'initial' parameter is True, append the initial weights. Otherwise, append the trained weights. + if initial == True: + network_weights.append(layer.initial_weights) + elif initial == False: + network_weights.append(layer.trained_weights) + else: + raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + + # Go to the previous layer. + layer = layer.previous_layer + + # If the first layer in the network is not an input layer (i.e. an instance of the Input2D class), raise an error. + if not (type(layer) is Input2D): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. + # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). + network_weights.reverse() + return numpy.array(network_weights) + +def layers_weights_as_matrix(model, vector_weights): + + """ + Converts the network weights from vectors to matrices. + + model: A reference to the instance from the cnn.Model class. + vector_weights: The network weights as vectors where the weights of each layer form a single vector. + + Returns a list (network_weights) holding the weights of the CNN layers as matrices. + """ + + network_weights = [] + + start = 0 + layer = model.last_layer + vector_weights = vector_weights[::-1] + while "previous_layer" in layer.__init__.__code__.co_varnames: + if type(layer) in [Conv2D, Dense]: + layer_weights_shape = layer.initial_weights.shape + layer_weights_size = layer.initial_weights.size + + weights_vector=vector_weights[start:start + layer_weights_size] + # matrix = pygad.nn.DenseLayer.to_array(vector=weights_vector, shape=layer_weights_shape) + matrix = numpy.reshape(weights_vector, newshape=(layer_weights_shape)) + network_weights.append(matrix) + + start = start + layer_weights_size + + # Go to the previous layer. + layer = layer.previous_layer + + # If the first layer in the network is not an input layer (i.e. an instance of the Input2D class), raise an error. + if not (type(layer) is Input2D): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. + # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). + network_weights.reverse() + return numpy.array(network_weights) + +def layers_weights_as_vector(model, initial=True): + + """ + Creates a list holding the weights of each layer (Conv and Dense) in the CNN as a vector. + + model: A reference to the instance from the cnn.Model class. + initial: When True, the function returns the initial weights of the CNN. When False, the trained weights of the CNN layers are returned. The initial weights are only needed before network training starts. The trained weights are needed to predict the network outputs. + + Returns a list (network_weights) holding the weights of the CNN layers as a vector. + """ + + network_weights = [] + + layer = model.last_layer + while "previous_layer" in layer.__init__.__code__.co_varnames: + if type(layer) in [Conv2D, Dense]: + # If the 'initial' parameter is True, append the initial weights. Otherwise, append the trained weights. + if initial == True: + vector = numpy.reshape(layer.initial_weights, newshape=(layer.initial_weights.size)) + # vector = pygad.nn.DenseLayer.to_vector(matrix=layer.initial_weights) + network_weights.extend(vector) + elif initial == False: + vector = numpy.reshape(layer.trained_weights, newshape=(layer.trained_weights.size)) + # vector = pygad.nn.DenseLayer.to_vector(array=layer.trained_weights) + network_weights.extend(vector) + else: + raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + + # Go to the previous layer. + layer = layer.previous_layer + + # If the first layer in the network is not an input layer (i.e. an instance of the Input2D class), raise an error. + if not (type(layer) is Input2D): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. + # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). + network_weights.reverse() + return numpy.array(network_weights) + +def update_layers_trained_weights(model, final_weights): + + """ + After the network weights are trained, the 'trained_weights' attribute of each layer is updated by the weights calculated after passing all the epochs (such weights are passed in the 'final_weights' parameter). + By just passing a reference to the last layer in the network (i.e. output layer) in addition to the final weights, this function updates the 'trained_weights' attribute of all layers. + + model: A reference to the instance from the cnn.Model class. + final_weights: An array of layers weights as matrices after passing through all the epochs. + """ + + layer = model.last_layer + layer_idx = len(final_weights) - 1 + while "previous_layer" in layer.__init__.__code__.co_varnames: + if type(layer) in [Conv2D, Dense]: + layer.trained_weights = final_weights[layer_idx] + + layer_idx = layer_idx - 1 + + # Go to the previous layer. + layer = layer.previous_layer + +class Input2D: + + """ + Implementing the input layer of a CNN. + The CNN architecture must start with an input layer. + """ + + def __init__(self, input_shape): + + """ + input_shape: Shape of the input sample to the CNN. + """ + + # If the input sample has less than 2 dimensions, then an exception is raised. + if len(input_shape) < 2: + raise ValueError("The Input2D class creates an input layer for data inputs with at least 2 dimensions but ({num_dim}) dimensions found.".format(num_dim=len(input_shape))) + # If the input sample has exactly 2 dimensions, the third dimension is set to 1. + elif len(input_shape) == 2: + input_shape = (input_shape[0], input_shape[1], 1) + + for dim_idx, dim in enumerate(input_shape): + if dim <= 0: + raise ValueError("The dimension size of the inputs cannot be <= 0. Please pass a valid value to the 'input_size' parameter.") + + self.input_shape = input_shape # Shape of the input sample. + self.layer_output_size = input_shape # Shape of the output from the current layer. For an input layer, it is the same as the shape of the input sample. + +class Conv2D: + + """ + Implementing the convolution layer. + """ + + def __init__(self, num_filters, kernel_size, previous_layer, activation_function=None): + + """ + num_filters: Number of filters in the convolution layer. + kernel_size: Kernel size of the filter. + previous_layer: A reference to the previous layer. + activation_function=None: The name of the activation function to be used in the conv layer. If None, then no activation function is applied besides the convolution operation. The activation function can be applied by a separate layer. + """ + + if num_filters <= 0: + raise ValueError("Number of filters cannot be <= 0. Please pass a valid value to the 'num_filters' parameter.") + # Number of filters in the conv layer. + self.num_filters = num_filters + + if kernel_size <= 0: + raise ValueError("The kernel size cannot be <= 0. Please pass a valid value to the 'kernel_size' parameter.") + # Kernel size of each filter. + self.kernel_size = kernel_size + + # Validating the activation function + if (activation_function is None): + self.activation = None + elif (activation_function == "relu"): + self.activation = relu + elif (activation_function == "sigmoid"): + self.activation = sigmoid + elif (activation_function == "softmax"): + raise ValueError("The softmax activation function cannot be used in a conv layer.") + else: + raise ValueError("The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.".format(activation_function=activation_function, supported_activation_functions=supported_activation_functions)) + + # The activation function used in the current layer. + self.activation_function = activation_function + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # A reference to the bank of filters. + self.filter_bank_size = (self.num_filters, + self.kernel_size, + self.kernel_size, + self.previous_layer.layer_output_size[-1]) + + # Initializing the filters of the conv layer. + self.initial_weights = numpy.random.uniform(low=-0.1, + high=0.1, + size=self.filter_bank_size) + + # The trained filters of the conv layer. Only assigned a value after the network is trained (i.e. the train_network() function completes). + # Just initialized to be equal to the initial filters + self.trained_weights = self.initial_weights.copy() + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + # Later, it must conider strides and paddings + self.layer_output_size = (self.previous_layer.layer_output_size[0] - self.kernel_size + 1, + self.previous_layer.layer_output_size[1] - self.kernel_size + 1, + num_filters) + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def conv_(self, input2D, conv_filter): + + """ + Convolves the input (input2D) by a single filter (conv_filter). + + input2D: The input to be convolved by a single filter. + conv_filter: The filter convolving the input. + + Returns the result of convolution. + """ + + result = numpy.zeros(shape=(input2D.shape[0], input2D.shape[1], conv_filter.shape[0])) + # Looping through the image to apply the convolution operation. + for r in numpy.uint16(numpy.arange(self.filter_bank_size[1]/2.0, + input2D.shape[0]-self.filter_bank_size[1]/2.0+1)): + for c in numpy.uint16(numpy.arange(self.filter_bank_size[1]/2.0, + input2D.shape[1]-self.filter_bank_size[1]/2.0+1)): + """ + Getting the current region to get multiplied with the filter. + How to loop through the image and get the region based on + the image and filer sizes is the most tricky part of convolution. + """ + if len(input2D.shape) == 2: + curr_region = input2D[r-numpy.uint16(numpy.floor(self.filter_bank_size[1]/2.0)):r+numpy.uint16(numpy.ceil(self.filter_bank_size[1]/2.0)), + c-numpy.uint16(numpy.floor(self.filter_bank_size[1]/2.0)):c+numpy.uint16(numpy.ceil(self.filter_bank_size[1]/2.0))] + else: + curr_region = input2D[r-numpy.uint16(numpy.floor(self.filter_bank_size[1]/2.0)):r+numpy.uint16(numpy.ceil(self.filter_bank_size[1]/2.0)), + c-numpy.uint16(numpy.floor(self.filter_bank_size[1]/2.0)):c+numpy.uint16(numpy.ceil(self.filter_bank_size[1]/2.0)), :] + # Element-wise multipliplication between the current region and the filter. + + for filter_idx in range(conv_filter.shape[0]): + curr_result = curr_region * conv_filter[filter_idx] + conv_sum = numpy.sum(curr_result) # Summing the result of multiplication. + + if self.activation is None: + result[r, c, filter_idx] = conv_sum # Saving the SOP in the convolution layer feature map. + else: + result[r, c, filter_idx] = self.activation(conv_sum) # Saving the activation function result in the convolution layer feature map. + + # Clipping the outliers of the result matrix. + final_result = result[numpy.uint16(self.filter_bank_size[1]/2.0):result.shape[0]-numpy.uint16(self.filter_bank_size[1]/2.0), + numpy.uint16(self.filter_bank_size[1]/2.0):result.shape[1]-numpy.uint16(self.filter_bank_size[1]/2.0), :] + return final_result + + def conv(self, input2D): + + """ + Convolves the input (input2D) by a filter bank. + + input2D: The input to be convolved by the filter bank. + + The conv() method saves the result of convolving the input by the filter bank in the layer_output attribute. + """ + + if len(input2D.shape) != len(self.initial_weights.shape) - 1: # Check if there is a match in the number of dimensions between the image and the filters. + raise ValueError("Number of dimensions in the conv filter and the input do not match.") + if len(input2D.shape) > 2 or len(self.initial_weights.shape) > 3: # Check if number of image channels matches the filter depth. + if input2D.shape[-1] != self.initial_weights.shape[-1]: + raise ValueError("Number of channels in both the input and the filter must match.") + if self.initial_weights.shape[1] != self.initial_weights.shape[2]: # Check if filter dimensions are equal. + raise ValueError('A filter must be a square matrix. I.e. number of rows and columns must match.') + if self.initial_weights.shape[1]%2==0: # Check if filter diemnsions are odd. + raise ValueError('A filter must have an odd size. I.e. number of rows and columns must be odd.') + + self.layer_output = self.conv_(input2D, self.trained_weights) + +class AveragePooling2D: + + """ + Implementing the average pooling layer. + """ + + def __init__(self, pool_size, previous_layer, stride=2): + + """ + pool_size: Pool size. + previous_layer: Reference to the previous layer in the CNN architecture. + stride=2: Stride + """ + + if not (type(pool_size) is int): + raise ValueError("The expected type of the pool_size is int but {pool_size_type} found.".format(pool_size_type=type(pool_size))) + + if pool_size <= 0: + raise ValueError("The passed value to the pool_size parameter cannot be <= 0.") + self.pool_size = pool_size + + if stride <= 0: + raise ValueError("The passed value to the stride parameter cannot be <= 0.") + self.stride = stride + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + self.layer_output_size = (numpy.uint16((self.previous_layer.layer_output_size[0] - self.pool_size + 1)/stride + 1), + numpy.uint16((self.previous_layer.layer_output_size[1] - self.pool_size + 1)/stride + 1), + self.previous_layer.layer_output_size[-1]) + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def average_pooling(self, input2D): + + """ + Applies the average pooling operation. + + input2D: The input to which the average pooling operation is applied. + + The average_pooling() method saves its result in the layer_output attribute. + """ + + # Preparing the output of the pooling operation. + pool_out = numpy.zeros((numpy.uint16((input2D.shape[0]-self.pool_size+1)/self.stride+1), + numpy.uint16((input2D.shape[1]-self.pool_size+1)/self.stride+1), + input2D.shape[-1])) + for map_num in range(input2D.shape[-1]): + r2 = 0 + for r in numpy.arange(0,input2D.shape[0]-self.pool_size+1, self.stride): + c2 = 0 + for c in numpy.arange(0, input2D.shape[1]-self.pool_size+1, self.stride): + pool_out[r2, c2, map_num] = numpy.mean([input2D[r:r+self.pool_size, c:c+self.pool_size, map_num]]) + c2 = c2 + 1 + r2 = r2 +1 + + self.layer_output = pool_out + +class MaxPooling2D: + + """ + Similar to the AveragePooling2D class except that it implements max pooling. + """ + + def __init__(self, pool_size, previous_layer, stride=2): + + """ + pool_size: Pool size. + previous_layer: Reference to the previous layer in the CNN architecture. + stride=2: Stride + """ + + if not (type(pool_size) is int): + raise ValueError("The expected type of the pool_size is int but {pool_size_type} found.".format(pool_size_type=type(pool_size))) + + if pool_size <= 0: + raise ValueError("The passed value to the pool_size parameter cannot be <= 0.") + self.pool_size = pool_size + + if stride <= 0: + raise ValueError("The passed value to the stride parameter cannot be <= 0.") + self.stride = stride + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + self.layer_output_size = (numpy.uint16((self.previous_layer.layer_output_size[0] - self.pool_size + 1)/stride + 1), + numpy.uint16((self.previous_layer.layer_output_size[1] - self.pool_size + 1)/stride + 1), + self.previous_layer.layer_output_size[-1]) + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def max_pooling(self, input2D): + + """ + Applies the max pooling operation. + + input2D: The input to which the max pooling operation is applied. + + The max_pooling() method saves its result in the layer_output attribute. + """ + + # Preparing the output of the pooling operation. + pool_out = numpy.zeros((numpy.uint16((input2D.shape[0]-self.pool_size+1)/self.stride+1), + numpy.uint16((input2D.shape[1]-self.pool_size+1)/self.stride+1), + input2D.shape[-1])) + for map_num in range(input2D.shape[-1]): + r2 = 0 + for r in numpy.arange(0,input2D.shape[0]-self.pool_size+1, self.stride): + c2 = 0 + for c in numpy.arange(0, input2D.shape[1]-self.pool_size+1, self.stride): + pool_out[r2, c2, map_num] = numpy.max([input2D[r:r+self.pool_size, c:c+self.pool_size, map_num]]) + c2 = c2 + 1 + r2 = r2 +1 + + self.layer_output = pool_out + +class ReLU: + + """ + Implementing the ReLU layer. + """ + + def __init__(self, previous_layer): + + """ + previous_layer: Reference to the previous layer. + """ + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + self.layer_output_size = self.previous_layer.layer_output_size + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def relu_layer(self, layer_input): + + """ + Applies the ReLU function over all elements in input to the ReLU layer. + + layer_input: The input to which the ReLU function is applied. + + The relu_layer() method saves its result in the layer_output attribute. + """ + + self.layer_output_size = layer_input.size + self.layer_output = relu(layer_input) + +class Sigmoid: + + """ + Implementing the sigmoid layer. + """ + + def __init__(self, previous_layer): + + """ + previous_layer: Reference to the previous layer. + """ + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + self.layer_output_size = self.previous_layer.layer_output_size + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def sigmoid_layer(self, layer_input): + + """ + Applies the sigmoid function over all elements in input to the sigmoid layer. + + layer_input: The input to which the sigmoid function is applied. + + The sigmoid_layer() method saves its result in the layer_output attribute. + """ + + self.layer_output_size = layer_input.size + self.layer_output = sigmoid(layer_input) + +class Flatten: + + """ + Implementing the flatten layer. + """ + + def __init__(self, previous_layer): + + """ + previous_layer: Reference to the previous layer. + """ + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + self.layer_output_size = functools.reduce(lambda x, y: x*y, self.previous_layer.layer_output_size) + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def flatten(self, input2D): + + """ + Reshapes the input into a 1D vector. + + input2D: The input to the Flatten layer that will be converted into a 1D vector. + + The flatten() method saves its result in the layer_output attribute. + """ + + self.layer_output_size = input2D.size + self.layer_output = numpy.ravel(input2D) + +class Dense: + + """ + Implementing the input dense (fully connected) layer of a CNN. + """ + + def __init__(self, num_neurons, previous_layer, activation_function="relu"): + + """ + num_neurons: Number of neurons in the dense layer. + previous_layer: Reference to the previous layer. + activation_function: Name of the activation function to be used in the current layer. + """ + + if num_neurons <= 0: + raise ValueError("Number of neurons cannot be <= 0. Please pass a valid value to the 'num_neurons' parameter.") + + # Number of neurons in the dense layer. + self.num_neurons = num_neurons + + # Validating the activation function + if (activation_function == "relu"): + self.activation = relu + elif (activation_function == "sigmoid"): + self.activation = sigmoid + elif (activation_function == "softmax"): + self.activation = softmax + else: + raise ValueError("The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.".format(activation_function=activation_function, supported_activation_functions=supported_activation_functions)) + + self.activation_function = activation_function + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + if type(self.previous_layer.layer_output_size) in [list, tuple, numpy.ndarray] and len(self.previous_layer.layer_output_size) > 1: + raise ValueError("The input to the dense layer must be of type int but {sh} found.".format(sh=type(self.previous_layer.layer_output_size))) + # Initializing the weights of the layer. + self.initial_weights = numpy.random.uniform(low=-0.1, + high=0.1, + size=(self.previous_layer.layer_output_size, self.num_neurons)) + + # The trained weights of the layer. Only assigned a value after the network is trained (i.e. the train_network() function completes). + # Just initialized to be equal to the initial weights + self.trained_weights = self.initial_weights.copy() + + # Size of the input to the layer. + self.layer_input_size = self.previous_layer.layer_output_size + + # Size of the output from the layer. + self.layer_output_size = num_neurons + + # The layer_output attribute holds the latest output from the layer. + self.layer_output = None + + def dense_layer(self, layer_input): + + """ + Calculates the output of the dense layer. + + layer_input: The input to the dense layer + + The dense_layer() method saves its result in the layer_output attribute. + """ + + if self.trained_weights is None: + raise TypeError("The weights of the dense layer cannot be of Type 'None'.") + + sop = numpy.matmul(layer_input, self.trained_weights) + + self.layer_output = self.activation(sop) + +class Model: + + """ + Creating a CNN model. + """ + + def __init__(self, last_layer, epochs=10, learning_rate=0.01): + + """ + last_layer: A reference to the last layer in the CNN architecture. + epochs=10: Number of epochs. + learning_rate=0.01: Learning rate. + """ + + self.last_layer = last_layer + self.epochs = epochs + self.learning_rate = learning_rate + + # The network_layers attribute is a list holding references to all CNN layers. + self.network_layers = self.get_layers() + + def get_layers(self): + + """ + Prepares a list of all layers in the CNN model. + Returns the list. + """ + + network_layers = [] + + # The last layer in the network archietcture. + layer = self.last_layer + + while "previous_layer" in layer.__init__.__code__.co_varnames: + network_layers.insert(0, layer) + layer = layer.previous_layer + + return network_layers + + def train(self, train_inputs, train_outputs): + + """ + Trains the CNN model. + It is important to note that no learning algorithm is used for training the CNN. Just the learning rate is used for making some changes which is better than leaving the weights unchanged. + + train_inputs: Training data inputs. + train_outputs: Training data outputs. + """ + + if (train_inputs.ndim != 4): + raise ValueError("The training data input has {num_dims} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.".format(num_dims=train_inputs.ndim)) + + if (train_inputs.shape[0] != len(train_outputs)): + raise ValueError("Mismatch between the number of input samples and number of labels: {num_samples_inputs} != {num_samples_outputs}.".format(num_samples_inputs=train_inputs.shape[0], num_samples_outputs=len(train_outputs))) + + network_predictions = [] + network_error = 0 + + for epoch in range(self.epochs): + print("Epoch {epoch}".format(epoch=epoch)) + for sample_idx in range(train_inputs.shape[0]): + # print("Sample {sample_idx}".format(sample_idx=sample_idx)) + self.feed_sample(train_inputs[sample_idx, :]) + + try: + predicted_label = numpy.where(numpy.max(self.last_layer.layer_output) == self.last_layer.layer_output)[0][0] + except IndexError: + print(self.last_layer.layer_output) + raise IndexError("Index out of range") + network_predictions.append(predicted_label) + + network_error = network_error + abs(predicted_label - train_outputs[sample_idx]) + + self.update_weights(network_error) + + def feed_sample(self, sample): + + """ + Feeds a sample in the CNN layers. + + sample: The samples to be fed to the CNN layers. + + Returns results of the last layer in the CNN. + """ + + last_layer_outputs = sample + for layer in self.network_layers: + if type(layer) is Conv2D: +# import time +# time1 = time.time() + layer.conv(input2D=last_layer_outputs) +# time2 = time.time() +# print(time2 - time1) + elif type(layer) is Dense: + layer.dense_layer(layer_input=last_layer_outputs) + elif type(layer) is MaxPooling2D: + layer.max_pooling(input2D=last_layer_outputs) + elif type(layer) is AveragePooling2D: + layer.average_pooling(input2D=last_layer_outputs) + elif type(layer) is ReLU: + layer.relu_layer(layer_input=last_layer_outputs) + elif type(layer) is Sigmoid: + layer.sigmoid_layer(layer_input=last_layer_outputs) + elif type(layer) is Flatten: + layer.flatten(input2D=last_layer_outputs) + elif type(layer) is Input2D: + pass + else: + print("Other") + raise TypeError("The layer of type {layer_type} is not supported yet.".format(layer_type=type(layer))) + + last_layer_outputs = layer.layer_output + return self.network_layers[-1].layer_output + + def update_weights(self, network_error): + + """ + Updates the weights of the CNN. + It is important to note that no learning algorithm is used for training the CNN. Just the learning rate is used for making some changes which is better than leaving the weights unchanged. + + This method loops through the layers and updates their weights. + + network_error: The network error in the last epoch. + """ + + for layer in self.network_layers: + if "trained_weights" in vars(layer).keys(): + layer.trained_weights = layer.trained_weights - network_error * self.learning_rate * layer.trained_weights + + def predict(self, data_inputs): + + """ + Uses the trained CNN for making predictions. + + data_inputs: The inputs to predict their label. + + Returns a list holding the samples predictions. + """ + + if (data_inputs.ndim != 4): + raise ValueError("The data input has {num_dims} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.".format(num_dims=data_inputs.ndim)) + + predictions = [] + for sample in data_inputs: + probs = self.feed_sample(sample=sample) + predicted_label = numpy.where(numpy.max(probs) == probs)[0][0] + predictions.append(predicted_label) + return predictions + + def summary(self): + + """ + Prints a summary of the CNN architecture. + """ + + print("\n----------Network Architecture----------") + for layer in self.network_layers: + print(type(layer)) + print("----------------------------------------\n") diff --git a/pygad/gacnn/__init__.py b/pygad/gacnn/__init__.py new file mode 100644 index 0000000..95cb104 --- /dev/null +++ b/pygad/gacnn/__init__.py @@ -0,0 +1,4 @@ +from .gacnn import * + +__version__ = "1.0.0" + diff --git a/pygad/gacnn/gacnn.py b/pygad/gacnn/gacnn.py new file mode 100644 index 0000000..1623c7d --- /dev/null +++ b/pygad/gacnn/gacnn.py @@ -0,0 +1,97 @@ +from ..cnn import cnn +import copy + +def population_as_vectors(population_networks): + + """ + Accepts the population as networks and returns a list holding all weights of the CNN layers of each solution (i.e. network) in the population as a vector. + If the population has 6 solutions (i.e. networks), this function accepts references to such networks and returns a list with 6 vectors, one for each network (i.e. solution). Each vector holds the weights for all layers for a single CNN. + + population_networks: A list holding references to the CNN models used in the population. + + Returns a list holding the weights vectors for all solutions (i.e. networks). + """ + + population_vectors = [] + for solution in population_networks: + # Converting the weights of single layer from the current CNN (i.e. solution) to a vector. + solution_weights_vector = cnn.layers_weights_as_vector(solution) + # Appending the weights vector of the current layer of a CNN (i.e. solution) to the weights of the previous layers of the same CNN (i.e. solution). + population_vectors.append(solution_weights_vector) + + return population_vectors + +def population_as_matrices(population_networks, population_vectors): + + """ + Accepts the population as both networks and weights vectors and returns the weights of all layers of each solution (i.e. CNN) in the population as a matrix. + If the population has 6 solutions (i.e. networks), this function returns a list with 6 matrices, one for each network holding its weights for all layers. + + population_networks: A list holding references to the output (last) layers of the neural networks used in the population. + population_vectors: A list holding the weights of all networks as vectors. Such vectors are to be converted into matrices. + + Returns a list holding the weights matrices for all solutions (i.e. networks). + """ + + population_matrices = [] + for solution, solution_weights_vector in zip(population_networks, population_vectors): + # Converting the weights of single layer from the current CNN (i.e. solution) from a vector to a matrix. + solution_weights_matrix = cnn.layers_weights_as_matrix(solution, solution_weights_vector) + # Appending the weights matrix of the current layer of a CNN (i.e. solution) to the weights of the previous layers of the same network (i.e. solution). + population_matrices.append(solution_weights_matrix) + + return population_matrices + +class GACNN: + + def create_population(self): + + """ + Creates the initial population of the genetic algorithm as a list of CNNs (i.e. solutions). Each element in the list holds a reference to the instance of the cnn.Model class. + + The method returns the list holding the references to the CNN models. + """ + + population_networks = [] + for solution in range(self.num_solutions): + + network = copy.deepcopy(self.model) + + # Appending the CNN model to the list of population networks. + population_networks.append(network) + + return population_networks + + def __init__(self, model, num_solutions): + + """ + Creates an instance of the GACNN class for training a CNN using the genetic algorithm. + The constructor of the GACNN class creates an initial population of multiple CNNs using the create_population() method. + The population returned holds references to instances of the cnn.Model class. + + model: An instance of the pygad.cnn.Model class representing the architecture of all solutions in the population. + num_solutions: Number of CNNs (i.e. solutions) in the population. Based on the value passed to this parameter, a number of identical CNNs are created where their parameters are optimized using the genetic algorithm. + """ + + self.model = model + + self.num_solutions = num_solutions + + # A list holding references to all the solutions (i.e. CNNs) used in the population. + self.population_networks = self.create_population() + + def update_population_trained_weights(self, population_trained_weights): + + """ + The `update_population_trained_weights()` method updates the `trained_weights` attribute of each CNN according to the weights passed in the `population_trained_weights` parameter. + + population_trained_weights: A list holding the trained weights of all networks as matrices. Such matrices are to be assigned to the 'trained_weights' attribute of all layers of all CNNs. + """ + + idx = 0 + # Fetches all layers weights matrices for a single solution (i.e. CNN) + for solution in self.population_networks: + # Calling the cnn.update_layers_trained_weights() function for updating the 'trained_weights' attribute for all layers in the current solution (i.e. CNN). + cnn.update_layers_trained_weights(model=solution, + final_weights=population_trained_weights[idx]) + idx = idx + 1 diff --git a/pygad/gann/__init__.py b/pygad/gann/__init__.py new file mode 100644 index 0000000..ff458d4 --- /dev/null +++ b/pygad/gann/__init__.py @@ -0,0 +1,4 @@ +from .gann import * + +__version__ = "1.0.1" + diff --git a/pygad/gann/gann.py b/pygad/gann/gann.py new file mode 100644 index 0000000..69eea98 --- /dev/null +++ b/pygad/gann/gann.py @@ -0,0 +1,269 @@ +from ..nn import nn + +def validate_network_parameters(num_neurons_input, + num_neurons_output, + num_neurons_hidden_layers, + output_activation, + hidden_activations, + num_solutions=None): + """ + Validating the parameters passed to initial_population_networks() in addition to creating a list of the name(s) of the activation function(s) for the hidden layer(s). + In case that the value passed to the 'hidden_activations' parameter is a string not a list, then a list is created by replicating the passed name a number of times equal to the number of hidden layers (i.e. the length of the 'num_neurons_hidden_layers' parameter). + If an invalid parameter found, an exception is raised and the execution stops. + + The function accepts the same parameters passed to the constructor of the GANN class. + + num_neurons_input: Number of neurons in the input layer. + num_neurons_output: Number of neurons in the output layer. + num_neurons_hidden_layers: A list holding the number of neurons in the hidden layer(s). + output_activation: The name of the activation function of the output layer. + hidden_activations: The name(s) of the activation function(s) of the hidden layer(s). + num_solutions: Number of solutions (i.e. networks) in the population which defaults to None. The reason why this function sets a default value to the `num_solutions` parameter is differentiating whether a population of networks or a single network is to be created. If `None`, then a single network will be created. If not `None`, then a population of networks is to be created. + + Returns a list holding the name(s) of the activation function(s) for the hidden layer(s). + """ + + # Validating the number of solutions within the population. + if not (num_solutions is None): + if num_solutions < 2: + raise ValueError("num_solutions: The number of solutions within the population must be at least 2. The current value is {num_solutions}.".format(num_solutions=num_solutions)) + + # Validating the number of neurons in the input layer. + if num_neurons_input is int and num_neurons_input <= 0: + raise ValueError("num_neurons_input: The number of neurons in the input layer must be > 0.") + + # Validating the number of neurons in the output layer. + if num_neurons_output is int and num_neurons_output <= 0: + raise ValueError("num_neurons_output: The number of neurons in the output layer must be > 0.") + + # Validating the type of the 'num_neurons_hidden_layers' parameter which is expected to be list or tuple. + if not (type(num_neurons_hidden_layers) in [list, tuple]): + raise TypeError("num_neurons_hidden_layers: A list or a tuple is expected but {hidden_layers_neurons_type} found.".format(hidden_layers_neurons_type=type(num_neurons_hidden_layers))) + + # Frequently used error messages. + unexpected_output_activation_value = "Output activation function: The activation function of the output layer is passed as a string not {activation_type}." + unexpected_activation_value = "Activation function: The supported values for the activation function are {supported_activations} but an unexpected value is found:\n{activations}" + unexpected_activation_type = "Activation Function: A list, tuple, or a string is expected but {activations_type} found." + length_mismatch = "Hidden activation functions: When passing the activation function(s) as a list or a tuple, its length must match the length of the 'num_neurons_hidden_layers' parameter but a mismatch is found:\n{mismatched_lengths}" + + # A list of the names of the supported activation functions. + supported_activations = ["sigmoid", "relu", "softmax", "None"] + + # Validating the output layer activation function. + if not (type(output_activation) is str): + raise ValueError(unexpected_output_activation_value.format(activation_type=type(output_activation))) + if not (output_activation in supported_activations): #activation_type + raise ValueError(unexpected_activation_value.format(activations=output_activation, supported_activations=supported_activations)) + + # Number of hidden layers. + num_hidden_layers = len(num_neurons_hidden_layers) + if num_hidden_layers > 1: # In case there are more than 1 hidden layer. + if type(hidden_activations) in [list, tuple]: + num_activations = len(hidden_activations) + if num_activations != num_hidden_layers: + raise ValueError(length_mismatch.format(mismatched_lengths="{num_activations} != {num_layers}".format(num_layers=num_hidden_layers, num_activations=num_activations))) + elif type(hidden_activations) is str: + if hidden_activations in supported_activations: + hidden_activations = [hidden_activations]*num_hidden_layers + else: + raise ValueError(unexpected_activation_value.format(supported_activations=supported_activations, activations=hidden_activations)) + else: + raise TypeError(unexpected_activation_type.format(activations_type=type(hidden_activations))) + elif num_hidden_layers == 1: # In case there is only 1 hidden layer. + if (type(hidden_activations) in [list, tuple]): + if len(hidden_activations) != 1: + raise ValueError(length_mismatch.format(mismatched_lengths="{num_activations} != {num_layers}".format(num_layers=num_hidden_layers, num_activations=len(hidden_activations)))) + elif type(hidden_activations) is str: + if not (hidden_activations in supported_activations): + raise ValueError(unexpected_activation_value.format(supported_activations=supported_activations, activations=hidden_activations)) + else: + hidden_activations = [hidden_activations] + else: + raise TypeError(unexpected_activation_type.format(activations_type=type(hidden_activations))) + else: # In case there are no hidden layers (num_hidden_layers == 0) + print("WARNING: There are no hidden layers however a value is assigned to the parameter 'hidden_activations'. It will be reset to [].".format(hidden_activations=hidden_activations)) + hidden_activations = [] + + # If the value passed to the 'hidden_activations' parameter is actually a list, then its elements are checked to make sure the listed name(s) of the activation function(s) are supported. + for act in hidden_activations: + if not (act in supported_activations): + raise ValueError(unexpected_activation_value.format(supported_activations=supported_activations, activations=act)) + + return hidden_activations + +def create_network(num_neurons_input, + num_neurons_output, + num_neurons_hidden_layers=[], + output_activation="softmax", + hidden_activations="relu", + parameters_validated=False): + """ + Creates a neural network as a linked list between the input, hidden, and output layers where the layer at index N (which is the last/output layer) references the layer at index N-1 (which is a hidden layer) using its previous_layer attribute. The input layer does not reference any layer because it is the last layer in the linked list. + + In addition to the parameters_validated parameter, this function accepts the same parameters passed to the constructor of the gann.GANN class except for the num_solutions parameter because only a single network is created out of the create_network() function. + + num_neurons_input: Number of neurons in the input layer. + num_neurons_output: Number of neurons in the output layer. + num_neurons_hidden_layers=[]: A list holding the number of neurons in the hidden layer(s). If empty [], then no hidden layers are used. For each int value it holds, then a hidden layer is created with number of hidden neurons specified by the corresponding int value. For example, num_neurons_hidden_layers=[10] creates a single hidden layer with 10 neurons. num_neurons_hidden_layers=[10, 5] creates 2 hidden layers with 10 neurons for the first and 5 neurons for the second hidden layer. + output_activation="softmax": The name of the activation function of the output layer which defaults to "softmax". + hidden_activations="relu": The name(s) of the activation function(s) of the hidden layer(s). It defaults to "relu". If passed as a string, this means the specified activation function will be used across all the hidden layers. If passed as a list, then it must has the same length as the length of the num_neurons_hidden_layers list. An exception is raised if there lengths are different. When hidden_activations is a list, a one-to-one mapping between the num_neurons_hidden_layers and hidden_activations lists occurs. + parameters_validated=False: If False, then the parameters are not validated and a call to the validate_network_parameters() function is made. + + Returns the reference to the last layer in the network architecture which is the output layer. Based on such reference, all network layer can be fetched. + """ + + # When parameters_validated is False, then the parameters are not yet validated and a call to validate_network_parameters() is required. + if parameters_validated == False: + # Validating the passed parameters before creating the network. + hidden_activations = validate_network_parameters(num_neurons_input=num_neurons_input, + num_neurons_output=num_neurons_output, + num_neurons_hidden_layers=num_neurons_hidden_layers, + output_activation=output_activation, + hidden_activations=hidden_activations) + + # Creating the input layer as an instance of the nn.InputLayer class. + input_layer = nn.InputLayer(num_neurons_input) + + if len(num_neurons_hidden_layers) > 0: + # If there are hidden layers, then the first hidden layer is connected to the input layer. + hidden_layer = nn.DenseLayer(num_neurons=num_neurons_hidden_layers.pop(0), + previous_layer=input_layer, + activation_function=hidden_activations.pop(0)) + # For the other hidden layers, each hidden layer is connected to its preceding hidden layer. + for hidden_layer_idx in range(len(num_neurons_hidden_layers)): + hidden_layer = nn.DenseLayer(num_neurons=num_neurons_hidden_layers.pop(0), + previous_layer=hidden_layer, + activation_function=hidden_activations.pop(0)) + + # The last hidden layer is connected to the output layer. + # The output layer is created as an instance of the nn.DenseLayer class. + output_layer = nn.DenseLayer(num_neurons=num_neurons_output, + previous_layer=hidden_layer, + activation_function=output_activation) + + # If there are no hidden layers, then the output layer is connected directly to the input layer. + elif len(num_neurons_hidden_layers) == 0: + # The output layer is created as an instance of the nn.DenseLayer class. + output_layer = nn.DenseLayer(num_neurons=num_neurons_output, + previous_layer=input_layer, + activation_function=output_activation) + + # Returning the reference to the last layer in the network architecture which is the output layer. Based on such reference, all network layer can be fetched. + return output_layer + +def population_as_vectors(population_networks): + """ + Accepts the population as networks and returns a list holding all weights of the layers of each solution (i.e. network) in the population as a vector. + If the population has 6 solutions (i.e. networks), this function accepts references to such networks and returns a list with 6 vectors, one for each network (i.e. solution). Each vector holds the weights for all layers for a single network. + + population_networks: A list holding references to the output (last) layers of the neural networks used in the population. + + Returns a list holding the weights vectors for all solutions (i.e. networks). + """ + population_vectors = [] + for solution in population_networks: + # Converting the weights of single layer from the current network (i.e. solution) to a vector. + solution_weights_vector = nn.layers_weights_as_vector(solution) + # Appending the weights vector of the current layer of a network (i.e. solution) to the weights of the previous layers of the same network (i.e. solution). + population_vectors.append(solution_weights_vector) + + return population_vectors + +def population_as_matrices(population_networks, population_vectors): + """ + Accepts the population as both networks and weights vectors and returns the weights of all layers of each solution (i.e. network) in the population as a matrix. + If the population has 6 solutions (i.e. networks), this function returns a list with 6 matrices, one for each network holding its weights for all layers. + + population_networks: A list holding references to the output (last) layers of the neural networks used in the population. + population_vectors: A list holding the weights of all networks as vectors. Such vectors are to be converted into matrices. + + Returns a list holding the weights matrices for all solutions (i.e. networks). + """ + population_matrices = [] + for solution, solution_weights_vector in zip(population_networks, population_vectors): + # Converting the weights of single layer from the current network (i.e. solution) from a vector to a matrix. + solution_weights_matrix = nn.layers_weights_as_matrix(solution, solution_weights_vector) + # Appending the weights matrix of the current layer of a network (i.e. solution) to the weights of the previous layers of the same network (i.e. solution). + population_matrices.append(solution_weights_matrix) + + return population_matrices + +class GANN: + def create_population(self): + """ + Creates the initial population of the genetic algorithm as a list of neural networks (i.e. solutions). Each element in the list holds a reference to the last (i.e. output) layer for the network. The method does not accept any parameter and it accesses all the required details from the `GANN` instance. + + The method returns the list holding the references to the networks. + """ + + population_networks = [] + for solution in range(self.num_solutions): + # Creating a network (i.e. solution) in the population. A network or a solution can be used interchangeably. + # .copy() is so important to avoid modification in the original vale passed to the 'num_neurons_hidden_layers' and 'hidden_activations' parameters. + network = create_network(num_neurons_input=self.num_neurons_input, + num_neurons_output=self.num_neurons_output, + num_neurons_hidden_layers=self.num_neurons_hidden_layers.copy(), + output_activation=self.output_activation, + hidden_activations=self.hidden_activations.copy(), + parameters_validated=True) + + # Appending the created network to the list of population networks. + population_networks.append(network) + + return population_networks + + def __init__(self, + num_solutions, + num_neurons_input, + num_neurons_output, + num_neurons_hidden_layers=[], + output_activation="softmax", + hidden_activations="relu"): + """ + Creates an instance of the GANN class for training a neural network using the genetic algorithm. + The constructor of the GANN class creates an initial population of multiple neural networks using the create_population() method. + The population returned holds references to the last (i.e. output) layers of all created networks. + Besides creating the initial population, the passed parameters are vaidated using the validate_network_parameters() method. + + num_solutions: Number of neural networks (i.e. solutions) in the population. Based on the value passed to this parameter, a number of identical neural networks are created where their parameters are optimized using the genetic algorithm. + num_neurons_input: Number of neurons in the input layer. + num_neurons_output: Number of neurons in the output layer. + num_neurons_hidden_layers=[]: A list holding the number of neurons in the hidden layer(s). If empty [], then no hidden layers are used. For each int value it holds, then a hidden layer is created with number of hidden neurons specified by the corresponding int value. For example, num_neurons_hidden_layers=[10] creates a single hidden layer with 10 neurons. num_neurons_hidden_layers=[10, 5] creates 2 hidden layers with 10 neurons for the first and 5 neurons for the second hidden layer. + output_activation="softmax": The name of the activation function of the output layer which defaults to "softmax". + hidden_activations="relu": The name(s) of the activation function(s) of the hidden layer(s). It defaults to "relu". If passed as a string, this means the specified activation function will be used across all the hidden layers. If passed as a list, then it must has the same length as the length of the num_neurons_hidden_layers list. An exception is raised if there lengths are different. When hidden_activations is a list, a one-to-one mapping between the num_neurons_hidden_layers and hidden_activations lists occurs. + """ + + self.parameters_validated = False # If True, then the parameters passed to the GANN class constructor are valid. + + # Validating the passed parameters before building the initial population. + hidden_activations = validate_network_parameters(num_solutions=num_solutions, + num_neurons_input=num_neurons_input, + num_neurons_output=num_neurons_output, + num_neurons_hidden_layers=num_neurons_hidden_layers, + output_activation=output_activation, + hidden_activations=hidden_activations) + + self.num_solutions = num_solutions + self.num_neurons_input = num_neurons_input + self.num_neurons_output = num_neurons_output + self.num_neurons_hidden_layers = num_neurons_hidden_layers + self.output_activation = output_activation + self.hidden_activations = hidden_activations + self.parameters_validated = True + + # After the parameters are validated, the initial population is created. + self.population_networks = self.create_population() # A list holding references to all the solutions (i.e. neural networks) used in the population. + + def update_population_trained_weights(self, population_trained_weights): + """ + The `update_population_trained_weights()` method updates the `trained_weights` attribute of each network (check the [documentation of the `pygad.nn.DenseLayer` class](https://github.com/ahmedfgad/NumPyANN#nndenselayer-class) for more information) according to the weights passed in the `population_trained_weights` parameter. + + population_trained_weights: A list holding the trained weights of all networks as matrices. Such matrices are to be assigned to the 'trained_weights' attribute of all layers of all networks. + """ + idx = 0 + # Fetches all layers weights matrices for a single solution (i.e. network) + for solution in self.population_networks: + # Calling the nn.update_layers_trained_weights() function for updating the 'trained_weights' attribute for all layers in the current solution (i.e. network). + nn.update_layers_trained_weights(last_layer=solution, + final_weights=population_trained_weights[idx]) + idx = idx + 1 diff --git a/pygad/helper/__init__.py b/pygad/helper/__init__.py new file mode 100644 index 0000000..89accfe --- /dev/null +++ b/pygad/helper/__init__.py @@ -0,0 +1,3 @@ +from pygad.helper import unique + +__version__ = "1.0.0" \ No newline at end of file diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py new file mode 100644 index 0000000..4d5e6ac --- /dev/null +++ b/pygad/helper/unique.py @@ -0,0 +1,638 @@ +""" +The pygad.helper.unique module has helper methods to solve duplicate genes and make sure every gene is unique. +""" + +import numpy +import warnings +import random +import pygad + +class Unique: + def solve_duplicate_genes_randomly(self, + solution, + min_val, + max_val, + mutation_by_replacement, + gene_type, + num_trials=10): + + """ + Solves the duplicates in a solution by randomly selecting new values for the duplicating genes. + + solution: A solution with duplicate values. + min_val: Minimum value of the range to sample a number randomly. + max_val: Maximum value of the range to sample a number randomly. + mutation_by_replacement: Identical to the self.mutation_by_replacement attribute. + gene_type: Exactly the same as the self.gene_type attribute. + num_trials: Maximum number of trials to change the gene value to solve the duplicates. + + Returns: + new_solution: Solution after trying to solve its duplicates. If no duplicates solved, then it is identical to the passed solution parameter. + not_unique_indices: Indices of the genes with duplicate values. + num_unsolved_duplicates: Number of unsolved duplicates. + """ + + new_solution = solution.copy() + + _, unique_gene_indices = numpy.unique(solution, return_index=True) + not_unique_indices = set(range(len(solution))) - set(unique_gene_indices) + + num_unsolved_duplicates = 0 + if len(not_unique_indices) > 0: + for duplicate_index in not_unique_indices: + for trial_index in range(num_trials): + if self.gene_type_single == True: + if gene_type[0] in pygad.GA.supported_int_types: + temp_val = self.unique_int_gene_from_range(solution=new_solution, + gene_index=duplicate_index, + min_val=min_val, + max_val=max_val, + mutation_by_replacement=mutation_by_replacement, + gene_type=gene_type) + else: + temp_val = numpy.random.uniform(low=min_val, + high=max_val, + size=1) + if mutation_by_replacement: + pass + else: + temp_val = new_solution[duplicate_index] + temp_val + else: + if gene_type[duplicate_index] in pygad.GA.supported_int_types: + temp_val = self.unique_int_gene_from_range(solution=new_solution, + gene_index=duplicate_index, + min_val=min_val, + max_val=max_val, + mutation_by_replacement=mutation_by_replacement, + gene_type=gene_type) + else: + temp_val = numpy.random.uniform(low=min_val, + high=max_val, + size=1) + if mutation_by_replacement: + pass + else: + temp_val = new_solution[duplicate_index] + temp_val + + if self.gene_type_single == True: + if not gene_type[1] is None: + temp_val = numpy.round(gene_type[0](temp_val), + gene_type[1]) + else: + temp_val = gene_type[0](temp_val) + else: + if not gene_type[duplicate_index][1] is None: + temp_val = numpy.round(gene_type[duplicate_index][0](temp_val), + gene_type[duplicate_index][1]) + else: + temp_val = gene_type[duplicate_index][0](temp_val) + + if temp_val in new_solution and trial_index == (num_trials - 1): + num_unsolved_duplicates = num_unsolved_duplicates + 1 + if not self.suppress_warnings: warnings.warn("Failed to find a unique value for gene with index {gene_idx} whose value is {gene_value}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.".format(gene_idx=duplicate_index, gene_value=solution[duplicate_index])) + elif temp_val in new_solution: + continue + else: + new_solution[duplicate_index] = temp_val + break + + # Update the list of duplicate indices after each iteration. + _, unique_gene_indices = numpy.unique(new_solution, return_index=True) + not_unique_indices = set(range(len(solution))) - set(unique_gene_indices) + # self.logger.info("not_unique_indices INSIDE", not_unique_indices) + + return new_solution, not_unique_indices, num_unsolved_duplicates + + def solve_duplicate_genes_by_space(self, + solution, + gene_type, + num_trials=10, + build_initial_pop=False): + + """ + Solves the duplicates in a solution by selecting values for the duplicating genes from the gene space. + + solution: A solution with duplicate values. + gene_type: Exactly the same as the self.gene_type attribute. + num_trials: Maximum number of trials to change the gene value to solve the duplicates. + + Returns: + new_solution: Solution after trying to solve its duplicates. If no duplicates solved, then it is identical to the passed solution parameter. + not_unique_indices: Indices of the genes with duplicate values. + num_unsolved_duplicates: Number of unsolved duplicates. + """ + + new_solution = solution.copy() + + _, unique_gene_indices = numpy.unique(solution, return_index=True) + not_unique_indices = set(range(len(solution))) - set(unique_gene_indices) + # self.logger.info("not_unique_indices OUTSIDE", not_unique_indices) + + # First try to solve the duplicates. + # For a solution like [3 2 0 0], the indices of the 2 duplicating genes are 2 and 3. + # The next call to the find_unique_value() method tries to change the value of the gene with index 3 to solve the duplicate. + if len(not_unique_indices) > 0: + new_solution, not_unique_indices, num_unsolved_duplicates = self.unique_genes_by_space(new_solution=new_solution, + gene_type=gene_type, + not_unique_indices=not_unique_indices, + num_trials=10, + build_initial_pop=build_initial_pop) + else: + return new_solution, not_unique_indices, len(not_unique_indices) + + # Do another try if there exist duplicate genes. + # If there are no possible values for the gene 3 with index 3 to solve the duplicate, try to change the value of the other gene with index 2. + if len(not_unique_indices) > 0: + not_unique_indices = set(numpy.where(new_solution == new_solution[list(not_unique_indices)[0]])[0]) - set([list(not_unique_indices)[0]]) + new_solution, not_unique_indices, num_unsolved_duplicates = self.unique_genes_by_space(new_solution=new_solution, + gene_type=gene_type, + not_unique_indices=not_unique_indices, + num_trials=10, + build_initial_pop=build_initial_pop) + else: + # If there exist duplicate genes, then changing either of the 2 duplicating genes (with indices 2 and 3) will not solve the problem. + # This problem can be solved by randomly changing one of the non-duplicating genes that may make a room for a unique value in one the 2 duplicating genes. + # For example, if gene_space=[[3, 0, 1], [4, 1, 2], [0, 2], [3, 2, 0]] and the solution is [3 2 0 0], then the values of the last 2 genes duplicate. + # There are no possible changes in the last 2 genes to solve the problem. But it could be solved by changing the second gene from 2 to 4. + # As a result, any of the last 2 genes can take the value 2 and solve the duplicates. + return new_solution, not_unique_indices, len(not_unique_indices) + + return new_solution, not_unique_indices, num_unsolved_duplicates + + def unique_int_gene_from_range(self, + solution, + gene_index, + min_val, + max_val, + mutation_by_replacement, + gene_type, + step=None): + + """ + Finds a unique integer value for the gene. + + solution: A solution with duplicate values. + gene_index: Index of the gene to find a unique value. + min_val: Minimum value of the range to sample a number randomly. + max_val: Maximum value of the range to sample a number randomly. + mutation_by_replacement: Identical to the self.mutation_by_replacement attribute. + gene_type: Exactly the same as the self.gene_type attribute. + + Returns: + selected_value: The new value of the gene. It may be identical to the original gene value in case there are no possible unique values for the gene. + """ + + if self.gene_type_single == True: + if step is None: + all_gene_values = numpy.arange(min_val, max_val, dtype=gene_type[0]) + else: + # For non-integer steps, the numpy.arange() function returns zeros id the dtype parameter is set to an integer data type. So, this returns zeros if step is non-integer and dtype is set to an int data type: numpy.arange(min_val, max_val, step, dtype=gene_type[0]) + # To solve this issue, the data type casting will not be handled inside numpy.arange(). The range is generated by numpy.arange() and then the data type is converted using the numpy.asarray() function. + all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), dtype=gene_type[0]) + else: + if step is None: + all_gene_values = numpy.arange(min_val, max_val, dtype=gene_type[gene_index][0]) + else: + all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), dtype=gene_type[gene_index][0]) + + if mutation_by_replacement: + pass + else: + all_gene_values = all_gene_values + solution[gene_index] + + if self.gene_type_single == True: + if not gene_type[1] is None: + all_gene_values = numpy.round(gene_type[0](all_gene_values), + gene_type[1]) + else: + if type(all_gene_values) is numpy.ndarray: + all_gene_values = numpy.asarray(all_gene_values, dtype=gene_type[0]) + else: + all_gene_values = gene_type[0](all_gene_values) + else: + if not gene_type[gene_index][1] is None: + all_gene_values = numpy.round(gene_type[gene_index][0](all_gene_values), + gene_type[gene_index][1]) + else: + all_gene_values = gene_type[gene_index][0](all_gene_values) + + values_to_select_from = list(set(all_gene_values) - set(solution)) + + if len(values_to_select_from) == 0: + if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but there is no enough values to prevent duplicates.") + selected_value = solution[gene_index] + else: + selected_value = random.choice(values_to_select_from) + + #if self.gene_type_single == True: + # selected_value = gene_type[0](selected_value) + #else: + # selected_value = gene_type[gene_index][0](selected_value) + + return selected_value + + def unique_genes_by_space(self, + new_solution, + gene_type, + not_unique_indices, + num_trials=10, + build_initial_pop=False): + + """ + Loops through all the duplicating genes to find unique values that from their gene spaces to solve the duplicates. + For each duplicating gene, a call to the unique_gene_by_space() function is made. + + new_solution: A solution with duplicate values. + gene_type: Exactly the same as the self.gene_type attribute. + not_unique_indices: Indices with duplicating values. + num_trials: Maximum number of trials to change the gene value to solve the duplicates. + + Returns: + new_solution: Solution after trying to solve all of its duplicates. If no duplicates solved, then it is identical to the passed solution parameter. + not_unique_indices: Indices of the genes with duplicate values. + num_unsolved_duplicates: Number of unsolved duplicates. + """ + + num_unsolved_duplicates = 0 + for duplicate_index in not_unique_indices: + for trial_index in range(num_trials): + temp_val = self.unique_gene_by_space(solution=new_solution, + gene_idx=duplicate_index, + gene_type=gene_type, + build_initial_pop=build_initial_pop) + + if temp_val in new_solution and trial_index == (num_trials - 1): + # self.logger.info("temp_val, duplicate_index", temp_val, duplicate_index, new_solution) + num_unsolved_duplicates = num_unsolved_duplicates + 1 + if not self.suppress_warnings: warnings.warn("Failed to find a unique value for gene with index {gene_idx} whose value is {gene_value}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.".format(gene_idx=duplicate_index, gene_value=new_solution[duplicate_index])) + elif temp_val in new_solution: + continue + else: + new_solution[duplicate_index] = temp_val + # self.logger.info("SOLVED", duplicate_index) + break + + # Update the list of duplicate indices after each iteration. + _, unique_gene_indices = numpy.unique(new_solution, return_index=True) + not_unique_indices = set(range(len(new_solution))) - set(unique_gene_indices) + # self.logger.info("not_unique_indices INSIDE", not_unique_indices) + + return new_solution, not_unique_indices, num_unsolved_duplicates + + def unique_gene_by_space(self, + solution, + gene_idx, + gene_type, + build_initial_pop=False): + + """ + Returns a unique gene value for a single gene based on its value space to solve the duplicates. + + solution: A solution with duplicate values. + gene_idx: The index of the gene that duplicates its value with another gene. + gene_type: Exactly the same as the self.gene_type attribute. + + Returns: + A unique value, if exists, for the gene. + """ + + if self.gene_space_nested: + # Returning the current gene space from the 'gene_space' attribute. + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + curr_gene_space = self.gene_space[gene_idx].copy() + else: + curr_gene_space = self.gene_space[gene_idx] + + # If the gene space has only a single value, use it as the new gene value. + if type(curr_gene_space) in pygad.GA.supported_int_float_types: + value_from_space = curr_gene_space + # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + elif curr_gene_space is None: + if self.gene_type_single == True: + if gene_type[0] in pygad.GA.supported_int_types: + if build_initial_pop == True: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + # min_val=self.random_mutation_min_val, + # max_val=self.random_mutation_max_val, + min_val=self.init_range_low, + max_val=self.init_range_high, + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if build_initial_pop == True: + value_from_space = numpy.random.uniform(# low=self.random_mutation_min_val, + # high=self.random_mutation_max_val, + low=self.init_range_low, + high=self.init_range_high, + size=1) + else: + value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + if self.mutation_by_replacement: + pass + else: + value_from_space = solution[gene_idx] + value_from_space + else: + if gene_type[gene_idx] in pygad.GA.supported_int_types: + if build_initial_pop == True: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + # min_val=self.random_mutation_min_val, + # max_val=self.random_mutation_max_val, + min_val=self.init_range_low, + max_val=self.init_range_high, + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if build_initial_pop == True: + value_from_space = numpy.random.uniform(# low=self.random_mutation_min_val, + # high=self.random_mutation_max_val, + low=self.init_range_low, + high=self.init_range_high, + size=1) + else: + value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + if self.mutation_by_replacement: + pass + else: + value_from_space = solution[gene_idx] + value_from_space + + elif type(curr_gene_space) is dict: + if self.gene_type_single == True: + if gene_type[0] in pygad.GA.supported_int_types: + if build_initial_pop == True: + if 'step' in curr_gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=curr_gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if 'step' in curr_gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=curr_gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if 'step' in curr_gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], + stop=curr_gene_space['high'], + step=curr_gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=curr_gene_space['low'], + high=curr_gene_space['high'], + size=1) + if self.mutation_by_replacement: + pass + else: + value_from_space = solution[gene_idx] + value_from_space + else: + if gene_type[gene_idx] in pygad.GA.supported_int_types: + if build_initial_pop == True: + if 'step' in curr_gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=curr_gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if 'step' in curr_gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=curr_gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if 'step' in curr_gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], + stop=curr_gene_space['high'], + step=curr_gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=curr_gene_space['low'], + high=curr_gene_space['high'], + size=1) + if self.mutation_by_replacement: + pass + else: + value_from_space = solution[gene_idx] + value_from_space + + else: + # Selecting a value randomly based on the current gene's space in the 'gene_space' attribute. + # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. + if len(curr_gene_space) == 1: + value_from_space = curr_gene_space[0] + if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but the space of the gene with index {gene_idx} has only a single value. Thus, duplicates are possible.".format(gene_idx=gene_idx)) + # If the gene space has more than 1 value, then select a new one that is different from the current value. + else: + values_to_select_from = list(set(curr_gene_space) - set(solution)) + + if len(values_to_select_from) == 0: + if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but the gene space does not have enough values to prevent duplicates.") + value_from_space = solution[gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + else: + # Selecting a value randomly from the global gene space in the 'gene_space' attribute. + if type(self.gene_space) is dict: + if self.gene_type_single == True: + if gene_type[0] in pygad.GA.supported_int_types: + if build_initial_pop == True: + if 'step' in self.gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=self.gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if 'step' in self.gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=self.gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + # When the gene_space is assigned a dict object, then it specifies the lower and upper limits of all genes in the space. + if 'step' in self.gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=1) + if self.mutation_by_replacement: + pass + else: + value_from_space = solution[gene_idx] + value_from_space + else: + if gene_type[gene_idx] in pygad.GA.supported_int_types: + if build_initial_pop == True: + if 'step' in self.gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=self.gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + if 'step' in self.gene_space.keys(): + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=self.gene_space['step'], + mutation_by_replacement=True, + gene_type=gene_type) + else: + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=None, + mutation_by_replacement=True, + gene_type=gene_type) + else: + # When the gene_space is assigned a dict object, then it specifies the lower and upper limits of all genes in the space. + if 'step' in self.gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=1) + if self.mutation_by_replacement: + pass + else: + value_from_space = solution[gene_idx] + value_from_space + + else: + # If the space type is not of type dict, then a value is randomly selected from the gene_space attribute. + # Remove all the genes in the current solution from the gene_space. + # This only leaves the unique values that could be selected for the gene. + values_to_select_from = list(set(self.gene_space) - set(solution)) + + if len(values_to_select_from) == 0: + if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but the gene space does not have enough values to prevent duplicates.") + value_from_space = solution[gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + + if value_from_space is None: + if build_initial_pop == True: + value_from_space = numpy.random.uniform(# low=self.random_mutation_min_val, + # high=self.random_mutation_max_val, + low=self.init_range_low, + high=self.init_range_high, + size=1) + else: + value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + + if self.gene_type_single == True: + if not gene_type[1] is None: + value_from_space = numpy.round(gene_type[0](value_from_space), + gene_type[1]) + else: + value_from_space = gene_type[0](value_from_space) + else: + if not gene_type[gene_idx][1] is None: + value_from_space = numpy.round(gene_type[gene_idx][0](value_from_space), + gene_type[gene_idx][1]) + else: + value_from_space = gene_type[gene_idx][0](value_from_space) + + return value_from_space diff --git a/pygad/kerasga/__init__.py b/pygad/kerasga/__init__.py new file mode 100644 index 0000000..7e6b139 --- /dev/null +++ b/pygad/kerasga/__init__.py @@ -0,0 +1,3 @@ +from .kerasga import * + +__version__ = "1.2.0" diff --git a/pygad/kerasga/kerasga.py b/pygad/kerasga/kerasga.py new file mode 100644 index 0000000..0e1b618 --- /dev/null +++ b/pygad/kerasga/kerasga.py @@ -0,0 +1,89 @@ +import copy +import numpy +import tensorflow.keras + +def model_weights_as_vector(model): + weights_vector = [] + + for layer in model.layers: # model.get_weights(): + if layer.trainable: + layer_weights = layer.get_weights() + for l_weights in layer_weights: + vector = numpy.reshape(l_weights, newshape=(l_weights.size)) + weights_vector.extend(vector) + + return numpy.array(weights_vector) + +def model_weights_as_matrix(model, weights_vector): + weights_matrix = [] + + start = 0 + for layer_idx, layer in enumerate(model.layers): # model.get_weights(): + # for w_matrix in model.get_weights(): + layer_weights = layer.get_weights() + if layer.trainable: + for l_weights in layer_weights: + layer_weights_shape = l_weights.shape + layer_weights_size = l_weights.size + + layer_weights_vector = weights_vector[start:start + layer_weights_size] + layer_weights_matrix = numpy.reshape(layer_weights_vector, newshape=(layer_weights_shape)) + weights_matrix.append(layer_weights_matrix) + + start = start + layer_weights_size + else: + for l_weights in layer_weights: + weights_matrix.append(l_weights) + + return weights_matrix + +def predict(model, solution, data): + # Fetch the parameters of the best solution. + solution_weights = model_weights_as_matrix(model=model, + weights_vector=solution) + _model = tensorflow.keras.models.clone_model(model) + _model.set_weights(solution_weights) + predictions = _model.predict(data) + + return predictions + +class KerasGA: + + def __init__(self, model, num_solutions): + + """ + Creates an instance of the KerasGA class to build a population of model parameters. + + model: A Keras model class. + num_solutions: Number of solutions in the population. Each solution has different model parameters. + """ + + self.model = model + + self.num_solutions = num_solutions + + # A list holding references to all the solutions (i.e. networks) used in the population. + self.population_weights = self.create_population() + + def create_population(self): + + """ + Creates the initial population of the genetic algorithm as a list of networks' weights (i.e. solutions). Each element in the list holds a different weights of the Keras model. + + The method returns a list holding the weights of all solutions. + """ + + model_weights_vector = model_weights_as_vector(model=self.model) + + net_population_weights = [] + net_population_weights.append(model_weights_vector) + + for idx in range(self.num_solutions-1): + + net_weights = copy.deepcopy(model_weights_vector) + net_weights = numpy.array(net_weights) + numpy.random.uniform(low=-1.0, high=1.0, size=model_weights_vector.size) + + # Appending the weights to the population. + net_population_weights.append(net_weights) + + return net_population_weights diff --git a/pygad/nn/__init__.py b/pygad/nn/__init__.py new file mode 100644 index 0000000..224d984 --- /dev/null +++ b/pygad/nn/__init__.py @@ -0,0 +1,4 @@ +from .nn import * + +__version__ = "1.2.1" + diff --git a/pygad/nn/nn.py b/pygad/nn/nn.py new file mode 100644 index 0000000..04933d7 --- /dev/null +++ b/pygad/nn/nn.py @@ -0,0 +1,399 @@ +import numpy +import functools + +""" +This project creates a neural network where the architecture has input and dense layers only. More layers will be added in the future. +The project only implements the forward pass of a neural network and no training algorithm is used. +For training a neural network using the genetic algorithm, check this project (https://github.com/ahmedfgad/NeuralGenetic) in which the genetic algorithm is used for training the network. +Feel free to leave an issue in this project (https://github.com/ahmedfgad/NumPyANN) in case something is not working properly or to ask for questions. I am also available for e-mails at ahmed.f.gad@gmail.com +""" + +def layers_weights(last_layer, initial=True): + """ + Creates a list holding the weights of all layers in the neural network. + + last_layer: A reference to the last (output) layer in the network architecture. + initial: When True, the function returns the initial weights of the layers. When False, the trained weights of the layers are returned. The initial weights are only needed before network training starts. The trained weights are needed to predict the network outputs. + + Returns a list (network_weights) holding the weights of the layers. + """ + network_weights = [] + + layer = last_layer + while "previous_layer" in layer.__init__.__code__.co_varnames: + # If the 'initial' parameter is True, append the initial weights. Otherwise, append the trained weights. + if initial == True: + network_weights.append(layer.initial_weights) + elif initial == False: + network_weights.append(layer.trained_weights) + else: + raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + + # Go to the previous layer. + layer = layer.previous_layer + + # If the first layer in the network is not an input layer (i.e. an instance of the InputLayer class), raise an error. + if not (type(layer) is InputLayer): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. + # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). + network_weights.reverse() + return network_weights + +def layers_weights_as_vector(last_layer, initial=True): + """ + Creates a list holding the weights of each layer in the network as a vector. + + last_layer: A reference to the last (output) layer in the network architecture. + initial: When True, the function returns the initial weights of the layers. When False, the trained weights of the layers are returned. The initial weights are only needed before network training starts. The trained weights are needed to predict the network outputs. + + Returns a list (network_weights) holding the weights of the layers as a vector. + """ + network_weights = [] + + layer = last_layer + while "previous_layer" in layer.__init__.__code__.co_varnames: + # If the 'initial' parameter is True, append the initial weights. Otherwise, append the trained weights. + if initial == True: + vector = numpy.reshape(layer.initial_weights, newshape=(layer.initial_weights.size)) +# vector = DenseLayer.to_vector(matrix=layer.initial_weights) + network_weights.extend(vector) + elif initial == False: + vector = numpy.reshape(layer.trained_weights, newshape=(layer.trained_weights.size)) +# vector = DenseLayer.to_vector(array=layer.trained_weights) + network_weights.extend(vector) + else: + raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + + # Go to the previous layer. + layer = layer.previous_layer + + # If the first layer in the network is not an input layer (i.e. an instance of the InputLayer class), raise an error. + if not (type(layer) is InputLayer): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. + # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). + network_weights.reverse() + return numpy.array(network_weights) + +def layers_weights_as_matrix(last_layer, vector_weights): + """ + Converts the network weights from vectors to matrices. + + last_layer: A reference to the last (output) layer in the network architecture. + vector_weights: The network weights as vectors where the weights of each layer form a single vector. + + Returns a list (network_weights) holding the weights of the layers as matrices. + """ + network_weights = [] + + start = 0 + layer = last_layer + vector_weights = vector_weights[::-1] + while "previous_layer" in layer.__init__.__code__.co_varnames: + layer_weights_shape = layer.initial_weights.shape + layer_weights_size = layer.initial_weights.size + + weights_vector=vector_weights[start:start + layer_weights_size] +# matrix = DenseLayer.to_array(vector=weights_vector, shape=layer_weights_shape) + matrix = numpy.reshape(weights_vector, newshape=(layer_weights_shape)) + network_weights.append(matrix) + + start = start + layer_weights_size + + # Go to the previous layer. + layer = layer.previous_layer + + # If the first layer in the network is not an input layer (i.e. an instance of the InputLayer class), raise an error. + if not (type(layer) is InputLayer): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. + # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). + network_weights.reverse() + return network_weights + +def layers_activations(last_layer): + """ + Creates a list holding the activation functions of all layers in the network. + + last_layer: A reference to the last (output) layer in the network architecture. + + Returns a list (activations) holding the activation functions of the layers. + """ + activations = [] + + layer = last_layer + while "previous_layer" in layer.__init__.__code__.co_varnames: + activations.append(layer.activation_function) + + # Go to the previous layer. + layer = layer.previous_layer + + if not (type(layer) is InputLayer): + raise TypeError("The first layer in the network architecture must be an input layer.") + + # Currently, the activations of layers are in the reverse order. In other words, the activation function of the first layer are at the last index of the 'activations' list while the activation function of the last layer are at the first index. + # Reversing the 'activations' list to order the layers' weights according to their location in the network architecture (i.e. the activation function of the first layer appears at index 0 of the list). + activations.reverse() + return activations + +def sigmoid(sop): + + """ + Applies the sigmoid function. + + sop: The input to which the sigmoid function is applied. + + Returns the result of the sigmoid function. + """ + + if type(sop) in [list, tuple]: + sop = numpy.array(sop) + + return 1.0 / (1 + numpy.exp(-1 * sop)) + +def relu(sop): + + """ + Applies the rectified linear unit (ReLU) function. + + sop: The input to which the relu function is applied. + + Returns the result of the ReLU function. + """ + + if not (type(sop) in [list, tuple, numpy.ndarray]): + if sop < 0: + return 0 + else: + return sop + elif type(sop) in [list, tuple]: + sop = numpy.array(sop) + + result = sop + result[sop < 0] = 0 + + return result + +def softmax(layer_outputs): + + """ + Applies the sotmax function. + + sop: The input to which the softmax function is applied. + + Returns the result of the softmax function. + """ + return layer_outputs / (numpy.sum(layer_outputs) + 0.000001) + +def train(num_epochs, + last_layer, + data_inputs, + data_outputs, + problem_type="classification", + learning_rate=0.01): + """ + Trains the neural network. + + num_epochs: Number of epochs. + last_layer: Reference to the last (output) layer in the network architecture. + data_inputs: Data features. + data_outputs: Data outputs. + problem_type: Can be either classification or regression to define the problem type. + learning_rate: Learning rate which defaults to 0.01. + """ + + if not (problem_type in ["classification", "regression"]): + raise ValueError("The value of the problem_type parameter can be either classification or regression but {problem_type_val} found.".format(problem_type_val=problem_type)) + + # To fetch the initial weights of the layer, the 'initial' argument is set to True. + weights = layers_weights(last_layer, initial=True) + activations = layers_activations(last_layer) + + network_error = 0 + for epoch in range(num_epochs): + print("Epoch ", epoch) + for sample_idx in range(data_inputs.shape[0]): + r1 = data_inputs[sample_idx, :] + for idx in range(len(weights) - 1): + curr_weights = weights[idx] + r1 = numpy.matmul(r1, curr_weights) + if activations[idx] == "relu": + r1 = relu(r1) + elif activations[idx] == "sigmoid": + r1 = sigmoid(r1) + elif activations[idx] == "softmax": + r1 = softmax(r1) + elif activations[idx] == None: + pass + + curr_weights = weights[-1] + r1 = numpy.matmul(r1, curr_weights) + + if problem_type == "classification": + prediction = numpy.where(r1 == numpy.max(r1))[0][0] + else: + prediction = r1 + + network_error = network_error + numpy.mean(numpy.abs((prediction - data_outputs[sample_idx]))) + + # Updating the network weights once after completing an epoch (i.e. passing through all the samples). + weights = update_weights(weights=weights, + network_error=network_error, + learning_rate=learning_rate) + + # Initially, the 'trained_weights' attribute of the layers are set to None. After the is trained, the 'trained_weights' attribute is updated by the trained weights using the update_layers_trained_weights() function. + update_layers_trained_weights(last_layer, weights) + +def update_weights(weights, network_error, learning_rate): + """ + Updates the network weights using the learning rate only. + The purpose of this project is to only apply the forward pass of training a neural network. Thus, there is no optimization algorithm is used like the gradient descent. + For optimizing the neural network, check this project (https://github.com/ahmedfgad/NeuralGenetic) in which the genetic algorithm is used for training the network. + + weights: The current weights of the network. + network_error: The network error. + learning_rate: The learning rate. + + It returns the new weights. + """ + # weights = numpy.array(weights) + for layer_idx in range(len(weights)): + weights[layer_idx] = network_error * learning_rate * weights[layer_idx] + + return weights + +def update_layers_trained_weights(last_layer, final_weights): + """ + After the network weights are trained, the 'trained_weights' attribute of each layer is updated by the weights calculated after passing all the epochs (such weights are passed in the 'final_weights' parameter). + By just passing a reference to the last layer in the network (i.e. output layer) in addition to the final weights, this function updates the 'trained_weights' attribute of all layers. + + last_layer: A reference to the last (output) layer in the network architecture. + final_weights: An array of weights of all layers in the network after passing through all the epochs. + """ + layer = last_layer + layer_idx = len(final_weights) - 1 + while "previous_layer" in layer.__init__.__code__.co_varnames: + layer.trained_weights = final_weights[layer_idx] + + layer_idx = layer_idx - 1 + # Go to the previous layer. + layer = layer.previous_layer + +def predict(last_layer, data_inputs, problem_type="classification"): + """ + Uses the trained weights for predicting the samples' outputs. + + last_layer: A reference to the last (output) layer in the network architecture. + data_inputs: Data features. + problem_type: Can be either classification or regression to define the problem type. + + Returns the predictions of all samples. + """ + if not (problem_type in ["classification", "regression"]): + raise ValueError("The value of the problem_type parameter can be either classification or regression but {problem_type_val} found.".format(problem_type_val=problem_type)) + + # To fetch the trained weights of the layer, the 'initial' argument is set to False. + weights = layers_weights(last_layer, initial=False) + activations = layers_activations(last_layer) + + if len(weights) != len(activations): + raise TypeError("The length of layers {num_layers} is not equal to the number of activations functions {num_activations} and they must be equal.".format(num_layers=len(weights), num_activations=len(activations))) + + predictions = [] + for sample_idx in range(data_inputs.shape[0]): + r1 = data_inputs[sample_idx, :] + for curr_weights, activation in zip(weights, activations): + r1 = numpy.matmul(r1, curr_weights) + if activation == "relu": + r1 = relu(r1) + elif activation == "sigmoid": + r1 = sigmoid(r1) + elif activation == "softmax": + r1 = softmax(r1) + elif activation == None: + pass + + if problem_type == "classification": + prediction = numpy.where(r1 == numpy.max(r1))[0][0] + else: + prediction = r1 + + predictions.append(prediction) + + return predictions + +def to_vector(array): + """ + Converts a passed NumPy array (of any dimensionality) to its `array` parameter into a 1D vector and returns the vector. + + array: The NumPy array to be converted into a 1D vector. + + Returns the array after being reshaped into a NumPy 1D vector. + + Example: weights_vector = nn.DenseLayer.to_vector(array=array) + """ + if not (type(array) is numpy.ndarray): + raise TypeError("An input of type numpy.ndarray is expected but an input of type {in_type} found.".format(in_type=type(array))) + return numpy.reshape(array, newshape=(array.size)) + +def to_array(vector, shape): + """ + Converts a passed vector to its `vector` parameter into a NumPy array and returns the array. + + vector: The 1D vector to be converted into an array. + shape: The target shape of the array. + + Returns the NumPy 1D vector after being reshaped into an array. + + Example: weights_matrix = nn.DenseLayer.to_array(vector=vector, shape=shape) + """ + if not (type(vector) is numpy.ndarray): + raise TypeError("An input of type numpy.ndarray is expected but an input of type {in_type} found.".format(in_type=type(vector))) + if vector.ndim > 1: + raise ValueError("A 1D NumPy array is expected but an array of {ndim} dimensions found.".format(ndim=vector.ndim)) + if vector.size != functools.reduce(lambda x,y:x*y, shape, 1): # (operator.mul == lambda x,y:x*y + raise ValueError("Mismatch between the vector length and the array shape. A vector of length {vector_length} cannot be converted into a array of shape ({array_shape}).".format(vector_length=vector.size, array_shape=shape)) + return numpy.reshape(vector, newshape=shape) + +class InputLayer: + """ + Implementing the input layer of a neural network. + """ + def __init__(self, num_inputs): + if num_inputs <= 0: + raise ValueError("Number of input neurons cannot be <= 0. Please pass a valid value to the 'num_inputs' parameter.") + # The number of neurons in the input layer. + self.num_neurons = num_inputs + +class DenseLayer: + """ + Implementing the input dense (fully connected) layer of a neural network. + """ + def __init__(self, num_neurons, previous_layer, activation_function="sigmoid"): + if num_neurons <= 0: + raise ValueError("Number of neurons cannot be <= 0. Please pass a valid value to the 'num_neurons' parameter.") + # Number of neurons in the dense layer. + self.num_neurons = num_neurons + + supported_activation_functions = ("sigmoid", "relu", "softmax", "None") + if not (activation_function in supported_activation_functions): + raise ValueError("The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.".format(activation_function=activation_function, supported_activation_functions=supported_activation_functions)) + self.activation_function = activation_function + + if previous_layer is None: + raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + # A reference to the layer that preceeds the current layer in the network architecture. + self.previous_layer = previous_layer + + # Initializing the weights of the layer. + self.initial_weights = numpy.random.uniform(low=-0.1, + high=0.1, + size=(previous_layer.num_neurons, num_neurons)) + + # The trained weights of the layer. Only assigned a value after the network is trained (i.e. the train() function completes). + # Just initialized to be equal to the initial weights + self.trained_weights = self.initial_weights.copy() \ No newline at end of file diff --git a/pygad/pygad.py b/pygad/pygad.py new file mode 100644 index 0000000..9916a15 --- /dev/null +++ b/pygad/pygad.py @@ -0,0 +1,2219 @@ +import numpy +import random +import cloudpickle +import time +import warnings +import concurrent.futures +import inspect +import logging +from pygad import utils +from pygad import helper +from pygad import visualize + +class GA(utils.parent_selection.ParentSelection, + utils.crossover.Crossover, + utils.mutation.Mutation, + helper.unique.Unique, + visualize.plot.Plot): + + supported_int_types = [int, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64] + supported_float_types = [float, numpy.float16, numpy.float32, numpy.float64] + supported_int_float_types = supported_int_types + supported_float_types + + def __init__(self, + num_generations, + num_parents_mating, + fitness_func, + fitness_batch_size=None, + initial_population=None, + sol_per_pop=None, + num_genes=None, + init_range_low=-4, + init_range_high=4, + gene_type=float, + parent_selection_type="sss", + keep_parents=-1, + keep_elitism=1, + K_tournament=3, + crossover_type="single_point", + crossover_probability=None, + mutation_type="random", + mutation_probability=None, + mutation_by_replacement=False, + mutation_percent_genes='default', + mutation_num_genes=None, + random_mutation_min_val=-1.0, + random_mutation_max_val=1.0, + gene_space=None, + allow_duplicate_genes=True, + on_start=None, + on_fitness=None, + on_parents=None, + on_crossover=None, + on_mutation=None, + on_generation=None, + on_stop=None, + delay_after_gen=0.0, + save_best_solutions=False, + save_solutions=False, + suppress_warnings=False, + stop_criteria=None, + parallel_processing=None, + random_seed=None, + logger=None): + + """ + The constructor of the GA class accepts all parameters required to create an instance of the GA class. It validates such parameters. + + num_generations: Number of generations. + num_parents_mating: Number of solutions to be selected as parents in the mating pool. + + fitness_func: Accepts a function/method and returns the fitness value of the solution. In PyGAD 2.20.0, a third parameter is passed referring to the 'pygad.GA' instance. If method, then it must accept 4 parameters where the fourth one refers to the method's object. + fitness_batch_size: Added in PyGAD 2.19.0. Supports calculating the fitness in batches. If the value is 1 or None, then the fitness function is called for each invidiaul solution. If given another value X where X is neither 1 nor None (e.g. X=3), then the fitness function is called once for each X (3) solutions. + + initial_population: A user-defined initial population. It is useful when the user wants to start the generations with a custom initial population. It defaults to None which means no initial population is specified by the user. In this case, PyGAD creates an initial population using the 'sol_per_pop' and 'num_genes' parameters. An exception is raised if the 'initial_population' is None while any of the 2 parameters ('sol_per_pop' or 'num_genes') is also None. + sol_per_pop: Number of solutions in the population. + num_genes: Number of parameters in the function. + + init_range_low: The lower value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20 and higher. + init_range_high: The upper value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20. + # It is OK to set the value of any of the 2 parameters ('init_range_low' and 'init_range_high') to be equal, higher or lower than the other parameter (i.e. init_range_low is not needed to be lower than init_range_high). + + gene_type: The type of the gene. It is assigned to any of these types (int, float, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64, numpy.float16, numpy.float32, numpy.float64) and forces all the genes to be of that type. + + parent_selection_type: Type of parent selection. + keep_parents: If 0, this means no parent in the current population will be used in the next population. If -1, this means all parents in the current population will be used in the next population. If set to a value > 0, then the specified value refers to the number of parents in the current population to be used in the next population. Some parent selection operators such as rank selection, favor population diversity and therefore keeping the parents in the next generation can be beneficial. However, some other parent selection operators, such as roulette wheel selection (RWS), have higher selection pressure and keeping more than one parent in the next generation can seriously harm population diversity. This parameter have an effect only when the keep_elitism parameter is 0. Thanks to Prof. Fernando Jiménez Barrionuevo (http://webs.um.es/fernan) for editing this sentence. + K_tournament: When the value of 'parent_selection_type' is 'tournament', the 'K_tournament' parameter specifies the number of solutions from which a parent is selected randomly. + + keep_elitism: Added in PyGAD 2.18.0. It can take the value 0 or a positive integer that satisfies (0 <= keep_elitism <= sol_per_pop). It defaults to 1 which means only the best solution in the current generation is kept in the next generation. If assigned 0, this means it has no effect. If assigned a positive integer K, then the best K solutions are kept in the next generation. It cannot be assigned a value greater than the value assigned to the sol_per_pop parameter. If this parameter has a value different than 0, then the keep_parents parameter will have no effect. + + crossover_type: Type of the crossover opreator. If crossover_type=None, then the crossover step is bypassed which means no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. + crossover_probability: The probability of selecting a solution for the crossover operation. If the solution probability is <= crossover_probability, the solution is selected. The value must be between 0 and 1 inclusive. + + mutation_type: Type of the mutation opreator. If mutation_type=None, then the mutation step is bypassed which means no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. + mutation_probability: The probability of selecting a gene for the mutation operation. If the gene probability is <= mutation_probability, the gene is selected. It accepts either a single value for fixed mutation or a list/tuple/numpy.ndarray of 2 values for adaptive mutation. The values must be between 0 and 1 inclusive. If specified, then no need for the 2 parameters mutation_percent_genes and mutation_num_genes. + + mutation_by_replacement: An optional bool parameter. It works only when the selected type of mutation is random (mutation_type="random"). In this case, setting mutation_by_replacement=True means replace the gene by the randomly generated value. If False, then it has no effect and random mutation works by adding the random value to the gene. + + mutation_percent_genes: Percentage of genes to mutate which defaults to the string 'default' which means 10%. This parameter has no action if any of the 2 parameters mutation_probability or mutation_num_genes exist. + mutation_num_genes: Number of genes to mutate which defaults to None. If the parameter mutation_num_genes exists, then no need for the parameter mutation_percent_genes. This parameter has no action if the mutation_probability parameter exists. + random_mutation_min_val: The minimum value of the range from which a random value is selected to be added to the selected gene(s) to mutate. It defaults to -1.0. + random_mutation_max_val: The maximum value of the range from which a random value is selected to be added to the selected gene(s) to mutate. It defaults to 1.0. + + gene_space: It accepts a list of all possible values of the gene. This list is used in the mutation step. Should be used only if the gene space is a set of discrete values. No need for the 2 parameters (random_mutation_min_val and random_mutation_max_val) if the parameter gene_space exists. Added in PyGAD 2.5.0. In PyGAD 2.11.0, the gene_space can be assigned a dict. + + on_start: Accepts a function/method to be called only once before the genetic algorithm starts its evolution. If function, then it must accept a single parameter representing the instance of the genetic algorithm. If method, then it must accept 2 parameters where the second one refers to the method's object. Added in PyGAD 2.6.0. + on_fitness: Accepts a function/method to be called after calculating the fitness values of all solutions in the population. If function, then it must accept 2 parameters: 1) a list of all solutions' fitness values 2) the instance of the genetic algorithm. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. + on_parents: Accepts a function/method to be called after selecting the parents that mates. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one represents the selected parents. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. + on_crossover: Accepts a function/method to be called each time the crossover operation is applied. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one represents the offspring generated using crossover. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. + on_mutation: Accepts a function/method to be called each time the mutation operation is applied. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one represents the offspring after applying the mutation. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. + on_generation: Accepts a function/method to be called after each generation. If function, then it must accept a single parameter representing the instance of the genetic algorithm. If the function returned "stop", then the run() method stops without completing the other generations. If method, then it must accept 2 parameters where the second one refers to the method's object. Added in PyGAD 2.6.0. + on_stop: Accepts a function/method to be called only once exactly before the genetic algorithm stops or when it completes all the generations. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one is a list of fitness values of the last population's solutions. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. + + delay_after_gen: Added in PyGAD 2.4.0. It accepts a non-negative number specifying the number of seconds to wait after a generation completes and before going to the next generation. It defaults to 0.0 which means no delay after the generation. + + save_best_solutions: Added in PyGAD 2.9.0 and its type is bool. If True, then the best solution in each generation is saved into the 'best_solutions' attribute. Use this parameter with caution as it may cause memory overflow when either the number of generations or the number of genes is large. + save_solutions: Added in PyGAD 2.15.0 and its type is bool. If True, then all solutions in each generation are saved into the 'solutions' attribute. Use this parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large. + + suppress_warnings: Added in PyGAD 2.10.0 and its type is bool. If True, then no warning messages will be displayed. It defaults to False. + + allow_duplicate_genes: Added in PyGAD 2.13.0. If True, then a solution/chromosome may have duplicate gene values. If False, then each gene will have a unique value in its solution. + + stop_criteria: Added in PyGAD 2.15.0. It is assigned to some criteria to stop the evolution if at least one criterion holds. + + parallel_processing: Added in PyGAD 2.17.0. Defaults to `None` which means no parallel processing is used. If a positive integer is assigned, it specifies the number of threads to be used. If a list or a tuple of exactly 2 elements is assigned, then: 1) The first element can be either "process" or "thread" to specify whether processes or threads are used, respectively. 2) The second element can be: 1) A positive integer to select the maximum number of processes or threads to be used. 2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'. 3) None to use the default value as calculated by the concurrent.futures module. + + random_seed: Added in PyGAD 2.18.0. It defines the random seed to be used by the random function generators (we use random functions in the NumPy and random modules). This helps to reproduce the same results by setting the same random seed. + + logger: Added in PyGAD 2.20.0. It accepts a logger object of the 'logging.Logger' class to log the messages. If no logger is passed, then a default logger is created to log/print the messages to the console exactly like using the 'print()' function. + """ + + # If no logger is passed, then create a logger that logs only the messages to the console. + if logger is None: + # Create a logger named with the module name. + logger = logging.getLogger(__name__) + # Set the logger log level to 'DEBUG' to log all kinds of messages. + logger.setLevel(logging.DEBUG) + + # Clear any attached handlers to the logger from the previous runs. + # If the handlers are not cleared, then the new handler will be appended to the list of handlers. + # This makes the single log message be repeated according to the length of the list of handlers. + logger.handlers.clear() + + # Create the handlers. + stream_handler = logging.StreamHandler() + # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. + stream_handler.setLevel(logging.DEBUG) + + # Create the formatter that just includes the log message. + formatter = logging.Formatter('%(message)s') + + # Add the formatter to the handler. + stream_handler.setFormatter(formatter) + + # Add the handler to the logger. + logger.addHandler(stream_handler) + else: + # Validate that the passed logger is of type 'logging.Logger'. + if isinstance(logger, logging.Logger): + pass + else: + raise TypeError("The expected type of the 'logger' parameter is 'logging.Logger' but {logger_type} found.".format(logger_type=type(logger))) + + # Create the 'self.logger' attribute to hold the logger. + # Instead of using 'print()', use 'self.logger.info()' + self.logger = logger + + self.random_seed = random_seed + if random_seed is None: + pass + else: + numpy.random.seed(self.random_seed) + random.seed(self.random_seed) + + # If suppress_warnings is bool and its valud is False, then print warning messages. + if type(suppress_warnings) is bool: + self.suppress_warnings = suppress_warnings + else: + self.valid_parameters = False + self.logger.error("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) + raise TypeError("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) + + # Validating mutation_by_replacement + if not (type(mutation_by_replacement) is bool): + self.valid_parameters = False + self.logger.error("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) + raise TypeError("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) + + self.mutation_by_replacement = mutation_by_replacement + + # Validate gene_space + self.gene_space_nested = False + if type(gene_space) is type(None): + pass + elif type(gene_space) in [list, tuple, range, numpy.ndarray]: + if len(gene_space) == 0: + self.valid_parameters = False + self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") + raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") + else: + for index, el in enumerate(gene_space): + if type(el) in [list, tuple, range, numpy.ndarray]: + if len(el) == 0: + self.valid_parameters = False + self.logger.error("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) + raise ValueError("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) + else: + for val in el: + if not (type(val) in [type(None)] + GA.supported_int_float_types): + self.logger.error("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) + raise TypeError("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) + self.gene_space_nested = True + elif type(el) == type(None): + pass + # self.gene_space_nested = True + elif type(el) is dict: + if len(el.items()) == 2: + if ('low' in el.keys()) and ('high' in el.keys()): + pass + else: + self.valid_parameters = False + self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) + raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) + elif len(el.items()) == 3: + if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): + pass + else: + self.valid_parameters = False + self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) + raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) + else: + self.valid_parameters = False + self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) + raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) + self.gene_space_nested = True + elif not (type(el) in GA.supported_int_float_types): + self.valid_parameters = False + self.logger.error("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) + raise TypeError("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) + + elif type(gene_space) is dict: + if len(gene_space.items()) == 2: + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()): + pass + else: + self.valid_parameters = False + self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + elif len(gene_space.items()) == 3: + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): + pass + else: + self.valid_parameters = False + self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + else: + self.valid_parameters = False + self.logger.error("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) + raise ValueError("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) + + else: + self.valid_parameters = False + self.logger.error("The expected type of 'gene_space' is list, tuple, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) + raise TypeError("The expected type of 'gene_space' is list, tuple, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) + + self.gene_space = gene_space + + # Validate init_range_low and init_range_high + if type(init_range_low) in GA.supported_int_float_types: + if type(init_range_high) in GA.supported_int_float_types: + self.init_range_low = init_range_low + self.init_range_high = init_range_high + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) + raise ValueError("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) + raise ValueError("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) + + # Validate random_mutation_min_val and random_mutation_max_val + if type(random_mutation_min_val) in GA.supported_int_float_types: + if type(random_mutation_max_val) in GA.supported_int_float_types: + if random_mutation_min_val == random_mutation_max_val: + if not self.suppress_warnings: warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + else: + self.valid_parameters = False + self.logger.error("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) + raise TypeError("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) + else: + self.valid_parameters = False + self.logger.error("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) + raise TypeError("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) + self.random_mutation_min_val = random_mutation_min_val + self.random_mutation_max_val = random_mutation_max_val + + # Validate gene_type + if gene_type in GA.supported_int_float_types: + self.gene_type = [gene_type, None] + self.gene_type_single = True + # A single data type of float with precision. + elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): + self.gene_type = gene_type + self.gene_type_single = True + elif type(gene_type) in [list, tuple, numpy.ndarray]: + if num_genes is None: + if initial_population is None: + self.valid_parameters = False + self.logger.error("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + elif not len(gene_type) == len(initial_population[0]): + self.valid_parameters = False + self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) + raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) + elif not len(gene_type) == num_genes: + self.valid_parameters = False + self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) + raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) + for gene_type_idx, gene_type_val in enumerate(gene_type): + if gene_type_val in GA.supported_float_types: + # If the gene type is float and no precision is passed, set it to None. + gene_type[gene_type_idx] = [gene_type_val, None] + elif gene_type_val in GA.supported_int_types: + gene_type[gene_type_idx] = [gene_type_val, None] + elif type(gene_type_val) in [list, tuple, numpy.ndarray]: + # A float type is expected in a list/tuple/numpy.ndarray of length 2. + if len(gene_type_val) == 2: + if gene_type_val[0] in GA.supported_float_types: + if type(gene_type_val[1]) in GA.supported_int_types: + pass + else: + self.valid_parameters = False + self.logger.error("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) + raise TypeError("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) + else: + self.valid_parameters = False + self.logger.error("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) + raise TypeError("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) + else: + self.valid_parameters = False + self.logger.error("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) + raise ValueError("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) + else: + self.valid_parameters = False + self.logger.error("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) + raise ValueError("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) + self.gene_type = gene_type + self.gene_type_single = False + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) + raise ValueError("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) + + # Build the initial population + if initial_population is None: + if (sol_per_pop is None) or (num_genes is None): + self.valid_parameters = False + self.logger.error("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") + raise TypeError("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") + elif (type(sol_per_pop) is int) and (type(num_genes) is int): + # Validating the number of solutions in the population (sol_per_pop) + if sol_per_pop <= 0: + self.valid_parameters = False + self.logger.error("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) + raise ValueError("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) + # Validating the number of gene. + if (num_genes <= 0): + self.valid_parameters = False + self.logger.error("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) + raise ValueError("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) + # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. + # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. + self.num_genes = num_genes # Number of genes in the solution. + + # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. + if self.gene_space_nested: + if len(gene_space) != self.num_genes: + self.valid_parameters = False + self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) + raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) + + self.sol_per_pop = sol_per_pop # Number of solutions in the population. + self.initialize_population(self.init_range_low, + self.init_range_high, + allow_duplicate_genes, + True, + self.gene_type) + else: + self.valid_parameters = False + self.logger.error("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) + raise TypeError("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) + elif not type(initial_population) in [list, tuple, numpy.ndarray]: + self.valid_parameters = False + self.logger.error("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) + raise TypeError("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) + elif numpy.array(initial_population).ndim != 2: + self.valid_parameters = False + self.logger.error("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) + raise ValueError("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) + else: + # Validate the type of each value in the 'initial_population' parameter. + for row_idx in range(len(initial_population)): + for col_idx in range(len(initial_population[0])): + if type(initial_population[row_idx][col_idx]) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + self.logger.error("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) + raise TypeError("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) + + # Forcing the initial_population array to have the data type assigned to the gene_type parameter. + if self.gene_type_single == True: + if self.gene_type[1] == None: + self.initial_population = numpy.array(initial_population, dtype=self.gene_type[0]) + else: + self.initial_population = numpy.round(numpy.array(initial_population, dtype=self.gene_type[0]), self.gene_type[1]) + else: + initial_population = numpy.array(initial_population) + self.initial_population = numpy.zeros(shape=(initial_population.shape[0], initial_population.shape[1]), dtype=object) + for gene_idx in range(initial_population.shape[1]): + if self.gene_type[gene_idx][1] is None: + self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]) + else: + self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), + self.gene_type[gene_idx][1]) + + self.population = self.initial_population.copy() # A NumPy array holding the initial population. + self.num_genes = self.initial_population.shape[1] # Number of genes in the solution. + self.sol_per_pop = self.initial_population.shape[0] # Number of solutions in the population. + self.pop_size = (self.sol_per_pop,self.num_genes) # The population size. + + # Round initial_population and population + self.initial_population = self.round_genes(self.initial_population) + self.population = self.round_genes(self.population) + + # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. + if self.gene_space_nested: + if len(gene_space) != self.num_genes: + self.valid_parameters = False + self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) + raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) + + # Validating the number of parents to be selected for mating (num_parents_mating) + if num_parents_mating <= 0: + self.valid_parameters = False + self.logger.error("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) + raise ValueError("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) + + # Validating the number of parents to be selected for mating: num_parents_mating + if (num_parents_mating > self.sol_per_pop): + self.valid_parameters = False + self.logger.error("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) + raise ValueError("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) + + self.num_parents_mating = num_parents_mating + + # crossover: Refers to the method that applies the crossover operator based on the selected type of crossover in the crossover_type property. + # Validating the crossover type: crossover_type + if (crossover_type is None): + self.crossover = None + elif inspect.ismethod(crossover_type): + # Check if the crossover_type is a method that accepts 4 paramaters. + if (crossover_type.__code__.co_argcount == 4): + # The crossover method assigned to the crossover_type parameter is validated. + self.crossover = crossover_type + else: + self.valid_parameters = False + self.logger.error("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) + raise ValueError("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) + elif callable(crossover_type): + # Check if the crossover_type is a function that accepts 2 paramaters. + if (crossover_type.__code__.co_argcount == 3): + # The crossover function assigned to the crossover_type parameter is validated. + self.crossover = crossover_type + else: + self.valid_parameters = False + self.logger.error("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) + raise ValueError("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) + elif not (type(crossover_type) is str): + self.valid_parameters = False + self.logger.error("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) + raise TypeError("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) + else: # type crossover_type is str + crossover_type = crossover_type.lower() + if (crossover_type == "single_point"): + self.crossover = self.single_point_crossover + elif (crossover_type == "two_points"): + self.crossover = self.two_points_crossover + elif (crossover_type == "uniform"): + self.crossover = self.uniform_crossover + elif (crossover_type == "scattered"): + self.crossover = self.scattered_crossover + else: + self.valid_parameters = False + self.logger.error("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) + raise TypeError("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) + + self.crossover_type = crossover_type + + # Calculate the value of crossover_probability + if crossover_probability is None: + self.crossover_probability = None + elif type(crossover_probability) in GA.supported_int_float_types: + if crossover_probability >= 0 and crossover_probability <= 1: + self.crossover_probability = crossover_probability + else: + self.valid_parameters = False + self.logger.error("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) + raise ValueError("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) + raise TypeError("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) + + # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. + # Validating the mutation type: mutation_type + # "adaptive" mutation is supported starting from PyGAD 2.10.0 + if mutation_type is None: + self.mutation = None + elif inspect.ismethod(mutation_type): + # Check if the mutation_type is a method that accepts 3 paramater. + if (mutation_type.__code__.co_argcount == 3): + # The mutation method assigned to the mutation_type parameter is validated. + self.mutation = mutation_type + else: + self.valid_parameters = False + self.logger.error("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) + raise ValueError("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) + elif callable(mutation_type): + # Check if the mutation_type is a function that accepts 2 paramater. + if (mutation_type.__code__.co_argcount == 2): + # The mutation function assigned to the mutation_type parameter is validated. + self.mutation = mutation_type + else: + self.valid_parameters = False + self.logger.error("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) + raise ValueError("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) + elif not (type(mutation_type) is str): + self.valid_parameters = False + self.logger.error("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) + raise TypeError("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) + else: # type mutation_type is str + mutation_type = mutation_type.lower() + if (mutation_type == "random"): + self.mutation = self.random_mutation + elif (mutation_type == "swap"): + self.mutation = self.swap_mutation + elif (mutation_type == "scramble"): + self.mutation = self.scramble_mutation + elif (mutation_type == "inversion"): + self.mutation = self.inversion_mutation + elif (mutation_type == "adaptive"): + self.mutation = self.adaptive_mutation + else: + self.valid_parameters = False + self.logger.error("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) + raise TypeError("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) + + self.mutation_type = mutation_type + + # Calculate the value of mutation_probability + if not (self.mutation_type is None): + if mutation_probability is None: + self.mutation_probability = None + elif (mutation_type != "adaptive"): + # Mutation probability is fixed not adaptive. + if type(mutation_probability) in GA.supported_int_float_types: + if mutation_probability >= 0 and mutation_probability <= 1: + self.mutation_probability = mutation_probability + else: + self.valid_parameters = False + self.logger.error("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) + raise ValueError("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) + raise TypeError("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) + else: + # Mutation probability is adaptive not fixed. + if type(mutation_probability) in [list, tuple, numpy.ndarray]: + if len(mutation_probability) == 2: + for el in mutation_probability: + if type(el) in GA.supported_int_float_types: + if el >= 0 and el <= 1: + pass + else: + self.valid_parameters = False + self.logger.error("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) + raise ValueError("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) + raise TypeError("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) + if mutation_probability[0] < mutation_probability[1]: + if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_probability' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_probability[0], second_el=mutation_probability[1])) + self.mutation_probability = mutation_probability + else: + self.valid_parameters = False + self.logger.error("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) + raise ValueError("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) + raise TypeError("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) + else: + pass + + # Calculate the value of mutation_num_genes + if not (self.mutation_type is None): + if mutation_num_genes is None: + # The mutation_num_genes parameter does not exist. Checking whether adaptive mutation is used. + if (mutation_type != "adaptive"): + # The percent of genes to mutate is fixed not adaptive. + if mutation_percent_genes == 'default'.lower(): + mutation_percent_genes = 10 + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes == 0: + if self.mutation_probability is None: + if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) + mutation_num_genes = 1 + + elif type(mutation_percent_genes) in GA.supported_int_float_types: + if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): + self.valid_parameters = False + self.logger.error("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + raise ValueError("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + else: + # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. + if mutation_percent_genes == 'default'.lower(): + mutation_percent_genes = 10 + + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes == 0: + if self.mutation_probability is None: + if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) + mutation_num_genes = 1 + else: + self.valid_parameters = False + self.logger.error("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) + raise TypeError("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) + else: + # The percent of genes to mutate is adaptive not fixed. + if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: + if len(mutation_percent_genes) == 2: + mutation_num_genes = numpy.zeros_like(mutation_percent_genes, dtype=numpy.uint32) + for idx, el in enumerate(mutation_percent_genes): + if type(el) in GA.supported_int_float_types: + if (el <= 0 or el > 100): + self.valid_parameters = False + self.logger.error("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + raise ValueError("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) + raise TypeError("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) + # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes[idx] = numpy.uint32((mutation_percent_genes[idx]*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes[idx] == 0: + if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate ({mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes[idx], mutation_num=mutation_num_genes[idx])) + mutation_num_genes[idx] = 1 + if mutation_percent_genes[0] < mutation_percent_genes[1]: + if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_percent_genes' parameter is ({first_el}) which is smaller than the second element ({second_el}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.".format(first_el=mutation_percent_genes[0], second_el=mutation_percent_genes[1])) + # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. + else: + self.valid_parameters = False + self.logger.error("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) + raise ValueError("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) + else: + if self.mutation_probability is None: + self.valid_parameters = False + self.logger.error("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) + raise TypeError("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) + # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. + elif (mutation_type != "adaptive"): + # Number of genes to mutate is fixed not adaptive. + if type(mutation_num_genes) in GA.supported_int_types: + if (mutation_num_genes <= 0): + self.valid_parameters = False + self.logger.error("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) + raise ValueError("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) + elif (mutation_num_genes > self.num_genes): + self.valid_parameters = False + self.logger.error("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) + raise ValueError("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) + else: + self.valid_parameters = False + self.logger.error("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) + raise TypeError("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) + else: + # Number of genes to mutate is adaptive not fixed. + if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: + if len(mutation_num_genes) == 2: + for el in mutation_num_genes: + if type(el) in GA.supported_int_types: + if (el <= 0): + self.valid_parameters = False + self.logger.error("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) + raise ValueError("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) + elif (el > self.num_genes): + self.valid_parameters = False + self.logger.error("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) + raise ValueError("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) + raise TypeError("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) + # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. + if mutation_num_genes[0] < mutation_num_genes[1]: + if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_num_genes' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_num_genes[0], second_el=mutation_num_genes[1])) + # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. + else: + self.valid_parameters = False + self.logger.error("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) + raise ValueError("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) + else: + self.valid_parameters = False + self.logger.error("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) + raise TypeError("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) + else: + pass + + # Validating mutation_by_replacement and mutation_type + if self.mutation_type != "random" and self.mutation_by_replacement: + if not self.suppress_warnings: warnings.warn("The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mut_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.".format(mut_type=mutation_type)) + + # Check if crossover and mutation are both disabled. + if (self.mutation_type is None) and (self.crossover_type is None): + if not self.suppress_warnings: warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") + + # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. + # Validating the selected type of parent selection: parent_selection_type + if inspect.ismethod(parent_selection_type): + # Check if the parent_selection_type is a method that accepts 4 paramaters. + if (parent_selection_type.__code__.co_argcount == 4): + # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. + # The parent selection method assigned to the parent_selection_type parameter is validated. + self.select_parents = parent_selection_type + else: + self.valid_parameters = False + self.logger.error("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) + raise ValueError("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) + elif callable(parent_selection_type): + # Check if the parent_selection_type is a function that accepts 3 paramaters. + if (parent_selection_type.__code__.co_argcount == 3): + # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. + # The parent selection function assigned to the parent_selection_type parameter is validated. + self.select_parents = parent_selection_type + else: + self.valid_parameters = False + self.logger.error("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) + raise ValueError("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) + elif not (type(parent_selection_type) is str): + self.valid_parameters = False + self.logger.error("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) + raise TypeError("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) + else: + parent_selection_type = parent_selection_type.lower() + if (parent_selection_type == "sss"): + self.select_parents = self.steady_state_selection + elif (parent_selection_type == "rws"): + self.select_parents = self.roulette_wheel_selection + elif (parent_selection_type == "sus"): + self.select_parents = self.stochastic_universal_selection + elif (parent_selection_type == "random"): + self.select_parents = self.random_selection + elif (parent_selection_type == "tournament"): + self.select_parents = self.tournament_selection + elif (parent_selection_type == "rank"): + self.select_parents = self.rank_selection + else: + self.valid_parameters = False + self.logger.error("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) + raise TypeError("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) + + # For tournament selection, validate the K value. + if(parent_selection_type == "tournament"): + if (K_tournament > self.sol_per_pop): + K_tournament = self.sol_per_pop + if not self.suppress_warnings: warnings.warn("K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n".format(K_tournament=K_tournament, sol_per_pop=self.sol_per_pop)) + elif (K_tournament <= 0): + self.valid_parameters = False + self.logger.error("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) + raise ValueError("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) + + self.K_tournament = K_tournament + + # Validating the number of parents to keep in the next population: keep_parents + if not (type(keep_parents) in GA.supported_int_types): + self.valid_parameters = False + self.logger.error("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) + raise TypeError("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) + elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): + self.valid_parameters = False + self.logger.error("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) + raise ValueError("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) + + self.keep_parents = keep_parents + + if parent_selection_type == "sss" and self.keep_parents == 0: + if not self.suppress_warnings: warnings.warn("The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") + + # Validating the number of elitism to keep in the next population: keep_elitism + if not (type(keep_elitism) in GA.supported_int_types): + self.valid_parameters = False + self.logger.error("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) + raise TypeError("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) + elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): + self.valid_parameters = False + self.logger.error("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) + raise ValueError("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) + + self.keep_elitism = keep_elitism + + # Validate keep_parents. + if self.keep_elitism == 0: + if (self.keep_parents == -1): # Keep all parents in the next population. + self.num_offspring = self.sol_per_pop - self.num_parents_mating + elif (self.keep_parents == 0): # Keep no parents in the next population. + self.num_offspring = self.sol_per_pop + elif (self.keep_parents > 0): # Keep the specified number of parents in the next population. + self.num_offspring = self.sol_per_pop - self.keep_parents + else: + self.num_offspring = self.sol_per_pop - self.keep_elitism + + # Check if the fitness_func is a method. + # In PyGAD 2.19.0, a method can be passed to the fitness function. If function is passed, then it accepts 2 parameters. If method, then it accepts 3 parameters. + # In PyGAD 2.20.0, a new parameter is passed referring to the instance of the `pygad.GA` class. So, the function accepts 3 parameters and the method accepts 4 parameters. + if inspect.ismethod(fitness_func): + # If the fitness is calculated through a method, not a function, then there is a fourth 'self` paramaters. + if (fitness_func.__code__.co_argcount == 4): + self.fitness_func = fitness_func + else: + self.valid_parameters = False + self.logger.error("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) + raise ValueError("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) + elif callable(fitness_func): + # Check if the fitness function accepts 2 paramaters. + if (fitness_func.__code__.co_argcount == 3): + self.fitness_func = fitness_func + else: + self.valid_parameters = False + self.logger.error("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) + raise ValueError("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) + raise TypeError("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) + + if fitness_batch_size is None: + pass + elif not (type(fitness_batch_size) in GA.supported_int_types): + self.valid_parameters = False + self.logger.error("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) + raise TypeError("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) + elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: + self.valid_parameters = False + self.logger.error("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) + raise ValueError("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) + + self.fitness_batch_size = fitness_batch_size + + # Check if the on_start exists. + if not (on_start is None): + if inspect.ismethod(on_start): + # Check if the on_start method accepts 2 paramaters. + if (on_start.__code__.co_argcount == 2): + self.on_start = on_start + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + raise ValueError("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + # Check if the on_start is a function. + elif callable(on_start): + # Check if the on_start function accepts only a single paramater. + if (on_start.__code__.co_argcount == 1): + self.on_start = on_start + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + raise ValueError("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) + raise TypeError("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) + else: + self.on_start = None + + # Check if the on_fitness exists. + if not (on_fitness is None): + # Check if the on_fitness is a method. + if inspect.ismethod(on_fitness): + # Check if the on_fitness method accepts 3 paramaters. + if (on_fitness.__code__.co_argcount == 3): + self.on_fitness = on_fitness + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) + raise ValueError("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) + # Check if the on_fitness is a function. + elif callable(on_fitness): + # Check if the on_fitness function accepts 2 paramaters. + if (on_fitness.__code__.co_argcount == 2): + self.on_fitness = on_fitness + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) + raise ValueError("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) + raise TypeError("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) + else: + self.on_fitness = None + + # Check if the on_parents exists. + if not (on_parents is None): + # Check if the on_parents is a method. + if inspect.ismethod(on_parents): + # Check if the on_parents method accepts 3 paramaters. + if (on_parents.__code__.co_argcount == 3): + self.on_parents = on_parents + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + raise ValueError("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + # Check if the on_parents is a function. + elif callable(on_parents): + # Check if the on_parents function accepts 2 paramaters. + if (on_parents.__code__.co_argcount == 2): + self.on_parents = on_parents + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + raise ValueError("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) + raise TypeError("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) + else: + self.on_parents = None + + # Check if the on_crossover exists. + if not (on_crossover is None): + # Check if the on_crossover is a method. + if inspect.ismethod(on_crossover): + # Check if the on_crossover method accepts 3 paramaters. + if (on_crossover.__code__.co_argcount == 3): + self.on_crossover = on_crossover + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + raise ValueError("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + # Check if the on_crossover is a function. + elif callable(on_crossover): + # Check if the on_crossover function accepts 2 paramaters. + if (on_crossover.__code__.co_argcount == 2): + self.on_crossover = on_crossover + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + raise ValueError("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) + raise TypeError("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) + else: + self.on_crossover = None + + # Check if the on_mutation exists. + if not (on_mutation is None): + # Check if the on_mutation is a method. + if inspect.ismethod(on_mutation): + # Check if the on_mutation method accepts 3 paramaters. + if (on_mutation.__code__.co_argcount == 3): + self.on_mutation = on_mutation + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + raise ValueError("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + # Check if the on_mutation is a function. + elif callable(on_mutation): + # Check if the on_mutation function accepts 2 paramaters. + if (on_mutation.__code__.co_argcount == 2): + self.on_mutation = on_mutation + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + raise ValueError("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) + raise TypeError("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) + else: + self.on_mutation = None + + # Check if the on_generation exists. + if not (on_generation is None): + # Check if the on_generation is a method. + if inspect.ismethod(on_generation): + # Check if the on_generation method accepts 2 paramaters. + if (on_generation.__code__.co_argcount == 2): + self.on_generation = on_generation + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + raise ValueError("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + # Check if the on_generation is a function. + elif callable(on_generation): + # Check if the on_generation function accepts only a single paramater. + if (on_generation.__code__.co_argcount == 1): + self.on_generation = on_generation + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + raise ValueError("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) + raise TypeError("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) + else: + self.on_generation = None + + # Check if the on_stop exists. + if not (on_stop is None): + # Check if the on_stop is a method. + if inspect.ismethod(on_stop): + # Check if the on_stop method accepts 3 paramaters. + if (on_stop.__code__.co_argcount == 3): + self.on_stop = on_stop + else: + self.valid_parameters = False + self.logger.error("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + raise ValueError("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + # Check if the on_stop is a function. + elif callable(on_stop): + # Check if the on_stop function accepts 2 paramaters. + if (on_stop.__code__.co_argcount == 2): + self.on_stop = on_stop + else: + self.valid_parameters = False + self.logger.error("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + raise ValueError("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + else: + self.valid_parameters = False + self.logger.error("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) + raise TypeError("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) + else: + self.on_stop = None + + # Validate delay_after_gen + if type(delay_after_gen) in GA.supported_int_float_types: + if delay_after_gen >= 0.0: + self.delay_after_gen = delay_after_gen + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) + raise ValueError("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) + raise TypeError("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) + + # Validate save_best_solutions + if type(save_best_solutions) is bool: + if save_best_solutions == True: + if not self.suppress_warnings: warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) + raise TypeError("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) + + # Validate save_solutions + if type(save_solutions) is bool: + if save_solutions == True: + if not self.suppress_warnings: warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") + else: + self.valid_parameters = False + self.logger.error("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) + raise TypeError("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) + + # Validate allow_duplicate_genes + if not (type(allow_duplicate_genes) is bool): + self.valid_parameters = False + self.logger.error("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) + raise TypeError("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) + + self.allow_duplicate_genes = allow_duplicate_genes + + self.stop_criteria = [] + self.supported_stop_words = ["reach", "saturate"] + if stop_criteria is None: + # None: Stop after passing through all generations. + self.stop_criteria = None + elif type(stop_criteria) is str: + # reach_{target_fitness}: Stop if the target fitness value is reached. + # saturate_{num_generations}: Stop if the fitness value does not change (saturates) for the given number of generations. + criterion = stop_criteria.split("_") + if len(criterion) == 2: + stop_word = criterion[0] + number = criterion[1] + + if stop_word in self.supported_stop_words: + pass + else: + self.valid_parameters = False + self.logger.error("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + raise ValueError("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + + if number.replace(".", "").isnumeric(): + number = float(number) + else: + self.valid_parameters = False + self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) + raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) + + self.stop_criteria.append([stop_word, number]) + + else: + self.valid_parameters = False + self.logger.error("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) + raise ValueError("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) + + elif type(stop_criteria) in [list, tuple, numpy.ndarray]: + # Remove duplicate criterira by converting the list to a set then back to a list. + stop_criteria = list(set(stop_criteria)) + for idx, val in enumerate(stop_criteria): + if type(val) is str: + criterion = val.split("_") + if len(criterion) == 2: + stop_word = criterion[0] + number = criterion[1] + + if stop_word in self.supported_stop_words: + pass + else: + self.valid_parameters = False + self.logger.error("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + raise ValueError("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + + if number.replace(".", "").isnumeric(): + number = float(number) + else: + self.valid_parameters = False + self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) + raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) + + self.stop_criteria.append([stop_word, number]) + + else: + self.valid_parameters = False + self.logger.error("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) + raise ValueError("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) + else: + self.valid_parameters = False + self.logger.error("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) + raise TypeError("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) + else: + self.valid_parameters = False + self.logger.error("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) + raise TypeError("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) + + if parallel_processing is None: + self.parallel_processing = None + elif type(parallel_processing) in GA.supported_int_types: + if parallel_processing > 0: + self.parallel_processing = ["thread", parallel_processing] + else: + self.valid_parameters = False + self.logger.error("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) + raise ValueError("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) + elif type(parallel_processing) in [list, tuple]: + if len(parallel_processing) == 2: + if type(parallel_processing[0]) is str: + if parallel_processing[0] in ["process", "thread"]: + if (type(parallel_processing[1]) in GA.supported_int_types and parallel_processing[1] > 0) or (parallel_processing[1] == 0) or (parallel_processing[1] is None): + if parallel_processing[1] == 0: + # If the number of processes/threads is 0, this means no parallel processing is used. It is equivelant to setting parallel_processing=None. + self.parallel_processing = None + else: + # Whether the second value is None or a positive integer. + self.parallel_processing = parallel_processing + else: + self.valid_parameters = False + self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) + raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) + else: + self.valid_parameters = False + self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) + raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) + else: + self.valid_parameters = False + self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) + raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) + else: + self.valid_parameters = False + self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) + raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) + else: + self.valid_parameters = False + self.logger.error("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) + raise ValueError("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) + + # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. + self.run_completed = False + + # The number of completed generations. + self.generations_completed = 0 + + # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. + self.valid_parameters = True # Set to True when all the parameters passed in the GA class constructor are valid. + + # Parameters of the genetic algorithm. + self.num_generations = abs(num_generations) + self.parent_selection_type = parent_selection_type + + # Parameters of the mutation operation. + self.mutation_percent_genes = mutation_percent_genes + self.mutation_num_genes = mutation_num_genes + + # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. + self.best_solutions_fitness = [] # A list holding the fitness value of the best solution for each generation. + + self.best_solution_generation = -1 # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. + + self.save_best_solutions = save_best_solutions + self.best_solutions = [] # Holds the best solution in each generation. + + self.save_solutions = save_solutions + self.solutions = [] # Holds the solutions in each generation. + self.solutions_fitness = [] # Holds the fitness of the solutions in each generation. + + self.last_generation_fitness = None # A list holding the fitness values of all solutions in the last generation. + self.last_generation_parents = None # A list holding the parents of the last generation. + self.last_generation_offspring_crossover = None # A list holding the offspring after applying crossover in the last generation. + self.last_generation_offspring_mutation = None # A list holding the offspring after applying mutation in the last generation. + self.previous_generation_fitness = None # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. + self.last_generation_elitism = None # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism_indices = None # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. + + def round_genes(self, solutions): + for gene_idx in range(self.num_genes): + if self.gene_type_single: + if not self.gene_type[1] is None: + solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], self.gene_type[1]) + else: + if not self.gene_type[gene_idx][1] is None: + solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), + self.gene_type[gene_idx][1]) + return solutions + + def initialize_population(self, + low, + high, + allow_duplicate_genes, + mutation_by_replacement, + gene_type): + + """ + Creates an initial population randomly as a NumPy array. The array is saved in the instance attribute named 'population'. + + low: The lower value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20 and higher. + high: The upper value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20. + + This method assigns the values of the following 3 instance attributes: + 1. pop_size: Size of the population. + 2. population: Initially, holds the initial population and later updated after each generation. + 3. init_population: Keeping the initial population. + """ + + # Population size = (number of chromosomes, number of genes per chromosome) + self.pop_size = (self.sol_per_pop,self.num_genes) # The population will have sol_per_pop chromosome where each chromosome has num_genes genes. + + if self.gene_space is None: + # Creating the initial population randomly. + if self.gene_type_single == True: + self.population = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=self.pop_size), + dtype=self.gene_type[0]) # A NumPy array holding the initial population. + else: + # Create an empty population of dtype=object to support storing mixed data types within the same array. + self.population = numpy.zeros(shape=self.pop_size, dtype=object) + # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. + for gene_idx in range(self.num_genes): + # A vector of all values of this single gene across all solutions in the population. + gene_values = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=self.pop_size[0]), + dtype=self.gene_type[gene_idx][0]) + # Adding the current gene values to the population. + self.population[:, gene_idx] = gene_values + + if allow_duplicate_genes == False: + for solution_idx in range(self.population.shape[0]): + # self.logger.info("Before", self.population[solution_idx]) + self.population[solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=self.population[solution_idx], + min_val=low, + max_val=high, + mutation_by_replacement=True, + gene_type=gene_type, + num_trials=10) + # self.logger.info("After", self.population[solution_idx]) + + elif self.gene_space_nested: + if self.gene_type_single == True: + self.population = numpy.zeros(shape=self.pop_size, dtype=self.gene_type[0]) + for sol_idx in range(self.sol_per_pop): + for gene_idx in range(self.num_genes): + if type(self.gene_space[gene_idx]) in [list, tuple, range]: + # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. + if type(self.gene_space[gene_idx]) is range: + temp = self.gene_space[gene_idx] + else: + temp = self.gene_space[gene_idx].copy() + for idx, val in enumerate(self.gene_space[gene_idx]): + if val is None: + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[0])[0] + self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[0](self.population[sol_idx, gene_idx]) + self.gene_space[gene_idx] = temp + elif type(self.gene_space[gene_idx]) is dict: + if 'step' in self.gene_space[gene_idx].keys(): + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], + stop=self.gene_space[gene_idx]['high'], + step=self.gene_space[gene_idx]['step']), + size=1), + dtype=self.gene_type[0])[0] + else: + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], + high=self.gene_space[gene_idx]['high'], + size=1), + dtype=self.gene_type[0])[0] + elif type(self.gene_space[gene_idx]) == type(None): + + # The following commented code replace the None value with a single number that will not change again. + # This means the gene value will be the same across all solutions. + # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, + # high=high, + # size=1), dtype=self.gene_type[0])[0] + # self.population[sol_idx, gene_idx] = self.gene_space[gene_idx].copy() + + # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[0])[0] + elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: + self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + else: + self.population = numpy.zeros(shape=self.pop_size, dtype=object) + for sol_idx in range(self.sol_per_pop): + for gene_idx in range(self.num_genes): + if type(self.gene_space[gene_idx]) in [list, tuple, range]: + # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. + temp = self.gene_space[gene_idx].copy() + for idx, val in enumerate(self.gene_space[gene_idx]): + if val is None: + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[gene_idx][0])[0] + self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0](self.population[sol_idx, gene_idx]) + self.gene_space[gene_idx] = temp.copy() + elif type(self.gene_space[gene_idx]) is dict: + if 'step' in self.gene_space[gene_idx].keys(): + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], + stop=self.gene_space[gene_idx]['high'], + step=self.gene_space[gene_idx]['step']), + size=1), + dtype=self.gene_type[gene_idx][0])[0] + else: + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], + high=self.gene_space[gene_idx]['high'], + size=1), + dtype=self.gene_type[gene_idx][0])[0] + elif type(self.gene_space[gene_idx]) == type(None): + # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, + # high=high, + # size=1), + # dtype=self.gene_type[gene_idx][0])[0] + + # self.population[sol_idx, gene_idx] = self.gene_space[gene_idx].copy() + + temp = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[gene_idx][0])[0] + self.population[sol_idx, gene_idx] = temp + elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: + self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + else: + if self.gene_type_single == True: + # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. + for idx, curr_gene_space in enumerate(self.gene_space): + if curr_gene_space is None: + self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[0])[0] + + # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. + if type(self.gene_space) is dict: + if 'step' in self.gene_space.keys(): + self.population = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=self.pop_size), + dtype=self.gene_type[0]) + else: + self.population = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=self.pop_size), + dtype=self.gene_type[0]) # A NumPy array holding the initial population. + else: + self.population = numpy.asarray(numpy.random.choice(self.gene_space, + size=self.pop_size), + dtype=self.gene_type[0]) # A NumPy array holding the initial population. + else: + # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. + for gene_idx, curr_gene_space in enumerate(self.gene_space): + if curr_gene_space is None: + self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[gene_idx][0])[0] + + # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. + if type(self.gene_space) is dict: + # Create an empty population of dtype=object to support storing mixed data types within the same array. + self.population = numpy.zeros(shape=self.pop_size, dtype=object) + # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. + for gene_idx in range(self.num_genes): + # A vector of all values of this single gene across all solutions in the population. + if 'step' in self.gene_space[gene_idx].keys(): + gene_values = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], + stop=self.gene_space[gene_idx]['high'], + step=self.gene_space[gene_idx]['step']), + size=self.pop_size[0]), + dtype=self.gene_type[gene_idx][0]) + else: + gene_values = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=self.pop_size[0]), + dtype=self.gene_type[gene_idx][0]) + # Adding the current gene values to the population. + self.population[:, gene_idx] = gene_values + + else: + # Create an empty population of dtype=object to support storing mixed data types within the same array. + self.population = numpy.zeros(shape=self.pop_size, dtype=object) + # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. + for gene_idx in range(self.num_genes): + # A vector of all values of this single gene across all solutions in the population. + gene_values = numpy.asarray(numpy.random.choice(self.gene_space, + size=self.pop_size[0]), + dtype=self.gene_type[gene_idx][0]) + # Adding the current gene values to the population. + self.population[:, gene_idx] = gene_values + + if not (self.gene_space is None): + if allow_duplicate_genes == False: + for sol_idx in range(self.population.shape[0]): + self.population[sol_idx], _, _ = self.solve_duplicate_genes_by_space(solution=self.population[sol_idx], + gene_type=self.gene_type, + num_trials=10, + build_initial_pop=True) + + # Keeping the initial population in the initial_population attribute. + self.initial_population = self.population.copy() + + def cal_pop_fitness(self): + + """ + Calculating the fitness values of batches of solutions in the current population. + It returns: + -fitness: An array of the calculated fitness values. + """ + + if self.valid_parameters == False: + self.logger.error("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") + raise Exception("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") + + # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' + # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. + if self.last_generation_parents is not None: + last_generation_parents_as_list = [list(gen_parent) for gen_parent in self.last_generation_parents] + + # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' + # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. + if self.last_generation_elitism is not None: + last_generation_elitism_as_list = [list(gen_elitism) for gen_elitism in self.last_generation_elitism] + + pop_fitness = ["undefined"] * len(self.population) + if self.parallel_processing is None: + # Calculating the fitness value of each solution in the current population. + for sol_idx, sol in enumerate(self.population): + # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. + # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. + # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. + # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. + # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(self.solutions == numpy.array(sol), axis=1))): + # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(numpy.equal(self.solutions, numpy.array(sol)), axis=1))): + if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): + solution_idx = self.solutions.index(list(sol)) + fitness = self.solutions_fitness[solution_idx] + elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): + # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. + # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. + elitism_idx = last_generation_elitism_as_list.index(list(sol)) + # Use the returned elitism index to return its index in the last population. + elitism_idx = self.last_generation_elitism_indices[elitism_idx] + # Use the elitism's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[elitism_idx] + # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. + # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. + # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): + elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): + # Index of the parent in the 'self.last_generation_parents' array. + # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. + # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] + parent_idx = last_generation_parents_as_list.index(list(sol)) + # Use the returned parent index to return its index in the last population. + parent_idx = self.last_generation_parents_indices[parent_idx] + # Use the parent's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[parent_idx] + else: + # Check if batch processing is used. If not, then calculate this missing fitness value. + if self.fitness_batch_size in [1, None]: + fitness = self.fitness_func(self, sol, sol_idx) + if type(fitness) in GA.supported_int_float_types: + pass + else: + self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + else: + # Reaching this point means that batch processing is in effect to calculate the fitness values. + # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. + continue + + # This is only executed if the fitness value was already calculated. + pop_fitness[sol_idx] = fitness + + if self.fitness_batch_size not in [1, None]: + # Reaching this block means that batch fitness calculation is used. + + # Indices of the solutions to calculate their fitness. + solutions_indices = numpy.where(numpy.array(pop_fitness) == "undefined")[0] + # Number of batches. + num_batches = int(numpy.ceil(len(solutions_indices) / self.fitness_batch_size)) + # For each batch, get its indices and call the fitness function. + for batch_idx in range(num_batches): + batch_first_index = batch_idx * self.fitness_batch_size + batch_last_index = (batch_idx + 1) * self.fitness_batch_size + batch_indices = solutions_indices[batch_first_index:batch_last_index] + batch_solutions = self.population[batch_indices, :] + + batch_fitness = self.fitness_func(self, batch_solutions, batch_indices) + if type(batch_fitness) not in [list, tuple, numpy.ndarray]: + self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + elif len(numpy.array(batch_fitness)) != len(batch_indices): + self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + + for index, fitness in zip(batch_indices, batch_fitness): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + else: + # Calculating the fitness value of each solution in the current population. + for sol_idx, sol in enumerate(self.population): + # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. + # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. + # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. + # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. + if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): + solution_idx = self.solutions.index(list(sol)) + fitness = self.solutions_fitness[solution_idx] + pop_fitness[sol_idx] = fitness + elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): + # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. + # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. + elitism_idx = last_generation_elitism_as_list.index(list(sol)) + # Use the returned elitism index to return its index in the last population. + elitism_idx = self.last_generation_elitism_indices[elitism_idx] + # Use the elitism's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[elitism_idx] + + pop_fitness[sol_idx] = fitness + # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. + # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. + # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): + elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): + # Index of the parent in the 'self.last_generation_parents' array. + # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. + # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] + parent_idx = last_generation_parents_as_list.index(list(sol)) + # Use the returned parent index to return its index in the last population. + parent_idx = self.last_generation_parents_indices[parent_idx] + # Use the parent's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[parent_idx] + + pop_fitness[sol_idx] = fitness + + # Decide which class to use based on whether the user selected "process" or "thread" + if self.parallel_processing[0] == "process": + ExecutorClass = concurrent.futures.ProcessPoolExecutor + else: + ExecutorClass = concurrent.futures.ThreadPoolExecutor + + # We can use a with statement to ensure threads are cleaned up promptly (https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example) + with ExecutorClass(max_workers=self.parallel_processing[1]) as executor: + solutions_to_submit_indices = [] + solutions_to_submit = [] + for sol_idx, sol in enumerate(self.population): + # The "undefined" value means that the fitness of this solution must be calculated. + if pop_fitness[sol_idx] == "undefined": + solutions_to_submit.append(sol.copy()) + solutions_to_submit_indices.append(sol_idx) + + # Check if batch processing is used. If not, then calculate the fitness value for individual solutions. + if self.fitness_batch_size in [1, None]: + for index, fitness in zip(solutions_to_submit_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), solutions_to_submit, solutions_to_submit_indices)): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + else: + # Reaching this block means that batch processing is used. The fitness values are calculated in batches. + + # Number of batches. + num_batches = int(numpy.ceil(len(solutions_to_submit_indices) / self.fitness_batch_size)) + # Each element of the `batches_solutions` list represents the solutions in one batch. + batches_solutions = [] + # Each element of the `batches_indices` list represents the solutions' indices in one batch. + batches_indices = [] + # For each batch, get its indices and call the fitness function. + for batch_idx in range(num_batches): + batch_first_index = batch_idx * self.fitness_batch_size + batch_last_index = (batch_idx + 1) * self.fitness_batch_size + batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] + batch_solutions = self.population[batch_indices, :] + + batches_solutions.append(batch_solutions) + batches_indices.append(batch_indices) + + for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): + if type(batch_fitness) not in [list, tuple, numpy.ndarray]: + self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + elif len(numpy.array(batch_fitness)) != len(batch_indices): + self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + + for index, fitness in zip(batch_indices, batch_fitness): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + self.logger.error("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + raise ValueError("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + + pop_fitness = numpy.array(pop_fitness) + + return pop_fitness + + def run(self): + + """ + Runs the genetic algorithm. This is the main method in which the genetic algorithm is evolved through a number of generations. + """ + + if self.valid_parameters == False: + self.logger.error("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") + raise Exception("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") + + # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. + # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. + + # self.best_solutions: Holds the best solution in each generation. + if type(self.best_solutions) is numpy.ndarray: + self.best_solutions = list(self.best_solutions) + # self.best_solutions_fitness: A list holding the fitness value of the best solution for each generation. + if type(self.best_solutions_fitness) is numpy.ndarray: + self.best_solutions_fitness = list(self.best_solutions_fitness) + # self.solutions: Holds the solutions in each generation. + if type(self.solutions) is numpy.ndarray: + self.solutions = list(self.solutions) + # self.solutions_fitness: Holds the fitness of the solutions in each generation. + if type(self.solutions_fitness) is numpy.ndarray: + self.solutions_fitness = list(self.solutions_fitness) + + if not (self.on_start is None): + self.on_start(self) + + stop_run = False + + # To continue from where we stopped, the first generation index should start from the value of the 'self.generations_completed' parameter. + if self.generations_completed != 0 and type(self.generations_completed) in GA.supported_int_types: + # If the 'self.generations_completed' parameter is not '0', then this means we continue execution. + generation_first_idx = self.generations_completed + generation_last_idx = self.num_generations + self.generations_completed + else: + # If the 'self.generations_completed' parameter is '0', then stat from scratch. + generation_first_idx = 0 + generation_last_idx = self.num_generations + + # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. + self.last_generation_fitness = self.cal_pop_fitness() + + best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) + + # Appending the best solution in the initial population to the best_solutions list. + if self.save_best_solutions: + self.best_solutions.append(best_solution) + + for generation in range(generation_first_idx, generation_last_idx): + if not (self.on_fitness is None): + self.on_fitness(self, self.last_generation_fitness) + + # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. + self.best_solutions_fitness.append(best_solution_fitness) + + # Appending the solutions in the current generation to the solutions list. + if self.save_solutions: + # self.solutions.extend(self.population.copy()) + population_as_list = self.population.copy() + population_as_list = [list(item) for item in population_as_list] + self.solutions.extend(population_as_list) + + self.solutions_fitness.extend(self.last_generation_fitness) + + # Selecting the best parents in the population for mating. + if callable(self.parent_selection_type): + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self, + self.last_generation_fitness, + self.num_parents_mating, self) + if not type(self.last_generation_parents) is numpy.ndarray: + self.logger.error("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) + raise TypeError("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) + if not type(self.last_generation_parents_indices) is numpy.ndarray: + self.logger.error("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) + raise TypeError("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) + else: + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + num_parents=self.num_parents_mating) + + # Validate the output of the parent selection step: self.select_parents() + if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): + if self.last_generation_parents.shape[0] != self.num_parents_mating: + self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) + raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) + elif self.last_generation_parents.shape[1] != self.num_genes: + self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) + raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) + + if self.last_generation_parents_indices.ndim != 1: + self.logger.error("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) + raise ValueError("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) + elif len(self.last_generation_parents_indices) != self.num_parents_mating: + self.logger.error("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) + raise ValueError("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) + + if not (self.on_parents is None): + self.on_parents(self, self.last_generation_parents) + + # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. + if self.crossover_type is None: + if self.keep_elitism == 0: + num_parents_to_keep = self.num_parents_mating if self.keep_parents == -1 else self.keep_parents + if self.num_offspring <= num_parents_to_keep: + self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] + else: + self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) + else: + # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. + # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. + self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_elitism) + if self.num_offspring <= self.keep_elitism: + self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] + else: + self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) + else: + # Generating offspring using crossover. + if callable(self.crossover_type): + self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, + (self.num_offspring, self.num_genes), + self) + if not type(self.last_generation_offspring_crossover) is numpy.ndarray: + self.logger.error("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) + raise TypeError("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) + else: + self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, + offspring_size=(self.num_offspring, self.num_genes)) + if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): + if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: + self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) + raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) + elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: + self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) + raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) + + # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. + if not (self.on_crossover is None): + self.on_crossover(self, self.last_generation_offspring_crossover) + + # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. + if self.mutation_type is None: + self.last_generation_offspring_mutation = self.last_generation_offspring_crossover + else: + # Adding some variations to the offspring using mutation. + if callable(self.mutation_type): + self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, + self) + if not type(self.last_generation_offspring_mutation) is numpy.ndarray: + self.logger.error("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) + raise TypeError("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) + else: + self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover) + + if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): + if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: + self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) + raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) + elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: + self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) + raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) + + # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. + if not (self.on_mutation is None): + self.on_mutation(self, self.last_generation_offspring_mutation) + + # Update the population attribute according to the offspring generated. + if self.keep_elitism == 0: + # If the keep_elitism parameter is 0, then the keep_parents parameter will be used to decide if the parents are kept in the next generation. + if (self.keep_parents == 0): + self.population = self.last_generation_offspring_mutation + elif (self.keep_parents == -1): + # Creating the new population based on the parents and offspring. + self.population[0:self.last_generation_parents.shape[0], :] = self.last_generation_parents + self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation + elif (self.keep_parents > 0): + parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_parents) + self.population[0:parents_to_keep.shape[0], :] = parents_to_keep + self.population[parents_to_keep.shape[0]:, :] = self.last_generation_offspring_mutation + else: + self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_elitism) + self.population[0:self.last_generation_elitism.shape[0], :] = self.last_generation_elitism + self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation + + self.generations_completed = generation + 1 # The generations_completed attribute holds the number of the last completed generation. + + self.previous_generation_fitness = self.last_generation_fitness.copy() + # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. + self.last_generation_fitness = self.cal_pop_fitness() + + best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) + + # Appending the best solution in the current generation to the best_solutions list. + if self.save_best_solutions: + self.best_solutions.append(best_solution) + + # If the on_generation attribute is not None, then cal the callback function after the generation. + if not (self.on_generation is None): + r = self.on_generation(self) + if type(r) is str and r.lower() == "stop": + # Before aborting the loop, save the fitness value of the best solution. + # _, best_solution_fitness, _ = self.best_solution() + self.best_solutions_fitness.append(best_solution_fitness) + break + + if not self.stop_criteria is None: + for criterion in self.stop_criteria: + if criterion[0] == "reach": + if max(self.last_generation_fitness) >= criterion[1]: + stop_run = True + break + elif criterion[0] == "saturate": + criterion[1] = int(criterion[1]) + if (self.generations_completed >= criterion[1]): + if (self.best_solutions_fitness[self.generations_completed - criterion[1]] - self.best_solutions_fitness[self.generations_completed - 1]) == 0: + stop_run = True + break + + if stop_run: + break + + time.sleep(self.delay_after_gen) + + # Save the fitness of the last generation. + if self.save_solutions: + # self.solutions.extend(self.population.copy()) + population_as_list = self.population.copy() + population_as_list = [list(item) for item in population_as_list] + self.solutions.extend(population_as_list) + + self.solutions_fitness.extend(self.last_generation_fitness) + + # Save the fitness value of the best solution. + _, best_solution_fitness, _ = self.best_solution(pop_fitness=self.last_generation_fitness) + self.best_solutions_fitness.append(best_solution_fitness) + + self.best_solution_generation = numpy.where(numpy.array(self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] + # After the run() method completes, the run_completed flag is changed from False to True. + self.run_completed = True # Set to True only after the run() method completes gracefully. + + if not (self.on_stop is None): + self.on_stop(self, self.last_generation_fitness) + + # Converting the 'best_solutions' list into a NumPy array. + self.best_solutions = numpy.array(self.best_solutions) + + # Converting the 'solutions' list into a NumPy array. + # self.solutions = numpy.array(self.solutions) + + def best_solution(self, pop_fitness=None): + + """ + Returns information about the best solution found by the genetic algorithm. + Accepts the following parameters: + pop_fitness: An optional parameter holding the fitness values of the solutions in the latest population. If passed, then it save time calculating the fitness. If None, then the 'cal_pop_fitness()' method is called to calculate the fitness of the latest population. + The following are returned: + -best_solution: Best solution in the current population. + -best_solution_fitness: Fitness value of the best solution. + -best_match_idx: Index of the best solution in the current population. + """ + + if pop_fitness is None: + # If the 'pop_fitness' parameter is not passed, then we have to call the 'cal_pop_fitness()' method to calculate the fitness of all solutions in the lastest population. + pop_fitness = self.cal_pop_fitness() + # Verify the type of the 'pop_fitness' parameter. + elif type(pop_fitness) in [tuple, list, numpy.ndarray]: + # Verify that the length of the passed population fitness matches the length of the 'self.population' attribute. + if len(pop_fitness) == len(self.population): + # This successfully verifies the 'pop_fitness' parameter. + pass + else: + self.logger.error("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) + raise ValueError("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) + else: + self.logger.error("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) + raise ValueError("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) + + # Return the index of the best solution that has the best fitness value. + best_match_idx = numpy.where(pop_fitness == numpy.max(pop_fitness))[0][0] + + best_solution = self.population[best_match_idx, :].copy() + best_solution_fitness = pop_fitness[best_match_idx] + + return best_solution, best_solution_fitness, best_match_idx + + def save(self, filename): + + """ + Saves the genetic algorithm instance: + -filename: Name of the file to save the instance. No extension is needed. + """ + + cloudpickle_serialized_object = cloudpickle.dumps(self) + with open(filename + ".pkl", 'wb') as file: + file.write(cloudpickle_serialized_object) + cloudpickle.dump(self, file) + + def summary(self, + line_length=70, + fill_character=" ", + line_character="-", + line_character2="=", + columns_equal_len=False, + print_step_parameters=True, + print_parameters_summary=True): + """ + The summary() method prints a summary of the PyGAD lifecycle in a Keras style. + The parameters are: + line_length: An integer representing the length of the single line in characters. + fill_character: A character to fill the lines. + line_character: A character for creating a line separator. + line_character2: A secondary character to create a line separator. + columns_equal_len: The table rows are split into equal-sized columns or split subjective to the width needed. + print_step_parameters: Whether to print extra parameters about each step inside the step. If print_step_parameters=False and print_parameters_summary=True, then the parameters of each step are printed at the end of the table. + print_parameters_summary: Whether to print parameters summary at the end of the table. If print_step_parameters=False, then the parameters of each step are printed at the end of the table too. + """ + + summary_output = "" + + def fill_message(msg, line_length=line_length, fill_character=fill_character): + num_spaces = int((line_length - len(msg))/2) + num_spaces = int(num_spaces / len(fill_character)) + msg = "{spaces}{msg}{spaces}".format(msg=msg, spaces=fill_character * num_spaces) + return msg + + def line_separator(line_length=line_length, line_character=line_character): + num_characters = int(line_length / len(line_character)) + return line_character * num_characters + + def create_row(columns, line_length=line_length, fill_character=fill_character, split_percentages=None): + filled_columns = [] + if split_percentages == None: + split_percentages = [int(100/len(columns))] * 3 + columns_lengths = [int((split_percentages[idx] * line_length) / 100) for idx in range(len(split_percentages))] + for column_idx, column in enumerate(columns): + current_column_length = len(column) + extra_characters = columns_lengths[column_idx] - current_column_length + filled_column = column + fill_character * extra_characters + filled_column = column + fill_character * extra_characters + filled_columns.append(filled_column) + + return "".join(filled_columns) + + def print_parent_selection_params(): + nonlocal summary_output + m = "Number of Parents: {num_parents_mating}".format(num_parents_mating=self.num_parents_mating) + self.logger.info(m) + summary_output = summary_output + m + "\n" + if self.parent_selection_type == "tournament": + m = "K Tournament: {K_tournament}".format(K_tournament=self.K_tournament) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + def print_fitness_params(): + nonlocal summary_output + if not self.fitness_batch_size is None: + m = "Fitness batch size: {fitness_batch_size}".format(fitness_batch_size=self.fitness_batch_size) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + def print_crossover_params(): + nonlocal summary_output + if not self.crossover_probability is None: + m = "Crossover probability: {crossover_probability}".format(crossover_probability=self.crossover_probability) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + def print_mutation_params(): + nonlocal summary_output + if not self.mutation_probability is None: + m = "Mutation Probability: {mutation_probability}".format(mutation_probability=self.mutation_probability) + self.logger.info(m) + summary_output = summary_output + m + "\n" + if self.mutation_percent_genes == "default": + m = "Mutation Percentage: {mutation_percent_genes}".format(mutation_percent_genes=self.mutation_percent_genes) + self.logger.info(m) + summary_output = summary_output + m + "\n" + # Number of mutation genes is already showed above. + m = "Mutation Genes: {mutation_num_genes}".format(mutation_num_genes=self.mutation_num_genes) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Random Mutation Range: ({random_mutation_min_val}, {random_mutation_max_val})".format(random_mutation_min_val=self.random_mutation_min_val, random_mutation_max_val=self.random_mutation_max_val) + self.logger.info(m) + summary_output = summary_output + m + "\n" + if not self.gene_space is None: + m = "Gene Space: {gene_space}".format(gene_space=self.gene_space) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Mutation by Replacement: {mutation_by_replacement}".format(mutation_by_replacement=self.mutation_by_replacement) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Allow Duplicated Genes: {allow_duplicate_genes}".format(allow_duplicate_genes=self.allow_duplicate_genes) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + def print_on_generation_params(): + nonlocal summary_output + if not self.stop_criteria is None: + m = "Stop Criteria: {stop_criteria}".format(stop_criteria=self.stop_criteria) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + def print_params_summary(): + nonlocal summary_output + m = "Population Size: ({sol_per_pop}, {num_genes})".format(sol_per_pop=self.sol_per_pop, num_genes=self.num_genes) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Number of Generations: {num_generations}".format(num_generations=self.num_generations) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Initial Population Range: ({init_range_low}, {init_range_high})".format(init_range_low=self.init_range_low, init_range_high=self.init_range_high) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + if not print_step_parameters: + print_fitness_params() + + if not print_step_parameters: + print_parent_selection_params() + + if self.keep_elitism != 0: + m = "Keep Elitism: {keep_elitism}".format(keep_elitism=self.keep_elitism) + self.logger.info(m) + summary_output = summary_output + m + "\n" + else: + m = "Keep Parents: {keep_parents}".format(keep_parents=self.keep_parents) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Gene DType: {gene_type}".format(gene_type=self.gene_type) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + if not print_step_parameters: + print_crossover_params() + + if not print_step_parameters: + print_mutation_params() + + if self.delay_after_gen != 0: + m = "Post-Generation Delay: {delay_after_gen}".format(delay_after_gen=self.delay_after_gen) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + if not print_step_parameters: + print_on_generation_params() + + if not self.parallel_processing is None: + m = "Parallel Processing: {parallel_processing}".format(parallel_processing=self.parallel_processing) + self.logger.info(m) + summary_output = summary_output + m + "\n" + if not self.random_seed is None: + m = "Random Seed: {random_seed}".format(random_seed=self.random_seed) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Save Best Solutions: {save_best_solutions}".format(save_best_solutions=self.save_best_solutions) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = "Save Solutions: {save_solutions}".format(save_solutions=self.save_solutions) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + m = line_separator(line_character=line_character) + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = fill_message("PyGAD Lifecycle") + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = line_separator(line_character=line_character2) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + lifecycle_steps = ["on_start()", "Fitness Function", "On Fitness", "Parent Selection", "On Parents", "Crossover", "On Crossover", "Mutation", "On Mutation", "On Generation", "On Stop"] + lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] + lifecycle_functions = [getattr(lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] + lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != "None" else "None" for lifecycle_func in lifecycle_functions] + lifecycle_output = ["None", "(1)", "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "None", "None"] + lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] + + if not columns_equal_len: + max_lengthes = [max(list(map(len, lifecycle_steps))), max(list(map(len, lifecycle_functions))), max(list(map(len, lifecycle_output)))] + split_percentages = [int((column_len / sum(max_lengthes)) * 100) for column_len in max_lengthes] + else: + split_percentages = None + + header_columns = ["Step", "Handler", "Output Shape"] + header_row = create_row(header_columns, split_percentages=split_percentages) + m = header_row + self.logger.info(m) + summary_output = summary_output + m + "\n" + m = line_separator(line_character=line_character2) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + for lifecycle_idx in range(len(lifecycle_steps)): + lifecycle_column = [lifecycle_steps[lifecycle_idx], lifecycle_functions[lifecycle_idx], lifecycle_output[lifecycle_idx]] + if lifecycle_column[1] == "None": + continue + lifecycle_row = create_row(lifecycle_column, split_percentages=split_percentages) + m = lifecycle_row + self.logger.info(m) + summary_output = summary_output + m + "\n" + if print_step_parameters: + if not lifecycle_step_parameters[lifecycle_idx] is None: + lifecycle_step_parameters[lifecycle_idx]() + m = line_separator(line_character=line_character) + self.logger.info(m) + summary_output = summary_output + m + "\n" + + m = line_separator(line_character=line_character2) + self.logger.info(m) + summary_output = summary_output + m + "\n" + if print_parameters_summary: + print_params_summary() + m = line_separator(line_character=line_character2) + self.logger.info(m) + summary_output = summary_output + m + "\n" + return summary_output + +def load(filename): + + """ + Reads a saved instance of the genetic algorithm: + -filename: Name of the file to read the instance. No extension is needed. + Returns the genetic algorithm instance. + """ + + try: + with open(filename + ".pkl", 'rb') as file: + ga_in = cloudpickle.load(file) + except FileNotFoundError: + raise FileNotFoundError("Error reading the file {filename}. Please check your inputs.".format(filename=filename)) + except: + # raise BaseException("Error loading the file. If the file already exists, please reload all the functions previously used (e.g. fitness function).") + raise BaseException("Error loading the file.") + return ga_in diff --git a/pygad/torchga/__init__.py b/pygad/torchga/__init__.py new file mode 100644 index 0000000..7e51570 --- /dev/null +++ b/pygad/torchga/__init__.py @@ -0,0 +1,3 @@ +from .torchga import * + +__version__ = "1.3.0" diff --git a/pygad/torchga/torchga.py b/pygad/torchga/torchga.py new file mode 100644 index 0000000..cff6d2e --- /dev/null +++ b/pygad/torchga/torchga.py @@ -0,0 +1,90 @@ +import copy +import numpy +import torch + +def model_weights_as_vector(model): + weights_vector = [] + + for curr_weights in model.state_dict().values(): + # Calling detach() to remove the computational graph from the layer. + # cpu() is called for making shore the data is moved from GPU to cpu + # numpy() is called for converting the tensor into a NumPy array. + curr_weights = curr_weights.cpu().detach().numpy() + vector = numpy.reshape(curr_weights, newshape=(curr_weights.size)) + weights_vector.extend(vector) + + return numpy.array(weights_vector) + +def model_weights_as_dict(model, weights_vector): + weights_dict = model.state_dict() + + start = 0 + for key in weights_dict: + # Calling detach() to remove the computational graph from the layer. + # cpu() is called for making shore the data is moved from GPU to cpu + # numpy() is called for converting the tensor into a NumPy array. + w_matrix = weights_dict[key].cpu().detach().numpy() + layer_weights_shape = w_matrix.shape + layer_weights_size = w_matrix.size + + layer_weights_vector = weights_vector[start:start + layer_weights_size] + layer_weights_matrix = numpy.reshape(layer_weights_vector, newshape=(layer_weights_shape)) + weights_dict[key] = torch.from_numpy(layer_weights_matrix) + + start = start + layer_weights_size + + return weights_dict + +def predict(model, solution, data): + # Fetch the parameters of the best solution. + model_weights_dict = model_weights_as_dict(model=model, + weights_vector=solution) + + # Use the current solution as the model parameters. + _model = copy.deepcopy(model) + _model.load_state_dict(model_weights_dict) + + predictions = _model(data) + + return predictions + +class TorchGA: + + def __init__(self, model, num_solutions): + + """ + Creates an instance of the TorchGA class to build a population of model parameters. + + model: A PyTorch model class. + num_solutions: Number of solutions in the population. Each solution has different model parameters. + """ + + self.model = model + + self.num_solutions = num_solutions + + # A list holding references to all the solutions (i.e. networks) used in the population. + self.population_weights = self.create_population() + + def create_population(self): + + """ + Creates the initial population of the genetic algorithm as a list of networks' weights (i.e. solutions). Each element in the list holds a different weights of the PyTorch model. + + The method returns a list holding the weights of all solutions. + """ + + model_weights_vector = model_weights_as_vector(model=self.model) + + net_population_weights = [] + net_population_weights.append(model_weights_vector) + + for idx in range(self.num_solutions-1): + + net_weights = copy.deepcopy(model_weights_vector) + net_weights = numpy.array(net_weights) + numpy.random.uniform(low=-1.0, high=1.0, size=model_weights_vector.size) + + # Appending the weights to the population. + net_population_weights.append(net_weights) + + return net_population_weights diff --git a/pygad/utils/__init__.py b/pygad/utils/__init__.py new file mode 100644 index 0000000..dde5633 --- /dev/null +++ b/pygad/utils/__init__.py @@ -0,0 +1,5 @@ +from pygad.utils import parent_selection +from pygad.utils import crossover +from pygad.utils import mutation + +__version__ = "1.0.0" \ No newline at end of file diff --git a/pygad/utils/crossover.py b/pygad/utils/crossover.py new file mode 100644 index 0000000..8eff279 --- /dev/null +++ b/pygad/utils/crossover.py @@ -0,0 +1,248 @@ +""" +The pygad.utils.crossover module has all the built-in crossover operators. +""" + +import numpy +import random + +class Crossover: + def single_point_crossover(self, parents, offspring_size): + + """ + Applies the single-point crossover. It selects a point randomly at which crossover takes place between the pairs of parents. + It accepts 2 parameters: + -parents: The parents to mate for producing the offspring. + -offspring_size: The size of the offspring to produce. + It returns an array the produced offspring. + """ + + if self.gene_type_single == True: + offspring = numpy.empty(offspring_size, dtype=self.gene_type[0]) + else: + offspring = numpy.empty(offspring_size, dtype=object) + + for k in range(offspring_size[0]): + # The point at which crossover takes place between two parents. Usually, it is at the center. + crossover_point = numpy.random.randint(low=0, high=parents.shape[1], size=1)[0] + + if not (self.crossover_probability is None): + probs = numpy.random.random(size=parents.shape[0]) + indices = numpy.where(probs <= self.crossover_probability)[0] + + # If no parent satisfied the probability, no crossover is applied and a parent is selected. + if len(indices) == 0: + offspring[k, :] = parents[k % parents.shape[0], :] + continue + elif len(indices) == 1: + parent1_idx = indices[0] + parent2_idx = parent1_idx + else: + indices = random.sample(list(set(indices)), 2) + parent1_idx = indices[0] + parent2_idx = indices[1] + else: + # Index of the first parent to mate. + parent1_idx = k % parents.shape[0] + # Index of the second parent to mate. + parent2_idx = (k+1) % parents.shape[0] + + # The new offspring has its first half of its genes from the first parent. + offspring[k, 0:crossover_point] = parents[parent1_idx, 0:crossover_point] + # The new offspring has its second half of its genes from the second parent. + offspring[k, crossover_point:] = parents[parent2_idx, crossover_point:] + + if self.allow_duplicate_genes == False: + if self.gene_space is None: + offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], + gene_type=self.gene_type, + num_trials=10) + + return offspring + + def two_points_crossover(self, parents, offspring_size): + + """ + Applies the 2 points crossover. It selects the 2 points randomly at which crossover takes place between the pairs of parents. + It accepts 2 parameters: + -parents: The parents to mate for producing the offspring. + -offspring_size: The size of the offspring to produce. + It returns an array the produced offspring. + """ + + if self.gene_type_single == True: + offspring = numpy.empty(offspring_size, dtype=self.gene_type[0]) + else: + offspring = numpy.empty(offspring_size, dtype=object) + + for k in range(offspring_size[0]): + if (parents.shape[1] == 1): # If the chromosome has only a single gene. In this case, this gene is copied from the second parent. + crossover_point1 = 0 + else: + crossover_point1 = numpy.random.randint(low=0, high=numpy.ceil(parents.shape[1]/2 + 1), size=1)[0] + + crossover_point2 = crossover_point1 + int(parents.shape[1]/2) # The second point must always be greater than the first point. + + if not (self.crossover_probability is None): + probs = numpy.random.random(size=parents.shape[0]) + indices = numpy.where(probs <= self.crossover_probability)[0] + + # If no parent satisfied the probability, no crossover is applied and a parent is selected. + if len(indices) == 0: + offspring[k, :] = parents[k % parents.shape[0], :] + continue + elif len(indices) == 1: + parent1_idx = indices[0] + parent2_idx = parent1_idx + else: + indices = random.sample(list(set(indices)), 2) + parent1_idx = indices[0] + parent2_idx = indices[1] + else: + # Index of the first parent to mate. + parent1_idx = k % parents.shape[0] + # Index of the second parent to mate. + parent2_idx = (k+1) % parents.shape[0] + + # The genes from the beginning of the chromosome up to the first point are copied from the first parent. + offspring[k, 0:crossover_point1] = parents[parent1_idx, 0:crossover_point1] + # The genes from the second point up to the end of the chromosome are copied from the first parent. + offspring[k, crossover_point2:] = parents[parent1_idx, crossover_point2:] + # The genes between the 2 points are copied from the second parent. + offspring[k, crossover_point1:crossover_point2] = parents[parent2_idx, crossover_point1:crossover_point2] + + if self.allow_duplicate_genes == False: + if self.gene_space is None: + offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], + gene_type=self.gene_type, + num_trials=10) + return offspring + + def uniform_crossover(self, parents, offspring_size): + + """ + Applies the uniform crossover. For each gene, a parent out of the 2 mating parents is selected randomly and the gene is copied from it. + It accepts 2 parameters: + -parents: The parents to mate for producing the offspring. + -offspring_size: The size of the offspring to produce. + It returns an array the produced offspring. + """ + + if self.gene_type_single == True: + offspring = numpy.empty(offspring_size, dtype=self.gene_type[0]) + else: + offspring = numpy.empty(offspring_size, dtype=object) + + for k in range(offspring_size[0]): + if not (self.crossover_probability is None): + probs = numpy.random.random(size=parents.shape[0]) + indices = numpy.where(probs <= self.crossover_probability)[0] + + # If no parent satisfied the probability, no crossover is applied and a parent is selected. + if len(indices) == 0: + offspring[k, :] = parents[k % parents.shape[0], :] + continue + elif len(indices) == 1: + parent1_idx = indices[0] + parent2_idx = parent1_idx + else: + indices = random.sample(list(set(indices)), 2) + parent1_idx = indices[0] + parent2_idx = indices[1] + else: + # Index of the first parent to mate. + parent1_idx = k % parents.shape[0] + # Index of the second parent to mate. + parent2_idx = (k+1) % parents.shape[0] + + genes_source = numpy.random.randint(low=0, high=2, size=offspring_size[1]) + for gene_idx in range(offspring_size[1]): + if (genes_source[gene_idx] == 0): + # The gene will be copied from the first parent if the current gene index is 0. + offspring[k, gene_idx] = parents[parent1_idx, gene_idx] + elif (genes_source[gene_idx] == 1): + # The gene will be copied from the second parent if the current gene index is 1. + offspring[k, gene_idx] = parents[parent2_idx, gene_idx] + + if self.allow_duplicate_genes == False: + if self.gene_space is None: + offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], + gene_type=self.gene_type, + num_trials=10) + + return offspring + + def scattered_crossover(self, parents, offspring_size): + + """ + Applies the scattered crossover. It randomly selects the gene from one of the 2 parents. + It accepts 2 parameters: + -parents: The parents to mate for producing the offspring. + -offspring_size: The size of the offspring to produce. + It returns an array the produced offspring. + """ + + if self.gene_type_single == True: + offspring = numpy.empty(offspring_size, dtype=self.gene_type[0]) + else: + offspring = numpy.empty(offspring_size, dtype=object) + + for k in range(offspring_size[0]): + if not (self.crossover_probability is None): + probs = numpy.random.random(size=parents.shape[0]) + indices = numpy.where(probs <= self.crossover_probability)[0] + + # If no parent satisfied the probability, no crossover is applied and a parent is selected. + if len(indices) == 0: + offspring[k, :] = parents[k % parents.shape[0], :] + continue + elif len(indices) == 1: + parent1_idx = indices[0] + parent2_idx = parent1_idx + else: + indices = random.sample(list(set(indices)), 2) + parent1_idx = indices[0] + parent2_idx = indices[1] + else: + # Index of the first parent to mate. + parent1_idx = k % parents.shape[0] + # Index of the second parent to mate. + parent2_idx = (k+1) % parents.shape[0] + + # A 0/1 vector where 0 means the gene is taken from the first parent and 1 means the gene is taken from the second parent. + gene_sources = numpy.random.randint(0, 2, size=self.num_genes) + offspring[k, :] = numpy.where(gene_sources == 0, parents[parent1_idx, :], parents[parent2_idx, :]) + + if self.allow_duplicate_genes == False: + if self.gene_space is None: + offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], + gene_type=self.gene_type, + num_trials=10) + return offspring diff --git a/pygad/utils/mutation.py b/pygad/utils/mutation.py new file mode 100644 index 0000000..a5eb867 --- /dev/null +++ b/pygad/utils/mutation.py @@ -0,0 +1,822 @@ +""" +The pygad.utils.mutation module has all the built-in mutation operators. +""" + +import numpy +import random + +import pygad + +class Mutation: + def random_mutation(self, offspring): + + """ + Applies the random mutation which changes the values of a number of genes randomly. + The random value is selected either using the 'gene_space' parameter or the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + # If the mutation values are selected from the mutation space, the attribute 'gene_space' is not None. Otherwise, it is None. + # When the 'mutation_probability' parameter exists (i.e. not None), then it is used in the mutation. Otherwise, the 'mutation_num_genes' parameter is used. + + if self.mutation_probability is None: + # When the 'mutation_probability' parameter does not exist (i.e. None), then the parameter 'mutation_num_genes' is used in the mutation. + if not (self.gene_space is None): + # When the attribute 'gene_space' exists (i.e. not None), the mutation values are selected randomly from the space of values of each gene. + offspring = self.mutation_by_space(offspring) + else: + offspring = self.mutation_randomly(offspring) + else: + # When the 'mutation_probability' parameter exists (i.e. not None), then it is used in the mutation. + if not (self.gene_space is None): + # When the attribute 'gene_space' does not exist (i.e. None), the mutation values are selected randomly based on the continuous range specified by the 2 attributes 'random_mutation_min_val' and 'random_mutation_max_val'. + offspring = self.mutation_probs_by_space(offspring) + else: + offspring = self.mutation_probs_randomly(offspring) + + return offspring + + def mutation_by_space(self, offspring): + + """ + Applies the random mutation using the mutation values' space. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring using the mutation space. + """ + + # For each offspring, a value from the gene space is selected randomly and assigned to the selected mutated gene. + for offspring_idx in range(offspring.shape[0]): + mutation_indices = numpy.array(random.sample(range(0, self.num_genes), self.mutation_num_genes)) + for gene_idx in mutation_indices: + + if self.gene_space_nested: + # Returning the current gene space from the 'gene_space' attribute. + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + curr_gene_space = self.gene_space[gene_idx].copy() + else: + curr_gene_space = self.gene_space[gene_idx] + + # If the gene space has only a single value, use it as the new gene value. + if type(curr_gene_space) in pygad.GA.supported_int_float_types: + value_from_space = curr_gene_space + # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + elif curr_gene_space is None: + rand_val = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + if self.mutation_by_replacement: + value_from_space = rand_val + else: + value_from_space = offspring[offspring_idx, gene_idx] + rand_val + elif type(curr_gene_space) is dict: + # The gene's space of type dict specifies the lower and upper limits of a gene. + if 'step' in curr_gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], + stop=curr_gene_space['high'], + step=curr_gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=curr_gene_space['low'], + high=curr_gene_space['high'], + size=1) + else: + # Selecting a value randomly based on the current gene's space in the 'gene_space' attribute. + # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. + if len(curr_gene_space) == 1: + value_from_space = curr_gene_space[0] + # If the gene space has more than 1 value, then select a new one that is different from the current value. + else: + values_to_select_from = list(set(curr_gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + else: + # Selecting a value randomly from the global gene space in the 'gene_space' attribute. + if type(self.gene_space) is dict: + # When the gene_space is assigned a dict object, then it specifies the lower and upper limits of all genes in the space. + if 'step' in self.gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=1) + else: + # If the space type is not of type dict, then a value is randomly selected from the gene_space attribute. + values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + # value_from_space = random.choice(self.gene_space) + + if value_from_space is None: + value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + + # Assinging the selected value from the space to the gene. + if self.gene_type_single == True: + if not self.gene_type[1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[0](value_from_space), + self.gene_type[1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[0](value_from_space) + else: + if not self.gene_type[gene_idx][1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[gene_idx][0](value_from_space), + self.gene_type[gene_idx][1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[gene_idx][0](value_from_space) + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[offspring_idx], + gene_type=self.gene_type, + num_trials=10) + return offspring + + def mutation_probs_by_space(self, offspring): + + """ + Applies the random mutation using the mutation values' space and the mutation probability. For each gene, if its probability is <= that mutation probability, then it will be mutated based on the mutation space. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring using the mutation space. + """ + + # For each offspring, a value from the gene space is selected randomly and assigned to the selected mutated gene. + for offspring_idx in range(offspring.shape[0]): + probs = numpy.random.random(size=offspring.shape[1]) + for gene_idx in range(offspring.shape[1]): + if probs[gene_idx] <= self.mutation_probability: + if self.gene_space_nested: + # Returning the current gene space from the 'gene_space' attribute. + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + curr_gene_space = self.gene_space[gene_idx].copy() + else: + curr_gene_space = self.gene_space[gene_idx] + + # If the gene space has only a single value, use it as the new gene value. + if type(curr_gene_space) in pygad.GA.supported_int_float_types: + value_from_space = curr_gene_space + # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + elif curr_gene_space is None: + rand_val = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + if self.mutation_by_replacement: + value_from_space = rand_val + else: + value_from_space = offspring[offspring_idx, gene_idx] + rand_val + elif type(curr_gene_space) is dict: + # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. + if 'step' in curr_gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], + stop=curr_gene_space['high'], + step=curr_gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=curr_gene_space['low'], + high=curr_gene_space['high'], + size=1) + else: + # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. + # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. + if len(curr_gene_space) == 1: + value_from_space = curr_gene_space[0] + # If the gene space has more than 1 value, then select a new one that is different from the current value. + else: + values_to_select_from = list(set(curr_gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + else: + # Selecting a value randomly from the global gene space in the 'gene_space' attribute. + if type(self.gene_space) is dict: + if 'step' in self.gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=1) + else: + values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + + # Assigning the selected value from the space to the gene. + if self.gene_type_single == True: + if not self.gene_type[1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[0](value_from_space), + self.gene_type[1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[0](value_from_space) + else: + if not self.gene_type[gene_idx][1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[gene_idx][0](value_from_space), + self.gene_type[gene_idx][1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[gene_idx][0](value_from_space) + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[offspring_idx], + gene_type=self.gene_type, + num_trials=10) + return offspring + + def mutation_randomly(self, offspring): + + """ + Applies the random mutation the mutation probability. For each gene, if its probability is <= that mutation probability, then it will be mutated randomly. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + # Random mutation changes one or more genes in each offspring randomly. + for offspring_idx in range(offspring.shape[0]): + mutation_indices = numpy.array(random.sample(range(0, self.num_genes), self.mutation_num_genes)) + for gene_idx in mutation_indices: + # Generating a random value. + random_value = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. + if self.mutation_by_replacement: + if self.gene_type_single == True: + random_value = self.gene_type[0](random_value) + else: + random_value = self.gene_type[gene_idx][0](random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + # If the mutation_by_replacement attribute is False, then the random value is added to the gene value. + else: + if self.gene_type_single == True: + random_value = self.gene_type[0](offspring[offspring_idx, gene_idx] + random_value) + else: + random_value = self.gene_type[gene_idx][0](offspring[offspring_idx, gene_idx] + random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + + # Round the gene + if self.gene_type_single == True: + if not self.gene_type[1] is None: + random_value = numpy.round(random_value, self.gene_type[1]) + else: + if not self.gene_type[gene_idx][1] is None: + random_value = numpy.round(random_value, self.gene_type[gene_idx][1]) + + offspring[offspring_idx, gene_idx] = random_value + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + + return offspring + + def mutation_probs_randomly(self, offspring): + + """ + Applies the random mutation using the mutation probability. For each gene, if its probability is <= that mutation probability, then it will be mutated randomly. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + # Random mutation changes one or more gene in each offspring randomly. + for offspring_idx in range(offspring.shape[0]): + probs = numpy.random.random(size=offspring.shape[1]) + for gene_idx in range(offspring.shape[1]): + if probs[gene_idx] <= self.mutation_probability: + # Generating a random value. + random_value = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. + if self.mutation_by_replacement: + if self.gene_type_single == True: + random_value = self.gene_type[0](random_value) + else: + random_value = self.gene_type[gene_idx][0](random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + # If the mutation_by_replacement attribute is False, then the random value is added to the gene value. + else: + if self.gene_type_single == True: + random_value = self.gene_type[0](offspring[offspring_idx, gene_idx] + random_value) + else: + random_value = self.gene_type[gene_idx][0](offspring[offspring_idx, gene_idx] + random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + + # Round the gene + if self.gene_type_single == True: + if not self.gene_type[1] is None: + random_value = numpy.round(random_value, self.gene_type[1]) + else: + if not self.gene_type[gene_idx][1] is None: + random_value = numpy.round(random_value, self.gene_type[gene_idx][1]) + + offspring[offspring_idx, gene_idx] = random_value + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + return offspring + + def swap_mutation(self, offspring): + + """ + Applies the swap mutation which interchanges the values of 2 randomly selected genes. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + for idx in range(offspring.shape[0]): + mutation_gene1 = numpy.random.randint(low=0, high=offspring.shape[1]/2, size=1)[0] + mutation_gene2 = mutation_gene1 + int(offspring.shape[1]/2) + + temp = offspring[idx, mutation_gene1] + offspring[idx, mutation_gene1] = offspring[idx, mutation_gene2] + offspring[idx, mutation_gene2] = temp + return offspring + + def inversion_mutation(self, offspring): + + """ + Applies the inversion mutation which selects a subset of genes and inverts them (in order). + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + for idx in range(offspring.shape[0]): + mutation_gene1 = numpy.random.randint(low=0, high=numpy.ceil(offspring.shape[1]/2 + 1), size=1)[0] + mutation_gene2 = mutation_gene1 + int(offspring.shape[1]/2) + + genes_to_scramble = numpy.flip(offspring[idx, mutation_gene1:mutation_gene2]) + offspring[idx, mutation_gene1:mutation_gene2] = genes_to_scramble + return offspring + + def scramble_mutation(self, offspring): + + """ + Applies the scramble mutation which selects a subset of genes and shuffles their order randomly. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + for idx in range(offspring.shape[0]): + mutation_gene1 = numpy.random.randint(low=0, high=numpy.ceil(offspring.shape[1]/2 + 1), size=1)[0] + mutation_gene2 = mutation_gene1 + int(offspring.shape[1]/2) + genes_range = numpy.arange(start=mutation_gene1, stop=mutation_gene2) + numpy.random.shuffle(genes_range) + + genes_to_scramble = numpy.flip(offspring[idx, genes_range]) + offspring[idx, genes_range] = genes_to_scramble + return offspring + + def adaptive_mutation_population_fitness(self, offspring): + + """ + A helper method to calculate the average fitness of the solutions before applying the adaptive mutation. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns the average fitness to be used in adaptive mutation. + """ + + fitness = self.last_generation_fitness.copy() + temp_population = numpy.zeros_like(self.population) + + if (self.keep_elitism == 0): + if (self.keep_parents == 0): + parents_to_keep = [] + elif (self.keep_parents == -1): + parents_to_keep = self.last_generation_parents.copy() + temp_population[0:len(parents_to_keep), :] = parents_to_keep + elif (self.keep_parents > 0): + parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, num_parents=self.keep_parents) + temp_population[0:len(parents_to_keep), :] = parents_to_keep + else: + parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, num_parents=self.keep_elitism) + temp_population[0:len(parents_to_keep), :] = parents_to_keep + + temp_population[len(parents_to_keep):, :] = offspring + + fitness[:self.last_generation_parents.shape[0]] = self.last_generation_fitness[self.last_generation_parents_indices] + + for idx in range(len(parents_to_keep), fitness.shape[0]): + fitness[idx] = self.fitness_func(self, temp_population[idx], None) + average_fitness = numpy.mean(fitness) + + return average_fitness, fitness[len(parents_to_keep):] + + def adaptive_mutation(self, offspring): + + """ + Applies the adaptive mutation which changes the values of a number of genes randomly. In adaptive mutation, the number of genes to mutate differs based on the fitness value of the solution. + The random value is selected either using the 'gene_space' parameter or the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + # If the attribute 'gene_space' exists (i.e. not None), then the mutation values are selected from the 'gene_space' parameter according to the space of values of each gene. Otherwise, it is selected randomly based on the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + # When the 'mutation_probability' parameter exists (i.e. not None), then it is used in the mutation. Otherwise, the 'mutation_num_genes' parameter is used. + + if self.mutation_probability is None: + # When the 'mutation_probability' parameter does not exist (i.e. None), then the parameter 'mutation_num_genes' is used in the mutation. + if not (self.gene_space is None): + # When the attribute 'gene_space' exists (i.e. not None), the mutation values are selected randomly from the space of values of each gene. + offspring = self.adaptive_mutation_by_space(offspring) + else: + # When the attribute 'gene_space' does not exist (i.e. None), the mutation values are selected randomly based on the continuous range specified by the 2 attributes 'random_mutation_min_val' and 'random_mutation_max_val'. + offspring = self.adaptive_mutation_randomly(offspring) + else: + # When the 'mutation_probability' parameter exists (i.e. not None), then it is used in the mutation. + if not (self.gene_space is None): + # When the attribute 'gene_space' exists (i.e. not None), the mutation values are selected randomly from the space of values of each gene. + offspring = self.adaptive_mutation_probs_by_space(offspring) + else: + # When the attribute 'gene_space' does not exist (i.e. None), the mutation values are selected randomly based on the continuous range specified by the 2 attributes 'random_mutation_min_val' and 'random_mutation_max_val'. + offspring = self.adaptive_mutation_probs_randomly(offspring) + + return offspring + + def adaptive_mutation_by_space(self, offspring): + + """ + Applies the adaptive mutation based on the 2 parameters 'mutation_num_genes' and 'gene_space'. + A number of genes equal are selected randomly for mutation. This number depends on the fitness of the solution. + The random values are selected from the 'gene_space' parameter. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + # For each offspring, a value from the gene space is selected randomly and assigned to the selected gene for mutation. + + average_fitness, offspring_fitness = self.adaptive_mutation_population_fitness(offspring) + + # Adaptive mutation changes one or more genes in each offspring randomly. + # The number of genes to mutate depends on the solution's fitness value. + for offspring_idx in range(offspring.shape[0]): + if offspring_fitness[offspring_idx] < average_fitness: + adaptive_mutation_num_genes = self.mutation_num_genes[0] + else: + adaptive_mutation_num_genes = self.mutation_num_genes[1] + mutation_indices = numpy.array(random.sample(range(0, self.num_genes), adaptive_mutation_num_genes)) + for gene_idx in mutation_indices: + + if self.gene_space_nested: + # Returning the current gene space from the 'gene_space' attribute. + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + curr_gene_space = self.gene_space[gene_idx].copy() + else: + curr_gene_space = self.gene_space[gene_idx] + + # If the gene space has only a single value, use it as the new gene value. + if type(curr_gene_space) in pygad.GA.supported_int_float_types: + value_from_space = curr_gene_space + # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + elif curr_gene_space is None: + rand_val = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + if self.mutation_by_replacement: + value_from_space = rand_val + else: + value_from_space = offspring[offspring_idx, gene_idx] + rand_val + elif type(curr_gene_space) is dict: + # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. + if 'step' in curr_gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], + stop=curr_gene_space['high'], + step=curr_gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=curr_gene_space['low'], + high=curr_gene_space['high'], + size=1) + else: + # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. + # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. + if len(curr_gene_space) == 1: + value_from_space = curr_gene_space[0] + # If the gene space has more than 1 value, then select a new one that is different from the current value. + else: + values_to_select_from = list(set(curr_gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + else: + # Selecting a value randomly from the global gene space in the 'gene_space' attribute. + if type(self.gene_space) is dict: + if 'step' in self.gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=1) + else: + values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + + + if value_from_space is None: + value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + + # Assinging the selected value from the space to the gene. + if self.gene_type_single == True: + if not self.gene_type[1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[0](value_from_space), + self.gene_type[1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[0](value_from_space) + else: + if not self.gene_type[gene_idx][1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[gene_idx][0](value_from_space), + self.gene_type[gene_idx][1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[gene_idx][0](value_from_space) + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[offspring_idx], + gene_type=self.gene_type, + num_trials=10) + return offspring + + def adaptive_mutation_randomly(self, offspring): + + """ + Applies the adaptive mutation based on the 'mutation_num_genes' parameter. + A number of genes equal are selected randomly for mutation. This number depends on the fitness of the solution. + The random values are selected based on the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + average_fitness, offspring_fitness = self.adaptive_mutation_population_fitness(offspring) + + # Adaptive random mutation changes one or more genes in each offspring randomly. + # The number of genes to mutate depends on the solution's fitness value. + for offspring_idx in range(offspring.shape[0]): + if offspring_fitness[offspring_idx] < average_fitness: + adaptive_mutation_num_genes = self.mutation_num_genes[0] + else: + adaptive_mutation_num_genes = self.mutation_num_genes[1] + mutation_indices = numpy.array(random.sample(range(0, self.num_genes), adaptive_mutation_num_genes)) + for gene_idx in mutation_indices: + # Generating a random value. + random_value = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. + if self.mutation_by_replacement: + if self.gene_type_single == True: + random_value = self.gene_type[0](random_value) + else: + random_value = self.gene_type[gene_idx][0](random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + # If the mutation_by_replacement attribute is False, then the random value is added to the gene value. + else: + if self.gene_type_single == True: + random_value = self.gene_type[0](offspring[offspring_idx, gene_idx] + random_value) + else: + random_value = self.gene_type[gene_idx][0](offspring[offspring_idx, gene_idx] + random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + + if self.gene_type_single == True: + if not self.gene_type[1] is None: + random_value = numpy.round(random_value, self.gene_type[1]) + else: + if not self.gene_type[gene_idx][1] is None: + random_value = numpy.round(random_value, self.gene_type[gene_idx][1]) + + offspring[offspring_idx, gene_idx] = random_value + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + return offspring + + def adaptive_mutation_probs_by_space(self, offspring): + + """ + Applies the adaptive mutation based on the 2 parameters 'mutation_probability' and 'gene_space'. + Based on whether the solution fitness is above or below a threshold, the mutation is applied diffrently by mutating high or low number of genes. + The random values are selected based on space of values for each gene. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + # For each offspring, a value from the gene space is selected randomly and assigned to the selected gene for mutation. + + average_fitness, offspring_fitness = self.adaptive_mutation_population_fitness(offspring) + + # Adaptive random mutation changes one or more genes in each offspring randomly. + # The probability of mutating a gene depends on the solution's fitness value. + for offspring_idx in range(offspring.shape[0]): + if offspring_fitness[offspring_idx] < average_fitness: + adaptive_mutation_probability = self.mutation_probability[0] + else: + adaptive_mutation_probability = self.mutation_probability[1] + + probs = numpy.random.random(size=offspring.shape[1]) + for gene_idx in range(offspring.shape[1]): + if probs[gene_idx] <= adaptive_mutation_probability: + if self.gene_space_nested: + # Returning the current gene space from the 'gene_space' attribute. + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + curr_gene_space = self.gene_space[gene_idx].copy() + else: + curr_gene_space = self.gene_space[gene_idx] + + # If the gene space has only a single value, use it as the new gene value. + if type(curr_gene_space) in pygad.GA.supported_int_float_types: + value_from_space = curr_gene_space + # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + elif curr_gene_space is None: + rand_val = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + if self.mutation_by_replacement: + value_from_space = rand_val + else: + value_from_space = offspring[offspring_idx, gene_idx] + rand_val + elif type(curr_gene_space) is dict: + # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. + if 'step' in curr_gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], + stop=curr_gene_space['high'], + step=curr_gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=curr_gene_space['low'], + high=curr_gene_space['high'], + size=1) + else: + # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. + # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. + if len(curr_gene_space) == 1: + value_from_space = curr_gene_space[0] + # If the gene space has more than 1 value, then select a new one that is different from the current value. + else: + values_to_select_from = list(set(curr_gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + else: + # Selecting a value randomly from the global gene space in the 'gene_space' attribute. + if type(self.gene_space) is dict: + if 'step' in self.gene_space.keys(): + value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), + size=1) + else: + value_from_space = numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=1) + else: + values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) + + if len(values_to_select_from) == 0: + value_from_space = offspring[offspring_idx, gene_idx] + else: + value_from_space = random.choice(values_to_select_from) + + if value_from_space is None: + value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + + # Assinging the selected value from the space to the gene. + if self.gene_type_single == True: + if not self.gene_type[1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[0](value_from_space), + self.gene_type[1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[0](value_from_space) + else: + if not self.gene_type[gene_idx][1] is None: + offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[gene_idx][0](value_from_space), + self.gene_type[gene_idx][1]) + else: + offspring[offspring_idx, gene_idx] = self.gene_type[gene_idx][0](value_from_space) + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[offspring_idx], + gene_type=self.gene_type, + num_trials=10) + return offspring + + def adaptive_mutation_probs_randomly(self, offspring): + + """ + Applies the adaptive mutation based on the 'mutation_probability' parameter. + Based on whether the solution fitness is above or below a threshold, the mutation is applied diffrently by mutating high or low number of genes. + The random values are selected based on the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. + It accepts a single parameter: + -offspring: The offspring to mutate. + It returns an array of the mutated offspring. + """ + + average_fitness, offspring_fitness = self.adaptive_mutation_population_fitness(offspring) + + # Adaptive random mutation changes one or more genes in each offspring randomly. + # The probability of mutating a gene depends on the solution's fitness value. + for offspring_idx in range(offspring.shape[0]): + if offspring_fitness[offspring_idx] < average_fitness: + adaptive_mutation_probability = self.mutation_probability[0] + else: + adaptive_mutation_probability = self.mutation_probability[1] + + probs = numpy.random.random(size=offspring.shape[1]) + for gene_idx in range(offspring.shape[1]): + if probs[gene_idx] <= adaptive_mutation_probability: + # Generating a random value. + random_value = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. + if self.mutation_by_replacement: + if self.gene_type_single == True: + random_value = self.gene_type[0](random_value) + else: + random_value = self.gene_type[gene_idx][0](random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + # If the mutation_by_replacement attribute is False, then the random value is added to the gene value. + else: + if self.gene_type_single == True: + random_value = self.gene_type[0](offspring[offspring_idx, gene_idx] + random_value) + else: + random_value = self.gene_type[gene_idx][0](offspring[offspring_idx, gene_idx] + random_value) + if type(random_value) is numpy.ndarray: + random_value = random_value[0] + + if self.gene_type_single == True: + if not self.gene_type[1] is None: + random_value = numpy.round(random_value, self.gene_type[1]) + else: + if not self.gene_type[gene_idx][1] is None: + random_value = numpy.round(random_value, self.gene_type[gene_idx][1]) + + offspring[offspring_idx, gene_idx] = random_value + + if self.allow_duplicate_genes == False: + offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + return offspring diff --git a/pygad/utils/parent_selection.py b/pygad/utils/parent_selection.py new file mode 100644 index 0000000..7f32181 --- /dev/null +++ b/pygad/utils/parent_selection.py @@ -0,0 +1,191 @@ +""" +The pygad.utils.parent_selection module has all the built-in parent selection operators. +""" + +import numpy + +class ParentSelection: + def steady_state_selection(self, fitness, num_parents): + + """ + Selects the parents using the steady-state selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + for parent_num in range(num_parents): + parents[parent_num, :] = self.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + + def rank_selection(self, fitness, num_parents): + + """ + Selects the parents using the rank selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + for parent_num in range(num_parents): + parents[parent_num, :] = self.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + + def random_selection(self, fitness, num_parents): + + """ + Selects the parents randomly. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + rand_indices = numpy.random.randint(low=0.0, high=fitness.shape[0], size=num_parents) + + for parent_num in range(num_parents): + parents[parent_num, :] = self.population[rand_indices[parent_num], :].copy() + + return parents, rand_indices + + def tournament_selection(self, fitness, num_parents): + + """ + Selects the parents using the tournament selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_indices = numpy.random.randint(low=0.0, high=len(fitness), size=self.K_tournament) + K_fitnesses = fitness[rand_indices] + selected_parent_idx = numpy.where(K_fitnesses == numpy.max(K_fitnesses))[0][0] + parents_indices.append(rand_indices[selected_parent_idx]) + parents[parent_num, :] = self.population[rand_indices[selected_parent_idx], :].copy() + + return parents, numpy.array(parents_indices) + + def roulette_wheel_selection(self, fitness, num_parents): + + """ + Selects the parents using the roulette wheel selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sum = numpy.sum(fitness) + if fitness_sum == 0: + self.logger.error("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + raise ZeroDivisionError("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + probs = fitness / fitness_sum + probs_start = numpy.zeros(probs.shape, dtype=float) # An array holding the start values of the ranges of probabilities. + probs_end = numpy.zeros(probs.shape, dtype=float) # An array holding the end values of the ranges of probabilities. + + curr = 0.0 + + # Calculating the probabilities of the solutions to form a roulette wheel. + for _ in range(probs.shape[0]): + min_probs_idx = numpy.where(probs == numpy.min(probs))[0][0] + probs_start[min_probs_idx] = curr + curr = curr + probs[min_probs_idx] + probs_end[min_probs_idx] = curr + probs[min_probs_idx] = 99999999999 + + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_prob = numpy.random.rand() + for idx in range(probs.shape[0]): + if (rand_prob >= probs_start[idx] and rand_prob < probs_end[idx]): + parents[parent_num, :] = self.population[idx, :].copy() + parents_indices.append(idx) + break + return parents, numpy.array(parents_indices) + + def stochastic_universal_selection(self, fitness, num_parents): + + """ + Selects the parents using the stochastic universal selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sum = numpy.sum(fitness) + if fitness_sum == 0: + self.logger.error("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + raise ZeroDivisionError("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + probs = fitness / fitness_sum + probs_start = numpy.zeros(probs.shape, dtype=float) # An array holding the start values of the ranges of probabilities. + probs_end = numpy.zeros(probs.shape, dtype=float) # An array holding the end values of the ranges of probabilities. + + curr = 0.0 + + # Calculating the probabilities of the solutions to form a roulette wheel. + for _ in range(probs.shape[0]): + min_probs_idx = numpy.where(probs == numpy.min(probs))[0][0] + probs_start[min_probs_idx] = curr + curr = curr + probs[min_probs_idx] + probs_end[min_probs_idx] = curr + probs[min_probs_idx] = 99999999999 + + pointers_distance = 1.0 / self.num_parents_mating # Distance between different pointers. + first_pointer = numpy.random.uniform(low=0.0, high=pointers_distance, size=1) # Location of the first pointer. + + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_pointer = first_pointer + parent_num*pointers_distance + for idx in range(probs.shape[0]): + if (rand_pointer >= probs_start[idx] and rand_pointer < probs_end[idx]): + parents[parent_num, :] = self.population[idx, :].copy() + parents_indices.append(idx) + break + return parents, numpy.array(parents_indices) diff --git a/pygad/visualize/__init__.py b/pygad/visualize/__init__.py new file mode 100644 index 0000000..6b79646 --- /dev/null +++ b/pygad/visualize/__init__.py @@ -0,0 +1,3 @@ +from pygad.visualize import plot + +__version__ = "1.0.0" \ No newline at end of file diff --git a/pygad/visualize/plot.py b/pygad/visualize/plot.py new file mode 100644 index 0000000..a79f848 --- /dev/null +++ b/pygad/visualize/plot.py @@ -0,0 +1,348 @@ +""" +The pygad.visualize.plot module has methods to create plots. +""" + +import numpy +import warnings +import matplotlib.pyplot + +class Plot: + def plot_result(self, + title="PyGAD - Generation vs. Fitness", + xlabel="Generation", + ylabel="Fitness", + linewidth=3, + font_size=14, + plot_type="plot", + color="#3870FF", + save_dir=None): + + if not self.suppress_warnings: + warnings.warn("Please use the plot_fitness() method instead of plot_result(). The plot_result() method will be removed in the future.") + + return self.plot_fitness(title=title, + xlabel=xlabel, + ylabel=ylabel, + linewidth=linewidth, + font_size=font_size, + plot_type=plot_type, + color=color, + save_dir=save_dir) + + def plot_fitness(self, + title="PyGAD - Generation vs. Fitness", + xlabel="Generation", + ylabel="Fitness", + linewidth=3, + font_size=14, + plot_type="plot", + color="#3870FF", + save_dir=None): + + """ + Creates, shows, and returns a figure that summarizes how the fitness value evolved by generation. Can only be called after completing at least 1 generation. If no generation is completed, an exception is raised. + + Accepts the following: + title: Figure title. + xlabel: Label on the X-axis. + ylabel: Label on the Y-axis. + linewidth: Line width of the plot. Defaults to 3. + font_size: Font size for the labels and title. Defaults to 14. + plot_type: Type of the plot which can be either "plot" (default), "scatter", or "bar". + color: Color of the plot which defaults to "#3870FF". + save_dir: Directory to save the figure. + + Returns the figure. + """ + + if self.generations_completed < 1: + self.logger.error("The plot_fitness() (i.e. plot_result()) method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + raise RuntimeError("The plot_fitness() (i.e. plot_result()) method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + + fig = matplotlib.pyplot.figure() + if plot_type == "plot": + matplotlib.pyplot.plot(self.best_solutions_fitness, linewidth=linewidth, color=color) + elif plot_type == "scatter": + matplotlib.pyplot.scatter(range(len(self.best_solutions_fitness)), self.best_solutions_fitness, linewidth=linewidth, color=color) + elif plot_type == "bar": + matplotlib.pyplot.bar(range(len(self.best_solutions_fitness)), self.best_solutions_fitness, linewidth=linewidth, color=color) + matplotlib.pyplot.title(title, fontsize=font_size) + matplotlib.pyplot.xlabel(xlabel, fontsize=font_size) + matplotlib.pyplot.ylabel(ylabel, fontsize=font_size) + + if not save_dir is None: + matplotlib.pyplot.savefig(fname=save_dir, + bbox_inches='tight') + matplotlib.pyplot.show() + + return fig + + def plot_new_solution_rate(self, + title="PyGAD - Generation vs. New Solution Rate", + xlabel="Generation", + ylabel="New Solution Rate", + linewidth=3, + font_size=14, + plot_type="plot", + color="#3870FF", + save_dir=None): + + """ + Creates, shows, and returns a figure that summarizes the rate of exploring new solutions. This method works only when save_solutions=True in the constructor of the pygad.GA class. + + Accepts the following: + title: Figure title. + xlabel: Label on the X-axis. + ylabel: Label on the Y-axis. + linewidth: Line width of the plot. Defaults to 3. + font_size: Font size for the labels and title. Defaults to 14. + plot_type: Type of the plot which can be either "plot" (default), "scatter", or "bar". + color: Color of the plot which defaults to "#3870FF". + save_dir: Directory to save the figure. + + Returns the figure. + """ + + if self.generations_completed < 1: + self.logger.error("The plot_new_solution_rate() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + raise RuntimeError("The plot_new_solution_rate() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + + if self.save_solutions == False: + self.logger.error("The plot_new_solution_rate() method works only when save_solutions=True in the constructor of the pygad.GA class.") + raise RuntimeError("The plot_new_solution_rate() method works only when save_solutions=True in the constructor of the pygad.GA class.") + + unique_solutions = set() + num_unique_solutions_per_generation = [] + for generation_idx in range(self.generations_completed): + + len_before = len(unique_solutions) + + start = generation_idx * self.sol_per_pop + end = start + self.sol_per_pop + + for sol in self.solutions[start:end]: + unique_solutions.add(tuple(sol)) + + len_after = len(unique_solutions) + + generation_num_unique_solutions = len_after - len_before + num_unique_solutions_per_generation.append(generation_num_unique_solutions) + + fig = matplotlib.pyplot.figure() + if plot_type == "plot": + matplotlib.pyplot.plot(num_unique_solutions_per_generation, linewidth=linewidth, color=color) + elif plot_type == "scatter": + matplotlib.pyplot.scatter(range(self.generations_completed), num_unique_solutions_per_generation, linewidth=linewidth, color=color) + elif plot_type == "bar": + matplotlib.pyplot.bar(range(self.generations_completed), num_unique_solutions_per_generation, linewidth=linewidth, color=color) + matplotlib.pyplot.title(title, fontsize=font_size) + matplotlib.pyplot.xlabel(xlabel, fontsize=font_size) + matplotlib.pyplot.ylabel(ylabel, fontsize=font_size) + + if not save_dir is None: + matplotlib.pyplot.savefig(fname=save_dir, + bbox_inches='tight') + matplotlib.pyplot.show() + + return fig + + def plot_genes(self, + title="PyGAD - Gene", + xlabel="Gene", + ylabel="Value", + linewidth=3, + font_size=14, + plot_type="plot", + graph_type="plot", + fill_color="#3870FF", + color="black", + solutions="all", + save_dir=None): + + """ + Creates, shows, and returns a figure with number of subplots equal to the number of genes. Each subplot shows the gene value for each generation. + This method works only when save_solutions=True in the constructor of the pygad.GA class. + It also works only after completing at least 1 generation. If no generation is completed, an exception is raised. + + Accepts the following: + title: Figure title. + xlabel: Label on the X-axis. + ylabel: Label on the Y-axis. + linewidth: Line width of the plot. Defaults to 3. + font_size: Font size for the labels and title. Defaults to 14. + plot_type: Type of the plot which can be either "plot" (default), "scatter", or "bar". + graph_type: Type of the graph which can be either "plot" (default), "boxplot", or "histogram". + fill_color: Fill color of the graph which defaults to "#3870FF". This has no effect if graph_type="plot". + color: Color of the plot which defaults to "black". + solutions: Defaults to "all" which means use all solutions. If "best" then only the best solutions are used. + save_dir: Directory to save the figure. + + Returns the figure. + """ + + if self.generations_completed < 1: + self.logger.error("The plot_genes() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + raise RuntimeError("The plot_genes() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + + if type(solutions) is str: + if solutions == 'all': + if self.save_solutions: + solutions_to_plot = numpy.array(self.solutions) + else: + self.logger.error("The plot_genes() method with solutions='all' can only be called if 'save_solutions=True' in the pygad.GA class constructor.") + raise RuntimeError("The plot_genes() method with solutions='all' can only be called if 'save_solutions=True' in the pygad.GA class constructor.") + elif solutions == 'best': + if self.save_best_solutions: + solutions_to_plot = self.best_solutions + else: + self.logger.error("The plot_genes() method with solutions='best' can only be called if 'save_best_solutions=True' in the pygad.GA class constructor.") + raise RuntimeError("The plot_genes() method with solutions='best' can only be called if 'save_best_solutions=True' in the pygad.GA class constructor.") + else: + self.logger.error("The solutions parameter can be either 'all' or 'best' but {solutions} found.".format(solutions=solutions)) + raise RuntimeError("The solutions parameter can be either 'all' or 'best' but {solutions} found.".format(solutions=solutions)) + else: + self.logger.error("The solutions parameter must be a string but {solutions_type} found.".format(solutions_type=type(solutions))) + raise RuntimeError("The solutions parameter must be a string but {solutions_type} found.".format(solutions_type=type(solutions))) + + if graph_type == "plot": + # num_rows will be always be >= 1 + # num_cols can only be 0 if num_genes=1 + num_rows = int(numpy.ceil(self.num_genes/5.0)) + num_cols = int(numpy.ceil(self.num_genes/num_rows)) + + if num_cols == 0: + figsize = (10, 8) + # There is only a single gene + fig, ax = matplotlib.pyplot.subplots(num_rows, figsize=figsize) + if plot_type == "plot": + ax.plot(solutions_to_plot[:, 0], linewidth=linewidth, color=fill_color) + elif plot_type == "scatter": + ax.scatter(range(self.generations_completed + 1), solutions_to_plot[:, 0], linewidth=linewidth, color=fill_color) + elif plot_type == "bar": + ax.bar(range(self.generations_completed + 1), solutions_to_plot[:, 0], linewidth=linewidth, color=fill_color) + ax.set_xlabel(0, fontsize=font_size) + else: + fig, axs = matplotlib.pyplot.subplots(num_rows, num_cols) + + if num_cols == 1 and num_rows == 1: + fig.set_figwidth(5 * num_cols) + fig.set_figheight(4) + axs.plot(solutions_to_plot[:, 0], linewidth=linewidth, color=fill_color) + axs.set_xlabel("Gene " + str(0), fontsize=font_size) + elif num_cols == 1 or num_rows == 1: + fig.set_figwidth(5 * num_cols) + fig.set_figheight(4) + for gene_idx in range(len(axs)): + if plot_type == "plot": + axs[gene_idx].plot(solutions_to_plot[:, gene_idx], linewidth=linewidth, color=fill_color) + elif plot_type == "scatter": + axs[gene_idx].scatter(range(solutions_to_plot.shape[0]), solutions_to_plot[:, gene_idx], linewidth=linewidth, color=fill_color) + elif plot_type == "bar": + axs[gene_idx].bar(range(solutions_to_plot.shape[0]), solutions_to_plot[:, gene_idx], linewidth=linewidth, color=fill_color) + axs[gene_idx].set_xlabel("Gene " + str(gene_idx), fontsize=font_size) + else: + gene_idx = 0 + fig.set_figwidth(25) + fig.set_figheight(4*num_rows) + for row_idx in range(num_rows): + for col_idx in range(num_cols): + if gene_idx >= self.num_genes: + # axs[row_idx, col_idx].remove() + break + if plot_type == "plot": + axs[row_idx, col_idx].plot(solutions_to_plot[:, gene_idx], linewidth=linewidth, color=fill_color) + elif plot_type == "scatter": + axs[row_idx, col_idx].scatter(range(solutions_to_plot.shape[0]), solutions_to_plot[:, gene_idx], linewidth=linewidth, color=fill_color) + elif plot_type == "bar": + axs[row_idx, col_idx].bar(range(solutions_to_plot.shape[0]), solutions_to_plot[:, gene_idx], linewidth=linewidth, color=fill_color) + axs[row_idx, col_idx].set_xlabel("Gene " + str(gene_idx), fontsize=font_size) + gene_idx += 1 + + fig.suptitle(title, fontsize=font_size, y=1.001) + matplotlib.pyplot.tight_layout() + + elif graph_type == "boxplot": + fig = matplotlib.pyplot.figure(1, figsize=(0.7*self.num_genes, 6)) + + # Create an axes instance + ax = fig.add_subplot(111) + boxeplots = ax.boxplot(solutions_to_plot, + labels=range(self.num_genes), + patch_artist=True) + # adding horizontal grid lines + ax.yaxis.grid(True) + + for box in boxeplots['boxes']: + # change outline color + box.set(color='black', linewidth=linewidth) + # change fill color https://color.adobe.com/create/color-wheel + box.set_facecolor(fill_color) + + for whisker in boxeplots['whiskers']: + whisker.set(color=color, linewidth=linewidth) + for median in boxeplots['medians']: + median.set(color=color, linewidth=linewidth) + for cap in boxeplots['caps']: + cap.set(color=color, linewidth=linewidth) + + matplotlib.pyplot.title(title, fontsize=font_size) + matplotlib.pyplot.xlabel(xlabel, fontsize=font_size) + matplotlib.pyplot.ylabel(ylabel, fontsize=font_size) + matplotlib.pyplot.tight_layout() + + elif graph_type == "histogram": + # num_rows will always be >= 1 + # num_cols can only be 0 if num_genes=1 + num_rows = int(numpy.ceil(self.num_genes/5.0)) + num_cols = int(numpy.ceil(self.num_genes/num_rows)) + + if num_cols == 0: + figsize = (10, 8) + # There is only a single gene + fig, ax = matplotlib.pyplot.subplots(num_rows, + figsize=figsize) + ax.hist(solutions_to_plot[:, 0], color=fill_color) + ax.set_xlabel(0, fontsize=font_size) + else: + fig, axs = matplotlib.pyplot.subplots(num_rows, num_cols) + + if num_cols == 1 and num_rows == 1: + fig.set_figwidth(4 * num_cols) + fig.set_figheight(3) + axs.hist(solutions_to_plot[:, 0], + color=fill_color, + rwidth=0.95) + axs.set_xlabel("Gene " + str(0), fontsize=font_size) + elif num_cols == 1 or num_rows == 1: + fig.set_figwidth(4 * num_cols) + fig.set_figheight(3) + for gene_idx in range(len(axs)): + axs[gene_idx].hist(solutions_to_plot[:, gene_idx], + color=fill_color, + rwidth=0.95) + axs[gene_idx].set_xlabel("Gene " + str(gene_idx), fontsize=font_size) + else: + gene_idx = 0 + fig.set_figwidth(20) + fig.set_figheight(3*num_rows) + for row_idx in range(num_rows): + for col_idx in range(num_cols): + if gene_idx >= self.num_genes: + # axs[row_idx, col_idx].remove() + break + axs[row_idx, col_idx].hist(solutions_to_plot[:, gene_idx], + color=fill_color, + rwidth=0.95) + axs[row_idx, col_idx].set_xlabel("Gene " + str(gene_idx), fontsize=font_size) + gene_idx += 1 + + fig.suptitle(title, fontsize=font_size, y=1.001) + matplotlib.pyplot.tight_layout() + + if not save_dir is None: + matplotlib.pyplot.savefig(fname=save_dir, + bbox_inches='tight') + + matplotlib.pyplot.show() + + return fig From 05ace78a3d0cd2577a70fd85ed1a5a9d12e3aa8f Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:40:53 -0400 Subject: [PATCH 009/220] Delete pygad.py --- pygad/pygad.py | 2219 ------------------------------------------------ 1 file changed, 2219 deletions(-) delete mode 100644 pygad/pygad.py diff --git a/pygad/pygad.py b/pygad/pygad.py deleted file mode 100644 index 9916a15..0000000 --- a/pygad/pygad.py +++ /dev/null @@ -1,2219 +0,0 @@ -import numpy -import random -import cloudpickle -import time -import warnings -import concurrent.futures -import inspect -import logging -from pygad import utils -from pygad import helper -from pygad import visualize - -class GA(utils.parent_selection.ParentSelection, - utils.crossover.Crossover, - utils.mutation.Mutation, - helper.unique.Unique, - visualize.plot.Plot): - - supported_int_types = [int, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64] - supported_float_types = [float, numpy.float16, numpy.float32, numpy.float64] - supported_int_float_types = supported_int_types + supported_float_types - - def __init__(self, - num_generations, - num_parents_mating, - fitness_func, - fitness_batch_size=None, - initial_population=None, - sol_per_pop=None, - num_genes=None, - init_range_low=-4, - init_range_high=4, - gene_type=float, - parent_selection_type="sss", - keep_parents=-1, - keep_elitism=1, - K_tournament=3, - crossover_type="single_point", - crossover_probability=None, - mutation_type="random", - mutation_probability=None, - mutation_by_replacement=False, - mutation_percent_genes='default', - mutation_num_genes=None, - random_mutation_min_val=-1.0, - random_mutation_max_val=1.0, - gene_space=None, - allow_duplicate_genes=True, - on_start=None, - on_fitness=None, - on_parents=None, - on_crossover=None, - on_mutation=None, - on_generation=None, - on_stop=None, - delay_after_gen=0.0, - save_best_solutions=False, - save_solutions=False, - suppress_warnings=False, - stop_criteria=None, - parallel_processing=None, - random_seed=None, - logger=None): - - """ - The constructor of the GA class accepts all parameters required to create an instance of the GA class. It validates such parameters. - - num_generations: Number of generations. - num_parents_mating: Number of solutions to be selected as parents in the mating pool. - - fitness_func: Accepts a function/method and returns the fitness value of the solution. In PyGAD 2.20.0, a third parameter is passed referring to the 'pygad.GA' instance. If method, then it must accept 4 parameters where the fourth one refers to the method's object. - fitness_batch_size: Added in PyGAD 2.19.0. Supports calculating the fitness in batches. If the value is 1 or None, then the fitness function is called for each invidiaul solution. If given another value X where X is neither 1 nor None (e.g. X=3), then the fitness function is called once for each X (3) solutions. - - initial_population: A user-defined initial population. It is useful when the user wants to start the generations with a custom initial population. It defaults to None which means no initial population is specified by the user. In this case, PyGAD creates an initial population using the 'sol_per_pop' and 'num_genes' parameters. An exception is raised if the 'initial_population' is None while any of the 2 parameters ('sol_per_pop' or 'num_genes') is also None. - sol_per_pop: Number of solutions in the population. - num_genes: Number of parameters in the function. - - init_range_low: The lower value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20 and higher. - init_range_high: The upper value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20. - # It is OK to set the value of any of the 2 parameters ('init_range_low' and 'init_range_high') to be equal, higher or lower than the other parameter (i.e. init_range_low is not needed to be lower than init_range_high). - - gene_type: The type of the gene. It is assigned to any of these types (int, float, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64, numpy.float16, numpy.float32, numpy.float64) and forces all the genes to be of that type. - - parent_selection_type: Type of parent selection. - keep_parents: If 0, this means no parent in the current population will be used in the next population. If -1, this means all parents in the current population will be used in the next population. If set to a value > 0, then the specified value refers to the number of parents in the current population to be used in the next population. Some parent selection operators such as rank selection, favor population diversity and therefore keeping the parents in the next generation can be beneficial. However, some other parent selection operators, such as roulette wheel selection (RWS), have higher selection pressure and keeping more than one parent in the next generation can seriously harm population diversity. This parameter have an effect only when the keep_elitism parameter is 0. Thanks to Prof. Fernando Jiménez Barrionuevo (http://webs.um.es/fernan) for editing this sentence. - K_tournament: When the value of 'parent_selection_type' is 'tournament', the 'K_tournament' parameter specifies the number of solutions from which a parent is selected randomly. - - keep_elitism: Added in PyGAD 2.18.0. It can take the value 0 or a positive integer that satisfies (0 <= keep_elitism <= sol_per_pop). It defaults to 1 which means only the best solution in the current generation is kept in the next generation. If assigned 0, this means it has no effect. If assigned a positive integer K, then the best K solutions are kept in the next generation. It cannot be assigned a value greater than the value assigned to the sol_per_pop parameter. If this parameter has a value different than 0, then the keep_parents parameter will have no effect. - - crossover_type: Type of the crossover opreator. If crossover_type=None, then the crossover step is bypassed which means no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. - crossover_probability: The probability of selecting a solution for the crossover operation. If the solution probability is <= crossover_probability, the solution is selected. The value must be between 0 and 1 inclusive. - - mutation_type: Type of the mutation opreator. If mutation_type=None, then the mutation step is bypassed which means no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. - mutation_probability: The probability of selecting a gene for the mutation operation. If the gene probability is <= mutation_probability, the gene is selected. It accepts either a single value for fixed mutation or a list/tuple/numpy.ndarray of 2 values for adaptive mutation. The values must be between 0 and 1 inclusive. If specified, then no need for the 2 parameters mutation_percent_genes and mutation_num_genes. - - mutation_by_replacement: An optional bool parameter. It works only when the selected type of mutation is random (mutation_type="random"). In this case, setting mutation_by_replacement=True means replace the gene by the randomly generated value. If False, then it has no effect and random mutation works by adding the random value to the gene. - - mutation_percent_genes: Percentage of genes to mutate which defaults to the string 'default' which means 10%. This parameter has no action if any of the 2 parameters mutation_probability or mutation_num_genes exist. - mutation_num_genes: Number of genes to mutate which defaults to None. If the parameter mutation_num_genes exists, then no need for the parameter mutation_percent_genes. This parameter has no action if the mutation_probability parameter exists. - random_mutation_min_val: The minimum value of the range from which a random value is selected to be added to the selected gene(s) to mutate. It defaults to -1.0. - random_mutation_max_val: The maximum value of the range from which a random value is selected to be added to the selected gene(s) to mutate. It defaults to 1.0. - - gene_space: It accepts a list of all possible values of the gene. This list is used in the mutation step. Should be used only if the gene space is a set of discrete values. No need for the 2 parameters (random_mutation_min_val and random_mutation_max_val) if the parameter gene_space exists. Added in PyGAD 2.5.0. In PyGAD 2.11.0, the gene_space can be assigned a dict. - - on_start: Accepts a function/method to be called only once before the genetic algorithm starts its evolution. If function, then it must accept a single parameter representing the instance of the genetic algorithm. If method, then it must accept 2 parameters where the second one refers to the method's object. Added in PyGAD 2.6.0. - on_fitness: Accepts a function/method to be called after calculating the fitness values of all solutions in the population. If function, then it must accept 2 parameters: 1) a list of all solutions' fitness values 2) the instance of the genetic algorithm. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. - on_parents: Accepts a function/method to be called after selecting the parents that mates. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one represents the selected parents. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. - on_crossover: Accepts a function/method to be called each time the crossover operation is applied. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one represents the offspring generated using crossover. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. - on_mutation: Accepts a function/method to be called each time the mutation operation is applied. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one represents the offspring after applying the mutation. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. - on_generation: Accepts a function/method to be called after each generation. If function, then it must accept a single parameter representing the instance of the genetic algorithm. If the function returned "stop", then the run() method stops without completing the other generations. If method, then it must accept 2 parameters where the second one refers to the method's object. Added in PyGAD 2.6.0. - on_stop: Accepts a function/method to be called only once exactly before the genetic algorithm stops or when it completes all the generations. If function, then it must accept 2 parameters: the first one represents the instance of the genetic algorithm and the second one is a list of fitness values of the last population's solutions. If method, then it must accept 3 parameters where the third one refers to the method's object. Added in PyGAD 2.6.0. - - delay_after_gen: Added in PyGAD 2.4.0. It accepts a non-negative number specifying the number of seconds to wait after a generation completes and before going to the next generation. It defaults to 0.0 which means no delay after the generation. - - save_best_solutions: Added in PyGAD 2.9.0 and its type is bool. If True, then the best solution in each generation is saved into the 'best_solutions' attribute. Use this parameter with caution as it may cause memory overflow when either the number of generations or the number of genes is large. - save_solutions: Added in PyGAD 2.15.0 and its type is bool. If True, then all solutions in each generation are saved into the 'solutions' attribute. Use this parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large. - - suppress_warnings: Added in PyGAD 2.10.0 and its type is bool. If True, then no warning messages will be displayed. It defaults to False. - - allow_duplicate_genes: Added in PyGAD 2.13.0. If True, then a solution/chromosome may have duplicate gene values. If False, then each gene will have a unique value in its solution. - - stop_criteria: Added in PyGAD 2.15.0. It is assigned to some criteria to stop the evolution if at least one criterion holds. - - parallel_processing: Added in PyGAD 2.17.0. Defaults to `None` which means no parallel processing is used. If a positive integer is assigned, it specifies the number of threads to be used. If a list or a tuple of exactly 2 elements is assigned, then: 1) The first element can be either "process" or "thread" to specify whether processes or threads are used, respectively. 2) The second element can be: 1) A positive integer to select the maximum number of processes or threads to be used. 2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'. 3) None to use the default value as calculated by the concurrent.futures module. - - random_seed: Added in PyGAD 2.18.0. It defines the random seed to be used by the random function generators (we use random functions in the NumPy and random modules). This helps to reproduce the same results by setting the same random seed. - - logger: Added in PyGAD 2.20.0. It accepts a logger object of the 'logging.Logger' class to log the messages. If no logger is passed, then a default logger is created to log/print the messages to the console exactly like using the 'print()' function. - """ - - # If no logger is passed, then create a logger that logs only the messages to the console. - if logger is None: - # Create a logger named with the module name. - logger = logging.getLogger(__name__) - # Set the logger log level to 'DEBUG' to log all kinds of messages. - logger.setLevel(logging.DEBUG) - - # Clear any attached handlers to the logger from the previous runs. - # If the handlers are not cleared, then the new handler will be appended to the list of handlers. - # This makes the single log message be repeated according to the length of the list of handlers. - logger.handlers.clear() - - # Create the handlers. - stream_handler = logging.StreamHandler() - # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. - stream_handler.setLevel(logging.DEBUG) - - # Create the formatter that just includes the log message. - formatter = logging.Formatter('%(message)s') - - # Add the formatter to the handler. - stream_handler.setFormatter(formatter) - - # Add the handler to the logger. - logger.addHandler(stream_handler) - else: - # Validate that the passed logger is of type 'logging.Logger'. - if isinstance(logger, logging.Logger): - pass - else: - raise TypeError("The expected type of the 'logger' parameter is 'logging.Logger' but {logger_type} found.".format(logger_type=type(logger))) - - # Create the 'self.logger' attribute to hold the logger. - # Instead of using 'print()', use 'self.logger.info()' - self.logger = logger - - self.random_seed = random_seed - if random_seed is None: - pass - else: - numpy.random.seed(self.random_seed) - random.seed(self.random_seed) - - # If suppress_warnings is bool and its valud is False, then print warning messages. - if type(suppress_warnings) is bool: - self.suppress_warnings = suppress_warnings - else: - self.valid_parameters = False - self.logger.error("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) - raise TypeError("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) - - # Validating mutation_by_replacement - if not (type(mutation_by_replacement) is bool): - self.valid_parameters = False - self.logger.error("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) - raise TypeError("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) - - self.mutation_by_replacement = mutation_by_replacement - - # Validate gene_space - self.gene_space_nested = False - if type(gene_space) is type(None): - pass - elif type(gene_space) in [list, tuple, range, numpy.ndarray]: - if len(gene_space) == 0: - self.valid_parameters = False - self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") - else: - for index, el in enumerate(gene_space): - if type(el) in [list, tuple, range, numpy.ndarray]: - if len(el) == 0: - self.valid_parameters = False - self.logger.error("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) - raise ValueError("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) - else: - for val in el: - if not (type(val) in [type(None)] + GA.supported_int_float_types): - self.logger.error("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) - raise TypeError("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) - self.gene_space_nested = True - elif type(el) == type(None): - pass - # self.gene_space_nested = True - elif type(el) is dict: - if len(el.items()) == 2: - if ('low' in el.keys()) and ('high' in el.keys()): - pass - else: - self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - elif len(el.items()) == 3: - if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): - pass - else: - self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - else: - self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) - self.gene_space_nested = True - elif not (type(el) in GA.supported_int_float_types): - self.valid_parameters = False - self.logger.error("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) - raise TypeError("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) - - elif type(gene_space) is dict: - if len(gene_space.items()) == 2: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()): - pass - else: - self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - elif len(gene_space.items()) == 3: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): - pass - else: - self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - else: - self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) - raise ValueError("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) - - else: - self.valid_parameters = False - self.logger.error("The expected type of 'gene_space' is list, tuple, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) - raise TypeError("The expected type of 'gene_space' is list, tuple, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) - - self.gene_space = gene_space - - # Validate init_range_low and init_range_high - if type(init_range_low) in GA.supported_int_float_types: - if type(init_range_high) in GA.supported_int_float_types: - self.init_range_low = init_range_low - self.init_range_high = init_range_high - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) - raise ValueError("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) - raise ValueError("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) - - # Validate random_mutation_min_val and random_mutation_max_val - if type(random_mutation_min_val) in GA.supported_int_float_types: - if type(random_mutation_max_val) in GA.supported_int_float_types: - if random_mutation_min_val == random_mutation_max_val: - if not self.suppress_warnings: warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") - else: - self.valid_parameters = False - self.logger.error("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) - raise TypeError("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) - else: - self.valid_parameters = False - self.logger.error("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) - raise TypeError("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) - self.random_mutation_min_val = random_mutation_min_val - self.random_mutation_max_val = random_mutation_max_val - - # Validate gene_type - if gene_type in GA.supported_int_float_types: - self.gene_type = [gene_type, None] - self.gene_type_single = True - # A single data type of float with precision. - elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): - self.gene_type = gene_type - self.gene_type_single = True - elif type(gene_type) in [list, tuple, numpy.ndarray]: - if num_genes is None: - if initial_population is None: - self.valid_parameters = False - self.logger.error("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - elif not len(gene_type) == len(initial_population[0]): - self.valid_parameters = False - self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) - raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) - elif not len(gene_type) == num_genes: - self.valid_parameters = False - self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) - raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) - for gene_type_idx, gene_type_val in enumerate(gene_type): - if gene_type_val in GA.supported_float_types: - # If the gene type is float and no precision is passed, set it to None. - gene_type[gene_type_idx] = [gene_type_val, None] - elif gene_type_val in GA.supported_int_types: - gene_type[gene_type_idx] = [gene_type_val, None] - elif type(gene_type_val) in [list, tuple, numpy.ndarray]: - # A float type is expected in a list/tuple/numpy.ndarray of length 2. - if len(gene_type_val) == 2: - if gene_type_val[0] in GA.supported_float_types: - if type(gene_type_val[1]) in GA.supported_int_types: - pass - else: - self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) - else: - self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) - else: - self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) - raise ValueError("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) - else: - self.valid_parameters = False - self.logger.error("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) - raise ValueError("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) - self.gene_type = gene_type - self.gene_type_single = False - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) - raise ValueError("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) - - # Build the initial population - if initial_population is None: - if (sol_per_pop is None) or (num_genes is None): - self.valid_parameters = False - self.logger.error("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") - raise TypeError("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") - elif (type(sol_per_pop) is int) and (type(num_genes) is int): - # Validating the number of solutions in the population (sol_per_pop) - if sol_per_pop <= 0: - self.valid_parameters = False - self.logger.error("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) - raise ValueError("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) - # Validating the number of gene. - if (num_genes <= 0): - self.valid_parameters = False - self.logger.error("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) - raise ValueError("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) - # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. - # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. - self.num_genes = num_genes # Number of genes in the solution. - - # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. - if self.gene_space_nested: - if len(gene_space) != self.num_genes: - self.valid_parameters = False - self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) - raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) - - self.sol_per_pop = sol_per_pop # Number of solutions in the population. - self.initialize_population(self.init_range_low, - self.init_range_high, - allow_duplicate_genes, - True, - self.gene_type) - else: - self.valid_parameters = False - self.logger.error("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) - raise TypeError("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) - elif not type(initial_population) in [list, tuple, numpy.ndarray]: - self.valid_parameters = False - self.logger.error("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) - raise TypeError("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) - elif numpy.array(initial_population).ndim != 2: - self.valid_parameters = False - self.logger.error("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) - raise ValueError("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) - else: - # Validate the type of each value in the 'initial_population' parameter. - for row_idx in range(len(initial_population)): - for col_idx in range(len(initial_population[0])): - if type(initial_population[row_idx][col_idx]) in GA.supported_int_float_types: - pass - else: - self.valid_parameters = False - self.logger.error("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) - raise TypeError("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) - - # Forcing the initial_population array to have the data type assigned to the gene_type parameter. - if self.gene_type_single == True: - if self.gene_type[1] == None: - self.initial_population = numpy.array(initial_population, dtype=self.gene_type[0]) - else: - self.initial_population = numpy.round(numpy.array(initial_population, dtype=self.gene_type[0]), self.gene_type[1]) - else: - initial_population = numpy.array(initial_population) - self.initial_population = numpy.zeros(shape=(initial_population.shape[0], initial_population.shape[1]), dtype=object) - for gene_idx in range(initial_population.shape[1]): - if self.gene_type[gene_idx][1] is None: - self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]) - else: - self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), - self.gene_type[gene_idx][1]) - - self.population = self.initial_population.copy() # A NumPy array holding the initial population. - self.num_genes = self.initial_population.shape[1] # Number of genes in the solution. - self.sol_per_pop = self.initial_population.shape[0] # Number of solutions in the population. - self.pop_size = (self.sol_per_pop,self.num_genes) # The population size. - - # Round initial_population and population - self.initial_population = self.round_genes(self.initial_population) - self.population = self.round_genes(self.population) - - # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. - if self.gene_space_nested: - if len(gene_space) != self.num_genes: - self.valid_parameters = False - self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) - raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) - - # Validating the number of parents to be selected for mating (num_parents_mating) - if num_parents_mating <= 0: - self.valid_parameters = False - self.logger.error("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) - raise ValueError("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) - - # Validating the number of parents to be selected for mating: num_parents_mating - if (num_parents_mating > self.sol_per_pop): - self.valid_parameters = False - self.logger.error("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) - raise ValueError("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) - - self.num_parents_mating = num_parents_mating - - # crossover: Refers to the method that applies the crossover operator based on the selected type of crossover in the crossover_type property. - # Validating the crossover type: crossover_type - if (crossover_type is None): - self.crossover = None - elif inspect.ismethod(crossover_type): - # Check if the crossover_type is a method that accepts 4 paramaters. - if (crossover_type.__code__.co_argcount == 4): - # The crossover method assigned to the crossover_type parameter is validated. - self.crossover = crossover_type - else: - self.valid_parameters = False - self.logger.error("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - raise ValueError("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - elif callable(crossover_type): - # Check if the crossover_type is a function that accepts 2 paramaters. - if (crossover_type.__code__.co_argcount == 3): - # The crossover function assigned to the crossover_type parameter is validated. - self.crossover = crossover_type - else: - self.valid_parameters = False - self.logger.error("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - raise ValueError("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - elif not (type(crossover_type) is str): - self.valid_parameters = False - self.logger.error("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) - raise TypeError("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) - else: # type crossover_type is str - crossover_type = crossover_type.lower() - if (crossover_type == "single_point"): - self.crossover = self.single_point_crossover - elif (crossover_type == "two_points"): - self.crossover = self.two_points_crossover - elif (crossover_type == "uniform"): - self.crossover = self.uniform_crossover - elif (crossover_type == "scattered"): - self.crossover = self.scattered_crossover - else: - self.valid_parameters = False - self.logger.error("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) - raise TypeError("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) - - self.crossover_type = crossover_type - - # Calculate the value of crossover_probability - if crossover_probability is None: - self.crossover_probability = None - elif type(crossover_probability) in GA.supported_int_float_types: - if crossover_probability >= 0 and crossover_probability <= 1: - self.crossover_probability = crossover_probability - else: - self.valid_parameters = False - self.logger.error("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) - raise ValueError("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) - raise TypeError("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) - - # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. - # Validating the mutation type: mutation_type - # "adaptive" mutation is supported starting from PyGAD 2.10.0 - if mutation_type is None: - self.mutation = None - elif inspect.ismethod(mutation_type): - # Check if the mutation_type is a method that accepts 3 paramater. - if (mutation_type.__code__.co_argcount == 3): - # The mutation method assigned to the mutation_type parameter is validated. - self.mutation = mutation_type - else: - self.valid_parameters = False - self.logger.error("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - raise ValueError("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - elif callable(mutation_type): - # Check if the mutation_type is a function that accepts 2 paramater. - if (mutation_type.__code__.co_argcount == 2): - # The mutation function assigned to the mutation_type parameter is validated. - self.mutation = mutation_type - else: - self.valid_parameters = False - self.logger.error("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - raise ValueError("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - elif not (type(mutation_type) is str): - self.valid_parameters = False - self.logger.error("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) - raise TypeError("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) - else: # type mutation_type is str - mutation_type = mutation_type.lower() - if (mutation_type == "random"): - self.mutation = self.random_mutation - elif (mutation_type == "swap"): - self.mutation = self.swap_mutation - elif (mutation_type == "scramble"): - self.mutation = self.scramble_mutation - elif (mutation_type == "inversion"): - self.mutation = self.inversion_mutation - elif (mutation_type == "adaptive"): - self.mutation = self.adaptive_mutation - else: - self.valid_parameters = False - self.logger.error("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) - raise TypeError("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) - - self.mutation_type = mutation_type - - # Calculate the value of mutation_probability - if not (self.mutation_type is None): - if mutation_probability is None: - self.mutation_probability = None - elif (mutation_type != "adaptive"): - # Mutation probability is fixed not adaptive. - if type(mutation_probability) in GA.supported_int_float_types: - if mutation_probability >= 0 and mutation_probability <= 1: - self.mutation_probability = mutation_probability - else: - self.valid_parameters = False - self.logger.error("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) - raise ValueError("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - raise TypeError("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - else: - # Mutation probability is adaptive not fixed. - if type(mutation_probability) in [list, tuple, numpy.ndarray]: - if len(mutation_probability) == 2: - for el in mutation_probability: - if type(el) in GA.supported_int_float_types: - if el >= 0 and el <= 1: - pass - else: - self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) - raise ValueError("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) - if mutation_probability[0] < mutation_probability[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_probability' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_probability[0], second_el=mutation_probability[1])) - self.mutation_probability = mutation_probability - else: - self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - raise TypeError("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - else: - pass - - # Calculate the value of mutation_num_genes - if not (self.mutation_type is None): - if mutation_num_genes is None: - # The mutation_num_genes parameter does not exist. Checking whether adaptive mutation is used. - if (mutation_type != "adaptive"): - # The percent of genes to mutate is fixed not adaptive. - if mutation_percent_genes == 'default'.lower(): - mutation_percent_genes = 10 - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes == 0: - if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) - mutation_num_genes = 1 - - elif type(mutation_percent_genes) in GA.supported_int_float_types: - if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): - self.valid_parameters = False - self.logger.error("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - raise ValueError("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - else: - # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. - if mutation_percent_genes == 'default'.lower(): - mutation_percent_genes = 10 - - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes == 0: - if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) - mutation_num_genes = 1 - else: - self.valid_parameters = False - self.logger.error("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) - raise TypeError("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) - else: - # The percent of genes to mutate is adaptive not fixed. - if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: - if len(mutation_percent_genes) == 2: - mutation_num_genes = numpy.zeros_like(mutation_percent_genes, dtype=numpy.uint32) - for idx, el in enumerate(mutation_percent_genes): - if type(el) in GA.supported_int_float_types: - if (el <= 0 or el > 100): - self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - raise ValueError("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) - # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes[idx] = numpy.uint32((mutation_percent_genes[idx]*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes[idx] == 0: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate ({mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes[idx], mutation_num=mutation_num_genes[idx])) - mutation_num_genes[idx] = 1 - if mutation_percent_genes[0] < mutation_percent_genes[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_percent_genes' parameter is ({first_el}) which is smaller than the second element ({second_el}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.".format(first_el=mutation_percent_genes[0], second_el=mutation_percent_genes[1])) - # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. - else: - self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) - else: - if self.mutation_probability is None: - self.valid_parameters = False - self.logger.error("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) - raise TypeError("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) - # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. - elif (mutation_type != "adaptive"): - # Number of genes to mutate is fixed not adaptive. - if type(mutation_num_genes) in GA.supported_int_types: - if (mutation_num_genes <= 0): - self.valid_parameters = False - self.logger.error("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) - raise ValueError("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) - elif (mutation_num_genes > self.num_genes): - self.valid_parameters = False - self.logger.error("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) - raise ValueError("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) - else: - self.valid_parameters = False - self.logger.error("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - raise TypeError("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - else: - # Number of genes to mutate is adaptive not fixed. - if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: - if len(mutation_num_genes) == 2: - for el in mutation_num_genes: - if type(el) in GA.supported_int_types: - if (el <= 0): - self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) - raise ValueError("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) - elif (el > self.num_genes): - self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) - raise ValueError("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) - # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. - if mutation_num_genes[0] < mutation_num_genes[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_num_genes' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_num_genes[0], second_el=mutation_num_genes[1])) - # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. - else: - self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - raise TypeError("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - else: - pass - - # Validating mutation_by_replacement and mutation_type - if self.mutation_type != "random" and self.mutation_by_replacement: - if not self.suppress_warnings: warnings.warn("The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mut_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.".format(mut_type=mutation_type)) - - # Check if crossover and mutation are both disabled. - if (self.mutation_type is None) and (self.crossover_type is None): - if not self.suppress_warnings: warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") - - # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. - # Validating the selected type of parent selection: parent_selection_type - if inspect.ismethod(parent_selection_type): - # Check if the parent_selection_type is a method that accepts 4 paramaters. - if (parent_selection_type.__code__.co_argcount == 4): - # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. - # The parent selection method assigned to the parent_selection_type parameter is validated. - self.select_parents = parent_selection_type - else: - self.valid_parameters = False - self.logger.error("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - raise ValueError("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - elif callable(parent_selection_type): - # Check if the parent_selection_type is a function that accepts 3 paramaters. - if (parent_selection_type.__code__.co_argcount == 3): - # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. - # The parent selection function assigned to the parent_selection_type parameter is validated. - self.select_parents = parent_selection_type - else: - self.valid_parameters = False - self.logger.error("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - raise ValueError("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - elif not (type(parent_selection_type) is str): - self.valid_parameters = False - self.logger.error("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) - raise TypeError("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) - else: - parent_selection_type = parent_selection_type.lower() - if (parent_selection_type == "sss"): - self.select_parents = self.steady_state_selection - elif (parent_selection_type == "rws"): - self.select_parents = self.roulette_wheel_selection - elif (parent_selection_type == "sus"): - self.select_parents = self.stochastic_universal_selection - elif (parent_selection_type == "random"): - self.select_parents = self.random_selection - elif (parent_selection_type == "tournament"): - self.select_parents = self.tournament_selection - elif (parent_selection_type == "rank"): - self.select_parents = self.rank_selection - else: - self.valid_parameters = False - self.logger.error("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) - raise TypeError("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) - - # For tournament selection, validate the K value. - if(parent_selection_type == "tournament"): - if (K_tournament > self.sol_per_pop): - K_tournament = self.sol_per_pop - if not self.suppress_warnings: warnings.warn("K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n".format(K_tournament=K_tournament, sol_per_pop=self.sol_per_pop)) - elif (K_tournament <= 0): - self.valid_parameters = False - self.logger.error("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) - raise ValueError("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) - - self.K_tournament = K_tournament - - # Validating the number of parents to keep in the next population: keep_parents - if not (type(keep_parents) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) - raise TypeError("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) - elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): - self.valid_parameters = False - self.logger.error("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) - raise ValueError("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) - - self.keep_parents = keep_parents - - if parent_selection_type == "sss" and self.keep_parents == 0: - if not self.suppress_warnings: warnings.warn("The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") - - # Validating the number of elitism to keep in the next population: keep_elitism - if not (type(keep_elitism) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) - raise TypeError("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) - elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): - self.valid_parameters = False - self.logger.error("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) - raise ValueError("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) - - self.keep_elitism = keep_elitism - - # Validate keep_parents. - if self.keep_elitism == 0: - if (self.keep_parents == -1): # Keep all parents in the next population. - self.num_offspring = self.sol_per_pop - self.num_parents_mating - elif (self.keep_parents == 0): # Keep no parents in the next population. - self.num_offspring = self.sol_per_pop - elif (self.keep_parents > 0): # Keep the specified number of parents in the next population. - self.num_offspring = self.sol_per_pop - self.keep_parents - else: - self.num_offspring = self.sol_per_pop - self.keep_elitism - - # Check if the fitness_func is a method. - # In PyGAD 2.19.0, a method can be passed to the fitness function. If function is passed, then it accepts 2 parameters. If method, then it accepts 3 parameters. - # In PyGAD 2.20.0, a new parameter is passed referring to the instance of the `pygad.GA` class. So, the function accepts 3 parameters and the method accepts 4 parameters. - if inspect.ismethod(fitness_func): - # If the fitness is calculated through a method, not a function, then there is a fourth 'self` paramaters. - if (fitness_func.__code__.co_argcount == 4): - self.fitness_func = fitness_func - else: - self.valid_parameters = False - self.logger.error("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - raise ValueError("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - elif callable(fitness_func): - # Check if the fitness function accepts 2 paramaters. - if (fitness_func.__code__.co_argcount == 3): - self.fitness_func = fitness_func - else: - self.valid_parameters = False - self.logger.error("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - raise ValueError("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) - raise TypeError("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) - - if fitness_batch_size is None: - pass - elif not (type(fitness_batch_size) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) - raise TypeError("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) - elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: - self.valid_parameters = False - self.logger.error("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) - raise ValueError("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) - - self.fitness_batch_size = fitness_batch_size - - # Check if the on_start exists. - if not (on_start is None): - if inspect.ismethod(on_start): - # Check if the on_start method accepts 2 paramaters. - if (on_start.__code__.co_argcount == 2): - self.on_start = on_start - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - raise ValueError("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - # Check if the on_start is a function. - elif callable(on_start): - # Check if the on_start function accepts only a single paramater. - if (on_start.__code__.co_argcount == 1): - self.on_start = on_start - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - raise ValueError("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) - raise TypeError("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) - else: - self.on_start = None - - # Check if the on_fitness exists. - if not (on_fitness is None): - # Check if the on_fitness is a method. - if inspect.ismethod(on_fitness): - # Check if the on_fitness method accepts 3 paramaters. - if (on_fitness.__code__.co_argcount == 3): - self.on_fitness = on_fitness - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - raise ValueError("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - # Check if the on_fitness is a function. - elif callable(on_fitness): - # Check if the on_fitness function accepts 2 paramaters. - if (on_fitness.__code__.co_argcount == 2): - self.on_fitness = on_fitness - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - raise ValueError("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) - raise TypeError("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) - else: - self.on_fitness = None - - # Check if the on_parents exists. - if not (on_parents is None): - # Check if the on_parents is a method. - if inspect.ismethod(on_parents): - # Check if the on_parents method accepts 3 paramaters. - if (on_parents.__code__.co_argcount == 3): - self.on_parents = on_parents - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - raise ValueError("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - # Check if the on_parents is a function. - elif callable(on_parents): - # Check if the on_parents function accepts 2 paramaters. - if (on_parents.__code__.co_argcount == 2): - self.on_parents = on_parents - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - raise ValueError("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) - raise TypeError("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) - else: - self.on_parents = None - - # Check if the on_crossover exists. - if not (on_crossover is None): - # Check if the on_crossover is a method. - if inspect.ismethod(on_crossover): - # Check if the on_crossover method accepts 3 paramaters. - if (on_crossover.__code__.co_argcount == 3): - self.on_crossover = on_crossover - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - raise ValueError("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - # Check if the on_crossover is a function. - elif callable(on_crossover): - # Check if the on_crossover function accepts 2 paramaters. - if (on_crossover.__code__.co_argcount == 2): - self.on_crossover = on_crossover - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - raise ValueError("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) - raise TypeError("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) - else: - self.on_crossover = None - - # Check if the on_mutation exists. - if not (on_mutation is None): - # Check if the on_mutation is a method. - if inspect.ismethod(on_mutation): - # Check if the on_mutation method accepts 3 paramaters. - if (on_mutation.__code__.co_argcount == 3): - self.on_mutation = on_mutation - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - raise ValueError("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - # Check if the on_mutation is a function. - elif callable(on_mutation): - # Check if the on_mutation function accepts 2 paramaters. - if (on_mutation.__code__.co_argcount == 2): - self.on_mutation = on_mutation - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - raise ValueError("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) - raise TypeError("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) - else: - self.on_mutation = None - - # Check if the on_generation exists. - if not (on_generation is None): - # Check if the on_generation is a method. - if inspect.ismethod(on_generation): - # Check if the on_generation method accepts 2 paramaters. - if (on_generation.__code__.co_argcount == 2): - self.on_generation = on_generation - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - raise ValueError("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - # Check if the on_generation is a function. - elif callable(on_generation): - # Check if the on_generation function accepts only a single paramater. - if (on_generation.__code__.co_argcount == 1): - self.on_generation = on_generation - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - raise ValueError("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) - raise TypeError("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) - else: - self.on_generation = None - - # Check if the on_stop exists. - if not (on_stop is None): - # Check if the on_stop is a method. - if inspect.ismethod(on_stop): - # Check if the on_stop method accepts 3 paramaters. - if (on_stop.__code__.co_argcount == 3): - self.on_stop = on_stop - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - raise ValueError("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - # Check if the on_stop is a function. - elif callable(on_stop): - # Check if the on_stop function accepts 2 paramaters. - if (on_stop.__code__.co_argcount == 2): - self.on_stop = on_stop - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - raise ValueError("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) - raise TypeError("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) - else: - self.on_stop = None - - # Validate delay_after_gen - if type(delay_after_gen) in GA.supported_int_float_types: - if delay_after_gen >= 0.0: - self.delay_after_gen = delay_after_gen - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) - raise ValueError("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) - raise TypeError("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) - - # Validate save_best_solutions - if type(save_best_solutions) is bool: - if save_best_solutions == True: - if not self.suppress_warnings: warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) - raise TypeError("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) - - # Validate save_solutions - if type(save_solutions) is bool: - if save_solutions == True: - if not self.suppress_warnings: warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) - raise TypeError("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) - - # Validate allow_duplicate_genes - if not (type(allow_duplicate_genes) is bool): - self.valid_parameters = False - self.logger.error("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - raise TypeError("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - - self.allow_duplicate_genes = allow_duplicate_genes - - self.stop_criteria = [] - self.supported_stop_words = ["reach", "saturate"] - if stop_criteria is None: - # None: Stop after passing through all generations. - self.stop_criteria = None - elif type(stop_criteria) is str: - # reach_{target_fitness}: Stop if the target fitness value is reached. - # saturate_{num_generations}: Stop if the fitness value does not change (saturates) for the given number of generations. - criterion = stop_criteria.split("_") - if len(criterion) == 2: - stop_word = criterion[0] - number = criterion[1] - - if stop_word in self.supported_stop_words: - pass - else: - self.valid_parameters = False - self.logger.error("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - raise ValueError("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - - if number.replace(".", "").isnumeric(): - number = float(number) - else: - self.valid_parameters = False - self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - - self.stop_criteria.append([stop_word, number]) - - else: - self.valid_parameters = False - self.logger.error("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) - raise ValueError("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) - - elif type(stop_criteria) in [list, tuple, numpy.ndarray]: - # Remove duplicate criterira by converting the list to a set then back to a list. - stop_criteria = list(set(stop_criteria)) - for idx, val in enumerate(stop_criteria): - if type(val) is str: - criterion = val.split("_") - if len(criterion) == 2: - stop_word = criterion[0] - number = criterion[1] - - if stop_word in self.supported_stop_words: - pass - else: - self.valid_parameters = False - self.logger.error("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - raise ValueError("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - - if number.replace(".", "").isnumeric(): - number = float(number) - else: - self.valid_parameters = False - self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - - self.stop_criteria.append([stop_word, number]) - - else: - self.valid_parameters = False - self.logger.error("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) - raise ValueError("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) - else: - self.valid_parameters = False - self.logger.error("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) - raise TypeError("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) - else: - self.valid_parameters = False - self.logger.error("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) - raise TypeError("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) - - if parallel_processing is None: - self.parallel_processing = None - elif type(parallel_processing) in GA.supported_int_types: - if parallel_processing > 0: - self.parallel_processing = ["thread", parallel_processing] - else: - self.valid_parameters = False - self.logger.error("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) - raise ValueError("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) - elif type(parallel_processing) in [list, tuple]: - if len(parallel_processing) == 2: - if type(parallel_processing[0]) is str: - if parallel_processing[0] in ["process", "thread"]: - if (type(parallel_processing[1]) in GA.supported_int_types and parallel_processing[1] > 0) or (parallel_processing[1] == 0) or (parallel_processing[1] is None): - if parallel_processing[1] == 0: - # If the number of processes/threads is 0, this means no parallel processing is used. It is equivelant to setting parallel_processing=None. - self.parallel_processing = None - else: - # Whether the second value is None or a positive integer. - self.parallel_processing = parallel_processing - else: - self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) - raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) - else: - self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) - raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) - else: - self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) - raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) - else: - self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) - raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) - else: - self.valid_parameters = False - self.logger.error("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) - raise ValueError("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) - - # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. - self.run_completed = False - - # The number of completed generations. - self.generations_completed = 0 - - # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. - self.valid_parameters = True # Set to True when all the parameters passed in the GA class constructor are valid. - - # Parameters of the genetic algorithm. - self.num_generations = abs(num_generations) - self.parent_selection_type = parent_selection_type - - # Parameters of the mutation operation. - self.mutation_percent_genes = mutation_percent_genes - self.mutation_num_genes = mutation_num_genes - - # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. - self.best_solutions_fitness = [] # A list holding the fitness value of the best solution for each generation. - - self.best_solution_generation = -1 # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. - - self.save_best_solutions = save_best_solutions - self.best_solutions = [] # Holds the best solution in each generation. - - self.save_solutions = save_solutions - self.solutions = [] # Holds the solutions in each generation. - self.solutions_fitness = [] # Holds the fitness of the solutions in each generation. - - self.last_generation_fitness = None # A list holding the fitness values of all solutions in the last generation. - self.last_generation_parents = None # A list holding the parents of the last generation. - self.last_generation_offspring_crossover = None # A list holding the offspring after applying crossover in the last generation. - self.last_generation_offspring_mutation = None # A list holding the offspring after applying mutation in the last generation. - self.previous_generation_fitness = None # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. - self.last_generation_elitism = None # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. - self.last_generation_elitism_indices = None # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. - - def round_genes(self, solutions): - for gene_idx in range(self.num_genes): - if self.gene_type_single: - if not self.gene_type[1] is None: - solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], self.gene_type[1]) - else: - if not self.gene_type[gene_idx][1] is None: - solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), - self.gene_type[gene_idx][1]) - return solutions - - def initialize_population(self, - low, - high, - allow_duplicate_genes, - mutation_by_replacement, - gene_type): - - """ - Creates an initial population randomly as a NumPy array. The array is saved in the instance attribute named 'population'. - - low: The lower value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20 and higher. - high: The upper value of the random range from which the gene values in the initial population are selected. It defaults to -4. Available in PyGAD 1.0.20. - - This method assigns the values of the following 3 instance attributes: - 1. pop_size: Size of the population. - 2. population: Initially, holds the initial population and later updated after each generation. - 3. init_population: Keeping the initial population. - """ - - # Population size = (number of chromosomes, number of genes per chromosome) - self.pop_size = (self.sol_per_pop,self.num_genes) # The population will have sol_per_pop chromosome where each chromosome has num_genes genes. - - if self.gene_space is None: - # Creating the initial population randomly. - if self.gene_type_single == True: - self.population = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. - else: - # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) - # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. - for gene_idx in range(self.num_genes): - # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=self.pop_size[0]), - dtype=self.gene_type[gene_idx][0]) - # Adding the current gene values to the population. - self.population[:, gene_idx] = gene_values - - if allow_duplicate_genes == False: - for solution_idx in range(self.population.shape[0]): - # self.logger.info("Before", self.population[solution_idx]) - self.population[solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=self.population[solution_idx], - min_val=low, - max_val=high, - mutation_by_replacement=True, - gene_type=gene_type, - num_trials=10) - # self.logger.info("After", self.population[solution_idx]) - - elif self.gene_space_nested: - if self.gene_type_single == True: - self.population = numpy.zeros(shape=self.pop_size, dtype=self.gene_type[0]) - for sol_idx in range(self.sol_per_pop): - for gene_idx in range(self.num_genes): - if type(self.gene_space[gene_idx]) in [list, tuple, range]: - # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. - if type(self.gene_space[gene_idx]) is range: - temp = self.gene_space[gene_idx] - else: - temp = self.gene_space[gene_idx].copy() - for idx, val in enumerate(self.gene_space[gene_idx]): - if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[0])[0] - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[0](self.population[sol_idx, gene_idx]) - self.gene_space[gene_idx] = temp - elif type(self.gene_space[gene_idx]) is dict: - if 'step' in self.gene_space[gene_idx].keys(): - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], - step=self.gene_space[gene_idx]['step']), - size=1), - dtype=self.gene_type[0])[0] - else: - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[gene_idx]['high'], - size=1), - dtype=self.gene_type[0])[0] - elif type(self.gene_space[gene_idx]) == type(None): - - # The following commented code replace the None value with a single number that will not change again. - # This means the gene value will be the same across all solutions. - # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - # high=high, - # size=1), dtype=self.gene_type[0])[0] - # self.population[sol_idx, gene_idx] = self.gene_space[gene_idx].copy() - - # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[0])[0] - elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] - else: - self.population = numpy.zeros(shape=self.pop_size, dtype=object) - for sol_idx in range(self.sol_per_pop): - for gene_idx in range(self.num_genes): - if type(self.gene_space[gene_idx]) in [list, tuple, range]: - # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. - temp = self.gene_space[gene_idx].copy() - for idx, val in enumerate(self.gene_space[gene_idx]): - if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0](self.population[sol_idx, gene_idx]) - self.gene_space[gene_idx] = temp.copy() - elif type(self.gene_space[gene_idx]) is dict: - if 'step' in self.gene_space[gene_idx].keys(): - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], - step=self.gene_space[gene_idx]['step']), - size=1), - dtype=self.gene_type[gene_idx][0])[0] - else: - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[gene_idx]['high'], - size=1), - dtype=self.gene_type[gene_idx][0])[0] - elif type(self.gene_space[gene_idx]) == type(None): - # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - # high=high, - # size=1), - # dtype=self.gene_type[gene_idx][0])[0] - - # self.population[sol_idx, gene_idx] = self.gene_space[gene_idx].copy() - - temp = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = temp - elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] - else: - if self.gene_type_single == True: - # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. - for idx, curr_gene_space in enumerate(self.gene_space): - if curr_gene_space is None: - self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[0])[0] - - # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. - if type(self.gene_space) is dict: - if 'step' in self.gene_space.keys(): - self.population = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space['low'], - stop=self.gene_space['high'], - step=self.gene_space['step']), - size=self.pop_size), - dtype=self.gene_type[0]) - else: - self.population = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], - high=self.gene_space['high'], - size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. - else: - self.population = numpy.asarray(numpy.random.choice(self.gene_space, - size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. - else: - # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. - for gene_idx, curr_gene_space in enumerate(self.gene_space): - if curr_gene_space is None: - self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[gene_idx][0])[0] - - # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. - if type(self.gene_space) is dict: - # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) - # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. - for gene_idx in range(self.num_genes): - # A vector of all values of this single gene across all solutions in the population. - if 'step' in self.gene_space[gene_idx].keys(): - gene_values = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], - step=self.gene_space[gene_idx]['step']), - size=self.pop_size[0]), - dtype=self.gene_type[gene_idx][0]) - else: - gene_values = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], - high=self.gene_space['high'], - size=self.pop_size[0]), - dtype=self.gene_type[gene_idx][0]) - # Adding the current gene values to the population. - self.population[:, gene_idx] = gene_values - - else: - # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) - # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. - for gene_idx in range(self.num_genes): - # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.choice(self.gene_space, - size=self.pop_size[0]), - dtype=self.gene_type[gene_idx][0]) - # Adding the current gene values to the population. - self.population[:, gene_idx] = gene_values - - if not (self.gene_space is None): - if allow_duplicate_genes == False: - for sol_idx in range(self.population.shape[0]): - self.population[sol_idx], _, _ = self.solve_duplicate_genes_by_space(solution=self.population[sol_idx], - gene_type=self.gene_type, - num_trials=10, - build_initial_pop=True) - - # Keeping the initial population in the initial_population attribute. - self.initial_population = self.population.copy() - - def cal_pop_fitness(self): - - """ - Calculating the fitness values of batches of solutions in the current population. - It returns: - -fitness: An array of the calculated fitness values. - """ - - if self.valid_parameters == False: - self.logger.error("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - raise Exception("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - - # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' - # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. - if self.last_generation_parents is not None: - last_generation_parents_as_list = [list(gen_parent) for gen_parent in self.last_generation_parents] - - # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' - # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. - if self.last_generation_elitism is not None: - last_generation_elitism_as_list = [list(gen_elitism) for gen_elitism in self.last_generation_elitism] - - pop_fitness = ["undefined"] * len(self.population) - if self.parallel_processing is None: - # Calculating the fitness value of each solution in the current population. - for sol_idx, sol in enumerate(self.population): - # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. - # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. - # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. - # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. - # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(self.solutions == numpy.array(sol), axis=1))): - # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(numpy.equal(self.solutions, numpy.array(sol)), axis=1))): - if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): - solution_idx = self.solutions.index(list(sol)) - fitness = self.solutions_fitness[solution_idx] - elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): - # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. - # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index(list(sol)) - # Use the returned elitism index to return its index in the last population. - elitism_idx = self.last_generation_elitism_indices[elitism_idx] - # Use the elitism's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[elitism_idx] - # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. - # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. - # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): - elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. - # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. - # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index(list(sol)) - # Use the returned parent index to return its index in the last population. - parent_idx = self.last_generation_parents_indices[parent_idx] - # Use the parent's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[parent_idx] - else: - # Check if batch processing is used. If not, then calculate this missing fitness value. - if self.fitness_batch_size in [1, None]: - fitness = self.fitness_func(self, sol, sol_idx) - if type(fitness) in GA.supported_int_float_types: - pass - else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - else: - # Reaching this point means that batch processing is in effect to calculate the fitness values. - # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. - continue - - # This is only executed if the fitness value was already calculated. - pop_fitness[sol_idx] = fitness - - if self.fitness_batch_size not in [1, None]: - # Reaching this block means that batch fitness calculation is used. - - # Indices of the solutions to calculate their fitness. - solutions_indices = numpy.where(numpy.array(pop_fitness) == "undefined")[0] - # Number of batches. - num_batches = int(numpy.ceil(len(solutions_indices) / self.fitness_batch_size)) - # For each batch, get its indices and call the fitness function. - for batch_idx in range(num_batches): - batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * self.fitness_batch_size - batch_indices = solutions_indices[batch_first_index:batch_last_index] - batch_solutions = self.population[batch_indices, :] - - batch_fitness = self.fitness_func(self, batch_solutions, batch_indices) - if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - - for index, fitness in zip(batch_indices, batch_fitness): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness - else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - else: - # Calculating the fitness value of each solution in the current population. - for sol_idx, sol in enumerate(self.population): - # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. - # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. - # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. - # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. - if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): - solution_idx = self.solutions.index(list(sol)) - fitness = self.solutions_fitness[solution_idx] - pop_fitness[sol_idx] = fitness - elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): - # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. - # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index(list(sol)) - # Use the returned elitism index to return its index in the last population. - elitism_idx = self.last_generation_elitism_indices[elitism_idx] - # Use the elitism's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[elitism_idx] - - pop_fitness[sol_idx] = fitness - # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. - # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. - # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): - elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. - # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. - # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index(list(sol)) - # Use the returned parent index to return its index in the last population. - parent_idx = self.last_generation_parents_indices[parent_idx] - # Use the parent's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[parent_idx] - - pop_fitness[sol_idx] = fitness - - # Decide which class to use based on whether the user selected "process" or "thread" - if self.parallel_processing[0] == "process": - ExecutorClass = concurrent.futures.ProcessPoolExecutor - else: - ExecutorClass = concurrent.futures.ThreadPoolExecutor - - # We can use a with statement to ensure threads are cleaned up promptly (https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example) - with ExecutorClass(max_workers=self.parallel_processing[1]) as executor: - solutions_to_submit_indices = [] - solutions_to_submit = [] - for sol_idx, sol in enumerate(self.population): - # The "undefined" value means that the fitness of this solution must be calculated. - if pop_fitness[sol_idx] == "undefined": - solutions_to_submit.append(sol.copy()) - solutions_to_submit_indices.append(sol_idx) - - # Check if batch processing is used. If not, then calculate the fitness value for individual solutions. - if self.fitness_batch_size in [1, None]: - for index, fitness in zip(solutions_to_submit_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), solutions_to_submit, solutions_to_submit_indices)): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness - else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - else: - # Reaching this block means that batch processing is used. The fitness values are calculated in batches. - - # Number of batches. - num_batches = int(numpy.ceil(len(solutions_to_submit_indices) / self.fitness_batch_size)) - # Each element of the `batches_solutions` list represents the solutions in one batch. - batches_solutions = [] - # Each element of the `batches_indices` list represents the solutions' indices in one batch. - batches_indices = [] - # For each batch, get its indices and call the fitness function. - for batch_idx in range(num_batches): - batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * self.fitness_batch_size - batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] - batch_solutions = self.population[batch_indices, :] - - batches_solutions.append(batch_solutions) - batches_indices.append(batch_indices) - - for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): - if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - - for index, fitness in zip(batch_indices, batch_fitness): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness - else: - self.logger.error("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - - pop_fitness = numpy.array(pop_fitness) - - return pop_fitness - - def run(self): - - """ - Runs the genetic algorithm. This is the main method in which the genetic algorithm is evolved through a number of generations. - """ - - if self.valid_parameters == False: - self.logger.error("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - raise Exception("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - - # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. - # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. - - # self.best_solutions: Holds the best solution in each generation. - if type(self.best_solutions) is numpy.ndarray: - self.best_solutions = list(self.best_solutions) - # self.best_solutions_fitness: A list holding the fitness value of the best solution for each generation. - if type(self.best_solutions_fitness) is numpy.ndarray: - self.best_solutions_fitness = list(self.best_solutions_fitness) - # self.solutions: Holds the solutions in each generation. - if type(self.solutions) is numpy.ndarray: - self.solutions = list(self.solutions) - # self.solutions_fitness: Holds the fitness of the solutions in each generation. - if type(self.solutions_fitness) is numpy.ndarray: - self.solutions_fitness = list(self.solutions_fitness) - - if not (self.on_start is None): - self.on_start(self) - - stop_run = False - - # To continue from where we stopped, the first generation index should start from the value of the 'self.generations_completed' parameter. - if self.generations_completed != 0 and type(self.generations_completed) in GA.supported_int_types: - # If the 'self.generations_completed' parameter is not '0', then this means we continue execution. - generation_first_idx = self.generations_completed - generation_last_idx = self.num_generations + self.generations_completed - else: - # If the 'self.generations_completed' parameter is '0', then stat from scratch. - generation_first_idx = 0 - generation_last_idx = self.num_generations - - # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. - self.last_generation_fitness = self.cal_pop_fitness() - - best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) - - # Appending the best solution in the initial population to the best_solutions list. - if self.save_best_solutions: - self.best_solutions.append(best_solution) - - for generation in range(generation_first_idx, generation_last_idx): - if not (self.on_fitness is None): - self.on_fitness(self, self.last_generation_fitness) - - # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. - self.best_solutions_fitness.append(best_solution_fitness) - - # Appending the solutions in the current generation to the solutions list. - if self.save_solutions: - # self.solutions.extend(self.population.copy()) - population_as_list = self.population.copy() - population_as_list = [list(item) for item in population_as_list] - self.solutions.extend(population_as_list) - - self.solutions_fitness.extend(self.last_generation_fitness) - - # Selecting the best parents in the population for mating. - if callable(self.parent_selection_type): - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self, - self.last_generation_fitness, - self.num_parents_mating, self) - if not type(self.last_generation_parents) is numpy.ndarray: - self.logger.error("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) - raise TypeError("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) - if not type(self.last_generation_parents_indices) is numpy.ndarray: - self.logger.error("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) - raise TypeError("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) - else: - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, - num_parents=self.num_parents_mating) - - # Validate the output of the parent selection step: self.select_parents() - if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): - if self.last_generation_parents.shape[0] != self.num_parents_mating: - self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) - raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) - elif self.last_generation_parents.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) - raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) - - if self.last_generation_parents_indices.ndim != 1: - self.logger.error("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) - raise ValueError("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) - elif len(self.last_generation_parents_indices) != self.num_parents_mating: - self.logger.error("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) - raise ValueError("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) - - if not (self.on_parents is None): - self.on_parents(self, self.last_generation_parents) - - # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. - if self.crossover_type is None: - if self.keep_elitism == 0: - num_parents_to_keep = self.num_parents_mating if self.keep_parents == -1 else self.keep_parents - if self.num_offspring <= num_parents_to_keep: - self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] - else: - self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) - else: - # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. - # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. - self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_elitism) - if self.num_offspring <= self.keep_elitism: - self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] - else: - self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) - else: - # Generating offspring using crossover. - if callable(self.crossover_type): - self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - (self.num_offspring, self.num_genes), - self) - if not type(self.last_generation_offspring_crossover) is numpy.ndarray: - self.logger.error("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) - raise TypeError("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) - else: - self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - offspring_size=(self.num_offspring, self.num_genes)) - if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): - if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: - self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) - raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) - elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) - raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) - - # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. - if not (self.on_crossover is None): - self.on_crossover(self, self.last_generation_offspring_crossover) - - # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. - if self.mutation_type is None: - self.last_generation_offspring_mutation = self.last_generation_offspring_crossover - else: - # Adding some variations to the offspring using mutation. - if callable(self.mutation_type): - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, - self) - if not type(self.last_generation_offspring_mutation) is numpy.ndarray: - self.logger.error("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) - raise TypeError("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) - else: - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover) - - if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): - if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: - self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) - raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) - elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) - raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) - - # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. - if not (self.on_mutation is None): - self.on_mutation(self, self.last_generation_offspring_mutation) - - # Update the population attribute according to the offspring generated. - if self.keep_elitism == 0: - # If the keep_elitism parameter is 0, then the keep_parents parameter will be used to decide if the parents are kept in the next generation. - if (self.keep_parents == 0): - self.population = self.last_generation_offspring_mutation - elif (self.keep_parents == -1): - # Creating the new population based on the parents and offspring. - self.population[0:self.last_generation_parents.shape[0], :] = self.last_generation_parents - self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation - elif (self.keep_parents > 0): - parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_parents) - self.population[0:parents_to_keep.shape[0], :] = parents_to_keep - self.population[parents_to_keep.shape[0]:, :] = self.last_generation_offspring_mutation - else: - self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_elitism) - self.population[0:self.last_generation_elitism.shape[0], :] = self.last_generation_elitism - self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation - - self.generations_completed = generation + 1 # The generations_completed attribute holds the number of the last completed generation. - - self.previous_generation_fitness = self.last_generation_fitness.copy() - # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. - self.last_generation_fitness = self.cal_pop_fitness() - - best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) - - # Appending the best solution in the current generation to the best_solutions list. - if self.save_best_solutions: - self.best_solutions.append(best_solution) - - # If the on_generation attribute is not None, then cal the callback function after the generation. - if not (self.on_generation is None): - r = self.on_generation(self) - if type(r) is str and r.lower() == "stop": - # Before aborting the loop, save the fitness value of the best solution. - # _, best_solution_fitness, _ = self.best_solution() - self.best_solutions_fitness.append(best_solution_fitness) - break - - if not self.stop_criteria is None: - for criterion in self.stop_criteria: - if criterion[0] == "reach": - if max(self.last_generation_fitness) >= criterion[1]: - stop_run = True - break - elif criterion[0] == "saturate": - criterion[1] = int(criterion[1]) - if (self.generations_completed >= criterion[1]): - if (self.best_solutions_fitness[self.generations_completed - criterion[1]] - self.best_solutions_fitness[self.generations_completed - 1]) == 0: - stop_run = True - break - - if stop_run: - break - - time.sleep(self.delay_after_gen) - - # Save the fitness of the last generation. - if self.save_solutions: - # self.solutions.extend(self.population.copy()) - population_as_list = self.population.copy() - population_as_list = [list(item) for item in population_as_list] - self.solutions.extend(population_as_list) - - self.solutions_fitness.extend(self.last_generation_fitness) - - # Save the fitness value of the best solution. - _, best_solution_fitness, _ = self.best_solution(pop_fitness=self.last_generation_fitness) - self.best_solutions_fitness.append(best_solution_fitness) - - self.best_solution_generation = numpy.where(numpy.array(self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] - # After the run() method completes, the run_completed flag is changed from False to True. - self.run_completed = True # Set to True only after the run() method completes gracefully. - - if not (self.on_stop is None): - self.on_stop(self, self.last_generation_fitness) - - # Converting the 'best_solutions' list into a NumPy array. - self.best_solutions = numpy.array(self.best_solutions) - - # Converting the 'solutions' list into a NumPy array. - # self.solutions = numpy.array(self.solutions) - - def best_solution(self, pop_fitness=None): - - """ - Returns information about the best solution found by the genetic algorithm. - Accepts the following parameters: - pop_fitness: An optional parameter holding the fitness values of the solutions in the latest population. If passed, then it save time calculating the fitness. If None, then the 'cal_pop_fitness()' method is called to calculate the fitness of the latest population. - The following are returned: - -best_solution: Best solution in the current population. - -best_solution_fitness: Fitness value of the best solution. - -best_match_idx: Index of the best solution in the current population. - """ - - if pop_fitness is None: - # If the 'pop_fitness' parameter is not passed, then we have to call the 'cal_pop_fitness()' method to calculate the fitness of all solutions in the lastest population. - pop_fitness = self.cal_pop_fitness() - # Verify the type of the 'pop_fitness' parameter. - elif type(pop_fitness) in [tuple, list, numpy.ndarray]: - # Verify that the length of the passed population fitness matches the length of the 'self.population' attribute. - if len(pop_fitness) == len(self.population): - # This successfully verifies the 'pop_fitness' parameter. - pass - else: - self.logger.error("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) - raise ValueError("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) - else: - self.logger.error("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) - raise ValueError("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) - - # Return the index of the best solution that has the best fitness value. - best_match_idx = numpy.where(pop_fitness == numpy.max(pop_fitness))[0][0] - - best_solution = self.population[best_match_idx, :].copy() - best_solution_fitness = pop_fitness[best_match_idx] - - return best_solution, best_solution_fitness, best_match_idx - - def save(self, filename): - - """ - Saves the genetic algorithm instance: - -filename: Name of the file to save the instance. No extension is needed. - """ - - cloudpickle_serialized_object = cloudpickle.dumps(self) - with open(filename + ".pkl", 'wb') as file: - file.write(cloudpickle_serialized_object) - cloudpickle.dump(self, file) - - def summary(self, - line_length=70, - fill_character=" ", - line_character="-", - line_character2="=", - columns_equal_len=False, - print_step_parameters=True, - print_parameters_summary=True): - """ - The summary() method prints a summary of the PyGAD lifecycle in a Keras style. - The parameters are: - line_length: An integer representing the length of the single line in characters. - fill_character: A character to fill the lines. - line_character: A character for creating a line separator. - line_character2: A secondary character to create a line separator. - columns_equal_len: The table rows are split into equal-sized columns or split subjective to the width needed. - print_step_parameters: Whether to print extra parameters about each step inside the step. If print_step_parameters=False and print_parameters_summary=True, then the parameters of each step are printed at the end of the table. - print_parameters_summary: Whether to print parameters summary at the end of the table. If print_step_parameters=False, then the parameters of each step are printed at the end of the table too. - """ - - summary_output = "" - - def fill_message(msg, line_length=line_length, fill_character=fill_character): - num_spaces = int((line_length - len(msg))/2) - num_spaces = int(num_spaces / len(fill_character)) - msg = "{spaces}{msg}{spaces}".format(msg=msg, spaces=fill_character * num_spaces) - return msg - - def line_separator(line_length=line_length, line_character=line_character): - num_characters = int(line_length / len(line_character)) - return line_character * num_characters - - def create_row(columns, line_length=line_length, fill_character=fill_character, split_percentages=None): - filled_columns = [] - if split_percentages == None: - split_percentages = [int(100/len(columns))] * 3 - columns_lengths = [int((split_percentages[idx] * line_length) / 100) for idx in range(len(split_percentages))] - for column_idx, column in enumerate(columns): - current_column_length = len(column) - extra_characters = columns_lengths[column_idx] - current_column_length - filled_column = column + fill_character * extra_characters - filled_column = column + fill_character * extra_characters - filled_columns.append(filled_column) - - return "".join(filled_columns) - - def print_parent_selection_params(): - nonlocal summary_output - m = "Number of Parents: {num_parents_mating}".format(num_parents_mating=self.num_parents_mating) - self.logger.info(m) - summary_output = summary_output + m + "\n" - if self.parent_selection_type == "tournament": - m = "K Tournament: {K_tournament}".format(K_tournament=self.K_tournament) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - def print_fitness_params(): - nonlocal summary_output - if not self.fitness_batch_size is None: - m = "Fitness batch size: {fitness_batch_size}".format(fitness_batch_size=self.fitness_batch_size) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - def print_crossover_params(): - nonlocal summary_output - if not self.crossover_probability is None: - m = "Crossover probability: {crossover_probability}".format(crossover_probability=self.crossover_probability) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - def print_mutation_params(): - nonlocal summary_output - if not self.mutation_probability is None: - m = "Mutation Probability: {mutation_probability}".format(mutation_probability=self.mutation_probability) - self.logger.info(m) - summary_output = summary_output + m + "\n" - if self.mutation_percent_genes == "default": - m = "Mutation Percentage: {mutation_percent_genes}".format(mutation_percent_genes=self.mutation_percent_genes) - self.logger.info(m) - summary_output = summary_output + m + "\n" - # Number of mutation genes is already showed above. - m = "Mutation Genes: {mutation_num_genes}".format(mutation_num_genes=self.mutation_num_genes) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Random Mutation Range: ({random_mutation_min_val}, {random_mutation_max_val})".format(random_mutation_min_val=self.random_mutation_min_val, random_mutation_max_val=self.random_mutation_max_val) - self.logger.info(m) - summary_output = summary_output + m + "\n" - if not self.gene_space is None: - m = "Gene Space: {gene_space}".format(gene_space=self.gene_space) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Mutation by Replacement: {mutation_by_replacement}".format(mutation_by_replacement=self.mutation_by_replacement) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Allow Duplicated Genes: {allow_duplicate_genes}".format(allow_duplicate_genes=self.allow_duplicate_genes) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - def print_on_generation_params(): - nonlocal summary_output - if not self.stop_criteria is None: - m = "Stop Criteria: {stop_criteria}".format(stop_criteria=self.stop_criteria) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - def print_params_summary(): - nonlocal summary_output - m = "Population Size: ({sol_per_pop}, {num_genes})".format(sol_per_pop=self.sol_per_pop, num_genes=self.num_genes) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Number of Generations: {num_generations}".format(num_generations=self.num_generations) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Initial Population Range: ({init_range_low}, {init_range_high})".format(init_range_low=self.init_range_low, init_range_high=self.init_range_high) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - if not print_step_parameters: - print_fitness_params() - - if not print_step_parameters: - print_parent_selection_params() - - if self.keep_elitism != 0: - m = "Keep Elitism: {keep_elitism}".format(keep_elitism=self.keep_elitism) - self.logger.info(m) - summary_output = summary_output + m + "\n" - else: - m = "Keep Parents: {keep_parents}".format(keep_parents=self.keep_parents) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Gene DType: {gene_type}".format(gene_type=self.gene_type) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - if not print_step_parameters: - print_crossover_params() - - if not print_step_parameters: - print_mutation_params() - - if self.delay_after_gen != 0: - m = "Post-Generation Delay: {delay_after_gen}".format(delay_after_gen=self.delay_after_gen) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - if not print_step_parameters: - print_on_generation_params() - - if not self.parallel_processing is None: - m = "Parallel Processing: {parallel_processing}".format(parallel_processing=self.parallel_processing) - self.logger.info(m) - summary_output = summary_output + m + "\n" - if not self.random_seed is None: - m = "Random Seed: {random_seed}".format(random_seed=self.random_seed) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Save Best Solutions: {save_best_solutions}".format(save_best_solutions=self.save_best_solutions) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = "Save Solutions: {save_solutions}".format(save_solutions=self.save_solutions) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - m = line_separator(line_character=line_character) - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = fill_message("PyGAD Lifecycle") - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = line_separator(line_character=line_character2) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - lifecycle_steps = ["on_start()", "Fitness Function", "On Fitness", "Parent Selection", "On Parents", "Crossover", "On Crossover", "Mutation", "On Mutation", "On Generation", "On Stop"] - lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] - lifecycle_functions = [getattr(lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] - lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != "None" else "None" for lifecycle_func in lifecycle_functions] - lifecycle_output = ["None", "(1)", "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "None", "None"] - lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] - - if not columns_equal_len: - max_lengthes = [max(list(map(len, lifecycle_steps))), max(list(map(len, lifecycle_functions))), max(list(map(len, lifecycle_output)))] - split_percentages = [int((column_len / sum(max_lengthes)) * 100) for column_len in max_lengthes] - else: - split_percentages = None - - header_columns = ["Step", "Handler", "Output Shape"] - header_row = create_row(header_columns, split_percentages=split_percentages) - m = header_row - self.logger.info(m) - summary_output = summary_output + m + "\n" - m = line_separator(line_character=line_character2) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - for lifecycle_idx in range(len(lifecycle_steps)): - lifecycle_column = [lifecycle_steps[lifecycle_idx], lifecycle_functions[lifecycle_idx], lifecycle_output[lifecycle_idx]] - if lifecycle_column[1] == "None": - continue - lifecycle_row = create_row(lifecycle_column, split_percentages=split_percentages) - m = lifecycle_row - self.logger.info(m) - summary_output = summary_output + m + "\n" - if print_step_parameters: - if not lifecycle_step_parameters[lifecycle_idx] is None: - lifecycle_step_parameters[lifecycle_idx]() - m = line_separator(line_character=line_character) - self.logger.info(m) - summary_output = summary_output + m + "\n" - - m = line_separator(line_character=line_character2) - self.logger.info(m) - summary_output = summary_output + m + "\n" - if print_parameters_summary: - print_params_summary() - m = line_separator(line_character=line_character2) - self.logger.info(m) - summary_output = summary_output + m + "\n" - return summary_output - -def load(filename): - - """ - Reads a saved instance of the genetic algorithm: - -filename: Name of the file to read the instance. No extension is needed. - Returns the genetic algorithm instance. - """ - - try: - with open(filename + ".pkl", 'rb') as file: - ga_in = cloudpickle.load(file) - except FileNotFoundError: - raise FileNotFoundError("Error reading the file {filename}. Please check your inputs.".format(filename=filename)) - except: - # raise BaseException("Error loading the file. If the file already exists, please reload all the functions previously used (e.g. fitness function).") - raise BaseException("Error loading the file.") - return ga_in From bf87baad1109117a469bf20f441fa78e9be7b459 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:40:55 -0400 Subject: [PATCH 010/220] Delete __init__.py --- pygad/__init__.py | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 pygad/__init__.py diff --git a/pygad/__init__.py b/pygad/__init__.py deleted file mode 100644 index 71f207b..0000000 --- a/pygad/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .pygad import * # Relative import. - -__version__ = "3.0.0" From 8ee348f03a409d6643929c95c3d7ed961b23fad0 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:41:12 -0400 Subject: [PATCH 011/220] Rename __init__.py to pygad/__init__.py --- __init__.py => pygad/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename __init__.py => pygad/__init__.py (100%) diff --git a/__init__.py b/pygad/__init__.py similarity index 100% rename from __init__.py rename to pygad/__init__.py From 78daf35ec68b0392c8e2e742dab7ab75ede6869b Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:41:24 -0400 Subject: [PATCH 012/220] Rename pygad.py to pygad/pygad.py --- pygad.py => pygad/pygad.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pygad.py => pygad/pygad.py (100%) diff --git a/pygad.py b/pygad/pygad.py similarity index 100% rename from pygad.py rename to pygad/pygad.py From 7aedc6de0211756f3acd0598fb6052dd6256d699 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:42:21 -0400 Subject: [PATCH 013/220] Rename example.py to examples/example.py --- example.py => examples/example.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename example.py => examples/example.py (100%) diff --git a/example.py b/examples/example.py similarity index 100% rename from example.py rename to examples/example.py From 34d3879cebbf0f3d98ff04da00c9b079cbc474d5 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:42:31 -0400 Subject: [PATCH 014/220] Rename lifecycle.py to examples/lifecycle.py --- lifecycle.py => examples/lifecycle.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lifecycle.py => examples/lifecycle.py (100%) diff --git a/lifecycle.py b/examples/lifecycle.py similarity index 100% rename from lifecycle.py rename to examples/lifecycle.py From 8f2c6d40b10f0169acc66b34c47166ed5c0eafca Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:42:33 -0400 Subject: [PATCH 015/220] Rename example_logger.py to examples/example_logger.py --- example_logger.py => examples/example_logger.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename example_logger.py => examples/example_logger.py (100%) diff --git a/example_logger.py b/examples/example_logger.py similarity index 100% rename from example_logger.py rename to examples/example_logger.py From e356f3d0afaf8cb99196c5826bf271a0f7f3fc39 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:42:36 -0400 Subject: [PATCH 016/220] Rename example_custom_operators.py to examples/example_custom_operators.py --- .../example_custom_operators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename example_custom_operators.py => examples/example_custom_operators.py (96%) diff --git a/example_custom_operators.py b/examples/example_custom_operators.py similarity index 96% rename from example_custom_operators.py rename to examples/example_custom_operators.py index 0acd5a5..88d3e6a 100644 --- a/example_custom_operators.py +++ b/examples/example_custom_operators.py @@ -71,4 +71,4 @@ def mutation_func(offspring, ga_instance): mutation_type=mutation_func) ga_instance.run() -ga_instance.plot_fitness() \ No newline at end of file +ga_instance.plot_fitness() From ffc3bf90fb53f5b84abc2ebb1a26ce7d0e588e5b Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:42:38 -0400 Subject: [PATCH 017/220] Rename example_clustering_3.py to examples/example_clustering_3.py --- example_clustering_3.py => examples/example_clustering_3.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename example_clustering_3.py => examples/example_clustering_3.py (100%) diff --git a/example_clustering_3.py b/examples/example_clustering_3.py similarity index 100% rename from example_clustering_3.py rename to examples/example_clustering_3.py From 28c64cd9956a4680a7ce440d491fe2404b88f39c Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:42:40 -0400 Subject: [PATCH 018/220] Rename example_clustering_2.py to examples/example_clustering_2.py --- example_clustering_2.py => examples/example_clustering_2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename example_clustering_2.py => examples/example_clustering_2.py (97%) diff --git a/example_clustering_2.py b/examples/example_clustering_2.py similarity index 97% rename from example_clustering_2.py rename to examples/example_clustering_2.py index 43c99df..fa14bb7 100644 --- a/example_clustering_2.py +++ b/examples/example_clustering_2.py @@ -119,4 +119,4 @@ def fitness_func(ga_instance, solution, solution_idx): matplotlib.pyplot.scatter(cluster_x, cluster_y) matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) matplotlib.pyplot.title("Clustering using PyGAD") -matplotlib.pyplot.show() \ No newline at end of file +matplotlib.pyplot.show() From c63706a83340c4203d3da6a45710abdec30ba555 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 00:45:21 -0400 Subject: [PATCH 019/220] Create a workflow YAML file. --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1 @@ + From 7d09cded61276303a03b87ca5051434e228d5d15 Mon Sep 17 00:00:00 2001 From: Joe Lewis Date: Sun, 16 Apr 2023 20:51:24 +0100 Subject: [PATCH 020/220] Add travelling salesman .ipynb example --- example_travelling_salesman.ipynb | 26535 ++++++++++++++++++++++++++++ 1 file changed, 26535 insertions(+) create mode 100644 example_travelling_salesman.ipynb diff --git a/example_travelling_salesman.ipynb b/example_travelling_salesman.ipynb new file mode 100644 index 0000000..179b94d --- /dev/null +++ b/example_travelling_salesman.ipynb @@ -0,0 +1,26535 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "95ba26f7" + }, + "source": [ + "# The Travelling Coffee Drinker - Genetic Algorithm\n", + "\n", + "Solving a travelling salesman problem for United Kingdom Starbucks Cafés" + ], + "id": "95ba26f7" + }, + { + "cell_type": "markdown", + "source": [ + "## 1. Load and transform data\n", + "\n", + "The data comes from Kaggle, which is accessed using the API wrapper.\n", + "\n", + "The transformation needed is just to filter only GB Starbucks restaurants with a valid lon/lat pair." + ], + "metadata": { + "id": "sEtmfvLsvMC2" + }, + "id": "sEtmfvLsvMC2" + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "_HBlGrIyYa7G", + "outputId": "cf89fc50-e566-4fe2-f54c-178b9d6e1acd" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: pygad==2.17 in /usr/local/lib/python3.7/dist-packages (2.17.0)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from pygad==2.17) (1.21.6)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from pygad==2.17) (3.2.2)\n", + "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (2.8.2)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (1.4.4)\n", + "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (3.0.9)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (0.11.0)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver>=1.0.1->matplotlib->pygad==2.17) (4.1.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->pygad==2.17) (1.15.0)\n" + ] + } + ], + "source": [ + "!pip install pygad==2.17" + ], + "id": "_HBlGrIyYa7G" + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "id": "buoFAtjz2duB" + }, + "outputs": [], + "source": [ + "!pip install -q kaggle" + ], + "id": "buoFAtjz2duB" + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 375, + "resources": { + "http://localhost:8080/nbextensions/google.colab/files.js": { + "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgZG8gewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwoKICAgICAgbGV0IHBlcmNlbnREb25lID0gZmlsZURhdGEuYnl0ZUxlbmd0aCA9PT0gMCA/CiAgICAgICAgICAxMDAgOgogICAgICAgICAgTWF0aC5yb3VuZCgocG9zaXRpb24gLyBmaWxlRGF0YS5ieXRlTGVuZ3RoKSAqIDEwMCk7CiAgICAgIHBlcmNlbnQudGV4dENvbnRlbnQgPSBgJHtwZXJjZW50RG9uZX0lIGRvbmVgOwoKICAgIH0gd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCk7CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK", + "headers": [ + [ + "content-type", + "application/javascript" + ] + ], + "ok": true, + "status": 200, + "status_text": "" + } + } + }, + "id": "WYcYq9YV2gi9", + "outputId": "aef25ebb-cdaf-449f-c280-05f0faf1157f" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mgoogle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mfiles\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mfiles\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36mupload\u001b[0;34m()\u001b[0m\n\u001b[1;32m 39\u001b[0m \"\"\"\n\u001b[1;32m 40\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0muploaded_files\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_upload_files\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmultiple\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;31m# Mapping from original filename to filename as saved locally.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0mlocal_filenames\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36m_upload_files\u001b[0;34m(multiple)\u001b[0m\n\u001b[1;32m 116\u001b[0m result = _output.eval_js(\n\u001b[1;32m 117\u001b[0m 'google.colab._files._uploadFiles(\"{input_id}\", \"{output_id}\")'.format(\n\u001b[0;32m--> 118\u001b[0;31m input_id=input_id, output_id=output_id))\n\u001b[0m\u001b[1;32m 119\u001b[0m \u001b[0mfiles\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_collections\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefaultdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/output/_js.py\u001b[0m in \u001b[0;36meval_js\u001b[0;34m(script, ignore_result, timeout_sec)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mignore_result\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;32mreturn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 40\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_reply_from_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrequest_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout_sec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/_message.py\u001b[0m in \u001b[0;36mread_reply_from_input\u001b[0;34m(message_id, timeout_sec)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_read_next_input_message\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 96\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_NOT_READY\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreply\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 97\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.025\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 98\u001b[0m \u001b[0;32mcontinue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 99\u001b[0m if (reply.get('type') == 'colab_reply' and\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "from google.colab import files\n", + "files.upload() # upload a Kaggle JSON file to make request for data " + ], + "id": "WYcYq9YV2gi9" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "TBtskqtn29H3" + }, + "outputs": [], + "source": [ + "!mkdir kaggle " + ], + "id": "TBtskqtn29H3" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "oK1Z1Yr12tEv" + }, + "outputs": [], + "source": [ + "!cp kaggle.json ~/.kaggle/\n", + "!chmod 600 ~/.kaggle/kaggle.json" + ], + "id": "oK1Z1Yr12tEv" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "8U2rpJ1j191n" + }, + "outputs": [], + "source": [ + "!kaggle datasets download kukuroo3/starbucks-locations-worldwide-2021-version -p /content/sample_data/ --unzip" + ], + "id": "8U2rpJ1j191n" + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": { + "id": "sTkY5cLb3age", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a064aedc-8e4d-4712-d223-e35db3d1d7ae" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Index(['Unnamed: 0', 'storeNumber', 'countryCode', 'ownershipTypeCode',\n", + " 'schedule', 'slug', 'latitude', 'longitude', 'streetAddressLine1',\n", + " 'streetAddressLine2', 'streetAddressLine3', 'city',\n", + " 'countrySubdivisionCode', 'postalCode', 'currentTimeOffset',\n", + " 'windowsTimeZoneId', 'olsonTimeZoneId'],\n", + " dtype='object')" + ] + }, + "metadata": {}, + "execution_count": 165 + } + ], + "source": [ + "import pandas as pd \n", + "\n", + "# read in data and check column names \n", + "data = pd.read_csv('/content/sample_data/startbucks.csv')\n", + "data.columns" + ], + "id": "sTkY5cLb3age" + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": { + "id": "SImMYnfe3n_w", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4ee033d9-9f66-489a-c470-b45a1a3b0ac0" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "execution_count": 166 + } + ], + "source": [ + "df = data[data['countryCode']=='GB']\n", + "df.reset_index(inplace=True)\n", + "\n", + "# check for invalid lon/lat pairs\n", + "len(df.dropna(subset=['latitude', 'longitude'])) - len(df)" + ], + "id": "SImMYnfe3n_w" + }, + { + "cell_type": "markdown", + "source": [ + "## 2. Exploratory analysis\n", + "\n", + "Find the distribution of cafés across the United Kingdom. \n", + "\n", + "How are restaurants distributed across towns?\n", + "What does a geospatial representation of the data look like?" + ], + "metadata": { + "id": "ovWqqNFIvydy" + }, + "id": "ovWqqNFIvydy" + }, + { + "cell_type": "markdown", + "source": [ + "### 2.1 Distribution of cafés by town" + ], + "metadata": { + "id": "SokLPN9j2fn1" + }, + "id": "SokLPN9j2fn1" + }, + { + "cell_type": "code", + "source": [ + "import plotly.express as px\n", + "vis = df.groupby('city').storeNumber.count().reset_index()\n", + "px.bar(vis, x='city', y='storeNumber', template='seaborn')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 0 + }, + "id": "HGOBgqnX2lIo", + "outputId": "0f19d0f2-0063-458a-cd02-987e30b3d9cf" + }, + "id": "HGOBgqnX2lIo", + "execution_count": 167, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "### 2.2 Map of cafés in the UK" + ], + "metadata": { + "id": "z9a3NPSM2lb4" + }, + "id": "z9a3NPSM2lb4" + }, + { + "cell_type": "code", + "source": [ + "import folium" + ], + "metadata": { + "id": "dAq1AQyfwN_l" + }, + "id": "dAq1AQyfwN_l", + "execution_count": 168, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")" + ], + "metadata": { + "id": "V9b0_8g_xM5K" + }, + "id": "V9b0_8g_xM5K", + "execution_count": 169, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "for _, r in df.iterrows():\n", + " folium.Marker(\n", + " [r['latitude'], r['longitude']], popup=f'{r[\"storeNumber\"]}'\n", + " ).add_to(map)" + ], + "metadata": { + "id": "ZiprKw6ExhQR" + }, + "id": "ZiprKw6ExhQR", + "execution_count": 170, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 0 + }, + "id": "iVnEBooHc0ze", + "outputId": "b6ee729b-739f-4db5-975f-12a6a2c82246" + }, + "id": "iVnEBooHc0ze", + "execution_count": 171, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ] + }, + "metadata": {}, + "execution_count": 171 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 3. Testing the distance methodology\n", + "\n", + "To assess how good each solution is there needs to be a measure of fitness. For the purpose of this example the distance 'as the crow flies' is used without taking into account actual road distances however this could be explored in future." + ], + "metadata": { + "id": "1sg-1A4Ih1L4" + }, + "id": "1sg-1A4Ih1L4" + }, + { + "cell_type": "code", + "source": [ + "from geopy.distance import geodesic" + ], + "metadata": { + "id": "IbG9XRkLh0Aj" + }, + "id": "IbG9XRkLh0Aj", + "execution_count": 173, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "The tested origin is the first Starbucks in the data and the destination is the second Starbucks in the dataset." + ], + "metadata": { + "id": "zgmh6b1l3liN" + }, + "id": "zgmh6b1l3liN" + }, + { + "cell_type": "code", + "execution_count": 174, + "metadata": { + "id": "TyoeO2I-4bGq" + }, + "outputs": [], + "source": [ + "origin = (df['latitude'][0], df['longitude'][0])\n", + "dest = (df['latitude'][100], df['longitude'][100])" + ], + "id": "TyoeO2I-4bGq" + }, + { + "cell_type": "markdown", + "source": [ + "The distance between the two points as the crow flies in kilometres is given below." + ], + "metadata": { + "id": "VUr7ZAzw3srI" + }, + "id": "VUr7ZAzw3srI" + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": { + "id": "zXo1I-5Q4Lwn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4672edf2-9142-4276-ab6a-2b35b65b8b3d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "81.63683980420957" + ] + }, + "metadata": {}, + "execution_count": 175 + } + ], + "source": [ + "geodesic(origin, dest).kilometers" + ], + "id": "zXo1I-5Q4Lwn" + }, + { + "cell_type": "markdown", + "source": [ + "## 4. Preparing data structures\n", + "\n", + "The data structures needed for testing solutions are the \"genes\" or store options to select from named *genes*\n", + "\n", + "A lookup to access these genes known as *stores* \n", + "\n", + "A *check_range* which is used to check that every option is given in a solution (a key criteria in the TSP).\n" + ], + "metadata": { + "id": "GeRIsd5G378L" + }, + "id": "GeRIsd5G378L" + }, + { + "cell_type": "code", + "source": [ + "test = df.head(10)\n", + "genes = {store_num:[lat, lon] for store_num, lat, lon in zip(test['storeNumber'], test['latitude'], test['longitude'])}\n", + "stores = list(genes.keys())\n", + "check_range = [i for i in range(0, 10)]" + ], + "metadata": { + "id": "rkKStcn4iIrN" + }, + "id": "rkKStcn4iIrN", + "execution_count": 176, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 5. Defining functions \n", + "\n", + "The algorithm requires a set of functions to be pre-defined as the out of the box genetic algorithm does not support a TSP.\n", + "\n", + " 1. build_population: builds a population of chromosomes to test with proper restrictions applied\n", + " 2. fitness_func: Used to test a solution to see how well it performs, in this case the fitness_func will be assessed based on the distance as the crow flies between each successive point\n", + " 3. pmx_crossover: performs the crossover of a parent and child with proper Partially Matched Crossover (PMX) logic\n", + " 4. crossover_func: applies the crossover\n", + " 5. on_crossover: applies the mutation after crossover\n", + " 6. on_generation: used to print the progress and results at each generation" + ], + "metadata": { + "id": "5mKC2lKO4tRY" + }, + "id": "5mKC2lKO4tRY" + }, + { + "cell_type": "code", + "source": [ + "import random\n", + "import numpy as np\n", + "from geopy.distance import geodesic" + ], + "metadata": { + "id": "15-IiuRNljOC" + }, + "id": "15-IiuRNljOC", + "execution_count": 177, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Assess the quality or fitness of a solution so that only the fittest are selected for the next generation and to breed." + ], + "metadata": { + "id": "BhCEN9165in3" + }, + "id": "BhCEN9165in3" + }, + { + "cell_type": "code", + "source": [ + "def build_population(size, chromosome_size):\n", + " population = []\n", + " for i in range(size):\n", + " home_city = 0\n", + " added = {home_city:'Added'}\n", + " chromosome = [home_city]\n", + "\n", + " while len(chromosome) < chromosome_size:\n", + " proposed_gene = random.randint(0, chromosome_size-1)\n", + " if added.get(proposed_gene) is None:\n", + " chromosome.append(proposed_gene)\n", + " added.update({proposed_gene:'Added'})\n", + " else:\n", + " pass\n", + "\n", + " chromosome.append(home_city)\n", + "\n", + " population.append(chromosome)\n", + "\n", + " return np.array(population)" + ], + "metadata": { + "id": "BLz2sU2n78Ui" + }, + "id": "BLz2sU2n78Ui", + "execution_count": 178, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "population = build_population(100, 10)\n", + "population.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vs8CrTNV9iqe", + "outputId": "4178c652-2593-44e9-ca0d-1829f11c6d5e" + }, + "id": "vs8CrTNV9iqe", + "execution_count": 179, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(100, 11)" + ] + }, + "metadata": {}, + "execution_count": 179 + } + ] + }, + { + "cell_type": "code", + "source": [ + "def fitness_func(solution, solution_idx):\n", + " # loop through the length of the chromosome finding the distance between each\n", + " # gene added \n", + "\n", + " # to increment\n", + " total_dist = 0\n", + "\n", + " for gene in range(0, len(solution)):\n", + "\n", + " # get the lon lat of the two points\n", + " a = genes.get(stores[solution[gene]])\n", + " \n", + " try:\n", + " b = genes.get(stores[solution[gene + 1]])\n", + "\n", + " # find the distance (crow flies)\n", + " dist = geodesic(a, b).kilometers\n", + "\n", + " except IndexError:\n", + " dist = 0\n", + "\n", + " total_dist += dist\n", + "\n", + " # to optimise this value in the positive direction the inverse of dist is used\n", + " fitness = 1 / total_dist\n", + "\n", + " return fitness " + ], + "metadata": { + "id": "5u-5msoj-84i" + }, + "id": "5u-5msoj-84i", + "execution_count": 180, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def pmx_crossover(parent1, parent2, sequence_start, sequence_end):\n", + " # initialise a child\n", + " child = np.zeros(parent1.shape[0])\n", + "\n", + " # get the genes for parent one that are passed on to child one\n", + " parent1_to_child1_genes = parent1[sequence_start:sequence_end]\n", + "\n", + " # get the position of genes for each respective combination\n", + " parent1_to_child1 = np.isin(parent1,parent1_to_child1_genes).nonzero()[0]\n", + "\n", + " for gene in parent1_to_child1:\n", + " child[gene] = parent1[gene]\n", + "\n", + " # gene of parent 2 not in the child\n", + " genes_not_in_child = parent2[np.isin(parent2, parent1_to_child1_genes, invert=True).nonzero()[0]]\n", + " \n", + " # if the gene is not already\n", + " if genes_not_in_child.shape[0] >= 1:\n", + " for gene in genes_not_in_child:\n", + " if gene >= 1:\n", + " lookup = gene\n", + " not_in_sequence = True\n", + "\n", + " while not_in_sequence:\n", + " position_in_parent2 = np.where(parent2==lookup)[0][0]\n", + "\n", + " if position_in_parent2 in range(sequence_start, sequence_end):\n", + " lookup = parent1[position_in_parent2]\n", + "\n", + " else:\n", + " child[position_in_parent2] = gene\n", + " not_in_sequence = False\n", + "\n", + " return child" + ], + "metadata": { + "id": "OpbfyShQes_q" + }, + "id": "OpbfyShQes_q", + "execution_count": 181, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def crossover_func(parents, offspring_size, ga_instance):\n", + " offspring = []\n", + " idx = 0\n", + " while len(offspring) != offspring_size[0]:\n", + "\n", + " # locate the parents\n", + " parent1 = parents[idx % parents.shape[0], :].copy()\n", + " parent2 = parents[(idx + 1) % parents.shape[0], :].copy()\n", + "\n", + " # find gene sequence in parent 1 \n", + " sequence_start = random.randint(1, parent1.shape[0]-4)\n", + " sequence_end = random.randint(sequence_start, parent1.shape[0]-1)\n", + "\n", + " # perform crossover\n", + " child1 = pmx_crossover(parent1, parent2, sequence_start, sequence_end)\n", + " child2 = pmx_crossover(parent2, parent1, sequence_start, sequence_end) \n", + "\n", + " offspring.append(child1)\n", + " offspring.append(child2)\n", + "\n", + "\n", + " idx += 1\n", + "\n", + " return np.array(offspring)" + ], + "metadata": { + "id": "shgFWqH2NinO" + }, + "id": "shgFWqH2NinO", + "execution_count": 182, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "The mutation function chosen is inversion as it does not invalidate the solution." + ], + "metadata": { + "id": "bCjaaeofA7Bg" + }, + "id": "bCjaaeofA7Bg" + }, + { + "cell_type": "code", + "source": [ + "def mutation_func(offspring, ga_instance):\n", + "\n", + " for chromosome_idx in range(offspring.shape[0]):\n", + " # define a sequence of genes to reverse\n", + " sequence_start = random.randint(1, offspring[chromosome_idx].shape[0] - 2)\n", + " sequence_end = random.randint(sequence_start, offspring[chromosome_idx].shape[0] - 1)\n", + " \n", + " genes = offspring[chromosome_idx, sequence_start:sequence_end]\n", + "\n", + " # start at the start of the sequence assigning the reverse sequence back to the chromosome\n", + " index = 0\n", + " if len(genes) > 0:\n", + " for gene in range(sequence_start, sequence_end):\n", + "\n", + " offspring[chromosome_idx, gene] = genes[index]\n", + "\n", + " index += 1\n", + "\n", + " return offspring" + ], + "metadata": { + "id": "0kMm7J1WAsvH" + }, + "id": "0kMm7J1WAsvH", + "execution_count": 183, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Used in the genetic algorithm flow to apply the custom mutation after crossover" + ], + "metadata": { + "id": "HTeKwuPl5vVt" + }, + "id": "HTeKwuPl5vVt" + }, + { + "cell_type": "code", + "source": [ + "def on_crossover(ga_instance, offspring_crossover):\n", + " # apply mutation to ensure uniqueness \n", + " offspring_mutation = mutation_func(offspring_crossover, ga_instance)\n", + "\n", + " # save the new offspring set as the parents of the next generation\n", + " ga_instance.last_generation_offspring_mutation = offspring_mutation" + ], + "metadata": { + "id": "ucwYe4rgwLQC" + }, + "id": "ucwYe4rgwLQC", + "execution_count": 184, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Added for debugging and assessing progress by generation at runtime" + ], + "metadata": { + "id": "Xf7rgtuO532X" + }, + "id": "Xf7rgtuO532X" + }, + { + "cell_type": "code", + "source": [ + "def on_generation(ga):\n", + " print(\"Generation\", ga.generations_completed)\n", + " print(ga.population)" + ], + "metadata": { + "id": "eqRwVsSBMf_B" + }, + "id": "eqRwVsSBMf_B", + "execution_count": 185, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 6. Executing the algorithm\n", + "\n", + "The genetic algorithm is set up as instance and at initialisation several parameters are given. \n", + "\n", + "The algorithm then runs to find the best solution for a set number of generations." + ], + "metadata": { + "id": "C9AtXoqx58x0" + }, + "id": "C9AtXoqx58x0" + }, + { + "cell_type": "code", + "source": [ + "import pygad" + ], + "metadata": { + "id": "BrJVLZlBW07R" + }, + "id": "BrJVLZlBW07R", + "execution_count": 186, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 6.1 Example Initialising the algorithm\n", + "\n", + "The algorithm is initialised below.\n", + "\n", + "Notable parameters include:\n", + " - The use of gene space to limit the possible genes chosen to just be those in the TSP range\n", + " - Mutations being turned off temporarily\n", + " - Implementation of custom on_ functions \n", + " - Allow duplication of genes parameter set to false to ensure any newly introduced chromosomes/chromosomes created as population is initialised have no duplicate genes" + ], + "metadata": { + "id": "6ni9VkQv6TJR" + }, + "id": "6ni9VkQv6TJR" + }, + { + "cell_type": "code", + "source": [ + "ga_instance = pygad.GA(num_generations=100,\n", + " num_parents_mating=40,\n", + " fitness_func=fitness_func,\n", + " sol_per_pop=200,\n", + " initial_population=population,\n", + " gene_space=range(0, 10),\n", + " gene_type=int,\n", + " mutation_type=mutation_func,\n", + " on_generation=on_generation,\n", + " crossover_type=crossover_func, \n", + " keep_parents=6,\n", + " mutation_probability=0.4)" + ], + "metadata": { + "id": "FfFdncf-G3Mr" + }, + "id": "FfFdncf-G3Mr", + "execution_count": 187, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 6.2 Running the algorithm \n", + "\n", + "The genetic algorithm is run with a simple function call" + ], + "metadata": { + "id": "sfqme_5461A4" + }, + "id": "sfqme_5461A4" + }, + { + "cell_type": "code", + "source": [ + "ga_instance.run()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g-3CjxWYZh3H", + "outputId": "dc1fbda5-6b22-4245-9b99-e22b0e41684f" + }, + "id": "g-3CjxWYZh3H", + "execution_count": 188, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation 1\n", + "[[0 3 2 ... 4 5 0]\n", + " [0 3 6 ... 1 2 0]\n", + " [0 8 3 ... 6 1 0]\n", + " ...\n", + " [0 9 5 ... 7 4 0]\n", + " [0 2 7 ... 8 6 0]\n", + " [0 3 5 ... 6 8 0]]\n", + "Generation 2\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 9 ... 8 3 0]\n", + " [0 3 2 ... 4 5 0]\n", + " ...\n", + " [0 3 6 ... 1 2 0]\n", + " [0 3 6 ... 1 2 0]\n", + " [0 3 1 ... 6 2 0]]\n", + "Generation 3\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 9 ... 8 3 0]\n", + " [0 3 2 ... 4 5 0]\n", + " [0 9 2 ... 8 3 0]]\n", + "Generation 4\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 5\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 6\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 7\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 8\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 9\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 10\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 11\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 12\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 13\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 14\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 15\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 16\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 17\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 18\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 19\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 20\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 21\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 22\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 23\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 24\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 25\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 26\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 27\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 28\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 29\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 30\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 31\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 32\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 33\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 34\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 35\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 36\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 37\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 38\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 39\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 40\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 41\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 42\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 43\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 44\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 45\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 46\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 47\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 48\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 49\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 50\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 51\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 52\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 53\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 54\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 55\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 56\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 57\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 58\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 59\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 60\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 61\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 62\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 63\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 64\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 65\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 66\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 67\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 68\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 69\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 70\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 71\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 72\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 73\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 74\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 75\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 76\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 77\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 78\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 79\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 80\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 81\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 82\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 83\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 84\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 85\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 86\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 87\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 88\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 89\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 90\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 91\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 92\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 93\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 94\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 95\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 96\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 97\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 98\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 99\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 100\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 7. Assessing results \n", + "\n", + "The result solution can be checked and analysed using the ga_instance itself" + ], + "metadata": { + "id": "woJTWlOrYLwl" + }, + "id": "woJTWlOrYLwl" + }, + { + "cell_type": "code", + "source": [ + "solution, solution_fitness, solution_idx = ga_instance.best_solution()" + ], + "metadata": { + "id": "BZxvMCZ-aFtJ" + }, + "id": "BZxvMCZ-aFtJ", + "execution_count": 189, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "solution, solution_fitness, solution_idx = ga_instance.best_solution()\n", + "print(f'Generation of best solution: {ga_instance.best_solution_generation}')\n", + "print(\"Fitness value of the best solution = {solution_fitness}\".format(solution_fitness=solution_fitness))\n", + "print(\"Index of the best solution : {solution_idx}\".format(solution_idx=solution_idx))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IOTGnna-QXsB", + "outputId": "30d494d6-e88e-4061-a453-9a44a9409176" + }, + "id": "IOTGnna-QXsB", + "execution_count": 190, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation of best solution: 1\n", + "Fitness value of the best solution = 0.010681933534441102\n", + "Index of the best solution : 0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "if ga_instance.best_solution_generation != -1:\n", + " print(\"Best fitness value reached after {best_solution_generation} generations.\".format(best_solution_generation=ga_instance.best_solution_generation))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WsjTUVloQhez", + "outputId": "fdd41ccb-9ead-49d7-d180-ccc1dd2d13f9" + }, + "id": "WsjTUVloQhez", + "execution_count": 191, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Best fitness value reached after 1 generations.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 7.1 Verifying a solution\n", + "\n", + "For a solution to be valid it needs to have:\n", + " - A maximum gene value that matches the total number of stores \n", + " - A minimum gene value of 0 \n", + " - Each gene must be unique" + ], + "metadata": { + "id": "FiLlGlILYWhw" + }, + "id": "FiLlGlILYWhw" + }, + { + "cell_type": "code", + "source": [ + "def verify_solution(solution, max_gene):\n", + " if min(solution) != 0:\n", + " print('Failed values below 0')\n", + "\n", + " if max(solution) != max_gene:\n", + " print('Failed values less than or above max possible value')\n", + "\n", + " if len(set(solution)) - len(solution) != -1:\n", + " print(len(set(solution)) - len(solution))\n", + " print('Failed solution does not contain unique values')" + ], + "metadata": { + "id": "vEhveNG4VQBF" + }, + "id": "vEhveNG4VQBF", + "execution_count": 192, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "verify_solution(solution, 9)" + ], + "metadata": { + "id": "IQg1sULKYRZe" + }, + "id": "IQg1sULKYRZe", + "execution_count": 193, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "solution" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VqjdGMGnYqz-", + "outputId": "152c6b82-4787-4776-b9e9-bc3ceb1ccec1" + }, + "id": "VqjdGMGnYqz-", + "execution_count": 194, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 7, 9, 8, 6, 0])" + ] + }, + "metadata": {}, + "execution_count": 194 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 7.2 Interpreting the result \n", + "\n", + "The result sequence can be used to access latitude and longitude for each store in the solution." + ], + "metadata": { + "id": "5ixLDfvtY3cI" + }, + "id": "5ixLDfvtY3cI" + }, + { + "cell_type": "code", + "source": [ + "points = [genes.get(stores[id]) + [stores[id]] for id in solution]\n", + "points[:5]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tv-AjzcoQwGc", + "outputId": "a5187ac8-ea84-4dc9-992c-60cfa4dcab8a" + }, + "id": "tv-AjzcoQwGc", + "execution_count": 195, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[[51.483556, -1.557143, '9155-152277'],\n", + " [51.482387, -1.555109, '22194-218828'],\n", + " [51.481264, -1.556526, '18362-190424'],\n", + " [51.481177, -1.557422, '9136-152279'],\n", + " [51.562617, -1.798111, '47832-260044']]" + ] + }, + "metadata": {}, + "execution_count": 195 + } + ] + }, + { + "cell_type": "code", + "source": [ + "import folium \n", + "\n", + "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")\n", + "\n", + "for point in range(0, len(points)):\n", + " folium.Marker(\n", + " [points[point][0], points[point][1]], popup=f'{points[point][2]}'\n", + " ).add_to(map)\n", + "\n", + " try:\n", + " folium.PolyLine([(points[point][0], points[point][1]), \n", + " (points[point+1][0], points[point+1][1])],\n", + " color='red',\n", + " weight=5,\n", + " opacity=0.8).add_to(map)\n", + "\n", + " except IndexError:\n", + " pass\n", + " " + ], + "metadata": { + "id": "Tq0hTc5cstWX" + }, + "id": "Tq0hTc5cstWX", + "execution_count": 196, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 0 + }, + "id": "ebkOuHleuGU1", + "outputId": "801c457d-49d9-452d-9c4b-872aef5816d4" + }, + "id": "ebkOuHleuGU1", + "execution_count": 197, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ] + }, + "metadata": {}, + "execution_count": 197 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "The map shows the shortest path that has been found. So that the travelling coffee drinker can maximise the time on coffee and minimise the time on travelling.\n", + "\n", + "Now the algorithm can be scaled up for the whole of the UK, or tailored to just one town. An example of the solution scaled to the UK is given below." + ], + "metadata": { + "id": "5Sz8ykeEYDS3" + }, + "id": "5Sz8ykeEYDS3" + }, + { + "cell_type": "markdown", + "source": [ + "## 8. Scaling up the solution\n", + "\n", + "This is where the fun begins!" + ], + "metadata": { + "id": "gscT4SjxZ9h4" + }, + "id": "gscT4SjxZ9h4" + }, + { + "cell_type": "code", + "source": [ + "df = df[df['city'] == 'London']\n", + "genes = {store_num:[lat, lon] for store_num, lat, lon in zip(df['storeNumber'], df['latitude'], df['longitude'])}\n", + "stores = list(genes.keys())\n", + "len(stores)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yYY3-gP1aFkH", + "outputId": "907e2a7c-3292-4409-e83e-4db372f09a45" + }, + "id": "yYY3-gP1aFkH", + "execution_count": 157, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "165" + ] + }, + "metadata": {}, + "execution_count": 157 + } + ] + }, + { + "cell_type": "code", + "source": [ + "population = build_population(200, 165)\n", + "len(population[0])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oykOz7l4KhJE", + "outputId": "fe7fdabc-a909-40c4-e69a-daba8169b07c" + }, + "id": "oykOz7l4KhJE", + "execution_count": 155, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "166" + ] + }, + "metadata": {}, + "execution_count": 155 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 8.1 Building the final algorithm\n", + "\n", + "The code to build the algorithm has to be re-run with the above data structures altered." + ], + "metadata": { + "id": "ioy8EGjEbnBJ" + }, + "id": "ioy8EGjEbnBJ" + }, + { + "cell_type": "code", + "source": [ + "def fitness_func(solution, solution_idx):\n", + " # loop through the length of the chromosome finding the distance between each\n", + " # gene added \n", + "\n", + " # to increment\n", + " total_dist = 0\n", + "\n", + " for gene in range(0, len(solution)):\n", + "\n", + " # get the lon lat of the two points\n", + " a = genes.get(stores[solution[gene]])\n", + " \n", + " try:\n", + " b = genes.get(stores[solution[gene + 1]])\n", + "\n", + " # find the distance (crow flies)\n", + " dist = geodesic(a, b).kilometers\n", + "\n", + " except IndexError:\n", + " dist = 0\n", + "\n", + " total_dist += dist\n", + "\n", + " # to optimise this value in the positive direction the inverse of dist is used\n", + " fitness = 1 / total_dist\n", + "\n", + " return fitness " + ], + "metadata": { + "id": "uBfcikkma5hP" + }, + "id": "uBfcikkma5hP", + "execution_count": 108, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def pmx_crossover(parent1, parent2, sequence_start, sequence_end):\n", + " # initialise a child\n", + " child = np.zeros(parent1.shape[0])\n", + "\n", + " # get the genes for parent one that are passed on to child one\n", + " parent1_to_child1_genes = parent1[sequence_start:sequence_end]\n", + "\n", + " # get the position of genes for each respective combination\n", + " parent1_to_child1 = np.isin(parent1,parent1_to_child1_genes).nonzero()[0]\n", + "\n", + " for gene in parent1_to_child1:\n", + " child[gene] = parent1[gene]\n", + "\n", + " # gene of parent 2 not in the child\n", + " genes_not_in_child = parent2[np.isin(parent2, parent1_to_child1_genes, invert=True).nonzero()[0]]\n", + " \n", + " if genes_not_in_child.shape[0] >= 1:\n", + " for gene in genes_not_in_child:\n", + " if gene >= 1:\n", + " lookup = gene\n", + " not_in_sequence = True\n", + "\n", + " while not_in_sequence:\n", + " position_in_parent2 = np.where(parent2==lookup)[0][0]\n", + "\n", + " if position_in_parent2 in range(sequence_start, sequence_end):\n", + " lookup = parent1[position_in_parent2]\n", + "\n", + " else:\n", + " child[position_in_parent2] = gene\n", + " not_in_sequence = False\n", + "\n", + " return child" + ], + "metadata": { + "id": "FuOkiStta7Pz" + }, + "id": "FuOkiStta7Pz", + "execution_count": 109, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def crossover_func(parents, offspring_size, ga_instance):\n", + " offspring = []\n", + " idx = 0\n", + " while len(offspring) != offspring_size[0]:\n", + "\n", + " # locate the parents\n", + " parent1 = parents[idx % parents.shape[0], :].copy()\n", + " parent2 = parents[(idx + 1) % parents.shape[0], :].copy()\n", + "\n", + " # find gene sequence in parent 1 \n", + " sequence_start = random.randint(1, parent1.shape[0]-4)\n", + " sequence_end = random.randint(sequence_start, parent1.shape[0]-1)\n", + "\n", + " # perform crossover\n", + " child1 = pmx_crossover(parent1, parent2, sequence_start, sequence_end)\n", + " child2 = pmx_crossover(parent2, parent1, sequence_start, sequence_end)\n", + " \n", + "\n", + " offspring.append(child1)\n", + " offspring.append(child2)\n", + "\n", + " idx += 1\n", + "\n", + " return np.array(offspring)" + ], + "metadata": { + "id": "O10ZgScUa_bj" + }, + "id": "O10ZgScUa_bj", + "execution_count": 130, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def mutation_func(offspring, ga_instance):\n", + "\n", + " for chromosome_idx in range(offspring.shape[0]):\n", + " # define a sequence of genes to reverse\n", + " sequence_start = random.randint(1, offspring[chromosome_idx].shape[0] - 2)\n", + " sequence_end = random.randint(sequence_start, offspring[chromosome_idx].shape[0] - 1)\n", + " \n", + " genes = offspring[chromosome_idx, sequence_start:sequence_end]\n", + "\n", + " # start at the start of the sequence assigning the reverse sequence back to the chromosome\n", + " index = 0\n", + " if len(genes) > 0:\n", + " for gene in range(sequence_start, sequence_end):\n", + "\n", + " offspring[chromosome_idx, gene] = genes[index]\n", + "\n", + " index += 1\n", + "\n", + " return offspring" + ], + "metadata": { + "id": "mLLY7Ub4K_Y5" + }, + "id": "mLLY7Ub4K_Y5", + "execution_count": 144, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def on_crossover(ga_instance, offspring_crossover):\n", + " # apply mutation to ensure uniqueness \n", + " offspring_mutation = mutation_func(offspring_crossover, ga_instance)\n", + "\n", + " # save the new offspring set as the parents of the next generation\n", + " ga_instance.last_generation_offspring_mutation = offspring_mutation" + ], + "metadata": { + "id": "QLtP6in4LFSw" + }, + "id": "QLtP6in4LFSw", + "execution_count": 126, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def on_generation(ga):\n", + " print(\"Generation\", ga.generations_completed)\n", + " print(ga.population)" + ], + "metadata": { + "id": "SnR2LaDJLGRj" + }, + "id": "SnR2LaDJLGRj", + "execution_count": 127, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ga_instance = pygad.GA(num_generations=100,\n", + " num_parents_mating=40,\n", + " fitness_func=fitness_func,\n", + " sol_per_pop=200,\n", + " initial_population=population,\n", + " gene_space=range(0, 165),\n", + " gene_type=int,\n", + " mutation_type=mutation_func,\n", + " on_generation=on_generation,\n", + " crossover_type=crossover_func, \n", + " keep_parents=6,\n", + " mutation_probability=0.4)" + ], + "metadata": { + "id": "j2J5jlh9bDxR" + }, + "id": "j2J5jlh9bDxR", + "execution_count": 145, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ga_instance.run()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "lhW7JkMAbS6E", + "outputId": "c6130b2a-1e6b-4b7d-c2d6-f891b178fef9" + }, + "id": "lhW7JkMAbS6E", + "execution_count": 146, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation 1\n", + "[[ 0 1 111 ... 127 108 0]\n", + " [ 0 62 141 ... 26 161 0]\n", + " [ 0 137 155 ... 158 3 0]\n", + " ...\n", + " [ 0 142 162 ... 2 159 0]\n", + " [ 0 161 159 ... 112 66 0]\n", + " [ 0 152 108 ... 72 58 0]]\n", + "Generation 2\n", + "[[ 0 1 111 ... 127 108 0]\n", + " [ 0 1 111 ... 127 108 0]\n", + " [ 0 62 141 ... 26 161 0]\n", + " ...\n", + " [ 0 137 155 ... 135 76 0]\n", + " [ 0 137 155 ... 158 3 0]\n", + " [ 0 96 40 ... 135 5 0]]\n", + "Generation 3\n", + "[[ 0 1 145 ... 26 94 0]\n", + " [ 0 1 111 ... 127 108 0]\n", + " [ 0 1 111 ... 127 108 0]\n", + " ...\n", + " [ 0 89 155 ... 158 32 0]\n", + " [ 0 1 110 ... 127 94 0]\n", + " [ 0 96 40 ... 64 90 0]]\n", + "Generation 4\n", + "[[ 0 1 56 ... 26 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 110 ... 127 94 0]\n", + " ...\n", + " [ 0 1 111 ... 127 108 0]\n", + " [ 0 1 145 ... 26 22 0]\n", + " [ 0 1 77 ... 127 142 0]]\n", + "Generation 5\n", + "[[ 0 1 111 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 56 ... 127 81 0]\n", + " ...\n", + " [ 0 1 60 ... 127 118 0]\n", + " [ 0 1 154 ... 127 7 0]\n", + " [ 0 1 164 ... 127 94 0]]\n", + "Generation 6\n", + "[[ 0 1 56 ... 26 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 93 ... 127 108 0]\n", + " [ 0 1 30 ... 127 108 0]\n", + " [ 0 1 111 ... 127 108 0]]\n", + "Generation 7\n", + "[[ 0 1 56 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 56 ... 26 81 0]\n", + " [ 0 1 56 ... 127 81 0]]\n", + "Generation 8\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 26 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 56 ... 127 94 0]]\n", + "Generation 9\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 33 ... 26 94 0]\n", + " [ 0 1 110 ... 127 108 0]]\n", + "Generation 10\n", + "[[ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 26 108 0]]\n", + "Generation 11\n", + "[[ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 81 0]]\n", + "Generation 12\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 81 0]]\n", + "Generation 13\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 81 0]]\n", + "Generation 14\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 15\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 16\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]]\n", + "Generation 17\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 18\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 19\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 20\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 21\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 22\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 23\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 24\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 25\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 26\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 27\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 28\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 29\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 30\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 31\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 32\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 33\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 34\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 35\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 36\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 37\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 38\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 39\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 40\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 41\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 42\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 43\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 44\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 45\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 46\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 47\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 48\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 49\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 50\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 51\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 52\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 53\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 54\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 55\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 56\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 57\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 58\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 59\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 60\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 61\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 62\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 63\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 64\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 65\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 66\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 67\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 68\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 69\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 70\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 71\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 72\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 73\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 74\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 75\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 76\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 77\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 78\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 79\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 80\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 81\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 82\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 83\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 84\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 85\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 86\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 87\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 88\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 89\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 90\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 91\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 92\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 93\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 94\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 95\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 96\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 97\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 98\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 99\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 100\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 8.2 Evaluating the final algorithm \n", + "\n", + "The overall solution can now be assessed." + ], + "metadata": { + "id": "KJY5PcFabWdL" + }, + "id": "KJY5PcFabWdL" + }, + { + "cell_type": "code", + "source": [ + "solution, solution_fitness, solution_idx = ga_instance.best_solution()\n", + "print(f'Generation of best solution: {ga_instance.best_solution_generation}')\n", + "print(\"Fitness value of the best solution = {solution_fitness}\".format(solution_fitness=solution_fitness))\n", + "print(\"Index of the best solution : {solution_idx}\".format(solution_idx=solution_idx))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yxGGtFfE3j_1", + "outputId": "d5b68eaa-167f-47c8-aadd-10ecb3eb080c" + }, + "id": "yxGGtFfE3j_1", + "execution_count": 147, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation of best solution: 25\n", + "Fitness value of the best solution = 0.0010087414431375688\n", + "Index of the best solution : 0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "verify_solution(solution, len(stores))\n", + "solution" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "NKvGE63abjmU", + "outputId": "75249196-afeb-4ee6-9b96-9674ea8493c9" + }, + "id": "NKvGE63abjmU", + "execution_count": 148, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Failed values less than or above max possible value\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 0, 1, 164, 19, 77, 23, 10, 9, 154, 158, 157, 26, 22,\n", + " 92, 42, 137, 75, 143, 149, 12, 100, 85, 86, 124, 128, 135,\n", + " 147, 54, 24, 3, 58, 123, 153, 51, 29, 69, 20, 110, 59,\n", + " 95, 113, 115, 121, 91, 36, 64, 65, 32, 53, 35, 105, 52,\n", + " 21, 34, 133, 109, 47, 71, 98, 106, 131, 89, 108, 56, 152,\n", + " 150, 7, 38, 43, 94, 8, 132, 155, 4, 16, 84, 90, 27,\n", + " 2, 144, 151, 39, 45, 159, 125, 79, 156, 40, 6, 74, 139,\n", + " 141, 145, 76, 104, 50, 37, 129, 130, 72, 142, 97, 25, 93,\n", + " 134, 126, 138, 140, 148, 120, 96, 28, 160, 116, 18, 112, 31,\n", + " 41, 55, 63, 73, 122, 162, 161, 163, 66, 107, 17, 87, 103,\n", + " 80, 81, 88, 83, 82, 14, 33, 11, 46, 61, 60, 136, 146,\n", + " 15, 70, 44, 48, 67, 78, 111, 13, 62, 30, 118, 114, 99,\n", + " 102, 5, 68, 49, 57, 101, 117, 127, 119, 0])" + ] + }, + "metadata": {}, + "execution_count": 148 + } + ] + }, + { + "cell_type": "code", + "source": [ + "points = [genes.get(stores[id]) + [stores[id]] for id in solution]\n", + "points[:5]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "G8bOm7PGcPx_", + "outputId": "f78d25f6-3679-489b-c533-2971ac389941" + }, + "id": "G8bOm7PGcPx_", + "execution_count": 150, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[[51.877854, -0.376379, '12851-253386'],\n", + " [51.877854, -0.376289, '7187-253385'],\n", + " [51.655847, -0.277039, '47771-259784'],\n", + " [51.51402, -0.13925, '12021-10341'],\n", + " [51.54541, -0.16269, '12158-22023']]" + ] + }, + "metadata": {}, + "execution_count": 150 + } + ] + }, + { + "cell_type": "code", + "source": [ + "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")\n", + "\n", + "for point in range(0, len(points)):\n", + " folium.Marker(\n", + " [points[point][0], points[point][1]], popup=f'{points[point][2]}'\n", + " ).add_to(map)\n", + "\n", + " try:\n", + " folium.PolyLine([(points[point][0], points[point][1]), \n", + " (points[point+1][0], points[point+1][1])],\n", + " color='red',\n", + " weight=5,\n", + " opacity=0.8).add_to(map)\n", + "\n", + " except IndexError:\n", + " pass" + ], + "metadata": { + "id": "_KtJJkkvcY-E" + }, + "id": "_KtJJkkvcY-E", + "execution_count": 151, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 531 + }, + "id": "PMH_yECHcaH8", + "outputId": "708aca8b-c6c9-4008-cc54-e14bb37b180f" + }, + "id": "PMH_yECHcaH8", + "execution_count": 152, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ] + }, + "metadata": {}, + "execution_count": 152 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 10. Total result \n", + "\n", + "The total resulting distance around London after optimising the solution is:" + ], + "metadata": { + "id": "4ek_Es2DcbXU" + }, + "id": "4ek_Es2DcbXU" + }, + { + "cell_type": "code", + "source": [ + "def distance(solution):\n", + " # loop through the length of the chromosome finding the distance between each\n", + " # gene added \n", + "\n", + " # to increment\n", + " total_dist = 0\n", + "\n", + " for gene in range(0, len(solution)):\n", + "\n", + " # get the lon lat of the two points\n", + " a = genes.get(stores[solution[gene]])\n", + " \n", + " try:\n", + " b = genes.get(stores[solution[gene + 1]])\n", + "\n", + " # find the distance (crow flies)\n", + " dist = geodesic(a, b).kilometers\n", + "\n", + " except IndexError:\n", + " dist = 0\n", + "\n", + " \n", + " total_dist += dist\n", + "\n", + " # to optimise this value in the positive direction the inverse of dist is used\n", + "\n", + " return total_dist " + ], + "metadata": { + "id": "SiCFxx7WcwxV" + }, + "id": "SiCFxx7WcwxV", + "execution_count": 153, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "distance(solution)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nds6G5tmnJ8K", + "outputId": "fe4ccfc6-a5c0-4e53-c0cd-acfe62bd6052" + }, + "id": "nds6G5tmnJ8K", + "execution_count": 154, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "991.3343075204886" + ] + }, + "metadata": {}, + "execution_count": 154 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Which is not too bad for 975 cups of joe. 🥤" + ], + "metadata": { + "id": "bukLealWcxOz" + }, + "id": "bukLealWcxOz" + } + ], + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [ + "sEtmfvLsvMC2", + "1sg-1A4Ih1L4" + ], + "toc_visible": true + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + }, + "accelerator": "GPU" + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file From 88013f7910420805a6ec5f6550d88c0d78265c4f Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 16:00:03 -0400 Subject: [PATCH 021/220] Rename example_travelling_salesman.ipynb to examples/example_travelling_salesman.ipynb --- .../example_travelling_salesman.ipynb | 53070 ++++++++-------- 1 file changed, 26535 insertions(+), 26535 deletions(-) rename example_travelling_salesman.ipynb => examples/example_travelling_salesman.ipynb (98%) diff --git a/example_travelling_salesman.ipynb b/examples/example_travelling_salesman.ipynb similarity index 98% rename from example_travelling_salesman.ipynb rename to examples/example_travelling_salesman.ipynb index 179b94d..f59d57e 100644 --- a/example_travelling_salesman.ipynb +++ b/examples/example_travelling_salesman.ipynb @@ -1,26535 +1,26535 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "95ba26f7" - }, - "source": [ - "# The Travelling Coffee Drinker - Genetic Algorithm\n", - "\n", - "Solving a travelling salesman problem for United Kingdom Starbucks Cafés" - ], - "id": "95ba26f7" - }, - { - "cell_type": "markdown", - "source": [ - "## 1. Load and transform data\n", - "\n", - "The data comes from Kaggle, which is accessed using the API wrapper.\n", - "\n", - "The transformation needed is just to filter only GB Starbucks restaurants with a valid lon/lat pair." - ], - "metadata": { - "id": "sEtmfvLsvMC2" - }, - "id": "sEtmfvLsvMC2" - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "_HBlGrIyYa7G", - "outputId": "cf89fc50-e566-4fe2-f54c-178b9d6e1acd" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: pygad==2.17 in /usr/local/lib/python3.7/dist-packages (2.17.0)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from pygad==2.17) (1.21.6)\n", - "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from pygad==2.17) (3.2.2)\n", - "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (2.8.2)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (1.4.4)\n", - "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (3.0.9)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (0.11.0)\n", - "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver>=1.0.1->matplotlib->pygad==2.17) (4.1.1)\n", - "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->pygad==2.17) (1.15.0)\n" - ] - } - ], - "source": [ - "!pip install pygad==2.17" - ], - "id": "_HBlGrIyYa7G" - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "id": "buoFAtjz2duB" - }, - "outputs": [], - "source": [ - "!pip install -q kaggle" - ], - "id": "buoFAtjz2duB" - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 375, - "resources": { - "http://localhost:8080/nbextensions/google.colab/files.js": { - "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgZG8gewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwoKICAgICAgbGV0IHBlcmNlbnREb25lID0gZmlsZURhdGEuYnl0ZUxlbmd0aCA9PT0gMCA/CiAgICAgICAgICAxMDAgOgogICAgICAgICAgTWF0aC5yb3VuZCgocG9zaXRpb24gLyBmaWxlRGF0YS5ieXRlTGVuZ3RoKSAqIDEwMCk7CiAgICAgIHBlcmNlbnQudGV4dENvbnRlbnQgPSBgJHtwZXJjZW50RG9uZX0lIGRvbmVgOwoKICAgIH0gd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCk7CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK", - "headers": [ - [ - "content-type", - "application/javascript" - ] - ], - "ok": true, - "status": 200, - "status_text": "" - } - } - }, - "id": "WYcYq9YV2gi9", - "outputId": "aef25ebb-cdaf-449f-c280-05f0faf1157f" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " \n", - " Upload widget is only available when the cell has been executed in the\n", - " current browser session. Please rerun this cell to enable.\n", - " \n", - " " - ] - }, - "metadata": {} - }, - { - "output_type": "error", - "ename": "KeyboardInterrupt", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mgoogle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mfiles\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mfiles\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36mupload\u001b[0;34m()\u001b[0m\n\u001b[1;32m 39\u001b[0m \"\"\"\n\u001b[1;32m 40\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0muploaded_files\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_upload_files\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmultiple\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;31m# Mapping from original filename to filename as saved locally.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0mlocal_filenames\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36m_upload_files\u001b[0;34m(multiple)\u001b[0m\n\u001b[1;32m 116\u001b[0m result = _output.eval_js(\n\u001b[1;32m 117\u001b[0m 'google.colab._files._uploadFiles(\"{input_id}\", \"{output_id}\")'.format(\n\u001b[0;32m--> 118\u001b[0;31m input_id=input_id, output_id=output_id))\n\u001b[0m\u001b[1;32m 119\u001b[0m \u001b[0mfiles\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_collections\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefaultdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/output/_js.py\u001b[0m in \u001b[0;36meval_js\u001b[0;34m(script, ignore_result, timeout_sec)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mignore_result\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;32mreturn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 40\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_reply_from_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrequest_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout_sec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/_message.py\u001b[0m in \u001b[0;36mread_reply_from_input\u001b[0;34m(message_id, timeout_sec)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_read_next_input_message\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 96\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_NOT_READY\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreply\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 97\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.025\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 98\u001b[0m \u001b[0;32mcontinue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 99\u001b[0m if (reply.get('type') == 'colab_reply' and\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "from google.colab import files\n", - "files.upload() # upload a Kaggle JSON file to make request for data " - ], - "id": "WYcYq9YV2gi9" - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "TBtskqtn29H3" - }, - "outputs": [], - "source": [ - "!mkdir kaggle " - ], - "id": "TBtskqtn29H3" - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "oK1Z1Yr12tEv" - }, - "outputs": [], - "source": [ - "!cp kaggle.json ~/.kaggle/\n", - "!chmod 600 ~/.kaggle/kaggle.json" - ], - "id": "oK1Z1Yr12tEv" - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "8U2rpJ1j191n" - }, - "outputs": [], - "source": [ - "!kaggle datasets download kukuroo3/starbucks-locations-worldwide-2021-version -p /content/sample_data/ --unzip" - ], - "id": "8U2rpJ1j191n" - }, - { - "cell_type": "code", - "execution_count": 165, - "metadata": { - "id": "sTkY5cLb3age", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "a064aedc-8e4d-4712-d223-e35db3d1d7ae" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "Index(['Unnamed: 0', 'storeNumber', 'countryCode', 'ownershipTypeCode',\n", - " 'schedule', 'slug', 'latitude', 'longitude', 'streetAddressLine1',\n", - " 'streetAddressLine2', 'streetAddressLine3', 'city',\n", - " 'countrySubdivisionCode', 'postalCode', 'currentTimeOffset',\n", - " 'windowsTimeZoneId', 'olsonTimeZoneId'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "execution_count": 165 - } - ], - "source": [ - "import pandas as pd \n", - "\n", - "# read in data and check column names \n", - "data = pd.read_csv('/content/sample_data/startbucks.csv')\n", - "data.columns" - ], - "id": "sTkY5cLb3age" - }, - { - "cell_type": "code", - "execution_count": 166, - "metadata": { - "id": "SImMYnfe3n_w", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "4ee033d9-9f66-489a-c470-b45a1a3b0ac0" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "0" - ] - }, - "metadata": {}, - "execution_count": 166 - } - ], - "source": [ - "df = data[data['countryCode']=='GB']\n", - "df.reset_index(inplace=True)\n", - "\n", - "# check for invalid lon/lat pairs\n", - "len(df.dropna(subset=['latitude', 'longitude'])) - len(df)" - ], - "id": "SImMYnfe3n_w" - }, - { - "cell_type": "markdown", - "source": [ - "## 2. Exploratory analysis\n", - "\n", - "Find the distribution of cafés across the United Kingdom. \n", - "\n", - "How are restaurants distributed across towns?\n", - "What does a geospatial representation of the data look like?" - ], - "metadata": { - "id": "ovWqqNFIvydy" - }, - "id": "ovWqqNFIvydy" - }, - { - "cell_type": "markdown", - "source": [ - "### 2.1 Distribution of cafés by town" - ], - "metadata": { - "id": "SokLPN9j2fn1" - }, - "id": "SokLPN9j2fn1" - }, - { - "cell_type": "code", - "source": [ - "import plotly.express as px\n", - "vis = df.groupby('city').storeNumber.count().reset_index()\n", - "px.bar(vis, x='city', y='storeNumber', template='seaborn')" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 0 - }, - "id": "HGOBgqnX2lIo", - "outputId": "0f19d0f2-0063-458a-cd02-987e30b3d9cf" - }, - "id": "HGOBgqnX2lIo", - "execution_count": 167, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "\n", - "### 2.2 Map of cafés in the UK" - ], - "metadata": { - "id": "z9a3NPSM2lb4" - }, - "id": "z9a3NPSM2lb4" - }, - { - "cell_type": "code", - "source": [ - "import folium" - ], - "metadata": { - "id": "dAq1AQyfwN_l" - }, - "id": "dAq1AQyfwN_l", - "execution_count": 168, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")" - ], - "metadata": { - "id": "V9b0_8g_xM5K" - }, - "id": "V9b0_8g_xM5K", - "execution_count": 169, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "for _, r in df.iterrows():\n", - " folium.Marker(\n", - " [r['latitude'], r['longitude']], popup=f'{r[\"storeNumber\"]}'\n", - " ).add_to(map)" - ], - "metadata": { - "id": "ZiprKw6ExhQR" - }, - "id": "ZiprKw6ExhQR", - "execution_count": 170, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "map" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 0 - }, - "id": "iVnEBooHc0ze", - "outputId": "b6ee729b-739f-4db5-975f-12a6a2c82246" - }, - "id": "iVnEBooHc0ze", - "execution_count": 171, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ] - }, - "metadata": {}, - "execution_count": 171 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "## 3. Testing the distance methodology\n", - "\n", - "To assess how good each solution is there needs to be a measure of fitness. For the purpose of this example the distance 'as the crow flies' is used without taking into account actual road distances however this could be explored in future." - ], - "metadata": { - "id": "1sg-1A4Ih1L4" - }, - "id": "1sg-1A4Ih1L4" - }, - { - "cell_type": "code", - "source": [ - "from geopy.distance import geodesic" - ], - "metadata": { - "id": "IbG9XRkLh0Aj" - }, - "id": "IbG9XRkLh0Aj", - "execution_count": 173, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "The tested origin is the first Starbucks in the data and the destination is the second Starbucks in the dataset." - ], - "metadata": { - "id": "zgmh6b1l3liN" - }, - "id": "zgmh6b1l3liN" - }, - { - "cell_type": "code", - "execution_count": 174, - "metadata": { - "id": "TyoeO2I-4bGq" - }, - "outputs": [], - "source": [ - "origin = (df['latitude'][0], df['longitude'][0])\n", - "dest = (df['latitude'][100], df['longitude'][100])" - ], - "id": "TyoeO2I-4bGq" - }, - { - "cell_type": "markdown", - "source": [ - "The distance between the two points as the crow flies in kilometres is given below." - ], - "metadata": { - "id": "VUr7ZAzw3srI" - }, - "id": "VUr7ZAzw3srI" - }, - { - "cell_type": "code", - "execution_count": 175, - "metadata": { - "id": "zXo1I-5Q4Lwn", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "4672edf2-9142-4276-ab6a-2b35b65b8b3d" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "81.63683980420957" - ] - }, - "metadata": {}, - "execution_count": 175 - } - ], - "source": [ - "geodesic(origin, dest).kilometers" - ], - "id": "zXo1I-5Q4Lwn" - }, - { - "cell_type": "markdown", - "source": [ - "## 4. Preparing data structures\n", - "\n", - "The data structures needed for testing solutions are the \"genes\" or store options to select from named *genes*\n", - "\n", - "A lookup to access these genes known as *stores* \n", - "\n", - "A *check_range* which is used to check that every option is given in a solution (a key criteria in the TSP).\n" - ], - "metadata": { - "id": "GeRIsd5G378L" - }, - "id": "GeRIsd5G378L" - }, - { - "cell_type": "code", - "source": [ - "test = df.head(10)\n", - "genes = {store_num:[lat, lon] for store_num, lat, lon in zip(test['storeNumber'], test['latitude'], test['longitude'])}\n", - "stores = list(genes.keys())\n", - "check_range = [i for i in range(0, 10)]" - ], - "metadata": { - "id": "rkKStcn4iIrN" - }, - "id": "rkKStcn4iIrN", - "execution_count": 176, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## 5. Defining functions \n", - "\n", - "The algorithm requires a set of functions to be pre-defined as the out of the box genetic algorithm does not support a TSP.\n", - "\n", - " 1. build_population: builds a population of chromosomes to test with proper restrictions applied\n", - " 2. fitness_func: Used to test a solution to see how well it performs, in this case the fitness_func will be assessed based on the distance as the crow flies between each successive point\n", - " 3. pmx_crossover: performs the crossover of a parent and child with proper Partially Matched Crossover (PMX) logic\n", - " 4. crossover_func: applies the crossover\n", - " 5. on_crossover: applies the mutation after crossover\n", - " 6. on_generation: used to print the progress and results at each generation" - ], - "metadata": { - "id": "5mKC2lKO4tRY" - }, - "id": "5mKC2lKO4tRY" - }, - { - "cell_type": "code", - "source": [ - "import random\n", - "import numpy as np\n", - "from geopy.distance import geodesic" - ], - "metadata": { - "id": "15-IiuRNljOC" - }, - "id": "15-IiuRNljOC", - "execution_count": 177, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "Assess the quality or fitness of a solution so that only the fittest are selected for the next generation and to breed." - ], - "metadata": { - "id": "BhCEN9165in3" - }, - "id": "BhCEN9165in3" - }, - { - "cell_type": "code", - "source": [ - "def build_population(size, chromosome_size):\n", - " population = []\n", - " for i in range(size):\n", - " home_city = 0\n", - " added = {home_city:'Added'}\n", - " chromosome = [home_city]\n", - "\n", - " while len(chromosome) < chromosome_size:\n", - " proposed_gene = random.randint(0, chromosome_size-1)\n", - " if added.get(proposed_gene) is None:\n", - " chromosome.append(proposed_gene)\n", - " added.update({proposed_gene:'Added'})\n", - " else:\n", - " pass\n", - "\n", - " chromosome.append(home_city)\n", - "\n", - " population.append(chromosome)\n", - "\n", - " return np.array(population)" - ], - "metadata": { - "id": "BLz2sU2n78Ui" - }, - "id": "BLz2sU2n78Ui", - "execution_count": 178, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "population = build_population(100, 10)\n", - "population.shape" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "vs8CrTNV9iqe", - "outputId": "4178c652-2593-44e9-ca0d-1829f11c6d5e" - }, - "id": "vs8CrTNV9iqe", - "execution_count": 179, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(100, 11)" - ] - }, - "metadata": {}, - "execution_count": 179 - } - ] - }, - { - "cell_type": "code", - "source": [ - "def fitness_func(solution, solution_idx):\n", - " # loop through the length of the chromosome finding the distance between each\n", - " # gene added \n", - "\n", - " # to increment\n", - " total_dist = 0\n", - "\n", - " for gene in range(0, len(solution)):\n", - "\n", - " # get the lon lat of the two points\n", - " a = genes.get(stores[solution[gene]])\n", - " \n", - " try:\n", - " b = genes.get(stores[solution[gene + 1]])\n", - "\n", - " # find the distance (crow flies)\n", - " dist = geodesic(a, b).kilometers\n", - "\n", - " except IndexError:\n", - " dist = 0\n", - "\n", - " total_dist += dist\n", - "\n", - " # to optimise this value in the positive direction the inverse of dist is used\n", - " fitness = 1 / total_dist\n", - "\n", - " return fitness " - ], - "metadata": { - "id": "5u-5msoj-84i" - }, - "id": "5u-5msoj-84i", - "execution_count": 180, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def pmx_crossover(parent1, parent2, sequence_start, sequence_end):\n", - " # initialise a child\n", - " child = np.zeros(parent1.shape[0])\n", - "\n", - " # get the genes for parent one that are passed on to child one\n", - " parent1_to_child1_genes = parent1[sequence_start:sequence_end]\n", - "\n", - " # get the position of genes for each respective combination\n", - " parent1_to_child1 = np.isin(parent1,parent1_to_child1_genes).nonzero()[0]\n", - "\n", - " for gene in parent1_to_child1:\n", - " child[gene] = parent1[gene]\n", - "\n", - " # gene of parent 2 not in the child\n", - " genes_not_in_child = parent2[np.isin(parent2, parent1_to_child1_genes, invert=True).nonzero()[0]]\n", - " \n", - " # if the gene is not already\n", - " if genes_not_in_child.shape[0] >= 1:\n", - " for gene in genes_not_in_child:\n", - " if gene >= 1:\n", - " lookup = gene\n", - " not_in_sequence = True\n", - "\n", - " while not_in_sequence:\n", - " position_in_parent2 = np.where(parent2==lookup)[0][0]\n", - "\n", - " if position_in_parent2 in range(sequence_start, sequence_end):\n", - " lookup = parent1[position_in_parent2]\n", - "\n", - " else:\n", - " child[position_in_parent2] = gene\n", - " not_in_sequence = False\n", - "\n", - " return child" - ], - "metadata": { - "id": "OpbfyShQes_q" - }, - "id": "OpbfyShQes_q", - "execution_count": 181, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def crossover_func(parents, offspring_size, ga_instance):\n", - " offspring = []\n", - " idx = 0\n", - " while len(offspring) != offspring_size[0]:\n", - "\n", - " # locate the parents\n", - " parent1 = parents[idx % parents.shape[0], :].copy()\n", - " parent2 = parents[(idx + 1) % parents.shape[0], :].copy()\n", - "\n", - " # find gene sequence in parent 1 \n", - " sequence_start = random.randint(1, parent1.shape[0]-4)\n", - " sequence_end = random.randint(sequence_start, parent1.shape[0]-1)\n", - "\n", - " # perform crossover\n", - " child1 = pmx_crossover(parent1, parent2, sequence_start, sequence_end)\n", - " child2 = pmx_crossover(parent2, parent1, sequence_start, sequence_end) \n", - "\n", - " offspring.append(child1)\n", - " offspring.append(child2)\n", - "\n", - "\n", - " idx += 1\n", - "\n", - " return np.array(offspring)" - ], - "metadata": { - "id": "shgFWqH2NinO" - }, - "id": "shgFWqH2NinO", - "execution_count": 182, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "The mutation function chosen is inversion as it does not invalidate the solution." - ], - "metadata": { - "id": "bCjaaeofA7Bg" - }, - "id": "bCjaaeofA7Bg" - }, - { - "cell_type": "code", - "source": [ - "def mutation_func(offspring, ga_instance):\n", - "\n", - " for chromosome_idx in range(offspring.shape[0]):\n", - " # define a sequence of genes to reverse\n", - " sequence_start = random.randint(1, offspring[chromosome_idx].shape[0] - 2)\n", - " sequence_end = random.randint(sequence_start, offspring[chromosome_idx].shape[0] - 1)\n", - " \n", - " genes = offspring[chromosome_idx, sequence_start:sequence_end]\n", - "\n", - " # start at the start of the sequence assigning the reverse sequence back to the chromosome\n", - " index = 0\n", - " if len(genes) > 0:\n", - " for gene in range(sequence_start, sequence_end):\n", - "\n", - " offspring[chromosome_idx, gene] = genes[index]\n", - "\n", - " index += 1\n", - "\n", - " return offspring" - ], - "metadata": { - "id": "0kMm7J1WAsvH" - }, - "id": "0kMm7J1WAsvH", - "execution_count": 183, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "Used in the genetic algorithm flow to apply the custom mutation after crossover" - ], - "metadata": { - "id": "HTeKwuPl5vVt" - }, - "id": "HTeKwuPl5vVt" - }, - { - "cell_type": "code", - "source": [ - "def on_crossover(ga_instance, offspring_crossover):\n", - " # apply mutation to ensure uniqueness \n", - " offspring_mutation = mutation_func(offspring_crossover, ga_instance)\n", - "\n", - " # save the new offspring set as the parents of the next generation\n", - " ga_instance.last_generation_offspring_mutation = offspring_mutation" - ], - "metadata": { - "id": "ucwYe4rgwLQC" - }, - "id": "ucwYe4rgwLQC", - "execution_count": 184, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "Added for debugging and assessing progress by generation at runtime" - ], - "metadata": { - "id": "Xf7rgtuO532X" - }, - "id": "Xf7rgtuO532X" - }, - { - "cell_type": "code", - "source": [ - "def on_generation(ga):\n", - " print(\"Generation\", ga.generations_completed)\n", - " print(ga.population)" - ], - "metadata": { - "id": "eqRwVsSBMf_B" - }, - "id": "eqRwVsSBMf_B", - "execution_count": 185, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## 6. Executing the algorithm\n", - "\n", - "The genetic algorithm is set up as instance and at initialisation several parameters are given. \n", - "\n", - "The algorithm then runs to find the best solution for a set number of generations." - ], - "metadata": { - "id": "C9AtXoqx58x0" - }, - "id": "C9AtXoqx58x0" - }, - { - "cell_type": "code", - "source": [ - "import pygad" - ], - "metadata": { - "id": "BrJVLZlBW07R" - }, - "id": "BrJVLZlBW07R", - "execution_count": 186, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "### 6.1 Example Initialising the algorithm\n", - "\n", - "The algorithm is initialised below.\n", - "\n", - "Notable parameters include:\n", - " - The use of gene space to limit the possible genes chosen to just be those in the TSP range\n", - " - Mutations being turned off temporarily\n", - " - Implementation of custom on_ functions \n", - " - Allow duplication of genes parameter set to false to ensure any newly introduced chromosomes/chromosomes created as population is initialised have no duplicate genes" - ], - "metadata": { - "id": "6ni9VkQv6TJR" - }, - "id": "6ni9VkQv6TJR" - }, - { - "cell_type": "code", - "source": [ - "ga_instance = pygad.GA(num_generations=100,\n", - " num_parents_mating=40,\n", - " fitness_func=fitness_func,\n", - " sol_per_pop=200,\n", - " initial_population=population,\n", - " gene_space=range(0, 10),\n", - " gene_type=int,\n", - " mutation_type=mutation_func,\n", - " on_generation=on_generation,\n", - " crossover_type=crossover_func, \n", - " keep_parents=6,\n", - " mutation_probability=0.4)" - ], - "metadata": { - "id": "FfFdncf-G3Mr" - }, - "id": "FfFdncf-G3Mr", - "execution_count": 187, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "### 6.2 Running the algorithm \n", - "\n", - "The genetic algorithm is run with a simple function call" - ], - "metadata": { - "id": "sfqme_5461A4" - }, - "id": "sfqme_5461A4" - }, - { - "cell_type": "code", - "source": [ - "ga_instance.run()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "g-3CjxWYZh3H", - "outputId": "dc1fbda5-6b22-4245-9b99-e22b0e41684f" - }, - "id": "g-3CjxWYZh3H", - "execution_count": 188, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Generation 1\n", - "[[0 3 2 ... 4 5 0]\n", - " [0 3 6 ... 1 2 0]\n", - " [0 8 3 ... 6 1 0]\n", - " ...\n", - " [0 9 5 ... 7 4 0]\n", - " [0 2 7 ... 8 6 0]\n", - " [0 3 5 ... 6 8 0]]\n", - "Generation 2\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 9 ... 8 3 0]\n", - " [0 3 2 ... 4 5 0]\n", - " ...\n", - " [0 3 6 ... 1 2 0]\n", - " [0 3 6 ... 1 2 0]\n", - " [0 3 1 ... 6 2 0]]\n", - "Generation 3\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 9 ... 8 3 0]\n", - " [0 3 2 ... 4 5 0]\n", - " [0 9 2 ... 8 3 0]]\n", - "Generation 4\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 5\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 6\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 7\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 8\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 9\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 10\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 11\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 12\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 13\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 14\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 15\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 16\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 17\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 18\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 19\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 20\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 21\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 22\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 23\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 24\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 25\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 26\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 27\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 28\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 29\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 30\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 31\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 32\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 33\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 34\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 35\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 36\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 37\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 38\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 39\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 40\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 41\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 42\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 43\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 44\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 45\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 46\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 47\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 48\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 49\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 50\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 51\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 52\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 53\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 54\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 55\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 56\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 57\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 58\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 59\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 60\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 61\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 62\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 63\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 64\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 65\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 66\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 67\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 68\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 69\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 70\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 71\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 72\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 73\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 74\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 75\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 76\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 77\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 78\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 79\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 80\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 81\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 82\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 83\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 84\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 85\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 86\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 87\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 88\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 89\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 90\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 91\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 92\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 93\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 94\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 95\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 96\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 97\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 98\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 99\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n", - "Generation 100\n", - "[[0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " ...\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]\n", - " [0 1 2 ... 8 6 0]]\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "## 7. Assessing results \n", - "\n", - "The result solution can be checked and analysed using the ga_instance itself" - ], - "metadata": { - "id": "woJTWlOrYLwl" - }, - "id": "woJTWlOrYLwl" - }, - { - "cell_type": "code", - "source": [ - "solution, solution_fitness, solution_idx = ga_instance.best_solution()" - ], - "metadata": { - "id": "BZxvMCZ-aFtJ" - }, - "id": "BZxvMCZ-aFtJ", - "execution_count": 189, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "solution, solution_fitness, solution_idx = ga_instance.best_solution()\n", - "print(f'Generation of best solution: {ga_instance.best_solution_generation}')\n", - "print(\"Fitness value of the best solution = {solution_fitness}\".format(solution_fitness=solution_fitness))\n", - "print(\"Index of the best solution : {solution_idx}\".format(solution_idx=solution_idx))" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "IOTGnna-QXsB", - "outputId": "30d494d6-e88e-4061-a453-9a44a9409176" - }, - "id": "IOTGnna-QXsB", - "execution_count": 190, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Generation of best solution: 1\n", - "Fitness value of the best solution = 0.010681933534441102\n", - "Index of the best solution : 0\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "if ga_instance.best_solution_generation != -1:\n", - " print(\"Best fitness value reached after {best_solution_generation} generations.\".format(best_solution_generation=ga_instance.best_solution_generation))\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "WsjTUVloQhez", - "outputId": "fdd41ccb-9ead-49d7-d180-ccc1dd2d13f9" - }, - "id": "WsjTUVloQhez", - "execution_count": 191, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Best fitness value reached after 1 generations.\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "### 7.1 Verifying a solution\n", - "\n", - "For a solution to be valid it needs to have:\n", - " - A maximum gene value that matches the total number of stores \n", - " - A minimum gene value of 0 \n", - " - Each gene must be unique" - ], - "metadata": { - "id": "FiLlGlILYWhw" - }, - "id": "FiLlGlILYWhw" - }, - { - "cell_type": "code", - "source": [ - "def verify_solution(solution, max_gene):\n", - " if min(solution) != 0:\n", - " print('Failed values below 0')\n", - "\n", - " if max(solution) != max_gene:\n", - " print('Failed values less than or above max possible value')\n", - "\n", - " if len(set(solution)) - len(solution) != -1:\n", - " print(len(set(solution)) - len(solution))\n", - " print('Failed solution does not contain unique values')" - ], - "metadata": { - "id": "vEhveNG4VQBF" - }, - "id": "vEhveNG4VQBF", - "execution_count": 192, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "verify_solution(solution, 9)" - ], - "metadata": { - "id": "IQg1sULKYRZe" - }, - "id": "IQg1sULKYRZe", - "execution_count": 193, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "solution" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "VqjdGMGnYqz-", - "outputId": "152c6b82-4787-4776-b9e9-bc3ceb1ccec1" - }, - "id": "VqjdGMGnYqz-", - "execution_count": 194, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([0, 1, 2, 3, 4, 5, 7, 9, 8, 6, 0])" - ] - }, - "metadata": {}, - "execution_count": 194 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "### 7.2 Interpreting the result \n", - "\n", - "The result sequence can be used to access latitude and longitude for each store in the solution." - ], - "metadata": { - "id": "5ixLDfvtY3cI" - }, - "id": "5ixLDfvtY3cI" - }, - { - "cell_type": "code", - "source": [ - "points = [genes.get(stores[id]) + [stores[id]] for id in solution]\n", - "points[:5]" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "tv-AjzcoQwGc", - "outputId": "a5187ac8-ea84-4dc9-992c-60cfa4dcab8a" - }, - "id": "tv-AjzcoQwGc", - "execution_count": 195, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[[51.483556, -1.557143, '9155-152277'],\n", - " [51.482387, -1.555109, '22194-218828'],\n", - " [51.481264, -1.556526, '18362-190424'],\n", - " [51.481177, -1.557422, '9136-152279'],\n", - " [51.562617, -1.798111, '47832-260044']]" - ] - }, - "metadata": {}, - "execution_count": 195 - } - ] - }, - { - "cell_type": "code", - "source": [ - "import folium \n", - "\n", - "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")\n", - "\n", - "for point in range(0, len(points)):\n", - " folium.Marker(\n", - " [points[point][0], points[point][1]], popup=f'{points[point][2]}'\n", - " ).add_to(map)\n", - "\n", - " try:\n", - " folium.PolyLine([(points[point][0], points[point][1]), \n", - " (points[point+1][0], points[point+1][1])],\n", - " color='red',\n", - " weight=5,\n", - " opacity=0.8).add_to(map)\n", - "\n", - " except IndexError:\n", - " pass\n", - " " - ], - "metadata": { - "id": "Tq0hTc5cstWX" - }, - "id": "Tq0hTc5cstWX", - "execution_count": 196, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "map" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 0 - }, - "id": "ebkOuHleuGU1", - "outputId": "801c457d-49d9-452d-9c4b-872aef5816d4" - }, - "id": "ebkOuHleuGU1", - "execution_count": 197, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ] - }, - "metadata": {}, - "execution_count": 197 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "The map shows the shortest path that has been found. So that the travelling coffee drinker can maximise the time on coffee and minimise the time on travelling.\n", - "\n", - "Now the algorithm can be scaled up for the whole of the UK, or tailored to just one town. An example of the solution scaled to the UK is given below." - ], - "metadata": { - "id": "5Sz8ykeEYDS3" - }, - "id": "5Sz8ykeEYDS3" - }, - { - "cell_type": "markdown", - "source": [ - "## 8. Scaling up the solution\n", - "\n", - "This is where the fun begins!" - ], - "metadata": { - "id": "gscT4SjxZ9h4" - }, - "id": "gscT4SjxZ9h4" - }, - { - "cell_type": "code", - "source": [ - "df = df[df['city'] == 'London']\n", - "genes = {store_num:[lat, lon] for store_num, lat, lon in zip(df['storeNumber'], df['latitude'], df['longitude'])}\n", - "stores = list(genes.keys())\n", - "len(stores)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "yYY3-gP1aFkH", - "outputId": "907e2a7c-3292-4409-e83e-4db372f09a45" - }, - "id": "yYY3-gP1aFkH", - "execution_count": 157, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "165" - ] - }, - "metadata": {}, - "execution_count": 157 - } - ] - }, - { - "cell_type": "code", - "source": [ - "population = build_population(200, 165)\n", - "len(population[0])" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "oykOz7l4KhJE", - "outputId": "fe7fdabc-a909-40c4-e69a-daba8169b07c" - }, - "id": "oykOz7l4KhJE", - "execution_count": 155, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "166" - ] - }, - "metadata": {}, - "execution_count": 155 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "### 8.1 Building the final algorithm\n", - "\n", - "The code to build the algorithm has to be re-run with the above data structures altered." - ], - "metadata": { - "id": "ioy8EGjEbnBJ" - }, - "id": "ioy8EGjEbnBJ" - }, - { - "cell_type": "code", - "source": [ - "def fitness_func(solution, solution_idx):\n", - " # loop through the length of the chromosome finding the distance between each\n", - " # gene added \n", - "\n", - " # to increment\n", - " total_dist = 0\n", - "\n", - " for gene in range(0, len(solution)):\n", - "\n", - " # get the lon lat of the two points\n", - " a = genes.get(stores[solution[gene]])\n", - " \n", - " try:\n", - " b = genes.get(stores[solution[gene + 1]])\n", - "\n", - " # find the distance (crow flies)\n", - " dist = geodesic(a, b).kilometers\n", - "\n", - " except IndexError:\n", - " dist = 0\n", - "\n", - " total_dist += dist\n", - "\n", - " # to optimise this value in the positive direction the inverse of dist is used\n", - " fitness = 1 / total_dist\n", - "\n", - " return fitness " - ], - "metadata": { - "id": "uBfcikkma5hP" - }, - "id": "uBfcikkma5hP", - "execution_count": 108, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def pmx_crossover(parent1, parent2, sequence_start, sequence_end):\n", - " # initialise a child\n", - " child = np.zeros(parent1.shape[0])\n", - "\n", - " # get the genes for parent one that are passed on to child one\n", - " parent1_to_child1_genes = parent1[sequence_start:sequence_end]\n", - "\n", - " # get the position of genes for each respective combination\n", - " parent1_to_child1 = np.isin(parent1,parent1_to_child1_genes).nonzero()[0]\n", - "\n", - " for gene in parent1_to_child1:\n", - " child[gene] = parent1[gene]\n", - "\n", - " # gene of parent 2 not in the child\n", - " genes_not_in_child = parent2[np.isin(parent2, parent1_to_child1_genes, invert=True).nonzero()[0]]\n", - " \n", - " if genes_not_in_child.shape[0] >= 1:\n", - " for gene in genes_not_in_child:\n", - " if gene >= 1:\n", - " lookup = gene\n", - " not_in_sequence = True\n", - "\n", - " while not_in_sequence:\n", - " position_in_parent2 = np.where(parent2==lookup)[0][0]\n", - "\n", - " if position_in_parent2 in range(sequence_start, sequence_end):\n", - " lookup = parent1[position_in_parent2]\n", - "\n", - " else:\n", - " child[position_in_parent2] = gene\n", - " not_in_sequence = False\n", - "\n", - " return child" - ], - "metadata": { - "id": "FuOkiStta7Pz" - }, - "id": "FuOkiStta7Pz", - "execution_count": 109, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def crossover_func(parents, offspring_size, ga_instance):\n", - " offspring = []\n", - " idx = 0\n", - " while len(offspring) != offspring_size[0]:\n", - "\n", - " # locate the parents\n", - " parent1 = parents[idx % parents.shape[0], :].copy()\n", - " parent2 = parents[(idx + 1) % parents.shape[0], :].copy()\n", - "\n", - " # find gene sequence in parent 1 \n", - " sequence_start = random.randint(1, parent1.shape[0]-4)\n", - " sequence_end = random.randint(sequence_start, parent1.shape[0]-1)\n", - "\n", - " # perform crossover\n", - " child1 = pmx_crossover(parent1, parent2, sequence_start, sequence_end)\n", - " child2 = pmx_crossover(parent2, parent1, sequence_start, sequence_end)\n", - " \n", - "\n", - " offspring.append(child1)\n", - " offspring.append(child2)\n", - "\n", - " idx += 1\n", - "\n", - " return np.array(offspring)" - ], - "metadata": { - "id": "O10ZgScUa_bj" - }, - "id": "O10ZgScUa_bj", - "execution_count": 130, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def mutation_func(offspring, ga_instance):\n", - "\n", - " for chromosome_idx in range(offspring.shape[0]):\n", - " # define a sequence of genes to reverse\n", - " sequence_start = random.randint(1, offspring[chromosome_idx].shape[0] - 2)\n", - " sequence_end = random.randint(sequence_start, offspring[chromosome_idx].shape[0] - 1)\n", - " \n", - " genes = offspring[chromosome_idx, sequence_start:sequence_end]\n", - "\n", - " # start at the start of the sequence assigning the reverse sequence back to the chromosome\n", - " index = 0\n", - " if len(genes) > 0:\n", - " for gene in range(sequence_start, sequence_end):\n", - "\n", - " offspring[chromosome_idx, gene] = genes[index]\n", - "\n", - " index += 1\n", - "\n", - " return offspring" - ], - "metadata": { - "id": "mLLY7Ub4K_Y5" - }, - "id": "mLLY7Ub4K_Y5", - "execution_count": 144, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def on_crossover(ga_instance, offspring_crossover):\n", - " # apply mutation to ensure uniqueness \n", - " offspring_mutation = mutation_func(offspring_crossover, ga_instance)\n", - "\n", - " # save the new offspring set as the parents of the next generation\n", - " ga_instance.last_generation_offspring_mutation = offspring_mutation" - ], - "metadata": { - "id": "QLtP6in4LFSw" - }, - "id": "QLtP6in4LFSw", - "execution_count": 126, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def on_generation(ga):\n", - " print(\"Generation\", ga.generations_completed)\n", - " print(ga.population)" - ], - "metadata": { - "id": "SnR2LaDJLGRj" - }, - "id": "SnR2LaDJLGRj", - "execution_count": 127, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "ga_instance = pygad.GA(num_generations=100,\n", - " num_parents_mating=40,\n", - " fitness_func=fitness_func,\n", - " sol_per_pop=200,\n", - " initial_population=population,\n", - " gene_space=range(0, 165),\n", - " gene_type=int,\n", - " mutation_type=mutation_func,\n", - " on_generation=on_generation,\n", - " crossover_type=crossover_func, \n", - " keep_parents=6,\n", - " mutation_probability=0.4)" - ], - "metadata": { - "id": "j2J5jlh9bDxR" - }, - "id": "j2J5jlh9bDxR", - "execution_count": 145, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "ga_instance.run()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "lhW7JkMAbS6E", - "outputId": "c6130b2a-1e6b-4b7d-c2d6-f891b178fef9" - }, - "id": "lhW7JkMAbS6E", - "execution_count": 146, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Generation 1\n", - "[[ 0 1 111 ... 127 108 0]\n", - " [ 0 62 141 ... 26 161 0]\n", - " [ 0 137 155 ... 158 3 0]\n", - " ...\n", - " [ 0 142 162 ... 2 159 0]\n", - " [ 0 161 159 ... 112 66 0]\n", - " [ 0 152 108 ... 72 58 0]]\n", - "Generation 2\n", - "[[ 0 1 111 ... 127 108 0]\n", - " [ 0 1 111 ... 127 108 0]\n", - " [ 0 62 141 ... 26 161 0]\n", - " ...\n", - " [ 0 137 155 ... 135 76 0]\n", - " [ 0 137 155 ... 158 3 0]\n", - " [ 0 96 40 ... 135 5 0]]\n", - "Generation 3\n", - "[[ 0 1 145 ... 26 94 0]\n", - " [ 0 1 111 ... 127 108 0]\n", - " [ 0 1 111 ... 127 108 0]\n", - " ...\n", - " [ 0 89 155 ... 158 32 0]\n", - " [ 0 1 110 ... 127 94 0]\n", - " [ 0 96 40 ... 64 90 0]]\n", - "Generation 4\n", - "[[ 0 1 56 ... 26 81 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 110 ... 127 94 0]\n", - " ...\n", - " [ 0 1 111 ... 127 108 0]\n", - " [ 0 1 145 ... 26 22 0]\n", - " [ 0 1 77 ... 127 142 0]]\n", - "Generation 5\n", - "[[ 0 1 111 ... 127 108 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 56 ... 127 81 0]\n", - " ...\n", - " [ 0 1 60 ... 127 118 0]\n", - " [ 0 1 154 ... 127 7 0]\n", - " [ 0 1 164 ... 127 94 0]]\n", - "Generation 6\n", - "[[ 0 1 56 ... 26 81 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " ...\n", - " [ 0 1 93 ... 127 108 0]\n", - " [ 0 1 30 ... 127 108 0]\n", - " [ 0 1 111 ... 127 108 0]]\n", - "Generation 7\n", - "[[ 0 1 56 ... 127 81 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " ...\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 56 ... 26 81 0]\n", - " [ 0 1 56 ... 127 81 0]]\n", - "Generation 8\n", - "[[ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 26 108 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " ...\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 56 ... 127 94 0]]\n", - "Generation 9\n", - "[[ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " ...\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 33 ... 26 94 0]\n", - " [ 0 1 110 ... 127 108 0]]\n", - "Generation 10\n", - "[[ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 26 108 0]]\n", - "Generation 11\n", - "[[ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 81 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " ...\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 81 0]]\n", - "Generation 12\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " ...\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 81 0]\n", - " [ 0 1 164 ... 127 81 0]]\n", - "Generation 13\n", - "[[ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 81 0]\n", - " ...\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 81 0]]\n", - "Generation 14\n", - "[[ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 81 0]\n", - " ...\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 108 0]]\n", - "Generation 15\n", - "[[ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 81 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " ...\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 94 0]\n", - " [ 0 1 164 ... 127 108 0]]\n", - "Generation 16\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 81 0]\n", - " ...\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 94 0]]\n", - "Generation 17\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 81 0]\n", - " [ 0 1 164 ... 127 108 0]\n", - " [ 0 1 164 ... 127 108 0]]\n", - "Generation 18\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 108 0]]\n", - "Generation 19\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 20\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 21\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 22\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 23\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 24\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 25\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 26\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 27\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 28\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 29\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 30\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 31\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 32\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 33\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 34\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 35\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 36\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 37\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 38\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 39\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 40\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 41\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 42\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 43\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 44\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 45\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 46\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 47\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 48\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 49\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 50\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 51\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 52\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 53\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 54\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 55\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 56\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 57\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 58\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 59\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 60\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 61\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 62\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 63\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 64\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 65\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 66\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 67\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 68\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 69\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 70\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 71\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 72\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 73\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 74\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 75\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 76\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 77\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 78\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 79\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 80\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 81\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 82\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 83\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 84\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 85\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 86\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 87\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 88\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 89\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 90\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 91\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 92\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 93\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 94\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 95\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 96\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 97\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 98\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 99\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n", - "Generation 100\n", - "[[ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " ...\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]\n", - " [ 0 1 164 ... 127 119 0]]\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "## 8.2 Evaluating the final algorithm \n", - "\n", - "The overall solution can now be assessed." - ], - "metadata": { - "id": "KJY5PcFabWdL" - }, - "id": "KJY5PcFabWdL" - }, - { - "cell_type": "code", - "source": [ - "solution, solution_fitness, solution_idx = ga_instance.best_solution()\n", - "print(f'Generation of best solution: {ga_instance.best_solution_generation}')\n", - "print(\"Fitness value of the best solution = {solution_fitness}\".format(solution_fitness=solution_fitness))\n", - "print(\"Index of the best solution : {solution_idx}\".format(solution_idx=solution_idx))" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "yxGGtFfE3j_1", - "outputId": "d5b68eaa-167f-47c8-aadd-10ecb3eb080c" - }, - "id": "yxGGtFfE3j_1", - "execution_count": 147, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Generation of best solution: 25\n", - "Fitness value of the best solution = 0.0010087414431375688\n", - "Index of the best solution : 0\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "verify_solution(solution, len(stores))\n", - "solution" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "NKvGE63abjmU", - "outputId": "75249196-afeb-4ee6-9b96-9674ea8493c9" - }, - "id": "NKvGE63abjmU", - "execution_count": 148, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Failed values less than or above max possible value\n" - ] - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([ 0, 1, 164, 19, 77, 23, 10, 9, 154, 158, 157, 26, 22,\n", - " 92, 42, 137, 75, 143, 149, 12, 100, 85, 86, 124, 128, 135,\n", - " 147, 54, 24, 3, 58, 123, 153, 51, 29, 69, 20, 110, 59,\n", - " 95, 113, 115, 121, 91, 36, 64, 65, 32, 53, 35, 105, 52,\n", - " 21, 34, 133, 109, 47, 71, 98, 106, 131, 89, 108, 56, 152,\n", - " 150, 7, 38, 43, 94, 8, 132, 155, 4, 16, 84, 90, 27,\n", - " 2, 144, 151, 39, 45, 159, 125, 79, 156, 40, 6, 74, 139,\n", - " 141, 145, 76, 104, 50, 37, 129, 130, 72, 142, 97, 25, 93,\n", - " 134, 126, 138, 140, 148, 120, 96, 28, 160, 116, 18, 112, 31,\n", - " 41, 55, 63, 73, 122, 162, 161, 163, 66, 107, 17, 87, 103,\n", - " 80, 81, 88, 83, 82, 14, 33, 11, 46, 61, 60, 136, 146,\n", - " 15, 70, 44, 48, 67, 78, 111, 13, 62, 30, 118, 114, 99,\n", - " 102, 5, 68, 49, 57, 101, 117, 127, 119, 0])" - ] - }, - "metadata": {}, - "execution_count": 148 - } - ] - }, - { - "cell_type": "code", - "source": [ - "points = [genes.get(stores[id]) + [stores[id]] for id in solution]\n", - "points[:5]" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "G8bOm7PGcPx_", - "outputId": "f78d25f6-3679-489b-c533-2971ac389941" - }, - "id": "G8bOm7PGcPx_", - "execution_count": 150, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[[51.877854, -0.376379, '12851-253386'],\n", - " [51.877854, -0.376289, '7187-253385'],\n", - " [51.655847, -0.277039, '47771-259784'],\n", - " [51.51402, -0.13925, '12021-10341'],\n", - " [51.54541, -0.16269, '12158-22023']]" - ] - }, - "metadata": {}, - "execution_count": 150 - } - ] - }, - { - "cell_type": "code", - "source": [ - "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")\n", - "\n", - "for point in range(0, len(points)):\n", - " folium.Marker(\n", - " [points[point][0], points[point][1]], popup=f'{points[point][2]}'\n", - " ).add_to(map)\n", - "\n", - " try:\n", - " folium.PolyLine([(points[point][0], points[point][1]), \n", - " (points[point+1][0], points[point+1][1])],\n", - " color='red',\n", - " weight=5,\n", - " opacity=0.8).add_to(map)\n", - "\n", - " except IndexError:\n", - " pass" - ], - "metadata": { - "id": "_KtJJkkvcY-E" - }, - "id": "_KtJJkkvcY-E", - "execution_count": 151, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "map" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 531 - }, - "id": "PMH_yECHcaH8", - "outputId": "708aca8b-c6c9-4008-cc54-e14bb37b180f" - }, - "id": "PMH_yECHcaH8", - "execution_count": 152, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ] - }, - "metadata": {}, - "execution_count": 152 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "## 10. Total result \n", - "\n", - "The total resulting distance around London after optimising the solution is:" - ], - "metadata": { - "id": "4ek_Es2DcbXU" - }, - "id": "4ek_Es2DcbXU" - }, - { - "cell_type": "code", - "source": [ - "def distance(solution):\n", - " # loop through the length of the chromosome finding the distance between each\n", - " # gene added \n", - "\n", - " # to increment\n", - " total_dist = 0\n", - "\n", - " for gene in range(0, len(solution)):\n", - "\n", - " # get the lon lat of the two points\n", - " a = genes.get(stores[solution[gene]])\n", - " \n", - " try:\n", - " b = genes.get(stores[solution[gene + 1]])\n", - "\n", - " # find the distance (crow flies)\n", - " dist = geodesic(a, b).kilometers\n", - "\n", - " except IndexError:\n", - " dist = 0\n", - "\n", - " \n", - " total_dist += dist\n", - "\n", - " # to optimise this value in the positive direction the inverse of dist is used\n", - "\n", - " return total_dist " - ], - "metadata": { - "id": "SiCFxx7WcwxV" - }, - "id": "SiCFxx7WcwxV", - "execution_count": 153, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "distance(solution)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "nds6G5tmnJ8K", - "outputId": "fe4ccfc6-a5c0-4e53-c0cd-acfe62bd6052" - }, - "id": "nds6G5tmnJ8K", - "execution_count": 154, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "991.3343075204886" - ] - }, - "metadata": {}, - "execution_count": 154 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "Which is not too bad for 975 cups of joe. 🥤" - ], - "metadata": { - "id": "bukLealWcxOz" - }, - "id": "bukLealWcxOz" - } - ], - "metadata": { - "colab": { - "provenance": [], - "collapsed_sections": [ - "sEtmfvLsvMC2", - "1sg-1A4Ih1L4" - ], - "toc_visible": true - }, - "gpuClass": "standard", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - }, - "accelerator": "GPU" - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "95ba26f7" + }, + "source": [ + "# The Travelling Coffee Drinker - Genetic Algorithm\n", + "\n", + "Solving a travelling salesman problem for United Kingdom Starbucks Cafés" + ], + "id": "95ba26f7" + }, + { + "cell_type": "markdown", + "source": [ + "## 1. Load and transform data\n", + "\n", + "The data comes from Kaggle, which is accessed using the API wrapper.\n", + "\n", + "The transformation needed is just to filter only GB Starbucks restaurants with a valid lon/lat pair." + ], + "metadata": { + "id": "sEtmfvLsvMC2" + }, + "id": "sEtmfvLsvMC2" + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "_HBlGrIyYa7G", + "outputId": "cf89fc50-e566-4fe2-f54c-178b9d6e1acd" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: pygad==2.17 in /usr/local/lib/python3.7/dist-packages (2.17.0)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from pygad==2.17) (1.21.6)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from pygad==2.17) (3.2.2)\n", + "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (2.8.2)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (1.4.4)\n", + "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (3.0.9)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pygad==2.17) (0.11.0)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver>=1.0.1->matplotlib->pygad==2.17) (4.1.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->pygad==2.17) (1.15.0)\n" + ] + } + ], + "source": [ + "!pip install pygad==2.17" + ], + "id": "_HBlGrIyYa7G" + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "id": "buoFAtjz2duB" + }, + "outputs": [], + "source": [ + "!pip install -q kaggle" + ], + "id": "buoFAtjz2duB" + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 375, + "resources": { + "http://localhost:8080/nbextensions/google.colab/files.js": { + "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgZG8gewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwoKICAgICAgbGV0IHBlcmNlbnREb25lID0gZmlsZURhdGEuYnl0ZUxlbmd0aCA9PT0gMCA/CiAgICAgICAgICAxMDAgOgogICAgICAgICAgTWF0aC5yb3VuZCgocG9zaXRpb24gLyBmaWxlRGF0YS5ieXRlTGVuZ3RoKSAqIDEwMCk7CiAgICAgIHBlcmNlbnQudGV4dENvbnRlbnQgPSBgJHtwZXJjZW50RG9uZX0lIGRvbmVgOwoKICAgIH0gd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCk7CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK", + "headers": [ + [ + "content-type", + "application/javascript" + ] + ], + "ok": true, + "status": 200, + "status_text": "" + } + } + }, + "id": "WYcYq9YV2gi9", + "outputId": "aef25ebb-cdaf-449f-c280-05f0faf1157f" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mgoogle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mfiles\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mfiles\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36mupload\u001b[0;34m()\u001b[0m\n\u001b[1;32m 39\u001b[0m \"\"\"\n\u001b[1;32m 40\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0muploaded_files\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_upload_files\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmultiple\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;31m# Mapping from original filename to filename as saved locally.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0mlocal_filenames\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36m_upload_files\u001b[0;34m(multiple)\u001b[0m\n\u001b[1;32m 116\u001b[0m result = _output.eval_js(\n\u001b[1;32m 117\u001b[0m 'google.colab._files._uploadFiles(\"{input_id}\", \"{output_id}\")'.format(\n\u001b[0;32m--> 118\u001b[0;31m input_id=input_id, output_id=output_id))\n\u001b[0m\u001b[1;32m 119\u001b[0m \u001b[0mfiles\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_collections\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefaultdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/output/_js.py\u001b[0m in \u001b[0;36meval_js\u001b[0;34m(script, ignore_result, timeout_sec)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mignore_result\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;32mreturn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 40\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_reply_from_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrequest_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout_sec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/google/colab/_message.py\u001b[0m in \u001b[0;36mread_reply_from_input\u001b[0;34m(message_id, timeout_sec)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_read_next_input_message\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 96\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_NOT_READY\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreply\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 97\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.025\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 98\u001b[0m \u001b[0;32mcontinue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 99\u001b[0m if (reply.get('type') == 'colab_reply' and\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "from google.colab import files\n", + "files.upload() # upload a Kaggle JSON file to make request for data " + ], + "id": "WYcYq9YV2gi9" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "TBtskqtn29H3" + }, + "outputs": [], + "source": [ + "!mkdir kaggle " + ], + "id": "TBtskqtn29H3" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "oK1Z1Yr12tEv" + }, + "outputs": [], + "source": [ + "!cp kaggle.json ~/.kaggle/\n", + "!chmod 600 ~/.kaggle/kaggle.json" + ], + "id": "oK1Z1Yr12tEv" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "8U2rpJ1j191n" + }, + "outputs": [], + "source": [ + "!kaggle datasets download kukuroo3/starbucks-locations-worldwide-2021-version -p /content/sample_data/ --unzip" + ], + "id": "8U2rpJ1j191n" + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": { + "id": "sTkY5cLb3age", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a064aedc-8e4d-4712-d223-e35db3d1d7ae" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Index(['Unnamed: 0', 'storeNumber', 'countryCode', 'ownershipTypeCode',\n", + " 'schedule', 'slug', 'latitude', 'longitude', 'streetAddressLine1',\n", + " 'streetAddressLine2', 'streetAddressLine3', 'city',\n", + " 'countrySubdivisionCode', 'postalCode', 'currentTimeOffset',\n", + " 'windowsTimeZoneId', 'olsonTimeZoneId'],\n", + " dtype='object')" + ] + }, + "metadata": {}, + "execution_count": 165 + } + ], + "source": [ + "import pandas as pd \n", + "\n", + "# read in data and check column names \n", + "data = pd.read_csv('/content/sample_data/startbucks.csv')\n", + "data.columns" + ], + "id": "sTkY5cLb3age" + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": { + "id": "SImMYnfe3n_w", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4ee033d9-9f66-489a-c470-b45a1a3b0ac0" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "execution_count": 166 + } + ], + "source": [ + "df = data[data['countryCode']=='GB']\n", + "df.reset_index(inplace=True)\n", + "\n", + "# check for invalid lon/lat pairs\n", + "len(df.dropna(subset=['latitude', 'longitude'])) - len(df)" + ], + "id": "SImMYnfe3n_w" + }, + { + "cell_type": "markdown", + "source": [ + "## 2. Exploratory analysis\n", + "\n", + "Find the distribution of cafés across the United Kingdom. \n", + "\n", + "How are restaurants distributed across towns?\n", + "What does a geospatial representation of the data look like?" + ], + "metadata": { + "id": "ovWqqNFIvydy" + }, + "id": "ovWqqNFIvydy" + }, + { + "cell_type": "markdown", + "source": [ + "### 2.1 Distribution of cafés by town" + ], + "metadata": { + "id": "SokLPN9j2fn1" + }, + "id": "SokLPN9j2fn1" + }, + { + "cell_type": "code", + "source": [ + "import plotly.express as px\n", + "vis = df.groupby('city').storeNumber.count().reset_index()\n", + "px.bar(vis, x='city', y='storeNumber', template='seaborn')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 0 + }, + "id": "HGOBgqnX2lIo", + "outputId": "0f19d0f2-0063-458a-cd02-987e30b3d9cf" + }, + "id": "HGOBgqnX2lIo", + "execution_count": 167, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "### 2.2 Map of cafés in the UK" + ], + "metadata": { + "id": "z9a3NPSM2lb4" + }, + "id": "z9a3NPSM2lb4" + }, + { + "cell_type": "code", + "source": [ + "import folium" + ], + "metadata": { + "id": "dAq1AQyfwN_l" + }, + "id": "dAq1AQyfwN_l", + "execution_count": 168, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")" + ], + "metadata": { + "id": "V9b0_8g_xM5K" + }, + "id": "V9b0_8g_xM5K", + "execution_count": 169, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "for _, r in df.iterrows():\n", + " folium.Marker(\n", + " [r['latitude'], r['longitude']], popup=f'{r[\"storeNumber\"]}'\n", + " ).add_to(map)" + ], + "metadata": { + "id": "ZiprKw6ExhQR" + }, + "id": "ZiprKw6ExhQR", + "execution_count": 170, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 0 + }, + "id": "iVnEBooHc0ze", + "outputId": "b6ee729b-739f-4db5-975f-12a6a2c82246" + }, + "id": "iVnEBooHc0ze", + "execution_count": 171, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ] + }, + "metadata": {}, + "execution_count": 171 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 3. Testing the distance methodology\n", + "\n", + "To assess how good each solution is there needs to be a measure of fitness. For the purpose of this example the distance 'as the crow flies' is used without taking into account actual road distances however this could be explored in future." + ], + "metadata": { + "id": "1sg-1A4Ih1L4" + }, + "id": "1sg-1A4Ih1L4" + }, + { + "cell_type": "code", + "source": [ + "from geopy.distance import geodesic" + ], + "metadata": { + "id": "IbG9XRkLh0Aj" + }, + "id": "IbG9XRkLh0Aj", + "execution_count": 173, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "The tested origin is the first Starbucks in the data and the destination is the second Starbucks in the dataset." + ], + "metadata": { + "id": "zgmh6b1l3liN" + }, + "id": "zgmh6b1l3liN" + }, + { + "cell_type": "code", + "execution_count": 174, + "metadata": { + "id": "TyoeO2I-4bGq" + }, + "outputs": [], + "source": [ + "origin = (df['latitude'][0], df['longitude'][0])\n", + "dest = (df['latitude'][100], df['longitude'][100])" + ], + "id": "TyoeO2I-4bGq" + }, + { + "cell_type": "markdown", + "source": [ + "The distance between the two points as the crow flies in kilometres is given below." + ], + "metadata": { + "id": "VUr7ZAzw3srI" + }, + "id": "VUr7ZAzw3srI" + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": { + "id": "zXo1I-5Q4Lwn", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4672edf2-9142-4276-ab6a-2b35b65b8b3d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "81.63683980420957" + ] + }, + "metadata": {}, + "execution_count": 175 + } + ], + "source": [ + "geodesic(origin, dest).kilometers" + ], + "id": "zXo1I-5Q4Lwn" + }, + { + "cell_type": "markdown", + "source": [ + "## 4. Preparing data structures\n", + "\n", + "The data structures needed for testing solutions are the \"genes\" or store options to select from named *genes*\n", + "\n", + "A lookup to access these genes known as *stores* \n", + "\n", + "A *check_range* which is used to check that every option is given in a solution (a key criteria in the TSP).\n" + ], + "metadata": { + "id": "GeRIsd5G378L" + }, + "id": "GeRIsd5G378L" + }, + { + "cell_type": "code", + "source": [ + "test = df.head(10)\n", + "genes = {store_num:[lat, lon] for store_num, lat, lon in zip(test['storeNumber'], test['latitude'], test['longitude'])}\n", + "stores = list(genes.keys())\n", + "check_range = [i for i in range(0, 10)]" + ], + "metadata": { + "id": "rkKStcn4iIrN" + }, + "id": "rkKStcn4iIrN", + "execution_count": 176, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 5. Defining functions \n", + "\n", + "The algorithm requires a set of functions to be pre-defined as the out of the box genetic algorithm does not support a TSP.\n", + "\n", + " 1. build_population: builds a population of chromosomes to test with proper restrictions applied\n", + " 2. fitness_func: Used to test a solution to see how well it performs, in this case the fitness_func will be assessed based on the distance as the crow flies between each successive point\n", + " 3. pmx_crossover: performs the crossover of a parent and child with proper Partially Matched Crossover (PMX) logic\n", + " 4. crossover_func: applies the crossover\n", + " 5. on_crossover: applies the mutation after crossover\n", + " 6. on_generation: used to print the progress and results at each generation" + ], + "metadata": { + "id": "5mKC2lKO4tRY" + }, + "id": "5mKC2lKO4tRY" + }, + { + "cell_type": "code", + "source": [ + "import random\n", + "import numpy as np\n", + "from geopy.distance import geodesic" + ], + "metadata": { + "id": "15-IiuRNljOC" + }, + "id": "15-IiuRNljOC", + "execution_count": 177, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Assess the quality or fitness of a solution so that only the fittest are selected for the next generation and to breed." + ], + "metadata": { + "id": "BhCEN9165in3" + }, + "id": "BhCEN9165in3" + }, + { + "cell_type": "code", + "source": [ + "def build_population(size, chromosome_size):\n", + " population = []\n", + " for i in range(size):\n", + " home_city = 0\n", + " added = {home_city:'Added'}\n", + " chromosome = [home_city]\n", + "\n", + " while len(chromosome) < chromosome_size:\n", + " proposed_gene = random.randint(0, chromosome_size-1)\n", + " if added.get(proposed_gene) is None:\n", + " chromosome.append(proposed_gene)\n", + " added.update({proposed_gene:'Added'})\n", + " else:\n", + " pass\n", + "\n", + " chromosome.append(home_city)\n", + "\n", + " population.append(chromosome)\n", + "\n", + " return np.array(population)" + ], + "metadata": { + "id": "BLz2sU2n78Ui" + }, + "id": "BLz2sU2n78Ui", + "execution_count": 178, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "population = build_population(100, 10)\n", + "population.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vs8CrTNV9iqe", + "outputId": "4178c652-2593-44e9-ca0d-1829f11c6d5e" + }, + "id": "vs8CrTNV9iqe", + "execution_count": 179, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(100, 11)" + ] + }, + "metadata": {}, + "execution_count": 179 + } + ] + }, + { + "cell_type": "code", + "source": [ + "def fitness_func(solution, solution_idx):\n", + " # loop through the length of the chromosome finding the distance between each\n", + " # gene added \n", + "\n", + " # to increment\n", + " total_dist = 0\n", + "\n", + " for gene in range(0, len(solution)):\n", + "\n", + " # get the lon lat of the two points\n", + " a = genes.get(stores[solution[gene]])\n", + " \n", + " try:\n", + " b = genes.get(stores[solution[gene + 1]])\n", + "\n", + " # find the distance (crow flies)\n", + " dist = geodesic(a, b).kilometers\n", + "\n", + " except IndexError:\n", + " dist = 0\n", + "\n", + " total_dist += dist\n", + "\n", + " # to optimise this value in the positive direction the inverse of dist is used\n", + " fitness = 1 / total_dist\n", + "\n", + " return fitness " + ], + "metadata": { + "id": "5u-5msoj-84i" + }, + "id": "5u-5msoj-84i", + "execution_count": 180, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def pmx_crossover(parent1, parent2, sequence_start, sequence_end):\n", + " # initialise a child\n", + " child = np.zeros(parent1.shape[0])\n", + "\n", + " # get the genes for parent one that are passed on to child one\n", + " parent1_to_child1_genes = parent1[sequence_start:sequence_end]\n", + "\n", + " # get the position of genes for each respective combination\n", + " parent1_to_child1 = np.isin(parent1,parent1_to_child1_genes).nonzero()[0]\n", + "\n", + " for gene in parent1_to_child1:\n", + " child[gene] = parent1[gene]\n", + "\n", + " # gene of parent 2 not in the child\n", + " genes_not_in_child = parent2[np.isin(parent2, parent1_to_child1_genes, invert=True).nonzero()[0]]\n", + " \n", + " # if the gene is not already\n", + " if genes_not_in_child.shape[0] >= 1:\n", + " for gene in genes_not_in_child:\n", + " if gene >= 1:\n", + " lookup = gene\n", + " not_in_sequence = True\n", + "\n", + " while not_in_sequence:\n", + " position_in_parent2 = np.where(parent2==lookup)[0][0]\n", + "\n", + " if position_in_parent2 in range(sequence_start, sequence_end):\n", + " lookup = parent1[position_in_parent2]\n", + "\n", + " else:\n", + " child[position_in_parent2] = gene\n", + " not_in_sequence = False\n", + "\n", + " return child" + ], + "metadata": { + "id": "OpbfyShQes_q" + }, + "id": "OpbfyShQes_q", + "execution_count": 181, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def crossover_func(parents, offspring_size, ga_instance):\n", + " offspring = []\n", + " idx = 0\n", + " while len(offspring) != offspring_size[0]:\n", + "\n", + " # locate the parents\n", + " parent1 = parents[idx % parents.shape[0], :].copy()\n", + " parent2 = parents[(idx + 1) % parents.shape[0], :].copy()\n", + "\n", + " # find gene sequence in parent 1 \n", + " sequence_start = random.randint(1, parent1.shape[0]-4)\n", + " sequence_end = random.randint(sequence_start, parent1.shape[0]-1)\n", + "\n", + " # perform crossover\n", + " child1 = pmx_crossover(parent1, parent2, sequence_start, sequence_end)\n", + " child2 = pmx_crossover(parent2, parent1, sequence_start, sequence_end) \n", + "\n", + " offspring.append(child1)\n", + " offspring.append(child2)\n", + "\n", + "\n", + " idx += 1\n", + "\n", + " return np.array(offspring)" + ], + "metadata": { + "id": "shgFWqH2NinO" + }, + "id": "shgFWqH2NinO", + "execution_count": 182, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "The mutation function chosen is inversion as it does not invalidate the solution." + ], + "metadata": { + "id": "bCjaaeofA7Bg" + }, + "id": "bCjaaeofA7Bg" + }, + { + "cell_type": "code", + "source": [ + "def mutation_func(offspring, ga_instance):\n", + "\n", + " for chromosome_idx in range(offspring.shape[0]):\n", + " # define a sequence of genes to reverse\n", + " sequence_start = random.randint(1, offspring[chromosome_idx].shape[0] - 2)\n", + " sequence_end = random.randint(sequence_start, offspring[chromosome_idx].shape[0] - 1)\n", + " \n", + " genes = offspring[chromosome_idx, sequence_start:sequence_end]\n", + "\n", + " # start at the start of the sequence assigning the reverse sequence back to the chromosome\n", + " index = 0\n", + " if len(genes) > 0:\n", + " for gene in range(sequence_start, sequence_end):\n", + "\n", + " offspring[chromosome_idx, gene] = genes[index]\n", + "\n", + " index += 1\n", + "\n", + " return offspring" + ], + "metadata": { + "id": "0kMm7J1WAsvH" + }, + "id": "0kMm7J1WAsvH", + "execution_count": 183, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Used in the genetic algorithm flow to apply the custom mutation after crossover" + ], + "metadata": { + "id": "HTeKwuPl5vVt" + }, + "id": "HTeKwuPl5vVt" + }, + { + "cell_type": "code", + "source": [ + "def on_crossover(ga_instance, offspring_crossover):\n", + " # apply mutation to ensure uniqueness \n", + " offspring_mutation = mutation_func(offspring_crossover, ga_instance)\n", + "\n", + " # save the new offspring set as the parents of the next generation\n", + " ga_instance.last_generation_offspring_mutation = offspring_mutation" + ], + "metadata": { + "id": "ucwYe4rgwLQC" + }, + "id": "ucwYe4rgwLQC", + "execution_count": 184, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Added for debugging and assessing progress by generation at runtime" + ], + "metadata": { + "id": "Xf7rgtuO532X" + }, + "id": "Xf7rgtuO532X" + }, + { + "cell_type": "code", + "source": [ + "def on_generation(ga):\n", + " print(\"Generation\", ga.generations_completed)\n", + " print(ga.population)" + ], + "metadata": { + "id": "eqRwVsSBMf_B" + }, + "id": "eqRwVsSBMf_B", + "execution_count": 185, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 6. Executing the algorithm\n", + "\n", + "The genetic algorithm is set up as instance and at initialisation several parameters are given. \n", + "\n", + "The algorithm then runs to find the best solution for a set number of generations." + ], + "metadata": { + "id": "C9AtXoqx58x0" + }, + "id": "C9AtXoqx58x0" + }, + { + "cell_type": "code", + "source": [ + "import pygad" + ], + "metadata": { + "id": "BrJVLZlBW07R" + }, + "id": "BrJVLZlBW07R", + "execution_count": 186, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 6.1 Example Initialising the algorithm\n", + "\n", + "The algorithm is initialised below.\n", + "\n", + "Notable parameters include:\n", + " - The use of gene space to limit the possible genes chosen to just be those in the TSP range\n", + " - Mutations being turned off temporarily\n", + " - Implementation of custom on_ functions \n", + " - Allow duplication of genes parameter set to false to ensure any newly introduced chromosomes/chromosomes created as population is initialised have no duplicate genes" + ], + "metadata": { + "id": "6ni9VkQv6TJR" + }, + "id": "6ni9VkQv6TJR" + }, + { + "cell_type": "code", + "source": [ + "ga_instance = pygad.GA(num_generations=100,\n", + " num_parents_mating=40,\n", + " fitness_func=fitness_func,\n", + " sol_per_pop=200,\n", + " initial_population=population,\n", + " gene_space=range(0, 10),\n", + " gene_type=int,\n", + " mutation_type=mutation_func,\n", + " on_generation=on_generation,\n", + " crossover_type=crossover_func, \n", + " keep_parents=6,\n", + " mutation_probability=0.4)" + ], + "metadata": { + "id": "FfFdncf-G3Mr" + }, + "id": "FfFdncf-G3Mr", + "execution_count": 187, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 6.2 Running the algorithm \n", + "\n", + "The genetic algorithm is run with a simple function call" + ], + "metadata": { + "id": "sfqme_5461A4" + }, + "id": "sfqme_5461A4" + }, + { + "cell_type": "code", + "source": [ + "ga_instance.run()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g-3CjxWYZh3H", + "outputId": "dc1fbda5-6b22-4245-9b99-e22b0e41684f" + }, + "id": "g-3CjxWYZh3H", + "execution_count": 188, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation 1\n", + "[[0 3 2 ... 4 5 0]\n", + " [0 3 6 ... 1 2 0]\n", + " [0 8 3 ... 6 1 0]\n", + " ...\n", + " [0 9 5 ... 7 4 0]\n", + " [0 2 7 ... 8 6 0]\n", + " [0 3 5 ... 6 8 0]]\n", + "Generation 2\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 9 ... 8 3 0]\n", + " [0 3 2 ... 4 5 0]\n", + " ...\n", + " [0 3 6 ... 1 2 0]\n", + " [0 3 6 ... 1 2 0]\n", + " [0 3 1 ... 6 2 0]]\n", + "Generation 3\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 9 ... 8 3 0]\n", + " [0 3 2 ... 4 5 0]\n", + " [0 9 2 ... 8 3 0]]\n", + "Generation 4\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 5\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 6\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 7\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 8\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 9\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 10\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 11\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 12\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 13\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 14\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 15\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 16\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 17\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 18\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 19\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 20\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 21\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 22\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 23\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 24\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 25\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 26\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 27\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 28\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 29\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 30\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 31\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 32\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 33\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 34\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 35\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 36\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 37\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 38\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 39\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 40\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 41\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 42\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 43\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 44\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 45\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 46\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 47\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 48\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 49\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 50\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 51\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 52\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 53\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 54\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 55\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 56\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 57\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 58\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 59\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 60\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 61\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 62\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 63\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 64\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 65\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 66\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 67\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 68\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 69\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 70\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 71\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 72\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 73\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 74\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 75\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 76\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 77\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 78\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 79\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 80\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 81\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 82\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 83\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 84\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 85\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 86\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 87\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 88\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 89\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 90\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 91\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 92\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 93\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 94\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 95\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 96\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 97\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 98\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 99\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n", + "Generation 100\n", + "[[0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " ...\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]\n", + " [0 1 2 ... 8 6 0]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 7. Assessing results \n", + "\n", + "The result solution can be checked and analysed using the ga_instance itself" + ], + "metadata": { + "id": "woJTWlOrYLwl" + }, + "id": "woJTWlOrYLwl" + }, + { + "cell_type": "code", + "source": [ + "solution, solution_fitness, solution_idx = ga_instance.best_solution()" + ], + "metadata": { + "id": "BZxvMCZ-aFtJ" + }, + "id": "BZxvMCZ-aFtJ", + "execution_count": 189, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "solution, solution_fitness, solution_idx = ga_instance.best_solution()\n", + "print(f'Generation of best solution: {ga_instance.best_solution_generation}')\n", + "print(\"Fitness value of the best solution = {solution_fitness}\".format(solution_fitness=solution_fitness))\n", + "print(\"Index of the best solution : {solution_idx}\".format(solution_idx=solution_idx))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IOTGnna-QXsB", + "outputId": "30d494d6-e88e-4061-a453-9a44a9409176" + }, + "id": "IOTGnna-QXsB", + "execution_count": 190, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation of best solution: 1\n", + "Fitness value of the best solution = 0.010681933534441102\n", + "Index of the best solution : 0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "if ga_instance.best_solution_generation != -1:\n", + " print(\"Best fitness value reached after {best_solution_generation} generations.\".format(best_solution_generation=ga_instance.best_solution_generation))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WsjTUVloQhez", + "outputId": "fdd41ccb-9ead-49d7-d180-ccc1dd2d13f9" + }, + "id": "WsjTUVloQhez", + "execution_count": 191, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Best fitness value reached after 1 generations.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 7.1 Verifying a solution\n", + "\n", + "For a solution to be valid it needs to have:\n", + " - A maximum gene value that matches the total number of stores \n", + " - A minimum gene value of 0 \n", + " - Each gene must be unique" + ], + "metadata": { + "id": "FiLlGlILYWhw" + }, + "id": "FiLlGlILYWhw" + }, + { + "cell_type": "code", + "source": [ + "def verify_solution(solution, max_gene):\n", + " if min(solution) != 0:\n", + " print('Failed values below 0')\n", + "\n", + " if max(solution) != max_gene:\n", + " print('Failed values less than or above max possible value')\n", + "\n", + " if len(set(solution)) - len(solution) != -1:\n", + " print(len(set(solution)) - len(solution))\n", + " print('Failed solution does not contain unique values')" + ], + "metadata": { + "id": "vEhveNG4VQBF" + }, + "id": "vEhveNG4VQBF", + "execution_count": 192, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "verify_solution(solution, 9)" + ], + "metadata": { + "id": "IQg1sULKYRZe" + }, + "id": "IQg1sULKYRZe", + "execution_count": 193, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "solution" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "VqjdGMGnYqz-", + "outputId": "152c6b82-4787-4776-b9e9-bc3ceb1ccec1" + }, + "id": "VqjdGMGnYqz-", + "execution_count": 194, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 7, 9, 8, 6, 0])" + ] + }, + "metadata": {}, + "execution_count": 194 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 7.2 Interpreting the result \n", + "\n", + "The result sequence can be used to access latitude and longitude for each store in the solution." + ], + "metadata": { + "id": "5ixLDfvtY3cI" + }, + "id": "5ixLDfvtY3cI" + }, + { + "cell_type": "code", + "source": [ + "points = [genes.get(stores[id]) + [stores[id]] for id in solution]\n", + "points[:5]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tv-AjzcoQwGc", + "outputId": "a5187ac8-ea84-4dc9-992c-60cfa4dcab8a" + }, + "id": "tv-AjzcoQwGc", + "execution_count": 195, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[[51.483556, -1.557143, '9155-152277'],\n", + " [51.482387, -1.555109, '22194-218828'],\n", + " [51.481264, -1.556526, '18362-190424'],\n", + " [51.481177, -1.557422, '9136-152279'],\n", + " [51.562617, -1.798111, '47832-260044']]" + ] + }, + "metadata": {}, + "execution_count": 195 + } + ] + }, + { + "cell_type": "code", + "source": [ + "import folium \n", + "\n", + "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")\n", + "\n", + "for point in range(0, len(points)):\n", + " folium.Marker(\n", + " [points[point][0], points[point][1]], popup=f'{points[point][2]}'\n", + " ).add_to(map)\n", + "\n", + " try:\n", + " folium.PolyLine([(points[point][0], points[point][1]), \n", + " (points[point+1][0], points[point+1][1])],\n", + " color='red',\n", + " weight=5,\n", + " opacity=0.8).add_to(map)\n", + "\n", + " except IndexError:\n", + " pass\n", + " " + ], + "metadata": { + "id": "Tq0hTc5cstWX" + }, + "id": "Tq0hTc5cstWX", + "execution_count": 196, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 0 + }, + "id": "ebkOuHleuGU1", + "outputId": "801c457d-49d9-452d-9c4b-872aef5816d4" + }, + "id": "ebkOuHleuGU1", + "execution_count": 197, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ] + }, + "metadata": {}, + "execution_count": 197 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "The map shows the shortest path that has been found. So that the travelling coffee drinker can maximise the time on coffee and minimise the time on travelling.\n", + "\n", + "Now the algorithm can be scaled up for the whole of the UK, or tailored to just one town. An example of the solution scaled to the UK is given below." + ], + "metadata": { + "id": "5Sz8ykeEYDS3" + }, + "id": "5Sz8ykeEYDS3" + }, + { + "cell_type": "markdown", + "source": [ + "## 8. Scaling up the solution\n", + "\n", + "This is where the fun begins!" + ], + "metadata": { + "id": "gscT4SjxZ9h4" + }, + "id": "gscT4SjxZ9h4" + }, + { + "cell_type": "code", + "source": [ + "df = df[df['city'] == 'London']\n", + "genes = {store_num:[lat, lon] for store_num, lat, lon in zip(df['storeNumber'], df['latitude'], df['longitude'])}\n", + "stores = list(genes.keys())\n", + "len(stores)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yYY3-gP1aFkH", + "outputId": "907e2a7c-3292-4409-e83e-4db372f09a45" + }, + "id": "yYY3-gP1aFkH", + "execution_count": 157, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "165" + ] + }, + "metadata": {}, + "execution_count": 157 + } + ] + }, + { + "cell_type": "code", + "source": [ + "population = build_population(200, 165)\n", + "len(population[0])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oykOz7l4KhJE", + "outputId": "fe7fdabc-a909-40c4-e69a-daba8169b07c" + }, + "id": "oykOz7l4KhJE", + "execution_count": 155, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "166" + ] + }, + "metadata": {}, + "execution_count": 155 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### 8.1 Building the final algorithm\n", + "\n", + "The code to build the algorithm has to be re-run with the above data structures altered." + ], + "metadata": { + "id": "ioy8EGjEbnBJ" + }, + "id": "ioy8EGjEbnBJ" + }, + { + "cell_type": "code", + "source": [ + "def fitness_func(solution, solution_idx):\n", + " # loop through the length of the chromosome finding the distance between each\n", + " # gene added \n", + "\n", + " # to increment\n", + " total_dist = 0\n", + "\n", + " for gene in range(0, len(solution)):\n", + "\n", + " # get the lon lat of the two points\n", + " a = genes.get(stores[solution[gene]])\n", + " \n", + " try:\n", + " b = genes.get(stores[solution[gene + 1]])\n", + "\n", + " # find the distance (crow flies)\n", + " dist = geodesic(a, b).kilometers\n", + "\n", + " except IndexError:\n", + " dist = 0\n", + "\n", + " total_dist += dist\n", + "\n", + " # to optimise this value in the positive direction the inverse of dist is used\n", + " fitness = 1 / total_dist\n", + "\n", + " return fitness " + ], + "metadata": { + "id": "uBfcikkma5hP" + }, + "id": "uBfcikkma5hP", + "execution_count": 108, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def pmx_crossover(parent1, parent2, sequence_start, sequence_end):\n", + " # initialise a child\n", + " child = np.zeros(parent1.shape[0])\n", + "\n", + " # get the genes for parent one that are passed on to child one\n", + " parent1_to_child1_genes = parent1[sequence_start:sequence_end]\n", + "\n", + " # get the position of genes for each respective combination\n", + " parent1_to_child1 = np.isin(parent1,parent1_to_child1_genes).nonzero()[0]\n", + "\n", + " for gene in parent1_to_child1:\n", + " child[gene] = parent1[gene]\n", + "\n", + " # gene of parent 2 not in the child\n", + " genes_not_in_child = parent2[np.isin(parent2, parent1_to_child1_genes, invert=True).nonzero()[0]]\n", + " \n", + " if genes_not_in_child.shape[0] >= 1:\n", + " for gene in genes_not_in_child:\n", + " if gene >= 1:\n", + " lookup = gene\n", + " not_in_sequence = True\n", + "\n", + " while not_in_sequence:\n", + " position_in_parent2 = np.where(parent2==lookup)[0][0]\n", + "\n", + " if position_in_parent2 in range(sequence_start, sequence_end):\n", + " lookup = parent1[position_in_parent2]\n", + "\n", + " else:\n", + " child[position_in_parent2] = gene\n", + " not_in_sequence = False\n", + "\n", + " return child" + ], + "metadata": { + "id": "FuOkiStta7Pz" + }, + "id": "FuOkiStta7Pz", + "execution_count": 109, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def crossover_func(parents, offspring_size, ga_instance):\n", + " offspring = []\n", + " idx = 0\n", + " while len(offspring) != offspring_size[0]:\n", + "\n", + " # locate the parents\n", + " parent1 = parents[idx % parents.shape[0], :].copy()\n", + " parent2 = parents[(idx + 1) % parents.shape[0], :].copy()\n", + "\n", + " # find gene sequence in parent 1 \n", + " sequence_start = random.randint(1, parent1.shape[0]-4)\n", + " sequence_end = random.randint(sequence_start, parent1.shape[0]-1)\n", + "\n", + " # perform crossover\n", + " child1 = pmx_crossover(parent1, parent2, sequence_start, sequence_end)\n", + " child2 = pmx_crossover(parent2, parent1, sequence_start, sequence_end)\n", + " \n", + "\n", + " offspring.append(child1)\n", + " offspring.append(child2)\n", + "\n", + " idx += 1\n", + "\n", + " return np.array(offspring)" + ], + "metadata": { + "id": "O10ZgScUa_bj" + }, + "id": "O10ZgScUa_bj", + "execution_count": 130, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def mutation_func(offspring, ga_instance):\n", + "\n", + " for chromosome_idx in range(offspring.shape[0]):\n", + " # define a sequence of genes to reverse\n", + " sequence_start = random.randint(1, offspring[chromosome_idx].shape[0] - 2)\n", + " sequence_end = random.randint(sequence_start, offspring[chromosome_idx].shape[0] - 1)\n", + " \n", + " genes = offspring[chromosome_idx, sequence_start:sequence_end]\n", + "\n", + " # start at the start of the sequence assigning the reverse sequence back to the chromosome\n", + " index = 0\n", + " if len(genes) > 0:\n", + " for gene in range(sequence_start, sequence_end):\n", + "\n", + " offspring[chromosome_idx, gene] = genes[index]\n", + "\n", + " index += 1\n", + "\n", + " return offspring" + ], + "metadata": { + "id": "mLLY7Ub4K_Y5" + }, + "id": "mLLY7Ub4K_Y5", + "execution_count": 144, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def on_crossover(ga_instance, offspring_crossover):\n", + " # apply mutation to ensure uniqueness \n", + " offspring_mutation = mutation_func(offspring_crossover, ga_instance)\n", + "\n", + " # save the new offspring set as the parents of the next generation\n", + " ga_instance.last_generation_offspring_mutation = offspring_mutation" + ], + "metadata": { + "id": "QLtP6in4LFSw" + }, + "id": "QLtP6in4LFSw", + "execution_count": 126, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def on_generation(ga):\n", + " print(\"Generation\", ga.generations_completed)\n", + " print(ga.population)" + ], + "metadata": { + "id": "SnR2LaDJLGRj" + }, + "id": "SnR2LaDJLGRj", + "execution_count": 127, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ga_instance = pygad.GA(num_generations=100,\n", + " num_parents_mating=40,\n", + " fitness_func=fitness_func,\n", + " sol_per_pop=200,\n", + " initial_population=population,\n", + " gene_space=range(0, 165),\n", + " gene_type=int,\n", + " mutation_type=mutation_func,\n", + " on_generation=on_generation,\n", + " crossover_type=crossover_func, \n", + " keep_parents=6,\n", + " mutation_probability=0.4)" + ], + "metadata": { + "id": "j2J5jlh9bDxR" + }, + "id": "j2J5jlh9bDxR", + "execution_count": 145, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ga_instance.run()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "lhW7JkMAbS6E", + "outputId": "c6130b2a-1e6b-4b7d-c2d6-f891b178fef9" + }, + "id": "lhW7JkMAbS6E", + "execution_count": 146, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation 1\n", + "[[ 0 1 111 ... 127 108 0]\n", + " [ 0 62 141 ... 26 161 0]\n", + " [ 0 137 155 ... 158 3 0]\n", + " ...\n", + " [ 0 142 162 ... 2 159 0]\n", + " [ 0 161 159 ... 112 66 0]\n", + " [ 0 152 108 ... 72 58 0]]\n", + "Generation 2\n", + "[[ 0 1 111 ... 127 108 0]\n", + " [ 0 1 111 ... 127 108 0]\n", + " [ 0 62 141 ... 26 161 0]\n", + " ...\n", + " [ 0 137 155 ... 135 76 0]\n", + " [ 0 137 155 ... 158 3 0]\n", + " [ 0 96 40 ... 135 5 0]]\n", + "Generation 3\n", + "[[ 0 1 145 ... 26 94 0]\n", + " [ 0 1 111 ... 127 108 0]\n", + " [ 0 1 111 ... 127 108 0]\n", + " ...\n", + " [ 0 89 155 ... 158 32 0]\n", + " [ 0 1 110 ... 127 94 0]\n", + " [ 0 96 40 ... 64 90 0]]\n", + "Generation 4\n", + "[[ 0 1 56 ... 26 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 110 ... 127 94 0]\n", + " ...\n", + " [ 0 1 111 ... 127 108 0]\n", + " [ 0 1 145 ... 26 22 0]\n", + " [ 0 1 77 ... 127 142 0]]\n", + "Generation 5\n", + "[[ 0 1 111 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 56 ... 127 81 0]\n", + " ...\n", + " [ 0 1 60 ... 127 118 0]\n", + " [ 0 1 154 ... 127 7 0]\n", + " [ 0 1 164 ... 127 94 0]]\n", + "Generation 6\n", + "[[ 0 1 56 ... 26 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 93 ... 127 108 0]\n", + " [ 0 1 30 ... 127 108 0]\n", + " [ 0 1 111 ... 127 108 0]]\n", + "Generation 7\n", + "[[ 0 1 56 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 56 ... 26 81 0]\n", + " [ 0 1 56 ... 127 81 0]]\n", + "Generation 8\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 26 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 56 ... 127 94 0]]\n", + "Generation 9\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 33 ... 26 94 0]\n", + " [ 0 1 110 ... 127 108 0]]\n", + "Generation 10\n", + "[[ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 26 108 0]]\n", + "Generation 11\n", + "[[ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 81 0]]\n", + "Generation 12\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 81 0]]\n", + "Generation 13\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 81 0]]\n", + "Generation 14\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " ...\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 15\n", + "[[ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 16\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 81 0]\n", + " ...\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 94 0]]\n", + "Generation 17\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 81 0]\n", + " [ 0 1 164 ... 127 108 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 18\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 108 0]]\n", + "Generation 19\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 20\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 21\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 22\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 23\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 24\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 25\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 26\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 27\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 28\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 29\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 30\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 31\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 32\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 33\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 34\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 35\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 36\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 37\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 38\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 39\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 40\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 41\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 42\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 43\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 44\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 45\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 46\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 47\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 48\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 49\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 50\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 51\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 52\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 53\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 54\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 55\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 56\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 57\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 58\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 59\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 60\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 61\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 62\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 63\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 64\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 65\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 66\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 67\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 68\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 69\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 70\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 71\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 72\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 73\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 74\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 75\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 76\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 77\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 78\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 79\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 80\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 81\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 82\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 83\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 84\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 85\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 86\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 87\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 88\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 89\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 90\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 91\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 92\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 93\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 94\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 95\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 96\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 97\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 98\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 99\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n", + "Generation 100\n", + "[[ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " ...\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]\n", + " [ 0 1 164 ... 127 119 0]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 8.2 Evaluating the final algorithm \n", + "\n", + "The overall solution can now be assessed." + ], + "metadata": { + "id": "KJY5PcFabWdL" + }, + "id": "KJY5PcFabWdL" + }, + { + "cell_type": "code", + "source": [ + "solution, solution_fitness, solution_idx = ga_instance.best_solution()\n", + "print(f'Generation of best solution: {ga_instance.best_solution_generation}')\n", + "print(\"Fitness value of the best solution = {solution_fitness}\".format(solution_fitness=solution_fitness))\n", + "print(\"Index of the best solution : {solution_idx}\".format(solution_idx=solution_idx))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yxGGtFfE3j_1", + "outputId": "d5b68eaa-167f-47c8-aadd-10ecb3eb080c" + }, + "id": "yxGGtFfE3j_1", + "execution_count": 147, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generation of best solution: 25\n", + "Fitness value of the best solution = 0.0010087414431375688\n", + "Index of the best solution : 0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "verify_solution(solution, len(stores))\n", + "solution" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "NKvGE63abjmU", + "outputId": "75249196-afeb-4ee6-9b96-9674ea8493c9" + }, + "id": "NKvGE63abjmU", + "execution_count": 148, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Failed values less than or above max possible value\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 0, 1, 164, 19, 77, 23, 10, 9, 154, 158, 157, 26, 22,\n", + " 92, 42, 137, 75, 143, 149, 12, 100, 85, 86, 124, 128, 135,\n", + " 147, 54, 24, 3, 58, 123, 153, 51, 29, 69, 20, 110, 59,\n", + " 95, 113, 115, 121, 91, 36, 64, 65, 32, 53, 35, 105, 52,\n", + " 21, 34, 133, 109, 47, 71, 98, 106, 131, 89, 108, 56, 152,\n", + " 150, 7, 38, 43, 94, 8, 132, 155, 4, 16, 84, 90, 27,\n", + " 2, 144, 151, 39, 45, 159, 125, 79, 156, 40, 6, 74, 139,\n", + " 141, 145, 76, 104, 50, 37, 129, 130, 72, 142, 97, 25, 93,\n", + " 134, 126, 138, 140, 148, 120, 96, 28, 160, 116, 18, 112, 31,\n", + " 41, 55, 63, 73, 122, 162, 161, 163, 66, 107, 17, 87, 103,\n", + " 80, 81, 88, 83, 82, 14, 33, 11, 46, 61, 60, 136, 146,\n", + " 15, 70, 44, 48, 67, 78, 111, 13, 62, 30, 118, 114, 99,\n", + " 102, 5, 68, 49, 57, 101, 117, 127, 119, 0])" + ] + }, + "metadata": {}, + "execution_count": 148 + } + ] + }, + { + "cell_type": "code", + "source": [ + "points = [genes.get(stores[id]) + [stores[id]] for id in solution]\n", + "points[:5]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "G8bOm7PGcPx_", + "outputId": "f78d25f6-3679-489b-c533-2971ac389941" + }, + "id": "G8bOm7PGcPx_", + "execution_count": 150, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[[51.877854, -0.376379, '12851-253386'],\n", + " [51.877854, -0.376289, '7187-253385'],\n", + " [51.655847, -0.277039, '47771-259784'],\n", + " [51.51402, -0.13925, '12021-10341'],\n", + " [51.54541, -0.16269, '12158-22023']]" + ] + }, + "metadata": {}, + "execution_count": 150 + } + ] + }, + { + "cell_type": "code", + "source": [ + "map = folium.Map(location=[51.509685, -0.118092], zoom_start=6, tiles=\"stamentoner\")\n", + "\n", + "for point in range(0, len(points)):\n", + " folium.Marker(\n", + " [points[point][0], points[point][1]], popup=f'{points[point][2]}'\n", + " ).add_to(map)\n", + "\n", + " try:\n", + " folium.PolyLine([(points[point][0], points[point][1]), \n", + " (points[point+1][0], points[point+1][1])],\n", + " color='red',\n", + " weight=5,\n", + " opacity=0.8).add_to(map)\n", + "\n", + " except IndexError:\n", + " pass" + ], + "metadata": { + "id": "_KtJJkkvcY-E" + }, + "id": "_KtJJkkvcY-E", + "execution_count": 151, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "map" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 531 + }, + "id": "PMH_yECHcaH8", + "outputId": "708aca8b-c6c9-4008-cc54-e14bb37b180f" + }, + "id": "PMH_yECHcaH8", + "execution_count": 152, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ] + }, + "metadata": {}, + "execution_count": 152 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## 10. Total result \n", + "\n", + "The total resulting distance around London after optimising the solution is:" + ], + "metadata": { + "id": "4ek_Es2DcbXU" + }, + "id": "4ek_Es2DcbXU" + }, + { + "cell_type": "code", + "source": [ + "def distance(solution):\n", + " # loop through the length of the chromosome finding the distance between each\n", + " # gene added \n", + "\n", + " # to increment\n", + " total_dist = 0\n", + "\n", + " for gene in range(0, len(solution)):\n", + "\n", + " # get the lon lat of the two points\n", + " a = genes.get(stores[solution[gene]])\n", + " \n", + " try:\n", + " b = genes.get(stores[solution[gene + 1]])\n", + "\n", + " # find the distance (crow flies)\n", + " dist = geodesic(a, b).kilometers\n", + "\n", + " except IndexError:\n", + " dist = 0\n", + "\n", + " \n", + " total_dist += dist\n", + "\n", + " # to optimise this value in the positive direction the inverse of dist is used\n", + "\n", + " return total_dist " + ], + "metadata": { + "id": "SiCFxx7WcwxV" + }, + "id": "SiCFxx7WcwxV", + "execution_count": 153, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "distance(solution)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nds6G5tmnJ8K", + "outputId": "fe4ccfc6-a5c0-4e53-c0cd-acfe62bd6052" + }, + "id": "nds6G5tmnJ8K", + "execution_count": 154, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "991.3343075204886" + ] + }, + "metadata": {}, + "execution_count": 154 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Which is not too bad for 975 cups of joe. 🥤" + ], + "metadata": { + "id": "bukLealWcxOz" + }, + "id": "bukLealWcxOz" + } + ], + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [ + "sEtmfvLsvMC2", + "1sg-1A4Ih1L4" + ], + "toc_visible": true + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + }, + "accelerator": "GPU" + }, + "nbformat": 4, + "nbformat_minor": 5 +} From ab66e04c9d44344fb4bbec6b58c0ef0d9ac32fab Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 16:25:07 -0400 Subject: [PATCH 022/220] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f5bab50..7ce2f32 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ author="Ahmed Fawzy Gad", install_requires=["numpy", "matplotlib", "cloudpickle",], author_email="ahmed.f.gad@gmail.com", - description="PyGAD: A Python 3 Library for Building the Genetic Algorithm and Training Machine Learning Algoithms (Keras & PyTorch).", + description="PyGAD: A Python Library for Building the Genetic Algorithm and Training Machine Learning Algoithms (Keras & PyTorch).", long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/ahmedfgad/GeneticAlgorithmPython", From b42bcd0d5edf45507a8e4bab628d7f9f6124be7d Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 18:30:53 -0400 Subject: [PATCH 023/220] Metadata pyproject.toml File Create a metadata TOML pyproject.toml file for the project. --- pyproject.toml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..4849c4a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,35 @@ +[project] +name = "pygad" +version = "3.0.0" +description = "PyGAD: A Python Library for Building the Genetic Algorithm and Training Machine Learning Algoithms (Keras & PyTorch)." +readme = {file = "README.md", content-type = "text/markdown"} +requires-python = ">=3" +license = {file = "LICENSE"} +authors = [ + {name = "Ahmed Gad", email = "ahmed.f.gad@gmail.com"}, +] +maintainers = [ +{name = "Ahmed Gad", email = "ahmed.f.gad@gmail.com"} +] +classifiers = [ + "Programming Language :: Python" +] +keywords = ["genetic algorithm", "optimization", "natural evolution", "pygad", "machine learning", "deep learning", "neural networks", "tensorflow", "keras", "pytorch"] +dependencies = [ + "numpy", + "matplotlib", + "cloudpickle", +] + +[project.urls] +homepage = "https://github.com/ahmedfgad/GeneticAlgorithmPython" +documentation = "https://pygad.readthedocs.io" +github_repository = "https://github.com/ahmedfgad/GeneticAlgorithmPython" +pypi_project = "https://pypi.org/project/pygad" +conda_forge_project = "https://anaconda.org/conda-forge/pygad" +donation_stripe = "https://donate.stripe.com/eVa5kO866elKgM0144" +donation_open_collective = "https://opencollective.com/pygad" +donation_paypal = "http://paypal.me/ahmedfgad" + +[project.optional-dependencies] +deep_learning = ["keras", "torch"] From 97f3c1652218cb0aeae962e0e38d1ed81962d1da Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 18:57:59 -0400 Subject: [PATCH 024/220] Add more classifiers --- pyproject.toml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4849c4a..fc1ddb4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,9 +12,23 @@ maintainers = [ {name = "Ahmed Gad", email = "ahmed.f.gad@gmail.com"} ] classifiers = [ - "Programming Language :: Python" + "License :: OSI Approved :: BSD License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Natural Language :: English", + "Operating System :: OS Independent", + "Topic :: Scientific/Engineering", + "Topic :: Scientific/Engineering :: Bio-Informatics", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Topic :: Software Development", + "Topic :: Utilities", + "Intended Audience :: Information Technology", + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Other Audience" ] -keywords = ["genetic algorithm", "optimization", "natural evolution", "pygad", "machine learning", "deep learning", "neural networks", "tensorflow", "keras", "pytorch"] +keywords = ["genetic algorithm", "GA", "optimization", "evolutionary algorithm", "natural evolution", "pygad", "machine learning", "deep learning", "neural networks", "tensorflow", "keras", "pytorch"] dependencies = [ "numpy", "matplotlib", From 2b79ddb535f351828146750df3b8d0d73731c310 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 19:05:34 -0400 Subject: [PATCH 025/220] Edit links --- pyproject.toml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index fc1ddb4..31a3fbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,14 +36,14 @@ dependencies = [ ] [project.urls] -homepage = "https://github.com/ahmedfgad/GeneticAlgorithmPython" -documentation = "https://pygad.readthedocs.io" -github_repository = "https://github.com/ahmedfgad/GeneticAlgorithmPython" -pypi_project = "https://pypi.org/project/pygad" -conda_forge_project = "https://anaconda.org/conda-forge/pygad" -donation_stripe = "https://donate.stripe.com/eVa5kO866elKgM0144" -donation_open_collective = "https://opencollective.com/pygad" -donation_paypal = "http://paypal.me/ahmedfgad" +"Homepage" = "https://github.com/ahmedfgad/GeneticAlgorithmPython" +"Documentation" = "https://pygad.readthedocs.io" +"GitHub Repository" = "https://github.com/ahmedfgad/GeneticAlgorithmPython" +"PyPI Project" = "https://pypi.org/project/pygad" +"Conda Forge Project" = "https://anaconda.org/conda-forge/pygad" +"Donation Stripe" = "https://donate.stripe.com/eVa5kO866elKgM0144" +"Donation Open Collective" = "https://opencollective.com/pygad" +"Donation Paypal" = "http://paypal.me/ahmedfgad" [project.optional-dependencies] deep_learning = ["keras", "torch"] From ab972476109cd1d52333907b2ac4a324e583ac65 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sun, 16 Apr 2023 19:07:22 -0400 Subject: [PATCH 026/220] Add [build-system] table --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 31a3fbf..2e20768 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + [project] name = "pygad" version = "3.0.0" From 330e7bdcbdb9e85e4b48c2c7c54511428f1b1f72 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Thu, 20 Apr 2023 09:35:05 -0400 Subject: [PATCH 027/220] PyGAD 3.0.1 Fix an issue with passing user-defined function/method for parent selection. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/179 --- __init__.py | 2 +- pygad.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/__init__.py b/__init__.py index 71f207b..316b67c 100644 --- a/__init__.py +++ b/__init__.py @@ -1,3 +1,3 @@ from .pygad import * # Relative import. -__version__ = "3.0.0" +__version__ = "3.0.1" diff --git a/pygad.py b/pygad.py index 9916a15..b63e613 100644 --- a/pygad.py +++ b/pygad.py @@ -1747,9 +1747,9 @@ def run(self): # Selecting the best parents in the population for mating. if callable(self.parent_selection_type): - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self, - self.last_generation_fitness, - self.num_parents_mating, self) + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + self.num_parents_mating, + self) if not type(self.last_generation_parents) is numpy.ndarray: self.logger.error("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) raise TypeError("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) From 7dac6f05a8f45b83ef8ca8412b333e49610c1380 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Thu, 20 Apr 2023 09:37:48 -0400 Subject: [PATCH 028/220] PyGAD 3.0.1 Documentation --- docs/source/Footer.rst | 11 +++++++++++ docs/source/conf.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/source/Footer.rst b/docs/source/Footer.rst index 6de145e..54814ba 100644 --- a/docs/source/Footer.rst +++ b/docs/source/Footer.rst @@ -1279,6 +1279,17 @@ Release Date 8 April 2023 operators roulette wheel and stochastic universal. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/168 +.. _pygad-301: + +PyGAD 3.0.1 +----------- + +Release Date 20 April 2023 + +1. Fix an issue with passing user-defined function/method for parent + selection. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/179 + PyGAD Projects at GitHub ======================== diff --git a/docs/source/conf.py b/docs/source/conf.py index 0799f5e..eca9313 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -22,7 +22,7 @@ author = 'Ahmed Fawzy Gad' # The full version, including alpha/beta/rc tags -release = '3.0.0' +release = '3.0.1' master_doc = 'index' From a1ab6aaeaff1c1001964e1950a29064072bb32c2 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Thu, 20 Apr 2023 09:48:26 -0400 Subject: [PATCH 029/220] Add tests --- pyproject.toml | 9 ++ tests/example_clustering_2.py | 122 +++++++++++++++++++++++++++ tests/example_clustering_3.py | 134 ++++++++++++++++++++++++++++++ tests/example_custom_operators.py | 74 +++++++++++++++++ tests/example_logger.py | 45 ++++++++++ tests/lifecycle.py | 48 +++++++++++ tests/test_example.py | 38 +++++++++ 7 files changed, 470 insertions(+) create mode 100644 tests/example_clustering_2.py create mode 100644 tests/example_clustering_3.py create mode 100644 tests/example_custom_operators.py create mode 100644 tests/example_logger.py create mode 100644 tests/lifecycle.py create mode 100644 tests/test_example.py diff --git a/pyproject.toml b/pyproject.toml index 2e20768..cc30824 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,3 +51,12 @@ dependencies = [ [project.optional-dependencies] deep_learning = ["keras", "torch"] + +# PyTest Configuration. Later, PyTest will support the [tool.pytest] table. +[tool.pytest.ini_options] +minversion = "6.0" +addopts = "-ra -q" +testpaths = [ + "tests", + "integration", +] diff --git a/tests/example_clustering_2.py b/tests/example_clustering_2.py new file mode 100644 index 0000000..877e318 --- /dev/null +++ b/tests/example_clustering_2.py @@ -0,0 +1,122 @@ +import numpy +import matplotlib.pyplot +import pygad + +cluster1_num_samples = 10 +cluster1_x1_start = 0 +cluster1_x1_end = 5 +cluster1_x2_start = 2 +cluster1_x2_end = 6 +cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start +cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start + +cluster2_num_samples = 10 +cluster2_x1_start = 10 +cluster2_x1_end = 15 +cluster2_x2_start = 8 +cluster2_x2_end = 12 +cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start +cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start + +c1 = numpy.array([cluster1_x1, cluster1_x2]).T +c2 = numpy.array([cluster2_x1, cluster2_x2]).T + +data = numpy.concatenate((c1, c2), axis=0) + +matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) +matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) +matplotlib.pyplot.title("Optimal Clustering") +matplotlib.pyplot.show() + +def euclidean_distance(X, Y): + """ + Calculate the euclidean distance between X and Y. It accepts: + :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. + :Y should be of size f. In other words, it is a single sample. + + Returns a vector of N elements with the distances between the N samples and the Y. + """ + + return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) + +def cluster_data(solution, solution_idx): + """ + Clusters the data based on the current solution. + """ + + global num_cluster, data + feature_vector_length = data.shape[1] + cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. + all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. + clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. + clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. + + for clust_idx in range(num_clusters): + # Return the current cluster center. + cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) + # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. + cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) + all_clusters_dists.append(numpy.array(cluster_center_dists)) + + cluster_centers = numpy.array(cluster_centers) + all_clusters_dists = numpy.array(all_clusters_dists) + + # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. + # In other words, the array holds the sample's cluster index. + cluster_indices = numpy.argmin(all_clusters_dists, axis=0) + for clust_idx in range(num_clusters): + clusters.append(numpy.where(cluster_indices == clust_idx)[0]) + # Calculate the sum of distances for the cluster. + if len(clusters[clust_idx]) == 0: + # In case the cluster is empty (i.e. has zero samples). + clusters_sum_dist.append(0) + else: + # When the cluster is not empty (i.e. has at least 1 sample). + clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) + # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) + + clusters_sum_dist = numpy.array(clusters_sum_dist) + + return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist + +def fitness_func(ga_instance, solution, solution_idx): + _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) + + # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. + fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) + + return fitness + +num_clusters = 2 +num_genes = num_clusters * data.shape[1] + +ga_instance = pygad.GA(num_generations=100, + sol_per_pop=10, + num_parents_mating=5, + init_range_low=-6, + init_range_high=20, + keep_parents=2, + num_genes=num_genes, + fitness_func=fitness_func, + suppress_warnings=True) + +ga_instance.run() + +best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() +print("Best solution is {bs}".format(bs=best_solution)) +print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) +print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) + +cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) + +for cluster_idx in range(num_clusters): + cluster_x = data[clusters[cluster_idx], 0] + cluster_y = data[clusters[cluster_idx], 1] + matplotlib.pyplot.scatter(cluster_x, cluster_y) + matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) +matplotlib.pyplot.title("Clustering using PyGAD") +matplotlib.pyplot.show() diff --git a/tests/example_clustering_3.py b/tests/example_clustering_3.py new file mode 100644 index 0000000..608d54b --- /dev/null +++ b/tests/example_clustering_3.py @@ -0,0 +1,134 @@ +import numpy +import matplotlib.pyplot +import pygad + +cluster1_num_samples = 20 +cluster1_x1_start = 0 +cluster1_x1_end = 5 +cluster1_x2_start = 2 +cluster1_x2_end = 6 +cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start +cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start + +cluster2_num_samples = 20 +cluster2_x1_start = 4 +cluster2_x1_end = 12 +cluster2_x2_start = 14 +cluster2_x2_end = 18 +cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start +cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start + +cluster3_num_samples = 20 +cluster3_x1_start = 12 +cluster3_x1_end = 18 +cluster3_x2_start = 8 +cluster3_x2_end = 11 +cluster3_x1 = numpy.random.random(size=(cluster3_num_samples)) +cluster3_x1 = cluster3_x1 * (cluster3_x1_end - cluster3_x1_start) + cluster3_x1_start +cluster3_x2 = numpy.random.random(size=(cluster3_num_samples)) +cluster3_x2 = cluster3_x2 * (cluster3_x2_end - cluster3_x2_start) + cluster3_x2_start + +c1 = numpy.array([cluster1_x1, cluster1_x2]).T +c2 = numpy.array([cluster2_x1, cluster2_x2]).T +c3 = numpy.array([cluster3_x1, cluster3_x2]).T + +data = numpy.concatenate((c1, c2, c3), axis=0) + +matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) +matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) +matplotlib.pyplot.scatter(cluster3_x1, cluster3_x2) +matplotlib.pyplot.title("Optimal Clustering") +matplotlib.pyplot.show() + +def euclidean_distance(X, Y): + """ + Calculate the euclidean distance between X and Y. It accepts: + :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. + :Y should be of size f. In other words, it is a single sample. + + Returns a vector of N elements with the distances between the N samples and the Y. + """ + + return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) + +def cluster_data(solution, solution_idx): + """ + Clusters the data based on the current solution. + """ + + global num_clusters, feature_vector_length, data + cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. + all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. + clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. + clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. + + for clust_idx in range(num_clusters): + # Return the current cluster center. + cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) + # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. + cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) + all_clusters_dists.append(numpy.array(cluster_center_dists)) + + cluster_centers = numpy.array(cluster_centers) + all_clusters_dists = numpy.array(all_clusters_dists) + + # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. + # In other words, the array holds the sample's cluster index. + cluster_indices = numpy.argmin(all_clusters_dists, axis=0) + for clust_idx in range(num_clusters): + clusters.append(numpy.where(cluster_indices == clust_idx)[0]) + # Calculate the sum of distances for the cluster. + if len(clusters[clust_idx]) == 0: + # In case the cluster is empty (i.e. has zero samples). + clusters_sum_dist.append(0) + else: + # When the cluster is not empty (i.e. has at least 1 sample). + clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) + # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) + + clusters_sum_dist = numpy.array(clusters_sum_dist) + + return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist + +def fitness_func(ga_instance, solution, solution_idx): + _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) + + # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. + fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) + + return fitness + +num_clusters = 3 +feature_vector_length = data.shape[1] +num_genes = num_clusters * feature_vector_length + +ga_instance = pygad.GA(num_generations=100, + sol_per_pop=10, + init_range_low=0, + init_range_high=20, + num_parents_mating=5, + keep_parents=2, + num_genes=num_genes, + fitness_func=fitness_func, + suppress_warnings=True) + +ga_instance.run() + +best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() +print("Best solution is {bs}".format(bs=best_solution)) +print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) +print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) + +cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) + +for cluster_idx in range(num_clusters): + cluster_x = data[clusters[cluster_idx], 0] + cluster_y = data[clusters[cluster_idx], 1] + matplotlib.pyplot.scatter(cluster_x, cluster_y) + matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) +matplotlib.pyplot.title("Clustering using PyGAD") +matplotlib.pyplot.show() diff --git a/tests/example_custom_operators.py b/tests/example_custom_operators.py new file mode 100644 index 0000000..7261a54 --- /dev/null +++ b/tests/example_custom_operators.py @@ -0,0 +1,74 @@ +import pygad +import numpy + +""" +This script gives an example of using custom user-defined functions for the 3 operators: + 1) Parent selection. + 2) Crossover. + 3) Mutation. +For more information, check the User-Defined Crossover, Mutation, and Parent Selection Operators section in the documentation: + https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#user-defined-crossover-mutation-and-parent-selection-operators +""" + +equation_inputs = [4,-2,3.5] +desired_output = 44 + +def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + + return fitness + +def parent_selection_func(fitness, num_parents, ga_instance): + # Selects the best {num_parents} parents. Works as steady-state selection. + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + + parents = numpy.empty((num_parents, ga_instance.population.shape[1])) + + for parent_num in range(num_parents): + parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + +def crossover_func(parents, offspring_size, ga_instance): + # This is single-point crossover. + offspring = [] + idx = 0 + while len(offspring) != offspring_size[0]: + parent1 = parents[idx % parents.shape[0], :].copy() + parent2 = parents[(idx + 1) % parents.shape[0], :].copy() + + random_split_point = numpy.random.choice(range(offspring_size[0])) + + parent1[random_split_point:] = parent2[random_split_point:] + + offspring.append(parent1) + + idx += 1 + + return numpy.array(offspring) + +def mutation_func(offspring, ga_instance): + # This is random mutation that mutates a single gene. + for chromosome_idx in range(offspring.shape[0]): + # Make some random changes in 1 or more genes. + random_gene_idx = numpy.random.choice(range(offspring.shape[1])) + + offspring[chromosome_idx, random_gene_idx] += numpy.random.random() + + return offspring + +ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + parent_selection_type=parent_selection_func, + crossover_type=crossover_func, + mutation_type=mutation_func) + +ga_instance.run() +ga_instance.plot_fitness() diff --git a/tests/example_logger.py b/tests/example_logger.py new file mode 100644 index 0000000..d38a179 --- /dev/null +++ b/tests/example_logger.py @@ -0,0 +1,45 @@ +import logging +import pygad +import numpy + +level = logging.DEBUG +name = 'logfile.txt' + +logger = logging.getLogger(name) +logger.setLevel(level) + +file_handler = logging.FileHandler(name,'a+','utf-8') +file_handler.setLevel(logging.DEBUG) +file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') +file_handler.setFormatter(file_format) +logger.addHandler(file_handler) + +console_handler = logging.StreamHandler() +console_handler.setLevel(logging.INFO) +console_format = logging.Formatter('%(message)s') +console_handler.setFormatter(console_format) +logger.addHandler(console_handler) + +equation_inputs = [4, -2, 8] +desired_output = 2671.1234 + +def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + +def on_generation(ga_instance): + ga_instance.logger.info("Generation = {generation}".format(generation=ga_instance.generations_completed)) + ga_instance.logger.info("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + +ga_instance = pygad.GA(num_generations=10, + sol_per_pop=40, + num_parents_mating=2, + keep_parents=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + on_generation=on_generation, + logger=logger) +ga_instance.run() + +logger.handlers.clear() diff --git a/tests/lifecycle.py b/tests/lifecycle.py new file mode 100644 index 0000000..8eeae5b --- /dev/null +++ b/tests/lifecycle.py @@ -0,0 +1,48 @@ +import pygad +import numpy + +function_inputs = [4,-2,3.5,5,-11,-4.7] +desired_output = 44 + +def fitness_func(ga_instanse, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + +fitness_function = fitness_func + +def on_start(ga_instance): + print("on_start()") + +def on_fitness(ga_instance, population_fitness): + print("on_fitness()") + +def on_parents(ga_instance, selected_parents): + print("on_parents()") + +def on_crossover(ga_instance, offspring_crossover): + print("on_crossover()") + +def on_mutation(ga_instance, offspring_mutation): + print("on_mutation()") + +def on_generation(ga_instance): + print("on_generation()") + +def on_stop(ga_instance, last_population_fitness): + print("on_stop") + +ga_instance = pygad.GA(num_generations=3, + num_parents_mating=5, + fitness_func=fitness_function, + sol_per_pop=10, + num_genes=len(function_inputs), + on_start=on_start, + on_fitness=on_fitness, + on_parents=on_parents, + on_crossover=on_crossover, + on_mutation=on_mutation, + on_generation=on_generation, + on_stop=on_stop) + +ga_instance.run() diff --git a/tests/test_example.py b/tests/test_example.py new file mode 100644 index 0000000..67c82f2 --- /dev/null +++ b/tests/test_example.py @@ -0,0 +1,38 @@ +import pygad +import numpy as np + +def fitness_func(ga_instance, x, x_idx): + rng_noise = np.random.default_rng(678910) + dummy_fit = rng_noise.random()*100 + x = np.sort(x) + return dummy_fit + + +gene_space = np.arange(1,41,1) + +ga_instance = pygad.GA(num_generations = 20, + num_parents_mating = 40, + sol_per_pop = 50, + num_genes = 6, + init_range_low = gene_space[0], + init_range_high = gene_space[-1], + gene_space = gene_space, + gene_type = int, + keep_elitism = 2, + mutation_probability = 0.025, + fitness_func = fitness_func, + save_solutions = True, + allow_duplicate_genes = True, + suppress_warnings=True, + random_seed=12345) +ga_instance.run() + +trial = ga_instance.solutions +trial = np.sort(trial) + +unique_genes = [] +for i_genes in range(trial.shape[0]): + unique_genes.append(np.unique(trial[i_genes,:])) + +for unique_gene in unique_genes: + assert len(unique_gene) == len(trial[0]) From c96411865f117a2ed9bf12389dd95e9377bf4888 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 25 Apr 2023 16:27:28 -0400 Subject: [PATCH 030/220] PyTest metadata --- pyproject.toml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cc30824..f7afdf5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,9 +54,4 @@ deep_learning = ["keras", "torch"] # PyTest Configuration. Later, PyTest will support the [tool.pytest] table. [tool.pytest.ini_options] -minversion = "6.0" -addopts = "-ra -q" -testpaths = [ - "tests", - "integration", -] +testpaths = ["tests"] \ No newline at end of file From 44cf9fb997c270f2749f1bcaf931d3801186af31 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 25 Apr 2023 16:31:34 -0400 Subject: [PATCH 031/220] Running tests using GitHub Actions --- .github/workflows/main.yml | 27 ++++ tests/example_clustering_2.py | 122 ------------------ tests/example_clustering_3.py | 134 -------------------- tests/example_custom_operators.py | 74 ----------- tests/example_logger.py | 45 ------- tests/lifecycle.py | 48 ------- tests/test_example.py | 38 ------ tests/test_number_fitness_function_calls.py | 85 +++++++++++++ 8 files changed, 112 insertions(+), 461 deletions(-) delete mode 100644 tests/example_clustering_2.py delete mode 100644 tests/example_clustering_3.py delete mode 100644 tests/example_custom_operators.py delete mode 100644 tests/example_logger.py delete mode 100644 tests/lifecycle.py delete mode 100644 tests/test_example.py create mode 100644 tests/test_number_fitness_function_calls.py diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b13789..099980d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1 +1,28 @@ +name: Testing PyGAD using PyTest +on: + push: + branches: + - main + - master + +jobs: + job_id_1: + runs-on: ubuntu-latest + name: PyTest Workflow Job + + steps: + - name: Checkout Pre-Built Action + uses: actions/checkout@v3 + + - name: Setup Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Install PyTest + run: pip install pytest + + - name: Call PyTest + run: | + pytest diff --git a/tests/example_clustering_2.py b/tests/example_clustering_2.py deleted file mode 100644 index 877e318..0000000 --- a/tests/example_clustering_2.py +++ /dev/null @@ -1,122 +0,0 @@ -import numpy -import matplotlib.pyplot -import pygad - -cluster1_num_samples = 10 -cluster1_x1_start = 0 -cluster1_x1_end = 5 -cluster1_x2_start = 2 -cluster1_x2_end = 6 -cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start -cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start - -cluster2_num_samples = 10 -cluster2_x1_start = 10 -cluster2_x1_end = 15 -cluster2_x2_start = 8 -cluster2_x2_end = 12 -cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start -cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start - -c1 = numpy.array([cluster1_x1, cluster1_x2]).T -c2 = numpy.array([cluster2_x1, cluster2_x2]).T - -data = numpy.concatenate((c1, c2), axis=0) - -matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) -matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) -matplotlib.pyplot.title("Optimal Clustering") -matplotlib.pyplot.show() - -def euclidean_distance(X, Y): - """ - Calculate the euclidean distance between X and Y. It accepts: - :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. - :Y should be of size f. In other words, it is a single sample. - - Returns a vector of N elements with the distances between the N samples and the Y. - """ - - return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) - -def cluster_data(solution, solution_idx): - """ - Clusters the data based on the current solution. - """ - - global num_cluster, data - feature_vector_length = data.shape[1] - cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. - all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. - clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. - clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. - - for clust_idx in range(num_clusters): - # Return the current cluster center. - cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) - # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. - cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) - all_clusters_dists.append(numpy.array(cluster_center_dists)) - - cluster_centers = numpy.array(cluster_centers) - all_clusters_dists = numpy.array(all_clusters_dists) - - # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. - # In other words, the array holds the sample's cluster index. - cluster_indices = numpy.argmin(all_clusters_dists, axis=0) - for clust_idx in range(num_clusters): - clusters.append(numpy.where(cluster_indices == clust_idx)[0]) - # Calculate the sum of distances for the cluster. - if len(clusters[clust_idx]) == 0: - # In case the cluster is empty (i.e. has zero samples). - clusters_sum_dist.append(0) - else: - # When the cluster is not empty (i.e. has at least 1 sample). - clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) - # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) - - clusters_sum_dist = numpy.array(clusters_sum_dist) - - return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist - -def fitness_func(ga_instance, solution, solution_idx): - _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) - - # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. - fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) - - return fitness - -num_clusters = 2 -num_genes = num_clusters * data.shape[1] - -ga_instance = pygad.GA(num_generations=100, - sol_per_pop=10, - num_parents_mating=5, - init_range_low=-6, - init_range_high=20, - keep_parents=2, - num_genes=num_genes, - fitness_func=fitness_func, - suppress_warnings=True) - -ga_instance.run() - -best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() -print("Best solution is {bs}".format(bs=best_solution)) -print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) -print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) - -cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) - -for cluster_idx in range(num_clusters): - cluster_x = data[clusters[cluster_idx], 0] - cluster_y = data[clusters[cluster_idx], 1] - matplotlib.pyplot.scatter(cluster_x, cluster_y) - matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) -matplotlib.pyplot.title("Clustering using PyGAD") -matplotlib.pyplot.show() diff --git a/tests/example_clustering_3.py b/tests/example_clustering_3.py deleted file mode 100644 index 608d54b..0000000 --- a/tests/example_clustering_3.py +++ /dev/null @@ -1,134 +0,0 @@ -import numpy -import matplotlib.pyplot -import pygad - -cluster1_num_samples = 20 -cluster1_x1_start = 0 -cluster1_x1_end = 5 -cluster1_x2_start = 2 -cluster1_x2_end = 6 -cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start -cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start - -cluster2_num_samples = 20 -cluster2_x1_start = 4 -cluster2_x1_end = 12 -cluster2_x2_start = 14 -cluster2_x2_end = 18 -cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start -cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start - -cluster3_num_samples = 20 -cluster3_x1_start = 12 -cluster3_x1_end = 18 -cluster3_x2_start = 8 -cluster3_x2_end = 11 -cluster3_x1 = numpy.random.random(size=(cluster3_num_samples)) -cluster3_x1 = cluster3_x1 * (cluster3_x1_end - cluster3_x1_start) + cluster3_x1_start -cluster3_x2 = numpy.random.random(size=(cluster3_num_samples)) -cluster3_x2 = cluster3_x2 * (cluster3_x2_end - cluster3_x2_start) + cluster3_x2_start - -c1 = numpy.array([cluster1_x1, cluster1_x2]).T -c2 = numpy.array([cluster2_x1, cluster2_x2]).T -c3 = numpy.array([cluster3_x1, cluster3_x2]).T - -data = numpy.concatenate((c1, c2, c3), axis=0) - -matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) -matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) -matplotlib.pyplot.scatter(cluster3_x1, cluster3_x2) -matplotlib.pyplot.title("Optimal Clustering") -matplotlib.pyplot.show() - -def euclidean_distance(X, Y): - """ - Calculate the euclidean distance between X and Y. It accepts: - :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. - :Y should be of size f. In other words, it is a single sample. - - Returns a vector of N elements with the distances between the N samples and the Y. - """ - - return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) - -def cluster_data(solution, solution_idx): - """ - Clusters the data based on the current solution. - """ - - global num_clusters, feature_vector_length, data - cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. - all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. - clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. - clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. - - for clust_idx in range(num_clusters): - # Return the current cluster center. - cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) - # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. - cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) - all_clusters_dists.append(numpy.array(cluster_center_dists)) - - cluster_centers = numpy.array(cluster_centers) - all_clusters_dists = numpy.array(all_clusters_dists) - - # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. - # In other words, the array holds the sample's cluster index. - cluster_indices = numpy.argmin(all_clusters_dists, axis=0) - for clust_idx in range(num_clusters): - clusters.append(numpy.where(cluster_indices == clust_idx)[0]) - # Calculate the sum of distances for the cluster. - if len(clusters[clust_idx]) == 0: - # In case the cluster is empty (i.e. has zero samples). - clusters_sum_dist.append(0) - else: - # When the cluster is not empty (i.e. has at least 1 sample). - clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) - # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) - - clusters_sum_dist = numpy.array(clusters_sum_dist) - - return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist - -def fitness_func(ga_instance, solution, solution_idx): - _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) - - # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. - fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) - - return fitness - -num_clusters = 3 -feature_vector_length = data.shape[1] -num_genes = num_clusters * feature_vector_length - -ga_instance = pygad.GA(num_generations=100, - sol_per_pop=10, - init_range_low=0, - init_range_high=20, - num_parents_mating=5, - keep_parents=2, - num_genes=num_genes, - fitness_func=fitness_func, - suppress_warnings=True) - -ga_instance.run() - -best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() -print("Best solution is {bs}".format(bs=best_solution)) -print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) -print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) - -cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) - -for cluster_idx in range(num_clusters): - cluster_x = data[clusters[cluster_idx], 0] - cluster_y = data[clusters[cluster_idx], 1] - matplotlib.pyplot.scatter(cluster_x, cluster_y) - matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) -matplotlib.pyplot.title("Clustering using PyGAD") -matplotlib.pyplot.show() diff --git a/tests/example_custom_operators.py b/tests/example_custom_operators.py deleted file mode 100644 index 7261a54..0000000 --- a/tests/example_custom_operators.py +++ /dev/null @@ -1,74 +0,0 @@ -import pygad -import numpy - -""" -This script gives an example of using custom user-defined functions for the 3 operators: - 1) Parent selection. - 2) Crossover. - 3) Mutation. -For more information, check the User-Defined Crossover, Mutation, and Parent Selection Operators section in the documentation: - https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#user-defined-crossover-mutation-and-parent-selection-operators -""" - -equation_inputs = [4,-2,3.5] -desired_output = 44 - -def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - - return fitness - -def parent_selection_func(fitness, num_parents, ga_instance): - # Selects the best {num_parents} parents. Works as steady-state selection. - - fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) - fitness_sorted.reverse() - - parents = numpy.empty((num_parents, ga_instance.population.shape[1])) - - for parent_num in range(num_parents): - parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() - - return parents, numpy.array(fitness_sorted[:num_parents]) - -def crossover_func(parents, offspring_size, ga_instance): - # This is single-point crossover. - offspring = [] - idx = 0 - while len(offspring) != offspring_size[0]: - parent1 = parents[idx % parents.shape[0], :].copy() - parent2 = parents[(idx + 1) % parents.shape[0], :].copy() - - random_split_point = numpy.random.choice(range(offspring_size[0])) - - parent1[random_split_point:] = parent2[random_split_point:] - - offspring.append(parent1) - - idx += 1 - - return numpy.array(offspring) - -def mutation_func(offspring, ga_instance): - # This is random mutation that mutates a single gene. - for chromosome_idx in range(offspring.shape[0]): - # Make some random changes in 1 or more genes. - random_gene_idx = numpy.random.choice(range(offspring.shape[1])) - - offspring[chromosome_idx, random_gene_idx] += numpy.random.random() - - return offspring - -ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - parent_selection_type=parent_selection_func, - crossover_type=crossover_func, - mutation_type=mutation_func) - -ga_instance.run() -ga_instance.plot_fitness() diff --git a/tests/example_logger.py b/tests/example_logger.py deleted file mode 100644 index d38a179..0000000 --- a/tests/example_logger.py +++ /dev/null @@ -1,45 +0,0 @@ -import logging -import pygad -import numpy - -level = logging.DEBUG -name = 'logfile.txt' - -logger = logging.getLogger(name) -logger.setLevel(level) - -file_handler = logging.FileHandler(name,'a+','utf-8') -file_handler.setLevel(logging.DEBUG) -file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') -file_handler.setFormatter(file_format) -logger.addHandler(file_handler) - -console_handler = logging.StreamHandler() -console_handler.setLevel(logging.INFO) -console_format = logging.Formatter('%(message)s') -console_handler.setFormatter(console_format) -logger.addHandler(console_handler) - -equation_inputs = [4, -2, 8] -desired_output = 2671.1234 - -def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - -def on_generation(ga_instance): - ga_instance.logger.info("Generation = {generation}".format(generation=ga_instance.generations_completed)) - ga_instance.logger.info("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) - -ga_instance = pygad.GA(num_generations=10, - sol_per_pop=40, - num_parents_mating=2, - keep_parents=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - on_generation=on_generation, - logger=logger) -ga_instance.run() - -logger.handlers.clear() diff --git a/tests/lifecycle.py b/tests/lifecycle.py deleted file mode 100644 index 8eeae5b..0000000 --- a/tests/lifecycle.py +++ /dev/null @@ -1,48 +0,0 @@ -import pygad -import numpy - -function_inputs = [4,-2,3.5,5,-11,-4.7] -desired_output = 44 - -def fitness_func(ga_instanse, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - -fitness_function = fitness_func - -def on_start(ga_instance): - print("on_start()") - -def on_fitness(ga_instance, population_fitness): - print("on_fitness()") - -def on_parents(ga_instance, selected_parents): - print("on_parents()") - -def on_crossover(ga_instance, offspring_crossover): - print("on_crossover()") - -def on_mutation(ga_instance, offspring_mutation): - print("on_mutation()") - -def on_generation(ga_instance): - print("on_generation()") - -def on_stop(ga_instance, last_population_fitness): - print("on_stop") - -ga_instance = pygad.GA(num_generations=3, - num_parents_mating=5, - fitness_func=fitness_function, - sol_per_pop=10, - num_genes=len(function_inputs), - on_start=on_start, - on_fitness=on_fitness, - on_parents=on_parents, - on_crossover=on_crossover, - on_mutation=on_mutation, - on_generation=on_generation, - on_stop=on_stop) - -ga_instance.run() diff --git a/tests/test_example.py b/tests/test_example.py deleted file mode 100644 index 67c82f2..0000000 --- a/tests/test_example.py +++ /dev/null @@ -1,38 +0,0 @@ -import pygad -import numpy as np - -def fitness_func(ga_instance, x, x_idx): - rng_noise = np.random.default_rng(678910) - dummy_fit = rng_noise.random()*100 - x = np.sort(x) - return dummy_fit - - -gene_space = np.arange(1,41,1) - -ga_instance = pygad.GA(num_generations = 20, - num_parents_mating = 40, - sol_per_pop = 50, - num_genes = 6, - init_range_low = gene_space[0], - init_range_high = gene_space[-1], - gene_space = gene_space, - gene_type = int, - keep_elitism = 2, - mutation_probability = 0.025, - fitness_func = fitness_func, - save_solutions = True, - allow_duplicate_genes = True, - suppress_warnings=True, - random_seed=12345) -ga_instance.run() - -trial = ga_instance.solutions -trial = np.sort(trial) - -unique_genes = [] -for i_genes in range(trial.shape[0]): - unique_genes.append(np.unique(trial[i_genes,:])) - -for unique_gene in unique_genes: - assert len(unique_gene) == len(trial[0]) diff --git a/tests/test_number_fitness_function_calls.py b/tests/test_number_fitness_function_calls.py new file mode 100644 index 0000000..8863632 --- /dev/null +++ b/tests/test_number_fitness_function_calls.py @@ -0,0 +1,85 @@ +import pygad + +actual_num_fitness_calls_default_keep = 0 +actual_num_fitness_calls_no_keep = 0 +actual_num_fitness_calls_keep_elitism = 0 +actual_num_fitness_calls_keep_parents = 0 + +num_generations = 100 +sol_per_pop = 10 +num_parents_mating = 5 + +def number_calls_fitness_function(keep_elitism, + keep_parents): + + actual_num_fitness_calls = 0 + def fitness_func(ga, solution, idx): + nonlocal actual_num_fitness_calls + actual_num_fitness_calls = actual_num_fitness_calls + 1 + return 1 + + ga_optimizer = pygad.GA(num_generations=num_generations, + sol_per_pop=sol_per_pop, + num_genes=6, + num_parents_mating=num_parents_mating, + fitness_func=fitness_func, + keep_elitism=keep_elitism, + keep_parents=keep_parents, + suppress_warnings=True) + + ga_optimizer.run() + if keep_elitism == 0: + if keep_parents == 0: + # 10 (for initial population) + 100*10 (for other generations) = 1010 + expected_num_fitness_calls = sol_per_pop + num_generations * sol_per_pop + elif keep_parents == -1: + # 10 (for initial population) + 100*num_parents_mating (for other generations) + expected_num_fitness_calls = sol_per_pop + num_generations * (sol_per_pop - num_parents_mating) + else: + # 10 (for initial population) + 100*keep_parents (for other generations) + expected_num_fitness_calls = sol_per_pop + num_generations * (sol_per_pop - keep_parents) + else: + # 10 (for initial population) + 100*keep_elitism (for other generations) + expected_num_fitness_calls = sol_per_pop + num_generations * (sol_per_pop - keep_elitism) + + print("Expected number of fitness function calls is {expected_num_fitness_calls}.".format(expected_num_fitness_calls=expected_num_fitness_calls)) + print("Actual number of fitness function calls is {actual_num_fitness_calls}.".format(actual_num_fitness_calls=actual_num_fitness_calls)) + return actual_num_fitness_calls, expected_num_fitness_calls + +def test_number_calls_fitness_function_default_keep(): + actual, expected = number_calls_fitness_function(keep_elitism=1, + keep_parents=-1) + assert actual == expected + +def test_number_calls_fitness_function_no_keep(): + actual, expected = number_calls_fitness_function(keep_elitism=0, + keep_parents=0) + assert actual == expected + +def test_number_calls_fitness_function_keep_elitism(): + actual, expected = number_calls_fitness_function(keep_elitism=3, + keep_parents=0) + assert actual == expected + +def test_number_calls_fitness_function_keep_parents(): + actual, expected = number_calls_fitness_function(keep_elitism=0, + keep_parents=4) + assert actual == expected + +def test_number_calls_fitness_function_both_keep(): + actual, expected = number_calls_fitness_function(keep_elitism=3, + keep_parents=4) + assert actual == expected + +if __name__ == "__main__": + print() + test_number_calls_fitness_function_default_keep() + print() + test_number_calls_fitness_function_no_keep() + print() + test_number_calls_fitness_function_keep_elitism() + print() + test_number_calls_fitness_function_keep_parents() + print() + test_number_calls_fitness_function_both_keep() + print() From 36b7bc3126123dd15f79180fa50cde38da0a7fa7 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 25 Apr 2023 16:32:52 -0400 Subject: [PATCH 032/220] Running tests on github-actions branch --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 099980d..6a4aae4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,8 +3,8 @@ name: Testing PyGAD using PyTest on: push: branches: - - main - - master + - github-actions + # - master jobs: job_id_1: From b3d55d27c751dd986e39d536efc25126445b70dd Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 25 Apr 2023 16:45:35 -0400 Subject: [PATCH 033/220] Build and install PyGAD in Actions Workflow --- .github/workflows/main.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6a4aae4..7e45fa9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,10 +19,19 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.10' - + + - name: Build PyGAD from the Repository + run: | + python3 -m pip install --upgrade build + python3 -m build + + - name: Install PyGAD after Building the .whl File + run: | + find ./dist/*.whl | xargs pip install + - name: Install PyTest run: pip install pytest - - name: Call PyTest + - name: Run the Tests by Calling PyTest run: | pytest From 6e19c042127adb4098d022660679175f6c7d8c94 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Thu, 27 Apr 2023 19:09:34 -0400 Subject: [PATCH 034/220] Update the version --- pyproject.toml | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f7afdf5..413e391 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pygad" -version = "3.0.0" +version = "3.0.1" description = "PyGAD: A Python Library for Building the Genetic Algorithm and Training Machine Learning Algoithms (Keras & PyTorch)." readme = {file = "README.md", content-type = "text/markdown"} requires-python = ">=3" diff --git a/setup.py b/setup.py index 7ce2f32..4978a72 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="pygad", - version="3.0.0", + version="3.0.1", author="Ahmed Fawzy Gad", install_requires=["numpy", "matplotlib", "cloudpickle",], author_email="ahmed.f.gad@gmail.com", From 262463ee85259cc167cd3935ea331004bf3fcbe1 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Thu, 27 Apr 2023 19:57:27 -0400 Subject: [PATCH 035/220] Test number of callbacks calls --- tests/test_lifecycle.py | 182 ++++++++++++++++++++ tests/test_number_fitness_function_calls.py | 52 +++++- 2 files changed, 226 insertions(+), 8 deletions(-) create mode 100644 tests/test_lifecycle.py diff --git a/tests/test_lifecycle.py b/tests/test_lifecycle.py new file mode 100644 index 0000000..65b38c5 --- /dev/null +++ b/tests/test_lifecycle.py @@ -0,0 +1,182 @@ +import pygad + +num_generations = 100 + +def number_lifecycle_callback_functions_calls(stop_criteria=None, + on_generation_stop=None): + actual_num_callbacks_calls = 0 + + def fitness_func(ga_instanse, solution, solution_idx): + return 1 + + def on_start(ga_instance): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_fitness(ga_instance, population_fitness): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_parents(ga_instance, selected_parents): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_crossover(ga_instance, offspring_crossover): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_mutation(ga_instance, offspring_mutation): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_generation(ga_instance): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + if on_generation_stop: + if ga_instance.generations_completed == on_generation_stop: + return "stop" + + def on_stop(ga_instance, last_population_fitness): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=fitness_func, + sol_per_pop=10, + num_genes=5, + on_start=on_start, + on_fitness=on_fitness, + on_parents=on_parents, + on_crossover=on_crossover, + on_mutation=on_mutation, + on_generation=on_generation, + on_stop=on_stop, + stop_criteria=stop_criteria, + suppress_warnings=True) + + ga_instance.run() + + # The total number is: + # 1 [for on_start()] + + # num_generations [for on_fitness()] + + # num_generations [for on_parents()] + + # num_generations [for on_crossover()] + + # num_generations [for on_mutation()] + + # num_generations [for on_generation()] + + # 1 [for on_stop()] + # = 1 + num_generations * 5 + 1 + + # Use 'generations_completed' instead of 'num_generations' because the evolution may stops in the on_generation() callback. + expected_num_callbacks_calls = 1 + ga_instance.generations_completed * 5 + 1 + + print("Expected number of callbacks calls is {expected_num_callbacks_calls}.".format(expected_num_callbacks_calls=expected_num_callbacks_calls)) + print("Actual number of callbacks calls is {actual_num_callbacks_calls}.".format(actual_num_callbacks_calls=actual_num_callbacks_calls)) + return actual_num_callbacks_calls, expected_num_callbacks_calls + +def number_lifecycle_callback_methods_calls(stop_criteria=None, + on_generation_stop=None): + actual_num_callbacks_calls = 0 + + class Callbacks: + def fitness_func(self, ga_instanse, solution, solution_idx): + return 1 + + def on_start(self, ga_instance): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_fitness(self, ga_instance, population_fitness): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_parents(self, ga_instance, selected_parents): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_crossover(self, ga_instance, offspring_crossover): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_mutation(self, ga_instance, offspring_mutation): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + def on_generation(self, ga_instance): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + if on_generation_stop: + if ga_instance.generations_completed == on_generation_stop: + return "stop" + + def on_stop(self, ga_instance, last_population_fitness): + nonlocal actual_num_callbacks_calls + actual_num_callbacks_calls = actual_num_callbacks_calls + 1 + + Callbacks_obj = Callbacks() + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=Callbacks_obj.fitness_func, + sol_per_pop=10, + num_genes=5, + on_start=Callbacks_obj.on_start, + on_fitness=Callbacks_obj.on_fitness, + on_parents=Callbacks_obj.on_parents, + on_crossover=Callbacks_obj.on_crossover, + on_mutation=Callbacks_obj.on_mutation, + on_generation=Callbacks_obj.on_generation, + on_stop=Callbacks_obj.on_stop, + stop_criteria=stop_criteria, + suppress_warnings=True) + + ga_instance.run() + + # The total number is: + # 1 [for on_start()] + + # num_generations [for on_fitness()] + + # num_generations [for on_parents()] + + # num_generations [for on_crossover()] + + # num_generations [for on_mutation()] + + # num_generations [for on_generation()] + + # 1 [for on_stop()] + # = 1 + num_generations * 5 + 1 + + # Use 'generations_completed' instead of 'num_generations' because the evolution may stops in the on_generation() callback. + expected_num_callbacks_calls = 1 + ga_instance.generations_completed * 5 + 1 + + print("Expected number of callbacks calls is {expected_num_callbacks_calls}.".format(expected_num_callbacks_calls=expected_num_callbacks_calls)) + print("Actual number of callbacks calls is {actual_num_callbacks_calls}.".format(actual_num_callbacks_calls=actual_num_callbacks_calls)) + return actual_num_callbacks_calls, expected_num_callbacks_calls + +def test_number_lifecycle_callback_functions_calls(): + actual, expected = number_lifecycle_callback_functions_calls() + + assert actual == expected + +def test_number_lifecycle_callback_functions_calls_stop_criteria(): + actual, expected = number_lifecycle_callback_functions_calls(on_generation_stop=30) + + assert actual == expected + +def test_number_lifecycle_callback_methods_calls(): + actual, expected = number_lifecycle_callback_methods_calls() + + assert actual == expected + +def test_number_lifecycle_callback_methods_calls_stop_criteria(): + actual, expected = number_lifecycle_callback_methods_calls(on_generation_stop=30) + + assert actual == expected + +if __name__ == "__main__": + print() + test_number_lifecycle_callback_functions_calls() + print() + test_number_lifecycle_callback_functions_calls_stop_criteria() + print() + test_number_lifecycle_callback_methods_calls() + print() + test_number_lifecycle_callback_methods_calls_stop_criteria() + print() diff --git a/tests/test_number_fitness_function_calls.py b/tests/test_number_fitness_function_calls.py index 8863632..c628606 100644 --- a/tests/test_number_fitness_function_calls.py +++ b/tests/test_number_fitness_function_calls.py @@ -9,8 +9,10 @@ sol_per_pop = 10 num_parents_mating = 5 -def number_calls_fitness_function(keep_elitism, - keep_parents): +def number_calls_fitness_function(keep_elitism=1, + keep_parents=-1, + mutation_type="random", + mutation_percent_genes="default"): actual_num_fitness_calls = 0 def fitness_func(ga, solution, idx): @@ -23,6 +25,8 @@ def fitness_func(ga, solution, idx): num_genes=6, num_parents_mating=num_parents_mating, fitness_func=fitness_func, + mutation_type=mutation_type, + mutation_percent_genes=mutation_percent_genes, keep_elitism=keep_elitism, keep_parents=keep_parents, suppress_warnings=True) @@ -32,43 +36,69 @@ def fitness_func(ga, solution, idx): if keep_parents == 0: # 10 (for initial population) + 100*10 (for other generations) = 1010 expected_num_fitness_calls = sol_per_pop + num_generations * sol_per_pop + if mutation_type == "adaptive": + expected_num_fitness_calls += num_generations * sol_per_pop elif keep_parents == -1: # 10 (for initial population) + 100*num_parents_mating (for other generations) expected_num_fitness_calls = sol_per_pop + num_generations * (sol_per_pop - num_parents_mating) + if mutation_type == "adaptive": + expected_num_fitness_calls += num_generations * (sol_per_pop - num_parents_mating) else: # 10 (for initial population) + 100*keep_parents (for other generations) expected_num_fitness_calls = sol_per_pop + num_generations * (sol_per_pop - keep_parents) + if mutation_type == "adaptive": + expected_num_fitness_calls += num_generations * (sol_per_pop - keep_parents) else: # 10 (for initial population) + 100*keep_elitism (for other generations) expected_num_fitness_calls = sol_per_pop + num_generations * (sol_per_pop - keep_elitism) + if mutation_type == "adaptive": + expected_num_fitness_calls += num_generations * (sol_per_pop - keep_elitism) print("Expected number of fitness function calls is {expected_num_fitness_calls}.".format(expected_num_fitness_calls=expected_num_fitness_calls)) print("Actual number of fitness function calls is {actual_num_fitness_calls}.".format(actual_num_fitness_calls=actual_num_fitness_calls)) return actual_num_fitness_calls, expected_num_fitness_calls def test_number_calls_fitness_function_default_keep(): - actual, expected = number_calls_fitness_function(keep_elitism=1, - keep_parents=-1) + actual, expected = number_calls_fitness_function() assert actual == expected def test_number_calls_fitness_function_no_keep(): actual, expected = number_calls_fitness_function(keep_elitism=0, - keep_parents=0) + keep_parents=0) assert actual == expected def test_number_calls_fitness_function_keep_elitism(): actual, expected = number_calls_fitness_function(keep_elitism=3, - keep_parents=0) + keep_parents=0) assert actual == expected def test_number_calls_fitness_function_keep_parents(): actual, expected = number_calls_fitness_function(keep_elitism=0, - keep_parents=4) + keep_parents=4) assert actual == expected def test_number_calls_fitness_function_both_keep(): actual, expected = number_calls_fitness_function(keep_elitism=3, - keep_parents=4) + keep_parents=4) + assert actual == expected + +def test_number_calls_fitness_function_no_keep_adaptive_mutation(): + actual, expected = number_calls_fitness_function(keep_elitism=0, + keep_parents=0, + mutation_type="adaptive", + mutation_percent_genes=[10, 5]) + assert actual == expected + +def test_number_calls_fitness_function_default_adaptive_mutation(): + actual, expected = number_calls_fitness_function(mutation_type="adaptive", + mutation_percent_genes=[10, 5]) + assert actual == expected + +def test_number_calls_fitness_function_both_keep_adaptive_mutation(): + actual, expected = number_calls_fitness_function(keep_elitism=3, + keep_parents=4, + mutation_type="adaptive", + mutation_percent_genes=[10, 5]) assert actual == expected if __name__ == "__main__": @@ -83,3 +113,9 @@ def test_number_calls_fitness_function_both_keep(): print() test_number_calls_fitness_function_both_keep() print() + test_number_calls_fitness_function_no_keep_adaptive_mutation() + print() + test_number_calls_fitness_function_default_adaptive_mutation() + print() + test_number_calls_fitness_function_both_keep_adaptive_mutation() + print() From d7747697badcb8dc3dd578de241a42247683caaa Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Thu, 27 Apr 2023 19:58:11 -0400 Subject: [PATCH 036/220] Change test file name --- tests/{test_lifecycle.py => test_lifecycle_callbacks_calls.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{test_lifecycle.py => test_lifecycle_callbacks_calls.py} (100%) diff --git a/tests/test_lifecycle.py b/tests/test_lifecycle_callbacks_calls.py similarity index 100% rename from tests/test_lifecycle.py rename to tests/test_lifecycle_callbacks_calls.py From 66ec89550edafb1f8f76aa46e09c694814db6df2 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 1 May 2023 19:11:03 -0400 Subject: [PATCH 037/220] Solve duplicates deeply --- examples/example_fitness_wrapper.py | 41 +++ pygad/helper/unique.py | 547 +++++++++++++++++----------- pygad/pygad.py | 67 ++-- pygad/utils/mutation.py | 1 + tests/test_allow_duplicate_genes.py | 150 ++++++++ 5 files changed, 574 insertions(+), 232 deletions(-) create mode 100644 examples/example_fitness_wrapper.py create mode 100644 tests/test_allow_duplicate_genes.py diff --git a/examples/example_fitness_wrapper.py b/examples/example_fitness_wrapper.py new file mode 100644 index 0000000..6a9acf1 --- /dev/null +++ b/examples/example_fitness_wrapper.py @@ -0,0 +1,41 @@ +import pygad +import numpy + +""" +All the callback functions/methods in PyGAD have limits in the number of arguments passed. +For example, the fitness function accepts only 3 arguments: + 1. The pygad.GA instance. + 2. The solution(s). + 3. The index (indices) of the passed solution(s). +If it is necessary to pass extra arguments to the fitness function, for example, then follow these steps: + 1. Create a wrapper function that accepts only the number of arguments meeded by PyGAD. + 2. Define the extra arguments in the body of the wrapper function. + 3. Create an inner fitness function inside the wrapper function with whatever extra arguments needed. + 4. Call the inner fitness function from the wrapper function while passing the extra arguments. + +This is an example that passes a list ([10, 20, 30]) to the inner fitness function. The list has 3 numbers. +A number is randomly selected from the list and added to the calculated fitness. +""" + +function_inputs = [4,-2,3.5,5,-11,-4.7] +desired_output = 44 + +def fitness_func_wrapper(ga_instanse, solution, solution_idx): + def fitness_func(ga_instanse, solution, solution_idx, *args): + output = numpy.sum(solution*function_inputs) + output += numpy.random.choice(args) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + args = [10, 20, 30] + fitness = fitness_func(ga_instanse, solution, solution_idx, *args) + return fitness + +ga_instance = pygad.GA(num_generations=3, + num_parents_mating=5, + fitness_func=fitness_func_wrapper, + sol_per_pop=10, + num_genes=len(function_inputs), + suppress_warnings=True) + +ga_instance.run() +ga_instance.plot_fitness() diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index 4d5e6ac..bd2da60 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -1,13 +1,16 @@ """ The pygad.helper.unique module has helper methods to solve duplicate genes and make sure every gene is unique. """ - + import numpy import warnings import random import pygad class Unique: + # DEEP-DUPLICATE-REMOVAL-NEEDED + NUM_DUPLICATE1 = 0 + NUM_DUPLICATE2 = 0 def solve_duplicate_genes_randomly(self, solution, min_val, @@ -73,7 +76,9 @@ def solve_duplicate_genes_randomly(self, pass else: temp_val = new_solution[duplicate_index] + temp_val - + + # Similar to the round_genes() method in the pygad module, + # Create a round_gene() method to round a single gene. if self.gene_type_single == True: if not gene_type[1] is None: temp_val = numpy.round(gene_type[0](temp_val), @@ -121,13 +126,12 @@ def solve_duplicate_genes_by_space(self, not_unique_indices: Indices of the genes with duplicate values. num_unsolved_duplicates: Number of unsolved duplicates. """ - new_solution = solution.copy() - + _, unique_gene_indices = numpy.unique(solution, return_index=True) not_unique_indices = set(range(len(solution))) - set(unique_gene_indices) # self.logger.info("not_unique_indices OUTSIDE", not_unique_indices) - + # First try to solve the duplicates. # For a solution like [3 2 0 0], the indices of the 2 duplicating genes are 2 and 3. # The next call to the find_unique_value() method tries to change the value of the gene with index 3 to solve the duplicate. @@ -150,13 +154,18 @@ def solve_duplicate_genes_by_space(self, num_trials=10, build_initial_pop=build_initial_pop) else: + # DEEP-DUPLICATE-REMOVAL-NEEDED # If there exist duplicate genes, then changing either of the 2 duplicating genes (with indices 2 and 3) will not solve the problem. # This problem can be solved by randomly changing one of the non-duplicating genes that may make a room for a unique value in one the 2 duplicating genes. # For example, if gene_space=[[3, 0, 1], [4, 1, 2], [0, 2], [3, 2, 0]] and the solution is [3 2 0 0], then the values of the last 2 genes duplicate. # There are no possible changes in the last 2 genes to solve the problem. But it could be solved by changing the second gene from 2 to 4. # As a result, any of the last 2 genes can take the value 2 and solve the duplicates. + # print("DEEP-DUPLICATE-REMOVAL-NEEDED1") + # print("DEEP-DUPLICATE-REMOVAL-NEEDED1\n", new_solution, not_unique_indices, len(not_unique_indices)) + # DEEP-DUPLICATE-REMOVAL-NEEDED + Unique.NUM_DUPLICATE1 += 1 return new_solution, not_unique_indices, len(not_unique_indices) - + return new_solution, not_unique_indices, num_unsolved_duplicates def unique_int_gene_from_range(self, @@ -167,7 +176,7 @@ def unique_int_gene_from_range(self, mutation_by_replacement, gene_type, step=None): - + """ Finds a unique integer value for the gene. @@ -188,7 +197,8 @@ def unique_int_gene_from_range(self, else: # For non-integer steps, the numpy.arange() function returns zeros id the dtype parameter is set to an integer data type. So, this returns zeros if step is non-integer and dtype is set to an int data type: numpy.arange(min_val, max_val, step, dtype=gene_type[0]) # To solve this issue, the data type casting will not be handled inside numpy.arange(). The range is generated by numpy.arange() and then the data type is converted using the numpy.asarray() function. - all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), dtype=gene_type[0]) + all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), + dtype=gene_type[0]) else: if step is None: all_gene_values = numpy.arange(min_val, max_val, dtype=gene_type[gene_index][0]) @@ -199,7 +209,9 @@ def unique_int_gene_from_range(self, pass else: all_gene_values = all_gene_values + solution[gene_index] - + + # Similar to the round_genes() method in the pygad module, + # Create a round_gene() method to round a single gene. if self.gene_type_single == True: if not gene_type[1] is None: all_gene_values = numpy.round(gene_type[0](all_gene_values), @@ -230,7 +242,7 @@ def unique_int_gene_from_range(self, # selected_value = gene_type[gene_index][0](selected_value) return selected_value - + def unique_genes_by_space(self, new_solution, gene_type, @@ -252,7 +264,7 @@ def unique_genes_by_space(self, not_unique_indices: Indices of the genes with duplicate values. num_unsolved_duplicates: Number of unsolved duplicates. """ - + num_unsolved_duplicates = 0 for duplicate_index in not_unique_indices: for trial_index in range(num_trials): @@ -278,7 +290,7 @@ def unique_genes_by_space(self, # self.logger.info("not_unique_indices INSIDE", not_unique_indices) return new_solution, not_unique_indices, num_unsolved_duplicates - + def unique_gene_by_space(self, solution, gene_idx, @@ -295,14 +307,15 @@ def unique_gene_by_space(self, Returns: A unique value, if exists, for the gene. """ - + if self.gene_space_nested: - # Returning the current gene space from the 'gene_space' attribute. if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + # Return the current gene space from the 'gene_space' attribute. curr_gene_space = self.gene_space[gene_idx].copy() else: - curr_gene_space = self.gene_space[gene_idx] - + # Return the entire gene space from the 'gene_space' attribute. + curr_gene_space = list(self.gene_space[gene_idx]).copy() + # If the gene space has only a single value, use it as the new gene value. if type(curr_gene_space) in pygad.GA.supported_int_float_types: value_from_space = curr_gene_space @@ -311,65 +324,61 @@ def unique_gene_by_space(self, if self.gene_type_single == True: if gene_type[0] in pygad.GA.supported_int_types: if build_initial_pop == True: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - # min_val=self.random_mutation_min_val, - # max_val=self.random_mutation_max_val, - min_val=self.init_range_low, - max_val=self.init_range_high, - mutation_by_replacement=True, - gene_type=gene_type) + # If we are building the initial population, then use the range of the initial population. + min_val = self.init_range_low + max_val = self.init_range_high else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, - mutation_by_replacement=True, - gene_type=gene_type) + # If we are NOT building the initial population, then use the range of the random mutation. + min_val = self.random_mutation_min_val + max_val = self.random_mutation_max_val + + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=min_val, + max_val=max_val, + mutation_by_replacement=True, + gene_type=gene_type) else: if build_initial_pop == True: - value_from_space = numpy.random.uniform(# low=self.random_mutation_min_val, - # high=self.random_mutation_max_val, - low=self.init_range_low, - high=self.init_range_high, - size=1) + low = self.init_range_low + high = self.init_range_high else: - value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, - size=1) + low = self.random_mutation_min_val + high = self.random_mutation_max_val + + value_from_space = numpy.random.uniform(low=low, + high=high, + size=1) if self.mutation_by_replacement: pass else: value_from_space = solution[gene_idx] + value_from_space else: - if gene_type[gene_idx] in pygad.GA.supported_int_types: + if gene_type[gene_idx][0] in pygad.GA.supported_int_types: if build_initial_pop == True: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - # min_val=self.random_mutation_min_val, - # max_val=self.random_mutation_max_val, - min_val=self.init_range_low, - max_val=self.init_range_high, - mutation_by_replacement=True, - gene_type=gene_type) + min_val = self.init_range_low + max_val = self.init_range_high else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, - mutation_by_replacement=True, - gene_type=gene_type) + min_val = self.random_mutation_min_val + max_val = self.random_mutation_max_val + + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=min_val, + max_val=max_val, + mutation_by_replacement=True, + gene_type=gene_type) else: if build_initial_pop == True: - value_from_space = numpy.random.uniform(# low=self.random_mutation_min_val, - # high=self.random_mutation_max_val, - low=self.init_range_low, - high=self.init_range_high, - size=1) + low = self.init_range_low + high = self.init_range_high else: - value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, - size=1) + low = self.random_mutation_min_val + high = self.random_mutation_max_val + + value_from_space = numpy.random.uniform(low=low, + high=high, + size=1) if self.mutation_by_replacement: pass else: @@ -378,40 +387,18 @@ def unique_gene_by_space(self, elif type(curr_gene_space) is dict: if self.gene_type_single == True: if gene_type[0] in pygad.GA.supported_int_types: - if build_initial_pop == True: - if 'step' in curr_gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=curr_gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + if 'step' in curr_gene_space.keys(): + step = curr_gene_space['step'] else: - if 'step' in curr_gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=curr_gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + step = None + + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=step, + mutation_by_replacement=True, + gene_type=gene_type) else: if 'step' in curr_gene_space.keys(): value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], @@ -427,41 +414,20 @@ def unique_gene_by_space(self, else: value_from_space = solution[gene_idx] + value_from_space else: - if gene_type[gene_idx] in pygad.GA.supported_int_types: - if build_initial_pop == True: - if 'step' in curr_gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=curr_gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + # Use index 0 to return the type from the list (e.g. [int, None] or [float, 2]). + if gene_type[gene_idx][0] in pygad.GA.supported_int_types: + if 'step' in curr_gene_space.keys(): + step = curr_gene_space['step'] else: - if 'step' in curr_gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=curr_gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=curr_gene_space['low'], - max_val=curr_gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + step = None + + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=curr_gene_space['low'], + max_val=curr_gene_space['high'], + step=step, + mutation_by_replacement=True, + gene_type=gene_type) else: if 'step' in curr_gene_space.keys(): value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], @@ -476,7 +442,7 @@ def unique_gene_by_space(self, pass else: value_from_space = solution[gene_idx] + value_from_space - + else: # Selecting a value randomly based on the current gene's space in the 'gene_space' attribute. # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. @@ -488,8 +454,20 @@ def unique_gene_by_space(self, values_to_select_from = list(set(curr_gene_space) - set(solution)) if len(values_to_select_from) == 0: + # DEEP-DUPLICATE-REMOVAL-NEEDED + # Reaching this block means there is no value in the gene space of this gene to solve the duplicates. + # To solve the duplicate between the 2 genes, the solution is to change the value of a third gene that makes a room to solve the duplicate. + if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but the gene space does not have enough values to prevent duplicates.") + solution2 = self.solve_duplicates_deeply(solution) + if solution2 is None: + # print("DEEP-DUPLICATE-REMOVAL-NEEDED2") + # print("DEEP-DUPLICATE-REMOVAL-NEEDED2", solution, gene_idx, solution[gene_idx]) + Unique.NUM_DUPLICATE2 += 1 + else: + solution = solution2 value_from_space = solution[gene_idx] + else: value_from_space = random.choice(values_to_select_from) else: @@ -497,40 +475,18 @@ def unique_gene_by_space(self, if type(self.gene_space) is dict: if self.gene_type_single == True: if gene_type[0] in pygad.GA.supported_int_types: - if build_initial_pop == True: - if 'step' in self.gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=self.gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + if 'step' in self.gene_space.keys(): + step = self.gene_space['step'] else: - if 'step' in self.gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=self.gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + step = None + + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=step, + mutation_by_replacement=True, + gene_type=gene_type) else: # When the gene_space is assigned a dict object, then it specifies the lower and upper limits of all genes in the space. if 'step' in self.gene_space.keys(): @@ -547,41 +503,19 @@ def unique_gene_by_space(self, else: value_from_space = solution[gene_idx] + value_from_space else: - if gene_type[gene_idx] in pygad.GA.supported_int_types: - if build_initial_pop == True: - if 'step' in self.gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=self.gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + if gene_type[gene_idx][0] in pygad.GA.supported_int_types: + if 'step' in self.gene_space.keys(): + step = self.gene_space['step'] else: - if 'step' in self.gene_space.keys(): - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=self.gene_space['step'], - mutation_by_replacement=True, - gene_type=gene_type) - else: - value_from_space = self.unique_int_gene_from_range(solution=solution, - gene_index=gene_idx, - min_val=self.gene_space['low'], - max_val=self.gene_space['high'], - step=None, - mutation_by_replacement=True, - gene_type=gene_type) + step = None + + value_from_space = self.unique_int_gene_from_range(solution=solution, + gene_index=gene_idx, + min_val=self.gene_space['low'], + max_val=self.gene_space['high'], + step=step, + mutation_by_replacement=True, + gene_type=gene_type) else: # When the gene_space is assigned a dict object, then it specifies the lower and upper limits of all genes in the space. if 'step' in self.gene_space.keys(): @@ -609,19 +543,21 @@ def unique_gene_by_space(self, value_from_space = solution[gene_idx] else: value_from_space = random.choice(values_to_select_from) - + if value_from_space is None: if build_initial_pop == True: - value_from_space = numpy.random.uniform(# low=self.random_mutation_min_val, - # high=self.random_mutation_max_val, - low=self.init_range_low, - high=self.init_range_high, - size=1) + low = self.init_range_low + high = self.init_range_high else: - value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, - size=1) - + low = self.random_mutation_min_val + high = self.random_mutation_max_val + + value_from_space = numpy.random.uniform(low=low, + high=high, + size=1) + + # Similar to the round_genes() method in the pygad module, + # Create a round_gene() method to round a single gene. if self.gene_type_single == True: if not gene_type[1] is None: value_from_space = numpy.round(gene_type[0](value_from_space), @@ -634,5 +570,202 @@ def unique_gene_by_space(self, gene_type[gene_idx][1]) else: value_from_space = gene_type[gene_idx][0](value_from_space) - + return value_from_space + + def find_two_duplicates(self, + solution, + gene_space_unpacked): + """ + Returns the first occurrence of duplicate genes. + It returns: + The index of a gene with a duplicate value. + The value of the gene. + """ + for gene in set(solution): + gene_indices = numpy.where(numpy.array(solution) == gene)[0] + if len(gene_indices) == 1: + continue + # print("Gene value", gene, "Gene indices", gene_indices) + for gene_idx in gene_indices: + # print(" Current Gene Index", gene_idx) + number_alternate_values = len(set(gene_space_unpacked[gene_idx])) + if number_alternate_values > 1: + return gene_idx, gene + # This means there is no way to solve the duplicates between the genes. + # Because the space of the duplicates genes only has a single value and there is no alternatives. + # print("Cannot solve duplicates between the genes with value {gene} at indices {gene_indices}.".format(gene_indices=gene_indices, gene=gene)) + return None, gene + + def unpack_gene_space(self, num_values_from_range=100): + """ + Unpack the gene_space for the purpose of selecting a value that solves the duplicates. + This is by replacing each range by a list of values. + For the infinite range of float values, a number of values equal to num_values_from_range is selected using the numpy.linspace() function. + It returns the unpacked gene space. + """ + + # Copy the gene_space to keep it isolated form the changes. + gene_space_unpacked = self.gene_space.copy() + for space_idx, space in enumerate(gene_space_unpacked): + if type(space) in pygad.GA.supported_int_float_types: + gene_space_unpacked[space_idx] = [space] + elif type(space) is None: + # Randomly generate the value using the mutation range. + gene_space_unpacked[space_idx] = numpy.arange(start=self.random_mutation_min_val, + stop=self.random_mutation_max_val) + elif type(space) is range: + # Convert the range to a list. + gene_space_unpacked[space_idx] = list(range) + elif type(space) is dict: + # Create a list of values using the dict range. + # Use numpy.linspace() + if self.gene_type_single == True: # self.gene_type_single + if self.gene_type[0] in pygad.GA.supported_int_types: + if 'step' in space.keys(): + step = space['step'] + else: + step = 1 + + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], + stop=space['high'], + step=step) + else: + if 'step' in space.keys(): + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], + stop=space['high'], + step=space['step']) + else: + gene_space_unpacked[space_idx] = numpy.linspace(start=space['low'], + stop=space['high'], + num=num_values_from_range, + endpoint=False) + else: + if self.gene_type[space_idx][0] in pygad.GA.supported_int_types: + if 'step' in space.keys(): + step = space['step'] + else: + step = 1 + + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], + stop=space['high'], + step=step) + else: + if 'step' in space.keys(): + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], + stop=space['high'], + step=space['step']) + else: + gene_space_unpacked[space_idx] = numpy.linspace(start=space['low'], + stop=space['high'], + num=num_values_from_range, + endpoint=False) + + elif type(space) in [list, tuple, numpy.ndarray]: + # list/tuple/numpy.ndarray + # Convert all to list + gene_space_unpacked[space_idx] = list(space) + + # Check if there is an item with the value None. If so, replace it with a random value using the mutation range. + none_indices = numpy.where(numpy.array(gene_space_unpacked[space_idx]) == None)[0] + if len(none_indices) > 0: + for idx in none_indices: + random_value = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + gene_space_unpacked[space_idx][idx] = random_value + + if self.gene_type_single == True: # self.gene_type_single + # Change the data type. + gene_space_unpacked[space_idx] = numpy.array(gene_space_unpacked[space_idx], + dtype=self.gene_type[0]) + if not self.gene_type[1] is None: + # Round the values for float (non-int) data types. + gene_space_unpacked[space_idx] = numpy.round(gene_space_unpacked[space_idx], + self.gene_type[1]) + else: + # Change the data type. + gene_space_unpacked[space_idx] = numpy.array(gene_space_unpacked[space_idx], + self.gene_type[space_idx][0]) + if not self.gene_type[space_idx][1] is None: + # Round the values for float (non-int) data types. + gene_space_unpacked[space_idx] = numpy.round(gene_space_unpacked[space_idx], + self.gene_type[space_idx][1]) + + return gene_space_unpacked + + def solve_duplicates_deeply(self, + solution): + """ + Sometimes it is impossible to solve the duplicate genes by simply selecting another value for either genes. + This function solve the duplicates between 2 genes by searching for a third gene that can make assist in the solution. + It returns: + The solution after solving the duplicates or the None if duplicates cannot be solved. + """ + + gene_space_unpacked = self.unpack_gene_space() + self.gene_space_unpacked = gene_space_unpacked.copy() + + duplicate_index, duplicate_value = self.find_two_duplicates(solution, + gene_space_unpacked) + # print() + # print("Duplicate_index, Duplicate_value", duplicate_index, duplicate_value) + + if duplicate_index is None: + # Impossible to solve the duplicates for the genes with value duplicate_value. + return None + + # gene_duplicate_value = solution[duplicate_index] + + + # Without copy(), the gene will be removed from the gene_space. + # Convert the space to list because tuples do not have copy() + gene_other_values = list(gene_space_unpacked[duplicate_index]).copy() + # This removes all the occurrences of this value using the __ne__ magic function. + # gene_other_values = list(filter((duplicate_value).__ne__, gene_other_values)) + gene_other_values = [v for v in gene_other_values if v != duplicate_value] + # The remove() function only removes the first occurrence of the value. + # gene_other_values.remove(duplicate_value) + # if len(gene_other_values) == 0: return None + + # print("Gene_other_values", gene_other_values) + # Two conditions to solve the duplicates of the value D: + # 1. From gene_other_values, select a value V such that it is available in the gene space of another gene X. + # 2. Find an alternate value for the gene X that will not cause any duplicates. + # 2.1 If the gene X does not have alternatives, then go back to step 1 to find another gene. + # 2.2 Set the gene X to the value D. + # 2.3 Set the target gene to the value V. + # search_gene_space = gene_space_unpacked.copy() + # Set the space of the duplicate gene to empty list []. Do not remove it to not alter the indices of the gene spaces. + # search_gene_space[duplicate_index] = [] + gene_space_unpacked[duplicate_index] = [] + # print("search_gene_space", search_gene_space) + + for other_value in gene_other_values: + for space_idx, space in enumerate(gene_space_unpacked): + # print("other_value in space", other_value, space) + if other_value in space: + if other_value in solution and list(solution).index(other_value) != space_idx: + continue + else: + # print(" Current Space", space, space_idx) + # Find an alternate value for the third gene. + # Copy the space so that the original space is not changed after removing the value. + space_other_values = space.copy() + # This removes all the occurrences of this value. It is not enough to use the remove() function because it only removes the first occurrence. + space_other_values = [v for v in space_other_values if v != other_value] + # print("Space_other_values", space_other_values, other_value) + for val in space_other_values: + # print("val", val) + if val in solution: + # If the value exists in another gene of the solution, then we cannot use this value as it will cause another duplicate. + # End the current iteration and go check another value. + continue + else: + solution[space_idx] = val + solution[duplicate_index] = other_value + # print("solution", solution) + return solution + # print("Cannot solve the duplicate genes with value {duplicate_value}.".format(duplicate_value=duplicate_value)) + return None + diff --git a/pygad/pygad.py b/pygad/pygad.py index b63e613..ef12c94 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -191,7 +191,12 @@ def __init__(self, self.gene_space_nested = False if type(gene_space) is type(None): pass - elif type(gene_space) in [list, tuple, range, numpy.ndarray]: + elif type(gene_space) is range: + if len(gene_space) == 0: + self.valid_parameters = False + self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") + raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") + elif type(gene_space) in [list, numpy.ndarray]: if len(gene_space) == 0: self.valid_parameters = False self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") @@ -259,8 +264,8 @@ def __init__(self, else: self.valid_parameters = False - self.logger.error("The expected type of 'gene_space' is list, tuple, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) - raise TypeError("The expected type of 'gene_space' is list, tuple, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) + self.logger.error("The expected type of 'gene_space' is list, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) + raise TypeError("The expected type of 'gene_space' is list, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) self.gene_space = gene_space @@ -302,6 +307,11 @@ def __init__(self, elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): self.gene_type = gene_type self.gene_type_single = True + # A single data type of int with precision. + elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): + self.gene_type_single = False + self.logger.error("Integers cannot have precision. Please use the integer data type directly instead of {gene_type_val}.".format(gene_type_val=gene_type)) + raise ValueError("Integers cannot have precision. Please use the integer data type directly instead of {gene_type_val}.".format(gene_type_val=gene_type)) elif type(gene_type) in [list, tuple, numpy.ndarray]: if num_genes is None: if initial_population is None: @@ -334,8 +344,8 @@ def __init__(self, raise TypeError("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) + self.logger.error("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) + raise TypeError("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) else: self.valid_parameters = False self.logger.error("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) @@ -1315,21 +1325,42 @@ def initialize_population(self, self.population = numpy.zeros(shape=self.pop_size, dtype=self.gene_type[0]) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): - if type(self.gene_space[gene_idx]) in [list, tuple, range]: + if type(self.gene_space[gene_idx]) == type(None): + + # The following commented code replace the None value with a single number that will not change again. + # This means the gene value will be the same across all solutions. + # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, + # high=high, + # size=1), dtype=self.gene_type[0])[0] + # self.population[sol_idx, gene_idx] = list(self.gene_space[gene_idx]).copy() + + # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[0])[0] + elif type(self.gene_space[gene_idx]) in [list, tuple, range]: # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. if type(self.gene_space[gene_idx]) is range: temp = self.gene_space[gene_idx] else: - temp = self.gene_space[gene_idx].copy() + temp = list(self.gene_space[gene_idx]).copy() + for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, high=high, size=1), dtype=self.gene_type[0])[0] - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + # Find the difference between the current gene space and the current values in the solution. + unique_gene_values = list(set(self.gene_space[gene_idx]).difference(set(self.population[sol_idx, :gene_idx]))) + if len(unique_gene_values) > 0: + self.population[sol_idx, gene_idx] = random.choice(unique_gene_values) + else: + # If there is no unique values, then we have to select a duplicate value. + self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) self.population[sol_idx, gene_idx] = self.gene_type[0](self.population[sol_idx, gene_idx]) - self.gene_space[gene_idx] = temp + self.gene_space[gene_idx] = list(temp).copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], @@ -1342,20 +1373,6 @@ def initialize_population(self, high=self.gene_space[gene_idx]['high'], size=1), dtype=self.gene_type[0])[0] - elif type(self.gene_space[gene_idx]) == type(None): - - # The following commented code replace the None value with a single number that will not change again. - # This means the gene value will be the same across all solutions. - # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - # high=high, - # size=1), dtype=self.gene_type[0])[0] - # self.population[sol_idx, gene_idx] = self.gene_space[gene_idx].copy() - - # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] else: @@ -1364,7 +1381,7 @@ def initialize_population(self, for gene_idx in range(self.num_genes): if type(self.gene_space[gene_idx]) in [list, tuple, range]: # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. - temp = self.gene_space[gene_idx].copy() + temp = list(self.gene_space[gene_idx]).copy() for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, @@ -1392,7 +1409,7 @@ def initialize_population(self, # size=1), # dtype=self.gene_type[gene_idx][0])[0] - # self.population[sol_idx, gene_idx] = self.gene_space[gene_idx].copy() + # self.population[sol_idx, gene_idx] = list(self.gene_space[gene_idx]).copy() temp = numpy.asarray(numpy.random.uniform(low=low, high=high, diff --git a/pygad/utils/mutation.py b/pygad/utils/mutation.py index a5eb867..9ce8722 100644 --- a/pygad/utils/mutation.py +++ b/pygad/utils/mutation.py @@ -8,6 +8,7 @@ import pygad class Mutation: + def random_mutation(self, offspring): """ diff --git a/tests/test_allow_duplicate_genes.py b/tests/test_allow_duplicate_genes.py new file mode 100644 index 0000000..cc3db96 --- /dev/null +++ b/tests/test_allow_duplicate_genes.py @@ -0,0 +1,150 @@ +import pygad +import random +import numpy + +num_generations = 100 + +def number_duplicate_genes(gene_space=None, + gene_type=float, + num_genes=10, + mutation_by_replacement=False, + random_mutation_min_val=-1, + random_mutation_max_val=1, + init_range_low=-4, + init_range_high=4): + + def fitness_func(ga, solution, idx): + return random.random() + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=fitness_func, + sol_per_pop=10, + num_genes=num_genes, + gene_space=gene_space, + gene_type=gene_type, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + allow_duplicate_genes=False, + mutation_by_replacement=mutation_by_replacement, + save_solutions=True, + suppress_warnings=True) + + ga_instance.run() + + num_duplicates = 0 + for solution in ga_instance.solutions: + num = len(solution) - len(set(solution)) + if num != 0: + print(solution) + num_duplicates += num + + print("Number of duplicates is {num_duplicates}.".format(num_duplicates=num_duplicates)) + return num_duplicates + +def test_number_duplicates_default(): + num_duplicates = number_duplicate_genes() + + assert num_duplicates == 0 + +def test_number_duplicates_float_gene_type(): + num_genes = 10 + num_duplicates = number_duplicate_genes(gene_type=float, + num_genes=num_genes, + init_range_low=0, + init_range_high=1, + random_mutation_min_val=0, + random_mutation_max_val=1) + + assert num_duplicates == 0 + +def test_number_duplicates_int_gene_type(): + num_genes = 10 + init_range_low = 0 + init_range_high = init_range_low + num_genes + random_mutation_min_val = 0 + random_mutation_max_val = random_mutation_min_val + num_genes + num_duplicates = number_duplicate_genes(gene_type=int, + mutation_by_replacement=False, + num_genes=num_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val) + + assert num_duplicates == 0 + +def test_number_duplicates_int_gene_type_replacement(): + num_genes = 10 + init_range_low = 0 + init_range_high = init_range_low + num_genes + random_mutation_min_val = 0 + random_mutation_max_val = random_mutation_min_val + num_genes + num_duplicates = number_duplicate_genes(gene_type=int, + mutation_by_replacement=True, + num_genes=num_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val) + + assert num_duplicates == 0 + +def test_number_duplicates_single_gene_space(): + num_duplicates = number_duplicate_genes(gene_space=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + num_genes=10) + + assert num_duplicates == 0 + +def test_number_duplicates_single_range_gene_space(): + num_genes = 10 + num_duplicates = number_duplicate_genes(gene_space=range(num_genes), + num_genes=num_genes) + + assert num_duplicates == 0 + +def test_number_duplicates_single_numpy_range_gene_space(): + num_genes = 10 + num_duplicates = number_duplicate_genes(gene_space=numpy.arange(num_genes), + num_genes=num_genes) + + assert num_duplicates == 0 + +def test_number_duplicates_nested_gene_space(): + num_duplicates = number_duplicate_genes(gene_space=[[0, 1], + [1, 2], + [2, 3], + [3, 4], + [4, 5], + [5, 6], + [6, 7], + [7, 8], + [8, 9], + [9, 10]], + gene_type=int, + random_mutation_min_val=11, + random_mutation_max_val=20, + mutation_by_replacement=True, + num_genes=10) + + assert num_duplicates == 0 + +if __name__ == "__main__": + # print() + # test_number_duplicates_default() + # print() + # test_number_duplicates_float_gene_type() + # print() + # test_number_duplicates_int_gene_type() + # print() + # test_number_duplicates_single_gene_space() + # print() + # test_number_duplicates_single_range_gene_space() + # print() + # test_number_duplicates_single_numpy_range_gene_space() + print() + test_number_duplicates_nested_gene_space() + print() + From 160a8365d0ba6dcda32774409fd55c4430ed0c53 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 1 May 2023 19:31:05 -0400 Subject: [PATCH 038/220] Refactor unique.py --- pygad/helper/unique.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index bd2da60..b3a1e61 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -8,9 +8,7 @@ import pygad class Unique: - # DEEP-DUPLICATE-REMOVAL-NEEDED - NUM_DUPLICATE1 = 0 - NUM_DUPLICATE2 = 0 + def solve_duplicate_genes_randomly(self, solution, min_val, @@ -155,15 +153,13 @@ def solve_duplicate_genes_by_space(self, build_initial_pop=build_initial_pop) else: # DEEP-DUPLICATE-REMOVAL-NEEDED + # Search by this phrase to find where deep duplicates removal should be applied. + # If there exist duplicate genes, then changing either of the 2 duplicating genes (with indices 2 and 3) will not solve the problem. # This problem can be solved by randomly changing one of the non-duplicating genes that may make a room for a unique value in one the 2 duplicating genes. # For example, if gene_space=[[3, 0, 1], [4, 1, 2], [0, 2], [3, 2, 0]] and the solution is [3 2 0 0], then the values of the last 2 genes duplicate. # There are no possible changes in the last 2 genes to solve the problem. But it could be solved by changing the second gene from 2 to 4. # As a result, any of the last 2 genes can take the value 2 and solve the duplicates. - # print("DEEP-DUPLICATE-REMOVAL-NEEDED1") - # print("DEEP-DUPLICATE-REMOVAL-NEEDED1\n", new_solution, not_unique_indices, len(not_unique_indices)) - # DEEP-DUPLICATE-REMOVAL-NEEDED - Unique.NUM_DUPLICATE1 += 1 return new_solution, not_unique_indices, len(not_unique_indices) return new_solution, not_unique_indices, num_unsolved_duplicates @@ -288,7 +284,7 @@ def unique_genes_by_space(self, _, unique_gene_indices = numpy.unique(new_solution, return_index=True) not_unique_indices = set(range(len(new_solution))) - set(unique_gene_indices) # self.logger.info("not_unique_indices INSIDE", not_unique_indices) - + return new_solution, not_unique_indices, num_unsolved_duplicates def unique_gene_by_space(self, @@ -455,15 +451,18 @@ def unique_gene_by_space(self, if len(values_to_select_from) == 0: # DEEP-DUPLICATE-REMOVAL-NEEDED + # Search by this phrase to find where deep duplicates removal should be applied. + # Reaching this block means there is no value in the gene space of this gene to solve the duplicates. # To solve the duplicate between the 2 genes, the solution is to change the value of a third gene that makes a room to solve the duplicate. if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but the gene space does not have enough values to prevent duplicates.") + solution2 = self.solve_duplicates_deeply(solution) if solution2 is None: - # print("DEEP-DUPLICATE-REMOVAL-NEEDED2") - # print("DEEP-DUPLICATE-REMOVAL-NEEDED2", solution, gene_idx, solution[gene_idx]) - Unique.NUM_DUPLICATE2 += 1 + # Cannot solve duplicates. At the moment, we are changing the value of a third gene to solve the duplicates between 2 genes. + # Maybe a 4th, 5th, 6th, or even more genes need to be changed to solve the duplicates. + pass else: solution = solution2 value_from_space = solution[gene_idx] From 19be8b0f38b00a8d85191a9c248c92464dc1a1a4 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 2 May 2023 11:06:52 -0400 Subject: [PATCH 039/220] Refactoring the code --- pygad/helper/unique.py | 83 +++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 50 deletions(-) diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index b3a1e61..74ecbeb 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -59,7 +59,7 @@ def solve_duplicate_genes_randomly(self, else: temp_val = new_solution[duplicate_index] + temp_val else: - if gene_type[duplicate_index] in pygad.GA.supported_int_types: + if gene_type[duplicate_index][0] in pygad.GA.supported_int_types: temp_val = self.unique_int_gene_from_range(solution=new_solution, gene_index=duplicate_index, min_val=min_val, @@ -186,43 +186,43 @@ def unique_int_gene_from_range(self, Returns: selected_value: The new value of the gene. It may be identical to the original gene value in case there are no possible unique values for the gene. """ - + if self.gene_type_single == True: if step is None: - all_gene_values = numpy.arange(min_val, max_val, dtype=gene_type[0]) + # all_gene_values = numpy.arange(min_val, + # max_val, + # dtype=gene_type[0]) + all_gene_values = numpy.asarray(numpy.arange(min_val, max_val), + dtype=gene_type[0]) else: - # For non-integer steps, the numpy.arange() function returns zeros id the dtype parameter is set to an integer data type. So, this returns zeros if step is non-integer and dtype is set to an int data type: numpy.arange(min_val, max_val, step, dtype=gene_type[0]) + # For non-integer steps, the numpy.arange() function returns zeros if the dtype parameter is set to an integer data type. So, this returns zeros if step is non-integer and dtype is set to an int data type: numpy.arange(min_val, max_val, step, dtype=gene_type[0]) # To solve this issue, the data type casting will not be handled inside numpy.arange(). The range is generated by numpy.arange() and then the data type is converted using the numpy.asarray() function. all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), dtype=gene_type[0]) else: if step is None: - all_gene_values = numpy.arange(min_val, max_val, dtype=gene_type[gene_index][0]) + # all_gene_values = numpy.arange(min_val, + # max_val, + # dtype=gene_type[gene_index][0]) + all_gene_values = numpy.asarray(numpy.arange(min_val, max_val), + dtype=gene_type[gene_index][0]) else: - all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), dtype=gene_type[gene_index][0]) + all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), + dtype=gene_type[gene_index][0]) if mutation_by_replacement: pass else: all_gene_values = all_gene_values + solution[gene_index] - # Similar to the round_genes() method in the pygad module, - # Create a round_gene() method to round a single gene. if self.gene_type_single == True: - if not gene_type[1] is None: - all_gene_values = numpy.round(gene_type[0](all_gene_values), - gene_type[1]) - else: - if type(all_gene_values) is numpy.ndarray: - all_gene_values = numpy.asarray(all_gene_values, dtype=gene_type[0]) - else: - all_gene_values = gene_type[0](all_gene_values) + # Note that we already know that the data type is integer. + all_gene_values = numpy.asarray(all_gene_values, + dtype=gene_type[0]) else: - if not gene_type[gene_index][1] is None: - all_gene_values = numpy.round(gene_type[gene_index][0](all_gene_values), - gene_type[gene_index][1]) - else: - all_gene_values = gene_type[gene_index][0](all_gene_values) + # Note that we already know that the data type is integer. + all_gene_values = numpy.asarray(all_gene_values, + gene_type[gene_index][0]) values_to_select_from = list(set(all_gene_values) - set(solution)) @@ -232,11 +232,6 @@ def unique_int_gene_from_range(self, else: selected_value = random.choice(values_to_select_from) - #if self.gene_type_single == True: - # selected_value = gene_type[0](selected_value) - #else: - # selected_value = gene_type[gene_index][0](selected_value) - return selected_value def unique_genes_by_space(self, @@ -310,7 +305,8 @@ def unique_gene_by_space(self, curr_gene_space = self.gene_space[gene_idx].copy() else: # Return the entire gene space from the 'gene_space' attribute. - curr_gene_space = list(self.gene_space[gene_idx]).copy() + # curr_gene_space = list(self.gene_space[gene_idx]).copy() + curr_gene_space = self.gene_space[gene_idx] # If the gene space has only a single value, use it as the new gene value. if type(curr_gene_space) in pygad.GA.supported_int_float_types: @@ -585,15 +581,12 @@ def find_two_duplicates(self, gene_indices = numpy.where(numpy.array(solution) == gene)[0] if len(gene_indices) == 1: continue - # print("Gene value", gene, "Gene indices", gene_indices) for gene_idx in gene_indices: - # print(" Current Gene Index", gene_idx) number_alternate_values = len(set(gene_space_unpacked[gene_idx])) if number_alternate_values > 1: return gene_idx, gene # This means there is no way to solve the duplicates between the genes. # Because the space of the duplicates genes only has a single value and there is no alternatives. - # print("Cannot solve duplicates between the genes with value {gene} at indices {gene_indices}.".format(gene_indices=gene_indices, gene=gene)) return None, gene def unpack_gene_space(self, num_values_from_range=100): @@ -609,13 +602,13 @@ def unpack_gene_space(self, num_values_from_range=100): for space_idx, space in enumerate(gene_space_unpacked): if type(space) in pygad.GA.supported_int_float_types: gene_space_unpacked[space_idx] = [space] - elif type(space) is None: + elif space is None: # Randomly generate the value using the mutation range. gene_space_unpacked[space_idx] = numpy.arange(start=self.random_mutation_min_val, stop=self.random_mutation_max_val) elif type(space) is range: # Convert the range to a list. - gene_space_unpacked[space_idx] = list(range) + gene_space_unpacked[space_idx] = list(space) elif type(space) is dict: # Create a list of values using the dict range. # Use numpy.linspace() @@ -703,59 +696,50 @@ def solve_duplicates_deeply(self, """ gene_space_unpacked = self.unpack_gene_space() + # Create a copy into the attribute because it will be changed later. self.gene_space_unpacked = gene_space_unpacked.copy() duplicate_index, duplicate_value = self.find_two_duplicates(solution, gene_space_unpacked) - # print() - # print("Duplicate_index, Duplicate_value", duplicate_index, duplicate_value) if duplicate_index is None: # Impossible to solve the duplicates for the genes with value duplicate_value. return None - # gene_duplicate_value = solution[duplicate_index] - # Without copy(), the gene will be removed from the gene_space. # Convert the space to list because tuples do not have copy() gene_other_values = list(gene_space_unpacked[duplicate_index]).copy() - # This removes all the occurrences of this value using the __ne__ magic function. - # gene_other_values = list(filter((duplicate_value).__ne__, gene_other_values)) + + # This removes all the occurrences of this value. gene_other_values = [v for v in gene_other_values if v != duplicate_value] + # The remove() function only removes the first occurrence of the value. + # Do not use it. # gene_other_values.remove(duplicate_value) - # if len(gene_other_values) == 0: return None - # print("Gene_other_values", gene_other_values) # Two conditions to solve the duplicates of the value D: # 1. From gene_other_values, select a value V such that it is available in the gene space of another gene X. # 2. Find an alternate value for the gene X that will not cause any duplicates. # 2.1 If the gene X does not have alternatives, then go back to step 1 to find another gene. # 2.2 Set the gene X to the value D. # 2.3 Set the target gene to the value V. - # search_gene_space = gene_space_unpacked.copy() # Set the space of the duplicate gene to empty list []. Do not remove it to not alter the indices of the gene spaces. - # search_gene_space[duplicate_index] = [] gene_space_unpacked[duplicate_index] = [] - # print("search_gene_space", search_gene_space) for other_value in gene_other_values: for space_idx, space in enumerate(gene_space_unpacked): - # print("other_value in space", other_value, space) if other_value in space: if other_value in solution and list(solution).index(other_value) != space_idx: continue else: - # print(" Current Space", space, space_idx) # Find an alternate value for the third gene. # Copy the space so that the original space is not changed after removing the value. space_other_values = space.copy() # This removes all the occurrences of this value. It is not enough to use the remove() function because it only removes the first occurrence. space_other_values = [v for v in space_other_values if v != other_value] - # print("Space_other_values", space_other_values, other_value) + for val in space_other_values: - # print("val", val) if val in solution: # If the value exists in another gene of the solution, then we cannot use this value as it will cause another duplicate. # End the current iteration and go check another value. @@ -763,8 +747,7 @@ def solve_duplicates_deeply(self, else: solution[space_idx] = val solution[duplicate_index] = other_value - # print("solution", solution) return solution - # print("Cannot solve the duplicate genes with value {duplicate_value}.".format(duplicate_value=duplicate_value)) - return None + # Reaching here means we cannot solve the duplicate genes. + return None From 1c446922c1434fd3c8adc3107ed45d615fafe5f3 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 2 May 2023 18:54:21 -0400 Subject: [PATCH 040/220] More tests --- pygad/helper/unique.py | 314 ++++++++++++++----------- pygad/pygad.py | 147 ++++++++---- pygad/utils/crossover.py | 43 ++-- tests/test_allow_duplicate_genes.py | 227 ++++++++++++++++-- tests/test_gene_space.py | 345 ++++++++++++++++++++++++++++ 5 files changed, 862 insertions(+), 214 deletions(-) create mode 100644 tests/test_gene_space.py diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index 74ecbeb..3224445 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -19,14 +19,14 @@ def solve_duplicate_genes_randomly(self, """ Solves the duplicates in a solution by randomly selecting new values for the duplicating genes. - + solution: A solution with duplicate values. min_val: Minimum value of the range to sample a number randomly. max_val: Maximum value of the range to sample a number randomly. mutation_by_replacement: Identical to the self.mutation_by_replacement attribute. gene_type: Exactly the same as the self.gene_type attribute. num_trials: Maximum number of trials to change the gene value to solve the duplicates. - + Returns: new_solution: Solution after trying to solve its duplicates. If no duplicates solved, then it is identical to the passed solution parameter. not_unique_indices: Indices of the genes with duplicate values. @@ -197,17 +197,22 @@ def unique_int_gene_from_range(self, else: # For non-integer steps, the numpy.arange() function returns zeros if the dtype parameter is set to an integer data type. So, this returns zeros if step is non-integer and dtype is set to an int data type: numpy.arange(min_val, max_val, step, dtype=gene_type[0]) # To solve this issue, the data type casting will not be handled inside numpy.arange(). The range is generated by numpy.arange() and then the data type is converted using the numpy.asarray() function. - all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), + all_gene_values = numpy.asarray(numpy.arange(min_val, + max_val, + step), dtype=gene_type[0]) else: if step is None: # all_gene_values = numpy.arange(min_val, # max_val, # dtype=gene_type[gene_index][0]) - all_gene_values = numpy.asarray(numpy.arange(min_val, max_val), + all_gene_values = numpy.asarray(numpy.arange(min_val, + max_val), dtype=gene_type[gene_index][0]) else: - all_gene_values = numpy.asarray(numpy.arange(min_val, max_val, step), + all_gene_values = numpy.asarray(numpy.arange(min_val, + max_val, + step), dtype=gene_type[gene_index][0]) if mutation_by_replacement: @@ -215,6 +220,7 @@ def unique_int_gene_from_range(self, else: all_gene_values = all_gene_values + solution[gene_index] + # TODO: The gene data type is converted twine. One above and one here. if self.gene_type_single == True: # Note that we already know that the data type is integer. all_gene_values = numpy.asarray(all_gene_values, @@ -227,6 +233,7 @@ def unique_int_gene_from_range(self, values_to_select_from = list(set(all_gene_values) - set(solution)) if len(values_to_select_from) == 0: + # If there is no values, then keep the current gene value. if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but there is no enough values to prevent duplicates.") selected_value = solution[gene_index] else: @@ -240,47 +247,47 @@ def unique_genes_by_space(self, not_unique_indices, num_trials=10, build_initial_pop=False): - - """ - Loops through all the duplicating genes to find unique values that from their gene spaces to solve the duplicates. - For each duplicating gene, a call to the unique_gene_by_space() function is made. - - new_solution: A solution with duplicate values. - gene_type: Exactly the same as the self.gene_type attribute. - not_unique_indices: Indices with duplicating values. - num_trials: Maximum number of trials to change the gene value to solve the duplicates. - - Returns: - new_solution: Solution after trying to solve all of its duplicates. If no duplicates solved, then it is identical to the passed solution parameter. - not_unique_indices: Indices of the genes with duplicate values. - num_unsolved_duplicates: Number of unsolved duplicates. - """ - num_unsolved_duplicates = 0 - for duplicate_index in not_unique_indices: - for trial_index in range(num_trials): - temp_val = self.unique_gene_by_space(solution=new_solution, - gene_idx=duplicate_index, - gene_type=gene_type, - build_initial_pop=build_initial_pop) - - if temp_val in new_solution and trial_index == (num_trials - 1): - # self.logger.info("temp_val, duplicate_index", temp_val, duplicate_index, new_solution) - num_unsolved_duplicates = num_unsolved_duplicates + 1 - if not self.suppress_warnings: warnings.warn("Failed to find a unique value for gene with index {gene_idx} whose value is {gene_value}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.".format(gene_idx=duplicate_index, gene_value=new_solution[duplicate_index])) - elif temp_val in new_solution: - continue - else: - new_solution[duplicate_index] = temp_val - # self.logger.info("SOLVED", duplicate_index) - break + """ + Loops through all the duplicating genes to find unique values that from their gene spaces to solve the duplicates. + For each duplicating gene, a call to the unique_gene_by_space() function is made. + + new_solution: A solution with duplicate values. + gene_type: Exactly the same as the self.gene_type attribute. + not_unique_indices: Indices with duplicating values. + num_trials: Maximum number of trials to change the gene value to solve the duplicates. + + Returns: + new_solution: Solution after trying to solve all of its duplicates. If no duplicates solved, then it is identical to the passed solution parameter. + not_unique_indices: Indices of the genes with duplicate values. + num_unsolved_duplicates: Number of unsolved duplicates. + """ + + num_unsolved_duplicates = 0 + for duplicate_index in not_unique_indices: + for trial_index in range(num_trials): + temp_val = self.unique_gene_by_space(solution=new_solution, + gene_idx=duplicate_index, + gene_type=gene_type, + build_initial_pop=build_initial_pop) + + if temp_val in new_solution and trial_index == (num_trials - 1): + # self.logger.info("temp_val, duplicate_index", temp_val, duplicate_index, new_solution) + num_unsolved_duplicates = num_unsolved_duplicates + 1 + if not self.suppress_warnings: warnings.warn("Failed to find a unique value for gene with index {gene_idx} whose value is {gene_value}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.".format(gene_idx=duplicate_index, gene_value=new_solution[duplicate_index])) + elif temp_val in new_solution: + continue + else: + new_solution[duplicate_index] = temp_val + # self.logger.info("SOLVED", duplicate_index) + break - # Update the list of duplicate indices after each iteration. - _, unique_gene_indices = numpy.unique(new_solution, return_index=True) - not_unique_indices = set(range(len(new_solution))) - set(unique_gene_indices) - # self.logger.info("not_unique_indices INSIDE", not_unique_indices) + # Update the list of duplicate indices after each iteration. + _, unique_gene_indices = numpy.unique(new_solution, return_index=True) + not_unique_indices = set(range(len(new_solution))) - set(unique_gene_indices) + # self.logger.info("not_unique_indices INSIDE", not_unique_indices) - return new_solution, not_unique_indices, num_unsolved_duplicates + return new_solution, not_unique_indices, num_unsolved_duplicates def unique_gene_by_space(self, solution, @@ -300,9 +307,9 @@ def unique_gene_by_space(self, """ if self.gene_space_nested: - if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple]: # Return the current gene space from the 'gene_space' attribute. - curr_gene_space = self.gene_space[gene_idx].copy() + curr_gene_space = list(self.gene_space[gene_idx]).copy() else: # Return the entire gene space from the 'gene_space' attribute. # curr_gene_space = list(self.gene_space[gene_idx]).copy() @@ -341,6 +348,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=low, high=high, size=1) + # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. if self.mutation_by_replacement: pass else: @@ -371,6 +379,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=low, high=high, size=1) + # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. if self.mutation_by_replacement: pass else: @@ -401,6 +410,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], size=1) + # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. if self.mutation_by_replacement: pass else: @@ -430,6 +440,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], size=1) + # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. if self.mutation_by_replacement: pass else: @@ -493,6 +504,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], size=1) + # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. if self.mutation_by_replacement: pass else: @@ -522,6 +534,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], size=1) + # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. if self.mutation_by_replacement: pass else: @@ -589,100 +602,145 @@ def find_two_duplicates(self, # Because the space of the duplicates genes only has a single value and there is no alternatives. return None, gene - def unpack_gene_space(self, num_values_from_range=100): + def unpack_gene_space(self, + num_values_from_inf_range=100): """ Unpack the gene_space for the purpose of selecting a value that solves the duplicates. This is by replacing each range by a list of values. - For the infinite range of float values, a number of values equal to num_values_from_range is selected using the numpy.linspace() function. + It accepts: + num_values_from_inf_range: For infinite range of float values, a fixed number of values equal to num_values_from_inf_range is selected using the numpy.linspace() function. It returns the unpacked gene space. """ # Copy the gene_space to keep it isolated form the changes. - gene_space_unpacked = self.gene_space.copy() - for space_idx, space in enumerate(gene_space_unpacked): - if type(space) in pygad.GA.supported_int_float_types: - gene_space_unpacked[space_idx] = [space] - elif space is None: - # Randomly generate the value using the mutation range. - gene_space_unpacked[space_idx] = numpy.arange(start=self.random_mutation_min_val, - stop=self.random_mutation_max_val) - elif type(space) is range: - # Convert the range to a list. - gene_space_unpacked[space_idx] = list(space) - elif type(space) is dict: - # Create a list of values using the dict range. - # Use numpy.linspace() - if self.gene_type_single == True: # self.gene_type_single - if self.gene_type[0] in pygad.GA.supported_int_types: - if 'step' in space.keys(): - step = space['step'] - else: - step = 1 + if self.gene_space is None: + return None - gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], - stop=space['high'], - step=step) - else: - if 'step' in space.keys(): + if self.gene_space_nested == False: + if type(self.gene_space) is range: + gene_space_unpacked = list(self.gene_space) + elif type(self.gene_space) in [numpy.ndarray, list]: + gene_space_unpacked = self.gene_space.copy() + elif type(self.gene_space) is dict: + if 'step' in self.gene_space.keys(): + gene_space_unpacked = numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']) + else: + gene_space_unpacked = numpy.linspace(start=self.gene_space['low'], + stop=self.gene_space['high'], + num=num_values_from_inf_range, + endpoint=False) + + if self.gene_type_single == True: + # Change the data type. + gene_space_unpacked = numpy.array(gene_space_unpacked, + dtype=self.gene_type[0]) + if not self.gene_type[1] is None: + # Round the values for float (non-int) data types. + gene_space_unpacked = numpy.round(gene_space_unpacked, + self.gene_type[1]) + else: + temp_gene_space_unpacked = gene_space_unpacked.copy() + gene_space_unpacked = [] + # Get the number of genes from the length of gene_type. + # The num_genes attribute is not set yet when this method (unpack_gene_space) is called for the first time. + for gene_idx in range(len(self.gene_type)): + # Change the data type. + gene_space_item_unpacked = numpy.array(temp_gene_space_unpacked, + self.gene_type[gene_idx][0]) + if not self.gene_type[gene_idx][1] is None: + # Round the values for float (non-int) data types. + gene_space_item_unpacked = numpy.round(temp_gene_space_unpacked, + self.gene_type[gene_idx][1]) + gene_space_unpacked.append(gene_space_item_unpacked) + + elif self.gene_space_nested == True: + gene_space_unpacked = self.gene_space.copy() + for space_idx, space in enumerate(gene_space_unpacked): + if type(space) in pygad.GA.supported_int_float_types: + gene_space_unpacked[space_idx] = [space] + elif space is None: + # Randomly generate the value using the mutation range. + gene_space_unpacked[space_idx] = numpy.arange(start=self.random_mutation_min_val, + stop=self.random_mutation_max_val) + elif type(space) is range: + # Convert the range to a list. + gene_space_unpacked[space_idx] = list(space) + elif type(space) is dict: + # Create a list of values using the dict range. + # Use numpy.linspace() + if self.gene_type_single == True: # self.gene_type_single + if self.gene_type[0] in pygad.GA.supported_int_types: + if 'step' in space.keys(): + step = space['step'] + else: + step = 1 + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], stop=space['high'], - step=space['step']) - else: - gene_space_unpacked[space_idx] = numpy.linspace(start=space['low'], - stop=space['high'], - num=num_values_from_range, - endpoint=False) - else: - if self.gene_type[space_idx][0] in pygad.GA.supported_int_types: - if 'step' in space.keys(): - step = space['step'] + step=step) else: - step = 1 - - gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], - stop=space['high'], - step=step) + if 'step' in space.keys(): + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], + stop=space['high'], + step=space['step']) + else: + gene_space_unpacked[space_idx] = numpy.linspace(start=space['low'], + stop=space['high'], + num=num_values_from_inf_range, + endpoint=False) else: - if 'step' in space.keys(): + if self.gene_type[space_idx][0] in pygad.GA.supported_int_types: + if 'step' in space.keys(): + step = space['step'] + else: + step = 1 + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], stop=space['high'], - step=space['step']) + step=step) else: - gene_space_unpacked[space_idx] = numpy.linspace(start=space['low'], - stop=space['high'], - num=num_values_from_range, - endpoint=False) - - elif type(space) in [list, tuple, numpy.ndarray]: - # list/tuple/numpy.ndarray - # Convert all to list - gene_space_unpacked[space_idx] = list(space) - - # Check if there is an item with the value None. If so, replace it with a random value using the mutation range. - none_indices = numpy.where(numpy.array(gene_space_unpacked[space_idx]) == None)[0] - if len(none_indices) > 0: - for idx in none_indices: - random_value = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, - size=1) - gene_space_unpacked[space_idx][idx] = random_value - - if self.gene_type_single == True: # self.gene_type_single - # Change the data type. - gene_space_unpacked[space_idx] = numpy.array(gene_space_unpacked[space_idx], - dtype=self.gene_type[0]) - if not self.gene_type[1] is None: - # Round the values for float (non-int) data types. - gene_space_unpacked[space_idx] = numpy.round(gene_space_unpacked[space_idx], - self.gene_type[1]) - else: - # Change the data type. - gene_space_unpacked[space_idx] = numpy.array(gene_space_unpacked[space_idx], - self.gene_type[space_idx][0]) - if not self.gene_type[space_idx][1] is None: - # Round the values for float (non-int) data types. - gene_space_unpacked[space_idx] = numpy.round(gene_space_unpacked[space_idx], - self.gene_type[space_idx][1]) + if 'step' in space.keys(): + gene_space_unpacked[space_idx] = numpy.arange(start=space['low'], + stop=space['high'], + step=space['step']) + else: + gene_space_unpacked[space_idx] = numpy.linspace(start=space['low'], + stop=space['high'], + num=num_values_from_inf_range, + endpoint=False) + + elif type(space) in [numpy.ndarray, list, tuple]: + # list/tuple/numpy.ndarray + # Convert all to list + gene_space_unpacked[space_idx] = list(space) + + # Check if there is an item with the value None. If so, replace it with a random value using the mutation range. + none_indices = numpy.where(numpy.array(gene_space_unpacked[space_idx]) == None)[0] + if len(none_indices) > 0: + for idx in none_indices: + random_value = numpy.random.uniform(low=self.random_mutation_min_val, + high=self.random_mutation_max_val, + size=1) + gene_space_unpacked[space_idx][idx] = random_value + + if self.gene_type_single == True: # self.gene_type_single + # Change the data type. + gene_space_unpacked[space_idx] = numpy.array(gene_space_unpacked[space_idx], + dtype=self.gene_type[0]) + if not self.gene_type[1] is None: + # Round the values for float (non-int) data types. + gene_space_unpacked[space_idx] = numpy.round(gene_space_unpacked[space_idx], + self.gene_type[1]) + else: + # Change the data type. + gene_space_unpacked[space_idx] = numpy.array(gene_space_unpacked[space_idx], + self.gene_type[space_idx][0]) + if not self.gene_type[space_idx][1] is None: + # Round the values for float (non-int) data types. + gene_space_unpacked[space_idx] = numpy.round(gene_space_unpacked[space_idx], + self.gene_type[space_idx][1]) return gene_space_unpacked @@ -695,9 +753,9 @@ def solve_duplicates_deeply(self, The solution after solving the duplicates or the None if duplicates cannot be solved. """ - gene_space_unpacked = self.unpack_gene_space() - # Create a copy into the attribute because it will be changed later. - self.gene_space_unpacked = gene_space_unpacked.copy() + # gene_space_unpacked = self.unpack_gene_space() + # Create a copy of the gene_space_unpacked attribute because it will be changed later. + gene_space_unpacked = self.gene_space_unpacked.copy() duplicate_index, duplicate_value = self.find_two_duplicates(solution, gene_space_unpacked) @@ -726,7 +784,7 @@ def solve_duplicates_deeply(self, # 2.3 Set the target gene to the value V. # Set the space of the duplicate gene to empty list []. Do not remove it to not alter the indices of the gene spaces. gene_space_unpacked[duplicate_index] = [] - + for other_value in gene_other_values: for space_idx, space in enumerate(gene_space_unpacked): if other_value in space: diff --git a/pygad/pygad.py b/pygad/pygad.py index ef12c94..b7382cc 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -187,6 +187,14 @@ def __init__(self, self.mutation_by_replacement = mutation_by_replacement + # Validate allow_duplicate_genes + if not (type(allow_duplicate_genes) is bool): + self.valid_parameters = False + self.logger.error("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) + raise TypeError("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) + + self.allow_duplicate_genes = allow_duplicate_genes + # Validate gene_space self.gene_space_nested = False if type(gene_space) is type(None): @@ -203,7 +211,7 @@ def __init__(self, raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") else: for index, el in enumerate(gene_space): - if type(el) in [list, tuple, range, numpy.ndarray]: + if type(el) in [numpy.ndarray, list, tuple, range]: if len(el) == 0: self.valid_parameters = False self.logger.error("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) @@ -361,6 +369,9 @@ def __init__(self, self.logger.error("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) raise ValueError("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) + # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. + self.gene_space_unpacked = self.unpack_gene_space() + # Build the initial population if initial_population is None: if (sol_per_pop is None) or (num_genes is None): @@ -421,21 +432,43 @@ def __init__(self, # Forcing the initial_population array to have the data type assigned to the gene_type parameter. if self.gene_type_single == True: if self.gene_type[1] == None: - self.initial_population = numpy.array(initial_population, dtype=self.gene_type[0]) + self.initial_population = numpy.array(initial_population, + dtype=self.gene_type[0]) else: - self.initial_population = numpy.round(numpy.array(initial_population, dtype=self.gene_type[0]), self.gene_type[1]) + # This block is reached only for non-integer data types (i.e. float). + self.initial_population = numpy.round(numpy.array(initial_population, + dtype=self.gene_type[0]), + self.gene_type[1]) else: initial_population = numpy.array(initial_population) - self.initial_population = numpy.zeros(shape=(initial_population.shape[0], initial_population.shape[1]), dtype=object) + self.initial_population = numpy.zeros(shape=(initial_population.shape[0], + initial_population.shape[1]), + dtype=object) for gene_idx in range(initial_population.shape[1]): if self.gene_type[gene_idx][1] is None: self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], dtype=self.gene_type[gene_idx][0]) else: + # This block is reached only for non-integer data types (i.e. float). self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], dtype=self.gene_type[gene_idx][0]), self.gene_type[gene_idx][1]) + # Check if duplicates are allowed. If not, then solve any exisiting duplicates in the passed initial population. + if self.allow_duplicate_genes == False: + for initial_solution_idx, initial_solution in enumerate(self.initial_population): + if self.gene_space is None: + self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=initial_solution, + min_val=self.init_range_low, + max_val=self.init_range_high, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_by_space(solution=initial_solution, + gene_type=self.gene_type, + num_trials=10) + self.population = self.initial_population.copy() # A NumPy array holding the initial population. self.num_genes = self.initial_population.shape[1] # Number of genes in the solution. self.sol_per_pop = self.initial_population.shape[0] # Number of solutions in the population. @@ -1096,14 +1129,6 @@ def __init__(self, self.logger.error("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) raise TypeError("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) - # Validate allow_duplicate_genes - if not (type(allow_duplicate_genes) is bool): - self.valid_parameters = False - self.logger.error("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - raise TypeError("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - - self.allow_duplicate_genes = allow_duplicate_genes - self.stop_criteria = [] self.supported_stop_words = ["reach", "saturate"] if stop_criteria is None: @@ -1259,7 +1284,8 @@ def round_genes(self, solutions): for gene_idx in range(self.num_genes): if self.gene_type_single: if not self.gene_type[1] is None: - solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], self.gene_type[1]) + solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], + self.gene_type[1]) else: if not self.gene_type[gene_idx][1] is None: solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], @@ -1322,10 +1348,14 @@ def initialize_population(self, elif self.gene_space_nested: if self.gene_type_single == True: - self.population = numpy.zeros(shape=self.pop_size, dtype=self.gene_type[0]) + # Reaching this block means: + # 1) gene_space is nested (gene_space_nested is True). + # 2) gene_type is not nested (gene_type_single is True). + self.population = numpy.zeros(shape=self.pop_size, + dtype=self.gene_type[0]) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): - if type(self.gene_space[gene_idx]) == type(None): + if self.gene_space[gene_idx] is None: # The following commented code replace the None value with a single number that will not change again. # This means the gene value will be the same across all solutions. @@ -1339,12 +1369,16 @@ def initialize_population(self, high=high, size=1), dtype=self.gene_type[0])[0] - elif type(self.gene_space[gene_idx]) in [list, tuple, range]: + elif type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple, range]: # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. if type(self.gene_space[gene_idx]) is range: - temp = self.gene_space[gene_idx] + temp_gene_space = self.gene_space[gene_idx] else: - temp = list(self.gene_space[gene_idx]).copy() + # Convert to list because tuple and range do not have copy(). + # We copy the gene_space to a temp variable to keep its original value. + # In the next for loop, the gene_space is changed. + # Later, the gene_space is restored to its original value using the temp variable. + temp_gene_space = list(self.gene_space[gene_idx]).copy() for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: @@ -1359,8 +1393,10 @@ def initialize_population(self, else: # If there is no unique values, then we have to select a duplicate value. self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[0](self.population[sol_idx, gene_idx]) - self.gene_space[gene_idx] = list(temp).copy() + # Restore the gene_space from the temp_gene_space variable. + self.gene_space[gene_idx] = list(temp_gene_space).copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], @@ -1375,22 +1411,36 @@ def initialize_population(self, dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + else: + # There is no more options. + pass else: - self.population = numpy.zeros(shape=self.pop_size, dtype=object) + # Reaching this block means: + # 1) gene_space is nested (gene_space_nested is True). + # 2) gene_type is nested (gene_type_single is False). + self.population = numpy.zeros(shape=self.pop_size, + dtype=object) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): - if type(self.gene_space[gene_idx]) in [list, tuple, range]: + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple, range]: + # Convert to list because tuple and range do not have copy(). + # We copy the gene_space to a temp variable to keep its original value. + # In the next for loop, the gene_space is changed. + # Later, the gene_space is restored to its original value using the temp variable. + temp_gene_space = list(self.gene_space[gene_idx]).copy() + # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. - temp = list(self.gene_space[gene_idx]).copy() for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, high=high, size=1), dtype=self.gene_type[gene_idx][0])[0] + self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0](self.population[sol_idx, gene_idx]) - self.gene_space[gene_idx] = temp.copy() + # Restore the gene_space from the temp_gene_space variable. + self.gene_space[gene_idx] = temp_gene_space.copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], @@ -1404,22 +1454,24 @@ def initialize_population(self, size=1), dtype=self.gene_type[gene_idx][0])[0] elif type(self.gene_space[gene_idx]) == type(None): - # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - # high=high, - # size=1), - # dtype=self.gene_type[gene_idx][0])[0] + temp_gene_value = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), + dtype=self.gene_type[gene_idx][0])[0] - # self.population[sol_idx, gene_idx] = list(self.gene_space[gene_idx]).copy() - - temp = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = temp + self.population[sol_idx, gene_idx] = temp_gene_value.copy() elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + else: + # There is no more options. + pass else: + # Handle the non-nested gene_space. It can be assigned a numeric value, list, numpy.ndarray, or a dict. if self.gene_type_single == True: + # Reaching this block means: + # 1) gene_space is not nested (gene_space_nested is False). + # 2) gene_type is not nested (gene_type_single is True). + # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. for idx, curr_gene_space in enumerate(self.gene_space): if curr_gene_space is None: @@ -1446,25 +1498,23 @@ def initialize_population(self, size=self.pop_size), dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: - # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. - for gene_idx, curr_gene_space in enumerate(self.gene_space): - if curr_gene_space is None: - self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[gene_idx][0])[0] - + # Reaching this block means: + # 1) gene_space is not nested (gene_space_nested is False). + # 2) gene_type is nested (gene_type_single is False). + # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. if type(self.gene_space) is dict: # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) + self.population = numpy.zeros(shape=self.pop_size, + dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): + # Generate the values of the current gene across all solutions. # A vector of all values of this single gene across all solutions in the population. - if 'step' in self.gene_space[gene_idx].keys(): - gene_values = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], - step=self.gene_space[gene_idx]['step']), + if 'step' in self.gene_space.keys(): + gene_values = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space['low'], + stop=self.gene_space['high'], + step=self.gene_space['step']), size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) else: @@ -1476,6 +1526,9 @@ def initialize_population(self, self.population[:, gene_idx] = gene_values else: + # Reaching this block means that the gene_space is not None or dict. + # It can be either range, numpy.ndarray, or list. + # Create an empty population of dtype=object to support storing mixed data types within the same array. self.population = numpy.zeros(shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. diff --git a/pygad/utils/crossover.py b/pygad/utils/crossover.py index 8eff279..6cc9a27 100644 --- a/pygad/utils/crossover.py +++ b/pygad/utils/crossover.py @@ -64,6 +64,7 @@ def single_point_crossover(self, parents, offspring_size): gene_type=self.gene_type, num_trials=10) + return offspring def two_points_crossover(self, parents, offspring_size): @@ -120,15 +121,15 @@ def two_points_crossover(self, parents, offspring_size): if self.allow_duplicate_genes == False: if self.gene_space is None: offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, - mutation_by_replacement=self.mutation_by_replacement, - gene_type=self.gene_type, - num_trials=10) + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) else: offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], - gene_type=self.gene_type, - num_trials=10) + gene_type=self.gene_type, + num_trials=10) return offspring def uniform_crossover(self, parents, offspring_size): @@ -180,15 +181,15 @@ def uniform_crossover(self, parents, offspring_size): if self.allow_duplicate_genes == False: if self.gene_space is None: offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, - mutation_by_replacement=self.mutation_by_replacement, - gene_type=self.gene_type, - num_trials=10) + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) else: offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], - gene_type=self.gene_type, - num_trials=10) + gene_type=self.gene_type, + num_trials=10) return offspring @@ -236,13 +237,13 @@ def scattered_crossover(self, parents, offspring_size): if self.allow_duplicate_genes == False: if self.gene_space is None: offspring[k], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[k], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, - mutation_by_replacement=self.mutation_by_replacement, - gene_type=self.gene_type, - num_trials=10) + min_val=self.random_mutation_min_val, + max_val=self.random_mutation_max_val, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) else: offspring[k], _, _ = self.solve_duplicate_genes_by_space(solution=offspring[k], - gene_type=self.gene_type, - num_trials=10) + gene_type=self.gene_type, + num_trials=10) return offspring diff --git a/tests/test_allow_duplicate_genes.py b/tests/test_allow_duplicate_genes.py index cc3db96..af7b652 100644 --- a/tests/test_allow_duplicate_genes.py +++ b/tests/test_allow_duplicate_genes.py @@ -2,7 +2,18 @@ import random import numpy -num_generations = 100 +num_generations = 1 + +initial_population = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]] def number_duplicate_genes(gene_space=None, gene_type=float, @@ -11,7 +22,9 @@ def number_duplicate_genes(gene_space=None, random_mutation_min_val=-1, random_mutation_max_val=1, init_range_low=-4, - init_range_high=4): + init_range_high=4, + random_seed=123, + initial_population=None): def fitness_func(ga, solution, idx): return random.random() @@ -23,12 +36,14 @@ def fitness_func(ga, solution, idx): num_genes=num_genes, gene_space=gene_space, gene_type=gene_type, + initial_population=initial_population, init_range_low=init_range_low, init_range_high=init_range_high, random_mutation_min_val=random_mutation_min_val, random_mutation_max_val=random_mutation_max_val, allow_duplicate_genes=False, mutation_by_replacement=mutation_by_replacement, + random_seed=random_seed, save_solutions=True, suppress_warnings=True) @@ -49,6 +64,11 @@ def test_number_duplicates_default(): assert num_duplicates == 0 +def test_number_duplicates_default_initial_population(): + num_duplicates = number_duplicate_genes(initial_population=initial_population) + + assert num_duplicates == 0 + def test_number_duplicates_float_gene_type(): num_genes = 10 num_duplicates = number_duplicate_genes(gene_type=float, @@ -60,6 +80,18 @@ def test_number_duplicates_float_gene_type(): assert num_duplicates == 0 +def test_number_duplicates_float_gene_type_initial_population(): + num_genes = 10 + num_duplicates = number_duplicate_genes(gene_type=float, + num_genes=num_genes, + init_range_low=0, + init_range_high=1, + initial_population=initial_population, + random_mutation_min_val=0, + random_mutation_max_val=1) + + assert num_duplicates == 0 + def test_number_duplicates_int_gene_type(): num_genes = 10 init_range_low = 0 @@ -76,6 +108,23 @@ def test_number_duplicates_int_gene_type(): assert num_duplicates == 0 +def test_number_duplicates_int_gene_type_initial_population(): + num_genes = 10 + init_range_low = 0 + init_range_high = init_range_low + num_genes + random_mutation_min_val = 0 + random_mutation_max_val = random_mutation_min_val + num_genes + num_duplicates = number_duplicate_genes(gene_type=int, + mutation_by_replacement=False, + num_genes=num_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + initial_population=initial_population, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val) + + assert num_duplicates == 0 + def test_number_duplicates_int_gene_type_replacement(): num_genes = 10 init_range_low = 0 @@ -92,12 +141,36 @@ def test_number_duplicates_int_gene_type_replacement(): assert num_duplicates == 0 +def test_number_duplicates_int_gene_type_replacement_initial_population(): + num_genes = 10 + init_range_low = 0 + init_range_high = init_range_low + num_genes + random_mutation_min_val = 0 + random_mutation_max_val = random_mutation_min_val + num_genes + num_duplicates = number_duplicate_genes(gene_type=int, + mutation_by_replacement=True, + num_genes=num_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + initial_population=initial_population, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val) + + assert num_duplicates == 0 + def test_number_duplicates_single_gene_space(): num_duplicates = number_duplicate_genes(gene_space=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], num_genes=10) assert num_duplicates == 0 +def test_number_duplicates_single_gene_space_initial_population(): + num_duplicates = number_duplicate_genes(gene_space=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + num_genes=10, + initial_population=initial_population) + + assert num_duplicates == 0 + def test_number_duplicates_single_range_gene_space(): num_genes = 10 num_duplicates = number_duplicate_genes(gene_space=range(num_genes), @@ -105,6 +178,14 @@ def test_number_duplicates_single_range_gene_space(): assert num_duplicates == 0 +def test_number_duplicates_single_range_gene_space_initial_population(): + num_genes = 10 + num_duplicates = number_duplicate_genes(gene_space=range(num_genes), + num_genes=num_genes, + initial_population=initial_population) + + assert num_duplicates == 0 + def test_number_duplicates_single_numpy_range_gene_space(): num_genes = 10 num_duplicates = number_duplicate_genes(gene_space=numpy.arange(num_genes), @@ -112,6 +193,14 @@ def test_number_duplicates_single_numpy_range_gene_space(): assert num_duplicates == 0 +def test_number_duplicates_single_numpy_range_gene_space_initial_population(): + num_genes = 10 + num_duplicates = number_duplicate_genes(gene_space=numpy.arange(num_genes), + num_genes=num_genes, + initial_population=initial_population) + + assert num_duplicates == 0 + def test_number_duplicates_nested_gene_space(): num_duplicates = number_duplicate_genes(gene_space=[[0, 1], [1, 2], @@ -124,27 +213,129 @@ def test_number_duplicates_nested_gene_space(): [8, 9], [9, 10]], gene_type=int, - random_mutation_min_val=11, - random_mutation_max_val=20, - mutation_by_replacement=True, num_genes=10) assert num_duplicates == 0 +def test_number_duplicates_nested_gene_space_initial_population(): + num_duplicates = number_duplicate_genes(gene_space=[[0, 1], + [1, 2], + [2, 3], + [3, 4], + [4, 5], + [5, 6], + [6, 7], + [7, 8], + [8, 9], + [9, 10]], + gene_type=int, + num_genes=10, + initial_population=initial_population) + + assert num_duplicates == 0 + + +# def test_number_duplicates_nested_gene_space_nested_gene_type(): + """ + This example causes duplicate genes that can only be solved by changing the values of a chain of genes. + Let's explain it using this solution: [0, 2, 3, 4, 5, 6, 6, 7, 8, 9] + It has 2 genes with the value 6 at indices 5 and 6. + According to the gene space, none of these genes can has a different value that solves the duplicates. + -If the value of the gene at index 5 is changed from 6 to 5, then it causes another duplicate with the gene at index 4. + -If the value of the gene at index 6 is changed from 6 to 7, then it causes another duplicate with the gene at index 7. + The solution is to change a chain of genes that make a room to solve the duplicates between the 2 genes. + 1) Change the second gene from 2 to 1. + 2) Change the third gene from 3 to 2. + 3) Change the fourth gene from 4 to 3. + 4) Change the fifth gene from 5 to 4. + 5) Change the sixth gene from 6 to 5. This solves the duplicates. + But this is NOT SUPPORTED yet. + We support changing only a single gene that makes a room to solve the duplicates. + + Let's explain it using this solution: [1, 2, 2, 4, 5, 6, 6, 7, 8, 9] + It has 2 genes with the value 2 at indices 1 and 2. + This is how the duplicates are solved: + 1) Change the first gene from 1 to 0. + 2) Change the second gene from 2 to 1. This solves the duplicates. + The result is [0, 1, 2, 4, 5, 6, 6, 7, 8, 9] + """ + # num_duplicates = number_duplicate_genes(gene_space=[[0, 1], + # [1, 2], + # [2, 3], + # [3, 4], + # [4, 5], + # [5, 6], + # [6, 7], + # [7, 8], + # [8, 9], + # [9, 10]], + # gene_type=[int, int, int, int, int, int, int, int, int, int], + # num_genes=10) + + # assert num_duplicates == 0 + +def test_number_duplicates_nested_gene_space_nested_gene_type_initial_population(): + num_duplicates = number_duplicate_genes(gene_space=[[0, 1], + [1, 2], + [2, 3], + [3, 4], + [4, 5], + [5, 6], + [6, 7], + [7, 8], + [8, 9], + [9, 10]], + gene_type=[int, int, int, int, int, int, int, int, int, int], + num_genes=10, + initial_population=initial_population) + + assert num_duplicates == 0 + if __name__ == "__main__": - # print() - # test_number_duplicates_default() - # print() - # test_number_duplicates_float_gene_type() - # print() - # test_number_duplicates_int_gene_type() - # print() - # test_number_duplicates_single_gene_space() - # print() - # test_number_duplicates_single_range_gene_space() - # print() - # test_number_duplicates_single_numpy_range_gene_space() print() + test_number_duplicates_default() + print() + test_number_duplicates_default_initial_population() + print() + + test_number_duplicates_float_gene_type() + print() + test_number_duplicates_float_gene_type_initial_population() + print() + + test_number_duplicates_int_gene_type() + print() + test_number_duplicates_int_gene_type_initial_population() + print() + + test_number_duplicates_int_gene_type_replacement() + print() + test_number_duplicates_int_gene_type_replacement_initial_population() + print() + + test_number_duplicates_single_gene_space() + print() + test_number_duplicates_single_gene_space_initial_population() + print() + + test_number_duplicates_single_range_gene_space() + print() + test_number_duplicates_single_range_gene_space_initial_population() + print() + + test_number_duplicates_single_numpy_range_gene_space() + print() + test_number_duplicates_single_numpy_range_gene_space_initial_population() + print() + test_number_duplicates_nested_gene_space() print() - + test_number_duplicates_nested_gene_space_initial_population() + print() + + # This example causes duplicates that can only be solved by changing a chain of genes. + # test_number_duplicates_nested_gene_space_nested_gene_type() + # print() + test_number_duplicates_nested_gene_space_nested_gene_type_initial_population() + print() + diff --git a/tests/test_gene_space.py b/tests/test_gene_space.py new file mode 100644 index 0000000..bdda870 --- /dev/null +++ b/tests/test_gene_space.py @@ -0,0 +1,345 @@ +import pygad +import random +import numpy + +num_generations = 100 + +initial_population = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]] + +# Test single gene space with nested gene type. + +def number_respect_gene_space(gene_space=None, + gene_type=float, + num_genes=10, + mutation_by_replacement=False, + random_mutation_min_val=-1, + random_mutation_max_val=1, + init_range_low=-4, + init_range_high=4, + initial_population=None): + + def fitness_func(ga, solution, idx): + return random.random() + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=fitness_func, + sol_per_pop=10, + num_genes=num_genes, + gene_space=gene_space, + gene_type=gene_type, + initial_population=initial_population, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + allow_duplicate_genes=True, + mutation_by_replacement=mutation_by_replacement, + save_solutions=True, + suppress_warnings=True) + + ga_instance.run() + ga_instance.solutions = numpy.array(ga_instance.solutions, + dtype=object) + + # gene_space_unpacked = ga_instance.unpack_gene_space(num_values_from_inf_range=100) + num_outside = 0 + if ga_instance.gene_space_nested == True: + for gene_idx in range(ga_instance.num_genes): + all_gene_values = ga_instance.solutions[:, gene_idx] + if type(ga_instance.gene_space[gene_idx]) in [list, tuple, range, numpy.ndarray]: + current_gene_space = list(ga_instance.gene_space[gene_idx]) + for val in all_gene_values: + if val in current_gene_space: + # print(val, current_gene_space) + pass + else: + # print(gene_idx, val, current_gene_space) + num_outside += 1 + elif type(ga_instance.gene_space[gene_idx]) is dict: + if not "step" in ga_instance.gene_space[gene_idx].keys(): + for val in all_gene_values: + if val >= ga_instance.gene_space[gene_idx]["low"] and val < ga_instance.gene_space[gene_idx]["high"]: + pass + else: + num_outside += 1 + else: + gene_space_values = numpy.arange(ga_instance.gene_space[gene_idx]["low"], + ga_instance.gene_space[gene_idx]["high"], + ga_instance.gene_space[gene_idx]["step"]) + for val in all_gene_values: + if val in gene_space_values: + pass + else: + num_outside += 1 + elif type(ga_instance.gene_space[gene_idx]) in ga_instance.supported_int_float_types: + for val in all_gene_values: + if val == ga_instance.gene_space[gene_idx]: + pass + else: + num_outside += 1 + else: + for gene_idx in range(ga_instance.num_genes): + all_gene_values = ga_instance.solutions[:, gene_idx] + # print("all_gene_values", gene_idx, all_gene_values) + if type(ga_instance.gene_space) in [list, tuple, range, numpy.ndarray]: + current_gene_space = list(ga_instance.gene_space) + for val in all_gene_values: + if val in current_gene_space: + pass + else: + num_outside += 1 + elif type(ga_instance.gene_space) is dict: + if not "step" in ga_instance.gene_space.keys(): + for val in all_gene_values: + if val >= ga_instance.gene_space["low"] and val < ga_instance.gene_space["high"]: + pass + else: + num_outside += 1 + else: + gene_space_values = numpy.arange(ga_instance.gene_space["low"], + ga_instance.gene_space["high"], + ga_instance.gene_space["step"]) + for val in all_gene_values: + if val in gene_space_values: + pass + else: + num_outside += 1 + + print("Number of outside range is {num_outside}.".format(num_outside=num_outside)) + return num_outside, ga_instance + +def test_gene_space_range(): + num_outside, _ = number_respect_gene_space(gene_space=range(10)) + + assert num_outside == 0 + +def test_gene_space_numpy_arange(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.arange(10)) + + assert num_outside == 0 + +def test_gene_space_list(): + num_outside, _ = number_respect_gene_space(gene_space=list(range(10))) + + assert num_outside == 0 + +def test_gene_space_numpy(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.array(list(range(10)))) + + assert num_outside == 0 + +def test_gene_space_dict_without_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10}) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_gene_space_dict_with_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10, "step": 2}) + + assert num_outside == 0 + +def test_gene_space_list_single_value(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[5]) + + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_range(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[range(0, 10), + range(10, 20), + range(20, 30), + range(30, 40), + range(40, 50), + range(50, 60), + range(60, 70), + range(70, 80), + range(80, 90), + range(90, 100)]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_dict_without_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10}, + {"low": 10, "high": 20}, + {"low": 20, "high": 30}, + {"low": 30, "high": 40}, + {"low": 40, "high": 50}, + {"low": 50, "high": 60}, + {"low": 60, "high": 70}, + {"low": 70, "high": 80}, + {"low": 80, "high": 90}, + {"low": 90, "high": 100}]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_dict_with_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10, "step": 1}, + {"low": 10, "high": 20, "step": 1.5}, + {"low": 20, "high": 30, "step": 2}, + {"low": 30, "high": 40, "step": 2.5}, + {"low": 40, "high": 50, "step": 3}, + {"low": 50, "high": 60, "step": 3.5}, + {"low": 60, "high": 70, "step": 4}, + {"low": 70, "high": 80, "step": 4.5}, + {"low": 80, "high": 90, "step": 5}, + {"low": 90, "high": 100, "step": 5.5}]) + # print(ga_instance.population) + + assert num_outside == 0 + + +def test_nested_gene_space_numpy_arange(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[numpy.arange(0, 10), + numpy.arange(10, 20), + numpy.arange(20, 30), + numpy.arange(30, 40), + numpy.arange(40, 50), + numpy.arange(50, 60), + numpy.arange(60, 70), + numpy.arange(70, 80), + numpy.arange(80, 90), + numpy.arange(90, 100)]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_list(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [-10, 10, 20, 30, 40, 50, 60, 70, 80, 90], + [-11, 11, 22, 33, 44, 55, 66, 77, 88, 99], + [-100, 100, 200, 300, 400, 500, 600, 700, 800, 900], + [-4.1, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9], + [-5.1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9], + [-10.5, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9], + [-15, 15, 25, 35, 45, 55, 65, 75, 85, 95], + [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], + [40, 41, 42, 43, 44, 45, 46, 47, 48, 49]]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_list2(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1], + [1, 2], + [2, 3], + [3, 4], + [4, 5], + [5, 6], + [6, 7], + [7, 8], + [8, 9], + [9, 10]]) + + assert num_outside == 0 + +def test_nested_gene_space_mix(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]], + gene_type=int) + + assert num_outside == 0 + +def test_nested_gene_space_mix_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_mix_initial_population(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + numpy.arange(0, 10), + range(0, 10), + {"low": 0, "high": 10}, + {"low": 00, "high": 10, "step": 1}, + range(0, 10), + numpy.arange(0, 10), + numpy.arange(0, 10), + {"low": 0, "high": 10}, + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]], + initial_population=initial_population) + # print(ga_instance.population) + + assert num_outside == 0 + +if __name__ == "__main__": + print() + test_gene_space_range() + print() + + test_gene_space_numpy_arange() + print() + + test_gene_space_list() + print() + + test_gene_space_list_single_value() + print() + + test_gene_space_numpy() + print() + + test_gene_space_dict_without_step() + print() + + test_gene_space_dict_with_step() + print() + + test_nested_gene_space_range() + print() + + test_nested_gene_space_dict_without_step() + print() + + test_nested_gene_space_dict_with_step() + print() + + test_nested_gene_space_numpy_arange() + print() + + test_nested_gene_space_list() + print() + + test_nested_gene_space_list2() + print() + + test_nested_gene_space_mix() + print() + + test_nested_gene_space_mix_nested_gene_type() + print() + + test_nested_gene_space_mix_initial_population() + print() \ No newline at end of file From 6b941522548559f389b84e6487ea749eff49a9d7 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 2 May 2023 22:40:35 -0400 Subject: [PATCH 041/220] Fixes and more tests --- pygad/helper/unique.py | 70 ++-- pygad/utils/mutation.py | 41 +- pygad/utils/parent_selection.py | 4 +- tests/test_gene_space.py | 47 ++- .../test_gene_space_allow_duplicate_genes.py | 391 ++++++++++++++++++ 5 files changed, 497 insertions(+), 56 deletions(-) create mode 100644 tests/test_gene_space_allow_duplicate_genes.py diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index 3224445..ad4bd8a 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -53,7 +53,7 @@ def solve_duplicate_genes_randomly(self, else: temp_val = numpy.random.uniform(low=min_val, high=max_val, - size=1) + size=1)[0] if mutation_by_replacement: pass else: @@ -69,7 +69,7 @@ def solve_duplicate_genes_randomly(self, else: temp_val = numpy.random.uniform(low=min_val, high=max_val, - size=1) + size=1)[0] if mutation_by_replacement: pass else: @@ -229,7 +229,7 @@ def unique_int_gene_from_range(self, # Note that we already know that the data type is integer. all_gene_values = numpy.asarray(all_gene_values, gene_type[gene_index][0]) - + values_to_select_from = list(set(all_gene_values) - set(solution)) if len(values_to_select_from) == 0: @@ -347,12 +347,12 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=low, high=high, - size=1) + size=1)[0] # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. - if self.mutation_by_replacement: - pass - else: - value_from_space = solution[gene_idx] + value_from_space + # if self.mutation_by_replacement: + # pass + # else: + # value_from_space = solution[gene_idx] + value_from_space else: if gene_type[gene_idx][0] in pygad.GA.supported_int_types: if build_initial_pop == True: @@ -378,12 +378,12 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=low, high=high, - size=1) + size=1)[0] # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. - if self.mutation_by_replacement: - pass - else: - value_from_space = solution[gene_idx] + value_from_space + # if self.mutation_by_replacement: + # pass + # else: + # value_from_space = solution[gene_idx] + value_from_space elif type(curr_gene_space) is dict: if self.gene_type_single == True: @@ -409,12 +409,12 @@ def unique_gene_by_space(self, else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], - size=1) + size=1)[0] # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. - if self.mutation_by_replacement: - pass - else: - value_from_space = solution[gene_idx] + value_from_space + # if self.mutation_by_replacement: + # pass + # else: + # value_from_space = solution[gene_idx] + value_from_space else: # Use index 0 to return the type from the list (e.g. [int, None] or [float, 2]). if gene_type[gene_idx][0] in pygad.GA.supported_int_types: @@ -439,12 +439,12 @@ def unique_gene_by_space(self, else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], - size=1) + size=1)[0] # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. - if self.mutation_by_replacement: - pass - else: - value_from_space = solution[gene_idx] + value_from_space + # if self.mutation_by_replacement: + # pass + # else: + # value_from_space = solution[gene_idx] + value_from_space else: # Selecting a value randomly based on the current gene's space in the 'gene_space' attribute. @@ -503,12 +503,12 @@ def unique_gene_by_space(self, else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], - size=1) + size=1)[0] # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. - if self.mutation_by_replacement: - pass - else: - value_from_space = solution[gene_idx] + value_from_space + # if self.mutation_by_replacement: + # pass + # else: + # value_from_space = solution[gene_idx] + value_from_space else: if gene_type[gene_idx][0] in pygad.GA.supported_int_types: if 'step' in self.gene_space.keys(): @@ -533,12 +533,12 @@ def unique_gene_by_space(self, else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], - size=1) + size=1)[0] # TODO: Remove check for mutation_by_replacement when solving duplicates. Just replace the gene by the selected value from space. - if self.mutation_by_replacement: - pass - else: - value_from_space = solution[gene_idx] + value_from_space + # if self.mutation_by_replacement: + # pass + # else: + # value_from_space = solution[gene_idx] + value_from_space else: # If the space type is not of type dict, then a value is randomly selected from the gene_space attribute. @@ -562,7 +562,7 @@ def unique_gene_by_space(self, value_from_space = numpy.random.uniform(low=low, high=high, - size=1) + size=1)[0] # Similar to the round_genes() method in the pygad module, # Create a round_gene() method to round a single gene. @@ -722,7 +722,7 @@ def unpack_gene_space(self, for idx in none_indices: random_value = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] gene_space_unpacked[space_idx][idx] = random_value if self.gene_type_single == True: # self.gene_type_single diff --git a/pygad/utils/mutation.py b/pygad/utils/mutation.py index 9ce8722..e6b67ff 100644 --- a/pygad/utils/mutation.py +++ b/pygad/utils/mutation.py @@ -67,7 +67,7 @@ def mutation_by_space(self, offspring): elif curr_gene_space is None: rand_val = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val else: @@ -82,7 +82,7 @@ def mutation_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], - size=1) + size=1)[0] else: # Selecting a value randomly based on the current gene's space in the 'gene_space' attribute. # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. @@ -108,7 +108,7 @@ def mutation_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], - size=1) + size=1)[0] else: # If the space type is not of type dict, then a value is randomly selected from the gene_space attribute. values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) @@ -120,9 +120,11 @@ def mutation_by_space(self, offspring): # value_from_space = random.choice(self.gene_space) if value_from_space is None: + # TODO: Return index 0. + # TODO: Check if this if statement is necessary. value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # Assinging the selected value from the space to the gene. if self.gene_type_single == True: @@ -135,6 +137,7 @@ def mutation_by_space(self, offspring): if not self.gene_type[gene_idx][1] is None: offspring[offspring_idx, gene_idx] = numpy.round(self.gene_type[gene_idx][0](value_from_space), self.gene_type[gene_idx][1]) + else: offspring[offspring_idx, gene_idx] = self.gene_type[gene_idx][0](value_from_space) @@ -172,7 +175,7 @@ def mutation_probs_by_space(self, offspring): elif curr_gene_space is None: rand_val = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val else: @@ -187,7 +190,7 @@ def mutation_probs_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], - size=1) + size=1)[0] else: # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. @@ -212,7 +215,7 @@ def mutation_probs_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], - size=1) + size=1)[0] else: values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) @@ -257,7 +260,7 @@ def mutation_randomly(self, offspring): # Generating a random value. random_value = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: if self.gene_type_single == True: @@ -312,7 +315,7 @@ def mutation_probs_randomly(self, offspring): # Generating a random value. random_value = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: if self.gene_type_single == True: @@ -509,7 +512,7 @@ def adaptive_mutation_by_space(self, offspring): elif curr_gene_space is None: rand_val = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val else: @@ -524,7 +527,7 @@ def adaptive_mutation_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], - size=1) + size=1)[0] else: # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. @@ -549,7 +552,7 @@ def adaptive_mutation_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], - size=1) + size=1)[0] else: values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) @@ -562,7 +565,7 @@ def adaptive_mutation_by_space(self, offspring): if value_from_space is None: value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # Assinging the selected value from the space to the gene. if self.gene_type_single == True: @@ -609,7 +612,7 @@ def adaptive_mutation_randomly(self, offspring): # Generating a random value. random_value = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: if self.gene_type_single == True: @@ -685,7 +688,7 @@ def adaptive_mutation_probs_by_space(self, offspring): elif curr_gene_space is None: rand_val = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val else: @@ -700,7 +703,7 @@ def adaptive_mutation_probs_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], - size=1) + size=1)[0] else: # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. @@ -725,7 +728,7 @@ def adaptive_mutation_probs_by_space(self, offspring): else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], - size=1) + size=1)[0] else: values_to_select_from = list(set(self.gene_space) - set([offspring[offspring_idx, gene_idx]])) @@ -737,7 +740,7 @@ def adaptive_mutation_probs_by_space(self, offspring): if value_from_space is None: value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # Assinging the selected value from the space to the gene. if self.gene_type_single == True: @@ -786,7 +789,7 @@ def adaptive_mutation_probs_randomly(self, offspring): # Generating a random value. random_value = numpy.random.uniform(low=self.random_mutation_min_val, high=self.random_mutation_max_val, - size=1) + size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: if self.gene_type_single == True: diff --git a/pygad/utils/parent_selection.py b/pygad/utils/parent_selection.py index 7f32181..976e130 100644 --- a/pygad/utils/parent_selection.py +++ b/pygad/utils/parent_selection.py @@ -171,7 +171,9 @@ def stochastic_universal_selection(self, fitness, num_parents): probs[min_probs_idx] = 99999999999 pointers_distance = 1.0 / self.num_parents_mating # Distance between different pointers. - first_pointer = numpy.random.uniform(low=0.0, high=pointers_distance, size=1) # Location of the first pointer. + first_pointer = numpy.random.uniform(low=0.0, + high=pointers_distance, + size=1)[0] # Location of the first pointer. # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. if self.gene_type_single == True: diff --git a/tests/test_gene_space.py b/tests/test_gene_space.py index bdda870..09bc221 100644 --- a/tests/test_gene_space.py +++ b/tests/test_gene_space.py @@ -1,3 +1,8 @@ +""" +This script is identical to the test_gene_space_allow_duplicate_genes.py script except for: + Setting allow_duplicate_genes=False instead of True. +""" + import pygad import random import numpy @@ -45,7 +50,8 @@ def fitness_func(ga, solution, idx): allow_duplicate_genes=True, mutation_by_replacement=mutation_by_replacement, save_solutions=True, - suppress_warnings=True) + suppress_warnings=True, + random_seed=1) ga_instance.run() ga_instance.solutions = numpy.array(ga_instance.solutions, @@ -186,6 +192,22 @@ def test_nested_gene_space_dict_without_step(): assert num_outside == 0 +def test_nested_gene_space_dict_without_step_float_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10}, + {"low": 10, "high": 20}, + {"low": 20, "high": 30}, + {"low": 30, "high": 40}, + {"low": 40, "high": 50}, + {"low": 50, "high": 60}, + {"low": 60, "high": 70}, + {"low": 70, "high": 80}, + {"low": 80, "high": 90}, + {"low": 90, "high": 100}], + gene_type=[float, 3]) + # print(ga_instance.population) + + assert num_outside == 0 + def test_nested_gene_space_dict_with_step(): num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10, "step": 1}, {"low": 10, "high": 20, "step": 1.5}, @@ -294,6 +316,23 @@ def test_nested_gene_space_mix_initial_population(): assert num_outside == 0 +def test_nested_gene_space_mix_initial_population_single_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + numpy.arange(0, 10), + range(0, 10), + {"low": 0, "high": 10}, + {"low": 0, "high": 10}, + range(0, 10), + numpy.arange(0, 10), + numpy.arange(0, 10), + {"low": 0, "high": 10}, + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + gene_type=[float, 2], + initial_population=initial_population) + # print(ga_instance.population) + + assert num_outside == 0 + if __name__ == "__main__": print() test_gene_space_range() @@ -323,6 +362,9 @@ def test_nested_gene_space_mix_initial_population(): test_nested_gene_space_dict_without_step() print() + test_nested_gene_space_dict_without_step_float_gene_type() + print() + test_nested_gene_space_dict_with_step() print() @@ -342,4 +384,7 @@ def test_nested_gene_space_mix_initial_population(): print() test_nested_gene_space_mix_initial_population() + print() + + test_nested_gene_space_mix_initial_population_single_gene_type() print() \ No newline at end of file diff --git a/tests/test_gene_space_allow_duplicate_genes.py b/tests/test_gene_space_allow_duplicate_genes.py new file mode 100644 index 0000000..804129a --- /dev/null +++ b/tests/test_gene_space_allow_duplicate_genes.py @@ -0,0 +1,391 @@ +""" +This script is identical to the test_gene_space.py script except for: + Setting allow_duplicate_genes=False instead of True. +""" + +import pygad +import random +import numpy + +num_generations = 100 + +initial_population = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]] + +# Test single gene space with nested gene type. + +def number_respect_gene_space(gene_space=None, + gene_type=float, + num_genes=10, + mutation_by_replacement=False, + random_mutation_min_val=-1, + random_mutation_max_val=1, + init_range_low=-4, + init_range_high=4, + initial_population=None): + + def fitness_func(ga, solution, idx): + return random.random() + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=fitness_func, + sol_per_pop=10, + num_genes=num_genes, + gene_space=gene_space, + gene_type=gene_type, + initial_population=initial_population, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + allow_duplicate_genes=False, + mutation_by_replacement=mutation_by_replacement, + save_solutions=True, + suppress_warnings=True, + random_seed=2) + + ga_instance.run() + ga_instance.solutions = numpy.array(ga_instance.solutions, + dtype=object) + + # gene_space_unpacked = ga_instance.unpack_gene_space(num_values_from_inf_range=100) + num_outside = 0 + if ga_instance.gene_space_nested == True: + for gene_idx in range(ga_instance.num_genes): + all_gene_values = ga_instance.solutions[:, gene_idx] + if type(ga_instance.gene_space[gene_idx]) in [list, tuple, range, numpy.ndarray]: + current_gene_space = list(ga_instance.gene_space[gene_idx]) + for val in all_gene_values: + if val in current_gene_space: + # print(val, current_gene_space) + pass + else: + # print(gene_idx, val, current_gene_space) + num_outside += 1 + elif type(ga_instance.gene_space[gene_idx]) is dict: + if not "step" in ga_instance.gene_space[gene_idx].keys(): + for val in all_gene_values: + if val >= ga_instance.gene_space[gene_idx]["low"] and val < ga_instance.gene_space[gene_idx]["high"]: + pass + else: + print(gene_idx, val, current_gene_space, all_gene_values) + num_outside += 1 + else: + gene_space_values = numpy.arange(ga_instance.gene_space[gene_idx]["low"], + ga_instance.gene_space[gene_idx]["high"], + ga_instance.gene_space[gene_idx]["step"]) + for val in all_gene_values: + if val in gene_space_values: + pass + else: + num_outside += 1 + elif type(ga_instance.gene_space[gene_idx]) in ga_instance.supported_int_float_types: + for val in all_gene_values: + if val == ga_instance.gene_space[gene_idx]: + pass + else: + num_outside += 1 + else: + for gene_idx in range(ga_instance.num_genes): + all_gene_values = ga_instance.solutions[:, gene_idx] + # print("all_gene_values", gene_idx, all_gene_values) + if type(ga_instance.gene_space) in [list, tuple, range, numpy.ndarray]: + current_gene_space = list(ga_instance.gene_space) + for val in all_gene_values: + if val in current_gene_space: + pass + else: + num_outside += 1 + elif type(ga_instance.gene_space) is dict: + if not "step" in ga_instance.gene_space.keys(): + for val in all_gene_values: + if val >= ga_instance.gene_space["low"] and val < ga_instance.gene_space["high"]: + pass + else: + num_outside += 1 + else: + gene_space_values = numpy.arange(ga_instance.gene_space["low"], + ga_instance.gene_space["high"], + ga_instance.gene_space["step"]) + for val in all_gene_values: + if val in gene_space_values: + pass + else: + num_outside += 1 + + print("Number of outside range is {num_outside}.".format(num_outside=num_outside)) + return num_outside, ga_instance + +def test_gene_space_range(): + num_outside, _ = number_respect_gene_space(gene_space=range(10)) + + assert num_outside == 0 + +def test_gene_space_numpy_arange(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.arange(10)) + + assert num_outside == 0 + +def test_gene_space_list(): + num_outside, _ = number_respect_gene_space(gene_space=list(range(10))) + + assert num_outside == 0 + +def test_gene_space_numpy(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.array(list(range(10)))) + + assert num_outside == 0 + +def test_gene_space_dict_without_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10}) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_gene_space_dict_with_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10, "step": 2}) + + assert num_outside == 0 + +def test_gene_space_list_single_value(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[5]) + + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_range(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[range(0, 10), + range(10, 20), + range(20, 30), + range(30, 40), + range(40, 50), + range(50, 60), + range(60, 70), + range(70, 80), + range(80, 90), + range(90, 100)]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_dict_without_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10}, + {"low": 10, "high": 20}, + {"low": 20, "high": 30}, + {"low": 30, "high": 40}, + {"low": 40, "high": 50}, + {"low": 50, "high": 60}, + {"low": 60, "high": 70}, + {"low": 70, "high": 80}, + {"low": 80, "high": 90}, + {"low": 90, "high": 100}]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_dict_without_step_float_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10}, + {"low": 10, "high": 20}, + {"low": 20, "high": 30}, + {"low": 30, "high": 40}, + {"low": 40, "high": 50}, + {"low": 50, "high": 60}, + {"low": 60, "high": 70}, + {"low": 70, "high": 80}, + {"low": 80, "high": 90}, + {"low": 90, "high": 100}], + gene_type=[float, 3]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_dict_with_step(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[{"low": 0, "high": 10, "step": 1}, + {"low": 10, "high": 20, "step": 1.5}, + {"low": 20, "high": 30, "step": 2}, + {"low": 30, "high": 40, "step": 2.5}, + {"low": 40, "high": 50, "step": 3}, + {"low": 50, "high": 60, "step": 3.5}, + {"low": 60, "high": 70, "step": 4}, + {"low": 70, "high": 80, "step": 4.5}, + {"low": 80, "high": 90, "step": 5}, + {"low": 90, "high": 100, "step": 5.5}]) + # print(ga_instance.population) + + assert num_outside == 0 + + +def test_nested_gene_space_numpy_arange(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[numpy.arange(0, 10), + numpy.arange(10, 20), + numpy.arange(20, 30), + numpy.arange(30, 40), + numpy.arange(40, 50), + numpy.arange(50, 60), + numpy.arange(60, 70), + numpy.arange(70, 80), + numpy.arange(80, 90), + numpy.arange(90, 100)]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_list(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [-10, 10, 20, 30, 40, 50, 60, 70, 80, 90], + [-11, 11, 22, 33, 44, 55, 66, 77, 88, 99], + [-100, 100, 200, 300, 400, 500, 600, 700, 800, 900], + [-4.1, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9], + [-5.1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9], + [-10.5, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9], + [-15, 15, 25, 35, 45, 55, 65, 75, 85, 95], + [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], + [40, 41, 42, 43, 44, 45, 46, 47, 48, 49]]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_list2(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1], + [1, 2], + [2, 3], + [3, 4], + [4, 5], + [5, 6], + [6, 7], + [7, 8], + [8, 9], + [9, 10]]) + + assert num_outside == 0 + +def test_nested_gene_space_mix(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]], + gene_type=int) + + assert num_outside == 0 + +def test_nested_gene_space_mix_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_mix_initial_population(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + numpy.arange(0, 10), + range(0, 10), + {"low": 0, "high": 10}, + {"low": 00, "high": 10, "step": 1}, + range(0, 10), + numpy.arange(0, 10), + numpy.arange(0, 10), + {"low": 0, "high": 10}, + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]], + initial_population=initial_population) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_mix_initial_population_single_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + numpy.arange(0, 10), + range(0, 10), + {"low": 0, "high": 10}, + {"low": 0, "high": 10}, + range(0, 10), + numpy.arange(0, 10), + numpy.arange(0, 10), + {"low": 0, "high": 10}, + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + gene_type=[float, 2], + initial_population=initial_population) + # print(ga_instance.population) + + assert num_outside == 0 + +if __name__ == "__main__": + print() + test_gene_space_range() + print() + + test_gene_space_numpy_arange() + print() + + test_gene_space_list() + print() + + test_gene_space_list_single_value() + print() + + test_gene_space_numpy() + print() + + test_gene_space_dict_without_step() + print() + + test_gene_space_dict_with_step() + print() + + test_nested_gene_space_range() + print() + + test_nested_gene_space_dict_without_step() + print() + + test_nested_gene_space_dict_without_step_float_gene_type() + print() + + test_nested_gene_space_dict_with_step() + print() + + test_nested_gene_space_numpy_arange() + print() + + test_nested_gene_space_list() + print() + + test_nested_gene_space_list2() + print() + + test_nested_gene_space_mix() + print() + + test_nested_gene_space_mix_nested_gene_type() + print() + + test_nested_gene_space_mix_initial_population() + print() + + test_nested_gene_space_mix_initial_population_single_gene_type() + print() \ No newline at end of file From 2f139d3e2c226ce4ccb5cdea37f695c7b549527f Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 3 May 2023 00:38:54 -0400 Subject: [PATCH 042/220] Fixes and more tests --- pygad/utils/mutation.py | 25 ++- tests/test_crossover_mutation.py | 188 ++++++++++++++++++ tests/test_gene_space.py | 63 +++++- .../test_gene_space_allow_duplicate_genes.py | 100 ++++++++-- 4 files changed, 345 insertions(+), 31 deletions(-) create mode 100644 tests/test_crossover_mutation.py diff --git a/pygad/utils/mutation.py b/pygad/utils/mutation.py index e6b67ff..326ba6b 100644 --- a/pygad/utils/mutation.py +++ b/pygad/utils/mutation.py @@ -75,10 +75,13 @@ def mutation_by_space(self, offspring): elif type(curr_gene_space) is dict: # The gene's space of type dict specifies the lower and upper limits of a gene. if 'step' in curr_gene_space.keys(): + # The numpy.random.choice() and numpy.random.uniform() functions return a NumPy array as the output even if the array has a single value. + # We have to return the output at index 0 to force a numeric value to be returned not an object of type numpy.ndarray. + # If numpy.ndarray is returned, then it will cause an issue later while using the set() function. value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], stop=curr_gene_space['high'], step=curr_gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], @@ -104,7 +107,7 @@ def mutation_by_space(self, offspring): value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], stop=self.gene_space['high'], step=self.gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], @@ -186,7 +189,7 @@ def mutation_probs_by_space(self, offspring): value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], stop=curr_gene_space['high'], step=curr_gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], @@ -211,7 +214,7 @@ def mutation_probs_by_space(self, offspring): value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], stop=self.gene_space['high'], step=self.gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], @@ -520,10 +523,13 @@ def adaptive_mutation_by_space(self, offspring): elif type(curr_gene_space) is dict: # Selecting a value randomly from the current gene's space in the 'gene_space' attribute. if 'step' in curr_gene_space.keys(): + # The numpy.random.choice() and numpy.random.uniform() functions return a NumPy array as the output even if the array has a single value. + # We have to return the output at index 0 to force a numeric value to be returned not an object of type numpy.ndarray. + # If numpy.ndarray is returned, then it will cause an issue later while using the set() function. value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], stop=curr_gene_space['high'], step=curr_gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], @@ -548,7 +554,7 @@ def adaptive_mutation_by_space(self, offspring): value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], stop=self.gene_space['high'], step=self.gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], @@ -699,7 +705,7 @@ def adaptive_mutation_probs_by_space(self, offspring): value_from_space = numpy.random.choice(numpy.arange(start=curr_gene_space['low'], stop=curr_gene_space['high'], step=curr_gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=curr_gene_space['low'], high=curr_gene_space['high'], @@ -721,10 +727,13 @@ def adaptive_mutation_probs_by_space(self, offspring): # Selecting a value randomly from the global gene space in the 'gene_space' attribute. if type(self.gene_space) is dict: if 'step' in self.gene_space.keys(): + # The numpy.random.choice() and numpy.random.uniform() functions return a NumPy array as the output even if the array has a single value. + # We have to return the output at index 0 to force a numeric value to be returned not an object of type numpy.ndarray. + # If numpy.ndarray is returned, then it will cause an issue later while using the set() function. value_from_space = numpy.random.choice(numpy.arange(start=self.gene_space['low'], stop=self.gene_space['high'], step=self.gene_space['step']), - size=1) + size=1)[0] else: value_from_space = numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], diff --git a/tests/test_crossover_mutation.py b/tests/test_crossover_mutation.py new file mode 100644 index 0000000..f65a795 --- /dev/null +++ b/tests/test_crossover_mutation.py @@ -0,0 +1,188 @@ +import pygad +import random +import numpy + +num_generations = 1 + +initial_population = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]] + +def output_crossover_mutation(gene_space=None, + gene_type=float, + num_genes=10, + mutation_by_replacement=False, + random_mutation_min_val=-1, + random_mutation_max_val=1, + init_range_low=-4, + init_range_high=4, + initial_population=None, + crossover_probability=None, + mutation_probability=None, + crossover_type=None, + mutation_type=None): + + def fitness_func(ga, solution, idx): + return random.random() + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=fitness_func, + sol_per_pop=10, + num_genes=num_genes, + gene_space=gene_space, + gene_type=gene_type, + initial_population=initial_population, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + allow_duplicate_genes=True, + mutation_by_replacement=mutation_by_replacement, + save_solutions=True, + crossover_probability=crossover_probability, + mutation_probability=mutation_probability, + crossover_type=crossover_type, + mutation_type=mutation_type, + suppress_warnings=True, + random_seed=1) + + ga_instance.run() + + comparison_result = [] + for solution_idx, solution in enumerate(ga_instance.population): + if list(solution) in ga_instance.initial_population.tolist(): + comparison_result.append(True) + else: + comparison_result.append(False) + + comparison_result = numpy.array(comparison_result) + result = numpy.all(comparison_result == True) + + print("Comparison result is {result}".format(result=result)) + return result, ga_instance + +def test_no_crossover_no_mutation(): + result, ga_instance = output_crossover_mutation() + + assert result == True + +def test_no_crossover_no_mutation_gene_space(): + result, ga_instance = output_crossover_mutation(gene_space=range(10)) + + assert result == True + +def test_no_crossover_no_mutation_int_gene_type(): + result, ga_instance = output_crossover_mutation(gene_type=int) + + assert result == True + + +def test_no_crossover_no_mutation_gene_space_gene_type(): + result, ga_instance = output_crossover_mutation(gene_space={"low": 0, "high": 10}, + gene_type=[float, 2]) + + assert result == True + + +def test_no_crossover_no_mutation_nested_gene_space(): + result, ga_instance = output_crossover_mutation(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]]) + assert result == True + +def test_no_crossover_no_mutation_nested_gene_type(): + result, ga_instance = output_crossover_mutation(gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert result == True + +def test_no_crossover_no_mutation_nested_gene_space_nested_gene_type(): + result, ga_instance = output_crossover_mutation(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert result == True + +def test_no_crossover_no_mutation_initial_population(): + global initial_population + result, ga_instance = output_crossover_mutation(initial_population=initial_population) + + assert result == True + +def test_no_crossover_no_mutation_initial_population_nested_gene_type(): + global initial_population + result, ga_instance = output_crossover_mutation(initial_population=initial_population, + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert result == True + +def test_crossover_no_mutation_zero_crossover_probability(): + global initial_population + result, ga_instance = output_crossover_mutation(crossover_type="single_point", + crossover_probability=0.0) + + assert result == True + +def test_zero_crossover_probability_zero_mutation_probability(): + global initial_population + result, ga_instance = output_crossover_mutation(crossover_type="single_point", + crossover_probability=0.0, + mutation_type="random", + mutation_probability=0.0) + + assert result == True + +if __name__ == "__main__": + print() + test_no_crossover_no_mutation() + print() + + test_no_crossover_no_mutation_int_gene_type() + print() + + test_no_crossover_no_mutation_gene_space() + print() + + test_no_crossover_no_mutation_gene_space_gene_type() + print() + + test_no_crossover_no_mutation_nested_gene_space() + print() + + test_no_crossover_no_mutation_nested_gene_type() + print() + + test_no_crossover_no_mutation_initial_population() + print() + + test_no_crossover_no_mutation_initial_population_nested_gene_type() + print() + + test_crossover_no_mutation_zero_crossover_probability() + print() + + test_zero_crossover_probability_zero_mutation_probability() + print() + diff --git a/tests/test_gene_space.py b/tests/test_gene_space.py index 09bc221..063acf7 100644 --- a/tests/test_gene_space.py +++ b/tests/test_gene_space.py @@ -1,6 +1,6 @@ """ This script is identical to the test_gene_space_allow_duplicate_genes.py script except for: - Setting allow_duplicate_genes=False instead of True. + Setting allow_duplicate_genes=True instead of False. """ import pygad @@ -51,7 +51,7 @@ def fitness_func(ga, solution, idx): mutation_by_replacement=mutation_by_replacement, save_solutions=True, suppress_warnings=True, - random_seed=1) + random_seed=2) ga_instance.run() ga_instance.solutions = numpy.array(ga_instance.solutions, @@ -162,6 +162,51 @@ def test_gene_space_list_single_value(): assert num_outside == 0 +def test_gene_space_range_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=range(10), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_numpy_arange_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.arange(10), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_list_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=list(range(10)), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_numpy_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.array(list(range(10))), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_dict_without_step_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10}, + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_gene_space_dict_with_step_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10, "step": 2}, + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_list_single_value_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[5], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + # print(ga_instance.population) + + assert num_outside == 0 + def test_nested_gene_space_range(): num_outside, ga_instance = number_respect_gene_space(gene_space=[range(0, 10), range(10, 20), @@ -337,24 +382,38 @@ def test_nested_gene_space_mix_initial_population_single_gene_type(): print() test_gene_space_range() print() + test_gene_space_range_nested_gene_type() + print() test_gene_space_numpy_arange() print() + test_gene_space_numpy_arange_nested_gene_type() + print() test_gene_space_list() print() + test_gene_space_list_nested_gene_type() + print() test_gene_space_list_single_value() print() + test_gene_space_list_single_value_nested_gene_type() + print() test_gene_space_numpy() print() + test_gene_space_numpy_nested_gene_type() + print() test_gene_space_dict_without_step() print() + test_gene_space_dict_without_step_nested_gene_type() + print() test_gene_space_dict_with_step() print() + test_gene_space_dict_with_step_nested_gene_type() + print() test_nested_gene_space_range() print() diff --git a/tests/test_gene_space_allow_duplicate_genes.py b/tests/test_gene_space_allow_duplicate_genes.py index 804129a..2a65f1a 100644 --- a/tests/test_gene_space_allow_duplicate_genes.py +++ b/tests/test_gene_space_allow_duplicate_genes.py @@ -77,7 +77,6 @@ def fitness_func(ga, solution, idx): if val >= ga_instance.gene_space[gene_idx]["low"] and val < ga_instance.gene_space[gene_idx]["high"]: pass else: - print(gene_idx, val, current_gene_space, all_gene_values) num_outside += 1 else: gene_space_values = numpy.arange(ga_instance.gene_space[gene_idx]["low"], @@ -163,6 +162,51 @@ def test_gene_space_list_single_value(): assert num_outside == 0 +def test_gene_space_range_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=range(10), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_numpy_arange_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.arange(10), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_list_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=list(range(10)), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_numpy_nested_gene_type(): + num_outside, _ = number_respect_gene_space(gene_space=numpy.array(list(range(10))), + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_dict_without_step_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10}, + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + # print(ga_instance.population) + + assert num_outside == 0 + +def test_gene_space_dict_with_step_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space={"low": 0, "high": 10, "step": 2}, + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + assert num_outside == 0 + +def test_gene_space_list_single_value_nested_gene_type(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[5], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + # print(ga_instance.population) + + assert num_outside == 0 + def test_nested_gene_space_range(): num_outside, ga_instance = number_respect_gene_space(gene_space=[range(0, 10), range(10, 20), @@ -335,26 +379,40 @@ def test_nested_gene_space_mix_initial_population_single_gene_type(): assert num_outside == 0 if __name__ == "__main__": - print() - test_gene_space_range() - print() - - test_gene_space_numpy_arange() - print() - - test_gene_space_list() - print() - - test_gene_space_list_single_value() - print() - - test_gene_space_numpy() - print() - - test_gene_space_dict_without_step() - print() - - test_gene_space_dict_with_step() + # print() + # test_gene_space_range() + # print() + # test_gene_space_range_nested_gene_type() + # print() + + # test_gene_space_numpy_arange() + # print() + # test_gene_space_numpy_arange_nested_gene_type() + # print() + + # test_gene_space_list() + # print() + # test_gene_space_list_nested_gene_type() + # print() + + # test_gene_space_list_single_value() + # print() + # test_gene_space_list_single_value_nested_gene_type() + # print() + + # test_gene_space_numpy() + # print() + # test_gene_space_numpy_nested_gene_type() + # print() + + # test_gene_space_dict_without_step() + # print() + # test_gene_space_dict_without_step_nested_gene_type() + # print() + + # test_gene_space_dict_with_step() + # print() + test_gene_space_dict_with_step_nested_gene_type() print() test_nested_gene_space_range() From d8b637209401f1e3d56cec38bf74bc30ab21fe88 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 3 May 2023 12:26:29 -0400 Subject: [PATCH 043/220] Test lifecycle without crossover & mutation --- tests/test_lifecycle_callbacks_calls.py | 76 +++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 6 deletions(-) diff --git a/tests/test_lifecycle_callbacks_calls.py b/tests/test_lifecycle_callbacks_calls.py index 65b38c5..a6cce83 100644 --- a/tests/test_lifecycle_callbacks_calls.py +++ b/tests/test_lifecycle_callbacks_calls.py @@ -3,7 +3,9 @@ num_generations = 100 def number_lifecycle_callback_functions_calls(stop_criteria=None, - on_generation_stop=None): + on_generation_stop=None, + crossover_type="single_point", + mutation_type="random"): actual_num_callbacks_calls = 0 def fitness_func(ga_instanse, solution, solution_idx): @@ -46,6 +48,8 @@ def on_stop(ga_instance, last_population_fitness): fitness_func=fitness_func, sol_per_pop=10, num_genes=5, + crossover_type=crossover_type, + mutation_type=mutation_type, on_start=on_start, on_fitness=on_fitness, on_parents=on_parents, @@ -71,12 +75,14 @@ def on_stop(ga_instance, last_population_fitness): # Use 'generations_completed' instead of 'num_generations' because the evolution may stops in the on_generation() callback. expected_num_callbacks_calls = 1 + ga_instance.generations_completed * 5 + 1 - print("Expected number of callbacks calls is {expected_num_callbacks_calls}.".format(expected_num_callbacks_calls=expected_num_callbacks_calls)) - print("Actual number of callbacks calls is {actual_num_callbacks_calls}.".format(actual_num_callbacks_calls=actual_num_callbacks_calls)) + print("Expected {expected_num_callbacks_calls}.".format(expected_num_callbacks_calls=expected_num_callbacks_calls)) + print("Actual {actual_num_callbacks_calls}.".format(actual_num_callbacks_calls=actual_num_callbacks_calls)) return actual_num_callbacks_calls, expected_num_callbacks_calls def number_lifecycle_callback_methods_calls(stop_criteria=None, - on_generation_stop=None): + on_generation_stop=None, + crossover_type="single_point", + mutation_type="random"): actual_num_callbacks_calls = 0 class Callbacks: @@ -121,6 +127,8 @@ def on_stop(self, ga_instance, last_population_fitness): fitness_func=Callbacks_obj.fitness_func, sol_per_pop=10, num_genes=5, + crossover_type=crossover_type, + mutation_type=mutation_type, on_start=Callbacks_obj.on_start, on_fitness=Callbacks_obj.on_fitness, on_parents=Callbacks_obj.on_parents, @@ -146,8 +154,8 @@ def on_stop(self, ga_instance, last_population_fitness): # Use 'generations_completed' instead of 'num_generations' because the evolution may stops in the on_generation() callback. expected_num_callbacks_calls = 1 + ga_instance.generations_completed * 5 + 1 - print("Expected number of callbacks calls is {expected_num_callbacks_calls}.".format(expected_num_callbacks_calls=expected_num_callbacks_calls)) - print("Actual number of callbacks calls is {actual_num_callbacks_calls}.".format(actual_num_callbacks_calls=actual_num_callbacks_calls)) + print("Expected {expected_num_callbacks_calls}.".format(expected_num_callbacks_calls=expected_num_callbacks_calls)) + print("Actual {actual_num_callbacks_calls}.".format(actual_num_callbacks_calls=actual_num_callbacks_calls)) return actual_num_callbacks_calls, expected_num_callbacks_calls def test_number_lifecycle_callback_functions_calls(): @@ -170,13 +178,69 @@ def test_number_lifecycle_callback_methods_calls_stop_criteria(): assert actual == expected +def test_number_lifecycle_callback_functions_calls_no_crossover(): + actual, expected = number_lifecycle_callback_functions_calls(crossover_type=None) + + assert actual == expected + +def test_number_lifecycle_callback_functions_calls_no_mutation(): + actual, expected = number_lifecycle_callback_functions_calls(mutation_type=None) + + assert actual == expected + +def test_number_lifecycle_callback_functions_calls_no_crossover_no_mutation(): + actual, expected = number_lifecycle_callback_functions_calls(crossover_type=None, + mutation_type=None) + + assert actual == expected + +def test_number_lifecycle_callback_methods_calls_no_crossover(): + actual, expected = number_lifecycle_callback_methods_calls(crossover_type=None) + + assert actual == expected + +def test_number_lifecycle_callback_methods_calls_no_mutation(): + actual, expected = number_lifecycle_callback_methods_calls(mutation_type=None) + + assert actual == expected + +def test_number_lifecycle_callback_methods_calls_no_crossover_no_mutation(): + actual, expected = number_lifecycle_callback_methods_calls(crossover_type=None, + mutation_type=None) + + assert actual == expected + if __name__ == "__main__": print() test_number_lifecycle_callback_functions_calls() print() + test_number_lifecycle_callback_functions_calls_stop_criteria() print() + test_number_lifecycle_callback_methods_calls() print() + test_number_lifecycle_callback_methods_calls_stop_criteria() print() + + test_number_lifecycle_callback_functions_calls_no_crossover() + print() + + test_number_lifecycle_callback_functions_calls_no_crossover() + print() + + test_number_lifecycle_callback_functions_calls_no_mutation() + print() + + test_number_lifecycle_callback_functions_calls_no_crossover_no_mutation() + print() + + test_number_lifecycle_callback_methods_calls_no_crossover() + print() + + test_number_lifecycle_callback_methods_calls_no_mutation() + print() + + test_number_lifecycle_callback_methods_calls_no_crossover_no_mutation() + print() From d2d9b7ac2441b0914640835ad5e28e4c0b0d73c5 Mon Sep 17 00:00:00 2001 From: King Lok Chung Date: Thu, 4 May 2023 13:36:45 +0100 Subject: [PATCH 044/220] Changing all the string to fstring --- pygad/pygad.py | 628 ++++++++++++++++++++++++------------------------- 1 file changed, 314 insertions(+), 314 deletions(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index b7382cc..ea6d249 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -158,7 +158,7 @@ def __init__(self, if isinstance(logger, logging.Logger): pass else: - raise TypeError("The expected type of the 'logger' parameter is 'logging.Logger' but {logger_type} found.".format(logger_type=type(logger))) + raise TypeError(f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") # Create the 'self.logger' attribute to hold the logger. # Instead of using 'print()', use 'self.logger.info()' @@ -176,22 +176,22 @@ def __init__(self, self.suppress_warnings = suppress_warnings else: self.valid_parameters = False - self.logger.error("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) - raise TypeError("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) + self.logger.error(f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") + raise TypeError(f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") # Validating mutation_by_replacement if not (type(mutation_by_replacement) is bool): self.valid_parameters = False - self.logger.error("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) - raise TypeError("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) + self.logger.error(f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") + raise TypeError(f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") self.mutation_by_replacement = mutation_by_replacement # Validate allow_duplicate_genes if not (type(allow_duplicate_genes) is bool): self.valid_parameters = False - self.logger.error("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - raise TypeError("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) + self.logger.error(f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") + raise TypeError(f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") self.allow_duplicate_genes = allow_duplicate_genes @@ -214,13 +214,13 @@ def __init__(self, if type(el) in [numpy.ndarray, list, tuple, range]: if len(el) == 0: self.valid_parameters = False - self.logger.error("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) - raise ValueError("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) + self.logger.error(f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") + raise ValueError(f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") else: for val in el: if not (type(val) in [type(None)] + GA.supported_int_float_types): - self.logger.error("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) - raise TypeError("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) + self.logger.error(f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") + raise TypeError(f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") self.gene_space_nested = True elif type(el) == type(None): pass @@ -231,24 +231,24 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) + self.logger.error(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") elif len(el.items()) == 3: if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): pass else: self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) + self.logger.error(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") else: self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) + self.logger.error(f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") + raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") self.gene_space_nested = True elif not (type(el) in GA.supported_int_float_types): self.valid_parameters = False - self.logger.error("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) - raise TypeError("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) + self.logger.error(f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") + raise TypeError(f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") elif type(gene_space) is dict: if len(gene_space.items()) == 2: @@ -256,24 +256,24 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + self.logger.error(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") elif len(gene_space.items()) == 3: if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): pass else: self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + self.logger.error(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") else: self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) - raise ValueError("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) + self.logger.error(f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") + raise ValueError(f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") else: self.valid_parameters = False - self.logger.error("The expected type of 'gene_space' is list, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) - raise TypeError("The expected type of 'gene_space' is list, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) + self.logger.error(f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") + raise TypeError(f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") self.gene_space = gene_space @@ -284,12 +284,12 @@ def __init__(self, self.init_range_high = init_range_high else: self.valid_parameters = False - self.logger.error("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) - raise ValueError("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) + self.logger.error(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") + raise ValueError(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") else: self.valid_parameters = False - self.logger.error("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) - raise ValueError("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) + self.logger.error(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + raise ValueError(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") # Validate random_mutation_min_val and random_mutation_max_val if type(random_mutation_min_val) in GA.supported_int_float_types: @@ -298,12 +298,12 @@ def __init__(self, if not self.suppress_warnings: warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") else: self.valid_parameters = False - self.logger.error("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) - raise TypeError("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) + self.logger.error(f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") + raise TypeError(f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") else: self.valid_parameters = False - self.logger.error("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) - raise TypeError("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) + self.logger.error(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") + raise TypeError(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") self.random_mutation_min_val = random_mutation_min_val self.random_mutation_max_val = random_mutation_max_val @@ -318,8 +318,8 @@ def __init__(self, # A single data type of int with precision. elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): self.gene_type_single = False - self.logger.error("Integers cannot have precision. Please use the integer data type directly instead of {gene_type_val}.".format(gene_type_val=gene_type)) - raise ValueError("Integers cannot have precision. Please use the integer data type directly instead of {gene_type_val}.".format(gene_type_val=gene_type)) + self.logger.error(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") + raise ValueError(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") elif type(gene_type) in [list, tuple, numpy.ndarray]: if num_genes is None: if initial_population is None: @@ -328,12 +328,12 @@ def __init__(self, raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") elif not len(gene_type) == len(initial_population[0]): self.valid_parameters = False - self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) - raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) + self.logger.error(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") + raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") elif not len(gene_type) == num_genes: self.valid_parameters = False - self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) - raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) + self.logger.error(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") + raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") for gene_type_idx, gene_type_val in enumerate(gene_type): if gene_type_val in GA.supported_float_types: # If the gene type is float and no precision is passed, set it to None. @@ -348,26 +348,26 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) + self.logger.error(f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") + raise TypeError(f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) + self.logger.error(f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") + raise TypeError(f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) - raise ValueError("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) + self.logger.error(f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") + raise ValueError(f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") else: self.valid_parameters = False - self.logger.error("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) - raise ValueError("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) + self.logger.error(f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") + raise ValueError(f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") self.gene_type = gene_type self.gene_type_single = False else: self.valid_parameters = False - self.logger.error("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) - raise ValueError("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) + self.logger.error(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") + raise ValueError(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. self.gene_space_unpacked = self.unpack_gene_space() @@ -382,13 +382,13 @@ def __init__(self, # Validating the number of solutions in the population (sol_per_pop) if sol_per_pop <= 0: self.valid_parameters = False - self.logger.error("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) - raise ValueError("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) + self.logger.error(f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + raise ValueError(f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") # Validating the number of gene. if (num_genes <= 0): self.valid_parameters = False - self.logger.error("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) - raise ValueError("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) + self.logger.error(f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") + raise ValueError(f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. self.num_genes = num_genes # Number of genes in the solution. @@ -397,8 +397,8 @@ def __init__(self, if self.gene_space_nested: if len(gene_space) != self.num_genes: self.valid_parameters = False - self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) - raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) + self.logger.error(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") self.sol_per_pop = sol_per_pop # Number of solutions in the population. self.initialize_population(self.init_range_low, @@ -408,16 +408,16 @@ def __init__(self, self.gene_type) else: self.valid_parameters = False - self.logger.error("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) - raise TypeError("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) + self.logger.error(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") + raise TypeError(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") elif not type(initial_population) in [list, tuple, numpy.ndarray]: self.valid_parameters = False - self.logger.error("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) - raise TypeError("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) + self.logger.error(f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") + raise TypeError(f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") elif numpy.array(initial_population).ndim != 2: self.valid_parameters = False - self.logger.error("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) - raise ValueError("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) + self.logger.error(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") + raise ValueError(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") else: # Validate the type of each value in the 'initial_population' parameter. for row_idx in range(len(initial_population)): @@ -426,8 +426,8 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) - raise TypeError("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) + self.logger.error(f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") + raise TypeError(f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") # Forcing the initial_population array to have the data type assigned to the gene_type parameter. if self.gene_type_single == True: @@ -482,20 +482,20 @@ def __init__(self, if self.gene_space_nested: if len(gene_space) != self.num_genes: self.valid_parameters = False - self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) - raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) + self.logger.error(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") # Validating the number of parents to be selected for mating (num_parents_mating) if num_parents_mating <= 0: self.valid_parameters = False - self.logger.error("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) - raise ValueError("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) + self.logger.error(f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + raise ValueError(f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") # Validating the number of parents to be selected for mating: num_parents_mating if (num_parents_mating > self.sol_per_pop): self.valid_parameters = False - self.logger.error("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) - raise ValueError("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) + self.logger.error(f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") + raise ValueError(f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") self.num_parents_mating = num_parents_mating @@ -510,8 +510,8 @@ def __init__(self, self.crossover = crossover_type else: self.valid_parameters = False - self.logger.error("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - raise ValueError("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) + self.logger.error(f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + raise ValueError(f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") elif callable(crossover_type): # Check if the crossover_type is a function that accepts 2 paramaters. if (crossover_type.__code__.co_argcount == 3): @@ -519,12 +519,12 @@ def __init__(self, self.crossover = crossover_type else: self.valid_parameters = False - self.logger.error("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - raise ValueError("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) + self.logger.error(f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + raise ValueError(f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") elif not (type(crossover_type) is str): self.valid_parameters = False - self.logger.error("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) - raise TypeError("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) + self.logger.error(f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") + raise TypeError(f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") else: # type crossover_type is str crossover_type = crossover_type.lower() if (crossover_type == "single_point"): @@ -537,8 +537,8 @@ def __init__(self, self.crossover = self.scattered_crossover else: self.valid_parameters = False - self.logger.error("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) - raise TypeError("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) + self.logger.error(f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") + raise TypeError(f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") self.crossover_type = crossover_type @@ -550,12 +550,12 @@ def __init__(self, self.crossover_probability = crossover_probability else: self.valid_parameters = False - self.logger.error("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) - raise ValueError("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) + self.logger.error(f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") + raise ValueError(f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") else: self.valid_parameters = False - self.logger.error("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) - raise TypeError("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) + self.logger.error(f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") + raise TypeError(f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. # Validating the mutation type: mutation_type @@ -569,8 +569,8 @@ def __init__(self, self.mutation = mutation_type else: self.valid_parameters = False - self.logger.error("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - raise ValueError("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) + self.logger.error(f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + raise ValueError(f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") elif callable(mutation_type): # Check if the mutation_type is a function that accepts 2 paramater. if (mutation_type.__code__.co_argcount == 2): @@ -578,12 +578,12 @@ def __init__(self, self.mutation = mutation_type else: self.valid_parameters = False - self.logger.error("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - raise ValueError("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) + self.logger.error(f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + raise ValueError(f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") elif not (type(mutation_type) is str): self.valid_parameters = False - self.logger.error("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) - raise TypeError("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) + self.logger.error(f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") + raise TypeError(f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") else: # type mutation_type is str mutation_type = mutation_type.lower() if (mutation_type == "random"): @@ -598,8 +598,8 @@ def __init__(self, self.mutation = self.adaptive_mutation else: self.valid_parameters = False - self.logger.error("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) - raise TypeError("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) + self.logger.error(f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") + raise TypeError(f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") self.mutation_type = mutation_type @@ -614,12 +614,12 @@ def __init__(self, self.mutation_probability = mutation_probability else: self.valid_parameters = False - self.logger.error("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) - raise ValueError("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) + self.logger.error(f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") + raise ValueError(f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") else: self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - raise TypeError("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) + self.logger.error(f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") else: # Mutation probability is adaptive not fixed. if type(mutation_probability) in [list, tuple, numpy.ndarray]: @@ -630,23 +630,23 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) - raise ValueError("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) + self.logger.error(f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") + raise ValueError(f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") else: self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) + self.logger.error(f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") + raise TypeError(f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") if mutation_probability[0] < mutation_probability[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_probability' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_probability[0], second_el=mutation_probability[1])) + if not self.suppress_warnings: warnings.warn(f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") self.mutation_probability = mutation_probability else: self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) + self.logger.error(f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") + raise ValueError(f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") else: self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - raise TypeError("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) + self.logger.error(f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") else: pass @@ -663,14 +663,14 @@ def __init__(self, # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes == 0: if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) + if not self.suppress_warnings: warnings.warn(f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 elif type(mutation_percent_genes) in GA.supported_int_float_types: if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): self.valid_parameters = False - self.logger.error("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - raise ValueError("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + self.logger.error(f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + raise ValueError(f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") else: # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. if mutation_percent_genes == 'default'.lower(): @@ -681,12 +681,12 @@ def __init__(self, # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes == 0: if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) + if not self.suppress_warnings: warnings.warn(f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 else: self.valid_parameters = False - self.logger.error("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) - raise TypeError("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) + self.logger.error(f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") + raise TypeError(f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") else: # The percent of genes to mutate is adaptive not fixed. if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: @@ -696,47 +696,47 @@ def __init__(self, if type(el) in GA.supported_int_float_types: if (el <= 0 or el > 100): self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - raise ValueError("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + self.logger.error(f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + raise ValueError(f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") else: self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) + self.logger.error(f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + raise TypeError(f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. mutation_num_genes[idx] = numpy.uint32((mutation_percent_genes[idx]*self.num_genes)/100) # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes[idx] == 0: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate ({mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes[idx], mutation_num=mutation_num_genes[idx])) + if not self.suppress_warnings: warnings.warn(f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes[idx] = 1 if mutation_percent_genes[0] < mutation_percent_genes[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_percent_genes' parameter is ({first_el}) which is smaller than the second element ({second_el}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.".format(first_el=mutation_percent_genes[0], second_el=mutation_percent_genes[1])) + if not self.suppress_warnings: warnings.warn(f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. else: self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) + self.logger.error(f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") + raise ValueError(f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") else: if self.mutation_probability is None: self.valid_parameters = False - self.logger.error("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) - raise TypeError("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) + self.logger.error(f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") + raise TypeError(f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. elif (mutation_type != "adaptive"): # Number of genes to mutate is fixed not adaptive. if type(mutation_num_genes) in GA.supported_int_types: if (mutation_num_genes <= 0): self.valid_parameters = False - self.logger.error("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) - raise ValueError("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) + self.logger.error(f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") + raise ValueError(f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") elif (mutation_num_genes > self.num_genes): self.valid_parameters = False - self.logger.error("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) - raise ValueError("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) + self.logger.error(f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") + raise ValueError(f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") else: self.valid_parameters = False - self.logger.error("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - raise TypeError("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) + self.logger.error(f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") + raise TypeError(f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") else: # Number of genes to mutate is adaptive not fixed. if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: @@ -745,34 +745,34 @@ def __init__(self, if type(el) in GA.supported_int_types: if (el <= 0): self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) - raise ValueError("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) + self.logger.error(f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") + raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") elif (el > self.num_genes): self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) - raise ValueError("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) + self.logger.error(f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") + raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") else: self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) + self.logger.error(f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + raise TypeError(f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. if mutation_num_genes[0] < mutation_num_genes[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_num_genes' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_num_genes[0], second_el=mutation_num_genes[1])) + if not self.suppress_warnings: warnings.warn(f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. else: self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) + self.logger.error(f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") + raise ValueError(f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") else: self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - raise TypeError("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) + self.logger.error(f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") + raise TypeError(f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") else: pass # Validating mutation_by_replacement and mutation_type if self.mutation_type != "random" and self.mutation_by_replacement: - if not self.suppress_warnings: warnings.warn("The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mut_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.".format(mut_type=mutation_type)) + if not self.suppress_warnings: warnings.warn(f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") # Check if crossover and mutation are both disabled. if (self.mutation_type is None) and (self.crossover_type is None): @@ -788,8 +788,8 @@ def __init__(self, self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - raise ValueError("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) + self.logger.error(f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + raise ValueError(f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") elif callable(parent_selection_type): # Check if the parent_selection_type is a function that accepts 3 paramaters. if (parent_selection_type.__code__.co_argcount == 3): @@ -798,12 +798,12 @@ def __init__(self, self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - raise ValueError("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) + self.logger.error(f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + raise ValueError(f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") elif not (type(parent_selection_type) is str): self.valid_parameters = False - self.logger.error("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) - raise TypeError("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) + self.logger.error(f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") + raise TypeError(f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") else: parent_selection_type = parent_selection_type.lower() if (parent_selection_type == "sss"): @@ -820,30 +820,30 @@ def __init__(self, self.select_parents = self.rank_selection else: self.valid_parameters = False - self.logger.error("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) - raise TypeError("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) + self.logger.error(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") + raise TypeError(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") # For tournament selection, validate the K value. if(parent_selection_type == "tournament"): if (K_tournament > self.sol_per_pop): K_tournament = self.sol_per_pop - if not self.suppress_warnings: warnings.warn("K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n".format(K_tournament=K_tournament, sol_per_pop=self.sol_per_pop)) + if not self.suppress_warnings: warnings.warn(f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") elif (K_tournament <= 0): self.valid_parameters = False - self.logger.error("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) - raise ValueError("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) + self.logger.error(f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") + raise ValueError(f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") self.K_tournament = K_tournament # Validating the number of parents to keep in the next population: keep_parents if not (type(keep_parents) in GA.supported_int_types): self.valid_parameters = False - self.logger.error("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) - raise TypeError("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) + self.logger.error(f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") + raise TypeError(f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): self.valid_parameters = False - self.logger.error("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) - raise ValueError("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) + self.logger.error(f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") + raise ValueError(f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") self.keep_parents = keep_parents @@ -853,12 +853,12 @@ def __init__(self, # Validating the number of elitism to keep in the next population: keep_elitism if not (type(keep_elitism) in GA.supported_int_types): self.valid_parameters = False - self.logger.error("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) - raise TypeError("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) + self.logger.error(f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") + raise TypeError(f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): self.valid_parameters = False - self.logger.error("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) - raise ValueError("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) + self.logger.error(f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") + raise ValueError(f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") self.keep_elitism = keep_elitism @@ -882,31 +882,31 @@ def __init__(self, self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - raise ValueError("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) + self.logger.error(f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + raise ValueError(f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") elif callable(fitness_func): # Check if the fitness function accepts 2 paramaters. if (fitness_func.__code__.co_argcount == 3): self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - raise ValueError("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) + self.logger.error(f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + raise ValueError(f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) - raise TypeError("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) + self.logger.error(f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") + raise TypeError(f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") if fitness_batch_size is None: pass elif not (type(fitness_batch_size) in GA.supported_int_types): self.valid_parameters = False - self.logger.error("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) - raise TypeError("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) + self.logger.error(f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") + raise TypeError(f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: self.valid_parameters = False - self.logger.error("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) - raise ValueError("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) + self.logger.error(f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") + raise ValueError(f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") self.fitness_batch_size = fitness_batch_size @@ -918,8 +918,8 @@ def __init__(self, self.on_start = on_start else: self.valid_parameters = False - self.logger.error("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - raise ValueError("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") # Check if the on_start is a function. elif callable(on_start): # Check if the on_start function accepts only a single paramater. @@ -927,12 +927,12 @@ def __init__(self, self.on_start = on_start else: self.valid_parameters = False - self.logger.error("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - raise ValueError("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) - raise TypeError("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) + self.logger.error(f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") + raise TypeError(f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") else: self.on_start = None @@ -945,8 +945,8 @@ def __init__(self, self.on_fitness = on_fitness else: self.valid_parameters = False - self.logger.error("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - raise ValueError("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") # Check if the on_fitness is a function. elif callable(on_fitness): # Check if the on_fitness function accepts 2 paramaters. @@ -954,12 +954,12 @@ def __init__(self, self.on_fitness = on_fitness else: self.valid_parameters = False - self.logger.error("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - raise ValueError("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) - raise TypeError("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) + self.logger.error(f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") + raise TypeError(f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") else: self.on_fitness = None @@ -972,8 +972,8 @@ def __init__(self, self.on_parents = on_parents else: self.valid_parameters = False - self.logger.error("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - raise ValueError("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") # Check if the on_parents is a function. elif callable(on_parents): # Check if the on_parents function accepts 2 paramaters. @@ -981,12 +981,12 @@ def __init__(self, self.on_parents = on_parents else: self.valid_parameters = False - self.logger.error("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - raise ValueError("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) - raise TypeError("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) + self.logger.error(f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") + raise TypeError(f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") else: self.on_parents = None @@ -999,8 +999,8 @@ def __init__(self, self.on_crossover = on_crossover else: self.valid_parameters = False - self.logger.error("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - raise ValueError("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") # Check if the on_crossover is a function. elif callable(on_crossover): # Check if the on_crossover function accepts 2 paramaters. @@ -1008,12 +1008,12 @@ def __init__(self, self.on_crossover = on_crossover else: self.valid_parameters = False - self.logger.error("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - raise ValueError("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) - raise TypeError("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) + self.logger.error(f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") + raise TypeError(f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") else: self.on_crossover = None @@ -1026,8 +1026,8 @@ def __init__(self, self.on_mutation = on_mutation else: self.valid_parameters = False - self.logger.error("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - raise ValueError("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") # Check if the on_mutation is a function. elif callable(on_mutation): # Check if the on_mutation function accepts 2 paramaters. @@ -1035,12 +1035,12 @@ def __init__(self, self.on_mutation = on_mutation else: self.valid_parameters = False - self.logger.error("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - raise ValueError("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) - raise TypeError("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) + self.logger.error(f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") + raise TypeError(f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") else: self.on_mutation = None @@ -1053,8 +1053,8 @@ def __init__(self, self.on_generation = on_generation else: self.valid_parameters = False - self.logger.error("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - raise ValueError("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") # Check if the on_generation is a function. elif callable(on_generation): # Check if the on_generation function accepts only a single paramater. @@ -1062,12 +1062,12 @@ def __init__(self, self.on_generation = on_generation else: self.valid_parameters = False - self.logger.error("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - raise ValueError("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) - raise TypeError("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) + self.logger.error(f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") + raise TypeError(f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") else: self.on_generation = None @@ -1080,8 +1080,8 @@ def __init__(self, self.on_stop = on_stop else: self.valid_parameters = False - self.logger.error("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - raise ValueError("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + self.logger.error(f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + raise ValueError(f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") # Check if the on_stop is a function. elif callable(on_stop): # Check if the on_stop function accepts 2 paramaters. @@ -1089,12 +1089,12 @@ def __init__(self, self.on_stop = on_stop else: self.valid_parameters = False - self.logger.error("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - raise ValueError("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + self.logger.error(f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + raise ValueError(f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) - raise TypeError("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) + self.logger.error(f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") + raise TypeError(f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") else: self.on_stop = None @@ -1104,12 +1104,12 @@ def __init__(self, self.delay_after_gen = delay_after_gen else: self.valid_parameters = False - self.logger.error("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) - raise ValueError("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) + self.logger.error(f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") + raise ValueError(f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") else: self.valid_parameters = False - self.logger.error("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) - raise TypeError("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) + self.logger.error(f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") + raise TypeError(f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") # Validate save_best_solutions if type(save_best_solutions) is bool: @@ -1117,8 +1117,8 @@ def __init__(self, if not self.suppress_warnings: warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") else: self.valid_parameters = False - self.logger.error("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) - raise TypeError("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) + self.logger.error(f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") + raise TypeError(f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") # Validate save_solutions if type(save_solutions) is bool: @@ -1126,8 +1126,8 @@ def __init__(self, if not self.suppress_warnings: warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") else: self.valid_parameters = False - self.logger.error("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) - raise TypeError("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) + self.logger.error(f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") + raise TypeError(f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") self.stop_criteria = [] self.supported_stop_words = ["reach", "saturate"] @@ -1146,22 +1146,22 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - raise ValueError("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + self.logger.error(f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") + raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") if number.replace(".", "").isnumeric(): number = float(number) else: self.valid_parameters = False - self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) + self.logger.error(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") self.stop_criteria.append([stop_word, number]) else: self.valid_parameters = False - self.logger.error("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) - raise ValueError("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) + self.logger.error(f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") + raise ValueError(f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") elif type(stop_criteria) in [list, tuple, numpy.ndarray]: # Remove duplicate criterira by converting the list to a set then back to a list. @@ -1177,30 +1177,30 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - raise ValueError("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + self.logger.error(f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") + raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") if number.replace(".", "").isnumeric(): number = float(number) else: self.valid_parameters = False - self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) + self.logger.error(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") self.stop_criteria.append([stop_word, number]) else: self.valid_parameters = False - self.logger.error("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) - raise ValueError("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) + self.logger.error(f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") + raise ValueError(f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") else: self.valid_parameters = False - self.logger.error("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) - raise TypeError("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) + self.logger.error(f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") + raise TypeError(f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") else: self.valid_parameters = False - self.logger.error("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) - raise TypeError("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) + self.logger.error(f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") + raise TypeError(f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") if parallel_processing is None: self.parallel_processing = None @@ -1209,8 +1209,8 @@ def __init__(self, self.parallel_processing = ["thread", parallel_processing] else: self.valid_parameters = False - self.logger.error("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) - raise ValueError("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) + self.logger.error(f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") + raise ValueError(f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") elif type(parallel_processing) in [list, tuple]: if len(parallel_processing) == 2: if type(parallel_processing[0]) is str: @@ -1224,24 +1224,24 @@ def __init__(self, self.parallel_processing = parallel_processing else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) - raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) + self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") + raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) - raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) + self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") + raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) - raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) + self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") + raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) - raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) + self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") + raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") else: self.valid_parameters = False - self.logger.error("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) - raise ValueError("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) + self.logger.error(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") + raise ValueError(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. self.run_completed = False @@ -1613,8 +1613,8 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pass else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + self.logger.error(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: # Reaching this point means that batch processing is in effect to calculate the fitness values. # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. @@ -1639,18 +1639,18 @@ def cal_pop_fitness(self): batch_fitness = self.fitness_func(self, batch_solutions, batch_indices) if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + self.logger.error(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + self.logger.error(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + self.logger.error(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: # Calculating the fitness value of each solution in the current population. for sol_idx, sol in enumerate(self.population): @@ -1709,8 +1709,8 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + self.logger.error(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: # Reaching this block means that batch processing is used. The fitness values are calculated in batches. @@ -1732,18 +1732,18 @@ def cal_pop_fitness(self): for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + self.logger.error(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + self.logger.error(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + self.logger.error(f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + raise ValueError(f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") pop_fitness = numpy.array(pop_fitness) @@ -1821,11 +1821,11 @@ def run(self): self.num_parents_mating, self) if not type(self.last_generation_parents) is numpy.ndarray: - self.logger.error("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) - raise TypeError("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) + self.logger.error(f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") + raise TypeError(f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") if not type(self.last_generation_parents_indices) is numpy.ndarray: - self.logger.error("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) - raise TypeError("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) + self.logger.error(f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") + raise TypeError(f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") else: self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, num_parents=self.num_parents_mating) @@ -1833,18 +1833,18 @@ def run(self): # Validate the output of the parent selection step: self.select_parents() if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): if self.last_generation_parents.shape[0] != self.num_parents_mating: - self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) - raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) + self.logger.error(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") + raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") elif self.last_generation_parents.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) - raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) + self.logger.error(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") + raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") if self.last_generation_parents_indices.ndim != 1: - self.logger.error("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) - raise ValueError("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) + self.logger.error(f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") + raise ValueError(f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") elif len(self.last_generation_parents_indices) != self.num_parents_mating: - self.logger.error("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) - raise ValueError("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) + self.logger.error(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") + raise ValueError(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") if not (self.on_parents is None): self.on_parents(self, self.last_generation_parents) @@ -1873,18 +1873,18 @@ def run(self): (self.num_offspring, self.num_genes), self) if not type(self.last_generation_offspring_crossover) is numpy.ndarray: - self.logger.error("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) - raise TypeError("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) + self.logger.error(f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") + raise TypeError(f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") else: self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, offspring_size=(self.num_offspring, self.num_genes)) if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: - self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) - raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) + self.logger.error(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") + raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) - raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) + self.logger.error(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") + raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. if not (self.on_crossover is None): @@ -1899,18 +1899,18 @@ def run(self): self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, self) if not type(self.last_generation_offspring_mutation) is numpy.ndarray: - self.logger.error("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) - raise TypeError("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) + self.logger.error(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") + raise TypeError(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") else: self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover) if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: - self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) - raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) + self.logger.error(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") + raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) - raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) + self.logger.error(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") + raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. if not (self.on_mutation is None): @@ -2023,11 +2023,11 @@ def best_solution(self, pop_fitness=None): # This successfully verifies the 'pop_fitness' parameter. pass else: - self.logger.error("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) - raise ValueError("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) + self.logger.error(f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") + raise ValueError(f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") else: - self.logger.error("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) - raise ValueError("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) + self.logger.error(f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") + raise ValueError(f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") # Return the index of the best solution that has the best fitness value. best_match_idx = numpy.where(pop_fitness == numpy.max(pop_fitness))[0][0] @@ -2097,72 +2097,72 @@ def create_row(columns, line_length=line_length, fill_character=fill_character, def print_parent_selection_params(): nonlocal summary_output - m = "Number of Parents: {num_parents_mating}".format(num_parents_mating=self.num_parents_mating) + m = f"Number of Parents: {self.num_parents_mating}" self.logger.info(m) summary_output = summary_output + m + "\n" if self.parent_selection_type == "tournament": - m = "K Tournament: {K_tournament}".format(K_tournament=self.K_tournament) + m = f"K Tournament: {self.K_tournament}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_fitness_params(): nonlocal summary_output if not self.fitness_batch_size is None: - m = "Fitness batch size: {fitness_batch_size}".format(fitness_batch_size=self.fitness_batch_size) + m = f"Fitness batch size: {self.fitness_batch_size}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_crossover_params(): nonlocal summary_output if not self.crossover_probability is None: - m = "Crossover probability: {crossover_probability}".format(crossover_probability=self.crossover_probability) + m = f"Crossover probability: {self.crossover_probability}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_mutation_params(): nonlocal summary_output if not self.mutation_probability is None: - m = "Mutation Probability: {mutation_probability}".format(mutation_probability=self.mutation_probability) + m = f"Mutation Probability: {self.mutation_probability}" self.logger.info(m) summary_output = summary_output + m + "\n" if self.mutation_percent_genes == "default": - m = "Mutation Percentage: {mutation_percent_genes}".format(mutation_percent_genes=self.mutation_percent_genes) + m = f"Mutation Percentage: {self.mutation_percent_genes}" self.logger.info(m) summary_output = summary_output + m + "\n" # Number of mutation genes is already showed above. - m = "Mutation Genes: {mutation_num_genes}".format(mutation_num_genes=self.mutation_num_genes) + m = f"Mutation Genes: {self.mutation_num_genes}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Random Mutation Range: ({random_mutation_min_val}, {random_mutation_max_val})".format(random_mutation_min_val=self.random_mutation_min_val, random_mutation_max_val=self.random_mutation_max_val) + m = f"Random Mutation Range: ({self.random_mutation_min_val}, {self.random_mutation_max_val})" self.logger.info(m) summary_output = summary_output + m + "\n" if not self.gene_space is None: - m = "Gene Space: {gene_space}".format(gene_space=self.gene_space) + m = f"Gene Space: {self.gene_space}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Mutation by Replacement: {mutation_by_replacement}".format(mutation_by_replacement=self.mutation_by_replacement) + m = f"Mutation by Replacement: {self.mutation_by_replacement}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Allow Duplicated Genes: {allow_duplicate_genes}".format(allow_duplicate_genes=self.allow_duplicate_genes) + m = f"Allow Duplicated Genes: {self.allow_duplicate_genes}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_on_generation_params(): nonlocal summary_output if not self.stop_criteria is None: - m = "Stop Criteria: {stop_criteria}".format(stop_criteria=self.stop_criteria) + m = f"Stop Criteria: {self.stop_criteria}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_params_summary(): nonlocal summary_output - m = "Population Size: ({sol_per_pop}, {num_genes})".format(sol_per_pop=self.sol_per_pop, num_genes=self.num_genes) + m = f"Population Size: ({self.sol_per_pop}, {self.num_genes})" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Number of Generations: {num_generations}".format(num_generations=self.num_generations) + m = f"Number of Generations: {self.num_generations}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Initial Population Range: ({init_range_low}, {init_range_high})".format(init_range_low=self.init_range_low, init_range_high=self.init_range_high) + m = f"Initial Population Range: ({self.init_range_low}, {self.init_range_high})" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2173,14 +2173,14 @@ def print_params_summary(): print_parent_selection_params() if self.keep_elitism != 0: - m = "Keep Elitism: {keep_elitism}".format(keep_elitism=self.keep_elitism) + m = f"Keep Elitism: {self.keep_elitism}" self.logger.info(m) summary_output = summary_output + m + "\n" else: - m = "Keep Parents: {keep_parents}".format(keep_parents=self.keep_parents) + m = f"Keep Parents: {self.keep_parents}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Gene DType: {gene_type}".format(gene_type=self.gene_type) + m = f"Gene DType: {self.gene_type}" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2191,7 +2191,7 @@ def print_params_summary(): print_mutation_params() if self.delay_after_gen != 0: - m = "Post-Generation Delay: {delay_after_gen}".format(delay_after_gen=self.delay_after_gen) + m = f"Post-Generation Delay: {self.delay_after_gen}" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2199,17 +2199,17 @@ def print_params_summary(): print_on_generation_params() if not self.parallel_processing is None: - m = "Parallel Processing: {parallel_processing}".format(parallel_processing=self.parallel_processing) + m = f"Parallel Processing: {self.parallel_processing}" self.logger.info(m) summary_output = summary_output + m + "\n" if not self.random_seed is None: - m = "Random Seed: {random_seed}".format(random_seed=self.random_seed) + m = f"Random Seed: {self.random_seed}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Save Best Solutions: {save_best_solutions}".format(save_best_solutions=self.save_best_solutions) + m = f"Save Best Solutions: {self.save_best_solutions}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Save Solutions: {save_solutions}".format(save_solutions=self.save_solutions) + m = f"Save Solutions: {self.save_solutions}" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2227,7 +2227,7 @@ def print_params_summary(): lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] lifecycle_functions = [getattr(lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != "None" else "None" for lifecycle_func in lifecycle_functions] - lifecycle_output = ["None", "(1)", "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "None", "None"] + lifecycle_output = ["None", "(1)", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", "None", "None"] lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] if not columns_equal_len: @@ -2282,7 +2282,7 @@ def load(filename): with open(filename + ".pkl", 'rb') as file: ga_in = cloudpickle.load(file) except FileNotFoundError: - raise FileNotFoundError("Error reading the file {filename}. Please check your inputs.".format(filename=filename)) + raise FileNotFoundError(f"Error reading the file {filename}. Please check your inputs.") except: # raise BaseException("Error loading the file. If the file already exists, please reload all the functions previously used (e.g. fitness function).") raise BaseException("Error loading the file.") From 866fc457047ef7759bbc6ee53a9dbf3320ff53b6 Mon Sep 17 00:00:00 2001 From: King Lok Chung Date: Thu, 4 May 2023 13:38:48 +0100 Subject: [PATCH 045/220] update formatting to pep8 --- pygad/pygad.py | 1395 +++++++++++++++++++++++++++++++----------------- 1 file changed, 896 insertions(+), 499 deletions(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index ea6d249..8d95941 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -10,23 +10,25 @@ from pygad import helper from pygad import visualize -class GA(utils.parent_selection.ParentSelection, - utils.crossover.Crossover, - utils.mutation.Mutation, +class GA(utils.parent_selection.ParentSelection, + utils.crossover.Crossover, + utils.mutation.Mutation, helper.unique.Unique, visualize.plot.Plot): - supported_int_types = [int, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64] - supported_float_types = [float, numpy.float16, numpy.float32, numpy.float64] + supported_int_types = [int, numpy.int8, numpy.int16, numpy.int32, numpy.int64, + numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64] + supported_float_types = [ + float, numpy.float16, numpy.float32, numpy.float64] supported_int_float_types = supported_int_types + supported_float_types - def __init__(self, - num_generations, - num_parents_mating, + def __init__(self, + num_generations, + num_parents_mating, fitness_func, fitness_batch_size=None, initial_population=None, - sol_per_pop=None, + sol_per_pop=None, num_genes=None, init_range_low=-4, init_range_high=4, @@ -61,7 +63,6 @@ def __init__(self, parallel_processing=None, random_seed=None, logger=None): - """ The constructor of the GA class accepts all parameters required to create an instance of the GA class. It validates such parameters. @@ -158,7 +159,8 @@ def __init__(self, if isinstance(logger, logging.Logger): pass else: - raise TypeError(f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") + raise TypeError( + f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") # Create the 'self.logger' attribute to hold the logger. # Instead of using 'print()', use 'self.logger.info()' @@ -176,22 +178,28 @@ def __init__(self, self.suppress_warnings = suppress_warnings else: self.valid_parameters = False - self.logger.error(f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") - raise TypeError(f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") + self.logger.error( + f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") + raise TypeError( + f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") # Validating mutation_by_replacement if not (type(mutation_by_replacement) is bool): self.valid_parameters = False - self.logger.error(f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") - raise TypeError(f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") + self.logger.error( + f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") + raise TypeError( + f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") self.mutation_by_replacement = mutation_by_replacement # Validate allow_duplicate_genes if not (type(allow_duplicate_genes) is bool): self.valid_parameters = False - self.logger.error(f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") - raise TypeError(f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") + self.logger.error( + f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") + raise TypeError( + f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") self.allow_duplicate_genes = allow_duplicate_genes @@ -202,25 +210,33 @@ def __init__(self, elif type(gene_space) is range: if len(gene_space) == 0: self.valid_parameters = False - self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") + self.logger.error( + "'gene_space' cannot be empty (i.e. its length must be >= 0).") + raise ValueError( + "'gene_space' cannot be empty (i.e. its length must be >= 0).") elif type(gene_space) in [list, numpy.ndarray]: if len(gene_space) == 0: self.valid_parameters = False - self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") + self.logger.error( + "'gene_space' cannot be empty (i.e. its length must be >= 0).") + raise ValueError( + "'gene_space' cannot be empty (i.e. its length must be >= 0).") else: for index, el in enumerate(gene_space): if type(el) in [numpy.ndarray, list, tuple, range]: if len(el) == 0: self.valid_parameters = False - self.logger.error(f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") - raise ValueError(f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") + self.logger.error( + f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") + raise ValueError( + f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") else: for val in el: if not (type(val) in [type(None)] + GA.supported_int_float_types): - self.logger.error(f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") - raise TypeError(f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") + self.logger.error( + f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") + raise TypeError( + f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") self.gene_space_nested = True elif type(el) == type(None): pass @@ -231,24 +247,32 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") - raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + self.logger.error( + f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + raise ValueError( + f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") elif len(el.items()) == 3: if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): pass else: self.valid_parameters = False - self.logger.error(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") - raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + self.logger.error( + f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + raise ValueError( + f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") else: self.valid_parameters = False - self.logger.error(f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") - raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") + self.logger.error( + f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") + raise ValueError( + f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") self.gene_space_nested = True elif not (type(el) in GA.supported_int_float_types): self.valid_parameters = False - self.logger.error(f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") - raise TypeError(f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") + self.logger.error( + f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") + raise TypeError( + f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") elif type(gene_space) is dict: if len(gene_space.items()) == 2: @@ -256,24 +280,32 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") - raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + self.logger.error( + f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + raise ValueError( + f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") elif len(gene_space.items()) == 3: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): pass else: self.valid_parameters = False - self.logger.error(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") - raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + self.logger.error( + f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + raise ValueError( + f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") else: self.valid_parameters = False - self.logger.error(f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") - raise ValueError(f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") + self.logger.error( + f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") + raise ValueError( + f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") else: self.valid_parameters = False - self.logger.error(f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") - raise TypeError(f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") + self.logger.error( + f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") + raise TypeError( + f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") self.gene_space = gene_space @@ -284,26 +316,36 @@ def __init__(self, self.init_range_high = init_range_high else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") - raise ValueError(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") + self.logger.error( + f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") + raise ValueError( + f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") - raise ValueError(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + self.logger.error( + f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + raise ValueError( + f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") # Validate random_mutation_min_val and random_mutation_max_val if type(random_mutation_min_val) in GA.supported_int_float_types: if type(random_mutation_max_val) in GA.supported_int_float_types: if random_mutation_min_val == random_mutation_max_val: - if not self.suppress_warnings: warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + if not self.suppress_warnings: + warnings.warn( + "The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") else: self.valid_parameters = False - self.logger.error(f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") - raise TypeError(f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") + self.logger.error( + f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") + raise TypeError( + f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") else: self.valid_parameters = False - self.logger.error(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") - raise TypeError(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") + self.logger.error( + f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") + raise TypeError( + f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") self.random_mutation_min_val = random_mutation_min_val self.random_mutation_max_val = random_mutation_max_val @@ -318,22 +360,30 @@ def __init__(self, # A single data type of int with precision. elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): self.gene_type_single = False - self.logger.error(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") - raise ValueError(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") + self.logger.error( + f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") + raise ValueError( + f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") elif type(gene_type) in [list, tuple, numpy.ndarray]: if num_genes is None: if initial_population is None: self.valid_parameters = False - self.logger.error("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + self.logger.error( + "When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + raise TypeError( + "When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") elif not len(gene_type) == len(initial_population[0]): self.valid_parameters = False - self.logger.error(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") - raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") + self.logger.error( + f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") + raise ValueError( + f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") elif not len(gene_type) == num_genes: self.valid_parameters = False - self.logger.error(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") - raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") + self.logger.error( + f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") + raise ValueError( + f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") for gene_type_idx, gene_type_val in enumerate(gene_type): if gene_type_val in GA.supported_float_types: # If the gene type is float and no precision is passed, set it to None. @@ -348,26 +398,36 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") - raise TypeError(f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") + self.logger.error( + f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") + raise TypeError( + f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") else: self.valid_parameters = False - self.logger.error(f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") - raise TypeError(f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") + self.logger.error( + f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") + raise TypeError( + f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") else: self.valid_parameters = False - self.logger.error(f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") - raise ValueError(f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") + self.logger.error( + f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") + raise ValueError( + f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") else: self.valid_parameters = False - self.logger.error(f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") - raise ValueError(f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") + self.logger.error( + f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") + raise ValueError( + f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") self.gene_type = gene_type self.gene_type_single = False else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") - raise ValueError(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") + self.logger.error( + f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") + raise ValueError( + f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. self.gene_space_unpacked = self.unpack_gene_space() @@ -382,42 +442,55 @@ def __init__(self, # Validating the number of solutions in the population (sol_per_pop) if sol_per_pop <= 0: self.valid_parameters = False - self.logger.error(f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - raise ValueError(f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + self.logger.error( + f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + raise ValueError( + f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") # Validating the number of gene. if (num_genes <= 0): self.valid_parameters = False - self.logger.error(f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") - raise ValueError(f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") + self.logger.error( + f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") + raise ValueError( + f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. - self.num_genes = num_genes # Number of genes in the solution. + self.num_genes = num_genes # Number of genes in the solution. # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. if self.gene_space_nested: if len(gene_space) != self.num_genes: self.valid_parameters = False - self.logger.error(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") - raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") - - self.sol_per_pop = sol_per_pop # Number of solutions in the population. - self.initialize_population(self.init_range_low, - self.init_range_high, - allow_duplicate_genes, - True, + self.logger.error( + f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + raise ValueError( + f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + + # Number of solutions in the population. + self.sol_per_pop = sol_per_pop + self.initialize_population(self.init_range_low, + self.init_range_high, + allow_duplicate_genes, + True, self.gene_type) else: self.valid_parameters = False - self.logger.error(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") - raise TypeError(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") + self.logger.error( + f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") + raise TypeError( + f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") elif not type(initial_population) in [list, tuple, numpy.ndarray]: self.valid_parameters = False - self.logger.error(f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") - raise TypeError(f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") + self.logger.error( + f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") + raise TypeError( + f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") elif numpy.array(initial_population).ndim != 2: self.valid_parameters = False - self.logger.error(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") - raise ValueError(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") + self.logger.error( + f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") + raise ValueError( + f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") else: # Validate the type of each value in the 'initial_population' parameter. for row_idx in range(len(initial_population)): @@ -426,32 +499,34 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") - raise TypeError(f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") + self.logger.error( + f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") + raise TypeError( + f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") # Forcing the initial_population array to have the data type assigned to the gene_type parameter. if self.gene_type_single == True: if self.gene_type[1] == None: - self.initial_population = numpy.array(initial_population, + self.initial_population = numpy.array(initial_population, dtype=self.gene_type[0]) else: # This block is reached only for non-integer data types (i.e. float). - self.initial_population = numpy.round(numpy.array(initial_population, - dtype=self.gene_type[0]), + self.initial_population = numpy.round(numpy.array(initial_population, + dtype=self.gene_type[0]), self.gene_type[1]) else: initial_population = numpy.array(initial_population) - self.initial_population = numpy.zeros(shape=(initial_population.shape[0], - initial_population.shape[1]), + self.initial_population = numpy.zeros(shape=(initial_population.shape[0], + initial_population.shape[1]), dtype=object) for gene_idx in range(initial_population.shape[1]): if self.gene_type[gene_idx][1] is None: - self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], + self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], dtype=self.gene_type[gene_idx][0]) else: # This block is reached only for non-integer data types (i.e. float). - self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), + self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), self.gene_type[gene_idx][1]) # Check if duplicates are allowed. If not, then solve any exisiting duplicates in the passed initial population. @@ -469,10 +544,14 @@ def __init__(self, gene_type=self.gene_type, num_trials=10) - self.population = self.initial_population.copy() # A NumPy array holding the initial population. - self.num_genes = self.initial_population.shape[1] # Number of genes in the solution. - self.sol_per_pop = self.initial_population.shape[0] # Number of solutions in the population. - self.pop_size = (self.sol_per_pop,self.num_genes) # The population size. + # A NumPy array holding the initial population. + self.population = self.initial_population.copy() + # Number of genes in the solution. + self.num_genes = self.initial_population.shape[1] + # Number of solutions in the population. + self.sol_per_pop = self.initial_population.shape[0] + # The population size. + self.pop_size = (self.sol_per_pop, self.num_genes) # Round initial_population and population self.initial_population = self.round_genes(self.initial_population) @@ -482,20 +561,26 @@ def __init__(self, if self.gene_space_nested: if len(gene_space) != self.num_genes: self.valid_parameters = False - self.logger.error(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") - raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + self.logger.error( + f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + raise ValueError( + f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") # Validating the number of parents to be selected for mating (num_parents_mating) if num_parents_mating <= 0: self.valid_parameters = False - self.logger.error(f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - raise ValueError(f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + self.logger.error( + f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + raise ValueError( + f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") # Validating the number of parents to be selected for mating: num_parents_mating if (num_parents_mating > self.sol_per_pop): self.valid_parameters = False - self.logger.error(f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") - raise ValueError(f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") + self.logger.error( + f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") + raise ValueError( + f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") self.num_parents_mating = num_parents_mating @@ -510,8 +595,10 @@ def __init__(self, self.crossover = crossover_type else: self.valid_parameters = False - self.logger.error(f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") - raise ValueError(f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + self.logger.error( + f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + raise ValueError( + f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") elif callable(crossover_type): # Check if the crossover_type is a function that accepts 2 paramaters. if (crossover_type.__code__.co_argcount == 3): @@ -519,13 +606,17 @@ def __init__(self, self.crossover = crossover_type else: self.valid_parameters = False - self.logger.error(f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") - raise ValueError(f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + self.logger.error( + f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + raise ValueError( + f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") elif not (type(crossover_type) is str): self.valid_parameters = False - self.logger.error(f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") - raise TypeError(f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") - else: # type crossover_type is str + self.logger.error( + f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") + raise TypeError( + f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") + else: # type crossover_type is str crossover_type = crossover_type.lower() if (crossover_type == "single_point"): self.crossover = self.single_point_crossover @@ -537,8 +628,10 @@ def __init__(self, self.crossover = self.scattered_crossover else: self.valid_parameters = False - self.logger.error(f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") - raise TypeError(f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") + self.logger.error( + f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") + raise TypeError( + f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") self.crossover_type = crossover_type @@ -550,12 +643,16 @@ def __init__(self, self.crossover_probability = crossover_probability else: self.valid_parameters = False - self.logger.error(f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") - raise ValueError(f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") + self.logger.error( + f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") + raise ValueError( + f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") - raise TypeError(f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") + self.logger.error( + f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") + raise TypeError( + f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. # Validating the mutation type: mutation_type @@ -569,8 +666,10 @@ def __init__(self, self.mutation = mutation_type else: self.valid_parameters = False - self.logger.error(f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - raise ValueError(f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + self.logger.error( + f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + raise ValueError( + f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") elif callable(mutation_type): # Check if the mutation_type is a function that accepts 2 paramater. if (mutation_type.__code__.co_argcount == 2): @@ -578,13 +677,17 @@ def __init__(self, self.mutation = mutation_type else: self.valid_parameters = False - self.logger.error(f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - raise ValueError(f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + self.logger.error( + f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + raise ValueError( + f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") elif not (type(mutation_type) is str): self.valid_parameters = False - self.logger.error(f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") - raise TypeError(f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") - else: # type mutation_type is str + self.logger.error( + f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") + raise TypeError( + f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") + else: # type mutation_type is str mutation_type = mutation_type.lower() if (mutation_type == "random"): self.mutation = self.random_mutation @@ -598,8 +701,10 @@ def __init__(self, self.mutation = self.adaptive_mutation else: self.valid_parameters = False - self.logger.error(f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") - raise TypeError(f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") + self.logger.error( + f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") + raise TypeError( + f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") self.mutation_type = mutation_type @@ -614,12 +719,16 @@ def __init__(self, self.mutation_probability = mutation_probability else: self.valid_parameters = False - self.logger.error(f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") - raise ValueError(f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") + self.logger.error( + f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") + raise ValueError( + f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") - raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + self.logger.error( + f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + raise TypeError( + f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") else: # Mutation probability is adaptive not fixed. if type(mutation_probability) in [list, tuple, numpy.ndarray]: @@ -630,23 +739,33 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") - raise ValueError(f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") + self.logger.error( + f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") + raise ValueError( + f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") - raise TypeError(f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") + self.logger.error( + f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") + raise TypeError( + f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") if mutation_probability[0] < mutation_probability[1]: - if not self.suppress_warnings: warnings.warn(f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") + if not self.suppress_warnings: + warnings.warn( + f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") self.mutation_probability = mutation_probability else: self.valid_parameters = False - self.logger.error(f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") - raise ValueError(f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") + self.logger.error( + f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") + raise ValueError( + f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") - raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + self.logger.error( + f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + raise TypeError( + f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") else: pass @@ -659,84 +778,114 @@ def __init__(self, if mutation_percent_genes == 'default'.lower(): mutation_percent_genes = 10 # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) + mutation_num_genes = numpy.uint32( + (mutation_percent_genes*self.num_genes)/100) # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes == 0: if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn(f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + if not self.suppress_warnings: + warnings.warn( + f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 elif type(mutation_percent_genes) in GA.supported_int_float_types: if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): self.valid_parameters = False - self.logger.error(f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") - raise ValueError(f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + self.logger.error( + f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + raise ValueError( + f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") else: # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. if mutation_percent_genes == 'default'.lower(): mutation_percent_genes = 10 # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) + mutation_num_genes = numpy.uint32( + (mutation_percent_genes*self.num_genes)/100) # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes == 0: if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn(f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + if not self.suppress_warnings: + warnings.warn( + f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 else: self.valid_parameters = False - self.logger.error(f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") - raise TypeError(f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") + self.logger.error( + f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") + raise TypeError( + f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") else: # The percent of genes to mutate is adaptive not fixed. if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: if len(mutation_percent_genes) == 2: - mutation_num_genes = numpy.zeros_like(mutation_percent_genes, dtype=numpy.uint32) + mutation_num_genes = numpy.zeros_like( + mutation_percent_genes, dtype=numpy.uint32) for idx, el in enumerate(mutation_percent_genes): if type(el) in GA.supported_int_float_types: if (el <= 0 or el > 100): self.valid_parameters = False - self.logger.error(f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") - raise ValueError(f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + self.logger.error( + f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + raise ValueError( + f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") - raise TypeError(f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + self.logger.error( + f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + raise TypeError( + f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes[idx] = numpy.uint32((mutation_percent_genes[idx]*self.num_genes)/100) + mutation_num_genes[idx] = numpy.uint32( + (mutation_percent_genes[idx]*self.num_genes)/100) # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes[idx] == 0: - if not self.suppress_warnings: warnings.warn(f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + if not self.suppress_warnings: + warnings.warn( + f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes[idx] = 1 if mutation_percent_genes[0] < mutation_percent_genes[1]: - if not self.suppress_warnings: warnings.warn(f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") + if not self.suppress_warnings: + warnings.warn( + f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. else: self.valid_parameters = False - self.logger.error(f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") - raise ValueError(f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") + self.logger.error( + f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") + raise ValueError( + f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") else: if self.mutation_probability is None: self.valid_parameters = False - self.logger.error(f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") - raise TypeError(f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") + self.logger.error( + f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") + raise TypeError( + f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. elif (mutation_type != "adaptive"): # Number of genes to mutate is fixed not adaptive. if type(mutation_num_genes) in GA.supported_int_types: if (mutation_num_genes <= 0): self.valid_parameters = False - self.logger.error(f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") - raise ValueError(f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") + self.logger.error( + f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") + raise ValueError( + f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") elif (mutation_num_genes > self.num_genes): self.valid_parameters = False - self.logger.error(f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") - raise ValueError(f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") + self.logger.error( + f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") + raise ValueError( + f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") else: self.valid_parameters = False - self.logger.error(f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") - raise TypeError(f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") + self.logger.error( + f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") + raise TypeError( + f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") else: # Number of genes to mutate is adaptive not fixed. if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: @@ -745,38 +894,53 @@ def __init__(self, if type(el) in GA.supported_int_types: if (el <= 0): self.valid_parameters = False - self.logger.error(f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") - raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") + self.logger.error( + f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") + raise ValueError( + f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") elif (el > self.num_genes): self.valid_parameters = False - self.logger.error(f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") - raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") + self.logger.error( + f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") + raise ValueError( + f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") - raise TypeError(f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + self.logger.error( + f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + raise TypeError( + f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. if mutation_num_genes[0] < mutation_num_genes[1]: - if not self.suppress_warnings: warnings.warn(f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") + if not self.suppress_warnings: + warnings.warn( + f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. else: self.valid_parameters = False - self.logger.error(f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") - raise ValueError(f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") + self.logger.error( + f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") + raise ValueError( + f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") else: self.valid_parameters = False - self.logger.error(f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") - raise TypeError(f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") + self.logger.error( + f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") + raise TypeError( + f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") else: pass - + # Validating mutation_by_replacement and mutation_type if self.mutation_type != "random" and self.mutation_by_replacement: - if not self.suppress_warnings: warnings.warn(f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") + if not self.suppress_warnings: + warnings.warn( + f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") # Check if crossover and mutation are both disabled. if (self.mutation_type is None) and (self.crossover_type is None): - if not self.suppress_warnings: warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") + if not self.suppress_warnings: + warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. # Validating the selected type of parent selection: parent_selection_type @@ -788,8 +952,10 @@ def __init__(self, self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error(f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - raise ValueError(f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + self.logger.error( + f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + raise ValueError( + f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") elif callable(parent_selection_type): # Check if the parent_selection_type is a function that accepts 3 paramaters. if (parent_selection_type.__code__.co_argcount == 3): @@ -798,12 +964,16 @@ def __init__(self, self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error(f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - raise ValueError(f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + self.logger.error( + f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + raise ValueError( + f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") elif not (type(parent_selection_type) is str): self.valid_parameters = False - self.logger.error(f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") - raise TypeError(f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") + self.logger.error( + f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") + raise TypeError( + f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") else: parent_selection_type = parent_selection_type.lower() if (parent_selection_type == "sss"): @@ -824,51 +994,68 @@ def __init__(self, raise TypeError(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") # For tournament selection, validate the K value. - if(parent_selection_type == "tournament"): + if (parent_selection_type == "tournament"): if (K_tournament > self.sol_per_pop): K_tournament = self.sol_per_pop - if not self.suppress_warnings: warnings.warn(f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") + if not self.suppress_warnings: + warnings.warn( + f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") elif (K_tournament <= 0): self.valid_parameters = False - self.logger.error(f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") - raise ValueError(f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") + self.logger.error( + f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") + raise ValueError( + f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") self.K_tournament = K_tournament # Validating the number of parents to keep in the next population: keep_parents if not (type(keep_parents) in GA.supported_int_types): self.valid_parameters = False - self.logger.error(f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") - raise TypeError(f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") + self.logger.error( + f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") + raise TypeError( + f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): self.valid_parameters = False - self.logger.error(f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") - raise ValueError(f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") + self.logger.error( + f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") + raise ValueError( + f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") self.keep_parents = keep_parents if parent_selection_type == "sss" and self.keep_parents == 0: - if not self.suppress_warnings: warnings.warn("The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") + if not self.suppress_warnings: + warnings.warn( + "The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") # Validating the number of elitism to keep in the next population: keep_elitism if not (type(keep_elitism) in GA.supported_int_types): self.valid_parameters = False - self.logger.error(f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") - raise TypeError(f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") + self.logger.error( + f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") + raise TypeError( + f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): self.valid_parameters = False - self.logger.error(f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") - raise ValueError(f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") + self.logger.error( + f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") + raise ValueError( + f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") self.keep_elitism = keep_elitism # Validate keep_parents. if self.keep_elitism == 0: - if (self.keep_parents == -1): # Keep all parents in the next population. + # Keep all parents in the next population. + if (self.keep_parents == -1): self.num_offspring = self.sol_per_pop - self.num_parents_mating - elif (self.keep_parents == 0): # Keep no parents in the next population. + # Keep no parents in the next population. + elif (self.keep_parents == 0): self.num_offspring = self.sol_per_pop - elif (self.keep_parents > 0): # Keep the specified number of parents in the next population. + # Keep the specified number of parents in the next population. + elif (self.keep_parents > 0): self.num_offspring = self.sol_per_pop - self.keep_parents else: self.num_offspring = self.sol_per_pop - self.keep_elitism @@ -882,31 +1069,41 @@ def __init__(self, self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error(f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") - raise ValueError(f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + self.logger.error( + f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + raise ValueError( + f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") elif callable(fitness_func): # Check if the fitness function accepts 2 paramaters. if (fitness_func.__code__.co_argcount == 3): self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error(f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") - raise ValueError(f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + self.logger.error( + f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + raise ValueError( + f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") - raise TypeError(f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") - + self.logger.error( + f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") + raise TypeError( + f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") + if fitness_batch_size is None: pass elif not (type(fitness_batch_size) in GA.supported_int_types): self.valid_parameters = False - self.logger.error(f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") - raise TypeError(f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") + self.logger.error( + f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") + raise TypeError( + f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: self.valid_parameters = False - self.logger.error(f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") - raise ValueError(f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") + self.logger.error( + f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") + raise ValueError( + f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") self.fitness_batch_size = fitness_batch_size @@ -918,8 +1115,10 @@ def __init__(self, self.on_start = on_start else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") # Check if the on_start is a function. elif callable(on_start): # Check if the on_start function accepts only a single paramater. @@ -927,12 +1126,16 @@ def __init__(self, self.on_start = on_start else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") - raise TypeError(f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") + self.logger.error( + f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") + raise TypeError( + f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") else: self.on_start = None @@ -945,8 +1148,10 @@ def __init__(self, self.on_fitness = on_fitness else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") # Check if the on_fitness is a function. elif callable(on_fitness): # Check if the on_fitness function accepts 2 paramaters. @@ -954,12 +1159,16 @@ def __init__(self, self.on_fitness = on_fitness else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") - raise TypeError(f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") + self.logger.error( + f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") + raise TypeError( + f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") else: self.on_fitness = None @@ -972,8 +1181,10 @@ def __init__(self, self.on_parents = on_parents else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") # Check if the on_parents is a function. elif callable(on_parents): # Check if the on_parents function accepts 2 paramaters. @@ -981,12 +1192,16 @@ def __init__(self, self.on_parents = on_parents else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") - raise TypeError(f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") + self.logger.error( + f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") + raise TypeError( + f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") else: self.on_parents = None @@ -999,8 +1214,10 @@ def __init__(self, self.on_crossover = on_crossover else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") # Check if the on_crossover is a function. elif callable(on_crossover): # Check if the on_crossover function accepts 2 paramaters. @@ -1008,12 +1225,16 @@ def __init__(self, self.on_crossover = on_crossover else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") - raise TypeError(f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") + self.logger.error( + f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") + raise TypeError( + f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") else: self.on_crossover = None @@ -1026,8 +1247,10 @@ def __init__(self, self.on_mutation = on_mutation else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") # Check if the on_mutation is a function. elif callable(on_mutation): # Check if the on_mutation function accepts 2 paramaters. @@ -1035,12 +1258,16 @@ def __init__(self, self.on_mutation = on_mutation else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") - raise TypeError(f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") + self.logger.error( + f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") + raise TypeError( + f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") else: self.on_mutation = None @@ -1053,8 +1280,10 @@ def __init__(self, self.on_generation = on_generation else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") # Check if the on_generation is a function. elif callable(on_generation): # Check if the on_generation function accepts only a single paramater. @@ -1062,12 +1291,16 @@ def __init__(self, self.on_generation = on_generation else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") - raise TypeError(f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") + self.logger.error( + f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") + raise TypeError( + f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") else: self.on_generation = None @@ -1080,8 +1313,10 @@ def __init__(self, self.on_stop = on_stop else: self.valid_parameters = False - self.logger.error(f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") - raise ValueError(f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") # Check if the on_stop is a function. elif callable(on_stop): # Check if the on_stop function accepts 2 paramaters. @@ -1089,12 +1324,16 @@ def __init__(self, self.on_stop = on_stop else: self.valid_parameters = False - self.logger.error(f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") - raise ValueError(f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + self.logger.error( + f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + raise ValueError( + f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error(f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") - raise TypeError(f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") + self.logger.error( + f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") + raise TypeError( + f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") else: self.on_stop = None @@ -1104,30 +1343,42 @@ def __init__(self, self.delay_after_gen = delay_after_gen else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") - raise ValueError(f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") + self.logger.error( + f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") + raise ValueError( + f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") - raise TypeError(f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") + self.logger.error( + f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") + raise TypeError( + f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") # Validate save_best_solutions if type(save_best_solutions) is bool: if save_best_solutions == True: - if not self.suppress_warnings: warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") + if not self.suppress_warnings: + warnings.warn( + "Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") - raise TypeError(f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") + self.logger.error( + f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") + raise TypeError( + f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") # Validate save_solutions if type(save_solutions) is bool: if save_solutions == True: - if not self.suppress_warnings: warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") + if not self.suppress_warnings: + warnings.warn( + "Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") else: self.valid_parameters = False - self.logger.error(f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") - raise TypeError(f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") + self.logger.error( + f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") + raise TypeError( + f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") self.stop_criteria = [] self.supported_stop_words = ["reach", "saturate"] @@ -1146,22 +1397,28 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") - raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") + self.logger.error( + f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") + raise ValueError( + f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") if number.replace(".", "").isnumeric(): number = float(number) else: self.valid_parameters = False - self.logger.error(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") - raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") - + self.logger.error( + f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + raise ValueError( + f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + self.stop_criteria.append([stop_word, number]) else: self.valid_parameters = False - self.logger.error(f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") - raise ValueError(f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") + self.logger.error( + f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") + raise ValueError( + f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") elif type(stop_criteria) in [list, tuple, numpy.ndarray]: # Remove duplicate criterira by converting the list to a set then back to a list. @@ -1177,30 +1434,40 @@ def __init__(self, pass else: self.valid_parameters = False - self.logger.error(f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") - raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") + self.logger.error( + f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") + raise ValueError( + f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") if number.replace(".", "").isnumeric(): number = float(number) else: self.valid_parameters = False - self.logger.error(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") - raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + self.logger.error( + f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + raise ValueError( + f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") self.stop_criteria.append([stop_word, number]) else: self.valid_parameters = False - self.logger.error(f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") - raise ValueError(f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") + self.logger.error( + f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") + raise ValueError( + f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") else: self.valid_parameters = False - self.logger.error(f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") - raise TypeError(f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") + self.logger.error( + f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") + raise TypeError( + f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") else: self.valid_parameters = False - self.logger.error(f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") - raise TypeError(f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") + self.logger.error( + f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") + raise TypeError( + f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") if parallel_processing is None: self.parallel_processing = None @@ -1209,8 +1476,10 @@ def __init__(self, self.parallel_processing = ["thread", parallel_processing] else: self.valid_parameters = False - self.logger.error(f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") - raise ValueError(f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") + self.logger.error( + f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") + raise ValueError( + f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") elif type(parallel_processing) in [list, tuple]: if len(parallel_processing) == 2: if type(parallel_processing[0]) is str: @@ -1224,20 +1493,28 @@ def __init__(self, self.parallel_processing = parallel_processing else: self.valid_parameters = False - self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") - raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") + self.logger.error( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") + raise TypeError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") else: self.valid_parameters = False - self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") - raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") + self.logger.error( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") + raise ValueError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") else: self.valid_parameters = False - self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") - raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") + self.logger.error( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") + raise TypeError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") else: self.valid_parameters = False - self.logger.error(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") - raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") + self.logger.error( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") + raise ValueError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") else: self.valid_parameters = False self.logger.error(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") @@ -1250,7 +1527,8 @@ def __init__(self, self.generations_completed = 0 # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. - self.valid_parameters = True # Set to True when all the parameters passed in the GA class constructor are valid. + # Set to True when all the parameters passed in the GA class constructor are valid. + self.valid_parameters = True # Parameters of the genetic algorithm. self.num_generations = abs(num_generations) @@ -1261,45 +1539,54 @@ def __init__(self, self.mutation_num_genes = mutation_num_genes # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. - self.best_solutions_fitness = [] # A list holding the fitness value of the best solution for each generation. + # A list holding the fitness value of the best solution for each generation. + self.best_solutions_fitness = [] - self.best_solution_generation = -1 # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. + # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. + self.best_solution_generation = -1 self.save_best_solutions = save_best_solutions - self.best_solutions = [] # Holds the best solution in each generation. + self.best_solutions = [] # Holds the best solution in each generation. self.save_solutions = save_solutions - self.solutions = [] # Holds the solutions in each generation. - self.solutions_fitness = [] # Holds the fitness of the solutions in each generation. - - self.last_generation_fitness = None # A list holding the fitness values of all solutions in the last generation. - self.last_generation_parents = None # A list holding the parents of the last generation. - self.last_generation_offspring_crossover = None # A list holding the offspring after applying crossover in the last generation. - self.last_generation_offspring_mutation = None # A list holding the offspring after applying mutation in the last generation. - self.previous_generation_fitness = None # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. - self.last_generation_elitism = None # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. - self.last_generation_elitism_indices = None # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. + self.solutions = [] # Holds the solutions in each generation. + # Holds the fitness of the solutions in each generation. + self.solutions_fitness = [] + + # A list holding the fitness values of all solutions in the last generation. + self.last_generation_fitness = None + # A list holding the parents of the last generation. + self.last_generation_parents = None + # A list holding the offspring after applying crossover in the last generation. + self.last_generation_offspring_crossover = None + # A list holding the offspring after applying mutation in the last generation. + self.last_generation_offspring_mutation = None + # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. + self.previous_generation_fitness = None + # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism = None + # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism_indices = None def round_genes(self, solutions): for gene_idx in range(self.num_genes): if self.gene_type_single: if not self.gene_type[1] is None: - solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], + solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], self.gene_type[1]) else: if not self.gene_type[gene_idx][1] is None: - solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), + solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), self.gene_type[gene_idx][1]) return solutions - def initialize_population(self, - low, - high, - allow_duplicate_genes, - mutation_by_replacement, + def initialize_population(self, + low, + high, + allow_duplicate_genes, + mutation_by_replacement, gene_type): - """ Creates an initial population randomly as a NumPy array. The array is saved in the instance attribute named 'population'. @@ -1313,24 +1600,26 @@ def initialize_population(self, """ # Population size = (number of chromosomes, number of genes per chromosome) - self.pop_size = (self.sol_per_pop,self.num_genes) # The population will have sol_per_pop chromosome where each chromosome has num_genes genes. + # The population will have sol_per_pop chromosome where each chromosome has num_genes genes. + self.pop_size = (self.sol_per_pop, self.num_genes) if self.gene_space is None: # Creating the initial population randomly. if self.gene_type_single == True: - self.population = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. + self.population = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=self.pop_size), + dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) + self.population = numpy.zeros( + shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=self.pop_size[0]), + gene_values = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. self.population[:, gene_idx] = gene_values @@ -1339,7 +1628,7 @@ def initialize_population(self, for solution_idx in range(self.population.shape[0]): # self.logger.info("Before", self.population[solution_idx]) self.population[solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=self.population[solution_idx], - min_val=low, + min_val=low, max_val=high, mutation_by_replacement=True, gene_type=gene_type, @@ -1349,25 +1638,25 @@ def initialize_population(self, elif self.gene_space_nested: if self.gene_type_single == True: # Reaching this block means: - # 1) gene_space is nested (gene_space_nested is True). - # 2) gene_type is not nested (gene_type_single is True). - self.population = numpy.zeros(shape=self.pop_size, + # 1) gene_space is nested (gene_space_nested is True). + # 2) gene_type is not nested (gene_type_single is True). + self.population = numpy.zeros(shape=self.pop_size, dtype=self.gene_type[0]) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): if self.gene_space[gene_idx] is None: - # The following commented code replace the None value with a single number that will not change again. + # The following commented code replace the None value with a single number that will not change again. # This means the gene value will be the same across all solutions. # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - # high=high, + # high=high, # size=1), dtype=self.gene_type[0])[0] # self.population[sol_idx, gene_idx] = list(self.gene_space[gene_idx]).copy() # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + high=high, + size=1), dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple, range]: # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. @@ -1378,47 +1667,56 @@ def initialize_population(self, # We copy the gene_space to a temp variable to keep its original value. # In the next for loop, the gene_space is changed. # Later, the gene_space is restored to its original value using the temp variable. - temp_gene_space = list(self.gene_space[gene_idx]).copy() + temp_gene_space = list( + self.gene_space[gene_idx]).copy() for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), dtype=self.gene_type[0])[0] # Find the difference between the current gene space and the current values in the solution. - unique_gene_values = list(set(self.gene_space[gene_idx]).difference(set(self.population[sol_idx, :gene_idx]))) + unique_gene_values = list(set(self.gene_space[gene_idx]).difference( + set(self.population[sol_idx, :gene_idx]))) if len(unique_gene_values) > 0: - self.population[sol_idx, gene_idx] = random.choice(unique_gene_values) + self.population[sol_idx, gene_idx] = random.choice( + unique_gene_values) else: # If there is no unique values, then we have to select a duplicate value. - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = random.choice( + self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[0](self.population[sol_idx, gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[0]( + self.population[sol_idx, gene_idx]) # Restore the gene_space from the temp_gene_space variable. - self.gene_space[gene_idx] = list(temp_gene_space).copy() + self.gene_space[gene_idx] = list( + temp_gene_space).copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], + stop=self.gene_space[ + gene_idx]['high'], step=self.gene_space[gene_idx]['step']), size=1), dtype=self.gene_type[0])[0] else: self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[gene_idx]['high'], + high=self.gene_space[ + gene_idx]['high'], size=1), dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + self.population[sol_idx, + gene_idx] = self.gene_space[gene_idx] else: # There is no more options. pass else: # Reaching this block means: - # 1) gene_space is nested (gene_space_nested is True). - # 2) gene_type is nested (gene_type_single is False). - self.population = numpy.zeros(shape=self.pop_size, + # 1) gene_space is nested (gene_space_nested is True). + # 2) gene_type is nested (gene_type_single is False). + self.population = numpy.zeros(shape=self.pop_size, dtype=object) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): @@ -1427,59 +1725,66 @@ def initialize_population(self, # We copy the gene_space to a temp variable to keep its original value. # In the next for loop, the gene_space is changed. # Later, the gene_space is restored to its original value using the temp variable. - temp_gene_space = list(self.gene_space[gene_idx]).copy() + temp_gene_space = list( + self.gene_space[gene_idx]).copy() # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0](self.population[sol_idx, gene_idx]) + self.population[sol_idx, gene_idx] = random.choice( + self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0]( + self.population[sol_idx, gene_idx]) # Restore the gene_space from the temp_gene_space variable. self.gene_space[gene_idx] = temp_gene_space.copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], + stop=self.gene_space[ + gene_idx]['high'], step=self.gene_space[gene_idx]['step']), size=1), dtype=self.gene_type[gene_idx][0])[0] else: self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[gene_idx]['high'], - size=1), + high=self.gene_space[ + gene_idx]['high'], + size=1), dtype=self.gene_type[gene_idx][0])[0] elif type(self.gene_space[gene_idx]) == type(None): temp_gene_value = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + high=high, + size=1), dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = temp_gene_value.copy() + self.population[sol_idx, + gene_idx] = temp_gene_value.copy() elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + self.population[sol_idx, + gene_idx] = self.gene_space[gene_idx] else: - # There is no more options. + # There is no more options. pass else: # Handle the non-nested gene_space. It can be assigned a numeric value, list, numpy.ndarray, or a dict. if self.gene_type_single == True: # Reaching this block means: - # 1) gene_space is not nested (gene_space_nested is False). - # 2) gene_type is not nested (gene_type_single is True). + # 1) gene_space is not nested (gene_space_nested is False). + # 2) gene_type is not nested (gene_type_single is True). # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. for idx, curr_gene_space in enumerate(self.gene_space): if curr_gene_space is None: - self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), dtype=self.gene_type[0])[0] - + # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. if type(self.gene_space) is dict: if 'step' in self.gene_space.keys(): @@ -1492,20 +1797,20 @@ def initialize_population(self, self.population = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. + dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: self.population = numpy.asarray(numpy.random.choice(self.gene_space, size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. + dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: # Reaching this block means: - # 1) gene_space is not nested (gene_space_nested is False). - # 2) gene_type is nested (gene_type_single is False). + # 1) gene_space is not nested (gene_space_nested is False). + # 2) gene_type is nested (gene_type_single is False). # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. if type(self.gene_space) is dict: # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, + self.population = numpy.zeros(shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): @@ -1518,24 +1823,25 @@ def initialize_population(self, size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) else: - gene_values = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], - high=self.gene_space['high'], - size=self.pop_size[0]), + gene_values = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. self.population[:, gene_idx] = gene_values - + else: # Reaching this block means that the gene_space is not None or dict. # It can be either range, numpy.ndarray, or list. # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) + self.population = numpy.zeros( + shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.choice(self.gene_space, - size=self.pop_size[0]), + gene_values = numpy.asarray(numpy.random.choice(self.gene_space, + size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. self.population[:, gene_idx] = gene_values @@ -1552,7 +1858,6 @@ def initialize_population(self, self.initial_population = self.population.copy() def cal_pop_fitness(self): - """ Calculating the fitness values of batches of solutions in the current population. It returns: @@ -1560,18 +1865,22 @@ def cal_pop_fitness(self): """ if self.valid_parameters == False: - self.logger.error("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - raise Exception("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") + self.logger.error( + "ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") + raise Exception( + "ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. if self.last_generation_parents is not None: - last_generation_parents_as_list = [list(gen_parent) for gen_parent in self.last_generation_parents] + last_generation_parents_as_list = [ + list(gen_parent) for gen_parent in self.last_generation_parents] # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. if self.last_generation_elitism is not None: - last_generation_elitism_as_list = [list(gen_elitism) for gen_elitism in self.last_generation_elitism] + last_generation_elitism_as_list = [ + list(gen_elitism) for gen_elitism in self.last_generation_elitism] pop_fitness = ["undefined"] * len(self.population) if self.parallel_processing is None: @@ -1589,7 +1898,8 @@ def cal_pop_fitness(self): elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index(list(sol)) + elitism_idx = last_generation_elitism_as_list.index( + list(sol)) # Use the returned elitism index to return its index in the last population. elitism_idx = self.last_generation_elitism_indices[elitism_idx] # Use the elitism's index to return its pre-calculated fitness value. @@ -1598,10 +1908,11 @@ def cal_pop_fitness(self): # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. + # Index of the parent in the 'self.last_generation_parents' array. # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index(list(sol)) + parent_idx = last_generation_parents_as_list.index( + list(sol)) # Use the returned parent index to return its index in the last population. parent_idx = self.last_generation_parents_indices[parent_idx] # Use the parent's index to return its pre-calculated fitness value. @@ -1613,8 +1924,10 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pass else: - self.logger.error(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + self.logger.error( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + raise ValueError( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: # Reaching this point means that batch processing is in effect to calculate the fitness values. # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. @@ -1627,30 +1940,40 @@ def cal_pop_fitness(self): # Reaching this block means that batch fitness calculation is used. # Indices of the solutions to calculate their fitness. - solutions_indices = numpy.where(numpy.array(pop_fitness) == "undefined")[0] + solutions_indices = numpy.where( + numpy.array(pop_fitness) == "undefined")[0] # Number of batches. - num_batches = int(numpy.ceil(len(solutions_indices) / self.fitness_batch_size)) + num_batches = int(numpy.ceil( + len(solutions_indices) / self.fitness_batch_size)) # For each batch, get its indices and call the fitness function. for batch_idx in range(num_batches): batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * self.fitness_batch_size + batch_last_index = (batch_idx + 1) * \ + self.fitness_batch_size batch_indices = solutions_indices[batch_first_index:batch_last_index] batch_solutions = self.population[batch_indices, :] - batch_fitness = self.fitness_func(self, batch_solutions, batch_indices) + batch_fitness = self.fitness_func( + self, batch_solutions, batch_indices) if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") - raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + self.logger.error( + f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + raise TypeError( + f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") - raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + self.logger.error( + f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + raise ValueError( + f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + self.logger.error( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + raise ValueError( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: # Calculating the fitness value of each solution in the current population. for sol_idx, sol in enumerate(self.population): @@ -1665,7 +1988,8 @@ def cal_pop_fitness(self): elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index(list(sol)) + elitism_idx = last_generation_elitism_as_list.index( + list(sol)) # Use the returned elitism index to return its index in the last population. elitism_idx = self.last_generation_elitism_indices[elitism_idx] # Use the elitism's index to return its pre-calculated fitness value. @@ -1676,10 +2000,11 @@ def cal_pop_fitness(self): # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. + # Index of the parent in the 'self.last_generation_parents' array. # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index(list(sol)) + parent_idx = last_generation_parents_as_list.index( + list(sol)) # Use the returned parent index to return its index in the last population. parent_idx = self.last_generation_parents_indices[parent_idx] # Use the parent's index to return its pre-calculated fitness value. @@ -1709,13 +2034,16 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + self.logger.error( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + raise ValueError( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: # Reaching this block means that batch processing is used. The fitness values are calculated in batches. # Number of batches. - num_batches = int(numpy.ceil(len(solutions_to_submit_indices) / self.fitness_batch_size)) + num_batches = int(numpy.ceil( + len(solutions_to_submit_indices) / self.fitness_batch_size)) # Each element of the `batches_solutions` list represents the solutions in one batch. batches_solutions = [] # Each element of the `batches_indices` list represents the solutions' indices in one batch. @@ -1723,7 +2051,8 @@ def cal_pop_fitness(self): # For each batch, get its indices and call the fitness function. for batch_idx in range(num_batches): batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * self.fitness_batch_size + batch_last_index = (batch_idx + 1) * \ + self.fitness_batch_size batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] batch_solutions = self.population[batch_indices, :] @@ -1732,34 +2061,41 @@ def cal_pop_fitness(self): for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") - raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + self.logger.error( + f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + raise TypeError( + f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") - raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + self.logger.error( + f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + raise ValueError( + f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error(f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") - raise ValueError(f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + self.logger.error( + f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + raise ValueError( + f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") pop_fitness = numpy.array(pop_fitness) return pop_fitness def run(self): - """ Runs the genetic algorithm. This is the main method in which the genetic algorithm is evolved through a number of generations. """ if self.valid_parameters == False: - self.logger.error("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - raise Exception("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") + self.logger.error( + "Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") + raise Exception( + "Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. + # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. # self.best_solutions: Holds the best solution in each generation. @@ -1793,7 +2129,8 @@ def run(self): # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. self.last_generation_fitness = self.cal_pop_fitness() - best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) + best_solution, best_solution_fitness, best_match_idx = self.best_solution( + pop_fitness=self.last_generation_fitness) # Appending the best solution in the initial population to the best_solutions list. if self.save_best_solutions: @@ -1805,46 +2142,59 @@ def run(self): # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. self.best_solutions_fitness.append(best_solution_fitness) - + # Appending the solutions in the current generation to the solutions list. if self.save_solutions: # self.solutions.extend(self.population.copy()) population_as_list = self.population.copy() - population_as_list = [list(item) for item in population_as_list] + population_as_list = [list(item) + for item in population_as_list] self.solutions.extend(population_as_list) self.solutions_fitness.extend(self.last_generation_fitness) # Selecting the best parents in the population for mating. if callable(self.parent_selection_type): - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, - self.num_parents_mating, + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + self.num_parents_mating, self) if not type(self.last_generation_parents) is numpy.ndarray: - self.logger.error(f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") - raise TypeError(f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") + self.logger.error( + f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") + raise TypeError( + f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") if not type(self.last_generation_parents_indices) is numpy.ndarray: - self.logger.error(f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") - raise TypeError(f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") + self.logger.error( + f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") + raise TypeError( + f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") else: - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, num_parents=self.num_parents_mating) # Validate the output of the parent selection step: self.select_parents() if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): if self.last_generation_parents.shape[0] != self.num_parents_mating: - self.logger.error(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") - raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") + self.logger.error( + f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") + raise ValueError( + f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") elif self.last_generation_parents.shape[1] != self.num_genes: - self.logger.error(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") - raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") + self.logger.error( + f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") + raise ValueError( + f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") if self.last_generation_parents_indices.ndim != 1: - self.logger.error(f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") - raise ValueError(f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") + self.logger.error( + f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") + raise ValueError( + f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") elif len(self.last_generation_parents_indices) != self.num_parents_mating: - self.logger.error(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") - raise ValueError(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") + self.logger.error( + f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") + raise ValueError( + f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") if not (self.on_parents is None): self.on_parents(self, self.last_generation_parents) @@ -1852,43 +2202,56 @@ def run(self): # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. if self.crossover_type is None: if self.keep_elitism == 0: - num_parents_to_keep = self.num_parents_mating if self.keep_parents == -1 else self.keep_parents + num_parents_to_keep = self.num_parents_mating if self.keep_parents == - \ + 1 else self.keep_parents if self.num_offspring <= num_parents_to_keep: - self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] + self.last_generation_offspring_crossover = self.last_generation_parents[ + 0:self.num_offspring] else: - self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) + self.last_generation_offspring_crossover = numpy.concatenate( + (self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) else: # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. - self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, + self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, num_parents=self.keep_elitism) if self.num_offspring <= self.keep_elitism: - self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] + self.last_generation_offspring_crossover = self.last_generation_parents[ + 0:self.num_offspring] else: - self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) + self.last_generation_offspring_crossover = numpy.concatenate( + (self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) else: # Generating offspring using crossover. if callable(self.crossover_type): self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - (self.num_offspring, self.num_genes), + (self.num_offspring, + self.num_genes), self) if not type(self.last_generation_offspring_crossover) is numpy.ndarray: - self.logger.error(f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") - raise TypeError(f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") + self.logger.error( + f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") + raise TypeError( + f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") else: self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, offspring_size=(self.num_offspring, self.num_genes)) if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: - self.logger.error(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") - raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") + self.logger.error( + f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") + raise ValueError( + f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: - self.logger.error(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") - raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") + self.logger.error( + f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") + raise ValueError( + f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. if not (self.on_crossover is None): - self.on_crossover(self, self.last_generation_offspring_crossover) + self.on_crossover( + self, self.last_generation_offspring_crossover) # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. if self.mutation_type is None: @@ -1896,21 +2259,28 @@ def run(self): else: # Adding some variations to the offspring using mutation. if callable(self.mutation_type): - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, + self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, self) if not type(self.last_generation_offspring_mutation) is numpy.ndarray: - self.logger.error(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") - raise TypeError(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") + self.logger.error( + f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") + raise TypeError( + f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") else: - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover) + self.last_generation_offspring_mutation = self.mutation( + self.last_generation_offspring_crossover) if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: - self.logger.error(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") - raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") + self.logger.error( + f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") + raise ValueError( + f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: - self.logger.error(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") - raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") + self.logger.error( + f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") + raise ValueError( + f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. if not (self.on_mutation is None): @@ -1923,26 +2293,32 @@ def run(self): self.population = self.last_generation_offspring_mutation elif (self.keep_parents == -1): # Creating the new population based on the parents and offspring. - self.population[0:self.last_generation_parents.shape[0], :] = self.last_generation_parents + self.population[0:self.last_generation_parents.shape[0], + :] = self.last_generation_parents self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation elif (self.keep_parents > 0): - parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, + parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, num_parents=self.keep_parents) - self.population[0:parents_to_keep.shape[0], :] = parents_to_keep - self.population[parents_to_keep.shape[0]:, :] = self.last_generation_offspring_mutation + self.population[0:parents_to_keep.shape[0], + :] = parents_to_keep + self.population[parents_to_keep.shape[0]:, + :] = self.last_generation_offspring_mutation else: - self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, + self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, num_parents=self.keep_elitism) - self.population[0:self.last_generation_elitism.shape[0], :] = self.last_generation_elitism + self.population[0:self.last_generation_elitism.shape[0], + :] = self.last_generation_elitism self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation - self.generations_completed = generation + 1 # The generations_completed attribute holds the number of the last completed generation. + # The generations_completed attribute holds the number of the last completed generation. + self.generations_completed = generation + 1 self.previous_generation_fitness = self.last_generation_fitness.copy() # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. self.last_generation_fitness = self.cal_pop_fitness() - best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) + best_solution, best_solution_fitness, best_match_idx = self.best_solution( + pop_fitness=self.last_generation_fitness) # Appending the best solution in the current generation to the best_solutions list. if self.save_best_solutions: @@ -1985,12 +2361,15 @@ def run(self): self.solutions_fitness.extend(self.last_generation_fitness) # Save the fitness value of the best solution. - _, best_solution_fitness, _ = self.best_solution(pop_fitness=self.last_generation_fitness) + _, best_solution_fitness, _ = self.best_solution( + pop_fitness=self.last_generation_fitness) self.best_solutions_fitness.append(best_solution_fitness) - self.best_solution_generation = numpy.where(numpy.array(self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] + self.best_solution_generation = numpy.where(numpy.array( + self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] # After the run() method completes, the run_completed flag is changed from False to True. - self.run_completed = True # Set to True only after the run() method completes gracefully. + # Set to True only after the run() method completes gracefully. + self.run_completed = True if not (self.on_stop is None): self.on_stop(self, self.last_generation_fitness) @@ -2002,7 +2381,6 @@ def run(self): # self.solutions = numpy.array(self.solutions) def best_solution(self, pop_fitness=None): - """ Returns information about the best solution found by the genetic algorithm. Accepts the following parameters: @@ -2023,14 +2401,19 @@ def best_solution(self, pop_fitness=None): # This successfully verifies the 'pop_fitness' parameter. pass else: - self.logger.error(f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") - raise ValueError(f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") + self.logger.error( + f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") + raise ValueError( + f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") else: - self.logger.error(f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") - raise ValueError(f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") + self.logger.error( + f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") + raise ValueError( + f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") # Return the index of the best solution that has the best fitness value. - best_match_idx = numpy.where(pop_fitness == numpy.max(pop_fitness))[0][0] + best_match_idx = numpy.where( + pop_fitness == numpy.max(pop_fitness))[0][0] best_solution = self.population[best_match_idx, :].copy() best_solution_fitness = pop_fitness[best_match_idx] @@ -2038,7 +2421,6 @@ def best_solution(self, pop_fitness=None): return best_solution, best_solution_fitness, best_match_idx def save(self, filename): - """ Saves the genetic algorithm instance: -filename: Name of the file to save the instance. No extension is needed. @@ -2049,12 +2431,12 @@ def save(self, filename): file.write(cloudpickle_serialized_object) cloudpickle.dump(self, file) - def summary(self, - line_length=70, - fill_character=" ", - line_character="-", - line_character2="=", - columns_equal_len=False, + def summary(self, + line_length=70, + fill_character=" ", + line_character="-", + line_character2="=", + columns_equal_len=False, print_step_parameters=True, print_parameters_summary=True): """ @@ -2074,7 +2456,8 @@ def summary(self, def fill_message(msg, line_length=line_length, fill_character=fill_character): num_spaces = int((line_length - len(msg))/2) num_spaces = int(num_spaces / len(fill_character)) - msg = "{spaces}{msg}{spaces}".format(msg=msg, spaces=fill_character * num_spaces) + msg = "{spaces}{msg}{spaces}".format( + msg=msg, spaces=fill_character * num_spaces) return msg def line_separator(line_length=line_length, line_character=line_character): @@ -2085,10 +2468,12 @@ def create_row(columns, line_length=line_length, fill_character=fill_character, filled_columns = [] if split_percentages == None: split_percentages = [int(100/len(columns))] * 3 - columns_lengths = [int((split_percentages[idx] * line_length) / 100) for idx in range(len(split_percentages))] + columns_lengths = [int((split_percentages[idx] * line_length) / 100) + for idx in range(len(split_percentages))] for column_idx, column in enumerate(columns): current_column_length = len(column) - extra_characters = columns_lengths[column_idx] - current_column_length + extra_characters = columns_lengths[column_idx] - \ + current_column_length filled_column = column + fill_character * extra_characters filled_column = column + fill_character * extra_characters filled_columns.append(filled_column) @@ -2223,21 +2608,30 @@ def print_params_summary(): self.logger.info(m) summary_output = summary_output + m + "\n" - lifecycle_steps = ["on_start()", "Fitness Function", "On Fitness", "Parent Selection", "On Parents", "Crossover", "On Crossover", "Mutation", "On Mutation", "On Generation", "On Stop"] - lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] - lifecycle_functions = [getattr(lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] - lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != "None" else "None" for lifecycle_func in lifecycle_functions] - lifecycle_output = ["None", "(1)", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", "None", "None"] - lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] + lifecycle_steps = ["on_start()", "Fitness Function", "On Fitness", "Parent Selection", "On Parents", + "Crossover", "On Crossover", "Mutation", "On Mutation", "On Generation", "On Stop"] + lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, + self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] + lifecycle_functions = [getattr( + lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] + lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != + "None" else "None" for lifecycle_func in lifecycle_functions] + lifecycle_output = ["None", "(1)", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", + f"({self.num_parents_mating}, {self.num_genes})", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", "None", "None"] + lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, + print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] if not columns_equal_len: - max_lengthes = [max(list(map(len, lifecycle_steps))), max(list(map(len, lifecycle_functions))), max(list(map(len, lifecycle_output)))] - split_percentages = [int((column_len / sum(max_lengthes)) * 100) for column_len in max_lengthes] + max_lengthes = [max(list(map(len, lifecycle_steps))), max( + list(map(len, lifecycle_functions))), max(list(map(len, lifecycle_output)))] + split_percentages = [ + int((column_len / sum(max_lengthes)) * 100) for column_len in max_lengthes] else: split_percentages = None header_columns = ["Step", "Handler", "Output Shape"] - header_row = create_row(header_columns, split_percentages=split_percentages) + header_row = create_row( + header_columns, split_percentages=split_percentages) m = header_row self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2246,10 +2640,12 @@ def print_params_summary(): summary_output = summary_output + m + "\n" for lifecycle_idx in range(len(lifecycle_steps)): - lifecycle_column = [lifecycle_steps[lifecycle_idx], lifecycle_functions[lifecycle_idx], lifecycle_output[lifecycle_idx]] + lifecycle_column = [lifecycle_steps[lifecycle_idx], + lifecycle_functions[lifecycle_idx], lifecycle_output[lifecycle_idx]] if lifecycle_column[1] == "None": continue - lifecycle_row = create_row(lifecycle_column, split_percentages=split_percentages) + lifecycle_row = create_row( + lifecycle_column, split_percentages=split_percentages) m = lifecycle_row self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2270,8 +2666,8 @@ def print_params_summary(): summary_output = summary_output + m + "\n" return summary_output -def load(filename): +def load(filename): """ Reads a saved instance of the genetic algorithm: -filename: Name of the file to read the instance. No extension is needed. @@ -2282,7 +2678,8 @@ def load(filename): with open(filename + ".pkl", 'rb') as file: ga_in = cloudpickle.load(file) except FileNotFoundError: - raise FileNotFoundError(f"Error reading the file {filename}. Please check your inputs.") + raise FileNotFoundError( + f"Error reading the file {filename}. Please check your inputs.") except: # raise BaseException("Error loading the file. If the file already exists, please reload all the functions previously used (e.g. fitness function).") raise BaseException("Error loading the file.") From 6188034a3b638df926dd0a6c879b2104342d9d88 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 6 May 2023 13:57:20 -0400 Subject: [PATCH 046/220] Test using Python 3.5 --- .github/workflows/mainpython35.yml | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/mainpython35.yml diff --git a/.github/workflows/mainpython35.yml b/.github/workflows/mainpython35.yml new file mode 100644 index 0000000..a575787 --- /dev/null +++ b/.github/workflows/mainpython35.yml @@ -0,0 +1,37 @@ +name: Testing PyGAD using PyTest + +on: + push: + branches: + - github-actions + # - master + +jobs: + job_id_1: + runs-on: ubuntu-latest + name: PyTest Workflow Job + + steps: + - name: Checkout Pre-Built Action + uses: actions/checkout@v3 + + - name: Setup Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.5' + + - name: Build PyGAD from the Repository + run: | + python3 -m pip install --upgrade build + python3 -m build + + - name: Install PyGAD after Building the .whl File + run: | + find ./dist/*.whl | xargs pip install + + - name: Install PyTest + run: pip install pytest + + - name: Run the Tests by Calling PyTest + run: | + pytest From 3ef1a9d5aab420dc46508ae32a0ab62f97f26a44 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 6 May 2023 14:00:28 -0400 Subject: [PATCH 047/220] Test using Python 3.5 --- .github/workflows/mainpython35.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mainpython35.yml b/.github/workflows/mainpython35.yml index a575787..8b0bed5 100644 --- a/.github/workflows/mainpython35.yml +++ b/.github/workflows/mainpython35.yml @@ -15,10 +15,10 @@ jobs: - name: Checkout Pre-Built Action uses: actions/checkout@v3 - - name: Setup Python 3.10 + - name: Setup Python 3.5.9 uses: actions/setup-python@v4 with: - python-version: '3.5' + python-version: '3.5.9' - name: Build PyGAD from the Repository run: | From 9f3665b826025d958348a4c934d31f44bba2e43d Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 6 May 2023 14:02:41 -0400 Subject: [PATCH 048/220] Test using Python 3.5 --- .github/workflows/mainpython35.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/mainpython35.yml b/.github/workflows/mainpython35.yml index 8b0bed5..3667030 100644 --- a/.github/workflows/mainpython35.yml +++ b/.github/workflows/mainpython35.yml @@ -8,17 +8,17 @@ on: jobs: job_id_1: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 name: PyTest Workflow Job steps: - name: Checkout Pre-Built Action uses: actions/checkout@v3 - - name: Setup Python 3.5.9 + - name: Setup Python 3.5 uses: actions/setup-python@v4 with: - python-version: '3.5.9' + python-version: '3.5' - name: Build PyGAD from the Repository run: | From d49758fa2d19d57c0845937f55a79995f9f29821 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 6 May 2023 14:04:00 -0400 Subject: [PATCH 049/220] Test using Python 3.6 --- .github/workflows/mainpython35.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mainpython35.yml b/.github/workflows/mainpython35.yml index 3667030..235508d 100644 --- a/.github/workflows/mainpython35.yml +++ b/.github/workflows/mainpython35.yml @@ -15,10 +15,10 @@ jobs: - name: Checkout Pre-Built Action uses: actions/checkout@v3 - - name: Setup Python 3.5 + - name: Setup Python 3.6 uses: actions/setup-python@v4 with: - python-version: '3.5' + python-version: '3.6' - name: Build PyGAD from the Repository run: | From f1b697d113dea0585ac78cbd0a9de6892c5aabb9 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 6 May 2023 14:05:07 -0400 Subject: [PATCH 050/220] Test using Python 3.7 --- .github/workflows/mainpython35.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mainpython35.yml b/.github/workflows/mainpython35.yml index 235508d..061ada0 100644 --- a/.github/workflows/mainpython35.yml +++ b/.github/workflows/mainpython35.yml @@ -15,10 +15,10 @@ jobs: - name: Checkout Pre-Built Action uses: actions/checkout@v3 - - name: Setup Python 3.6 + - name: Setup Python 3.7 uses: actions/setup-python@v4 with: - python-version: '3.6' + python-version: '3.7' - name: Build PyGAD from the Repository run: | From f54cc16dd472e74957bc36ea8ca5a37e9af93d53 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 6 May 2023 14:11:50 -0400 Subject: [PATCH 051/220] Test using different Python versions --- .../workflows/{main.yml => main_py310.yml} | 0 .github/workflows/main_py311.yml | 37 +++++++++++++++++++ .../{mainpython35.yml => main_py37.yml} | 0 .github/workflows/main_py38.yml | 37 +++++++++++++++++++ .github/workflows/main_py39.yml | 37 +++++++++++++++++++ 5 files changed, 111 insertions(+) rename .github/workflows/{main.yml => main_py310.yml} (100%) create mode 100644 .github/workflows/main_py311.yml rename .github/workflows/{mainpython35.yml => main_py37.yml} (100%) create mode 100644 .github/workflows/main_py38.yml create mode 100644 .github/workflows/main_py39.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main_py310.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/main_py310.yml diff --git a/.github/workflows/main_py311.yml b/.github/workflows/main_py311.yml new file mode 100644 index 0000000..37b2085 --- /dev/null +++ b/.github/workflows/main_py311.yml @@ -0,0 +1,37 @@ +name: Testing PyGAD using PyTest + +on: + push: + branches: + - github-actions + # - master + +jobs: + job_id_1: + runs-on: ubuntu-latest + name: PyTest Workflow Job + + steps: + - name: Checkout Pre-Built Action + uses: actions/checkout@v3 + + - name: Setup Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Build PyGAD from the Repository + run: | + python3 -m pip install --upgrade build + python3 -m build + + - name: Install PyGAD after Building the .whl File + run: | + find ./dist/*.whl | xargs pip install + + - name: Install PyTest + run: pip install pytest + + - name: Run the Tests by Calling PyTest + run: | + pytest diff --git a/.github/workflows/mainpython35.yml b/.github/workflows/main_py37.yml similarity index 100% rename from .github/workflows/mainpython35.yml rename to .github/workflows/main_py37.yml diff --git a/.github/workflows/main_py38.yml b/.github/workflows/main_py38.yml new file mode 100644 index 0000000..908b08e --- /dev/null +++ b/.github/workflows/main_py38.yml @@ -0,0 +1,37 @@ +name: Testing PyGAD using PyTest + +on: + push: + branches: + - github-actions + # - master + +jobs: + job_id_1: + runs-on: ubuntu-latest + name: PyTest Workflow Job + + steps: + - name: Checkout Pre-Built Action + uses: actions/checkout@v3 + + - name: Setup Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: '3.8' + + - name: Build PyGAD from the Repository + run: | + python3 -m pip install --upgrade build + python3 -m build + + - name: Install PyGAD after Building the .whl File + run: | + find ./dist/*.whl | xargs pip install + + - name: Install PyTest + run: pip install pytest + + - name: Run the Tests by Calling PyTest + run: | + pytest diff --git a/.github/workflows/main_py39.yml b/.github/workflows/main_py39.yml new file mode 100644 index 0000000..0ef4f1c --- /dev/null +++ b/.github/workflows/main_py39.yml @@ -0,0 +1,37 @@ +name: Testing PyGAD using PyTest + +on: + push: + branches: + - github-actions + # - master + +jobs: + job_id_1: + runs-on: ubuntu-latest + name: PyTest Workflow Job + + steps: + - name: Checkout Pre-Built Action + uses: actions/checkout@v3 + + - name: Setup Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: '3.9' + + - name: Build PyGAD from the Repository + run: | + python3 -m pip install --upgrade build + python3 -m build + + - name: Install PyGAD after Building the .whl File + run: | + find ./dist/*.whl | xargs pip install + + - name: Install PyTest + run: pip install pytest + + - name: Run the Tests by Calling PyTest + run: | + pytest From 22e353df25c3176c86dd910eafc16efb56be1a1a Mon Sep 17 00:00:00 2001 From: King Lok Chung Date: Sun, 7 May 2023 00:15:00 +0100 Subject: [PATCH 052/220] logging all exception at the except point --- pygad/pygad.py | 3239 ++++++++++++++++++++++-------------------------- 1 file changed, 1497 insertions(+), 1742 deletions(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index 8d95941..d2b1b23 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -128,678 +128,552 @@ def __init__(self, logger: Added in PyGAD 2.20.0. It accepts a logger object of the 'logging.Logger' class to log the messages. If no logger is passed, then a default logger is created to log/print the messages to the console exactly like using the 'print()' function. """ + try: + # If no logger is passed, then create a logger that logs only the messages to the console. + if logger is None: + # Create a logger named with the module name. + logger = logging.getLogger(__name__) + # Set the logger log level to 'DEBUG' to log all kinds of messages. + logger.setLevel(logging.DEBUG) + + # Clear any attached handlers to the logger from the previous runs. + # If the handlers are not cleared, then the new handler will be appended to the list of handlers. + # This makes the single log message be repeated according to the length of the list of handlers. + logger.handlers.clear() + + # Create the handlers. + stream_handler = logging.StreamHandler() + # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. + stream_handler.setLevel(logging.DEBUG) + + # Create the formatter that just includes the log message. + formatter = logging.Formatter('%(message)s') + + # Add the formatter to the handler. + stream_handler.setFormatter(formatter) + + # Add the handler to the logger. + logger.addHandler(stream_handler) + else: + # Validate that the passed logger is of type 'logging.Logger'. + if isinstance(logger, logging.Logger): + pass + else: + raise TypeError( + f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") - # If no logger is passed, then create a logger that logs only the messages to the console. - if logger is None: - # Create a logger named with the module name. - logger = logging.getLogger(__name__) - # Set the logger log level to 'DEBUG' to log all kinds of messages. - logger.setLevel(logging.DEBUG) - - # Clear any attached handlers to the logger from the previous runs. - # If the handlers are not cleared, then the new handler will be appended to the list of handlers. - # This makes the single log message be repeated according to the length of the list of handlers. - logger.handlers.clear() - - # Create the handlers. - stream_handler = logging.StreamHandler() - # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. - stream_handler.setLevel(logging.DEBUG) - - # Create the formatter that just includes the log message. - formatter = logging.Formatter('%(message)s') - - # Add the formatter to the handler. - stream_handler.setFormatter(formatter) + # Create the 'self.logger' attribute to hold the logger. + # Instead of using 'print()', use 'self.logger.info()' + self.logger = logger - # Add the handler to the logger. - logger.addHandler(stream_handler) - else: - # Validate that the passed logger is of type 'logging.Logger'. - if isinstance(logger, logging.Logger): + self.random_seed = random_seed + if random_seed is None: pass else: + numpy.random.seed(self.random_seed) + random.seed(self.random_seed) + + # If suppress_warnings is bool and its valud is False, then print warning messages. + if type(suppress_warnings) is bool: + self.suppress_warnings = suppress_warnings + else: + self.valid_parameters = False + raise TypeError( - f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") + f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") - # Create the 'self.logger' attribute to hold the logger. - # Instead of using 'print()', use 'self.logger.info()' - self.logger = logger + # Validating mutation_by_replacement + if not (type(mutation_by_replacement) is bool): + self.valid_parameters = False + + raise TypeError( + f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") - self.random_seed = random_seed - if random_seed is None: - pass - else: - numpy.random.seed(self.random_seed) - random.seed(self.random_seed) + self.mutation_by_replacement = mutation_by_replacement - # If suppress_warnings is bool and its valud is False, then print warning messages. - if type(suppress_warnings) is bool: - self.suppress_warnings = suppress_warnings - else: - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") - raise TypeError( - f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") - - # Validating mutation_by_replacement - if not (type(mutation_by_replacement) is bool): - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") - raise TypeError( - f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") - - self.mutation_by_replacement = mutation_by_replacement - - # Validate allow_duplicate_genes - if not (type(allow_duplicate_genes) is bool): - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") - raise TypeError( - f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") - - self.allow_duplicate_genes = allow_duplicate_genes - - # Validate gene_space - self.gene_space_nested = False - if type(gene_space) is type(None): - pass - elif type(gene_space) is range: - if len(gene_space) == 0: + # Validate allow_duplicate_genes + if not (type(allow_duplicate_genes) is bool): self.valid_parameters = False - self.logger.error( - "'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError( - "'gene_space' cannot be empty (i.e. its length must be >= 0).") - elif type(gene_space) in [list, numpy.ndarray]: - if len(gene_space) == 0: - self.valid_parameters = False - self.logger.error( - "'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError( - "'gene_space' cannot be empty (i.e. its length must be >= 0).") - else: - for index, el in enumerate(gene_space): - if type(el) in [numpy.ndarray, list, tuple, range]: - if len(el) == 0: - self.valid_parameters = False - self.logger.error( - f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") - raise ValueError( - f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") - else: - for val in el: - if not (type(val) in [type(None)] + GA.supported_int_float_types): - self.logger.error( - f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") - raise TypeError( - f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") - self.gene_space_nested = True - elif type(el) == type(None): - pass - # self.gene_space_nested = True - elif type(el) is dict: - if len(el.items()) == 2: - if ('low' in el.keys()) and ('high' in el.keys()): - pass - else: + + raise TypeError( + f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") + + self.allow_duplicate_genes = allow_duplicate_genes + + # Validate gene_space + self.gene_space_nested = False + if type(gene_space) is type(None): + pass + elif type(gene_space) is range: + if len(gene_space) == 0: + self.valid_parameters = False + + raise ValueError( + "'gene_space' cannot be empty (i.e. its length must be >= 0).") + elif type(gene_space) in [list, numpy.ndarray]: + if len(gene_space) == 0: + self.valid_parameters = False + + raise ValueError( + "'gene_space' cannot be empty (i.e. its length must be >= 0).") + else: + for index, el in enumerate(gene_space): + if type(el) in [numpy.ndarray, list, tuple, range]: + if len(el) == 0: self.valid_parameters = False - self.logger.error( - f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") raise ValueError( - f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") - elif len(el.items()) == 3: - if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): - pass + f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") + else: + for val in el: + if not (type(val) in [type(None)] + GA.supported_int_float_types): + raise TypeError( + f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") + self.gene_space_nested = True + elif type(el) == type(None): + pass + # self.gene_space_nested = True + elif type(el) is dict: + if len(el.items()) == 2: + if ('low' in el.keys()) and ('high' in el.keys()): + pass + else: + self.valid_parameters = False + raise ValueError( + f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + elif len(el.items()) == 3: + if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): + pass + else: + self.valid_parameters = False + raise ValueError( + f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") else: self.valid_parameters = False - self.logger.error( - f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + raise ValueError( - f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") - else: + f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") + self.gene_space_nested = True + elif not (type(el) in GA.supported_int_float_types): self.valid_parameters = False - self.logger.error( - f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") - raise ValueError( - f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") - self.gene_space_nested = True - elif not (type(el) in GA.supported_int_float_types): - self.valid_parameters = False - self.logger.error( - f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") - raise TypeError( - f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") + raise TypeError( + f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") - elif type(gene_space) is dict: - if len(gene_space.items()) == 2: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()): - pass - else: - self.valid_parameters = False - self.logger.error( - f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") - raise ValueError( - f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") - elif len(gene_space.items()) == 3: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): - pass + elif type(gene_space) is dict: + if len(gene_space.items()) == 2: + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()): + pass + else: + self.valid_parameters = False + raise ValueError( + f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + elif len(gene_space.items()) == 3: + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): + pass + else: + self.valid_parameters = False + raise ValueError( + f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") else: self.valid_parameters = False - self.logger.error( - f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") raise ValueError( - f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") + else: self.valid_parameters = False - self.logger.error( - f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") - raise ValueError( - f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") + raise TypeError( + f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") - else: - self.valid_parameters = False - self.logger.error( - f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") - raise TypeError( - f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") - - self.gene_space = gene_space - - # Validate init_range_low and init_range_high - if type(init_range_low) in GA.supported_int_float_types: - if type(init_range_high) in GA.supported_int_float_types: - self.init_range_low = init_range_low - self.init_range_high = init_range_high + self.gene_space = gene_space + + # Validate init_range_low and init_range_high + if type(init_range_low) in GA.supported_int_float_types: + if type(init_range_high) in GA.supported_int_float_types: + self.init_range_low = init_range_low + self.init_range_high = init_range_high + else: + self.valid_parameters = False + raise ValueError( + f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") else: self.valid_parameters = False - self.logger.error( - f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") raise ValueError( - f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") - else: - self.valid_parameters = False - self.logger.error( - f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") - raise ValueError( - f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") - - # Validate random_mutation_min_val and random_mutation_max_val - if type(random_mutation_min_val) in GA.supported_int_float_types: - if type(random_mutation_max_val) in GA.supported_int_float_types: - if random_mutation_min_val == random_mutation_max_val: - if not self.suppress_warnings: - warnings.warn( - "The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + + # Validate random_mutation_min_val and random_mutation_max_val + if type(random_mutation_min_val) in GA.supported_int_float_types: + if type(random_mutation_max_val) in GA.supported_int_float_types: + if random_mutation_min_val == random_mutation_max_val: + if not self.suppress_warnings: + warnings.warn( + "The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + else: + self.valid_parameters = False + raise TypeError( + f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") else: self.valid_parameters = False - self.logger.error( - f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") raise TypeError( - f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") - else: - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") - raise TypeError( - f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") - self.random_mutation_min_val = random_mutation_min_val - self.random_mutation_max_val = random_mutation_max_val - - # Validate gene_type - if gene_type in GA.supported_int_float_types: - self.gene_type = [gene_type, None] - self.gene_type_single = True - # A single data type of float with precision. - elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): - self.gene_type = gene_type - self.gene_type_single = True - # A single data type of int with precision. - elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): - self.gene_type_single = False - self.logger.error( - f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") - raise ValueError( - f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") - elif type(gene_type) in [list, tuple, numpy.ndarray]: - if num_genes is None: - if initial_population is None: - self.valid_parameters = False - self.logger.error( - "When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - raise TypeError( - "When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - elif not len(gene_type) == len(initial_population[0]): + f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") + self.random_mutation_min_val = random_mutation_min_val + self.random_mutation_max_val = random_mutation_max_val + + # Validate gene_type + if gene_type in GA.supported_int_float_types: + self.gene_type = [gene_type, None] + self.gene_type_single = True + # A single data type of float with precision. + elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): + self.gene_type = gene_type + self.gene_type_single = True + # A single data type of int with precision. + elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): + self.gene_type_single = False + raise ValueError( + f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") + elif type(gene_type) in [list, tuple, numpy.ndarray]: + if num_genes is None: + if initial_population is None: + self.valid_parameters = False + raise TypeError( + "When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + elif not len(gene_type) == len(initial_population[0]): + self.valid_parameters = False + raise ValueError( + f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") + elif not len(gene_type) == num_genes: self.valid_parameters = False - self.logger.error( - f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") raise ValueError( - f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") - elif not len(gene_type) == num_genes: - self.valid_parameters = False - self.logger.error( - f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") - raise ValueError( - f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") - for gene_type_idx, gene_type_val in enumerate(gene_type): - if gene_type_val in GA.supported_float_types: - # If the gene type is float and no precision is passed, set it to None. - gene_type[gene_type_idx] = [gene_type_val, None] - elif gene_type_val in GA.supported_int_types: - gene_type[gene_type_idx] = [gene_type_val, None] - elif type(gene_type_val) in [list, tuple, numpy.ndarray]: - # A float type is expected in a list/tuple/numpy.ndarray of length 2. - if len(gene_type_val) == 2: - if gene_type_val[0] in GA.supported_float_types: - if type(gene_type_val[1]) in GA.supported_int_types: - pass + f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") + for gene_type_idx, gene_type_val in enumerate(gene_type): + if gene_type_val in GA.supported_float_types: + # If the gene type is float and no precision is passed, set it to None. + gene_type[gene_type_idx] = [gene_type_val, None] + elif gene_type_val in GA.supported_int_types: + gene_type[gene_type_idx] = [gene_type_val, None] + elif type(gene_type_val) in [list, tuple, numpy.ndarray]: + # A float type is expected in a list/tuple/numpy.ndarray of length 2. + if len(gene_type_val) == 2: + if gene_type_val[0] in GA.supported_float_types: + if type(gene_type_val[1]) in GA.supported_int_types: + pass + else: + self.valid_parameters = False + raise TypeError( + f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") else: self.valid_parameters = False - self.logger.error( - f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") raise TypeError( - f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") + f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") else: self.valid_parameters = False - self.logger.error( - f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") - raise TypeError( - f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") + raise ValueError( + f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") else: self.valid_parameters = False - self.logger.error( - f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") raise ValueError( - f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") - else: - self.valid_parameters = False - self.logger.error( - f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") - raise ValueError( - f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") - self.gene_type = gene_type - self.gene_type_single = False - else: - self.valid_parameters = False - self.logger.error( - f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") - raise ValueError( - f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") - - # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. - self.gene_space_unpacked = self.unpack_gene_space() - - # Build the initial population - if initial_population is None: - if (sol_per_pop is None) or (num_genes is None): + f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") + self.gene_type = gene_type + self.gene_type_single = False + else: self.valid_parameters = False - self.logger.error("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") - raise TypeError("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") - elif (type(sol_per_pop) is int) and (type(num_genes) is int): - # Validating the number of solutions in the population (sol_per_pop) - if sol_per_pop <= 0: - self.valid_parameters = False - self.logger.error( - f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - raise ValueError( - f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - # Validating the number of gene. - if (num_genes <= 0): + raise ValueError( + f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") + + # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. + self.gene_space_unpacked = self.unpack_gene_space() + + # Build the initial population + if initial_population is None: + if (sol_per_pop is None) or (num_genes is None): self.valid_parameters = False - self.logger.error( - f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") - raise ValueError( - f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") - # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. - # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. - self.num_genes = num_genes # Number of genes in the solution. - - # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. - if self.gene_space_nested: - if len(gene_space) != self.num_genes: + raise TypeError("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") + elif (type(sol_per_pop) is int) and (type(num_genes) is int): + # Validating the number of solutions in the population (sol_per_pop) + if sol_per_pop <= 0: self.valid_parameters = False - self.logger.error( - f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") raise ValueError( - f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") - - # Number of solutions in the population. - self.sol_per_pop = sol_per_pop - self.initialize_population(self.init_range_low, - self.init_range_high, - allow_duplicate_genes, - True, - self.gene_type) - else: - self.valid_parameters = False - self.logger.error( - f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") - raise TypeError( - f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") - elif not type(initial_population) in [list, tuple, numpy.ndarray]: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") - raise TypeError( - f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") - elif numpy.array(initial_population).ndim != 2: - self.valid_parameters = False - self.logger.error( - f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") - raise ValueError( - f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") - else: - # Validate the type of each value in the 'initial_population' parameter. - for row_idx in range(len(initial_population)): - for col_idx in range(len(initial_population[0])): - if type(initial_population[row_idx][col_idx]) in GA.supported_int_float_types: - pass - else: + f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + # Validating the number of gene. + if (num_genes <= 0): self.valid_parameters = False - self.logger.error( - f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") - raise TypeError( - f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") - - # Forcing the initial_population array to have the data type assigned to the gene_type parameter. - if self.gene_type_single == True: - if self.gene_type[1] == None: - self.initial_population = numpy.array(initial_population, - dtype=self.gene_type[0]) + raise ValueError( + f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") + # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. + # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. + self.num_genes = num_genes # Number of genes in the solution. + + # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. + if self.gene_space_nested: + if len(gene_space) != self.num_genes: + self.valid_parameters = False + raise ValueError( + f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + + # Number of solutions in the population. + self.sol_per_pop = sol_per_pop + self.initialize_population(self.init_range_low, + self.init_range_high, + allow_duplicate_genes, + True, + self.gene_type) else: - # This block is reached only for non-integer data types (i.e. float). - self.initial_population = numpy.round(numpy.array(initial_population, - dtype=self.gene_type[0]), - self.gene_type[1]) - else: - initial_population = numpy.array(initial_population) - self.initial_population = numpy.zeros(shape=(initial_population.shape[0], - initial_population.shape[1]), - dtype=object) - for gene_idx in range(initial_population.shape[1]): - if self.gene_type[gene_idx][1] is None: - self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]) - else: - # This block is reached only for non-integer data types (i.e. float). - self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), - self.gene_type[gene_idx][1]) - - # Check if duplicates are allowed. If not, then solve any exisiting duplicates in the passed initial population. - if self.allow_duplicate_genes == False: - for initial_solution_idx, initial_solution in enumerate(self.initial_population): - if self.gene_space is None: - self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=initial_solution, - min_val=self.init_range_low, - max_val=self.init_range_high, - mutation_by_replacement=self.mutation_by_replacement, - gene_type=self.gene_type, - num_trials=10) - else: - self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_by_space(solution=initial_solution, - gene_type=self.gene_type, - num_trials=10) - - # A NumPy array holding the initial population. - self.population = self.initial_population.copy() - # Number of genes in the solution. - self.num_genes = self.initial_population.shape[1] - # Number of solutions in the population. - self.sol_per_pop = self.initial_population.shape[0] - # The population size. - self.pop_size = (self.sol_per_pop, self.num_genes) - - # Round initial_population and population - self.initial_population = self.round_genes(self.initial_population) - self.population = self.round_genes(self.population) - - # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. - if self.gene_space_nested: - if len(gene_space) != self.num_genes: + self.valid_parameters = False + raise TypeError( + f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") + elif not type(initial_population) in [list, tuple, numpy.ndarray]: + self.valid_parameters = False + raise TypeError( + f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") + elif numpy.array(initial_population).ndim != 2: self.valid_parameters = False - self.logger.error( - f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") raise ValueError( - f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") - - # Validating the number of parents to be selected for mating (num_parents_mating) - if num_parents_mating <= 0: - self.valid_parameters = False - self.logger.error( - f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - raise ValueError( - f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - - # Validating the number of parents to be selected for mating: num_parents_mating - if (num_parents_mating > self.sol_per_pop): - self.valid_parameters = False - self.logger.error( - f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") - raise ValueError( - f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") - - self.num_parents_mating = num_parents_mating - - # crossover: Refers to the method that applies the crossover operator based on the selected type of crossover in the crossover_type property. - # Validating the crossover type: crossover_type - if (crossover_type is None): - self.crossover = None - elif inspect.ismethod(crossover_type): - # Check if the crossover_type is a method that accepts 4 paramaters. - if (crossover_type.__code__.co_argcount == 4): - # The crossover method assigned to the crossover_type parameter is validated. - self.crossover = crossover_type + f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") else: + # Validate the type of each value in the 'initial_population' parameter. + for row_idx in range(len(initial_population)): + for col_idx in range(len(initial_population[0])): + if type(initial_population[row_idx][col_idx]) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + raise TypeError( + f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") + + # Forcing the initial_population array to have the data type assigned to the gene_type parameter. + if self.gene_type_single == True: + if self.gene_type[1] == None: + self.initial_population = numpy.array(initial_population, + dtype=self.gene_type[0]) + else: + # This block is reached only for non-integer data types (i.e. float). + self.initial_population = numpy.round(numpy.array(initial_population, + dtype=self.gene_type[0]), + self.gene_type[1]) + else: + initial_population = numpy.array(initial_population) + self.initial_population = numpy.zeros(shape=(initial_population.shape[0], + initial_population.shape[1]), + dtype=object) + for gene_idx in range(initial_population.shape[1]): + if self.gene_type[gene_idx][1] is None: + self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]) + else: + # This block is reached only for non-integer data types (i.e. float). + self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), + self.gene_type[gene_idx][1]) + + # Check if duplicates are allowed. If not, then solve any exisiting duplicates in the passed initial population. + if self.allow_duplicate_genes == False: + for initial_solution_idx, initial_solution in enumerate(self.initial_population): + if self.gene_space is None: + self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=initial_solution, + min_val=self.init_range_low, + max_val=self.init_range_high, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_by_space(solution=initial_solution, + gene_type=self.gene_type, + num_trials=10) + + # A NumPy array holding the initial population. + self.population = self.initial_population.copy() + # Number of genes in the solution. + self.num_genes = self.initial_population.shape[1] + # Number of solutions in the population. + self.sol_per_pop = self.initial_population.shape[0] + # The population size. + self.pop_size = (self.sol_per_pop, self.num_genes) + + # Round initial_population and population + self.initial_population = self.round_genes(self.initial_population) + self.population = self.round_genes(self.population) + + # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. + if self.gene_space_nested: + if len(gene_space) != self.num_genes: + self.valid_parameters = False + raise ValueError( + f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + + # Validating the number of parents to be selected for mating (num_parents_mating) + if num_parents_mating <= 0: self.valid_parameters = False - self.logger.error( - f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") raise ValueError( - f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") - elif callable(crossover_type): - # Check if the crossover_type is a function that accepts 2 paramaters. - if (crossover_type.__code__.co_argcount == 3): - # The crossover function assigned to the crossover_type parameter is validated. - self.crossover = crossover_type - else: + f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + + # Validating the number of parents to be selected for mating: num_parents_mating + if (num_parents_mating > self.sol_per_pop): self.valid_parameters = False - self.logger.error( - f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") raise ValueError( - f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") - elif not (type(crossover_type) is str): - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") - raise TypeError( - f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") - else: # type crossover_type is str - crossover_type = crossover_type.lower() - if (crossover_type == "single_point"): - self.crossover = self.single_point_crossover - elif (crossover_type == "two_points"): - self.crossover = self.two_points_crossover - elif (crossover_type == "uniform"): - self.crossover = self.uniform_crossover - elif (crossover_type == "scattered"): - self.crossover = self.scattered_crossover - else: + f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") + + self.num_parents_mating = num_parents_mating + + # crossover: Refers to the method that applies the crossover operator based on the selected type of crossover in the crossover_type property. + # Validating the crossover type: crossover_type + if (crossover_type is None): + self.crossover = None + elif inspect.ismethod(crossover_type): + # Check if the crossover_type is a method that accepts 4 paramaters. + if (crossover_type.__code__.co_argcount == 4): + # The crossover method assigned to the crossover_type parameter is validated. + self.crossover = crossover_type + else: + self.valid_parameters = False + raise ValueError( + f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + elif callable(crossover_type): + # Check if the crossover_type is a function that accepts 2 paramaters. + if (crossover_type.__code__.co_argcount == 3): + # The crossover function assigned to the crossover_type parameter is validated. + self.crossover = crossover_type + else: + self.valid_parameters = False + raise ValueError( + f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + elif not (type(crossover_type) is str): self.valid_parameters = False - self.logger.error( - f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") raise TypeError( - f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") + f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") + else: # type crossover_type is str + crossover_type = crossover_type.lower() + if (crossover_type == "single_point"): + self.crossover = self.single_point_crossover + elif (crossover_type == "two_points"): + self.crossover = self.two_points_crossover + elif (crossover_type == "uniform"): + self.crossover = self.uniform_crossover + elif (crossover_type == "scattered"): + self.crossover = self.scattered_crossover + else: + self.valid_parameters = False + raise TypeError( + f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") - self.crossover_type = crossover_type + self.crossover_type = crossover_type - # Calculate the value of crossover_probability - if crossover_probability is None: - self.crossover_probability = None - elif type(crossover_probability) in GA.supported_int_float_types: - if crossover_probability >= 0 and crossover_probability <= 1: - self.crossover_probability = crossover_probability - else: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") - raise ValueError( - f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") - else: - self.valid_parameters = False - self.logger.error( - f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") - raise TypeError( - f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") - - # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. - # Validating the mutation type: mutation_type - # "adaptive" mutation is supported starting from PyGAD 2.10.0 - if mutation_type is None: - self.mutation = None - elif inspect.ismethod(mutation_type): - # Check if the mutation_type is a method that accepts 3 paramater. - if (mutation_type.__code__.co_argcount == 3): - # The mutation method assigned to the mutation_type parameter is validated. - self.mutation = mutation_type - else: - self.valid_parameters = False - self.logger.error( - f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - raise ValueError( - f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - elif callable(mutation_type): - # Check if the mutation_type is a function that accepts 2 paramater. - if (mutation_type.__code__.co_argcount == 2): - # The mutation function assigned to the mutation_type parameter is validated. - self.mutation = mutation_type + # Calculate the value of crossover_probability + if crossover_probability is None: + self.crossover_probability = None + elif type(crossover_probability) in GA.supported_int_float_types: + if crossover_probability >= 0 and crossover_probability <= 1: + self.crossover_probability = crossover_probability + else: + self.valid_parameters = False + raise ValueError( + f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") else: self.valid_parameters = False - self.logger.error( - f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - raise ValueError( - f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - elif not (type(mutation_type) is str): - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") - raise TypeError( - f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") - else: # type mutation_type is str - mutation_type = mutation_type.lower() - if (mutation_type == "random"): - self.mutation = self.random_mutation - elif (mutation_type == "swap"): - self.mutation = self.swap_mutation - elif (mutation_type == "scramble"): - self.mutation = self.scramble_mutation - elif (mutation_type == "inversion"): - self.mutation = self.inversion_mutation - elif (mutation_type == "adaptive"): - self.mutation = self.adaptive_mutation - else: + raise TypeError( + f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") + + # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. + # Validating the mutation type: mutation_type + # "adaptive" mutation is supported starting from PyGAD 2.10.0 + if mutation_type is None: + self.mutation = None + elif inspect.ismethod(mutation_type): + # Check if the mutation_type is a method that accepts 3 paramater. + if (mutation_type.__code__.co_argcount == 3): + # The mutation method assigned to the mutation_type parameter is validated. + self.mutation = mutation_type + else: + self.valid_parameters = False + raise ValueError( + f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + elif callable(mutation_type): + # Check if the mutation_type is a function that accepts 2 paramater. + if (mutation_type.__code__.co_argcount == 2): + # The mutation function assigned to the mutation_type parameter is validated. + self.mutation = mutation_type + else: + self.valid_parameters = False + raise ValueError( + f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + elif not (type(mutation_type) is str): self.valid_parameters = False - self.logger.error( - f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") raise TypeError( - f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") - - self.mutation_type = mutation_type - - # Calculate the value of mutation_probability - if not (self.mutation_type is None): - if mutation_probability is None: - self.mutation_probability = None - elif (mutation_type != "adaptive"): - # Mutation probability is fixed not adaptive. - if type(mutation_probability) in GA.supported_int_float_types: - if mutation_probability >= 0 and mutation_probability <= 1: - self.mutation_probability = mutation_probability - else: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") - raise ValueError( - f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") + f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") + else: # type mutation_type is str + mutation_type = mutation_type.lower() + if (mutation_type == "random"): + self.mutation = self.random_mutation + elif (mutation_type == "swap"): + self.mutation = self.swap_mutation + elif (mutation_type == "scramble"): + self.mutation = self.scramble_mutation + elif (mutation_type == "inversion"): + self.mutation = self.inversion_mutation + elif (mutation_type == "adaptive"): + self.mutation = self.adaptive_mutation else: self.valid_parameters = False - self.logger.error( - f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") raise TypeError( - f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") - else: - # Mutation probability is adaptive not fixed. - if type(mutation_probability) in [list, tuple, numpy.ndarray]: - if len(mutation_probability) == 2: - for el in mutation_probability: - if type(el) in GA.supported_int_float_types: - if el >= 0 and el <= 1: - pass - else: - self.valid_parameters = False - self.logger.error( - f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") - raise ValueError( - f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") - else: - self.valid_parameters = False - self.logger.error( - f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") - raise TypeError( - f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") - if mutation_probability[0] < mutation_probability[1]: - if not self.suppress_warnings: - warnings.warn( - f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") - self.mutation_probability = mutation_probability + f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") + + self.mutation_type = mutation_type + + # Calculate the value of mutation_probability + if not (self.mutation_type is None): + if mutation_probability is None: + self.mutation_probability = None + elif (mutation_type != "adaptive"): + # Mutation probability is fixed not adaptive. + if type(mutation_probability) in GA.supported_int_float_types: + if mutation_probability >= 0 and mutation_probability <= 1: + self.mutation_probability = mutation_probability + else: + self.valid_parameters = False + raise ValueError( + f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") else: self.valid_parameters = False - self.logger.error( - f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") - raise ValueError( - f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") + raise TypeError( + f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") else: - self.valid_parameters = False - self.logger.error( - f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") - raise TypeError( - f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") - else: - pass - - # Calculate the value of mutation_num_genes - if not (self.mutation_type is None): - if mutation_num_genes is None: - # The mutation_num_genes parameter does not exist. Checking whether adaptive mutation is used. - if (mutation_type != "adaptive"): - # The percent of genes to mutate is fixed not adaptive. - if mutation_percent_genes == 'default'.lower(): - mutation_percent_genes = 10 - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32( - (mutation_percent_genes*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes == 0: - if self.mutation_probability is None: + # Mutation probability is adaptive not fixed. + if type(mutation_probability) in [list, tuple, numpy.ndarray]: + if len(mutation_probability) == 2: + for el in mutation_probability: + if type(el) in GA.supported_int_float_types: + if el >= 0 and el <= 1: + pass + else: + self.valid_parameters = False + raise ValueError( + f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") + else: + self.valid_parameters = False + raise TypeError( + f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") + if mutation_probability[0] < mutation_probability[1]: if not self.suppress_warnings: warnings.warn( - f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") - mutation_num_genes = 1 - - elif type(mutation_percent_genes) in GA.supported_int_float_types: - if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): + f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") + self.mutation_probability = mutation_probability + else: self.valid_parameters = False - self.logger.error( - f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") raise ValueError( - f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") - else: - # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. - if mutation_percent_genes == 'default'.lower(): - mutation_percent_genes = 10 + f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") + else: + self.valid_parameters = False + raise TypeError( + f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + else: + pass + # Calculate the value of mutation_num_genes + if not (self.mutation_type is None): + if mutation_num_genes is None: + # The mutation_num_genes parameter does not exist. Checking whether adaptive mutation is used. + if (mutation_type != "adaptive"): + # The percent of genes to mutate is fixed not adaptive. + if mutation_percent_genes == 'default'.lower(): + mutation_percent_genes = 10 # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. mutation_num_genes = numpy.uint32( (mutation_percent_genes*self.num_genes)/100) @@ -810,763 +684,661 @@ def __init__(self, warnings.warn( f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 + + elif type(mutation_percent_genes) in GA.supported_int_float_types: + if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): + self.valid_parameters = False + raise ValueError( + f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + else: + # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. + if mutation_percent_genes == 'default'.lower(): + mutation_percent_genes = 10 + + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes = numpy.uint32( + (mutation_percent_genes*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes == 0: + if self.mutation_probability is None: + if not self.suppress_warnings: + warnings.warn( + f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + mutation_num_genes = 1 + else: + self.valid_parameters = False + raise TypeError( + f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") + else: + # The percent of genes to mutate is adaptive not fixed. + if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: + if len(mutation_percent_genes) == 2: + mutation_num_genes = numpy.zeros_like( + mutation_percent_genes, dtype=numpy.uint32) + for idx, el in enumerate(mutation_percent_genes): + if type(el) in GA.supported_int_float_types: + if (el <= 0 or el > 100): + self.valid_parameters = False + raise ValueError( + f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + else: + self.valid_parameters = False + raise TypeError( + f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes[idx] = numpy.uint32( + (mutation_percent_genes[idx]*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes[idx] == 0: + if not self.suppress_warnings: + warnings.warn( + f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + mutation_num_genes[idx] = 1 + if mutation_percent_genes[0] < mutation_percent_genes[1]: + if not self.suppress_warnings: + warnings.warn( + f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") + # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. + else: + self.valid_parameters = False + raise ValueError( + f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") + else: + if self.mutation_probability is None: + self.valid_parameters = False + raise TypeError( + f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") + # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. + elif (mutation_type != "adaptive"): + # Number of genes to mutate is fixed not adaptive. + if type(mutation_num_genes) in GA.supported_int_types: + if (mutation_num_genes <= 0): + self.valid_parameters = False + raise ValueError( + f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") + elif (mutation_num_genes > self.num_genes): + self.valid_parameters = False + raise ValueError( + f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") else: self.valid_parameters = False - self.logger.error( - f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") raise TypeError( - f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") + f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") else: - # The percent of genes to mutate is adaptive not fixed. - if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: - if len(mutation_percent_genes) == 2: - mutation_num_genes = numpy.zeros_like( - mutation_percent_genes, dtype=numpy.uint32) - for idx, el in enumerate(mutation_percent_genes): - if type(el) in GA.supported_int_float_types: - if (el <= 0 or el > 100): + # Number of genes to mutate is adaptive not fixed. + if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: + if len(mutation_num_genes) == 2: + for el in mutation_num_genes: + if type(el) in GA.supported_int_types: + if (el <= 0): self.valid_parameters = False - self.logger.error( - f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") raise ValueError( - f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") + elif (el > self.num_genes): + self.valid_parameters = False + raise ValueError( + f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") else: self.valid_parameters = False - self.logger.error( - f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") raise TypeError( - f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") - # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes[idx] = numpy.uint32( - (mutation_percent_genes[idx]*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes[idx] == 0: - if not self.suppress_warnings: - warnings.warn( - f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") - mutation_num_genes[idx] = 1 - if mutation_percent_genes[0] < mutation_percent_genes[1]: + f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. + if mutation_num_genes[0] < mutation_num_genes[1]: if not self.suppress_warnings: warnings.warn( - f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") - # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. + f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") + # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. else: self.valid_parameters = False - self.logger.error( - f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") raise ValueError( - f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") + f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") else: - if self.mutation_probability is None: - self.valid_parameters = False - self.logger.error( - f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") - raise TypeError( - f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") - # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. - elif (mutation_type != "adaptive"): - # Number of genes to mutate is fixed not adaptive. - if type(mutation_num_genes) in GA.supported_int_types: - if (mutation_num_genes <= 0): - self.valid_parameters = False - self.logger.error( - f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") - raise ValueError( - f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") - elif (mutation_num_genes > self.num_genes): self.valid_parameters = False - self.logger.error( - f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") - raise ValueError( - f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") + raise TypeError( + f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") + else: + pass + + # Validating mutation_by_replacement and mutation_type + if self.mutation_type != "random" and self.mutation_by_replacement: + if not self.suppress_warnings: + warnings.warn( + f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") + + # Check if crossover and mutation are both disabled. + if (self.mutation_type is None) and (self.crossover_type is None): + if not self.suppress_warnings: + warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") + + # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. + # Validating the selected type of parent selection: parent_selection_type + if inspect.ismethod(parent_selection_type): + # Check if the parent_selection_type is a method that accepts 4 paramaters. + if (parent_selection_type.__code__.co_argcount == 4): + # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. + # The parent selection method assigned to the parent_selection_type parameter is validated. + self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error( - f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") - raise TypeError( - f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") - else: - # Number of genes to mutate is adaptive not fixed. - if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: - if len(mutation_num_genes) == 2: - for el in mutation_num_genes: - if type(el) in GA.supported_int_types: - if (el <= 0): - self.valid_parameters = False - self.logger.error( - f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") - raise ValueError( - f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") - elif (el > self.num_genes): - self.valid_parameters = False - self.logger.error( - f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") - raise ValueError( - f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") - else: - self.valid_parameters = False - self.logger.error( - f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") - raise TypeError( - f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") - # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. - if mutation_num_genes[0] < mutation_num_genes[1]: - if not self.suppress_warnings: - warnings.warn( - f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") - # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. - else: - self.valid_parameters = False - self.logger.error( - f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") - raise ValueError( - f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") + raise ValueError( + f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + elif callable(parent_selection_type): + # Check if the parent_selection_type is a function that accepts 3 paramaters. + if (parent_selection_type.__code__.co_argcount == 3): + # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. + # The parent selection function assigned to the parent_selection_type parameter is validated. + self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error( - f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") - raise TypeError( - f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") - else: - pass - - # Validating mutation_by_replacement and mutation_type - if self.mutation_type != "random" and self.mutation_by_replacement: - if not self.suppress_warnings: - warnings.warn( - f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") - - # Check if crossover and mutation are both disabled. - if (self.mutation_type is None) and (self.crossover_type is None): - if not self.suppress_warnings: - warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") - - # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. - # Validating the selected type of parent selection: parent_selection_type - if inspect.ismethod(parent_selection_type): - # Check if the parent_selection_type is a method that accepts 4 paramaters. - if (parent_selection_type.__code__.co_argcount == 4): - # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. - # The parent selection method assigned to the parent_selection_type parameter is validated. - self.select_parents = parent_selection_type - else: + raise ValueError( + f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + elif not (type(parent_selection_type) is str): self.valid_parameters = False - self.logger.error( - f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - raise ValueError( - f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - elif callable(parent_selection_type): - # Check if the parent_selection_type is a function that accepts 3 paramaters. - if (parent_selection_type.__code__.co_argcount == 3): - # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. - # The parent selection function assigned to the parent_selection_type parameter is validated. - self.select_parents = parent_selection_type + + raise TypeError( + f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") else: + parent_selection_type = parent_selection_type.lower() + if (parent_selection_type == "sss"): + self.select_parents = self.steady_state_selection + elif (parent_selection_type == "rws"): + self.select_parents = self.roulette_wheel_selection + elif (parent_selection_type == "sus"): + self.select_parents = self.stochastic_universal_selection + elif (parent_selection_type == "random"): + self.select_parents = self.random_selection + elif (parent_selection_type == "tournament"): + self.select_parents = self.tournament_selection + elif (parent_selection_type == "rank"): + self.select_parents = self.rank_selection + else: + self.valid_parameters = False + raise TypeError(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") + + # For tournament selection, validate the K value. + if (parent_selection_type == "tournament"): + if (K_tournament > self.sol_per_pop): + K_tournament = self.sol_per_pop + if not self.suppress_warnings: + warnings.warn( + f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") + elif (K_tournament <= 0): + self.valid_parameters = False + raise ValueError( + f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") + + self.K_tournament = K_tournament + + # Validating the number of parents to keep in the next population: keep_parents + if not (type(keep_parents) in GA.supported_int_types): self.valid_parameters = False - self.logger.error( - f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - raise ValueError( - f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - elif not (type(parent_selection_type) is str): - self.valid_parameters = False - self.logger.error( - f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") - raise TypeError( - f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") - else: - parent_selection_type = parent_selection_type.lower() - if (parent_selection_type == "sss"): - self.select_parents = self.steady_state_selection - elif (parent_selection_type == "rws"): - self.select_parents = self.roulette_wheel_selection - elif (parent_selection_type == "sus"): - self.select_parents = self.stochastic_universal_selection - elif (parent_selection_type == "random"): - self.select_parents = self.random_selection - elif (parent_selection_type == "tournament"): - self.select_parents = self.tournament_selection - elif (parent_selection_type == "rank"): - self.select_parents = self.rank_selection - else: + raise TypeError( + f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") + elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): self.valid_parameters = False - self.logger.error(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") - raise TypeError(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") + raise ValueError( + f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") + + self.keep_parents = keep_parents - # For tournament selection, validate the K value. - if (parent_selection_type == "tournament"): - if (K_tournament > self.sol_per_pop): - K_tournament = self.sol_per_pop + if parent_selection_type == "sss" and self.keep_parents == 0: if not self.suppress_warnings: warnings.warn( - f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") - elif (K_tournament <= 0): + "The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") + + # Validating the number of elitism to keep in the next population: keep_elitism + if not (type(keep_elitism) in GA.supported_int_types): self.valid_parameters = False - self.logger.error( - f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") - raise ValueError( - f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") - - self.K_tournament = K_tournament - - # Validating the number of parents to keep in the next population: keep_parents - if not (type(keep_parents) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error( - f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") - raise TypeError( - f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") - elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): - self.valid_parameters = False - self.logger.error( - f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") - raise ValueError( - f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") - - self.keep_parents = keep_parents - - if parent_selection_type == "sss" and self.keep_parents == 0: - if not self.suppress_warnings: - warnings.warn( - "The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") - - # Validating the number of elitism to keep in the next population: keep_elitism - if not (type(keep_elitism) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error( - f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") - raise TypeError( - f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") - elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): - self.valid_parameters = False - self.logger.error( - f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") - raise ValueError( - f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") - - self.keep_elitism = keep_elitism - - # Validate keep_parents. - if self.keep_elitism == 0: - # Keep all parents in the next population. - if (self.keep_parents == -1): - self.num_offspring = self.sol_per_pop - self.num_parents_mating - # Keep no parents in the next population. - elif (self.keep_parents == 0): - self.num_offspring = self.sol_per_pop - # Keep the specified number of parents in the next population. - elif (self.keep_parents > 0): - self.num_offspring = self.sol_per_pop - self.keep_parents - else: - self.num_offspring = self.sol_per_pop - self.keep_elitism - - # Check if the fitness_func is a method. - # In PyGAD 2.19.0, a method can be passed to the fitness function. If function is passed, then it accepts 2 parameters. If method, then it accepts 3 parameters. - # In PyGAD 2.20.0, a new parameter is passed referring to the instance of the `pygad.GA` class. So, the function accepts 3 parameters and the method accepts 4 parameters. - if inspect.ismethod(fitness_func): - # If the fitness is calculated through a method, not a function, then there is a fourth 'self` paramaters. - if (fitness_func.__code__.co_argcount == 4): - self.fitness_func = fitness_func - else: + raise TypeError( + f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") + elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): self.valid_parameters = False - self.logger.error( - f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") raise ValueError( - f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") - elif callable(fitness_func): - # Check if the fitness function accepts 2 paramaters. - if (fitness_func.__code__.co_argcount == 3): - self.fitness_func = fitness_func + f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") + + self.keep_elitism = keep_elitism + + # Validate keep_parents. + if self.keep_elitism == 0: + # Keep all parents in the next population. + if (self.keep_parents == -1): + self.num_offspring = self.sol_per_pop - self.num_parents_mating + # Keep no parents in the next population. + elif (self.keep_parents == 0): + self.num_offspring = self.sol_per_pop + # Keep the specified number of parents in the next population. + elif (self.keep_parents > 0): + self.num_offspring = self.sol_per_pop - self.keep_parents else: - self.valid_parameters = False - self.logger.error( - f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") - raise ValueError( - f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") - raise TypeError( - f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") - - if fitness_batch_size is None: - pass - elif not (type(fitness_batch_size) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error( - f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") - raise TypeError( - f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") - elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") - raise ValueError( - f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") - - self.fitness_batch_size = fitness_batch_size - - # Check if the on_start exists. - if not (on_start is None): - if inspect.ismethod(on_start): - # Check if the on_start method accepts 2 paramaters. - if (on_start.__code__.co_argcount == 2): - self.on_start = on_start + self.num_offspring = self.sol_per_pop - self.keep_elitism + + # Check if the fitness_func is a method. + # In PyGAD 2.19.0, a method can be passed to the fitness function. If function is passed, then it accepts 2 parameters. If method, then it accepts 3 parameters. + # In PyGAD 2.20.0, a new parameter is passed referring to the instance of the `pygad.GA` class. So, the function accepts 3 parameters and the method accepts 4 parameters. + if inspect.ismethod(fitness_func): + # If the fitness is calculated through a method, not a function, then there is a fourth 'self` paramaters. + if (fitness_func.__code__.co_argcount == 4): + self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") raise ValueError( - f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") - # Check if the on_start is a function. - elif callable(on_start): - # Check if the on_start function accepts only a single paramater. - if (on_start.__code__.co_argcount == 1): - self.on_start = on_start + f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + elif callable(fitness_func): + # Check if the fitness function accepts 2 paramaters. + if (fitness_func.__code__.co_argcount == 3): + self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") raise ValueError( - f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") + raise TypeError( - f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") - else: - self.on_start = None - - # Check if the on_fitness exists. - if not (on_fitness is None): - # Check if the on_fitness is a method. - if inspect.ismethod(on_fitness): - # Check if the on_fitness method accepts 3 paramaters. - if (on_fitness.__code__.co_argcount == 3): - self.on_fitness = on_fitness - else: - self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - # Check if the on_fitness is a function. - elif callable(on_fitness): - # Check if the on_fitness function accepts 2 paramaters. - if (on_fitness.__code__.co_argcount == 2): - self.on_fitness = on_fitness - else: - self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - else: + f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") + + if fitness_batch_size is None: + pass + elif not (type(fitness_batch_size) in GA.supported_int_types): self.valid_parameters = False - self.logger.error( - f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") raise TypeError( - f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") - else: - self.on_fitness = None - - # Check if the on_parents exists. - if not (on_parents is None): - # Check if the on_parents is a method. - if inspect.ismethod(on_parents): - # Check if the on_parents method accepts 3 paramaters. - if (on_parents.__code__.co_argcount == 3): - self.on_parents = on_parents + f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") + elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: + self.valid_parameters = False + raise ValueError( + f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") + + self.fitness_batch_size = fitness_batch_size + + # Check if the on_start exists. + if not (on_start is None): + if inspect.ismethod(on_start): + # Check if the on_start method accepts 2 paramaters. + if (on_start.__code__.co_argcount == 2): + self.on_start = on_start + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + # Check if the on_start is a function. + elif callable(on_start): + # Check if the on_start function accepts only a single paramater. + if (on_start.__code__.co_argcount == 1): + self.on_start = on_start + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") - # Check if the on_parents is a function. - elif callable(on_parents): - # Check if the on_parents function accepts 2 paramaters. - if (on_parents.__code__.co_argcount == 2): - self.on_parents = on_parents + + raise TypeError( + f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") + else: + self.on_start = None + + # Check if the on_fitness exists. + if not (on_fitness is None): + # Check if the on_fitness is a method. + if inspect.ismethod(on_fitness): + # Check if the on_fitness method accepts 3 paramaters. + if (on_fitness.__code__.co_argcount == 3): + self.on_fitness = on_fitness + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + # Check if the on_fitness is a function. + elif callable(on_fitness): + # Check if the on_fitness function accepts 2 paramaters. + if (on_fitness.__code__.co_argcount == 2): + self.on_fitness = on_fitness + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + raise TypeError( + f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") else: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") - raise TypeError( - f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") - else: - self.on_parents = None - - # Check if the on_crossover exists. - if not (on_crossover is None): - # Check if the on_crossover is a method. - if inspect.ismethod(on_crossover): - # Check if the on_crossover method accepts 3 paramaters. - if (on_crossover.__code__.co_argcount == 3): - self.on_crossover = on_crossover + self.on_fitness = None + + # Check if the on_parents exists. + if not (on_parents is None): + # Check if the on_parents is a method. + if inspect.ismethod(on_parents): + # Check if the on_parents method accepts 3 paramaters. + if (on_parents.__code__.co_argcount == 3): + self.on_parents = on_parents + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + # Check if the on_parents is a function. + elif callable(on_parents): + # Check if the on_parents function accepts 2 paramaters. + if (on_parents.__code__.co_argcount == 2): + self.on_parents = on_parents + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") - # Check if the on_crossover is a function. - elif callable(on_crossover): - # Check if the on_crossover function accepts 2 paramaters. - if (on_crossover.__code__.co_argcount == 2): - self.on_crossover = on_crossover + raise TypeError( + f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") + else: + self.on_parents = None + + # Check if the on_crossover exists. + if not (on_crossover is None): + # Check if the on_crossover is a method. + if inspect.ismethod(on_crossover): + # Check if the on_crossover method accepts 3 paramaters. + if (on_crossover.__code__.co_argcount == 3): + self.on_crossover = on_crossover + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + # Check if the on_crossover is a function. + elif callable(on_crossover): + # Check if the on_crossover function accepts 2 paramaters. + if (on_crossover.__code__.co_argcount == 2): + self.on_crossover = on_crossover + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + + raise TypeError( + f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") else: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") - raise TypeError( - f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") - else: - self.on_crossover = None - - # Check if the on_mutation exists. - if not (on_mutation is None): - # Check if the on_mutation is a method. - if inspect.ismethod(on_mutation): - # Check if the on_mutation method accepts 3 paramaters. - if (on_mutation.__code__.co_argcount == 3): - self.on_mutation = on_mutation + self.on_crossover = None + + # Check if the on_mutation exists. + if not (on_mutation is None): + # Check if the on_mutation is a method. + if inspect.ismethod(on_mutation): + # Check if the on_mutation method accepts 3 paramaters. + if (on_mutation.__code__.co_argcount == 3): + self.on_mutation = on_mutation + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + # Check if the on_mutation is a function. + elif callable(on_mutation): + # Check if the on_mutation function accepts 2 paramaters. + if (on_mutation.__code__.co_argcount == 2): + self.on_mutation = on_mutation + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") - # Check if the on_mutation is a function. - elif callable(on_mutation): - # Check if the on_mutation function accepts 2 paramaters. - if (on_mutation.__code__.co_argcount == 2): - self.on_mutation = on_mutation + raise TypeError( + f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") + else: + self.on_mutation = None + + # Check if the on_generation exists. + if not (on_generation is None): + # Check if the on_generation is a method. + if inspect.ismethod(on_generation): + # Check if the on_generation method accepts 2 paramaters. + if (on_generation.__code__.co_argcount == 2): + self.on_generation = on_generation + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + # Check if the on_generation is a function. + elif callable(on_generation): + # Check if the on_generation function accepts only a single paramater. + if (on_generation.__code__.co_argcount == 1): + self.on_generation = on_generation + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + raise TypeError( + f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") else: - self.valid_parameters = False - self.logger.error( - f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") - raise TypeError( - f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") - else: - self.on_mutation = None - - # Check if the on_generation exists. - if not (on_generation is None): - # Check if the on_generation is a method. - if inspect.ismethod(on_generation): - # Check if the on_generation method accepts 2 paramaters. - if (on_generation.__code__.co_argcount == 2): - self.on_generation = on_generation + self.on_generation = None + + # Check if the on_stop exists. + if not (on_stop is None): + # Check if the on_stop is a method. + if inspect.ismethod(on_stop): + # Check if the on_stop method accepts 3 paramaters. + if (on_stop.__code__.co_argcount == 3): + self.on_stop = on_stop + else: + self.valid_parameters = False + raise ValueError( + f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + # Check if the on_stop is a function. + elif callable(on_stop): + # Check if the on_stop function accepts 2 paramaters. + if (on_stop.__code__.co_argcount == 2): + self.on_stop = on_stop + else: + self.valid_parameters = False + raise ValueError( + f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") - # Check if the on_generation is a function. - elif callable(on_generation): - # Check if the on_generation function accepts only a single paramater. - if (on_generation.__code__.co_argcount == 1): - self.on_generation = on_generation + raise TypeError( + f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") + else: + self.on_stop = None + + # Validate delay_after_gen + if type(delay_after_gen) in GA.supported_int_float_types: + if delay_after_gen >= 0.0: + self.delay_after_gen = delay_after_gen else: self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") raise ValueError( - f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") else: self.valid_parameters = False - self.logger.error( - f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") raise TypeError( - f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") - else: - self.on_generation = None - - # Check if the on_stop exists. - if not (on_stop is None): - # Check if the on_stop is a method. - if inspect.ismethod(on_stop): - # Check if the on_stop method accepts 3 paramaters. - if (on_stop.__code__.co_argcount == 3): - self.on_stop = on_stop - else: - self.valid_parameters = False - self.logger.error( - f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") - # Check if the on_stop is a function. - elif callable(on_stop): - # Check if the on_stop function accepts 2 paramaters. - if (on_stop.__code__.co_argcount == 2): - self.on_stop = on_stop - else: - self.valid_parameters = False - self.logger.error( - f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") - raise ValueError( - f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") + + # Validate save_best_solutions + if type(save_best_solutions) is bool: + if save_best_solutions == True: + if not self.suppress_warnings: + warnings.warn( + "Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") else: self.valid_parameters = False - self.logger.error( - f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") raise TypeError( - f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") - else: - self.on_stop = None + f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") - # Validate delay_after_gen - if type(delay_after_gen) in GA.supported_int_float_types: - if delay_after_gen >= 0.0: - self.delay_after_gen = delay_after_gen + # Validate save_solutions + if type(save_solutions) is bool: + if save_solutions == True: + if not self.suppress_warnings: + warnings.warn( + "Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") else: self.valid_parameters = False - self.logger.error( - f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") - raise ValueError( - f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") - else: - self.valid_parameters = False - self.logger.error( - f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") - raise TypeError( - f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") - - # Validate save_best_solutions - if type(save_best_solutions) is bool: - if save_best_solutions == True: - if not self.suppress_warnings: - warnings.warn( - "Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") - else: - self.valid_parameters = False - self.logger.error( - f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") - raise TypeError( - f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") - - # Validate save_solutions - if type(save_solutions) is bool: - if save_solutions == True: - if not self.suppress_warnings: - warnings.warn( - "Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") - else: - self.valid_parameters = False - self.logger.error( - f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") - raise TypeError( - f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") - - self.stop_criteria = [] - self.supported_stop_words = ["reach", "saturate"] - if stop_criteria is None: - # None: Stop after passing through all generations. - self.stop_criteria = None - elif type(stop_criteria) is str: - # reach_{target_fitness}: Stop if the target fitness value is reached. - # saturate_{num_generations}: Stop if the fitness value does not change (saturates) for the given number of generations. - criterion = stop_criteria.split("_") - if len(criterion) == 2: - stop_word = criterion[0] - number = criterion[1] - - if stop_word in self.supported_stop_words: - pass - else: - self.valid_parameters = False - self.logger.error( - f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") - raise ValueError( - f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") + raise TypeError( + f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") + + self.stop_criteria = [] + self.supported_stop_words = ["reach", "saturate"] + if stop_criteria is None: + # None: Stop after passing through all generations. + self.stop_criteria = None + elif type(stop_criteria) is str: + # reach_{target_fitness}: Stop if the target fitness value is reached. + # saturate_{num_generations}: Stop if the fitness value does not change (saturates) for the given number of generations. + criterion = stop_criteria.split("_") + if len(criterion) == 2: + stop_word = criterion[0] + number = criterion[1] + + if stop_word in self.supported_stop_words: + pass + else: + self.valid_parameters = False + raise ValueError( + f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") + + if number.replace(".", "").isnumeric(): + number = float(number) + else: + self.valid_parameters = False + raise ValueError( + f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + + self.stop_criteria.append([stop_word, number]) - if number.replace(".", "").isnumeric(): - number = float(number) else: self.valid_parameters = False - self.logger.error( - f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") raise ValueError( - f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") + + elif type(stop_criteria) in [list, tuple, numpy.ndarray]: + # Remove duplicate criterira by converting the list to a set then back to a list. + stop_criteria = list(set(stop_criteria)) + for idx, val in enumerate(stop_criteria): + if type(val) is str: + criterion = val.split("_") + if len(criterion) == 2: + stop_word = criterion[0] + number = criterion[1] + + if stop_word in self.supported_stop_words: + pass + else: + self.valid_parameters = False + raise ValueError( + f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") - self.stop_criteria.append([stop_word, number]) + if number.replace(".", "").isnumeric(): + number = float(number) + else: + self.valid_parameters = False + raise ValueError( + f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") - else: - self.valid_parameters = False - self.logger.error( - f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") - raise ValueError( - f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") - - elif type(stop_criteria) in [list, tuple, numpy.ndarray]: - # Remove duplicate criterira by converting the list to a set then back to a list. - stop_criteria = list(set(stop_criteria)) - for idx, val in enumerate(stop_criteria): - if type(val) is str: - criterion = val.split("_") - if len(criterion) == 2: - stop_word = criterion[0] - number = criterion[1] - - if stop_word in self.supported_stop_words: - pass - else: - self.valid_parameters = False - self.logger.error( - f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") - raise ValueError( - f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") + self.stop_criteria.append([stop_word, number]) - if number.replace(".", "").isnumeric(): - number = float(number) else: self.valid_parameters = False - self.logger.error( - f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") raise ValueError( - f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") - - self.stop_criteria.append([stop_word, number]) - + f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") else: self.valid_parameters = False - self.logger.error( - f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") - raise ValueError( - f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") - else: - self.valid_parameters = False - self.logger.error( - f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") - raise TypeError( - f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") - else: - self.valid_parameters = False - self.logger.error( - f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") - raise TypeError( - f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") - - if parallel_processing is None: - self.parallel_processing = None - elif type(parallel_processing) in GA.supported_int_types: - if parallel_processing > 0: - self.parallel_processing = ["thread", parallel_processing] + raise TypeError( + f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") else: self.valid_parameters = False - self.logger.error( - f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") - raise ValueError( - f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") - elif type(parallel_processing) in [list, tuple]: - if len(parallel_processing) == 2: - if type(parallel_processing[0]) is str: - if parallel_processing[0] in ["process", "thread"]: - if (type(parallel_processing[1]) in GA.supported_int_types and parallel_processing[1] > 0) or (parallel_processing[1] == 0) or (parallel_processing[1] is None): - if parallel_processing[1] == 0: - # If the number of processes/threads is 0, this means no parallel processing is used. It is equivelant to setting parallel_processing=None. - self.parallel_processing = None + raise TypeError( + f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") + + if parallel_processing is None: + self.parallel_processing = None + elif type(parallel_processing) in GA.supported_int_types: + if parallel_processing > 0: + self.parallel_processing = ["thread", parallel_processing] + else: + self.valid_parameters = False + raise ValueError( + f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") + elif type(parallel_processing) in [list, tuple]: + if len(parallel_processing) == 2: + if type(parallel_processing[0]) is str: + if parallel_processing[0] in ["process", "thread"]: + if (type(parallel_processing[1]) in GA.supported_int_types and parallel_processing[1] > 0) or (parallel_processing[1] == 0) or (parallel_processing[1] is None): + if parallel_processing[1] == 0: + # If the number of processes/threads is 0, this means no parallel processing is used. It is equivelant to setting parallel_processing=None. + self.parallel_processing = None + else: + # Whether the second value is None or a positive integer. + self.parallel_processing = parallel_processing else: - # Whether the second value is None or a positive integer. - self.parallel_processing = parallel_processing + self.valid_parameters = False + raise TypeError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") else: self.valid_parameters = False - self.logger.error( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") - raise TypeError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") + raise ValueError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") else: self.valid_parameters = False - self.logger.error( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") - raise ValueError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") + raise TypeError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") else: self.valid_parameters = False - self.logger.error( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") - raise TypeError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") + raise ValueError( + f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") else: self.valid_parameters = False - self.logger.error( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") - raise ValueError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") - else: - self.valid_parameters = False - self.logger.error(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") - raise ValueError(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") - - # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. - self.run_completed = False - - # The number of completed generations. - self.generations_completed = 0 - - # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. - # Set to True when all the parameters passed in the GA class constructor are valid. - self.valid_parameters = True - - # Parameters of the genetic algorithm. - self.num_generations = abs(num_generations) - self.parent_selection_type = parent_selection_type - - # Parameters of the mutation operation. - self.mutation_percent_genes = mutation_percent_genes - self.mutation_num_genes = mutation_num_genes - - # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. - # A list holding the fitness value of the best solution for each generation. - self.best_solutions_fitness = [] - - # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. - self.best_solution_generation = -1 - - self.save_best_solutions = save_best_solutions - self.best_solutions = [] # Holds the best solution in each generation. - - self.save_solutions = save_solutions - self.solutions = [] # Holds the solutions in each generation. - # Holds the fitness of the solutions in each generation. - self.solutions_fitness = [] - - # A list holding the fitness values of all solutions in the last generation. - self.last_generation_fitness = None - # A list holding the parents of the last generation. - self.last_generation_parents = None - # A list holding the offspring after applying crossover in the last generation. - self.last_generation_offspring_crossover = None - # A list holding the offspring after applying mutation in the last generation. - self.last_generation_offspring_mutation = None - # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. - self.previous_generation_fitness = None - # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. - self.last_generation_elitism = None - # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. - self.last_generation_elitism_indices = None + raise ValueError(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") + + # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. + self.run_completed = False + + # The number of completed generations. + self.generations_completed = 0 + + # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. + # Set to True when all the parameters passed in the GA class constructor are valid. + self.valid_parameters = True + + # Parameters of the genetic algorithm. + self.num_generations = abs(num_generations) + self.parent_selection_type = parent_selection_type + + # Parameters of the mutation operation. + self.mutation_percent_genes = mutation_percent_genes + self.mutation_num_genes = mutation_num_genes + + # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. + # A list holding the fitness value of the best solution for each generation. + self.best_solutions_fitness = [] + + # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. + self.best_solution_generation = -1 + + self.save_best_solutions = save_best_solutions + self.best_solutions = [] # Holds the best solution in each generation. + + self.save_solutions = save_solutions + self.solutions = [] # Holds the solutions in each generation. + # Holds the fitness of the solutions in each generation. + self.solutions_fitness = [] + + # A list holding the fitness values of all solutions in the last generation. + self.last_generation_fitness = None + # A list holding the parents of the last generation. + self.last_generation_parents = None + # A list holding the offspring after applying crossover in the last generation. + self.last_generation_offspring_crossover = None + # A list holding the offspring after applying mutation in the last generation. + self.last_generation_offspring_mutation = None + # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. + self.previous_generation_fitness = None + # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism = None + # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism_indices = None + except Exception as e: + self.logger.exception(e) + exit(-1) def round_genes(self, solutions): for gene_idx in range(self.num_genes): @@ -1863,211 +1635,101 @@ def cal_pop_fitness(self): It returns: -fitness: An array of the calculated fitness values. """ - - if self.valid_parameters == False: - self.logger.error( - "ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - raise Exception( - "ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - - # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' - # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. - if self.last_generation_parents is not None: - last_generation_parents_as_list = [ - list(gen_parent) for gen_parent in self.last_generation_parents] - - # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' - # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. - if self.last_generation_elitism is not None: - last_generation_elitism_as_list = [ - list(gen_elitism) for gen_elitism in self.last_generation_elitism] - - pop_fitness = ["undefined"] * len(self.population) - if self.parallel_processing is None: - # Calculating the fitness value of each solution in the current population. - for sol_idx, sol in enumerate(self.population): - # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. - # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. - # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. - # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. - # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(self.solutions == numpy.array(sol), axis=1))): - # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(numpy.equal(self.solutions, numpy.array(sol)), axis=1))): - if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): - solution_idx = self.solutions.index(list(sol)) - fitness = self.solutions_fitness[solution_idx] - elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): - # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. - # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index( - list(sol)) - # Use the returned elitism index to return its index in the last population. - elitism_idx = self.last_generation_elitism_indices[elitism_idx] - # Use the elitism's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[elitism_idx] - # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. - # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. - # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): - elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. - # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. - # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index( - list(sol)) - # Use the returned parent index to return its index in the last population. - parent_idx = self.last_generation_parents_indices[parent_idx] - # Use the parent's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[parent_idx] - else: - # Check if batch processing is used. If not, then calculate this missing fitness value. - if self.fitness_batch_size in [1, None]: - fitness = self.fitness_func(self, sol, sol_idx) - if type(fitness) in GA.supported_int_float_types: - pass - else: - self.logger.error( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - raise ValueError( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + try: + if self.valid_parameters == False: + raise Exception( + "ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") + + # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' + # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. + if self.last_generation_parents is not None: + last_generation_parents_as_list = [ + list(gen_parent) for gen_parent in self.last_generation_parents] + + # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' + # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. + if self.last_generation_elitism is not None: + last_generation_elitism_as_list = [ + list(gen_elitism) for gen_elitism in self.last_generation_elitism] + + pop_fitness = ["undefined"] * len(self.population) + if self.parallel_processing is None: + # Calculating the fitness value of each solution in the current population. + for sol_idx, sol in enumerate(self.population): + # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. + # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. + # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. + # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. + # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(self.solutions == numpy.array(sol), axis=1))): + # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(numpy.equal(self.solutions, numpy.array(sol)), axis=1))): + if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): + solution_idx = self.solutions.index(list(sol)) + fitness = self.solutions_fitness[solution_idx] + elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): + # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. + # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. + elitism_idx = last_generation_elitism_as_list.index( + list(sol)) + # Use the returned elitism index to return its index in the last population. + elitism_idx = self.last_generation_elitism_indices[elitism_idx] + # Use the elitism's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[elitism_idx] + # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. + # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. + # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): + elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): + # Index of the parent in the 'self.last_generation_parents' array. + # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. + # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] + parent_idx = last_generation_parents_as_list.index( + list(sol)) + # Use the returned parent index to return its index in the last population. + parent_idx = self.last_generation_parents_indices[parent_idx] + # Use the parent's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[parent_idx] else: - # Reaching this point means that batch processing is in effect to calculate the fitness values. - # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. - continue - - # This is only executed if the fitness value was already calculated. - pop_fitness[sol_idx] = fitness - - if self.fitness_batch_size not in [1, None]: - # Reaching this block means that batch fitness calculation is used. - - # Indices of the solutions to calculate their fitness. - solutions_indices = numpy.where( - numpy.array(pop_fitness) == "undefined")[0] - # Number of batches. - num_batches = int(numpy.ceil( - len(solutions_indices) / self.fitness_batch_size)) - # For each batch, get its indices and call the fitness function. - for batch_idx in range(num_batches): - batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * \ - self.fitness_batch_size - batch_indices = solutions_indices[batch_first_index:batch_last_index] - batch_solutions = self.population[batch_indices, :] - - batch_fitness = self.fitness_func( - self, batch_solutions, batch_indices) - if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error( - f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") - raise TypeError( - f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") - elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error( - f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") - raise ValueError( - f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") - - for index, fitness in zip(batch_indices, batch_fitness): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness + # Check if batch processing is used. If not, then calculate this missing fitness value. + if self.fitness_batch_size in [1, None]: + fitness = self.fitness_func(self, sol, sol_idx) + if type(fitness) in GA.supported_int_float_types: + pass + else: + + raise ValueError( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: - self.logger.error( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - raise ValueError( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - else: - # Calculating the fitness value of each solution in the current population. - for sol_idx, sol in enumerate(self.population): - # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. - # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. - # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. - # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. - if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): - solution_idx = self.solutions.index(list(sol)) - fitness = self.solutions_fitness[solution_idx] - pop_fitness[sol_idx] = fitness - elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): - # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. - # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index( - list(sol)) - # Use the returned elitism index to return its index in the last population. - elitism_idx = self.last_generation_elitism_indices[elitism_idx] - # Use the elitism's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[elitism_idx] - - pop_fitness[sol_idx] = fitness - # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. - # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. - # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): - elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. - # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. - # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index( - list(sol)) - # Use the returned parent index to return its index in the last population. - parent_idx = self.last_generation_parents_indices[parent_idx] - # Use the parent's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[parent_idx] + # Reaching this point means that batch processing is in effect to calculate the fitness values. + # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. + continue + # This is only executed if the fitness value was already calculated. pop_fitness[sol_idx] = fitness - # Decide which class to use based on whether the user selected "process" or "thread" - if self.parallel_processing[0] == "process": - ExecutorClass = concurrent.futures.ProcessPoolExecutor - else: - ExecutorClass = concurrent.futures.ThreadPoolExecutor - - # We can use a with statement to ensure threads are cleaned up promptly (https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example) - with ExecutorClass(max_workers=self.parallel_processing[1]) as executor: - solutions_to_submit_indices = [] - solutions_to_submit = [] - for sol_idx, sol in enumerate(self.population): - # The "undefined" value means that the fitness of this solution must be calculated. - if pop_fitness[sol_idx] == "undefined": - solutions_to_submit.append(sol.copy()) - solutions_to_submit_indices.append(sol_idx) - - # Check if batch processing is used. If not, then calculate the fitness value for individual solutions. - if self.fitness_batch_size in [1, None]: - for index, fitness in zip(solutions_to_submit_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), solutions_to_submit, solutions_to_submit_indices)): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness - else: - self.logger.error( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - raise ValueError( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") - else: - # Reaching this block means that batch processing is used. The fitness values are calculated in batches. + if self.fitness_batch_size not in [1, None]: + # Reaching this block means that batch fitness calculation is used. + # Indices of the solutions to calculate their fitness. + solutions_indices = numpy.where( + numpy.array(pop_fitness) == "undefined")[0] # Number of batches. num_batches = int(numpy.ceil( - len(solutions_to_submit_indices) / self.fitness_batch_size)) - # Each element of the `batches_solutions` list represents the solutions in one batch. - batches_solutions = [] - # Each element of the `batches_indices` list represents the solutions' indices in one batch. - batches_indices = [] + len(solutions_indices) / self.fitness_batch_size)) # For each batch, get its indices and call the fitness function. for batch_idx in range(num_batches): batch_first_index = batch_idx * self.fitness_batch_size batch_last_index = (batch_idx + 1) * \ self.fitness_batch_size - batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] + batch_indices = solutions_indices[batch_first_index:batch_last_index] batch_solutions = self.population[batch_indices, :] - batches_solutions.append(batch_solutions) - batches_indices.append(batch_indices) - - for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): + batch_fitness = self.fitness_func( + self, batch_solutions, batch_indices) if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error( - f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + raise TypeError( f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error( - f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + raise ValueError( f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") @@ -2075,310 +1737,402 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error( - f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + raise ValueError( - f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + else: + # Calculating the fitness value of each solution in the current population. + for sol_idx, sol in enumerate(self.population): + # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. + # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. + # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. + # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. + if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): + solution_idx = self.solutions.index(list(sol)) + fitness = self.solutions_fitness[solution_idx] + pop_fitness[sol_idx] = fitness + elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): + # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. + # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. + elitism_idx = last_generation_elitism_as_list.index( + list(sol)) + # Use the returned elitism index to return its index in the last population. + elitism_idx = self.last_generation_elitism_indices[elitism_idx] + # Use the elitism's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[elitism_idx] + + pop_fitness[sol_idx] = fitness + # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. + # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. + # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): + elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): + # Index of the parent in the 'self.last_generation_parents' array. + # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. + # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] + parent_idx = last_generation_parents_as_list.index( + list(sol)) + # Use the returned parent index to return its index in the last population. + parent_idx = self.last_generation_parents_indices[parent_idx] + # Use the parent's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[parent_idx] + + pop_fitness[sol_idx] = fitness + + # Decide which class to use based on whether the user selected "process" or "thread" + if self.parallel_processing[0] == "process": + ExecutorClass = concurrent.futures.ProcessPoolExecutor + else: + ExecutorClass = concurrent.futures.ThreadPoolExecutor + + # We can use a with statement to ensure threads are cleaned up promptly (https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example) + with ExecutorClass(max_workers=self.parallel_processing[1]) as executor: + solutions_to_submit_indices = [] + solutions_to_submit = [] + for sol_idx, sol in enumerate(self.population): + # The "undefined" value means that the fitness of this solution must be calculated. + if pop_fitness[sol_idx] == "undefined": + solutions_to_submit.append(sol.copy()) + solutions_to_submit_indices.append(sol_idx) + + # Check if batch processing is used. If not, then calculate the fitness value for individual solutions. + if self.fitness_batch_size in [1, None]: + for index, fitness in zip(solutions_to_submit_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), solutions_to_submit, solutions_to_submit_indices)): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + + raise ValueError( + f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + else: + # Reaching this block means that batch processing is used. The fitness values are calculated in batches. + + # Number of batches. + num_batches = int(numpy.ceil( + len(solutions_to_submit_indices) / self.fitness_batch_size)) + # Each element of the `batches_solutions` list represents the solutions in one batch. + batches_solutions = [] + # Each element of the `batches_indices` list represents the solutions' indices in one batch. + batches_indices = [] + # For each batch, get its indices and call the fitness function. + for batch_idx in range(num_batches): + batch_first_index = batch_idx * self.fitness_batch_size + batch_last_index = (batch_idx + 1) * \ + self.fitness_batch_size + batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] + batch_solutions = self.population[batch_indices, :] + + batches_solutions.append(batch_solutions) + batches_indices.append(batch_indices) + + for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): + if type(batch_fitness) not in [list, tuple, numpy.ndarray]: + + raise TypeError( + f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + elif len(numpy.array(batch_fitness)) != len(batch_indices): + + raise ValueError( + f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") - pop_fitness = numpy.array(pop_fitness) + for index, fitness in zip(batch_indices, batch_fitness): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + + raise ValueError( + f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + pop_fitness = numpy.array(pop_fitness) + except Exception as ex: + self.logger.exception(ex) + exit(-1) return pop_fitness def run(self): """ Runs the genetic algorithm. This is the main method in which the genetic algorithm is evolved through a number of generations. """ + try: + if self.valid_parameters == False: + + raise Exception( + "Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") + + # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. + # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. + + # self.best_solutions: Holds the best solution in each generation. + if type(self.best_solutions) is numpy.ndarray: + self.best_solutions = list(self.best_solutions) + # self.best_solutions_fitness: A list holding the fitness value of the best solution for each generation. + if type(self.best_solutions_fitness) is numpy.ndarray: + self.best_solutions_fitness = list(self.best_solutions_fitness) + # self.solutions: Holds the solutions in each generation. + if type(self.solutions) is numpy.ndarray: + self.solutions = list(self.solutions) + # self.solutions_fitness: Holds the fitness of the solutions in each generation. + if type(self.solutions_fitness) is numpy.ndarray: + self.solutions_fitness = list(self.solutions_fitness) + + if not (self.on_start is None): + self.on_start(self) + + stop_run = False + + # To continue from where we stopped, the first generation index should start from the value of the 'self.generations_completed' parameter. + if self.generations_completed != 0 and type(self.generations_completed) in GA.supported_int_types: + # If the 'self.generations_completed' parameter is not '0', then this means we continue execution. + generation_first_idx = self.generations_completed + generation_last_idx = self.num_generations + self.generations_completed + else: + # If the 'self.generations_completed' parameter is '0', then stat from scratch. + generation_first_idx = 0 + generation_last_idx = self.num_generations - if self.valid_parameters == False: - self.logger.error( - "Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - raise Exception( - "Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - - # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. - # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. - - # self.best_solutions: Holds the best solution in each generation. - if type(self.best_solutions) is numpy.ndarray: - self.best_solutions = list(self.best_solutions) - # self.best_solutions_fitness: A list holding the fitness value of the best solution for each generation. - if type(self.best_solutions_fitness) is numpy.ndarray: - self.best_solutions_fitness = list(self.best_solutions_fitness) - # self.solutions: Holds the solutions in each generation. - if type(self.solutions) is numpy.ndarray: - self.solutions = list(self.solutions) - # self.solutions_fitness: Holds the fitness of the solutions in each generation. - if type(self.solutions_fitness) is numpy.ndarray: - self.solutions_fitness = list(self.solutions_fitness) - - if not (self.on_start is None): - self.on_start(self) - - stop_run = False - - # To continue from where we stopped, the first generation index should start from the value of the 'self.generations_completed' parameter. - if self.generations_completed != 0 and type(self.generations_completed) in GA.supported_int_types: - # If the 'self.generations_completed' parameter is not '0', then this means we continue execution. - generation_first_idx = self.generations_completed - generation_last_idx = self.num_generations + self.generations_completed - else: - # If the 'self.generations_completed' parameter is '0', then stat from scratch. - generation_first_idx = 0 - generation_last_idx = self.num_generations - - # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. - self.last_generation_fitness = self.cal_pop_fitness() - - best_solution, best_solution_fitness, best_match_idx = self.best_solution( - pop_fitness=self.last_generation_fitness) - - # Appending the best solution in the initial population to the best_solutions list. - if self.save_best_solutions: - self.best_solutions.append(best_solution) + # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. + self.last_generation_fitness = self.cal_pop_fitness() - for generation in range(generation_first_idx, generation_last_idx): - if not (self.on_fitness is None): - self.on_fitness(self, self.last_generation_fitness) + best_solution, best_solution_fitness, best_match_idx = self.best_solution( + pop_fitness=self.last_generation_fitness) - # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. - self.best_solutions_fitness.append(best_solution_fitness) + # Appending the best solution in the initial population to the best_solutions list. + if self.save_best_solutions: + self.best_solutions.append(best_solution) - # Appending the solutions in the current generation to the solutions list. - if self.save_solutions: - # self.solutions.extend(self.population.copy()) - population_as_list = self.population.copy() - population_as_list = [list(item) - for item in population_as_list] - self.solutions.extend(population_as_list) + for generation in range(generation_first_idx, generation_last_idx): + if not (self.on_fitness is None): + self.on_fitness(self, self.last_generation_fitness) + + # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. + self.best_solutions_fitness.append(best_solution_fitness) + + # Appending the solutions in the current generation to the solutions list. + if self.save_solutions: + # self.solutions.extend(self.population.copy()) + population_as_list = self.population.copy() + population_as_list = [list(item) + for item in population_as_list] + self.solutions.extend(population_as_list) + + self.solutions_fitness.extend(self.last_generation_fitness) + + # Selecting the best parents in the population for mating. + if callable(self.parent_selection_type): + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + self.num_parents_mating, + self) + if not type(self.last_generation_parents) is numpy.ndarray: + + raise TypeError( + f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") + if not type(self.last_generation_parents_indices) is numpy.ndarray: + + raise TypeError( + f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") + else: + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + num_parents=self.num_parents_mating) - self.solutions_fitness.extend(self.last_generation_fitness) + # Validate the output of the parent selection step: self.select_parents() + if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): + if self.last_generation_parents.shape[0] != self.num_parents_mating: + + raise ValueError( + f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") + elif self.last_generation_parents.shape[1] != self.num_genes: + + raise ValueError( + f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") - # Selecting the best parents in the population for mating. - if callable(self.parent_selection_type): - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, - self.num_parents_mating, - self) - if not type(self.last_generation_parents) is numpy.ndarray: - self.logger.error( - f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") - raise TypeError( - f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") - if not type(self.last_generation_parents_indices) is numpy.ndarray: - self.logger.error( - f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") - raise TypeError( - f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") - else: - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, - num_parents=self.num_parents_mating) - - # Validate the output of the parent selection step: self.select_parents() - if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): - if self.last_generation_parents.shape[0] != self.num_parents_mating: - self.logger.error( - f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") + if self.last_generation_parents_indices.ndim != 1: + raise ValueError( - f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") - elif self.last_generation_parents.shape[1] != self.num_genes: - self.logger.error( - f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") + f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") + elif len(self.last_generation_parents_indices) != self.num_parents_mating: + raise ValueError( - f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") - - if self.last_generation_parents_indices.ndim != 1: - self.logger.error( - f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") - raise ValueError( - f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") - elif len(self.last_generation_parents_indices) != self.num_parents_mating: - self.logger.error( - f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") - raise ValueError( - f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") - - if not (self.on_parents is None): - self.on_parents(self, self.last_generation_parents) - - # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. - if self.crossover_type is None: - if self.keep_elitism == 0: - num_parents_to_keep = self.num_parents_mating if self.keep_parents == - \ - 1 else self.keep_parents - if self.num_offspring <= num_parents_to_keep: - self.last_generation_offspring_crossover = self.last_generation_parents[ - 0:self.num_offspring] + f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") + + if not (self.on_parents is None): + self.on_parents(self, self.last_generation_parents) + + # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. + if self.crossover_type is None: + if self.keep_elitism == 0: + num_parents_to_keep = self.num_parents_mating if self.keep_parents == - \ + 1 else self.keep_parents + if self.num_offspring <= num_parents_to_keep: + self.last_generation_offspring_crossover = self.last_generation_parents[ + 0:self.num_offspring] + else: + self.last_generation_offspring_crossover = numpy.concatenate( + (self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) else: - self.last_generation_offspring_crossover = numpy.concatenate( - (self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) + # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. + # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. + self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_elitism) + if self.num_offspring <= self.keep_elitism: + self.last_generation_offspring_crossover = self.last_generation_parents[ + 0:self.num_offspring] + else: + self.last_generation_offspring_crossover = numpy.concatenate( + (self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) else: - # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. - # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. - self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_elitism) - if self.num_offspring <= self.keep_elitism: - self.last_generation_offspring_crossover = self.last_generation_parents[ - 0:self.num_offspring] + # Generating offspring using crossover. + if callable(self.crossover_type): + self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, + (self.num_offspring, + self.num_genes), + self) + if not type(self.last_generation_offspring_crossover) is numpy.ndarray: + + raise TypeError( + f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") else: - self.last_generation_offspring_crossover = numpy.concatenate( - (self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) - else: - # Generating offspring using crossover. - if callable(self.crossover_type): - self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - (self.num_offspring, - self.num_genes), - self) - if not type(self.last_generation_offspring_crossover) is numpy.ndarray: - self.logger.error( - f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") - raise TypeError( - f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") - else: - self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - offspring_size=(self.num_offspring, self.num_genes)) - if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): - if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: - self.logger.error( - f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") - raise ValueError( - f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") - elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: - self.logger.error( - f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") - raise ValueError( - f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") + self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, + offspring_size=(self.num_offspring, self.num_genes)) + if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): + if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: + + raise ValueError( + f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") + elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: + + raise ValueError( + f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") - # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. - if not (self.on_crossover is None): - self.on_crossover( - self, self.last_generation_offspring_crossover) + # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. + if not (self.on_crossover is None): + self.on_crossover( + self, self.last_generation_offspring_crossover) - # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. - if self.mutation_type is None: - self.last_generation_offspring_mutation = self.last_generation_offspring_crossover - else: - # Adding some variations to the offspring using mutation. - if callable(self.mutation_type): - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, - self) - if not type(self.last_generation_offspring_mutation) is numpy.ndarray: - self.logger.error( - f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") - raise TypeError( - f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") + # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. + if self.mutation_type is None: + self.last_generation_offspring_mutation = self.last_generation_offspring_crossover else: - self.last_generation_offspring_mutation = self.mutation( - self.last_generation_offspring_crossover) - - if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): - if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: - self.logger.error( - f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") - raise ValueError( - f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") - elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: - self.logger.error( - f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") - raise ValueError( - f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") - - # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. - if not (self.on_mutation is None): - self.on_mutation(self, self.last_generation_offspring_mutation) - - # Update the population attribute according to the offspring generated. - if self.keep_elitism == 0: - # If the keep_elitism parameter is 0, then the keep_parents parameter will be used to decide if the parents are kept in the next generation. - if (self.keep_parents == 0): - self.population = self.last_generation_offspring_mutation - elif (self.keep_parents == -1): - # Creating the new population based on the parents and offspring. - self.population[0:self.last_generation_parents.shape[0], - :] = self.last_generation_parents - self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation - elif (self.keep_parents > 0): - parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_parents) - self.population[0:parents_to_keep.shape[0], - :] = parents_to_keep - self.population[parents_to_keep.shape[0]:, - :] = self.last_generation_offspring_mutation - else: - self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_elitism) - self.population[0:self.last_generation_elitism.shape[0], - :] = self.last_generation_elitism - self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation - - # The generations_completed attribute holds the number of the last completed generation. - self.generations_completed = generation + 1 - - self.previous_generation_fitness = self.last_generation_fitness.copy() - # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. - self.last_generation_fitness = self.cal_pop_fitness() - - best_solution, best_solution_fitness, best_match_idx = self.best_solution( - pop_fitness=self.last_generation_fitness) + # Adding some variations to the offspring using mutation. + if callable(self.mutation_type): + self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, + self) + if not type(self.last_generation_offspring_mutation) is numpy.ndarray: + + raise TypeError( + f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") + else: + self.last_generation_offspring_mutation = self.mutation( + self.last_generation_offspring_crossover) - # Appending the best solution in the current generation to the best_solutions list. - if self.save_best_solutions: - self.best_solutions.append(best_solution) + if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): + if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: + + raise ValueError( + f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") + elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: + + raise ValueError( + f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") - # If the on_generation attribute is not None, then cal the callback function after the generation. - if not (self.on_generation is None): - r = self.on_generation(self) - if type(r) is str and r.lower() == "stop": - # Before aborting the loop, save the fitness value of the best solution. - # _, best_solution_fitness, _ = self.best_solution() - self.best_solutions_fitness.append(best_solution_fitness) - break + # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. + if not (self.on_mutation is None): + self.on_mutation(self, self.last_generation_offspring_mutation) - if not self.stop_criteria is None: - for criterion in self.stop_criteria: - if criterion[0] == "reach": - if max(self.last_generation_fitness) >= criterion[1]: - stop_run = True - break - elif criterion[0] == "saturate": - criterion[1] = int(criterion[1]) - if (self.generations_completed >= criterion[1]): - if (self.best_solutions_fitness[self.generations_completed - criterion[1]] - self.best_solutions_fitness[self.generations_completed - 1]) == 0: + # Update the population attribute according to the offspring generated. + if self.keep_elitism == 0: + # If the keep_elitism parameter is 0, then the keep_parents parameter will be used to decide if the parents are kept in the next generation. + if (self.keep_parents == 0): + self.population = self.last_generation_offspring_mutation + elif (self.keep_parents == -1): + # Creating the new population based on the parents and offspring. + self.population[0:self.last_generation_parents.shape[0], + :] = self.last_generation_parents + self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation + elif (self.keep_parents > 0): + parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_parents) + self.population[0:parents_to_keep.shape[0], + :] = parents_to_keep + self.population[parents_to_keep.shape[0]:, + :] = self.last_generation_offspring_mutation + else: + self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_elitism) + self.population[0:self.last_generation_elitism.shape[0], + :] = self.last_generation_elitism + self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation + + # The generations_completed attribute holds the number of the last completed generation. + self.generations_completed = generation + 1 + + self.previous_generation_fitness = self.last_generation_fitness.copy() + # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. + self.last_generation_fitness = self.cal_pop_fitness() + + best_solution, best_solution_fitness, best_match_idx = self.best_solution( + pop_fitness=self.last_generation_fitness) + + # Appending the best solution in the current generation to the best_solutions list. + if self.save_best_solutions: + self.best_solutions.append(best_solution) + + # If the on_generation attribute is not None, then cal the callback function after the generation. + if not (self.on_generation is None): + r = self.on_generation(self) + if type(r) is str and r.lower() == "stop": + # Before aborting the loop, save the fitness value of the best solution. + # _, best_solution_fitness, _ = self.best_solution() + self.best_solutions_fitness.append(best_solution_fitness) + break + + if not self.stop_criteria is None: + for criterion in self.stop_criteria: + if criterion[0] == "reach": + if max(self.last_generation_fitness) >= criterion[1]: stop_run = True break + elif criterion[0] == "saturate": + criterion[1] = int(criterion[1]) + if (self.generations_completed >= criterion[1]): + if (self.best_solutions_fitness[self.generations_completed - criterion[1]] - self.best_solutions_fitness[self.generations_completed - 1]) == 0: + stop_run = True + break + + if stop_run: + break - if stop_run: - break - - time.sleep(self.delay_after_gen) + time.sleep(self.delay_after_gen) - # Save the fitness of the last generation. - if self.save_solutions: - # self.solutions.extend(self.population.copy()) - population_as_list = self.population.copy() - population_as_list = [list(item) for item in population_as_list] - self.solutions.extend(population_as_list) + # Save the fitness of the last generation. + if self.save_solutions: + # self.solutions.extend(self.population.copy()) + population_as_list = self.population.copy() + population_as_list = [list(item) for item in population_as_list] + self.solutions.extend(population_as_list) - self.solutions_fitness.extend(self.last_generation_fitness) + self.solutions_fitness.extend(self.last_generation_fitness) - # Save the fitness value of the best solution. - _, best_solution_fitness, _ = self.best_solution( - pop_fitness=self.last_generation_fitness) - self.best_solutions_fitness.append(best_solution_fitness) + # Save the fitness value of the best solution. + _, best_solution_fitness, _ = self.best_solution( + pop_fitness=self.last_generation_fitness) + self.best_solutions_fitness.append(best_solution_fitness) - self.best_solution_generation = numpy.where(numpy.array( - self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] - # After the run() method completes, the run_completed flag is changed from False to True. - # Set to True only after the run() method completes gracefully. - self.run_completed = True + self.best_solution_generation = numpy.where(numpy.array( + self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] + # After the run() method completes, the run_completed flag is changed from False to True. + # Set to True only after the run() method completes gracefully. + self.run_completed = True - if not (self.on_stop is None): - self.on_stop(self, self.last_generation_fitness) + if not (self.on_stop is None): + self.on_stop(self, self.last_generation_fitness) - # Converting the 'best_solutions' list into a NumPy array. - self.best_solutions = numpy.array(self.best_solutions) + # Converting the 'best_solutions' list into a NumPy array. + self.best_solutions = numpy.array(self.best_solutions) - # Converting the 'solutions' list into a NumPy array. - # self.solutions = numpy.array(self.solutions) + # Converting the 'solutions' list into a NumPy array. + # self.solutions = numpy.array(self.solutions) + except Exception as ex: + self.logger.exception(ex) + exit(-1) def best_solution(self, pop_fitness=None): """ @@ -2390,33 +2144,34 @@ def best_solution(self, pop_fitness=None): -best_solution_fitness: Fitness value of the best solution. -best_match_idx: Index of the best solution in the current population. """ - - if pop_fitness is None: - # If the 'pop_fitness' parameter is not passed, then we have to call the 'cal_pop_fitness()' method to calculate the fitness of all solutions in the lastest population. - pop_fitness = self.cal_pop_fitness() - # Verify the type of the 'pop_fitness' parameter. - elif type(pop_fitness) in [tuple, list, numpy.ndarray]: - # Verify that the length of the passed population fitness matches the length of the 'self.population' attribute. - if len(pop_fitness) == len(self.population): - # This successfully verifies the 'pop_fitness' parameter. - pass + try: + if pop_fitness is None: + # If the 'pop_fitness' parameter is not passed, then we have to call the 'cal_pop_fitness()' method to calculate the fitness of all solutions in the lastest population. + pop_fitness = self.cal_pop_fitness() + # Verify the type of the 'pop_fitness' parameter. + elif type(pop_fitness) in [tuple, list, numpy.ndarray]: + # Verify that the length of the passed population fitness matches the length of the 'self.population' attribute. + if len(pop_fitness) == len(self.population): + # This successfully verifies the 'pop_fitness' parameter. + pass + else: + + raise ValueError( + f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") else: - self.logger.error( - f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") + raise ValueError( - f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") - else: - self.logger.error( - f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") - raise ValueError( - f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") + f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") - # Return the index of the best solution that has the best fitness value. - best_match_idx = numpy.where( - pop_fitness == numpy.max(pop_fitness))[0][0] + # Return the index of the best solution that has the best fitness value. + best_match_idx = numpy.where( + pop_fitness == numpy.max(pop_fitness))[0][0] - best_solution = self.population[best_match_idx, :].copy() - best_solution_fitness = pop_fitness[best_match_idx] + best_solution = self.population[best_match_idx, :].copy() + best_solution_fitness = pop_fitness[best_match_idx] + except Exception as ex: + self.logger.exception(ex) + exit(-1) return best_solution, best_solution_fitness, best_match_idx From 61809c7c590a242bc3f4d4ee63b5e03ad24fcea8 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 8 May 2023 23:44:01 -0400 Subject: [PATCH 053/220] USe f-string instead of format() --- pygad/cnn/cnn.py | 22 +- pygad/gann/gann.py | 18 +- pygad/helper/unique.py | 10 +- pygad/nn/nn.py | 24 +- pygad/pygad.py | 3100 +++++++++++++++++++-------------------- pygad/visualize/plot.py | 16 +- 6 files changed, 1581 insertions(+), 1609 deletions(-) diff --git a/pygad/cnn/cnn.py b/pygad/cnn/cnn.py index 0e78a52..d0141ae 100644 --- a/pygad/cnn/cnn.py +++ b/pygad/cnn/cnn.py @@ -84,7 +84,7 @@ def layers_weights(model, initial=True): elif initial == False: network_weights.append(layer.trained_weights) else: - raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + raise ValueError(f"Unexpected value to the 'initial' parameter: {initial}.") # Go to the previous layer. layer = layer.previous_layer @@ -164,7 +164,7 @@ def layers_weights_as_vector(model, initial=True): # vector = pygad.nn.DenseLayer.to_vector(array=layer.trained_weights) network_weights.extend(vector) else: - raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + raise ValueError(f"Unexpected value to the 'initial' parameter: {initial}.") # Go to the previous layer. layer = layer.previous_layer @@ -214,7 +214,7 @@ def __init__(self, input_shape): # If the input sample has less than 2 dimensions, then an exception is raised. if len(input_shape) < 2: - raise ValueError("The Input2D class creates an input layer for data inputs with at least 2 dimensions but ({num_dim}) dimensions found.".format(num_dim=len(input_shape))) + raise ValueError(f"The Input2D class creates an input layer for data inputs with at least 2 dimensions but ({len(input_shape)}) dimensions found.") # If the input sample has exactly 2 dimensions, the third dimension is set to 1. elif len(input_shape) == 2: input_shape = (input_shape[0], input_shape[1], 1) @@ -261,7 +261,7 @@ def __init__(self, num_filters, kernel_size, previous_layer, activation_function elif (activation_function == "softmax"): raise ValueError("The softmax activation function cannot be used in a conv layer.") else: - raise ValueError("The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.".format(activation_function=activation_function, supported_activation_functions=supported_activation_functions)) + raise ValueError(f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.") # The activation function used in the current layer. self.activation_function = activation_function @@ -445,7 +445,7 @@ def __init__(self, pool_size, previous_layer, stride=2): """ if not (type(pool_size) is int): - raise ValueError("The expected type of the pool_size is int but {pool_size_type} found.".format(pool_size_type=type(pool_size))) + raise ValueError(f"The expected type of the pool_size is int but {type(pool_size)} found.") if pool_size <= 0: raise ValueError("The passed value to the pool_size parameter cannot be <= 0.") @@ -642,7 +642,7 @@ def __init__(self, num_neurons, previous_layer, activation_function="relu"): elif (activation_function == "softmax"): self.activation = softmax else: - raise ValueError("The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.".format(activation_function=activation_function, supported_activation_functions=supported_activation_functions)) + raise ValueError(f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.") self.activation_function = activation_function @@ -652,7 +652,7 @@ def __init__(self, num_neurons, previous_layer, activation_function="relu"): self.previous_layer = previous_layer if type(self.previous_layer.layer_output_size) in [list, tuple, numpy.ndarray] and len(self.previous_layer.layer_output_size) > 1: - raise ValueError("The input to the dense layer must be of type int but {sh} found.".format(sh=type(self.previous_layer.layer_output_size))) + raise ValueError(f"The input to the dense layer must be of type int but {type(self.previous_layer.layer_output_size)} found.") # Initializing the weights of the layer. self.initial_weights = numpy.random.uniform(low=-0.1, high=0.1, @@ -741,13 +741,13 @@ def train(self, train_inputs, train_outputs): raise ValueError("The training data input has {num_dims} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.".format(num_dims=train_inputs.ndim)) if (train_inputs.shape[0] != len(train_outputs)): - raise ValueError("Mismatch between the number of input samples and number of labels: {num_samples_inputs} != {num_samples_outputs}.".format(num_samples_inputs=train_inputs.shape[0], num_samples_outputs=len(train_outputs))) + raise ValueError(f"Mismatch between the number of input samples and number of labels: {train_inputs.shape[0]} != {len(train_outputs)}.") network_predictions = [] network_error = 0 for epoch in range(self.epochs): - print("Epoch {epoch}".format(epoch=epoch)) + print(f"Epoch {epoch}") for sample_idx in range(train_inputs.shape[0]): # print("Sample {sample_idx}".format(sample_idx=sample_idx)) self.feed_sample(train_inputs[sample_idx, :]) @@ -797,7 +797,7 @@ def feed_sample(self, sample): pass else: print("Other") - raise TypeError("The layer of type {layer_type} is not supported yet.".format(layer_type=type(layer))) + raise TypeError("The layer of type {type(layer)} is not supported yet.") last_layer_outputs = layer.layer_output return self.network_layers[-1].layer_output @@ -828,7 +828,7 @@ def predict(self, data_inputs): """ if (data_inputs.ndim != 4): - raise ValueError("The data input has {num_dims} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.".format(num_dims=data_inputs.ndim)) + raise ValueError("The data input has {data_inputs.ndim} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.") predictions = [] for sample in data_inputs: diff --git a/pygad/gann/gann.py b/pygad/gann/gann.py index 69eea98..4037e5a 100644 --- a/pygad/gann/gann.py +++ b/pygad/gann/gann.py @@ -26,8 +26,8 @@ def validate_network_parameters(num_neurons_input, # Validating the number of solutions within the population. if not (num_solutions is None): if num_solutions < 2: - raise ValueError("num_solutions: The number of solutions within the population must be at least 2. The current value is {num_solutions}.".format(num_solutions=num_solutions)) - + raise ValueError(f"num_solutions: The number of solutions within the population must be at least 2. The current value is {num_solutions}.") + # Validating the number of neurons in the input layer. if num_neurons_input is int and num_neurons_input <= 0: raise ValueError("num_neurons_input: The number of neurons in the input layer must be > 0.") @@ -35,13 +35,13 @@ def validate_network_parameters(num_neurons_input, # Validating the number of neurons in the output layer. if num_neurons_output is int and num_neurons_output <= 0: raise ValueError("num_neurons_output: The number of neurons in the output layer must be > 0.") - + # Validating the type of the 'num_neurons_hidden_layers' parameter which is expected to be list or tuple. if not (type(num_neurons_hidden_layers) in [list, tuple]): - raise TypeError("num_neurons_hidden_layers: A list or a tuple is expected but {hidden_layers_neurons_type} found.".format(hidden_layers_neurons_type=type(num_neurons_hidden_layers))) - + raise TypeError(f"num_neurons_hidden_layers: A list or a tuple is expected but {type(num_neurons_hidden_layers)} found.") + # Frequently used error messages. - unexpected_output_activation_value = "Output activation function: The activation function of the output layer is passed as a string not {activation_type}." + unexpected_output_activation_value = f"Output activation function: The activation function of the output layer is passed as a string not {type(output_activation)}." unexpected_activation_value = "Activation function: The supported values for the activation function are {supported_activations} but an unexpected value is found:\n{activations}" unexpected_activation_type = "Activation Function: A list, tuple, or a string is expected but {activations_type} found." length_mismatch = "Hidden activation functions: When passing the activation function(s) as a list or a tuple, its length must match the length of the 'num_neurons_hidden_layers' parameter but a mismatch is found:\n{mismatched_lengths}" @@ -51,7 +51,7 @@ def validate_network_parameters(num_neurons_input, # Validating the output layer activation function. if not (type(output_activation) is str): - raise ValueError(unexpected_output_activation_value.format(activation_type=type(output_activation))) + raise ValueError(unexpected_output_activation_value) if not (output_activation in supported_activations): #activation_type raise ValueError(unexpected_activation_value.format(activations=output_activation, supported_activations=supported_activations)) @@ -81,9 +81,9 @@ def validate_network_parameters(num_neurons_input, else: raise TypeError(unexpected_activation_type.format(activations_type=type(hidden_activations))) else: # In case there are no hidden layers (num_hidden_layers == 0) - print("WARNING: There are no hidden layers however a value is assigned to the parameter 'hidden_activations'. It will be reset to [].".format(hidden_activations=hidden_activations)) + print("WARNING: There are no hidden layers however a value is assigned to the parameter 'hidden_activations'. It will be reset to [].") hidden_activations = [] - + # If the value passed to the 'hidden_activations' parameter is actually a list, then its elements are checked to make sure the listed name(s) of the activation function(s) are supported. for act in hidden_activations: if not (act in supported_activations): diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index ad4bd8a..af381fe 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -92,7 +92,7 @@ def solve_duplicate_genes_randomly(self, if temp_val in new_solution and trial_index == (num_trials - 1): num_unsolved_duplicates = num_unsolved_duplicates + 1 - if not self.suppress_warnings: warnings.warn("Failed to find a unique value for gene with index {gene_idx} whose value is {gene_value}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.".format(gene_idx=duplicate_index, gene_value=solution[duplicate_index])) + if not self.suppress_warnings: warnings.warn(f"Failed to find a unique value for gene with index {duplicate_index} whose value is {solution[duplicate_index]}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.") elif temp_val in new_solution: continue else: @@ -105,7 +105,7 @@ def solve_duplicate_genes_randomly(self, # self.logger.info("not_unique_indices INSIDE", not_unique_indices) return new_solution, not_unique_indices, num_unsolved_duplicates - + def solve_duplicate_genes_by_space(self, solution, gene_type, @@ -230,7 +230,7 @@ def unique_int_gene_from_range(self, all_gene_values = numpy.asarray(all_gene_values, gene_type[gene_index][0]) - values_to_select_from = list(set(all_gene_values) - set(solution)) + values_to_select_from = list(set(list(all_gene_values)) - set(solution)) if len(values_to_select_from) == 0: # If there is no values, then keep the current gene value. @@ -274,7 +274,7 @@ def unique_genes_by_space(self, if temp_val in new_solution and trial_index == (num_trials - 1): # self.logger.info("temp_val, duplicate_index", temp_val, duplicate_index, new_solution) num_unsolved_duplicates = num_unsolved_duplicates + 1 - if not self.suppress_warnings: warnings.warn("Failed to find a unique value for gene with index {gene_idx} whose value is {gene_value}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.".format(gene_idx=duplicate_index, gene_value=new_solution[duplicate_index])) + if not self.suppress_warnings: warnings.warn(f"Failed to find a unique value for gene with index {duplicate_index} whose value is {new_solution[duplicate_index]}. Consider adding more values in the gene space or use a wider range for initial population or random mutation.") elif temp_val in new_solution: continue else: @@ -451,7 +451,7 @@ def unique_gene_by_space(self, # If the gene space has only 1 value, then select it. The old and new values of the gene are identical. if len(curr_gene_space) == 1: value_from_space = curr_gene_space[0] - if not self.suppress_warnings: warnings.warn("You set 'allow_duplicate_genes=False' but the space of the gene with index {gene_idx} has only a single value. Thus, duplicates are possible.".format(gene_idx=gene_idx)) + if not self.suppress_warnings: warnings.warn(f"You set 'allow_duplicate_genes=False' but the space of the gene with index {gene_idx} has only a single value. Thus, duplicates are possible.") # If the gene space has more than 1 value, then select a new one that is different from the current value. else: values_to_select_from = list(set(curr_gene_space) - set(solution)) diff --git a/pygad/nn/nn.py b/pygad/nn/nn.py index 04933d7..023c4e2 100644 --- a/pygad/nn/nn.py +++ b/pygad/nn/nn.py @@ -27,7 +27,7 @@ def layers_weights(last_layer, initial=True): elif initial == False: network_weights.append(layer.trained_weights) else: - raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + raise ValueError(f"Unexpected value to the 'initial' parameter: {initial}.") # Go to the previous layer. layer = layer.previous_layer @@ -64,7 +64,7 @@ def layers_weights_as_vector(last_layer, initial=True): # vector = DenseLayer.to_vector(array=layer.trained_weights) network_weights.extend(vector) else: - raise ValueError("Unexpected value to the 'initial' parameter: {initial}.".format(initial=initial)) + raise ValueError(f"Unexpected value to the 'initial' parameter: {initial}.") # Go to the previous layer. layer = layer.previous_layer @@ -207,8 +207,8 @@ def train(num_epochs, """ if not (problem_type in ["classification", "regression"]): - raise ValueError("The value of the problem_type parameter can be either classification or regression but {problem_type_val} found.".format(problem_type_val=problem_type)) - + raise ValueError(f"The value of the problem_type parameter can be either classification or regression but {problem_type} found.") + # To fetch the initial weights of the layer, the 'initial' argument is set to True. weights = layers_weights(last_layer, initial=True) activations = layers_activations(last_layer) @@ -294,14 +294,14 @@ def predict(last_layer, data_inputs, problem_type="classification"): Returns the predictions of all samples. """ if not (problem_type in ["classification", "regression"]): - raise ValueError("The value of the problem_type parameter can be either classification or regression but {problem_type_val} found.".format(problem_type_val=problem_type)) - + raise ValueError(f"The value of the problem_type parameter can be either classification or regression but {problem_type} found.") + # To fetch the trained weights of the layer, the 'initial' argument is set to False. weights = layers_weights(last_layer, initial=False) activations = layers_activations(last_layer) if len(weights) != len(activations): - raise TypeError("The length of layers {num_layers} is not equal to the number of activations functions {num_activations} and they must be equal.".format(num_layers=len(weights), num_activations=len(activations))) + raise TypeError(f"The length of layers {len(weights)} is not equal to the number of activations functions {len(activations)} and they must be equal.") predictions = [] for sample_idx in range(data_inputs.shape[0]): @@ -337,7 +337,7 @@ def to_vector(array): Example: weights_vector = nn.DenseLayer.to_vector(array=array) """ if not (type(array) is numpy.ndarray): - raise TypeError("An input of type numpy.ndarray is expected but an input of type {in_type} found.".format(in_type=type(array))) + raise TypeError(f"An input of type numpy.ndarray is expected but an input of type {type(array)} found.") return numpy.reshape(array, newshape=(array.size)) def to_array(vector, shape): @@ -352,11 +352,11 @@ def to_array(vector, shape): Example: weights_matrix = nn.DenseLayer.to_array(vector=vector, shape=shape) """ if not (type(vector) is numpy.ndarray): - raise TypeError("An input of type numpy.ndarray is expected but an input of type {in_type} found.".format(in_type=type(vector))) + raise TypeError(f"An input of type numpy.ndarray is expected but an input of type {type(vector)} found.") if vector.ndim > 1: - raise ValueError("A 1D NumPy array is expected but an array of {ndim} dimensions found.".format(ndim=vector.ndim)) + raise ValueError(f"A 1D NumPy array is expected but an array of {vector.ndim} dimensions found.") if vector.size != functools.reduce(lambda x,y:x*y, shape, 1): # (operator.mul == lambda x,y:x*y - raise ValueError("Mismatch between the vector length and the array shape. A vector of length {vector_length} cannot be converted into a array of shape ({array_shape}).".format(vector_length=vector.size, array_shape=shape)) + raise ValueError(f"Mismatch between the vector length and the array shape. A vector of length {vector.size} cannot be converted into a array of shape ({shape}).") return numpy.reshape(vector, newshape=shape) class InputLayer: @@ -381,7 +381,7 @@ def __init__(self, num_neurons, previous_layer, activation_function="sigmoid"): supported_activation_functions = ("sigmoid", "relu", "softmax", "None") if not (activation_function in supported_activation_functions): - raise ValueError("The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.".format(activation_function=activation_function, supported_activation_functions=supported_activation_functions)) + raise ValueError(f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.") self.activation_function = activation_function if previous_layer is None: diff --git a/pygad/pygad.py b/pygad/pygad.py index b7382cc..152fef2 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -10,23 +10,25 @@ from pygad import helper from pygad import visualize -class GA(utils.parent_selection.ParentSelection, - utils.crossover.Crossover, - utils.mutation.Mutation, +class GA(utils.parent_selection.ParentSelection, + utils.crossover.Crossover, + utils.mutation.Mutation, helper.unique.Unique, visualize.plot.Plot): - supported_int_types = [int, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64] - supported_float_types = [float, numpy.float16, numpy.float32, numpy.float64] + supported_int_types = [int, numpy.int8, numpy.int16, numpy.int32, numpy.int64, + numpy.uint, numpy.uint8, numpy.uint16, numpy.uint32, numpy.uint64] + supported_float_types = [ + float, numpy.float16, numpy.float32, numpy.float64] supported_int_float_types = supported_int_types + supported_float_types - def __init__(self, - num_generations, - num_parents_mating, + def __init__(self, + num_generations, + num_parents_mating, fitness_func, fitness_batch_size=None, initial_population=None, - sol_per_pop=None, + sol_per_pop=None, num_genes=None, init_range_low=-4, init_range_high=4, @@ -61,7 +63,6 @@ def __init__(self, parallel_processing=None, random_seed=None, logger=None): - """ The constructor of the GA class accepts all parameters required to create an instance of the GA class. It validates such parameters. @@ -127,1179 +128,1100 @@ def __init__(self, logger: Added in PyGAD 2.20.0. It accepts a logger object of the 'logging.Logger' class to log the messages. If no logger is passed, then a default logger is created to log/print the messages to the console exactly like using the 'print()' function. """ + try: + # If no logger is passed, then create a logger that logs only the messages to the console. + if logger is None: + # Create a logger named with the module name. + logger = logging.getLogger(__name__) + # Set the logger log level to 'DEBUG' to log all kinds of messages. + logger.setLevel(logging.DEBUG) + + # Clear any attached handlers to the logger from the previous runs. + # If the handlers are not cleared, then the new handler will be appended to the list of handlers. + # This makes the single log message be repeated according to the length of the list of handlers. + logger.handlers.clear() + + # Create the handlers. + stream_handler = logging.StreamHandler() + # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. + stream_handler.setLevel(logging.DEBUG) + + # Create the formatter that just includes the log message. + formatter = logging.Formatter('%(message)s') + + # Add the formatter to the handler. + stream_handler.setFormatter(formatter) + + # Add the handler to the logger. + logger.addHandler(stream_handler) + else: + # Validate that the passed logger is of type 'logging.Logger'. + if isinstance(logger, logging.Logger): + pass + else: + raise TypeError(f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") - # If no logger is passed, then create a logger that logs only the messages to the console. - if logger is None: - # Create a logger named with the module name. - logger = logging.getLogger(__name__) - # Set the logger log level to 'DEBUG' to log all kinds of messages. - logger.setLevel(logging.DEBUG) - - # Clear any attached handlers to the logger from the previous runs. - # If the handlers are not cleared, then the new handler will be appended to the list of handlers. - # This makes the single log message be repeated according to the length of the list of handlers. - logger.handlers.clear() - - # Create the handlers. - stream_handler = logging.StreamHandler() - # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. - stream_handler.setLevel(logging.DEBUG) - - # Create the formatter that just includes the log message. - formatter = logging.Formatter('%(message)s') - - # Add the formatter to the handler. - stream_handler.setFormatter(formatter) + # Create the 'self.logger' attribute to hold the logger. + # Instead of using 'print()', use 'self.logger.info()' + self.logger = logger - # Add the handler to the logger. - logger.addHandler(stream_handler) - else: - # Validate that the passed logger is of type 'logging.Logger'. - if isinstance(logger, logging.Logger): + self.random_seed = random_seed + if random_seed is None: pass else: - raise TypeError("The expected type of the 'logger' parameter is 'logging.Logger' but {logger_type} found.".format(logger_type=type(logger))) - - # Create the 'self.logger' attribute to hold the logger. - # Instead of using 'print()', use 'self.logger.info()' - self.logger = logger + numpy.random.seed(self.random_seed) + random.seed(self.random_seed) - self.random_seed = random_seed - if random_seed is None: - pass - else: - numpy.random.seed(self.random_seed) - random.seed(self.random_seed) + # If suppress_warnings is bool and its valud is False, then print warning messages. + if type(suppress_warnings) is bool: + self.suppress_warnings = suppress_warnings + else: + self.valid_parameters = False + raise TypeError(f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") - # If suppress_warnings is bool and its valud is False, then print warning messages. - if type(suppress_warnings) is bool: - self.suppress_warnings = suppress_warnings - else: - self.valid_parameters = False - self.logger.error("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) - raise TypeError("The expected type of the 'suppress_warnings' parameter is bool but {suppress_warnings_type} found.".format(suppress_warnings_type=type(suppress_warnings))) - - # Validating mutation_by_replacement - if not (type(mutation_by_replacement) is bool): - self.valid_parameters = False - self.logger.error("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) - raise TypeError("The expected type of the 'mutation_by_replacement' parameter is bool but {mutation_by_replacement_type} found.".format(mutation_by_replacement_type=type(mutation_by_replacement))) - - self.mutation_by_replacement = mutation_by_replacement - - # Validate allow_duplicate_genes - if not (type(allow_duplicate_genes) is bool): - self.valid_parameters = False - self.logger.error("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - raise TypeError("The expected type of the 'allow_duplicate_genes' parameter is bool but {allow_duplicate_genes_type} found.".format(allow_duplicate_genes_type=type(allow_duplicate_genes))) - - self.allow_duplicate_genes = allow_duplicate_genes - - # Validate gene_space - self.gene_space_nested = False - if type(gene_space) is type(None): - pass - elif type(gene_space) is range: - if len(gene_space) == 0: + # Validating mutation_by_replacement + if not (type(mutation_by_replacement) is bool): self.valid_parameters = False - self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") - elif type(gene_space) in [list, numpy.ndarray]: - if len(gene_space) == 0: + raise TypeError(f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") + + self.mutation_by_replacement = mutation_by_replacement + + # Validate allow_duplicate_genes + if not (type(allow_duplicate_genes) is bool): self.valid_parameters = False - self.logger.error("'gene_space' cannot be empty (i.e. its length must be >= 0).") - raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") - else: - for index, el in enumerate(gene_space): - if type(el) in [numpy.ndarray, list, tuple, range]: - if len(el) == 0: - self.valid_parameters = False - self.logger.error("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) - raise ValueError("The element indexed {index} of 'gene_space' with type {el_type} cannot be empty (i.e. its length must be >= 0).".format(index=index, el_type=type(el))) - else: - for val in el: - if not (type(val) in [type(None)] + GA.supported_int_float_types): - self.logger.error("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) - raise TypeError("All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {typ} found.".format(val=val, typ=type(val))) - self.gene_space_nested = True - elif type(el) == type(None): - pass - # self.gene_space_nested = True - elif type(el) is dict: - if len(el.items()) == 2: - if ('low' in el.keys()) and ('high' in el.keys()): - pass - else: + raise TypeError(f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") + + self.allow_duplicate_genes = allow_duplicate_genes + + # Validate gene_space + self.gene_space_nested = False + if type(gene_space) is type(None): + pass + elif type(gene_space) is range: + if len(gene_space) == 0: + self.valid_parameters = False + raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") + elif type(gene_space) in [list, numpy.ndarray]: + if len(gene_space) == 0: + self.valid_parameters = False + raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") + else: + for index, el in enumerate(gene_space): + if type(el) in [numpy.ndarray, list, tuple, range]: + if len(el) == 0: self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - elif len(el.items()) == 3: - if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): - pass + raise ValueError(f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") + else: + for val in el: + if not (type(val) in [type(None)] + GA.supported_int_float_types): + raise TypeError(f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") + self.gene_space_nested = True + elif type(el) == type(None): + pass + # self.gene_space_nested = True + elif type(el) is dict: + if len(el.items()) == 2: + if ('low' in el.keys()) and ('high' in el.keys()): + pass + else: + self.valid_parameters = False + raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") + elif len(el.items()) == 3: + if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): + pass + else: + self.valid_parameters = False + raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") else: self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=el.keys())) - else: + raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") + self.gene_space_nested = True + elif not (type(el) in GA.supported_int_float_types): self.valid_parameters = False - self.logger.error("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) - raise ValueError("When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(el.items()))) - self.gene_space_nested = True - elif not (type(el) in GA.supported_int_float_types): - self.valid_parameters = False - self.logger.error("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) - raise TypeError("Unexpected type {el_type} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.".format(index=index, el_type=type(el))) + raise TypeError(f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") - elif type(gene_space) is dict: - if len(gene_space.items()) == 2: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()): - pass - else: - self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - elif len(gene_space.items()) == 3: - if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): - pass + elif type(gene_space) is dict: + if len(gene_space.items()) == 2: + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()): + pass + else: + self.valid_parameters = False + raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") + elif len(gene_space.items()) == 3: + if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): + pass + else: + self.valid_parameters = False + raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") else: self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) - raise ValueError("When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space_dict_keys}".format(gene_space_dict_keys=gene_space.keys())) + raise ValueError(f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") + else: self.valid_parameters = False - self.logger.error("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) - raise ValueError("When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({num_items}) items found.".format(num_items=len(gene_space.items()))) + raise TypeError(f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") - else: - self.valid_parameters = False - self.logger.error("The expected type of 'gene_space' is list, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) - raise TypeError("The expected type of 'gene_space' is list, range, or numpy.ndarray but {gene_space_type} found.".format(gene_space_type=type(gene_space))) - - self.gene_space = gene_space + self.gene_space = gene_space - # Validate init_range_low and init_range_high - if type(init_range_low) in GA.supported_int_float_types: - if type(init_range_high) in GA.supported_int_float_types: - self.init_range_low = init_range_low - self.init_range_high = init_range_high + # Validate init_range_low and init_range_high + if type(init_range_low) in GA.supported_int_float_types: + if type(init_range_high) in GA.supported_int_float_types: + self.init_range_low = init_range_low + self.init_range_high = init_range_high + else: + self.valid_parameters = False + raise ValueError(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") else: self.valid_parameters = False - self.logger.error("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) - raise ValueError("The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high_value}) of type {init_range_high_type} found.".format(init_range_high_value=init_range_high, init_range_high_type=type(init_range_high))) - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) - raise ValueError("The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low_value}) of type {init_range_low_type} found.".format(init_range_low_value=init_range_low, init_range_low_type=type(init_range_low))) - - # Validate random_mutation_min_val and random_mutation_max_val - if type(random_mutation_min_val) in GA.supported_int_float_types: - if type(random_mutation_max_val) in GA.supported_int_float_types: - if random_mutation_min_val == random_mutation_max_val: - if not self.suppress_warnings: warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + raise ValueError(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + + # Validate random_mutation_min_val and random_mutation_max_val + if type(random_mutation_min_val) in GA.supported_int_float_types: + if type(random_mutation_max_val) in GA.supported_int_float_types: + if random_mutation_min_val == random_mutation_max_val: + if not self.suppress_warnings: + warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + else: + self.valid_parameters = False + raise TypeError(f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") else: self.valid_parameters = False - self.logger.error("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) - raise TypeError("The expected type of the 'random_mutation_max_val' parameter is numeric but {random_mutation_max_val_type} found.".format(random_mutation_max_val_type=type(random_mutation_max_val))) - else: - self.valid_parameters = False - self.logger.error("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) - raise TypeError("The expected type of the 'random_mutation_min_val' parameter is numeric but {random_mutation_min_val_type} found.".format(random_mutation_min_val_type=type(random_mutation_min_val))) - self.random_mutation_min_val = random_mutation_min_val - self.random_mutation_max_val = random_mutation_max_val - - # Validate gene_type - if gene_type in GA.supported_int_float_types: - self.gene_type = [gene_type, None] - self.gene_type_single = True - # A single data type of float with precision. - elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): - self.gene_type = gene_type - self.gene_type_single = True - # A single data type of int with precision. - elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): - self.gene_type_single = False - self.logger.error("Integers cannot have precision. Please use the integer data type directly instead of {gene_type_val}.".format(gene_type_val=gene_type)) - raise ValueError("Integers cannot have precision. Please use the integer data type directly instead of {gene_type_val}.".format(gene_type_val=gene_type)) - elif type(gene_type) in [list, tuple, numpy.ndarray]: - if num_genes is None: - if initial_population is None: - self.valid_parameters = False - self.logger.error("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - elif not len(gene_type) == len(initial_population[0]): + raise TypeError(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") + self.random_mutation_min_val = random_mutation_min_val + self.random_mutation_max_val = random_mutation_max_val + + # Validate gene_type + if gene_type in GA.supported_int_float_types: + self.gene_type = [gene_type, None] + self.gene_type_single = True + # A single data type of float with precision. + elif len(gene_type) == 2 and gene_type[0] in GA.supported_float_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): + self.gene_type = gene_type + self.gene_type_single = True + # A single data type of int with precision. + elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): + self.gene_type_single = False + raise ValueError(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") + elif type(gene_type) in [list, tuple, numpy.ndarray]: + if num_genes is None: + if initial_population is None: + self.valid_parameters = False + raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + elif not len(gene_type) == len(initial_population[0]): + self.valid_parameters = False + raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") + elif not len(gene_type) == num_genes: self.valid_parameters = False - self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) - raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != number of genes ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=len(initial_population[0]))) - elif not len(gene_type) == num_genes: - self.valid_parameters = False - self.logger.error("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) - raise ValueError("When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type_val} with len(gene_type) ({len_gene_type}) != len(num_genes) ({num_genes}) found.".format(gene_type_val=gene_type, len_gene_type=len(gene_type), num_genes=num_genes)) - for gene_type_idx, gene_type_val in enumerate(gene_type): - if gene_type_val in GA.supported_float_types: - # If the gene type is float and no precision is passed, set it to None. - gene_type[gene_type_idx] = [gene_type_val, None] - elif gene_type_val in GA.supported_int_types: - gene_type[gene_type_idx] = [gene_type_val, None] - elif type(gene_type_val) in [list, tuple, numpy.ndarray]: - # A float type is expected in a list/tuple/numpy.ndarray of length 2. - if len(gene_type_val) == 2: - if gene_type_val[0] in GA.supported_float_types: - if type(gene_type_val[1]) in GA.supported_int_types: - pass + raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") + for gene_type_idx, gene_type_val in enumerate(gene_type): + if gene_type_val in GA.supported_float_types: + # If the gene type is float and no precision is passed, set it to None. + gene_type[gene_type_idx] = [gene_type_val, None] + elif gene_type_val in GA.supported_int_types: + gene_type[gene_type_idx] = [gene_type_val, None] + elif type(gene_type_val) in [list, tuple, numpy.ndarray]: + # A float type is expected in a list/tuple/numpy.ndarray of length 2. + if len(gene_type_val) == 2: + if gene_type_val[0] in GA.supported_float_types: + if type(gene_type_val[1]) in GA.supported_int_types: + pass + else: + self.valid_parameters = False + raise TypeError(f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_precision_val} with type {gene_type_type}.".format(gene_type_val=gene_type_val, gene_type_precision_val=gene_type_val[1], gene_type_type=gene_type_val[0], gene_type_idx=gene_type_idx)) + raise TypeError( + f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) - raise TypeError("In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.".format(gene_type=gene_type_val, gene_type_idx=gene_type_idx)) + raise ValueError(f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") else: self.valid_parameters = False - self.logger.error("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) - raise ValueError("In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {gene_type_type} with length {gene_type_length} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx, gene_type_length=len(gene_type_val))) - else: - self.valid_parameters = False - self.logger.error("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) - raise ValueError("When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {gene_type_type} found at index {gene_type_idx}.".format(gene_type_val=gene_type_val, gene_type_type=type(gene_type_val), gene_type_idx=gene_type_idx)) - self.gene_type = gene_type - self.gene_type_single = False - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) - raise ValueError("The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type_val}) of type {gene_type_type} found.".format(gene_type_val=gene_type, gene_type_type=type(gene_type))) + raise ValueError(f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") + self.gene_type = gene_type + self.gene_type_single = False + else: + self.valid_parameters = False + raise ValueError(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") - # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. - self.gene_space_unpacked = self.unpack_gene_space() + # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. + self.gene_space_unpacked = self.unpack_gene_space() - # Build the initial population - if initial_population is None: - if (sol_per_pop is None) or (num_genes is None): - self.valid_parameters = False - self.logger.error("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") - raise TypeError("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") - elif (type(sol_per_pop) is int) and (type(num_genes) is int): - # Validating the number of solutions in the population (sol_per_pop) - if sol_per_pop <= 0: + # Build the initial population + if initial_population is None: + if (sol_per_pop is None) or (num_genes is None): self.valid_parameters = False - self.logger.error("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) - raise ValueError("The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(sol_per_pop=sol_per_pop)) - # Validating the number of gene. - if (num_genes <= 0): - self.valid_parameters = False - self.logger.error("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) - raise ValueError("The number of genes cannot be <= 0 but ({num_genes}) found.\n".format(num_genes=num_genes)) - # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. - # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. - self.num_genes = num_genes # Number of genes in the solution. - - # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. - if self.gene_space_nested: - if len(gene_space) != self.num_genes: + raise TypeError("Error creating the initial population:\n\nWhen the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.\nThere are 2 options to prepare the initial population:\n1) Assinging the initial population to the 'initial_population' parameter. In this case, the values of the 2 parameters sol_per_pop and num_genes will be deduced.\n2) Assign integer values to the 'sol_per_pop' and 'num_genes' parameters so that PyGAD can create the initial population automatically.") + elif (type(sol_per_pop) is int) and (type(num_genes) is int): + # Validating the number of solutions in the population (sol_per_pop) + if sol_per_pop <= 0: self.valid_parameters = False - self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) - raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({num_genes})".format(len_gene_space=len(gene_space), num_genes=self.num_genes)) - - self.sol_per_pop = sol_per_pop # Number of solutions in the population. - self.initialize_population(self.init_range_low, - self.init_range_high, - allow_duplicate_genes, - True, - self.gene_type) - else: - self.valid_parameters = False - self.logger.error("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) - raise TypeError("The expected type of both the sol_per_pop and num_genes parameters is int but {sol_per_pop_type} and {num_genes_type} found.".format(sol_per_pop_type=type(sol_per_pop), num_genes_type=type(num_genes))) - elif not type(initial_population) in [list, tuple, numpy.ndarray]: - self.valid_parameters = False - self.logger.error("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) - raise TypeError("The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {initial_population_type} found.".format(initial_population_type=type(initial_population))) - elif numpy.array(initial_population).ndim != 2: - self.valid_parameters = False - self.logger.error("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) - raise ValueError("A 2D list is expected to the initail_population parameter but a ({initial_population_ndim}-D) list found.".format(initial_population_ndim=numpy.array(initial_population).ndim)) - else: - # Validate the type of each value in the 'initial_population' parameter. - for row_idx in range(len(initial_population)): - for col_idx in range(len(initial_population[0])): - if type(initial_population[row_idx][col_idx]) in GA.supported_int_float_types: - pass - else: + raise ValueError(f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + # Validating the number of gene. + if (num_genes <= 0): self.valid_parameters = False - self.logger.error("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) - raise TypeError("The values in the initial population can be integers or floats but the value ({value}) of type {value_type} found.".format(value=initial_population[row_idx][col_idx], value_type=type(initial_population[row_idx][col_idx]))) - - # Forcing the initial_population array to have the data type assigned to the gene_type parameter. - if self.gene_type_single == True: - if self.gene_type[1] == None: - self.initial_population = numpy.array(initial_population, - dtype=self.gene_type[0]) + raise ValueError(f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") + # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. + # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. + self.num_genes = num_genes # Number of genes in the solution. + + # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. + if self.gene_space_nested: + if len(gene_space) != self.num_genes: + self.valid_parameters = False + raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + + # Number of solutions in the population. + self.sol_per_pop = sol_per_pop + self.initialize_population(self.init_range_low, + self.init_range_high, + allow_duplicate_genes, + True, + self.gene_type) else: - # This block is reached only for non-integer data types (i.e. float). - self.initial_population = numpy.round(numpy.array(initial_population, - dtype=self.gene_type[0]), - self.gene_type[1]) + self.valid_parameters = False + raise TypeError(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") + elif not type(initial_population) in [list, tuple, numpy.ndarray]: + self.valid_parameters = False + raise TypeError(f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") + elif numpy.array(initial_population).ndim != 2: + self.valid_parameters = False + raise ValueError(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") else: - initial_population = numpy.array(initial_population) - self.initial_population = numpy.zeros(shape=(initial_population.shape[0], - initial_population.shape[1]), - dtype=object) - for gene_idx in range(initial_population.shape[1]): - if self.gene_type[gene_idx][1] is None: - self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]) + # Validate the type of each value in the 'initial_population' parameter. + for row_idx in range(len(initial_population)): + for col_idx in range(len(initial_population[0])): + if type(initial_population[row_idx][col_idx]) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + raise TypeError(f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") + + # Forcing the initial_population array to have the data type assigned to the gene_type parameter. + if self.gene_type_single == True: + if self.gene_type[1] == None: + self.initial_population = numpy.array(initial_population, + dtype=self.gene_type[0]) else: # This block is reached only for non-integer data types (i.e. float). - self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), - self.gene_type[gene_idx][1]) - - # Check if duplicates are allowed. If not, then solve any exisiting duplicates in the passed initial population. - if self.allow_duplicate_genes == False: - for initial_solution_idx, initial_solution in enumerate(self.initial_population): - if self.gene_space is None: - self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=initial_solution, - min_val=self.init_range_low, - max_val=self.init_range_high, - mutation_by_replacement=self.mutation_by_replacement, - gene_type=self.gene_type, - num_trials=10) - else: - self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_by_space(solution=initial_solution, - gene_type=self.gene_type, - num_trials=10) - - self.population = self.initial_population.copy() # A NumPy array holding the initial population. - self.num_genes = self.initial_population.shape[1] # Number of genes in the solution. - self.sol_per_pop = self.initial_population.shape[0] # Number of solutions in the population. - self.pop_size = (self.sol_per_pop,self.num_genes) # The population size. - - # Round initial_population and population - self.initial_population = self.round_genes(self.initial_population) - self.population = self.round_genes(self.population) - - # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. - if self.gene_space_nested: - if len(gene_space) != self.num_genes: - self.valid_parameters = False - self.logger.error("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) - raise ValueError("When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len_gene_space}) != num_genes ({len_num_genes})".format(len_gene_space=len(gene_space), len_num_genes=self.num_genes)) - - # Validating the number of parents to be selected for mating (num_parents_mating) - if num_parents_mating <= 0: - self.valid_parameters = False - self.logger.error("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) - raise ValueError("The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n".format(num_parents_mating=num_parents_mating)) - - # Validating the number of parents to be selected for mating: num_parents_mating - if (num_parents_mating > self.sol_per_pop): - self.valid_parameters = False - self.logger.error("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) - raise ValueError("The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n".format(num_parents_mating=num_parents_mating, sol_per_pop=self.sol_per_pop)) - - self.num_parents_mating = num_parents_mating - - # crossover: Refers to the method that applies the crossover operator based on the selected type of crossover in the crossover_type property. - # Validating the crossover type: crossover_type - if (crossover_type is None): - self.crossover = None - elif inspect.ismethod(crossover_type): - # Check if the crossover_type is a method that accepts 4 paramaters. - if (crossover_type.__code__.co_argcount == 4): - # The crossover method assigned to the crossover_type parameter is validated. - self.crossover = crossover_type - else: + self.initial_population = numpy.round(numpy.array(initial_population, + dtype=self.gene_type[0]), + self.gene_type[1]) + else: + initial_population = numpy.array(initial_population) + self.initial_population = numpy.zeros(shape=(initial_population.shape[0], + initial_population.shape[1]), + dtype=object) + for gene_idx in range(initial_population.shape[1]): + if self.gene_type[gene_idx][1] is None: + self.initial_population[:, gene_idx] = numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]) + else: + # This block is reached only for non-integer data types (i.e. float). + self.initial_population[:, gene_idx] = numpy.round(numpy.asarray(initial_population[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), + self.gene_type[gene_idx][1]) + + # Check if duplicates are allowed. If not, then solve any exisiting duplicates in the passed initial population. + if self.allow_duplicate_genes == False: + for initial_solution_idx, initial_solution in enumerate(self.initial_population): + if self.gene_space is None: + self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=initial_solution, + min_val=self.init_range_low, + max_val=self.init_range_high, + mutation_by_replacement=self.mutation_by_replacement, + gene_type=self.gene_type, + num_trials=10) + else: + self.initial_population[initial_solution_idx], _, _ = self.solve_duplicate_genes_by_space(solution=initial_solution, + gene_type=self.gene_type, + num_trials=10) + + # A NumPy array holding the initial population. + self.population = self.initial_population.copy() + # Number of genes in the solution. + self.num_genes = self.initial_population.shape[1] + # Number of solutions in the population. + self.sol_per_pop = self.initial_population.shape[0] + # The population size. + self.pop_size = (self.sol_per_pop, self.num_genes) + + # Round initial_population and population + self.initial_population = self.round_genes(self.initial_population) + self.population = self.round_genes(self.population) + + # In case the 'gene_space' parameter is nested, then make sure the number of its elements equals to the number of genes. + if self.gene_space_nested: + if len(gene_space) != self.num_genes: + self.valid_parameters = False + raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + + # Validating the number of parents to be selected for mating (num_parents_mating) + if num_parents_mating <= 0: self.valid_parameters = False - self.logger.error("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - raise ValueError("When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - elif callable(crossover_type): - # Check if the crossover_type is a function that accepts 2 paramaters. - if (crossover_type.__code__.co_argcount == 3): - # The crossover function assigned to the crossover_type parameter is validated. - self.crossover = crossover_type - else: + raise ValueError(f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") + + # Validating the number of parents to be selected for mating: num_parents_mating + if (num_parents_mating > self.sol_per_pop): self.valid_parameters = False - self.logger.error("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - raise ValueError("When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=crossover_type.__code__.co_name, argcount=crossover_type.__code__.co_argcount)) - elif not (type(crossover_type) is str): - self.valid_parameters = False - self.logger.error("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) - raise TypeError("The expected type of the 'crossover_type' parameter is either callable or str but {crossover_type} found.".format(crossover_type=type(crossover_type))) - else: # type crossover_type is str - crossover_type = crossover_type.lower() - if (crossover_type == "single_point"): - self.crossover = self.single_point_crossover - elif (crossover_type == "two_points"): - self.crossover = self.two_points_crossover - elif (crossover_type == "uniform"): - self.crossover = self.uniform_crossover - elif (crossover_type == "scattered"): - self.crossover = self.scattered_crossover - else: + raise ValueError(f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") + + self.num_parents_mating = num_parents_mating + + # crossover: Refers to the method that applies the crossover operator based on the selected type of crossover in the crossover_type property. + # Validating the crossover type: crossover_type + if (crossover_type is None): + self.crossover = None + elif inspect.ismethod(crossover_type): + # Check if the crossover_type is a method that accepts 4 paramaters. + if (crossover_type.__code__.co_argcount == 4): + # The crossover method assigned to the crossover_type parameter is validated. + self.crossover = crossover_type + else: + self.valid_parameters = False + raise ValueError(f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + elif callable(crossover_type): + # Check if the crossover_type is a function that accepts 2 paramaters. + if (crossover_type.__code__.co_argcount == 3): + # The crossover function assigned to the crossover_type parameter is validated. + self.crossover = crossover_type + else: + self.valid_parameters = False + raise ValueError(f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") + elif not (type(crossover_type) is str): self.valid_parameters = False - self.logger.error("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) - raise TypeError("Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n".format(crossover_type=crossover_type)) + raise TypeError(f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") + else: # type crossover_type is str + crossover_type = crossover_type.lower() + if (crossover_type == "single_point"): + self.crossover = self.single_point_crossover + elif (crossover_type == "two_points"): + self.crossover = self.two_points_crossover + elif (crossover_type == "uniform"): + self.crossover = self.uniform_crossover + elif (crossover_type == "scattered"): + self.crossover = self.scattered_crossover + else: + self.valid_parameters = False + raise TypeError(f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") - self.crossover_type = crossover_type + self.crossover_type = crossover_type - # Calculate the value of crossover_probability - if crossover_probability is None: - self.crossover_probability = None - elif type(crossover_probability) in GA.supported_int_float_types: - if crossover_probability >= 0 and crossover_probability <= 1: - self.crossover_probability = crossover_probability - else: - self.valid_parameters = False - self.logger.error("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) - raise ValueError("The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability_value}) found.".format(crossover_probability_value=crossover_probability)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) - raise TypeError("Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability_value}) of type {crossover_probability_type} found.".format(crossover_probability_value=crossover_probability, crossover_probability_type=type(crossover_probability))) - - # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. - # Validating the mutation type: mutation_type - # "adaptive" mutation is supported starting from PyGAD 2.10.0 - if mutation_type is None: - self.mutation = None - elif inspect.ismethod(mutation_type): - # Check if the mutation_type is a method that accepts 3 paramater. - if (mutation_type.__code__.co_argcount == 3): - # The mutation method assigned to the mutation_type parameter is validated. - self.mutation = mutation_type - else: - self.valid_parameters = False - self.logger.error("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - raise ValueError("When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - elif callable(mutation_type): - # Check if the mutation_type is a function that accepts 2 paramater. - if (mutation_type.__code__.co_argcount == 2): - # The mutation function assigned to the mutation_type parameter is validated. - self.mutation = mutation_type + # Calculate the value of crossover_probability + if crossover_probability is None: + self.crossover_probability = None + elif type(crossover_probability) in GA.supported_int_float_types: + if crossover_probability >= 0 and crossover_probability <= 1: + self.crossover_probability = crossover_probability + else: + self.valid_parameters = False + raise ValueError(f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") else: self.valid_parameters = False - self.logger.error("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - raise ValueError("When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=mutation_type.__code__.co_name, argcount=mutation_type.__code__.co_argcount)) - elif not (type(mutation_type) is str): - self.valid_parameters = False - self.logger.error("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) - raise TypeError("The expected type of the 'mutation_type' parameter is either callable or str but {mutation_type} found.".format(mutation_type=type(mutation_type))) - else: # type mutation_type is str - mutation_type = mutation_type.lower() - if (mutation_type == "random"): - self.mutation = self.random_mutation - elif (mutation_type == "swap"): - self.mutation = self.swap_mutation - elif (mutation_type == "scramble"): - self.mutation = self.scramble_mutation - elif (mutation_type == "inversion"): - self.mutation = self.inversion_mutation - elif (mutation_type == "adaptive"): - self.mutation = self.adaptive_mutation - else: + raise TypeError(f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") + + # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. + # Validating the mutation type: mutation_type + # "adaptive" mutation is supported starting from PyGAD 2.10.0 + if mutation_type is None: + self.mutation = None + elif inspect.ismethod(mutation_type): + # Check if the mutation_type is a method that accepts 3 paramater. + if (mutation_type.__code__.co_argcount == 3): + # The mutation method assigned to the mutation_type parameter is validated. + self.mutation = mutation_type + else: + self.valid_parameters = False + raise ValueError(f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + elif callable(mutation_type): + # Check if the mutation_type is a function that accepts 2 paramater. + if (mutation_type.__code__.co_argcount == 2): + # The mutation function assigned to the mutation_type parameter is validated. + self.mutation = mutation_type + else: + self.valid_parameters = False + raise ValueError(f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") + elif not (type(mutation_type) is str): self.valid_parameters = False - self.logger.error("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) - raise TypeError("Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n".format(mutation_type=mutation_type)) - - self.mutation_type = mutation_type - - # Calculate the value of mutation_probability - if not (self.mutation_type is None): - if mutation_probability is None: - self.mutation_probability = None - elif (mutation_type != "adaptive"): - # Mutation probability is fixed not adaptive. - if type(mutation_probability) in GA.supported_int_float_types: - if mutation_probability >= 0 and mutation_probability <= 1: - self.mutation_probability = mutation_probability + raise TypeError(f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") + else: # type mutation_type is str + mutation_type = mutation_type.lower() + if (mutation_type == "random"): + self.mutation = self.random_mutation + elif (mutation_type == "swap"): + self.mutation = self.swap_mutation + elif (mutation_type == "scramble"): + self.mutation = self.scramble_mutation + elif (mutation_type == "inversion"): + self.mutation = self.inversion_mutation + elif (mutation_type == "adaptive"): + self.mutation = self.adaptive_mutation + else: + self.valid_parameters = False + raise TypeError(f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") + + self.mutation_type = mutation_type + + # Calculate the value of mutation_probability + if not (self.mutation_type is None): + if mutation_probability is None: + self.mutation_probability = None + elif (mutation_type != "adaptive"): + # Mutation probability is fixed not adaptive. + if type(mutation_probability) in GA.supported_int_float_types: + if mutation_probability >= 0 and mutation_probability <= 1: + self.mutation_probability = mutation_probability + else: + self.valid_parameters = False + raise ValueError(f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") else: self.valid_parameters = False - self.logger.error("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) - raise ValueError("The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=mutation_probability)) + raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - raise TypeError("Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - else: - # Mutation probability is adaptive not fixed. - if type(mutation_probability) in [list, tuple, numpy.ndarray]: - if len(mutation_probability) == 2: - for el in mutation_probability: - if type(el) in GA.supported_int_float_types: - if el >= 0 and el <= 1: - pass + # Mutation probability is adaptive not fixed. + if type(mutation_probability) in [list, tuple, numpy.ndarray]: + if len(mutation_probability) == 2: + for el in mutation_probability: + if type(el) in GA.supported_int_float_types: + if el >= 0 and el <= 1: + pass + else: + self.valid_parameters = False + raise ValueError(f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") else: self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) - raise ValueError("The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability_value}) found.".format(mutation_probability_value=el)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=el, mutation_probability_type=type(el))) - if mutation_probability[0] < mutation_probability[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_probability' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_probability[0], second_el=mutation_probability[1])) - self.mutation_probability = mutation_probability + raise TypeError(f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") + if mutation_probability[0] < mutation_probability[1]: + if not self.suppress_warnings: + warnings.warn(f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") + self.mutation_probability = mutation_probability + else: + self.valid_parameters = False + raise ValueError(f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") else: self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({mutation_probability_length}) element(s) found.".format(mutation_probability_length=len(mutation_probability))) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - raise TypeError("Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability_value}) of type {mutation_probability_type} found.".format(mutation_probability_value=mutation_probability, mutation_probability_type=type(mutation_probability))) - else: - pass - - # Calculate the value of mutation_num_genes - if not (self.mutation_type is None): - if mutation_num_genes is None: - # The mutation_num_genes parameter does not exist. Checking whether adaptive mutation is used. - if (mutation_type != "adaptive"): - # The percent of genes to mutate is fixed not adaptive. - if mutation_percent_genes == 'default'.lower(): - mutation_percent_genes = 10 - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes == 0: - if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) - mutation_num_genes = 1 - - elif type(mutation_percent_genes) in GA.supported_int_float_types: - if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): - self.valid_parameters = False - self.logger.error("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - raise ValueError("The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - else: - # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. - if mutation_percent_genes == 'default'.lower(): - mutation_percent_genes = 10 + raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") + else: + pass + # Calculate the value of mutation_num_genes + if not (self.mutation_type is None): + if mutation_num_genes is None: + # The mutation_num_genes parameter does not exist. Checking whether adaptive mutation is used. + if (mutation_type != "adaptive"): + # The percent of genes to mutate is fixed not adaptive. + if mutation_percent_genes == 'default'.lower(): + mutation_percent_genes = 10 # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes = numpy.uint32((mutation_percent_genes*self.num_genes)/100) + mutation_num_genes = numpy.uint32( + (mutation_percent_genes*self.num_genes)/100) # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes == 0: if self.mutation_probability is None: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate (mutation_percent_genes={mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes, mutation_num=mutation_num_genes)) + if not self.suppress_warnings: + warnings.warn( + f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 + + elif type(mutation_percent_genes) in GA.supported_int_float_types: + if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): + self.valid_parameters = False + raise ValueError(f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + else: + # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. + if mutation_percent_genes == 'default'.lower(): + mutation_percent_genes = 10 + + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes = numpy.uint32( + (mutation_percent_genes*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes == 0: + if self.mutation_probability is None: + if not self.suppress_warnings: + warnings.warn(f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + mutation_num_genes = 1 + else: + self.valid_parameters = False + raise TypeError(f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") + else: + # The percent of genes to mutate is adaptive not fixed. + if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: + if len(mutation_percent_genes) == 2: + mutation_num_genes = numpy.zeros_like( + mutation_percent_genes, dtype=numpy.uint32) + for idx, el in enumerate(mutation_percent_genes): + if type(el) in GA.supported_int_float_types: + if (el <= 0 or el > 100): + self.valid_parameters = False + raise ValueError(f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") + else: + self.valid_parameters = False + raise TypeError(f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. + # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. + mutation_num_genes[idx] = numpy.uint32( + (mutation_percent_genes[idx]*self.num_genes)/100) + # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. + if mutation_num_genes[idx] == 0: + if not self.suppress_warnings: + warnings.warn(f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") + mutation_num_genes[idx] = 1 + if mutation_percent_genes[0] < mutation_percent_genes[1]: + if not self.suppress_warnings: + warnings.warn(f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") + # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. + else: + self.valid_parameters = False + raise ValueError(f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") + else: + if self.mutation_probability is None: + self.valid_parameters = False + raise TypeError(f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") + # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. + elif (mutation_type != "adaptive"): + # Number of genes to mutate is fixed not adaptive. + if type(mutation_num_genes) in GA.supported_int_types: + if (mutation_num_genes <= 0): + self.valid_parameters = False + raise ValueError(f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") + elif (mutation_num_genes > self.num_genes): + self.valid_parameters = False + raise ValueError(f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") else: self.valid_parameters = False - self.logger.error("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) - raise TypeError("Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=mutation_percent_genes, mutation_percent_genes_type=type(mutation_percent_genes))) + raise TypeError(f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") else: - # The percent of genes to mutate is adaptive not fixed. - if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: - if len(mutation_percent_genes) == 2: - mutation_num_genes = numpy.zeros_like(mutation_percent_genes, dtype=numpy.uint32) - for idx, el in enumerate(mutation_percent_genes): - if type(el) in GA.supported_int_float_types: - if (el <= 0 or el > 100): + # Number of genes to mutate is adaptive not fixed. + if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: + if len(mutation_num_genes) == 2: + for el in mutation_num_genes: + if type(el) in GA.supported_int_types: + if (el <= 0): self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) - raise ValueError("The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n".format(mutation_percent_genes=mutation_percent_genes)) + raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") + elif (el > self.num_genes): + self.valid_parameters = False + raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") else: self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({mutation_percent_genes_value}) of type {mutation_percent_genes_type} found.".format(mutation_percent_genes_value=el, mutation_percent_genes_type=type(el))) - # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. - # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. - mutation_num_genes[idx] = numpy.uint32((mutation_percent_genes[idx]*self.num_genes)/100) - # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. - if mutation_num_genes[idx] == 0: - if not self.suppress_warnings: warnings.warn("The percentage of genes to mutate ({mutation_percent}) resutled in selecting ({mutation_num}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.".format(mutation_percent=mutation_percent_genes[idx], mutation_num=mutation_num_genes[idx])) - mutation_num_genes[idx] = 1 - if mutation_percent_genes[0] < mutation_percent_genes[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_percent_genes' parameter is ({first_el}) which is smaller than the second element ({second_el}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.".format(first_el=mutation_percent_genes[0], second_el=mutation_percent_genes[1])) - # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. + raise TypeError(f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") + # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. + if mutation_num_genes[0] < mutation_num_genes[1]: + if not self.suppress_warnings: + warnings.warn(f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") + # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. else: self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({mutation_percent_genes_length}) element(s) found.".format(mutation_percent_genes_length=len(mutation_percent_genes))) + raise ValueError(f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") else: - if self.mutation_probability is None: - self.valid_parameters = False - self.logger.error("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) - raise TypeError("Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes_value}) found.".format(mutation_percent_genes_value=mutation_percent_genes)) - # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. - elif (mutation_type != "adaptive"): - # Number of genes to mutate is fixed not adaptive. - if type(mutation_num_genes) in GA.supported_int_types: - if (mutation_num_genes <= 0): - self.valid_parameters = False - self.logger.error("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) - raise ValueError("The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes=mutation_num_genes)) - elif (mutation_num_genes > self.num_genes): self.valid_parameters = False - self.logger.error("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) - raise ValueError("The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({num_genes}).\n".format(mutation_num_genes=mutation_num_genes, num_genes=self.num_genes)) + raise TypeError(f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") + else: + pass + + # Validating mutation_by_replacement and mutation_type + if self.mutation_type != "random" and self.mutation_by_replacement: + if not self.suppress_warnings: + warnings.warn(f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") + + # Check if crossover and mutation are both disabled. + if (self.mutation_type is None) and (self.crossover_type is None): + if not self.suppress_warnings: + warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") + + # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. + # Validating the selected type of parent selection: parent_selection_type + if inspect.ismethod(parent_selection_type): + # Check if the parent_selection_type is a method that accepts 4 paramaters. + if (parent_selection_type.__code__.co_argcount == 4): + # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. + # The parent selection method assigned to the parent_selection_type parameter is validated. + self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - raise TypeError("The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.\n".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - else: - # Number of genes to mutate is adaptive not fixed. - if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: - if len(mutation_num_genes) == 2: - for el in mutation_num_genes: - if type(el) in GA.supported_int_types: - if (el <= 0): - self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) - raise ValueError("The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({mutation_num_genes_value}) found. If you do not want to use mutation, please set mutation_type=None\n".format(mutation_num_genes_value=el)) - elif (el > self.num_genes): - self.valid_parameters = False - self.logger.error("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) - raise ValueError("The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({num_genes}) but ({mutation_num_genes_value}) found.\n".format(mutation_num_genes_value=el, num_genes=self.num_genes)) - else: - self.valid_parameters = False - self.logger.error("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) - raise TypeError("Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=el, mutation_num_genes_type=type(el))) - # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. - if mutation_num_genes[0] < mutation_num_genes[1]: - if not self.suppress_warnings: warnings.warn("The first element in the 'mutation_num_genes' parameter is {first_el} which is smaller than the second element {second_el}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.".format(first_el=mutation_num_genes[0], second_el=mutation_num_genes[1])) - # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. - else: - self.valid_parameters = False - self.logger.error("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) - raise ValueError("When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({mutation_num_genes_length}) element(s) found.".format(mutation_num_genes_length=len(mutation_num_genes))) + raise ValueError(f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + elif callable(parent_selection_type): + # Check if the parent_selection_type is a function that accepts 3 paramaters. + if (parent_selection_type.__code__.co_argcount == 3): + # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. + # The parent selection function assigned to the parent_selection_type parameter is validated. + self.select_parents = parent_selection_type else: self.valid_parameters = False - self.logger.error("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - raise TypeError("Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes_value}) of type {mutation_num_genes_type} found.".format(mutation_num_genes_value=mutation_num_genes, mutation_num_genes_type=type(mutation_num_genes))) - else: - pass - - # Validating mutation_by_replacement and mutation_type - if self.mutation_type != "random" and self.mutation_by_replacement: - if not self.suppress_warnings: warnings.warn("The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mut_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.".format(mut_type=mutation_type)) - - # Check if crossover and mutation are both disabled. - if (self.mutation_type is None) and (self.crossover_type is None): - if not self.suppress_warnings: warnings.warn("The 2 parameters mutation_type and crossover_type are None. This disables any type of evolution the genetic algorithm can make. As a result, the genetic algorithm cannot find a better solution that the best solution in the initial population.") - - # select_parents: Refers to a method that selects the parents based on the parent selection type specified in the parent_selection_type attribute. - # Validating the selected type of parent selection: parent_selection_type - if inspect.ismethod(parent_selection_type): - # Check if the parent_selection_type is a method that accepts 4 paramaters. - if (parent_selection_type.__code__.co_argcount == 4): - # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. - # The parent selection method assigned to the parent_selection_type parameter is validated. - self.select_parents = parent_selection_type - else: + raise ValueError(f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") + elif not (type(parent_selection_type) is str): self.valid_parameters = False - self.logger.error("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - raise ValueError("When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - elif callable(parent_selection_type): - # Check if the parent_selection_type is a function that accepts 3 paramaters. - if (parent_selection_type.__code__.co_argcount == 3): - # population: Added in PyGAD 2.16.0. It should used only to support custom parent selection functions. Otherwise, it should be left to None to retirve the population by self.population. - # The parent selection function assigned to the parent_selection_type parameter is validated. - self.select_parents = parent_selection_type + + raise TypeError(f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") else: + parent_selection_type = parent_selection_type.lower() + if (parent_selection_type == "sss"): + self.select_parents = self.steady_state_selection + elif (parent_selection_type == "rws"): + self.select_parents = self.roulette_wheel_selection + elif (parent_selection_type == "sus"): + self.select_parents = self.stochastic_universal_selection + elif (parent_selection_type == "random"): + self.select_parents = self.random_selection + elif (parent_selection_type == "tournament"): + self.select_parents = self.tournament_selection + elif (parent_selection_type == "rank"): + self.select_parents = self.rank_selection + else: + self.valid_parameters = False + raise TypeError(f"Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n") + + # For tournament selection, validate the K value. + if (parent_selection_type == "tournament"): + if (K_tournament > self.sol_per_pop): + K_tournament = self.sol_per_pop + if not self.suppress_warnings: + warnings.warn(f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") + elif (K_tournament <= 0): + self.valid_parameters = False + raise ValueError(f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") + + self.K_tournament = K_tournament + + # Validating the number of parents to keep in the next population: keep_parents + if not (type(keep_parents) in GA.supported_int_types): self.valid_parameters = False - self.logger.error("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - raise ValueError("When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=parent_selection_type.__code__.co_name, argcount=parent_selection_type.__code__.co_argcount)) - elif not (type(parent_selection_type) is str): - self.valid_parameters = False - self.logger.error("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) - raise TypeError("The expected type of the 'parent_selection_type' parameter is either callable or str but {parent_selection_type} found.".format(parent_selection_type=type(parent_selection_type))) - else: - parent_selection_type = parent_selection_type.lower() - if (parent_selection_type == "sss"): - self.select_parents = self.steady_state_selection - elif (parent_selection_type == "rws"): - self.select_parents = self.roulette_wheel_selection - elif (parent_selection_type == "sus"): - self.select_parents = self.stochastic_universal_selection - elif (parent_selection_type == "random"): - self.select_parents = self.random_selection - elif (parent_selection_type == "tournament"): - self.select_parents = self.tournament_selection - elif (parent_selection_type == "rank"): - self.select_parents = self.rank_selection - else: + raise TypeError(f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") + elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): self.valid_parameters = False - self.logger.error("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) - raise TypeError("Undefined parent selection type: {parent_selection_type}. \nThe assigned value to the 'parent_selection_type' parameter does not refer to one of the supported parent selection techniques which are: \n-sss (for steady state selection)\n-rws (for roulette wheel selection)\n-sus (for stochastic universal selection)\n-rank (for rank selection)\n-random (for random selection)\n-tournament (for tournament selection).\n".format(parent_selection_type=parent_selection_type)) - - # For tournament selection, validate the K value. - if(parent_selection_type == "tournament"): - if (K_tournament > self.sol_per_pop): - K_tournament = self.sol_per_pop - if not self.suppress_warnings: warnings.warn("K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n".format(K_tournament=K_tournament, sol_per_pop=self.sol_per_pop)) - elif (K_tournament <= 0): + raise ValueError(f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") + + self.keep_parents = keep_parents + + if parent_selection_type == "sss" and self.keep_parents == 0: + if not self.suppress_warnings: + warnings.warn("The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") + + # Validating the number of elitism to keep in the next population: keep_elitism + if not (type(keep_elitism) in GA.supported_int_types): self.valid_parameters = False - self.logger.error("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) - raise ValueError("K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n".format(K_tournament=K_tournament)) - - self.K_tournament = K_tournament - - # Validating the number of parents to keep in the next population: keep_parents - if not (type(keep_parents) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) - raise TypeError("Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {keep_parents_type} found but an integer is expected.".format(keep_parents=keep_parents, keep_parents_type=type(keep_parents))) - elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): - self.valid_parameters = False - self.logger.error("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) - raise ValueError("Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.".format(keep_parents=keep_parents)) - - self.keep_parents = keep_parents - - if parent_selection_type == "sss" and self.keep_parents == 0: - if not self.suppress_warnings: warnings.warn("The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") - - # Validating the number of elitism to keep in the next population: keep_elitism - if not (type(keep_elitism) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) - raise TypeError("Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {keep_elitism_type} found but an integer is expected.".format(keep_elitism=keep_elitism, keep_elitism_type=type(keep_elitism))) - elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): - self.valid_parameters = False - self.logger.error("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) - raise ValueError("Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.".format(keep_elitism=keep_elitism)) - - self.keep_elitism = keep_elitism - - # Validate keep_parents. - if self.keep_elitism == 0: - if (self.keep_parents == -1): # Keep all parents in the next population. - self.num_offspring = self.sol_per_pop - self.num_parents_mating - elif (self.keep_parents == 0): # Keep no parents in the next population. - self.num_offspring = self.sol_per_pop - elif (self.keep_parents > 0): # Keep the specified number of parents in the next population. - self.num_offspring = self.sol_per_pop - self.keep_parents - else: - self.num_offspring = self.sol_per_pop - self.keep_elitism - - # Check if the fitness_func is a method. - # In PyGAD 2.19.0, a method can be passed to the fitness function. If function is passed, then it accepts 2 parameters. If method, then it accepts 3 parameters. - # In PyGAD 2.20.0, a new parameter is passed referring to the instance of the `pygad.GA` class. So, the function accepts 3 parameters and the method accepts 4 parameters. - if inspect.ismethod(fitness_func): - # If the fitness is calculated through a method, not a function, then there is a fourth 'self` paramaters. - if (fitness_func.__code__.co_argcount == 4): - self.fitness_func = fitness_func - else: + raise TypeError(f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") + elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): self.valid_parameters = False - self.logger.error("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - raise ValueError("In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - elif callable(fitness_func): - # Check if the fitness function accepts 2 paramaters. - if (fitness_func.__code__.co_argcount == 3): - self.fitness_func = fitness_func + raise ValueError(f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") + + self.keep_elitism = keep_elitism + + # Validate keep_parents. + if self.keep_elitism == 0: + # Keep all parents in the next population. + if (self.keep_parents == -1): + self.num_offspring = self.sol_per_pop - self.num_parents_mating + # Keep no parents in the next population. + elif (self.keep_parents == 0): + self.num_offspring = self.sol_per_pop + # Keep the specified number of parents in the next population. + elif (self.keep_parents > 0): + self.num_offspring = self.sol_per_pop - self.keep_parents else: - self.valid_parameters = False - self.logger.error("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - raise ValueError("In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=fitness_func.__code__.co_name, argcount=fitness_func.__code__.co_argcount)) - else: - self.valid_parameters = False - self.logger.error("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) - raise TypeError("The value assigned to the fitness_func parameter is expected to be of type function but {fitness_func_type} found.".format(fitness_func_type=type(fitness_func))) - - if fitness_batch_size is None: - pass - elif not (type(fitness_batch_size) in GA.supported_int_types): - self.valid_parameters = False - self.logger.error("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) - raise TypeError("The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {fitness_batch_size_type} found.".format(fitness_batch_size=fitness_batch_size, fitness_batch_size_type=type(fitness_batch_size))) - elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: - self.valid_parameters = False - self.logger.error("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) - raise ValueError("The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({sol_per_pop}).\nBut the value ({fitness_batch_size}) found.".format(fitness_batch_size=fitness_batch_size, sol_per_pop=self.sol_per_pop)) - - self.fitness_batch_size = fitness_batch_size - - # Check if the on_start exists. - if not (on_start is None): - if inspect.ismethod(on_start): - # Check if the on_start method accepts 2 paramaters. - if (on_start.__code__.co_argcount == 2): - self.on_start = on_start + self.num_offspring = self.sol_per_pop - self.keep_elitism + + # Check if the fitness_func is a method. + # In PyGAD 2.19.0, a method can be passed to the fitness function. If function is passed, then it accepts 2 parameters. If method, then it accepts 3 parameters. + # In PyGAD 2.20.0, a new parameter is passed referring to the instance of the `pygad.GA` class. So, the function accepts 3 parameters and the method accepts 4 parameters. + if inspect.ismethod(fitness_func): + # If the fitness is calculated through a method, not a function, then there is a fourth 'self` paramaters. + if (fitness_func.__code__.co_argcount == 4): + self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - raise ValueError("The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - # Check if the on_start is a function. - elif callable(on_start): - # Check if the on_start function accepts only a single paramater. - if (on_start.__code__.co_argcount == 1): - self.on_start = on_start + raise ValueError(f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") + elif callable(fitness_func): + # Check if the fitness function accepts 2 paramaters. + if (fitness_func.__code__.co_argcount == 3): + self.fitness_func = fitness_func else: self.valid_parameters = False - self.logger.error("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) - raise ValueError("The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_start.__code__.co_name, argcount=on_start.__code__.co_argcount)) + raise ValueError(f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) - raise TypeError("The value assigned to the on_start parameter is expected to be of type function but {on_start_type} found.".format(on_start_type=type(on_start))) - else: - self.on_start = None - - # Check if the on_fitness exists. - if not (on_fitness is None): - # Check if the on_fitness is a method. - if inspect.ismethod(on_fitness): - # Check if the on_fitness method accepts 3 paramaters. - if (on_fitness.__code__.co_argcount == 3): - self.on_fitness = on_fitness - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - raise ValueError("The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - # Check if the on_fitness is a function. - elif callable(on_fitness): - # Check if the on_fitness function accepts 2 paramaters. - if (on_fitness.__code__.co_argcount == 2): - self.on_fitness = on_fitness - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - raise ValueError("The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_fitness.__code__.co_name, argcount=on_fitness.__code__.co_argcount)) - else: + + raise TypeError(f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") + + if fitness_batch_size is None: + pass + elif not (type(fitness_batch_size) in GA.supported_int_types): self.valid_parameters = False - self.logger.error("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) - raise TypeError("The value assigned to the on_fitness parameter is expected to be of type function but {on_fitness_type} found.".format(on_fitness_type=type(on_fitness))) - else: - self.on_fitness = None - - # Check if the on_parents exists. - if not (on_parents is None): - # Check if the on_parents is a method. - if inspect.ismethod(on_parents): - # Check if the on_parents method accepts 3 paramaters. - if (on_parents.__code__.co_argcount == 3): - self.on_parents = on_parents + raise TypeError(f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") + elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: + self.valid_parameters = False + raise ValueError(f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") + + self.fitness_batch_size = fitness_batch_size + + # Check if the on_start exists. + if not (on_start is None): + if inspect.ismethod(on_start): + # Check if the on_start method accepts 2 paramaters. + if (on_start.__code__.co_argcount == 2): + self.on_start = on_start + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") + # Check if the on_start is a function. + elif callable(on_start): + # Check if the on_start function accepts only a single paramater. + if (on_start.__code__.co_argcount == 1): + self.on_start = on_start + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - raise ValueError("The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - # Check if the on_parents is a function. - elif callable(on_parents): - # Check if the on_parents function accepts 2 paramaters. - if (on_parents.__code__.co_argcount == 2): - self.on_parents = on_parents + + raise TypeError(f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") + else: + self.on_start = None + + # Check if the on_fitness exists. + if not (on_fitness is None): + # Check if the on_fitness is a method. + if inspect.ismethod(on_fitness): + # Check if the on_fitness method accepts 3 paramaters. + if (on_fitness.__code__.co_argcount == 3): + self.on_fitness = on_fitness + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") + # Check if the on_fitness is a function. + elif callable(on_fitness): + # Check if the on_fitness function accepts 2 paramaters. + if (on_fitness.__code__.co_argcount == 2): + self.on_fitness = on_fitness + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) - raise ValueError("The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_parents.__code__.co_name, argcount=on_parents.__code__.co_argcount)) + raise TypeError(f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) - raise TypeError("The value assigned to the on_parents parameter is expected to be of type function but {on_parents_type} found.".format(on_parents_type=type(on_parents))) - else: - self.on_parents = None - - # Check if the on_crossover exists. - if not (on_crossover is None): - # Check if the on_crossover is a method. - if inspect.ismethod(on_crossover): - # Check if the on_crossover method accepts 3 paramaters. - if (on_crossover.__code__.co_argcount == 3): - self.on_crossover = on_crossover + self.on_fitness = None + + # Check if the on_parents exists. + if not (on_parents is None): + # Check if the on_parents is a method. + if inspect.ismethod(on_parents): + # Check if the on_parents method accepts 3 paramaters. + if (on_parents.__code__.co_argcount == 3): + self.on_parents = on_parents + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") + # Check if the on_parents is a function. + elif callable(on_parents): + # Check if the on_parents function accepts 2 paramaters. + if (on_parents.__code__.co_argcount == 2): + self.on_parents = on_parents + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - raise ValueError("The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - # Check if the on_crossover is a function. - elif callable(on_crossover): - # Check if the on_crossover function accepts 2 paramaters. - if (on_crossover.__code__.co_argcount == 2): - self.on_crossover = on_crossover + raise TypeError(f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") + else: + self.on_parents = None + + # Check if the on_crossover exists. + if not (on_crossover is None): + # Check if the on_crossover is a method. + if inspect.ismethod(on_crossover): + # Check if the on_crossover method accepts 3 paramaters. + if (on_crossover.__code__.co_argcount == 3): + self.on_crossover = on_crossover + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") + # Check if the on_crossover is a function. + elif callable(on_crossover): + # Check if the on_crossover function accepts 2 paramaters. + if (on_crossover.__code__.co_argcount == 2): + self.on_crossover = on_crossover + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) - raise ValueError("The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_crossover.__code__.co_name, argcount=on_crossover.__code__.co_argcount)) + raise TypeError(f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) - raise TypeError("The value assigned to the on_crossover parameter is expected to be of type function but {on_crossover_type} found.".format(on_crossover_type=type(on_crossover))) - else: - self.on_crossover = None - - # Check if the on_mutation exists. - if not (on_mutation is None): - # Check if the on_mutation is a method. - if inspect.ismethod(on_mutation): - # Check if the on_mutation method accepts 3 paramaters. - if (on_mutation.__code__.co_argcount == 3): - self.on_mutation = on_mutation + self.on_crossover = None + + # Check if the on_mutation exists. + if not (on_mutation is None): + # Check if the on_mutation is a method. + if inspect.ismethod(on_mutation): + # Check if the on_mutation method accepts 3 paramaters. + if (on_mutation.__code__.co_argcount == 3): + self.on_mutation = on_mutation + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") + # Check if the on_mutation is a function. + elif callable(on_mutation): + # Check if the on_mutation function accepts 2 paramaters. + if (on_mutation.__code__.co_argcount == 2): + self.on_mutation = on_mutation + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - raise ValueError("The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - # Check if the on_mutation is a function. - elif callable(on_mutation): - # Check if the on_mutation function accepts 2 paramaters. - if (on_mutation.__code__.co_argcount == 2): - self.on_mutation = on_mutation + raise TypeError(f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") + else: + self.on_mutation = None + + # Check if the on_generation exists. + if not (on_generation is None): + # Check if the on_generation is a method. + if inspect.ismethod(on_generation): + # Check if the on_generation method accepts 2 paramaters. + if (on_generation.__code__.co_argcount == 2): + self.on_generation = on_generation + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") + # Check if the on_generation is a function. + elif callable(on_generation): + # Check if the on_generation function accepts only a single paramater. + if (on_generation.__code__.co_argcount == 1): + self.on_generation = on_generation + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) - raise ValueError("The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_mutation.__code__.co_name, argcount=on_mutation.__code__.co_argcount)) + raise TypeError(f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") else: - self.valid_parameters = False - self.logger.error("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) - raise TypeError("The value assigned to the on_mutation parameter is expected to be of type function but {on_mutation_type} found.".format(on_mutation_type=type(on_mutation))) - else: - self.on_mutation = None - - # Check if the on_generation exists. - if not (on_generation is None): - # Check if the on_generation is a method. - if inspect.ismethod(on_generation): - # Check if the on_generation method accepts 2 paramaters. - if (on_generation.__code__.co_argcount == 2): - self.on_generation = on_generation + self.on_generation = None + + # Check if the on_stop exists. + if not (on_stop is None): + # Check if the on_stop is a method. + if inspect.ismethod(on_stop): + # Check if the on_stop method accepts 3 paramaters. + if (on_stop.__code__.co_argcount == 3): + self.on_stop = on_stop + else: + self.valid_parameters = False + raise ValueError(f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") + # Check if the on_stop is a function. + elif callable(on_stop): + # Check if the on_stop function accepts 2 paramaters. + if (on_stop.__code__.co_argcount == 2): + self.on_stop = on_stop + else: + self.valid_parameters = False + raise ValueError(f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False - self.logger.error("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - raise ValueError("The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - # Check if the on_generation is a function. - elif callable(on_generation): - # Check if the on_generation function accepts only a single paramater. - if (on_generation.__code__.co_argcount == 1): - self.on_generation = on_generation + raise TypeError(f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") + else: + self.on_stop = None + + # Validate delay_after_gen + if type(delay_after_gen) in GA.supported_int_float_types: + if delay_after_gen >= 0.0: + self.delay_after_gen = delay_after_gen else: self.valid_parameters = False - self.logger.error("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) - raise ValueError("The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_generation.__code__.co_name, argcount=on_generation.__code__.co_argcount)) + raise ValueError(f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") else: self.valid_parameters = False - self.logger.error("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) - raise TypeError("The value assigned to the on_generation parameter is expected to be of type function but {on_generation_type} found.".format(on_generation_type=type(on_generation))) - else: - self.on_generation = None - - # Check if the on_stop exists. - if not (on_stop is None): - # Check if the on_stop is a method. - if inspect.ismethod(on_stop): - # Check if the on_stop method accepts 3 paramaters. - if (on_stop.__code__.co_argcount == 3): - self.on_stop = on_stop - else: - self.valid_parameters = False - self.logger.error("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - raise ValueError("The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - # Check if the on_stop is a function. - elif callable(on_stop): - # Check if the on_stop function accepts 2 paramaters. - if (on_stop.__code__.co_argcount == 2): - self.on_stop = on_stop - else: - self.valid_parameters = False - self.logger.error("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) - raise ValueError("The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{funcname}' accepts {argcount} parameter(s).".format(funcname=on_stop.__code__.co_name, argcount=on_stop.__code__.co_argcount)) + raise TypeError(f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") + + # Validate save_best_solutions + if type(save_best_solutions) is bool: + if save_best_solutions == True: + if not self.suppress_warnings: + warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") else: self.valid_parameters = False - self.logger.error("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) - raise TypeError("The value assigned to the 'on_stop' parameter is expected to be of type function but {on_stop_type} found.".format(on_stop_type=type(on_stop))) - else: - self.on_stop = None + raise TypeError(f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") - # Validate delay_after_gen - if type(delay_after_gen) in GA.supported_int_float_types: - if delay_after_gen >= 0.0: - self.delay_after_gen = delay_after_gen + # Validate save_solutions + if type(save_solutions) is bool: + if save_solutions == True: + if not self.suppress_warnings: + warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") else: self.valid_parameters = False - self.logger.error("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) - raise ValueError("The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {delay_after_gen_type}.".format(delay_after_gen=delay_after_gen, delay_after_gen_type=type(delay_after_gen))) - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) - raise TypeError("The value passed to the 'delay_after_gen' parameter must be of type int or float but {delay_after_gen_type} found.".format(delay_after_gen_type=type(delay_after_gen))) - - # Validate save_best_solutions - if type(save_best_solutions) is bool: - if save_best_solutions == True: - if not self.suppress_warnings: warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) - raise TypeError("The value passed to the 'save_best_solutions' parameter must be of type bool but {save_best_solutions_type} found.".format(save_best_solutions_type=type(save_best_solutions))) - - # Validate save_solutions - if type(save_solutions) is bool: - if save_solutions == True: - if not self.suppress_warnings: warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") - else: - self.valid_parameters = False - self.logger.error("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) - raise TypeError("The value passed to the 'save_solutions' parameter must be of type bool but {save_solutions_type} found.".format(save_solutions_type=type(save_solutions))) - - self.stop_criteria = [] - self.supported_stop_words = ["reach", "saturate"] - if stop_criteria is None: - # None: Stop after passing through all generations. - self.stop_criteria = None - elif type(stop_criteria) is str: - # reach_{target_fitness}: Stop if the target fitness value is reached. - # saturate_{num_generations}: Stop if the fitness value does not change (saturates) for the given number of generations. - criterion = stop_criteria.split("_") - if len(criterion) == 2: - stop_word = criterion[0] - number = criterion[1] - - if stop_word in self.supported_stop_words: - pass - else: - self.valid_parameters = False - self.logger.error("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - raise ValueError("In the 'stop_criteria' parameter, the supported stop words are '{supported_stop_words}' but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + raise TypeError(f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") + + self.stop_criteria = [] + self.supported_stop_words = ["reach", "saturate"] + if stop_criteria is None: + # None: Stop after passing through all generations. + self.stop_criteria = None + elif type(stop_criteria) is str: + # reach_{target_fitness}: Stop if the target fitness value is reached. + # saturate_{num_generations}: Stop if the fitness value does not change (saturates) for the given number of generations. + criterion = stop_criteria.split("_") + if len(criterion) == 2: + stop_word = criterion[0] + number = criterion[1] + + if stop_word in self.supported_stop_words: + pass + else: + self.valid_parameters = False + raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") + + if number.replace(".", "").isnumeric(): + number = float(number) + else: + self.valid_parameters = False + raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + + self.stop_criteria.append([stop_word, number]) - if number.replace(".", "").isnumeric(): - number = float(number) else: self.valid_parameters = False - self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - - self.stop_criteria.append([stop_word, number]) + raise ValueError(f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") + + elif type(stop_criteria) in [list, tuple, numpy.ndarray]: + # Remove duplicate criterira by converting the list to a set then back to a list. + stop_criteria = list(set(stop_criteria)) + for idx, val in enumerate(stop_criteria): + if type(val) is str: + criterion = val.split("_") + if len(criterion) == 2: + stop_word = criterion[0] + number = criterion[1] + + if stop_word in self.supported_stop_words: + pass + else: + self.valid_parameters = False + raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") - else: - self.valid_parameters = False - self.logger.error("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) - raise ValueError("For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.".format(stop_criteria=stop_criteria)) - - elif type(stop_criteria) in [list, tuple, numpy.ndarray]: - # Remove duplicate criterira by converting the list to a set then back to a list. - stop_criteria = list(set(stop_criteria)) - for idx, val in enumerate(stop_criteria): - if type(val) is str: - criterion = val.split("_") - if len(criterion) == 2: - stop_word = criterion[0] - number = criterion[1] - - if stop_word in self.supported_stop_words: - pass - else: - self.valid_parameters = False - self.logger.error("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) - raise ValueError("In the 'stop_criteria' parameter, the supported stop words are {supported_stop_words} but '{stop_word}' found.".format(supported_stop_words=self.supported_stop_words, stop_word=stop_word)) + if number.replace(".", "").isnumeric(): + number = float(number) + else: + self.valid_parameters = False + raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") + + self.stop_criteria.append([stop_word, number]) - if number.replace(".", "").isnumeric(): - number = float(number) else: self.valid_parameters = False - self.logger.error("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - raise ValueError("The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({stop_val}) of type {stop_val_type} found.".format(stop_val=number, stop_val_type=type(number))) - - self.stop_criteria.append([stop_word, number]) - + raise ValueError(f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") else: self.valid_parameters = False - self.logger.error("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) - raise ValueError("The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {stop_criteria} found.".format(stop_criteria=criterion)) - else: - self.valid_parameters = False - self.logger.error("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) - raise TypeError("When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({stop_criteria_val}) of type {stop_criteria_val_type} found at index {stop_criteria_val_idx}.".format(stop_criteria_val=val, stop_criteria_val_type=type(val), stop_criteria_val_idx=idx)) - else: - self.valid_parameters = False - self.logger.error("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) - raise TypeError("The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria_val}) of type {stop_criteria_type} found.".format(stop_criteria_val=stop_criteria, stop_criteria_type=type(stop_criteria))) - - if parallel_processing is None: - self.parallel_processing = None - elif type(parallel_processing) in GA.supported_int_types: - if parallel_processing > 0: - self.parallel_processing = ["thread", parallel_processing] + raise TypeError(f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") else: self.valid_parameters = False - self.logger.error("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) - raise ValueError("When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing_value}) found.".format(parallel_processing_value=parallel_processing)) - elif type(parallel_processing) in [list, tuple]: - if len(parallel_processing) == 2: - if type(parallel_processing[0]) is str: - if parallel_processing[0] in ["process", "thread"]: - if (type(parallel_processing[1]) in GA.supported_int_types and parallel_processing[1] > 0) or (parallel_processing[1] == 0) or (parallel_processing[1] is None): - if parallel_processing[1] == 0: - # If the number of processes/threads is 0, this means no parallel processing is used. It is equivelant to setting parallel_processing=None. - self.parallel_processing = None + raise TypeError(f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") + + if parallel_processing is None: + self.parallel_processing = None + elif type(parallel_processing) in GA.supported_int_types: + if parallel_processing > 0: + self.parallel_processing = ["thread", parallel_processing] + else: + self.valid_parameters = False + raise ValueError(f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") + elif type(parallel_processing) in [list, tuple]: + if len(parallel_processing) == 2: + if type(parallel_processing[0]) is str: + if parallel_processing[0] in ["process", "thread"]: + if (type(parallel_processing[1]) in GA.supported_int_types and parallel_processing[1] > 0) or (parallel_processing[1] == 0) or (parallel_processing[1] is None): + if parallel_processing[1] == 0: + # If the number of processes/threads is 0, this means no parallel processing is used. It is equivelant to setting parallel_processing=None. + self.parallel_processing = None + else: + # Whether the second value is None or a positive integer. + self.parallel_processing = parallel_processing else: - # Whether the second value is None or a positive integer. - self.parallel_processing = parallel_processing + self.valid_parameters = False + raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) - raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({second_value}) of type {second_value_type} found.".format(second_value=parallel_processing[1], second_value_type=type(parallel_processing[1]))) + raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) - raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({first_value}) found.".format(first_value=parallel_processing[0])) + raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) - raise TypeError("When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({first_value}) of type {first_value_type} found.".format(first_value=parallel_processing[0], first_value_type=type(parallel_processing[0]))) + raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") else: self.valid_parameters = False - self.logger.error("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) - raise ValueError("When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({num_elements}) found.".format(num_elements=len(parallel_processing))) - else: - self.valid_parameters = False - self.logger.error("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) - raise ValueError("Unexpected value ({parallel_processing_value}) of type ({parallel_processing_type}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.".format(parallel_processing_value=parallel_processing, parallel_processing_type=type(parallel_processing))) - - # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. - self.run_completed = False - - # The number of completed generations. - self.generations_completed = 0 - - # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. - self.valid_parameters = True # Set to True when all the parameters passed in the GA class constructor are valid. - - # Parameters of the genetic algorithm. - self.num_generations = abs(num_generations) - self.parent_selection_type = parent_selection_type - - # Parameters of the mutation operation. - self.mutation_percent_genes = mutation_percent_genes - self.mutation_num_genes = mutation_num_genes - - # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. - self.best_solutions_fitness = [] # A list holding the fitness value of the best solution for each generation. - - self.best_solution_generation = -1 # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. - - self.save_best_solutions = save_best_solutions - self.best_solutions = [] # Holds the best solution in each generation. - - self.save_solutions = save_solutions - self.solutions = [] # Holds the solutions in each generation. - self.solutions_fitness = [] # Holds the fitness of the solutions in each generation. - - self.last_generation_fitness = None # A list holding the fitness values of all solutions in the last generation. - self.last_generation_parents = None # A list holding the parents of the last generation. - self.last_generation_offspring_crossover = None # A list holding the offspring after applying crossover in the last generation. - self.last_generation_offspring_mutation = None # A list holding the offspring after applying mutation in the last generation. - self.previous_generation_fitness = None # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. - self.last_generation_elitism = None # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. - self.last_generation_elitism_indices = None # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. + raise ValueError(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") + + # Set the `run_completed` property to False. It is set to `True` only after the `run()` method is complete. + self.run_completed = False + + # The number of completed generations. + self.generations_completed = 0 + + # At this point, all necessary parameters validation is done successfully and we are sure that the parameters are valid. + # Set to True when all the parameters passed in the GA class constructor are valid. + self.valid_parameters = True + + # Parameters of the genetic algorithm. + self.num_generations = abs(num_generations) + self.parent_selection_type = parent_selection_type + + # Parameters of the mutation operation. + self.mutation_percent_genes = mutation_percent_genes + self.mutation_num_genes = mutation_num_genes + + # Even such this parameter is declared in the class header, it is assigned to the object here to access it after saving the object. + # A list holding the fitness value of the best solution for each generation. + self.best_solutions_fitness = [] + + # The generation number at which the best fitness value is reached. It is only assigned the generation number after the `run()` method completes. Otherwise, its value is -1. + self.best_solution_generation = -1 + + self.save_best_solutions = save_best_solutions + self.best_solutions = [] # Holds the best solution in each generation. + + self.save_solutions = save_solutions + self.solutions = [] # Holds the solutions in each generation. + # Holds the fitness of the solutions in each generation. + self.solutions_fitness = [] + + # A list holding the fitness values of all solutions in the last generation. + self.last_generation_fitness = None + # A list holding the parents of the last generation. + self.last_generation_parents = None + # A list holding the offspring after applying crossover in the last generation. + self.last_generation_offspring_crossover = None + # A list holding the offspring after applying mutation in the last generation. + self.last_generation_offspring_mutation = None + # Holds the fitness values of one generation before the fitness values saved in the last_generation_fitness attribute. Added in PyGAD 2.16.2. + self.previous_generation_fitness = None + # Added in PyGAD 2.18.0. A NumPy array holding the elitism of the current generation according to the value passed in the 'keep_elitism' parameter. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism = None + # Added in PyGAD 2.19.0. A NumPy array holding the indices of the elitism of the current generation. It works only if the 'keep_elitism' parameter has a non-zero value. + self.last_generation_elitism_indices = None + except Exception as e: + self.logger.exception(e) + exit(-1) def round_genes(self, solutions): for gene_idx in range(self.num_genes): if self.gene_type_single: if not self.gene_type[1] is None: - solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], + solutions[:, gene_idx] = numpy.round(solutions[:, gene_idx], self.gene_type[1]) else: if not self.gene_type[gene_idx][1] is None: - solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], - dtype=self.gene_type[gene_idx][0]), + solutions[:, gene_idx] = numpy.round(numpy.asarray(solutions[:, gene_idx], + dtype=self.gene_type[gene_idx][0]), self.gene_type[gene_idx][1]) return solutions - def initialize_population(self, - low, - high, - allow_duplicate_genes, - mutation_by_replacement, + def initialize_population(self, + low, + high, + allow_duplicate_genes, + mutation_by_replacement, gene_type): - """ Creates an initial population randomly as a NumPy array. The array is saved in the instance attribute named 'population'. @@ -1313,24 +1235,26 @@ def initialize_population(self, """ # Population size = (number of chromosomes, number of genes per chromosome) - self.pop_size = (self.sol_per_pop,self.num_genes) # The population will have sol_per_pop chromosome where each chromosome has num_genes genes. + # The population will have sol_per_pop chromosome where each chromosome has num_genes genes. + self.pop_size = (self.sol_per_pop, self.num_genes) if self.gene_space is None: # Creating the initial population randomly. if self.gene_type_single == True: - self.population = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. + self.population = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=self.pop_size), + dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) + self.population = numpy.zeros( + shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=self.pop_size[0]), + gene_values = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. self.population[:, gene_idx] = gene_values @@ -1339,7 +1263,7 @@ def initialize_population(self, for solution_idx in range(self.population.shape[0]): # self.logger.info("Before", self.population[solution_idx]) self.population[solution_idx], _, _ = self.solve_duplicate_genes_randomly(solution=self.population[solution_idx], - min_val=low, + min_val=low, max_val=high, mutation_by_replacement=True, gene_type=gene_type, @@ -1349,25 +1273,25 @@ def initialize_population(self, elif self.gene_space_nested: if self.gene_type_single == True: # Reaching this block means: - # 1) gene_space is nested (gene_space_nested is True). - # 2) gene_type is not nested (gene_type_single is True). - self.population = numpy.zeros(shape=self.pop_size, + # 1) gene_space is nested (gene_space_nested is True). + # 2) gene_type is not nested (gene_type_single is True). + self.population = numpy.zeros(shape=self.pop_size, dtype=self.gene_type[0]) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): if self.gene_space[gene_idx] is None: - # The following commented code replace the None value with a single number that will not change again. + # The following commented code replace the None value with a single number that will not change again. # This means the gene value will be the same across all solutions. # self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - # high=high, + # high=high, # size=1), dtype=self.gene_type[0])[0] # self.population[sol_idx, gene_idx] = list(self.gene_space[gene_idx]).copy() # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + high=high, + size=1), dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple, range]: # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. @@ -1378,47 +1302,56 @@ def initialize_population(self, # We copy the gene_space to a temp variable to keep its original value. # In the next for loop, the gene_space is changed. # Later, the gene_space is restored to its original value using the temp variable. - temp_gene_space = list(self.gene_space[gene_idx]).copy() + temp_gene_space = list( + self.gene_space[gene_idx]).copy() for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), dtype=self.gene_type[0])[0] # Find the difference between the current gene space and the current values in the solution. - unique_gene_values = list(set(self.gene_space[gene_idx]).difference(set(self.population[sol_idx, :gene_idx]))) + unique_gene_values = list(set(self.gene_space[gene_idx]).difference( + set(self.population[sol_idx, :gene_idx]))) if len(unique_gene_values) > 0: - self.population[sol_idx, gene_idx] = random.choice(unique_gene_values) + self.population[sol_idx, gene_idx] = random.choice( + unique_gene_values) else: # If there is no unique values, then we have to select a duplicate value. - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = random.choice( + self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[0](self.population[sol_idx, gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[0]( + self.population[sol_idx, gene_idx]) # Restore the gene_space from the temp_gene_space variable. - self.gene_space[gene_idx] = list(temp_gene_space).copy() + self.gene_space[gene_idx] = list( + temp_gene_space).copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], + stop=self.gene_space[ + gene_idx]['high'], step=self.gene_space[gene_idx]['step']), size=1), dtype=self.gene_type[0])[0] else: self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[gene_idx]['high'], + high=self.gene_space[ + gene_idx]['high'], size=1), dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + self.population[sol_idx, + gene_idx] = self.gene_space[gene_idx] else: # There is no more options. pass else: # Reaching this block means: - # 1) gene_space is nested (gene_space_nested is True). - # 2) gene_type is nested (gene_type_single is False). - self.population = numpy.zeros(shape=self.pop_size, + # 1) gene_space is nested (gene_space_nested is True). + # 2) gene_type is nested (gene_type_single is False). + self.population = numpy.zeros(shape=self.pop_size, dtype=object) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): @@ -1427,59 +1360,66 @@ def initialize_population(self, # We copy the gene_space to a temp variable to keep its original value. # In the next for loop, the gene_space is changed. # Later, the gene_space is restored to its original value using the temp variable. - temp_gene_space = list(self.gene_space[gene_idx]).copy() + temp_gene_space = list( + self.gene_space[gene_idx]).copy() # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0](self.population[sol_idx, gene_idx]) + self.population[sol_idx, gene_idx] = random.choice( + self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0]( + self.population[sol_idx, gene_idx]) # Restore the gene_space from the temp_gene_space variable. self.gene_space[gene_idx] = temp_gene_space.copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[gene_idx]['high'], + stop=self.gene_space[ + gene_idx]['high'], step=self.gene_space[gene_idx]['step']), size=1), dtype=self.gene_type[gene_idx][0])[0] else: self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[gene_idx]['high'], - size=1), + high=self.gene_space[ + gene_idx]['high'], + size=1), dtype=self.gene_type[gene_idx][0])[0] elif type(self.gene_space[gene_idx]) == type(None): temp_gene_value = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + high=high, + size=1), dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = temp_gene_value.copy() + self.population[sol_idx, + gene_idx] = temp_gene_value.copy() elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] + self.population[sol_idx, + gene_idx] = self.gene_space[gene_idx] else: - # There is no more options. + # There is no more options. pass else: # Handle the non-nested gene_space. It can be assigned a numeric value, list, numpy.ndarray, or a dict. if self.gene_type_single == True: # Reaching this block means: - # 1) gene_space is not nested (gene_space_nested is False). - # 2) gene_type is not nested (gene_type_single is True). + # 1) gene_space is not nested (gene_space_nested is False). + # 2) gene_type is not nested (gene_type_single is True). # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. for idx, curr_gene_space in enumerate(self.gene_space): if curr_gene_space is None: - self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), + self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, + high=high, + size=1), dtype=self.gene_type[0])[0] - + # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. if type(self.gene_space) is dict: if 'step' in self.gene_space.keys(): @@ -1492,20 +1432,20 @@ def initialize_population(self, self.population = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], high=self.gene_space['high'], size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. + dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: self.population = numpy.asarray(numpy.random.choice(self.gene_space, size=self.pop_size), - dtype=self.gene_type[0]) # A NumPy array holding the initial population. + dtype=self.gene_type[0]) # A NumPy array holding the initial population. else: # Reaching this block means: - # 1) gene_space is not nested (gene_space_nested is False). - # 2) gene_type is nested (gene_type_single is False). + # 1) gene_space is not nested (gene_space_nested is False). + # 2) gene_type is nested (gene_type_single is False). # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. if type(self.gene_space) is dict: # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, + self.population = numpy.zeros(shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): @@ -1518,24 +1458,25 @@ def initialize_population(self, size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) else: - gene_values = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], - high=self.gene_space['high'], - size=self.pop_size[0]), + gene_values = numpy.asarray(numpy.random.uniform(low=self.gene_space['low'], + high=self.gene_space['high'], + size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. self.population[:, gene_idx] = gene_values - + else: # Reaching this block means that the gene_space is not None or dict. # It can be either range, numpy.ndarray, or list. # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros(shape=self.pop_size, dtype=object) + self.population = numpy.zeros( + shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.choice(self.gene_space, - size=self.pop_size[0]), + gene_values = numpy.asarray(numpy.random.choice(self.gene_space, + size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. self.population[:, gene_idx] = gene_values @@ -1552,457 +1493,473 @@ def initialize_population(self, self.initial_population = self.population.copy() def cal_pop_fitness(self): - """ Calculating the fitness values of batches of solutions in the current population. It returns: -fitness: An array of the calculated fitness values. """ - - if self.valid_parameters == False: - self.logger.error("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - raise Exception("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") - - # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' - # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. - if self.last_generation_parents is not None: - last_generation_parents_as_list = [list(gen_parent) for gen_parent in self.last_generation_parents] - - # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' - # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. - if self.last_generation_elitism is not None: - last_generation_elitism_as_list = [list(gen_elitism) for gen_elitism in self.last_generation_elitism] - - pop_fitness = ["undefined"] * len(self.population) - if self.parallel_processing is None: - # Calculating the fitness value of each solution in the current population. - for sol_idx, sol in enumerate(self.population): - # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. - # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. - # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. - # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. - # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(self.solutions == numpy.array(sol), axis=1))): - # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(numpy.equal(self.solutions, numpy.array(sol)), axis=1))): - if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): - solution_idx = self.solutions.index(list(sol)) - fitness = self.solutions_fitness[solution_idx] - elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): - # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. - # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index(list(sol)) - # Use the returned elitism index to return its index in the last population. - elitism_idx = self.last_generation_elitism_indices[elitism_idx] - # Use the elitism's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[elitism_idx] - # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. - # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. - # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): - elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. - # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. - # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index(list(sol)) - # Use the returned parent index to return its index in the last population. - parent_idx = self.last_generation_parents_indices[parent_idx] - # Use the parent's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[parent_idx] - else: - # Check if batch processing is used. If not, then calculate this missing fitness value. - if self.fitness_batch_size in [1, None]: - fitness = self.fitness_func(self, sol, sol_idx) - if type(fitness) in GA.supported_int_float_types: - pass - else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) + try: + if self.valid_parameters == False: + raise Exception("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") + + # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' + # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. + if self.last_generation_parents is not None: + last_generation_parents_as_list = [ + list(gen_parent) for gen_parent in self.last_generation_parents] + + # 'last_generation_elitism_as_list' is the list version of 'self.last_generation_elitism' + # It is used to return the elitism index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. + if self.last_generation_elitism is not None: + last_generation_elitism_as_list = [ + list(gen_elitism) for gen_elitism in self.last_generation_elitism] + + pop_fitness = ["undefined"] * len(self.population) + if self.parallel_processing is None: + # Calculating the fitness value of each solution in the current population. + for sol_idx, sol in enumerate(self.population): + # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. + # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. + # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. + # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. + # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(self.solutions == numpy.array(sol), axis=1))): + # if (self.save_solutions) and (len(self.solutions) > 0) and (numpy.any(numpy.all(numpy.equal(self.solutions, numpy.array(sol)), axis=1))): + if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): + solution_idx = self.solutions.index(list(sol)) + fitness = self.solutions_fitness[solution_idx] + elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): + # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. + # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. + elitism_idx = last_generation_elitism_as_list.index( + list(sol)) + # Use the returned elitism index to return its index in the last population. + elitism_idx = self.last_generation_elitism_indices[elitism_idx] + # Use the elitism's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[elitism_idx] + # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. + # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. + # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): + elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): + # Index of the parent in the 'self.last_generation_parents' array. + # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. + # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] + parent_idx = last_generation_parents_as_list.index( + list(sol)) + # Use the returned parent index to return its index in the last population. + parent_idx = self.last_generation_parents_indices[parent_idx] + # Use the parent's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[parent_idx] else: - # Reaching this point means that batch processing is in effect to calculate the fitness values. - # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. - continue - - # This is only executed if the fitness value was already calculated. - pop_fitness[sol_idx] = fitness - - if self.fitness_batch_size not in [1, None]: - # Reaching this block means that batch fitness calculation is used. - - # Indices of the solutions to calculate their fitness. - solutions_indices = numpy.where(numpy.array(pop_fitness) == "undefined")[0] - # Number of batches. - num_batches = int(numpy.ceil(len(solutions_indices) / self.fitness_batch_size)) - # For each batch, get its indices and call the fitness function. - for batch_idx in range(num_batches): - batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * self.fitness_batch_size - batch_indices = solutions_indices[batch_first_index:batch_last_index] - batch_solutions = self.population[batch_indices, :] - - batch_fitness = self.fitness_func(self, batch_solutions, batch_indices) - if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - - for index, fitness in zip(batch_indices, batch_fitness): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness + # Check if batch processing is used. If not, then calculate this missing fitness value. + if self.fitness_batch_size in [1, None]: + fitness = self.fitness_func(self, sol, sol_idx) + if type(fitness) in GA.supported_int_float_types: + pass + else: + + raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - else: - # Calculating the fitness value of each solution in the current population. - for sol_idx, sol in enumerate(self.population): - # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. - # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. - # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. - # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. - if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): - solution_idx = self.solutions.index(list(sol)) - fitness = self.solutions_fitness[solution_idx] - pop_fitness[sol_idx] = fitness - elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): - # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. - # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index(list(sol)) - # Use the returned elitism index to return its index in the last population. - elitism_idx = self.last_generation_elitism_indices[elitism_idx] - # Use the elitism's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[elitism_idx] + # Reaching this point means that batch processing is in effect to calculate the fitness values. + # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. + continue + # This is only executed if the fitness value was already calculated. pop_fitness[sol_idx] = fitness - # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. - # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. - # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): - elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): - # Index of the parent in the 'self.last_generation_parents' array. - # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. - # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index(list(sol)) - # Use the returned parent index to return its index in the last population. - parent_idx = self.last_generation_parents_indices[parent_idx] - # Use the parent's index to return its pre-calculated fitness value. - fitness = self.previous_generation_fitness[parent_idx] - pop_fitness[sol_idx] = fitness - - # Decide which class to use based on whether the user selected "process" or "thread" - if self.parallel_processing[0] == "process": - ExecutorClass = concurrent.futures.ProcessPoolExecutor - else: - ExecutorClass = concurrent.futures.ThreadPoolExecutor - - # We can use a with statement to ensure threads are cleaned up promptly (https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example) - with ExecutorClass(max_workers=self.parallel_processing[1]) as executor: - solutions_to_submit_indices = [] - solutions_to_submit = [] - for sol_idx, sol in enumerate(self.population): - # The "undefined" value means that the fitness of this solution must be calculated. - if pop_fitness[sol_idx] == "undefined": - solutions_to_submit.append(sol.copy()) - solutions_to_submit_indices.append(sol_idx) - - # Check if batch processing is used. If not, then calculate the fitness value for individual solutions. - if self.fitness_batch_size in [1, None]: - for index, fitness in zip(solutions_to_submit_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), solutions_to_submit, solutions_to_submit_indices)): - if type(fitness) in GA.supported_int_float_types: - pop_fitness[index] = fitness - else: - self.logger.error("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value {fit_val} of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - else: - # Reaching this block means that batch processing is used. The fitness values are calculated in batches. + if self.fitness_batch_size not in [1, None]: + # Reaching this block means that batch fitness calculation is used. + # Indices of the solutions to calculate their fitness. + solutions_indices = numpy.where( + numpy.array(pop_fitness) == "undefined")[0] # Number of batches. - num_batches = int(numpy.ceil(len(solutions_to_submit_indices) / self.fitness_batch_size)) - # Each element of the `batches_solutions` list represents the solutions in one batch. - batches_solutions = [] - # Each element of the `batches_indices` list represents the solutions' indices in one batch. - batches_indices = [] + num_batches = int(numpy.ceil( + len(solutions_indices) / self.fitness_batch_size)) # For each batch, get its indices and call the fitness function. for batch_idx in range(num_batches): batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * self.fitness_batch_size - batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] + batch_last_index = (batch_idx + 1) * \ + self.fitness_batch_size + batch_indices = solutions_indices[batch_first_index:batch_last_index] batch_solutions = self.population[batch_indices, :] - batches_solutions.append(batch_solutions) - batches_indices.append(batch_indices) - - for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): + batch_fitness = self.fitness_func( + self, batch_solutions, batch_indices) if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - self.logger.error("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) - raise TypeError("Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {batch_fitness_type}.".format(batch_fitness=batch_fitness, batch_fitness_type=type(batch_fitness))) + + raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - self.logger.error("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) - raise ValueError("There is a mismatch between the number of solutions passed to the fitness function ({batch_indices_len}) and the number of fitness values returned ({batch_fitness_len}). They must match.".format(batch_fitness_len=len(batch_fitness), batch_indices_len=len(batch_indices))) + + raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - self.logger.error("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - raise ValueError("The fitness function should return a number but the value ({fit_val}) of type {fit_type} found.".format(fit_val=fitness, fit_type=type(fitness))) - - pop_fitness = numpy.array(pop_fitness) + + raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + else: + # Calculating the fitness value of each solution in the current population. + for sol_idx, sol in enumerate(self.population): + # Check if the `save_solutions` parameter is `True` and whether the solution already exists in the `solutions` list. If so, use its fitness rather than calculating it again. + # The functions numpy.any()/numpy.all()/numpy.where()/numpy.equal() are very slow. + # So, list membership operator 'in' is used to check if the solution exists in the 'self.solutions' list. + # Make sure that both the solution and 'self.solutions' are of type 'list' not 'numpy.ndarray'. + if (self.save_solutions) and (len(self.solutions) > 0) and (list(sol) in self.solutions): + solution_idx = self.solutions.index(list(sol)) + fitness = self.solutions_fitness[solution_idx] + pop_fitness[sol_idx] = fitness + elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): + # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. + # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. + elitism_idx = last_generation_elitism_as_list.index( + list(sol)) + # Use the returned elitism index to return its index in the last population. + elitism_idx = self.last_generation_elitism_indices[elitism_idx] + # Use the elitism's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[elitism_idx] + + pop_fitness[sol_idx] = fitness + # If the solutions are not saved (i.e. `save_solutions=False`), check if this solution is a parent from the previous generation and its fitness value is already calculated. If so, use the fitness value instead of calling the fitness function. + # We cannot use the `numpy.where()` function directly because it does not support the `axis` parameter. This is why the `numpy.all()` function is used to match the solutions on axis=1. + # elif (self.last_generation_parents is not None) and len(numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0] > 0): + elif ((self.keep_parents == -1) or (self.keep_parents > 0)) and (self.last_generation_parents is not None) and (len(self.last_generation_parents) > 0) and (list(sol) in last_generation_parents_as_list): + # Index of the parent in the 'self.last_generation_parents' array. + # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. + # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] + parent_idx = last_generation_parents_as_list.index( + list(sol)) + # Use the returned parent index to return its index in the last population. + parent_idx = self.last_generation_parents_indices[parent_idx] + # Use the parent's index to return its pre-calculated fitness value. + fitness = self.previous_generation_fitness[parent_idx] + + pop_fitness[sol_idx] = fitness + + # Decide which class to use based on whether the user selected "process" or "thread" + if self.parallel_processing[0] == "process": + ExecutorClass = concurrent.futures.ProcessPoolExecutor + else: + ExecutorClass = concurrent.futures.ThreadPoolExecutor + + # We can use a with statement to ensure threads are cleaned up promptly (https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example) + with ExecutorClass(max_workers=self.parallel_processing[1]) as executor: + solutions_to_submit_indices = [] + solutions_to_submit = [] + for sol_idx, sol in enumerate(self.population): + # The "undefined" value means that the fitness of this solution must be calculated. + if pop_fitness[sol_idx] == "undefined": + solutions_to_submit.append(sol.copy()) + solutions_to_submit_indices.append(sol_idx) + + # Check if batch processing is used. If not, then calculate the fitness value for individual solutions. + if self.fitness_batch_size in [1, None]: + for index, fitness in zip(solutions_to_submit_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), solutions_to_submit, solutions_to_submit_indices)): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") + else: + # Reaching this block means that batch processing is used. The fitness values are calculated in batches. + + # Number of batches. + num_batches = int(numpy.ceil( + len(solutions_to_submit_indices) / self.fitness_batch_size)) + # Each element of the `batches_solutions` list represents the solutions in one batch. + batches_solutions = [] + # Each element of the `batches_indices` list represents the solutions' indices in one batch. + batches_indices = [] + # For each batch, get its indices and call the fitness function. + for batch_idx in range(num_batches): + batch_first_index = batch_idx * self.fitness_batch_size + batch_last_index = (batch_idx + 1) * \ + self.fitness_batch_size + batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] + batch_solutions = self.population[batch_indices, :] + + batches_solutions.append(batch_solutions) + batches_indices.append(batch_indices) + + for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): + if type(batch_fitness) not in [list, tuple, numpy.ndarray]: + raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") + elif len(numpy.array(batch_fitness)) != len(batch_indices): + + raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") + + for index, fitness in zip(batch_indices, batch_fitness): + if type(fitness) in GA.supported_int_float_types: + pop_fitness[index] = fitness + else: + raise ValueError(f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") + pop_fitness = numpy.array(pop_fitness) + except Exception as ex: + self.logger.exception(ex) + exit(-1) return pop_fitness def run(self): - """ Runs the genetic algorithm. This is the main method in which the genetic algorithm is evolved through a number of generations. """ + try: + if self.valid_parameters == False: + raise Exception("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") + + # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. + # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. + + # self.best_solutions: Holds the best solution in each generation. + if type(self.best_solutions) is numpy.ndarray: + self.best_solutions = list(self.best_solutions) + # self.best_solutions_fitness: A list holding the fitness value of the best solution for each generation. + if type(self.best_solutions_fitness) is numpy.ndarray: + self.best_solutions_fitness = list(self.best_solutions_fitness) + # self.solutions: Holds the solutions in each generation. + if type(self.solutions) is numpy.ndarray: + self.solutions = list(self.solutions) + # self.solutions_fitness: Holds the fitness of the solutions in each generation. + if type(self.solutions_fitness) is numpy.ndarray: + self.solutions_fitness = list(self.solutions_fitness) + + if not (self.on_start is None): + self.on_start(self) + + stop_run = False + + # To continue from where we stopped, the first generation index should start from the value of the 'self.generations_completed' parameter. + if self.generations_completed != 0 and type(self.generations_completed) in GA.supported_int_types: + # If the 'self.generations_completed' parameter is not '0', then this means we continue execution. + generation_first_idx = self.generations_completed + generation_last_idx = self.num_generations + self.generations_completed + else: + # If the 'self.generations_completed' parameter is '0', then stat from scratch. + generation_first_idx = 0 + generation_last_idx = self.num_generations - if self.valid_parameters == False: - self.logger.error("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - raise Exception("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") - - # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. - # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. - - # self.best_solutions: Holds the best solution in each generation. - if type(self.best_solutions) is numpy.ndarray: - self.best_solutions = list(self.best_solutions) - # self.best_solutions_fitness: A list holding the fitness value of the best solution for each generation. - if type(self.best_solutions_fitness) is numpy.ndarray: - self.best_solutions_fitness = list(self.best_solutions_fitness) - # self.solutions: Holds the solutions in each generation. - if type(self.solutions) is numpy.ndarray: - self.solutions = list(self.solutions) - # self.solutions_fitness: Holds the fitness of the solutions in each generation. - if type(self.solutions_fitness) is numpy.ndarray: - self.solutions_fitness = list(self.solutions_fitness) - - if not (self.on_start is None): - self.on_start(self) - - stop_run = False - - # To continue from where we stopped, the first generation index should start from the value of the 'self.generations_completed' parameter. - if self.generations_completed != 0 and type(self.generations_completed) in GA.supported_int_types: - # If the 'self.generations_completed' parameter is not '0', then this means we continue execution. - generation_first_idx = self.generations_completed - generation_last_idx = self.num_generations + self.generations_completed - else: - # If the 'self.generations_completed' parameter is '0', then stat from scratch. - generation_first_idx = 0 - generation_last_idx = self.num_generations - - # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. - self.last_generation_fitness = self.cal_pop_fitness() - - best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) - - # Appending the best solution in the initial population to the best_solutions list. - if self.save_best_solutions: - self.best_solutions.append(best_solution) + # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. + self.last_generation_fitness = self.cal_pop_fitness() - for generation in range(generation_first_idx, generation_last_idx): - if not (self.on_fitness is None): - self.on_fitness(self, self.last_generation_fitness) + best_solution, best_solution_fitness, best_match_idx = self.best_solution( + pop_fitness=self.last_generation_fitness) - # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. - self.best_solutions_fitness.append(best_solution_fitness) - - # Appending the solutions in the current generation to the solutions list. - if self.save_solutions: - # self.solutions.extend(self.population.copy()) - population_as_list = self.population.copy() - population_as_list = [list(item) for item in population_as_list] - self.solutions.extend(population_as_list) - - self.solutions_fitness.extend(self.last_generation_fitness) + # Appending the best solution in the initial population to the best_solutions list. + if self.save_best_solutions: + self.best_solutions.append(best_solution) - # Selecting the best parents in the population for mating. - if callable(self.parent_selection_type): - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, - self.num_parents_mating, - self) - if not type(self.last_generation_parents) is numpy.ndarray: - self.logger.error("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) - raise TypeError("The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {last_generation_parents_type} found.".format(last_generation_parents_type=type(self.last_generation_parents))) - if not type(self.last_generation_parents_indices) is numpy.ndarray: - self.logger.error("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) - raise TypeError("The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {last_generation_parents_indices_type} found.".format(last_generation_parents_indices_type=type(self.last_generation_parents_indices))) - else: - self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, - num_parents=self.num_parents_mating) - - # Validate the output of the parent selection step: self.select_parents() - if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): - if self.last_generation_parents.shape[0] != self.num_parents_mating: - self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) - raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. It is expected to select ({num_parents_mating}) parents but ({num_parents_mating_selected}) selected.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_parents_mating=self.num_parents_mating, num_parents_mating_selected=self.last_generation_parents.shape[0])) - elif self.last_generation_parents.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) - raise ValueError("Size mismatch between the size of the selected parents {parents_size_actual} and the expected size {parents_size_expected}. Parents are expected to have ({num_genes}) genes but ({num_genes_selected}) produced.".format(parents_size_actual=self.last_generation_parents.shape, parents_size_expected=(self.num_parents_mating, self.num_genes), num_genes=self.num_genes, num_genes_selected=self.last_generation_parents.shape[1])) - - if self.last_generation_parents_indices.ndim != 1: - self.logger.error("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) - raise ValueError("The iterable holding the selected parents indices is expected to have 1 dimension but ({parents_indices_ndim}) found.".format(parents_indices_ndim=len(self.last_generation_parents_indices))) - elif len(self.last_generation_parents_indices) != self.num_parents_mating: - self.logger.error("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) - raise ValueError("The iterable holding the selected parents indices is expected to have ({num_parents_mating}) values but ({num_parents_mating_selected}) found.".format(num_parents_mating=self.num_parents_mating, num_parents_mating_selected=len(self.last_generation_parents_indices))) - - if not (self.on_parents is None): - self.on_parents(self, self.last_generation_parents) - - # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. - if self.crossover_type is None: - if self.keep_elitism == 0: - num_parents_to_keep = self.num_parents_mating if self.keep_parents == -1 else self.keep_parents - if self.num_offspring <= num_parents_to_keep: - self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] - else: - self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) + for generation in range(generation_first_idx, generation_last_idx): + if not (self.on_fitness is None): + self.on_fitness(self, self.last_generation_fitness) + + # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. + self.best_solutions_fitness.append(best_solution_fitness) + + # Appending the solutions in the current generation to the solutions list. + if self.save_solutions: + # self.solutions.extend(self.population.copy()) + population_as_list = self.population.copy() + population_as_list = [list(item) + for item in population_as_list] + self.solutions.extend(population_as_list) + + self.solutions_fitness.extend(self.last_generation_fitness) + + # Selecting the best parents in the population for mating. + if callable(self.parent_selection_type): + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + self.num_parents_mating, + self) + if not type(self.last_generation_parents) is numpy.ndarray: + raise TypeError(f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") + if not type(self.last_generation_parents_indices) is numpy.ndarray: + raise TypeError(f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") else: - # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. - # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. - self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_elitism) - if self.num_offspring <= self.keep_elitism: - self.last_generation_offspring_crossover = self.last_generation_parents[0:self.num_offspring] + self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, + num_parents=self.num_parents_mating) + + # Validate the output of the parent selection step: self.select_parents() + if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): + if self.last_generation_parents.shape[0] != self.num_parents_mating: + raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") + elif self.last_generation_parents.shape[1] != self.num_genes: + raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") + + if self.last_generation_parents_indices.ndim != 1: + raise ValueError(f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") + elif len(self.last_generation_parents_indices) != self.num_parents_mating: + raise ValueError(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") + + if not (self.on_parents is None): + self.on_parents(self, self.last_generation_parents) + + # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. + if self.crossover_type is None: + if self.keep_elitism == 0: + num_parents_to_keep = self.num_parents_mating if self.keep_parents == - \ + 1 else self.keep_parents + if self.num_offspring <= num_parents_to_keep: + self.last_generation_offspring_crossover = self.last_generation_parents[ + 0:self.num_offspring] + else: + self.last_generation_offspring_crossover = numpy.concatenate( + (self.last_generation_parents, self.population[0:(self.num_offspring - self.last_generation_parents.shape[0])])) else: - self.last_generation_offspring_crossover = numpy.concatenate((self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) - else: - # Generating offspring using crossover. - if callable(self.crossover_type): - self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - (self.num_offspring, self.num_genes), - self) - if not type(self.last_generation_offspring_crossover) is numpy.ndarray: - self.logger.error("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) - raise TypeError("The output of the crossover step is expected to be of type (numpy.ndarray) but {last_generation_offspring_crossover_type} found.".format(last_generation_offspring_crossover_type=type(self.last_generation_offspring_crossover))) + # The steady_state_selection() function is called to select the best solutions (i.e. elitism). The keep_elitism parameter defines the number of these solutions. + # The steady_state_selection() function is still called here even if its output may not be used given that the condition of the next if statement is True. The reason is that it will be used later. + self.last_generation_elitism, _ = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_elitism) + if self.num_offspring <= self.keep_elitism: + self.last_generation_offspring_crossover = self.last_generation_parents[ + 0:self.num_offspring] + else: + self.last_generation_offspring_crossover = numpy.concatenate( + (self.last_generation_elitism, self.population[0:(self.num_offspring - self.last_generation_elitism.shape[0])])) else: - self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, - offspring_size=(self.num_offspring, self.num_genes)) - if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): - if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: - self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) - raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_crossover.shape[0])) - elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) - raise ValueError("Size mismatch between the crossover output {crossover_actual_size} and the expected crossover output {crossover_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(crossover_actual_size=self.last_generation_offspring_crossover.shape, crossover_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_crossover.shape[1])) - - # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. - if not (self.on_crossover is None): - self.on_crossover(self, self.last_generation_offspring_crossover) - - # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. - if self.mutation_type is None: - self.last_generation_offspring_mutation = self.last_generation_offspring_crossover - else: - # Adding some variations to the offspring using mutation. - if callable(self.mutation_type): - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, - self) - if not type(self.last_generation_offspring_mutation) is numpy.ndarray: - self.logger.error("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) - raise TypeError("The output of the mutation step is expected to be of type (numpy.ndarray) but {last_generation_offspring_mutation_type} found.".format(last_generation_offspring_mutation_type=type(self.last_generation_offspring_mutation))) + # Generating offspring using crossover. + if callable(self.crossover_type): + self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, + (self.num_offspring, + self.num_genes), + self) + if not type(self.last_generation_offspring_crossover) is numpy.ndarray: + raise TypeError(f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") + else: + self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, + offspring_size=(self.num_offspring, self.num_genes)) + if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): + if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: + raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") + elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: + raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") + + # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. + if not (self.on_crossover is None): + self.on_crossover( + self, self.last_generation_offspring_crossover) + + # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. + if self.mutation_type is None: + self.last_generation_offspring_mutation = self.last_generation_offspring_crossover else: - self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover) - - if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): - if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: - self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) - raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected to produce ({num_offspring}) offspring but ({num_offspring_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_offspring=self.num_offspring, num_offspring_produced=self.last_generation_offspring_mutation.shape[0])) - elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: - self.logger.error("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) - raise ValueError("Size mismatch between the mutation output {mutation_actual_size} and the expected mutation output {mutation_expected_size}. It is expected that the offspring has ({num_genes}) genes but ({num_genes_produced}) produced.".format(mutation_actual_size=self.last_generation_offspring_mutation.shape, mutation_expected_size=(self.num_offspring, self.num_genes), num_genes=self.num_genes, num_genes_produced=self.last_generation_offspring_mutation.shape[1])) - - # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. - if not (self.on_mutation is None): - self.on_mutation(self, self.last_generation_offspring_mutation) - - # Update the population attribute according to the offspring generated. - if self.keep_elitism == 0: - # If the keep_elitism parameter is 0, then the keep_parents parameter will be used to decide if the parents are kept in the next generation. - if (self.keep_parents == 0): - self.population = self.last_generation_offspring_mutation - elif (self.keep_parents == -1): - # Creating the new population based on the parents and offspring. - self.population[0:self.last_generation_parents.shape[0], :] = self.last_generation_parents - self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation - elif (self.keep_parents > 0): - parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_parents) - self.population[0:parents_to_keep.shape[0], :] = parents_to_keep - self.population[parents_to_keep.shape[0]:, :] = self.last_generation_offspring_mutation - else: - self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, - num_parents=self.keep_elitism) - self.population[0:self.last_generation_elitism.shape[0], :] = self.last_generation_elitism - self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation - - self.generations_completed = generation + 1 # The generations_completed attribute holds the number of the last completed generation. + # Adding some variations to the offspring using mutation. + if callable(self.mutation_type): + self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, + self) + if not type(self.last_generation_offspring_mutation) is numpy.ndarray: + raise TypeError(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") + else: + self.last_generation_offspring_mutation = self.mutation( + self.last_generation_offspring_crossover) - self.previous_generation_fitness = self.last_generation_fitness.copy() - # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. - self.last_generation_fitness = self.cal_pop_fitness() + if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): + if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: + raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") + elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: + raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") - best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) + # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. + if not (self.on_mutation is None): + self.on_mutation(self, self.last_generation_offspring_mutation) - # Appending the best solution in the current generation to the best_solutions list. - if self.save_best_solutions: - self.best_solutions.append(best_solution) - - # If the on_generation attribute is not None, then cal the callback function after the generation. - if not (self.on_generation is None): - r = self.on_generation(self) - if type(r) is str and r.lower() == "stop": - # Before aborting the loop, save the fitness value of the best solution. - # _, best_solution_fitness, _ = self.best_solution() - self.best_solutions_fitness.append(best_solution_fitness) - break - - if not self.stop_criteria is None: - for criterion in self.stop_criteria: - if criterion[0] == "reach": - if max(self.last_generation_fitness) >= criterion[1]: - stop_run = True - break - elif criterion[0] == "saturate": - criterion[1] = int(criterion[1]) - if (self.generations_completed >= criterion[1]): - if (self.best_solutions_fitness[self.generations_completed - criterion[1]] - self.best_solutions_fitness[self.generations_completed - 1]) == 0: + # Update the population attribute according to the offspring generated. + if self.keep_elitism == 0: + # If the keep_elitism parameter is 0, then the keep_parents parameter will be used to decide if the parents are kept in the next generation. + if (self.keep_parents == 0): + self.population = self.last_generation_offspring_mutation + elif (self.keep_parents == -1): + # Creating the new population based on the parents and offspring. + self.population[0:self.last_generation_parents.shape[0], + :] = self.last_generation_parents + self.population[self.last_generation_parents.shape[0]:, :] = self.last_generation_offspring_mutation + elif (self.keep_parents > 0): + parents_to_keep, _ = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_parents) + self.population[0:parents_to_keep.shape[0], + :] = parents_to_keep + self.population[parents_to_keep.shape[0]:, + :] = self.last_generation_offspring_mutation + else: + self.last_generation_elitism, self.last_generation_elitism_indices = self.steady_state_selection(self.last_generation_fitness, + num_parents=self.keep_elitism) + self.population[0:self.last_generation_elitism.shape[0], + :] = self.last_generation_elitism + self.population[self.last_generation_elitism.shape[0]:, :] = self.last_generation_offspring_mutation + + # The generations_completed attribute holds the number of the last completed generation. + self.generations_completed = generation + 1 + + self.previous_generation_fitness = self.last_generation_fitness.copy() + # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. + self.last_generation_fitness = self.cal_pop_fitness() + + best_solution, best_solution_fitness, best_match_idx = self.best_solution( + pop_fitness=self.last_generation_fitness) + + # Appending the best solution in the current generation to the best_solutions list. + if self.save_best_solutions: + self.best_solutions.append(best_solution) + + # If the on_generation attribute is not None, then cal the callback function after the generation. + if not (self.on_generation is None): + r = self.on_generation(self) + if type(r) is str and r.lower() == "stop": + # Before aborting the loop, save the fitness value of the best solution. + # _, best_solution_fitness, _ = self.best_solution() + self.best_solutions_fitness.append(best_solution_fitness) + break + + if not self.stop_criteria is None: + for criterion in self.stop_criteria: + if criterion[0] == "reach": + if max(self.last_generation_fitness) >= criterion[1]: stop_run = True break + elif criterion[0] == "saturate": + criterion[1] = int(criterion[1]) + if (self.generations_completed >= criterion[1]): + if (self.best_solutions_fitness[self.generations_completed - criterion[1]] - self.best_solutions_fitness[self.generations_completed - 1]) == 0: + stop_run = True + break + + if stop_run: + break - if stop_run: - break - - time.sleep(self.delay_after_gen) + time.sleep(self.delay_after_gen) - # Save the fitness of the last generation. - if self.save_solutions: - # self.solutions.extend(self.population.copy()) - population_as_list = self.population.copy() - population_as_list = [list(item) for item in population_as_list] - self.solutions.extend(population_as_list) + # Save the fitness of the last generation. + if self.save_solutions: + # self.solutions.extend(self.population.copy()) + population_as_list = self.population.copy() + population_as_list = [list(item) for item in population_as_list] + self.solutions.extend(population_as_list) - self.solutions_fitness.extend(self.last_generation_fitness) + self.solutions_fitness.extend(self.last_generation_fitness) - # Save the fitness value of the best solution. - _, best_solution_fitness, _ = self.best_solution(pop_fitness=self.last_generation_fitness) - self.best_solutions_fitness.append(best_solution_fitness) + # Save the fitness value of the best solution. + _, best_solution_fitness, _ = self.best_solution( + pop_fitness=self.last_generation_fitness) + self.best_solutions_fitness.append(best_solution_fitness) - self.best_solution_generation = numpy.where(numpy.array(self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] - # After the run() method completes, the run_completed flag is changed from False to True. - self.run_completed = True # Set to True only after the run() method completes gracefully. + self.best_solution_generation = numpy.where(numpy.array( + self.best_solutions_fitness) == numpy.max(numpy.array(self.best_solutions_fitness)))[0][0] + # After the run() method completes, the run_completed flag is changed from False to True. + # Set to True only after the run() method completes gracefully. + self.run_completed = True - if not (self.on_stop is None): - self.on_stop(self, self.last_generation_fitness) + if not (self.on_stop is None): + self.on_stop(self, self.last_generation_fitness) - # Converting the 'best_solutions' list into a NumPy array. - self.best_solutions = numpy.array(self.best_solutions) + # Converting the 'best_solutions' list into a NumPy array. + self.best_solutions = numpy.array(self.best_solutions) - # Converting the 'solutions' list into a NumPy array. - # self.solutions = numpy.array(self.solutions) + # Converting the 'solutions' list into a NumPy array. + # self.solutions = numpy.array(self.solutions) + except Exception as ex: + self.logger.exception(ex) + exit(-1) def best_solution(self, pop_fitness=None): - """ Returns information about the best solution found by the genetic algorithm. Accepts the following parameters: @@ -2012,33 +1969,34 @@ def best_solution(self, pop_fitness=None): -best_solution_fitness: Fitness value of the best solution. -best_match_idx: Index of the best solution in the current population. """ - - if pop_fitness is None: - # If the 'pop_fitness' parameter is not passed, then we have to call the 'cal_pop_fitness()' method to calculate the fitness of all solutions in the lastest population. - pop_fitness = self.cal_pop_fitness() - # Verify the type of the 'pop_fitness' parameter. - elif type(pop_fitness) in [tuple, list, numpy.ndarray]: - # Verify that the length of the passed population fitness matches the length of the 'self.population' attribute. - if len(pop_fitness) == len(self.population): - # This successfully verifies the 'pop_fitness' parameter. - pass + try: + if pop_fitness is None: + # If the 'pop_fitness' parameter is not passed, then we have to call the 'cal_pop_fitness()' method to calculate the fitness of all solutions in the lastest population. + pop_fitness = self.cal_pop_fitness() + # Verify the type of the 'pop_fitness' parameter. + elif type(pop_fitness) in [tuple, list, numpy.ndarray]: + # Verify that the length of the passed population fitness matches the length of the 'self.population' attribute. + if len(pop_fitness) == len(self.population): + # This successfully verifies the 'pop_fitness' parameter. + pass + else: + raise ValueError(f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") else: - self.logger.error("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) - raise ValueError("The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({pop_fitness_length}) must match the length of the 'self.population' attribute ({population_length}).".format(pop_fitness_length=len(pop_fitness), population_length=len(self.population))) - else: - self.logger.error("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) - raise ValueError("The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({pop_fitness_type}) found.".format(pop_fitness_type=type(pop_fitness))) + raise ValueError(f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") - # Return the index of the best solution that has the best fitness value. - best_match_idx = numpy.where(pop_fitness == numpy.max(pop_fitness))[0][0] + # Return the index of the best solution that has the best fitness value. + best_match_idx = numpy.where( + pop_fitness == numpy.max(pop_fitness))[0][0] - best_solution = self.population[best_match_idx, :].copy() - best_solution_fitness = pop_fitness[best_match_idx] + best_solution = self.population[best_match_idx, :].copy() + best_solution_fitness = pop_fitness[best_match_idx] + except Exception as ex: + self.logger.exception(ex) + exit(-1) return best_solution, best_solution_fitness, best_match_idx def save(self, filename): - """ Saves the genetic algorithm instance: -filename: Name of the file to save the instance. No extension is needed. @@ -2049,12 +2007,12 @@ def save(self, filename): file.write(cloudpickle_serialized_object) cloudpickle.dump(self, file) - def summary(self, - line_length=70, - fill_character=" ", - line_character="-", - line_character2="=", - columns_equal_len=False, + def summary(self, + line_length=70, + fill_character=" ", + line_character="-", + line_character2="=", + columns_equal_len=False, print_step_parameters=True, print_parameters_summary=True): """ @@ -2074,7 +2032,8 @@ def summary(self, def fill_message(msg, line_length=line_length, fill_character=fill_character): num_spaces = int((line_length - len(msg))/2) num_spaces = int(num_spaces / len(fill_character)) - msg = "{spaces}{msg}{spaces}".format(msg=msg, spaces=fill_character * num_spaces) + msg = "{spaces}{msg}{spaces}".format( + msg=msg, spaces=fill_character * num_spaces) return msg def line_separator(line_length=line_length, line_character=line_character): @@ -2085,10 +2044,12 @@ def create_row(columns, line_length=line_length, fill_character=fill_character, filled_columns = [] if split_percentages == None: split_percentages = [int(100/len(columns))] * 3 - columns_lengths = [int((split_percentages[idx] * line_length) / 100) for idx in range(len(split_percentages))] + columns_lengths = [int((split_percentages[idx] * line_length) / 100) + for idx in range(len(split_percentages))] for column_idx, column in enumerate(columns): current_column_length = len(column) - extra_characters = columns_lengths[column_idx] - current_column_length + extra_characters = columns_lengths[column_idx] - \ + current_column_length filled_column = column + fill_character * extra_characters filled_column = column + fill_character * extra_characters filled_columns.append(filled_column) @@ -2097,72 +2058,72 @@ def create_row(columns, line_length=line_length, fill_character=fill_character, def print_parent_selection_params(): nonlocal summary_output - m = "Number of Parents: {num_parents_mating}".format(num_parents_mating=self.num_parents_mating) + m = f"Number of Parents: {self.num_parents_mating}" self.logger.info(m) summary_output = summary_output + m + "\n" if self.parent_selection_type == "tournament": - m = "K Tournament: {K_tournament}".format(K_tournament=self.K_tournament) + m = f"K Tournament: {self.K_tournament}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_fitness_params(): nonlocal summary_output if not self.fitness_batch_size is None: - m = "Fitness batch size: {fitness_batch_size}".format(fitness_batch_size=self.fitness_batch_size) + m = f"Fitness batch size: {self.fitness_batch_size}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_crossover_params(): nonlocal summary_output if not self.crossover_probability is None: - m = "Crossover probability: {crossover_probability}".format(crossover_probability=self.crossover_probability) + m = f"Crossover probability: {self.crossover_probability}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_mutation_params(): nonlocal summary_output if not self.mutation_probability is None: - m = "Mutation Probability: {mutation_probability}".format(mutation_probability=self.mutation_probability) + m = f"Mutation Probability: {self.mutation_probability}" self.logger.info(m) summary_output = summary_output + m + "\n" if self.mutation_percent_genes == "default": - m = "Mutation Percentage: {mutation_percent_genes}".format(mutation_percent_genes=self.mutation_percent_genes) + m = f"Mutation Percentage: {self.mutation_percent_genes}" self.logger.info(m) summary_output = summary_output + m + "\n" # Number of mutation genes is already showed above. - m = "Mutation Genes: {mutation_num_genes}".format(mutation_num_genes=self.mutation_num_genes) + m = f"Mutation Genes: {self.mutation_num_genes}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Random Mutation Range: ({random_mutation_min_val}, {random_mutation_max_val})".format(random_mutation_min_val=self.random_mutation_min_val, random_mutation_max_val=self.random_mutation_max_val) + m = f"Random Mutation Range: ({self.random_mutation_min_val}, {self.random_mutation_max_val})" self.logger.info(m) summary_output = summary_output + m + "\n" if not self.gene_space is None: - m = "Gene Space: {gene_space}".format(gene_space=self.gene_space) + m = f"Gene Space: {self.gene_space}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Mutation by Replacement: {mutation_by_replacement}".format(mutation_by_replacement=self.mutation_by_replacement) + m = f"Mutation by Replacement: {self.mutation_by_replacement}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Allow Duplicated Genes: {allow_duplicate_genes}".format(allow_duplicate_genes=self.allow_duplicate_genes) + m = f"Allow Duplicated Genes: {self.allow_duplicate_genes}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_on_generation_params(): nonlocal summary_output if not self.stop_criteria is None: - m = "Stop Criteria: {stop_criteria}".format(stop_criteria=self.stop_criteria) + m = f"Stop Criteria: {self.stop_criteria}" self.logger.info(m) summary_output = summary_output + m + "\n" def print_params_summary(): nonlocal summary_output - m = "Population Size: ({sol_per_pop}, {num_genes})".format(sol_per_pop=self.sol_per_pop, num_genes=self.num_genes) + m = f"Population Size: ({self.sol_per_pop}, {self.num_genes})" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Number of Generations: {num_generations}".format(num_generations=self.num_generations) + m = f"Number of Generations: {self.num_generations}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Initial Population Range: ({init_range_low}, {init_range_high})".format(init_range_low=self.init_range_low, init_range_high=self.init_range_high) + m = f"Initial Population Range: ({self.init_range_low}, {self.init_range_high})" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2173,14 +2134,14 @@ def print_params_summary(): print_parent_selection_params() if self.keep_elitism != 0: - m = "Keep Elitism: {keep_elitism}".format(keep_elitism=self.keep_elitism) + m = f"Keep Elitism: {self.keep_elitism}" self.logger.info(m) summary_output = summary_output + m + "\n" else: - m = "Keep Parents: {keep_parents}".format(keep_parents=self.keep_parents) + m = f"Keep Parents: {self.keep_parents}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Gene DType: {gene_type}".format(gene_type=self.gene_type) + m = f"Gene DType: {self.gene_type}" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2191,7 +2152,7 @@ def print_params_summary(): print_mutation_params() if self.delay_after_gen != 0: - m = "Post-Generation Delay: {delay_after_gen}".format(delay_after_gen=self.delay_after_gen) + m = f"Post-Generation Delay: {self.delay_after_gen}" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2199,17 +2160,17 @@ def print_params_summary(): print_on_generation_params() if not self.parallel_processing is None: - m = "Parallel Processing: {parallel_processing}".format(parallel_processing=self.parallel_processing) + m = f"Parallel Processing: {self.parallel_processing}" self.logger.info(m) summary_output = summary_output + m + "\n" if not self.random_seed is None: - m = "Random Seed: {random_seed}".format(random_seed=self.random_seed) + m = f"Random Seed: {self.random_seed}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Save Best Solutions: {save_best_solutions}".format(save_best_solutions=self.save_best_solutions) + m = f"Save Best Solutions: {self.save_best_solutions}" self.logger.info(m) summary_output = summary_output + m + "\n" - m = "Save Solutions: {save_solutions}".format(save_solutions=self.save_solutions) + m = f"Save Solutions: {self.save_solutions}" self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2223,21 +2184,30 @@ def print_params_summary(): self.logger.info(m) summary_output = summary_output + m + "\n" - lifecycle_steps = ["on_start()", "Fitness Function", "On Fitness", "Parent Selection", "On Parents", "Crossover", "On Crossover", "Mutation", "On Mutation", "On Generation", "On Stop"] - lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] - lifecycle_functions = [getattr(lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] - lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != "None" else "None" for lifecycle_func in lifecycle_functions] - lifecycle_output = ["None", "(1)", "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "({num_parents_mating}, {num_genes})".format(num_parents_mating=self.num_parents_mating, num_genes=self.num_genes), "None", "None", "None"] - lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] + lifecycle_steps = ["on_start()", "Fitness Function", "On Fitness", "Parent Selection", "On Parents", + "Crossover", "On Crossover", "Mutation", "On Mutation", "On Generation", "On Stop"] + lifecycle_functions = [self.on_start, self.fitness_func, self.on_fitness, self.select_parents, self.on_parents, + self.crossover, self.on_crossover, self.mutation, self.on_mutation, self.on_generation, self.on_stop] + lifecycle_functions = [getattr( + lifecycle_func, '__name__', "None") for lifecycle_func in lifecycle_functions] + lifecycle_functions = [lifecycle_func + "()" if lifecycle_func != + "None" else "None" for lifecycle_func in lifecycle_functions] + lifecycle_output = ["None", "(1)", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", + f"({self.num_parents_mating}, {self.num_genes})", "None", f"({self.num_parents_mating}, {self.num_genes})", "None", "None", "None"] + lifecycle_step_parameters = [None, print_fitness_params, None, print_parent_selection_params, None, + print_crossover_params, None, print_mutation_params, None, print_on_generation_params, None] if not columns_equal_len: - max_lengthes = [max(list(map(len, lifecycle_steps))), max(list(map(len, lifecycle_functions))), max(list(map(len, lifecycle_output)))] - split_percentages = [int((column_len / sum(max_lengthes)) * 100) for column_len in max_lengthes] + max_lengthes = [max(list(map(len, lifecycle_steps))), max( + list(map(len, lifecycle_functions))), max(list(map(len, lifecycle_output)))] + split_percentages = [ + int((column_len / sum(max_lengthes)) * 100) for column_len in max_lengthes] else: split_percentages = None header_columns = ["Step", "Handler", "Output Shape"] - header_row = create_row(header_columns, split_percentages=split_percentages) + header_row = create_row( + header_columns, split_percentages=split_percentages) m = header_row self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2246,10 +2216,12 @@ def print_params_summary(): summary_output = summary_output + m + "\n" for lifecycle_idx in range(len(lifecycle_steps)): - lifecycle_column = [lifecycle_steps[lifecycle_idx], lifecycle_functions[lifecycle_idx], lifecycle_output[lifecycle_idx]] + lifecycle_column = [lifecycle_steps[lifecycle_idx], + lifecycle_functions[lifecycle_idx], lifecycle_output[lifecycle_idx]] if lifecycle_column[1] == "None": continue - lifecycle_row = create_row(lifecycle_column, split_percentages=split_percentages) + lifecycle_row = create_row( + lifecycle_column, split_percentages=split_percentages) m = lifecycle_row self.logger.info(m) summary_output = summary_output + m + "\n" @@ -2270,8 +2242,8 @@ def print_params_summary(): summary_output = summary_output + m + "\n" return summary_output -def load(filename): +def load(filename): """ Reads a saved instance of the genetic algorithm: -filename: Name of the file to read the instance. No extension is needed. @@ -2282,8 +2254,8 @@ def load(filename): with open(filename + ".pkl", 'rb') as file: ga_in = cloudpickle.load(file) except FileNotFoundError: - raise FileNotFoundError("Error reading the file {filename}. Please check your inputs.".format(filename=filename)) + raise FileNotFoundError(f"Error reading the file {filename}. Please check your inputs.") except: # raise BaseException("Error loading the file. If the file already exists, please reload all the functions previously used (e.g. fitness function).") raise BaseException("Error loading the file.") - return ga_in + return ga_in \ No newline at end of file diff --git a/pygad/visualize/plot.py b/pygad/visualize/plot.py index a79f848..9d6f70b 100644 --- a/pygad/visualize/plot.py +++ b/pygad/visualize/plot.py @@ -56,8 +56,8 @@ def plot_fitness(self, """ if self.generations_completed < 1: - self.logger.error("The plot_fitness() (i.e. plot_result()) method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) - raise RuntimeError("The plot_fitness() (i.e. plot_result()) method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + self.logger.error("The plot_fitness() (i.e. plot_result()) method can only be called after completing at least 1 generation but ({self.generations_completed}) is completed.") + raise RuntimeError("The plot_fitness() (i.e. plot_result()) method can only be called after completing at least 1 generation but ({self.generations_completed}) is completed.") fig = matplotlib.pyplot.figure() if plot_type == "plot": @@ -104,8 +104,8 @@ def plot_new_solution_rate(self, """ if self.generations_completed < 1: - self.logger.error("The plot_new_solution_rate() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) - raise RuntimeError("The plot_new_solution_rate() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + self.logger.error("The plot_new_solution_rate() method can only be called after completing at least 1 generation but ({self.generations_completed}) is completed.") + raise RuntimeError("The plot_new_solution_rate() method can only be called after completing at least 1 generation but ({self.generations_completed}) is completed.") if self.save_solutions == False: self.logger.error("The plot_new_solution_rate() method works only when save_solutions=True in the constructor of the pygad.GA class.") @@ -181,8 +181,8 @@ def plot_genes(self, """ if self.generations_completed < 1: - self.logger.error("The plot_genes() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) - raise RuntimeError("The plot_genes() method can only be called after completing at least 1 generation but ({generations_completed}) is completed.".format(generations_completed=self.generations_completed)) + self.logger.error("The plot_genes() method can only be called after completing at least 1 generation but ({self.generations_completed}) is completed.") + raise RuntimeError("The plot_genes() method can only be called after completing at least 1 generation but ({self.generations_completed}) is completed.") if type(solutions) is str: if solutions == 'all': @@ -198,8 +198,8 @@ def plot_genes(self, self.logger.error("The plot_genes() method with solutions='best' can only be called if 'save_best_solutions=True' in the pygad.GA class constructor.") raise RuntimeError("The plot_genes() method with solutions='best' can only be called if 'save_best_solutions=True' in the pygad.GA class constructor.") else: - self.logger.error("The solutions parameter can be either 'all' or 'best' but {solutions} found.".format(solutions=solutions)) - raise RuntimeError("The solutions parameter can be either 'all' or 'best' but {solutions} found.".format(solutions=solutions)) + self.logger.error("The solutions parameter can be either 'all' or 'best' but {solutions} found.") + raise RuntimeError("The solutions parameter can be either 'all' or 'best' but {solutions} found.") else: self.logger.error("The solutions parameter must be a string but {solutions_type} found.".format(solutions_type=type(solutions))) raise RuntimeError("The solutions parameter must be a string but {solutions_type} found.".format(solutions_type=type(solutions))) From 4e834a851a10c3809962905143ae3739273954d2 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 9 May 2023 00:02:26 -0400 Subject: [PATCH 054/220] Merge --- pygad/pygad.py | 749 ------------------------------------------------- 1 file changed, 749 deletions(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index 2ecdc94..9839c05 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -159,12 +159,7 @@ def __init__(self, if isinstance(logger, logging.Logger): pass else: -<<<<<<< HEAD raise TypeError(f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") -======= - raise TypeError( - f"The expected type of the 'logger' parameter is 'logging.Logger' but {type(logger)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Create the 'self.logger' attribute to hold the logger. # Instead of using 'print()', use 'self.logger.info()' @@ -182,37 +177,19 @@ def __init__(self, self.suppress_warnings = suppress_warnings else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") -======= - - raise TypeError( - f"The expected type of the 'suppress_warnings' parameter is bool but {type(suppress_warnings)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validating mutation_by_replacement if not (type(mutation_by_replacement) is bool): self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") -======= - - raise TypeError( - f"The expected type of the 'mutation_by_replacement' parameter is bool but {type(mutation_by_replacement)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.mutation_by_replacement = mutation_by_replacement # Validate allow_duplicate_genes if not (type(allow_duplicate_genes) is bool): self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") -======= - - raise TypeError( - f"The expected type of the 'allow_duplicate_genes' parameter is bool but {type(allow_duplicate_genes)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.allow_duplicate_genes = allow_duplicate_genes @@ -223,43 +200,21 @@ def __init__(self, elif type(gene_space) is range: if len(gene_space) == 0: self.valid_parameters = False -<<<<<<< HEAD raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") elif type(gene_space) in [list, numpy.ndarray]: if len(gene_space) == 0: self.valid_parameters = False raise ValueError("'gene_space' cannot be empty (i.e. its length must be >= 0).") -======= - - raise ValueError( - "'gene_space' cannot be empty (i.e. its length must be >= 0).") - elif type(gene_space) in [list, numpy.ndarray]: - if len(gene_space) == 0: - self.valid_parameters = False - - raise ValueError( - "'gene_space' cannot be empty (i.e. its length must be >= 0).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: for index, el in enumerate(gene_space): if type(el) in [numpy.ndarray, list, tuple, range]: if len(el) == 0: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") else: for val in el: if not (type(val) in [type(None)] + GA.supported_int_float_types): raise TypeError(f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") -======= - raise ValueError( - f"The element indexed {index} of 'gene_space' with type {type(el)} cannot be empty (i.e. its length must be >= 0).") - else: - for val in el: - if not (type(val) in [type(None)] + GA.supported_int_float_types): - raise TypeError( - f"All values in the sublists inside the 'gene_space' attribute must be numeric of type int/float/None but ({val}) of type {type(val)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.gene_space_nested = True elif type(el) == type(None): pass @@ -270,18 +225,12 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") -======= - raise ValueError( - f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif len(el.items()) == 3: if ('low' in el.keys()) and ('high' in el.keys()) and ('step' in el.keys()): pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") else: self.valid_parameters = False @@ -290,20 +239,6 @@ def __init__(self, elif not (type(el) in GA.supported_int_float_types): self.valid_parameters = False raise TypeError(f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") -======= - raise ValueError( - f"When an element in the 'gene_space' parameter is of type dict, then it can have the keys 'low', 'high', and 'step' (optional) but the following keys found: {el.keys()}") - else: - self.valid_parameters = False - - raise ValueError( - f"When an element in the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(el.items())}) items found.") - self.gene_space_nested = True - elif not (type(el) in GA.supported_int_float_types): - self.valid_parameters = False - raise TypeError( - f"Unexpected type {type(el)} for the element indexed {index} of 'gene_space'. The accepted types are list/tuple/range/numpy.ndarray of numbers, a single number (int/float), or None.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif type(gene_space) is dict: if len(gene_space.items()) == 2: @@ -311,18 +246,12 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") -======= - raise ValueError( - f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif len(gene_space.items()) == 3: if ('low' in gene_space.keys()) and ('high' in gene_space.keys()) and ('step' in gene_space.keys()): pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") else: self.valid_parameters = False @@ -331,19 +260,6 @@ def __init__(self, else: self.valid_parameters = False raise TypeError(f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") -======= - raise ValueError( - f"When the 'gene_space' parameter is of type dict, then it can have only the keys 'low', 'high', and 'step' (optional) but the following keys found: {gene_space.keys()}") - else: - self.valid_parameters = False - raise ValueError( - f"When the 'gene_space' parameter is of type dict, then it must have only 2 items but ({len(gene_space.items())}) items found.") - - else: - self.valid_parameters = False - raise TypeError( - f"The expected type of 'gene_space' is list, range, or numpy.ndarray but {type(gene_space)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.gene_space = gene_space @@ -354,26 +270,16 @@ def __init__(self, self.init_range_high = init_range_high else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") else: self.valid_parameters = False raise ValueError(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") -======= - raise ValueError( - f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") - else: - self.valid_parameters = False - raise ValueError( - f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validate random_mutation_min_val and random_mutation_max_val if type(random_mutation_min_val) in GA.supported_int_float_types: if type(random_mutation_max_val) in GA.supported_int_float_types: if random_mutation_min_val == random_mutation_max_val: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") else: self.valid_parameters = False @@ -381,18 +287,6 @@ def __init__(self, else: self.valid_parameters = False raise TypeError(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") -======= - warnings.warn( - "The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") - else: - self.valid_parameters = False - raise TypeError( - f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") - else: - self.valid_parameters = False - raise TypeError( - f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.random_mutation_min_val = random_mutation_min_val self.random_mutation_max_val = random_mutation_max_val @@ -407,17 +301,11 @@ def __init__(self, # A single data type of int with precision. elif len(gene_type) == 2 and gene_type[0] in GA.supported_int_types and (type(gene_type[1]) in GA.supported_int_types or gene_type[1] is None): self.gene_type_single = False -<<<<<<< HEAD raise ValueError(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") -======= - raise ValueError( - f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif type(gene_type) in [list, tuple, numpy.ndarray]: if num_genes is None: if initial_population is None: self.valid_parameters = False -<<<<<<< HEAD raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") elif not len(gene_type) == len(initial_population[0]): self.valid_parameters = False @@ -425,18 +313,6 @@ def __init__(self, elif not len(gene_type) == num_genes: self.valid_parameters = False raise ValueError(f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") -======= - raise TypeError( - "When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") - elif not len(gene_type) == len(initial_population[0]): - self.valid_parameters = False - raise ValueError( - f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the number of genes parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != number of genes ({len(initial_population[0])}) found.") - elif not len(gene_type) == num_genes: - self.valid_parameters = False - raise ValueError( - f"When the parameter 'gene_type' is nested, then it can be either [float, int] or with length equal to the value passed to the 'num_genes' parameter. Instead, value {gene_type} with len(gene_type) ({len(gene_type)}) != len(num_genes) ({num_genes}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 for gene_type_idx, gene_type_val in enumerate(gene_type): if gene_type_val in GA.supported_float_types: # If the gene type is float and no precision is passed, set it to None. @@ -451,41 +327,22 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") -======= - raise TypeError( - f"In the 'gene_type' parameter, the precision for float gene data types must be an integer but the element {gene_type_val} at index {gene_type_idx} has a precision of {gene_type_val[1]} with type {gene_type_val[0]}.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.valid_parameters = False raise TypeError( f"In the 'gene_type' parameter, a precision is expected only for float gene data types but the element {gene_type_val} found at index {gene_type_idx}.\nNote that the data type must be at index 0 of the item followed by precision at index 1.") else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") else: self.valid_parameters = False raise ValueError(f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") -======= - raise ValueError( - f"In the 'gene_type' parameter, a precision is specified in a list/tuple/numpy.ndarray of length 2 but value ({gene_type_val}) of type {type(gene_type_val)} with length {len(gene_type_val)} found at index {gene_type_idx}.") - else: - self.valid_parameters = False - raise ValueError( - f"When a list/tuple/numpy.ndarray is assigned to the 'gene_type' parameter, then its elements must be of integer, floating-point, list, tuple, or numpy.ndarray data types but the value ({gene_type_val}) of type {type(gene_type_val)} found at index {gene_type_idx}.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.gene_type = gene_type self.gene_type_single = False else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") -======= - raise ValueError( - f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. self.gene_space_unpacked = self.unpack_gene_space() @@ -499,21 +356,11 @@ def __init__(self, # Validating the number of solutions in the population (sol_per_pop) if sol_per_pop <= 0: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") # Validating the number of gene. if (num_genes <= 0): self.valid_parameters = False raise ValueError(f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") -======= - raise ValueError( - f"The number of solutions in the population (sol_per_pop) must be > 0 but ({sol_per_pop}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") - # Validating the number of gene. - if (num_genes <= 0): - self.valid_parameters = False - raise ValueError( - f"The number of genes cannot be <= 0 but ({num_genes}) found.\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # When initial_population=None and the 2 parameters sol_per_pop and num_genes have valid integer values, then the initial population is created. # Inside the initialize_population() method, the initial_population attribute is assigned to keep the initial population accessible. self.num_genes = num_genes # Number of genes in the solution. @@ -522,12 +369,7 @@ def __init__(self, if self.gene_space_nested: if len(gene_space) != self.num_genes: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") -======= - raise ValueError( - f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Number of solutions in the population. self.sol_per_pop = sol_per_pop @@ -538,7 +380,6 @@ def __init__(self, self.gene_type) else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") elif not type(initial_population) in [list, tuple, numpy.ndarray]: self.valid_parameters = False @@ -546,18 +387,6 @@ def __init__(self, elif numpy.array(initial_population).ndim != 2: self.valid_parameters = False raise ValueError(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") -======= - raise TypeError( - f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") - elif not type(initial_population) in [list, tuple, numpy.ndarray]: - self.valid_parameters = False - raise TypeError( - f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") - elif numpy.array(initial_population).ndim != 2: - self.valid_parameters = False - raise ValueError( - f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # Validate the type of each value in the 'initial_population' parameter. for row_idx in range(len(initial_population)): @@ -566,12 +395,7 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") -======= - raise TypeError( - f"The values in the initial population can be integers or floats but the value ({initial_population[row_idx][col_idx]}) of type {type(initial_population[row_idx][col_idx])} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Forcing the initial_population array to have the data type assigned to the gene_type parameter. if self.gene_type_single == True: @@ -630,32 +454,17 @@ def __init__(self, if self.gene_space_nested: if len(gene_space) != self.num_genes: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") -======= - raise ValueError( - f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validating the number of parents to be selected for mating (num_parents_mating) if num_parents_mating <= 0: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") -======= - raise ValueError( - f"The number of parents mating (num_parents_mating) parameter must be > 0 but ({num_parents_mating}) found. \nThe following parameters must be > 0: \n1) Population size (i.e. number of solutions per population) (sol_per_pop).\n2) Number of selected parents in the mating pool (num_parents_mating).\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validating the number of parents to be selected for mating: num_parents_mating if (num_parents_mating > self.sol_per_pop): self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") -======= - raise ValueError( - f"The number of parents to select for mating ({num_parents_mating}) cannot be greater than the number of solutions in the population ({self.sol_per_pop}) (i.e., num_parents_mating must always be <= sol_per_pop).\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.num_parents_mating = num_parents_mating @@ -670,12 +479,7 @@ def __init__(self, self.crossover = crossover_type else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"When 'crossover_type' is assigned to a method, then this crossover method must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The selected parents.\n3) The size of the offspring to be produced.\n4) The instance from the pygad.GA class.\n\nThe passed crossover method named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif callable(crossover_type): # Check if the crossover_type is a function that accepts 2 paramaters. if (crossover_type.__code__.co_argcount == 3): @@ -683,19 +487,10 @@ def __init__(self, self.crossover = crossover_type else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") elif not (type(crossover_type) is str): self.valid_parameters = False raise TypeError(f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") -======= - raise ValueError( - f"When 'crossover_type' is assigned to a function, then this crossover function must accept 3 parameters:\n1) The selected parents.\n2) The size of the offspring to be produced.3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed crossover function named '{crossover_type.__code__.co_name}' accepts {crossover_type.__code__.co_argcount} parameter(s).") - elif not (type(crossover_type) is str): - self.valid_parameters = False - raise TypeError( - f"The expected type of the 'crossover_type' parameter is either callable or str but {type(crossover_type)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # type crossover_type is str crossover_type = crossover_type.lower() if (crossover_type == "single_point"): @@ -708,12 +503,7 @@ def __init__(self, self.crossover = self.scattered_crossover else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") -======= - raise TypeError( - f"Undefined crossover type. \nThe assigned value to the crossover_type ({crossover_type}) parameter does not refer to one of the supported crossover types which are: \n-single_point (for single point crossover)\n-two_points (for two points crossover)\n-uniform (for uniform crossover)\n-scattered (for scattered crossover).\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.crossover_type = crossover_type @@ -725,19 +515,10 @@ def __init__(self, self.crossover_probability = crossover_probability else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") else: self.valid_parameters = False raise TypeError(f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") -======= - raise ValueError( - f"The value assigned to the 'crossover_probability' parameter must be between 0 and 1 inclusive but ({crossover_probability}) found.") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for the 'crossover_probability' parameter. Float is expected but ({crossover_probability}) of type {type(crossover_probability)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # mutation: Refers to the method that applies the mutation operator based on the selected type of mutation in the mutation_type property. # Validating the mutation type: mutation_type @@ -751,12 +532,7 @@ def __init__(self, self.mutation = mutation_type else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"When 'mutation_type' is assigned to a method, then it must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The offspring to be mutated.\n3) The instance from the pygad.GA class.\n\nThe passed mutation method named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif callable(mutation_type): # Check if the mutation_type is a function that accepts 2 paramater. if (mutation_type.__code__.co_argcount == 2): @@ -764,19 +540,10 @@ def __init__(self, self.mutation = mutation_type else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") elif not (type(mutation_type) is str): self.valid_parameters = False raise TypeError(f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") -======= - raise ValueError( - f"When 'mutation_type' is assigned to a function, then this mutation function must accept 2 parameters:\n1) The offspring to be mutated.\n2) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed mutation function named '{mutation_type.__code__.co_name}' accepts {mutation_type.__code__.co_argcount} parameter(s).") - elif not (type(mutation_type) is str): - self.valid_parameters = False - raise TypeError( - f"The expected type of the 'mutation_type' parameter is either callable or str but {type(mutation_type)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # type mutation_type is str mutation_type = mutation_type.lower() if (mutation_type == "random"): @@ -791,12 +558,7 @@ def __init__(self, self.mutation = self.adaptive_mutation else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") -======= - raise TypeError( - f"Undefined mutation type. \nThe assigned string value to the 'mutation_type' parameter ({mutation_type}) does not refer to one of the supported mutation types which are: \n-random (for random mutation)\n-swap (for swap mutation)\n-inversion (for inversion mutation)\n-scramble (for scramble mutation)\n-adaptive (for adaptive mutation).\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.mutation_type = mutation_type @@ -811,19 +573,10 @@ def __init__(self, self.mutation_probability = mutation_probability else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") else: self.valid_parameters = False raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") -======= - raise ValueError( - f"The value assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({mutation_probability}) found.") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for the 'mutation_probability' parameter. A numeric value is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # Mutation probability is adaptive not fixed. if type(mutation_probability) in [list, tuple, numpy.ndarray]: @@ -834,7 +587,6 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") else: self.valid_parameters = False @@ -849,27 +601,6 @@ def __init__(self, else: self.valid_parameters = False raise TypeError(f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") -======= - raise ValueError( - f"The values assigned to the 'mutation_probability' parameter must be between 0 and 1 inclusive but ({el}) found.") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for a value assigned to the 'mutation_probability' parameter. A numeric value is expected but ({el}) of type {type(el)} found.") - if mutation_probability[0] < mutation_probability[1]: - if not self.suppress_warnings: - warnings.warn( - f"The first element in the 'mutation_probability' parameter is {mutation_probability[0]} which is smaller than the second element {mutation_probability[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") - self.mutation_probability = mutation_probability - else: - self.valid_parameters = False - raise ValueError( - f"When mutation_type='adaptive', then the 'mutation_probability' parameter must have only 2 elements but ({len(mutation_probability)}) element(s) found.") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for the 'mutation_probability' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_probability}) of type {type(mutation_probability)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: pass @@ -895,12 +626,7 @@ def __init__(self, elif type(mutation_percent_genes) in GA.supported_int_float_types: if (mutation_percent_genes <= 0 or mutation_percent_genes > 100): self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") -======= - raise ValueError( - f"The percentage of selected genes for mutation (mutation_percent_genes) must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # If mutation_percent_genes equals the string "default", then it is replaced by the numeric value 10. if mutation_percent_genes == 'default'.lower(): @@ -913,21 +639,11 @@ def __init__(self, if mutation_num_genes == 0: if self.mutation_probability is None: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn(f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes = 1 else: self.valid_parameters = False raise TypeError(f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") -======= - warnings.warn( - f"The percentage of genes to mutate (mutation_percent_genes={mutation_percent_genes}) resutled in selecting ({mutation_num_genes}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") - mutation_num_genes = 1 - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected value or type of the 'mutation_percent_genes' parameter. It only accepts the string 'default' or a numeric value but ({mutation_percent_genes}) of type {type(mutation_percent_genes)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # The percent of genes to mutate is adaptive not fixed. if type(mutation_percent_genes) in [list, tuple, numpy.ndarray]: @@ -938,19 +654,10 @@ def __init__(self, if type(el) in GA.supported_int_float_types: if (el <= 0 or el > 100): self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") else: self.valid_parameters = False raise TypeError(f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") -======= - raise ValueError( - f"The values assigned to the 'mutation_percent_genes' must be > 0 and <= 100 but ({mutation_percent_genes}) found.\n") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for a value assigned to the 'mutation_percent_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # At this point of the loop, the current value assigned to the parameter 'mutation_percent_genes' is validated. # Based on the mutation percentage in the 'mutation_percent_genes' parameter, the number of genes to mutate is calculated. mutation_num_genes[idx] = numpy.uint32( @@ -958,7 +665,6 @@ def __init__(self, # Based on the mutation percentage of genes, if the number of selected genes for mutation is less than the least possible value which is 1, then the number will be set to 1. if mutation_num_genes[idx] == 0: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn(f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") mutation_num_genes[idx] = 1 if mutation_percent_genes[0] < mutation_percent_genes[1]: @@ -972,32 +678,12 @@ def __init__(self, if self.mutation_probability is None: self.valid_parameters = False raise TypeError(f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") -======= - warnings.warn( - f"The percentage of genes to mutate ({mutation_percent_genes[idx]}) resutled in selecting ({mutation_num_genes[idx]}) genes. The number of genes to mutate is set to 1 (mutation_num_genes=1).\nIf you do not want to mutate any gene, please set mutation_type=None.") - mutation_num_genes[idx] = 1 - if mutation_percent_genes[0] < mutation_percent_genes[1]: - if not self.suppress_warnings: - warnings.warn( - f"The first element in the 'mutation_percent_genes' parameter is ({mutation_percent_genes[0]}) which is smaller than the second element ({mutation_percent_genes[1]}).\nThis means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions.\nPlease make the first element higher than the second element.") - # At this point outside the loop, all values of the parameter 'mutation_percent_genes' are validated. Eveyrthing is OK. - else: - self.valid_parameters = False - raise ValueError( - f"When mutation_type='adaptive', then the 'mutation_percent_genes' parameter must have only 2 elements but ({len(mutation_percent_genes)}) element(s) found.") - else: - if self.mutation_probability is None: - self.valid_parameters = False - raise TypeError( - f"Unexpected type of the 'mutation_percent_genes' parameter. When mutation_type='adaptive', then the 'mutation_percent_genes' parameter should exist and assigned a list/tuple/numpy.ndarray with 2 values but ({mutation_percent_genes}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # The mutation_num_genes parameter exists. Checking whether adaptive mutation is used. elif (mutation_type != "adaptive"): # Number of genes to mutate is fixed not adaptive. if type(mutation_num_genes) in GA.supported_int_types: if (mutation_num_genes <= 0): self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") elif (mutation_num_genes > self.num_genes): self.valid_parameters = False @@ -1005,18 +691,6 @@ def __init__(self, else: self.valid_parameters = False raise TypeError(f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") -======= - raise ValueError( - f"The number of selected genes for mutation (mutation_num_genes) cannot be <= 0 but ({mutation_num_genes}) found. If you do not want to use mutation, please set mutation_type=None\n") - elif (mutation_num_genes > self.num_genes): - self.valid_parameters = False - raise ValueError( - f"The number of selected genes for mutation (mutation_num_genes), which is ({mutation_num_genes}), cannot be greater than the number of genes ({self.num_genes}).\n") - else: - self.valid_parameters = False - raise TypeError( - f"The 'mutation_num_genes' parameter is expected to be a positive integer but the value ({mutation_num_genes}) of type {type(mutation_num_genes)} found.\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # Number of genes to mutate is adaptive not fixed. if type(mutation_num_genes) in [list, tuple, numpy.ndarray]: @@ -1025,7 +699,6 @@ def __init__(self, if type(el) in GA.supported_int_types: if (el <= 0): self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") elif (el > self.num_genes): self.valid_parameters = False @@ -1044,44 +717,13 @@ def __init__(self, else: self.valid_parameters = False raise TypeError(f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") -======= - raise ValueError( - f"The values assigned to the 'mutation_num_genes' cannot be <= 0 but ({el}) found. If you do not want to use mutation, please set mutation_type=None\n") - elif (el > self.num_genes): - self.valid_parameters = False - raise ValueError( - f"The values assigned to the 'mutation_num_genes' cannot be greater than the number of genes ({self.num_genes}) but ({el}) found.\n") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for a value assigned to the 'mutation_num_genes' parameter. An integer value is expected but ({el}) of type {type(el)} found.") - # At this point of the loop, the current value assigned to the parameter 'mutation_num_genes' is validated. - if mutation_num_genes[0] < mutation_num_genes[1]: - if not self.suppress_warnings: - warnings.warn( - f"The first element in the 'mutation_num_genes' parameter is {mutation_num_genes[0]} which is smaller than the second element {mutation_num_genes[1]}. This means the mutation rate for the high-quality solutions is higher than the mutation rate of the low-quality ones. This causes high disruption in the high qualitiy solutions while making little changes in the low quality solutions. Please make the first element higher than the second element.") - # At this point outside the loop, all values of the parameter 'mutation_num_genes' are validated. Eveyrthing is OK. - else: - self.valid_parameters = False - raise ValueError( - f"When mutation_type='adaptive', then the 'mutation_num_genes' parameter must have only 2 elements but ({len(mutation_num_genes)}) element(s) found.") - else: - self.valid_parameters = False - raise TypeError( - f"Unexpected type for the 'mutation_num_genes' parameter. When mutation_type='adaptive', then list/tuple/numpy.ndarray is expected but ({mutation_num_genes}) of type {type(mutation_num_genes)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: pass # Validating mutation_by_replacement and mutation_type if self.mutation_type != "random" and self.mutation_by_replacement: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn(f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") -======= - warnings.warn( - f"The mutation_by_replacement parameter is set to True while the mutation_type parameter is not set to random but ({mutation_type}). Note that the mutation_by_replacement parameter has an effect only when mutation_type='random'.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if crossover and mutation are both disabled. if (self.mutation_type is None) and (self.crossover_type is None): @@ -1098,12 +740,7 @@ def __init__(self, self.select_parents = parent_selection_type else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"When 'parent_selection_type' is assigned to a method, then it must accept 4 parameters:\n1) Expected to be the 'self' object.\n2) The fitness values of the current population.\n3) The number of parents needed.\n4) The instance from the pygad.GA class.\n\nThe passed parent selection method named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif callable(parent_selection_type): # Check if the parent_selection_type is a function that accepts 3 paramaters. if (parent_selection_type.__code__.co_argcount == 3): @@ -1112,21 +749,11 @@ def __init__(self, self.select_parents = parent_selection_type else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") elif not (type(parent_selection_type) is str): self.valid_parameters = False raise TypeError(f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") -======= - raise ValueError( - f"When 'parent_selection_type' is assigned to a user-defined function, then this parent selection function must accept 3 parameters:\n1) The fitness values of the current population.\n2) The number of parents needed.\n3) The instance from the pygad.GA class to retrieve any property like population, gene data type, gene space, etc.\n\nThe passed parent selection function named '{parent_selection_type.__code__.co_name}' accepts {parent_selection_type.__code__.co_argcount} parameter(s).") - elif not (type(parent_selection_type) is str): - self.valid_parameters = False - - raise TypeError( - f"The expected type of the 'parent_selection_type' parameter is either callable or str but {type(parent_selection_type)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: parent_selection_type = parent_selection_type.lower() if (parent_selection_type == "sss"): @@ -1150,66 +777,34 @@ def __init__(self, if (K_tournament > self.sol_per_pop): K_tournament = self.sol_per_pop if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn(f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") elif (K_tournament <= 0): self.valid_parameters = False raise ValueError(f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") -======= - warnings.warn( - f"K of the tournament selection ({K_tournament}) should not be greater than the number of solutions within the population ({self.sol_per_pop}).\nK will be clipped to be equal to the number of solutions in the population (sol_per_pop).\n") - elif (K_tournament <= 0): - self.valid_parameters = False - raise ValueError( - f"K of the tournament selection cannot be <=0 but ({K_tournament}) found.\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.K_tournament = K_tournament # Validating the number of parents to keep in the next population: keep_parents if not (type(keep_parents) in GA.supported_int_types): self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): self.valid_parameters = False raise ValueError(f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") -======= - raise TypeError( - f"Incorrect type of the value assigned to the keep_parents parameter. The value ({keep_parents}) of type {type(keep_parents)} found but an integer is expected.") - elif (keep_parents > self.sol_per_pop or keep_parents > self.num_parents_mating or keep_parents < -1): - self.valid_parameters = False - raise ValueError( - f"Incorrect value to the keep_parents parameter: {keep_parents}. \nThe assigned value to the keep_parent parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Less than or equal to num_parents_mating\n3) Greater than or equal to -1.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.keep_parents = keep_parents if parent_selection_type == "sss" and self.keep_parents == 0: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn("The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") -======= - warnings.warn( - "The steady-state parent (sss) selection operator is used despite that no parents are kept in the next generation.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validating the number of elitism to keep in the next population: keep_elitism if not (type(keep_elitism) in GA.supported_int_types): self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): self.valid_parameters = False raise ValueError(f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") -======= - raise TypeError( - f"Incorrect type of the value assigned to the keep_elitism parameter. The value ({keep_elitism}) of type {type(keep_elitism)} found but an integer is expected.") - elif (keep_elitism > self.sol_per_pop or keep_elitism < 0): - self.valid_parameters = False - raise ValueError( - f"Incorrect value to the keep_elitism parameter: {keep_elitism}. \nThe assigned value to the keep_elitism parameter must satisfy the following conditions: \n1) Less than or equal to sol_per_pop\n2) Greater than or equal to 0.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.keep_elitism = keep_elitism @@ -1236,51 +831,27 @@ def __init__(self, self.fitness_func = fitness_func else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"In PyGAD 2.20.0, if a method is used to calculate the fitness value, then it must accept 4 parameters\n1) Expected to be the 'self' object.\n2) The instance of the 'pygad.GA' class.\n3) A solution to calculate its fitness value.\n4) The solution's index within the population.\n\nThe passed fitness method named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif callable(fitness_func): # Check if the fitness function accepts 2 paramaters. if (fitness_func.__code__.co_argcount == 3): self.fitness_func = fitness_func else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") -======= - raise ValueError( - f"In PyGAD 2.20.0, the fitness function must accept 3 parameters:\n1) The instance of the 'pygad.GA' class.\n2) A solution to calculate its fitness value.\n3) The solution's index within the population.\n\nThe passed fitness function named '{fitness_func.__code__.co_name}' accepts {fitness_func.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - - raise TypeError( - f"The value assigned to the fitness_func parameter is expected to be of type function but {type(fitness_func)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 if fitness_batch_size is None: pass elif not (type(fitness_batch_size) in GA.supported_int_types): self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: self.valid_parameters = False raise ValueError(f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") -======= - raise TypeError( - f"The value assigned to the fitness_batch_size parameter is expected to be integer but the value ({fitness_batch_size}) of type {type(fitness_batch_size)} found.") - elif fitness_batch_size <= 0 or fitness_batch_size > self.sol_per_pop: - self.valid_parameters = False - raise ValueError( - f"The value assigned to the fitness_batch_size parameter must be:\n1) Greater than 0.\n2) Less than or equal to sol_per_pop ({self.sol_per_pop}).\nBut the value ({fitness_batch_size}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.fitness_batch_size = fitness_batch_size @@ -1292,12 +863,7 @@ def __init__(self, self.on_start = on_start else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_start parameter must accept only 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_start is a function. elif callable(on_start): # Check if the on_start function accepts only a single paramater. @@ -1305,21 +871,11 @@ def __init__(self, self.on_start = on_start else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") -======= - raise ValueError( - f"The function assigned to the on_start parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_start.__code__.co_name}' accepts {on_start.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - - raise TypeError( - f"The value assigned to the on_start parameter is expected to be of type function but {type(on_start)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_start = None @@ -1332,12 +888,7 @@ def __init__(self, self.on_fitness = on_fitness else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_fitness parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.3) The fitness values of all solutions.\nThe passed method named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_fitness is a function. elif callable(on_fitness): # Check if the on_fitness function accepts 2 paramaters. @@ -1345,19 +896,10 @@ def __init__(self, self.on_fitness = on_fitness else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") -======= - raise ValueError( - f"The function assigned to the on_fitness parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_fitness.__code__.co_name}' accepts {on_fitness.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - raise TypeError( - f"The value assigned to the on_fitness parameter is expected to be of type function but {type(on_fitness)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_fitness = None @@ -1370,12 +912,7 @@ def __init__(self, self.on_parents = on_parents else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_parents parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n3) The fitness values of all solutions.\nThe passed method named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_parents is a function. elif callable(on_parents): # Check if the on_parents function accepts 2 paramaters. @@ -1383,19 +920,10 @@ def __init__(self, self.on_parents = on_parents else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") -======= - raise ValueError( - f"The function assigned to the on_parents parameter must accept 2 parameters representing the instance of the genetic algorithm and the fitness values of all solutions.\nThe passed function named '{on_parents.__code__.co_name}' accepts {on_parents.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - raise TypeError( - f"The value assigned to the on_parents parameter is expected to be of type function but {type(on_parents)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_parents = None @@ -1408,12 +936,7 @@ def __init__(self, self.on_crossover = on_crossover else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_crossover parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring generated using crossover.\nThe passed method named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_crossover is a function. elif callable(on_crossover): # Check if the on_crossover function accepts 2 paramaters. @@ -1421,20 +944,10 @@ def __init__(self, self.on_crossover = on_crossover else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") -======= - raise ValueError( - f"The function assigned to the on_crossover parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring generated using crossover.\nThe passed function named '{on_crossover.__code__.co_name}' accepts {on_crossover.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - - raise TypeError( - f"The value assigned to the on_crossover parameter is expected to be of type function but {type(on_crossover)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_crossover = None @@ -1447,12 +960,7 @@ def __init__(self, self.on_mutation = on_mutation else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_mutation parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) The offspring after applying the mutation operation.\nThe passed method named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_mutation is a function. elif callable(on_mutation): # Check if the on_mutation function accepts 2 paramaters. @@ -1460,19 +968,10 @@ def __init__(self, self.on_mutation = on_mutation else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") -======= - raise ValueError( - f"The function assigned to the on_mutation parameter must accept 2 parameters representing the instance of the genetic algorithm and the offspring after applying the mutation operation.\nThe passed function named '{on_mutation.__code__.co_name}' accepts {on_mutation.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - raise TypeError( - f"The value assigned to the on_mutation parameter is expected to be of type function but {type(on_mutation)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_mutation = None @@ -1485,12 +984,7 @@ def __init__(self, self.on_generation = on_generation else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_generation parameter must accept 2 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\nThe passed method named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_generation is a function. elif callable(on_generation): # Check if the on_generation function accepts only a single paramater. @@ -1498,19 +992,10 @@ def __init__(self, self.on_generation = on_generation else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") -======= - raise ValueError( - f"The function assigned to the on_generation parameter must accept only 1 parameter representing the instance of the genetic algorithm.\nThe passed function named '{on_generation.__code__.co_name}' accepts {on_generation.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - raise TypeError( - f"The value assigned to the on_generation parameter is expected to be of type function but {type(on_generation)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_generation = None @@ -1523,12 +1008,7 @@ def __init__(self, self.on_stop = on_stop else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") -======= - raise ValueError( - f"The method assigned to the on_stop parameter must accept 3 parameters:\n1) Expected to be the 'self' object.\n2) The instance of the genetic algorithm.\n2) A list of the fitness values of the solutions in the last population.\nThe passed method named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Check if the on_stop is a function. elif callable(on_stop): # Check if the on_stop function accepts 2 paramaters. @@ -1536,19 +1016,10 @@ def __init__(self, self.on_stop = on_stop else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") else: self.valid_parameters = False raise TypeError(f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") -======= - raise ValueError( - f"The function assigned to the on_stop parameter must accept 2 parameters representing the instance of the genetic algorithm and a list of the fitness values of the solutions in the last population.\nThe passed function named '{on_stop.__code__.co_name}' accepts {on_stop.__code__.co_argcount} parameter(s).") - else: - self.valid_parameters = False - raise TypeError( - f"The value assigned to the 'on_stop' parameter is expected to be of type function but {type(on_stop)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.on_stop = None @@ -1558,55 +1029,28 @@ def __init__(self, self.delay_after_gen = delay_after_gen else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") else: self.valid_parameters = False raise TypeError(f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") -======= - raise ValueError( - f"The value passed to the 'delay_after_gen' parameter must be a non-negative number. The value passed is ({delay_after_gen}) of type {type(delay_after_gen)}.") - else: - self.valid_parameters = False - raise TypeError( - f"The value passed to the 'delay_after_gen' parameter must be of type int or float but {type(delay_after_gen)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validate save_best_solutions if type(save_best_solutions) is bool: if save_best_solutions == True: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn("Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") else: self.valid_parameters = False raise TypeError(f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") -======= - warnings.warn( - "Use the 'save_best_solutions' parameter with caution as it may cause memory overflow when either the number of generations or number of genes is large.") - else: - self.valid_parameters = False - raise TypeError( - f"The value passed to the 'save_best_solutions' parameter must be of type bool but {type(save_best_solutions)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Validate save_solutions if type(save_solutions) is bool: if save_solutions == True: if not self.suppress_warnings: -<<<<<<< HEAD warnings.warn("Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") else: self.valid_parameters = False raise TypeError(f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") -======= - warnings.warn( - "Use the 'save_solutions' parameter with caution as it may cause memory overflow when either the number of generations, number of genes, or number of solutions in population is large.") - else: - self.valid_parameters = False - raise TypeError( - f"The value passed to the 'save_solutions' parameter must be of type bool but {type(save_solutions)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.stop_criteria = [] self.supported_stop_words = ["reach", "saturate"] @@ -1625,34 +1069,19 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") -======= - raise ValueError( - f"In the 'stop_criteria' parameter, the supported stop words are '{self.supported_stop_words}' but '{stop_word}' found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 if number.replace(".", "").isnumeric(): number = float(number) else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") -======= - raise ValueError( - f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.stop_criteria.append([stop_word, number]) else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") -======= - raise ValueError( - f"For format of a single criterion in the 'stop_criteria' parameter is 'word_number' but '{stop_criteria}' found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif type(stop_criteria) in [list, tuple, numpy.ndarray]: # Remove duplicate criterira by converting the list to a set then back to a list. @@ -1668,29 +1097,18 @@ def __init__(self, pass else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") -======= - raise ValueError( - f"In the 'stop_criteria' parameter, the supported stop words are {self.supported_stop_words} but '{stop_word}' found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 if number.replace(".", "").isnumeric(): number = float(number) else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") -======= - raise ValueError( - f"The value following the stop word in the 'stop_criteria' parameter must be a number but the value ({number}) of type {type(number)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 self.stop_criteria.append([stop_word, number]) else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") else: self.valid_parameters = False @@ -1698,18 +1116,6 @@ def __init__(self, else: self.valid_parameters = False raise TypeError(f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") -======= - raise ValueError( - f"The format of a single criterion in the 'stop_criteria' parameter is 'word_number' but {criterion} found.") - else: - self.valid_parameters = False - raise TypeError( - f"When the 'stop_criteria' parameter is assigned a tuple/list/numpy.ndarray, then its elements must be strings but the value ({val}) of type {type(val)} found at index {idx}.") - else: - self.valid_parameters = False - raise TypeError( - f"The expected value of the 'stop_criteria' is a single string or a list/tuple/numpy.ndarray of strings but the value ({stop_criteria}) of type {type(stop_criteria)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 if parallel_processing is None: self.parallel_processing = None @@ -1718,12 +1124,7 @@ def __init__(self, self.parallel_processing = ["thread", parallel_processing] else: self.valid_parameters = False -<<<<<<< HEAD raise ValueError(f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") -======= - raise ValueError( - f"When the 'parallel_processing' parameter is assigned an integer, then the integer must be positive but the value ({parallel_processing}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 elif type(parallel_processing) in [list, tuple]: if len(parallel_processing) == 2: if type(parallel_processing[0]) is str: @@ -1737,7 +1138,6 @@ def __init__(self, self.parallel_processing = parallel_processing else: self.valid_parameters = False -<<<<<<< HEAD raise TypeError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") else: self.valid_parameters = False @@ -1748,22 +1148,6 @@ def __init__(self, else: self.valid_parameters = False raise ValueError(f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") -======= - raise TypeError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the second element must be an integer but the value ({parallel_processing[1]}) of type {type(parallel_processing[1])} found.") - else: - self.valid_parameters = False - raise ValueError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the value of the first element must be either 'process' or 'thread' but the value ({parallel_processing[0]}) found.") - else: - self.valid_parameters = False - raise TypeError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then the first element must be of type 'str' but the value ({parallel_processing[0]}) of type {type(parallel_processing[0])} found.") - else: - self.valid_parameters = False - raise ValueError( - f"When a list or tuple is assigned to the 'parallel_processing' parameter, then it must have 2 elements but ({len(parallel_processing)}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.valid_parameters = False raise ValueError(f"Unexpected value ({parallel_processing}) of type ({type(parallel_processing)}) assigned to the 'parallel_processing' parameter. The accepted values for this parameter are:\n1) None: (Default) It means no parallel processing is used.\n2) A positive integer referring to the number of threads to be used (i.e. threads, not processes, are used.\n3) list/tuple: If a list or a tuple of exactly 2 elements is assigned, then:\n\t*1) The first element can be either 'process' or 'thread' to specify whether processes or threads are used, respectively.\n\t*2) The second element can be:\n\t\t**1) A positive integer to select the maximum number of processes or threads to be used.\n\t\t**2) 0 to indicate that parallel processing is not used. This is identical to setting 'parallel_processing=None'.\n\t\t**3) None to use the default value as calculated by the concurrent.futures module.") @@ -2116,12 +1500,7 @@ def cal_pop_fitness(self): """ try: if self.valid_parameters == False: -<<<<<<< HEAD raise Exception("ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") -======= - raise Exception( - "ERROR calling the cal_pop_fitness() method: \nPlease check the parameters passed while creating an instance of the GA class.\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # 'last_generation_parents_as_list' is the list version of 'self.last_generation_parents' # It is used to return the parent index using the 'in' membership operator of Python lists. This is much faster than using 'numpy.where()'. @@ -2177,13 +1556,7 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pass else: - -<<<<<<< HEAD raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") -======= - raise ValueError( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # Reaching this point means that batch processing is in effect to calculate the fitness values. # Do not continue the loop as no fitness is calculated. The fitness will be calculated later in batch mode. @@ -2212,32 +1585,15 @@ def cal_pop_fitness(self): batch_fitness = self.fitness_func( self, batch_solutions, batch_indices) if type(batch_fitness) not in [list, tuple, numpy.ndarray]: - -<<<<<<< HEAD raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): - raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") -======= - raise TypeError( - f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") - elif len(numpy.array(batch_fitness)) != len(batch_indices): - - raise ValueError( - f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: - -<<<<<<< HEAD raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") -======= - raise ValueError( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # Calculating the fitness value of each solution in the current population. for sol_idx, sol in enumerate(self.population): @@ -2298,13 +1654,7 @@ def cal_pop_fitness(self): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: -<<<<<<< HEAD raise ValueError(f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") -======= - - raise ValueError( - f"The fitness function should return a number but the value {fitness} of type {type(fitness)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: # Reaching this block means that batch processing is used. The fitness values are calculated in batches. @@ -2328,32 +1678,16 @@ def cal_pop_fitness(self): for batch_indices, batch_fitness in zip(batches_indices, executor.map(self.fitness_func, [self]*len(solutions_to_submit_indices), batches_solutions, batches_indices)): if type(batch_fitness) not in [list, tuple, numpy.ndarray]: -<<<<<<< HEAD raise TypeError(f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") elif len(numpy.array(batch_fitness)) != len(batch_indices): raise ValueError(f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") -======= - - raise TypeError( - f"Expected to receive a list, tuple, or numpy.ndarray from the fitness function but the value ({batch_fitness}) of type {type(batch_fitness)}.") - elif len(numpy.array(batch_fitness)) != len(batch_indices): - - raise ValueError( - f"There is a mismatch between the number of solutions passed to the fitness function ({len(batch_indices)}) and the number of fitness values returned ({len(batch_fitness)}). They must match.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 for index, fitness in zip(batch_indices, batch_fitness): if type(fitness) in GA.supported_int_float_types: pop_fitness[index] = fitness else: -<<<<<<< HEAD raise ValueError(f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") -======= - - raise ValueError( - f"The fitness function should return a number but the value ({fitness}) of type {type(fitness)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 pop_fitness = numpy.array(pop_fitness) except Exception as ex: @@ -2367,13 +1701,7 @@ def run(self): """ try: if self.valid_parameters == False: -<<<<<<< HEAD raise Exception("Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") -======= - - raise Exception( - "Error calling the run() method: \nThe run() method cannot be executed with invalid parameters. Please check the parameters passed while creating an instance of the GA class.\n") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Starting from PyGAD 2.18.0, the 4 properties (best_solutions, best_solutions_fitness, solutions, and solutions_fitness) are no longer reset with each call to the run() method. Instead, they are extended. # For example, if there are 50 generations and the user set save_best_solutions=True, then the length of the 2 properties best_solutions and best_solutions_fitness will be 50 after the first call to the run() method, then 100 after the second call, 150 after the third, and so on. @@ -2439,19 +1767,9 @@ def run(self): self.num_parents_mating, self) if not type(self.last_generation_parents) is numpy.ndarray: -<<<<<<< HEAD raise TypeError(f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") if not type(self.last_generation_parents_indices) is numpy.ndarray: raise TypeError(f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") -======= - - raise TypeError( - f"The type of the iterable holding the selected parents is expected to be (numpy.ndarray) but {type(self.last_generation_parents)} found.") - if not type(self.last_generation_parents_indices) is numpy.ndarray: - - raise TypeError( - f"The type of the iterable holding the selected parents' indices is expected to be (numpy.ndarray) but {type(self.last_generation_parents_indices)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.last_generation_parents, self.last_generation_parents_indices = self.select_parents(self.last_generation_fitness, num_parents=self.num_parents_mating) @@ -2459,7 +1777,6 @@ def run(self): # Validate the output of the parent selection step: self.select_parents() if self.last_generation_parents.shape != (self.num_parents_mating, self.num_genes): if self.last_generation_parents.shape[0] != self.num_parents_mating: -<<<<<<< HEAD raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") elif self.last_generation_parents.shape[1] != self.num_genes: raise ValueError(f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") @@ -2468,24 +1785,6 @@ def run(self): raise ValueError(f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") elif len(self.last_generation_parents_indices) != self.num_parents_mating: raise ValueError(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") -======= - - raise ValueError( - f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. It is expected to select ({self.num_parents_mating}) parents but ({self.last_generation_parents.shape[0]}) selected.") - elif self.last_generation_parents.shape[1] != self.num_genes: - - raise ValueError( - f"Size mismatch between the size of the selected parents {self.last_generation_parents.shape} and the expected size {(self.num_parents_mating, self.num_genes)}. Parents are expected to have ({self.num_genes}) genes but ({self.last_generation_parents.shape[1]}) produced.") - - if self.last_generation_parents_indices.ndim != 1: - - raise ValueError( - f"The iterable holding the selected parents indices is expected to have 1 dimension but ({len(self.last_generation_parents_indices)}) found.") - elif len(self.last_generation_parents_indices) != self.num_parents_mating: - - raise ValueError( - f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 if not (self.on_parents is None): self.on_parents(self, self.last_generation_parents) @@ -2520,31 +1819,15 @@ def run(self): self.num_genes), self) if not type(self.last_generation_offspring_crossover) is numpy.ndarray: -<<<<<<< HEAD raise TypeError(f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") -======= - - raise TypeError( - f"The output of the crossover step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_crossover)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.last_generation_offspring_crossover = self.crossover(self.last_generation_parents, offspring_size=(self.num_offspring, self.num_genes)) if self.last_generation_offspring_crossover.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_crossover.shape[0] != self.num_offspring: -<<<<<<< HEAD raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: raise ValueError(f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") -======= - - raise ValueError( - f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_crossover.shape[0]}) produced.") - elif self.last_generation_offspring_crossover.shape[1] != self.num_genes: - - raise ValueError( - f"Size mismatch between the crossover output {self.last_generation_offspring_crossover.shape} and the expected crossover output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_crossover.shape[1]}) produced.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. if not (self.on_crossover is None): @@ -2560,32 +1843,16 @@ def run(self): self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover, self) if not type(self.last_generation_offspring_mutation) is numpy.ndarray: -<<<<<<< HEAD raise TypeError(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") -======= - - raise TypeError( - f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 else: self.last_generation_offspring_mutation = self.mutation( self.last_generation_offspring_crossover) if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: -<<<<<<< HEAD raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: raise ValueError(f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") -======= - - raise ValueError( - f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected to produce ({self.num_offspring}) offspring but ({self.last_generation_offspring_mutation.shape[0]}) produced.") - elif self.last_generation_offspring_mutation.shape[1] != self.num_genes: - - raise ValueError( - f"Size mismatch between the mutation output {self.last_generation_offspring_mutation.shape} and the expected mutation output {(self.num_offspring, self.num_genes)}. It is expected that the offspring has ({self.num_genes}) genes but ({self.last_generation_offspring_mutation.shape[1]}) produced.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. if not (self.on_mutation is None): @@ -2709,19 +1976,9 @@ def best_solution(self, pop_fitness=None): # This successfully verifies the 'pop_fitness' parameter. pass else: -<<<<<<< HEAD raise ValueError(f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") else: raise ValueError(f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") -======= - - raise ValueError( - f"The length of the list/tuple/numpy.ndarray passed to the 'pop_fitness' parameter ({len(pop_fitness)}) must match the length of the 'self.population' attribute ({len(self.population)}).") - else: - - raise ValueError( - f"The type of the 'pop_fitness' parameter is expected to be list, tuple, or numpy.ndarray but ({type(pop_fitness)}) found.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 # Return the index of the best solution that has the best fitness value. best_match_idx = numpy.where( @@ -2981,7 +2238,6 @@ def print_params_summary(): summary_output = summary_output + m + "\n" return summary_output - def load(filename): """ Reads a saved instance of the genetic algorithm: @@ -2993,12 +2249,7 @@ def load(filename): with open(filename + ".pkl", 'rb') as file: ga_in = cloudpickle.load(file) except FileNotFoundError: -<<<<<<< HEAD raise FileNotFoundError(f"Error reading the file {filename}. Please check your inputs.") -======= - raise FileNotFoundError( - f"Error reading the file {filename}. Please check your inputs.") ->>>>>>> 977acdaf553eed3f8c0f01e720a1756c2b6d79a9 except: # raise BaseException("Error loading the file. If the file already exists, please reload all the functions previously used (e.g. fitness function).") raise BaseException("Error loading the file.") From f1aa930871aac692d10dfdf0ba1e7a52ca4fa05b Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 9 May 2023 12:05:47 -0400 Subject: [PATCH 055/220] Use exist() from sys lib --- pygad/pygad.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index 9839c05..01dc850 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -9,6 +9,7 @@ from pygad import utils from pygad import helper from pygad import visualize +import sys class GA(utils.parent_selection.ParentSelection, utils.crossover.Crossover, @@ -1201,7 +1202,7 @@ def __init__(self, self.last_generation_elitism_indices = None except Exception as e: self.logger.exception(e) - exit(-1) + sys.exit(-1) def round_genes(self, solutions): for gene_idx in range(self.num_genes): From ee02e2fd8b304ee4ec0cd16798b1293eb03eae80 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 9 May 2023 16:17:12 -0400 Subject: [PATCH 056/220] Use logging module --- pygad/cnn/cnn.py | 338 ++++++++++++++++++++++++++++++++++++--------- pygad/gann/gann.py | 3 +- 2 files changed, 276 insertions(+), 65 deletions(-) diff --git a/pygad/cnn/cnn.py b/pygad/cnn/cnn.py index d0141ae..1bd9033 100644 --- a/pygad/cnn/cnn.py +++ b/pygad/cnn/cnn.py @@ -1,5 +1,6 @@ import numpy import functools +import logging """ Convolutional neural network implementation using NumPy @@ -84,14 +85,18 @@ def layers_weights(model, initial=True): elif initial == False: network_weights.append(layer.trained_weights) else: - raise ValueError(f"Unexpected value to the 'initial' parameter: {initial}.") + msg = f"Unexpected value to the 'initial' parameter: {initial}." + model.logger.error(msg) + raise ValueError(msg) # Go to the previous layer. layer = layer.previous_layer # If the first layer in the network is not an input layer (i.e. an instance of the Input2D class), raise an error. if not (type(layer) is Input2D): - raise TypeError("The first layer in the network architecture must be an input layer.") + msg = "The first layer in the network architecture must be an input layer." + model.logger.error(msg) + raise TypeError(msg) # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). @@ -131,7 +136,9 @@ def layers_weights_as_matrix(model, vector_weights): # If the first layer in the network is not an input layer (i.e. an instance of the Input2D class), raise an error. if not (type(layer) is Input2D): - raise TypeError("The first layer in the network architecture must be an input layer.") + msg = "The first layer in the network architecture must be an input layer." + model.logger.error(msg) + raise TypeError(msg) # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). @@ -164,14 +171,18 @@ def layers_weights_as_vector(model, initial=True): # vector = pygad.nn.DenseLayer.to_vector(array=layer.trained_weights) network_weights.extend(vector) else: - raise ValueError(f"Unexpected value to the 'initial' parameter: {initial}.") + msg = f"Unexpected value to the 'initial' parameter: {initial}." + model.logger.error(msg) + raise ValueError(msg) # Go to the previous layer. layer = layer.previous_layer # If the first layer in the network is not an input layer (i.e. an instance of the Input2D class), raise an error. if not (type(layer) is Input2D): - raise TypeError("The first layer in the network architecture must be an input layer.") + msg = "The first layer in the network architecture must be an input layer." + model.logger.error(msg) + raise TypeError(msg) # Currently, the weights of the layers are in the reverse order. In other words, the weights of the first layer are at the last index of the 'network_weights' list while the weights of the last layer are at the first index. # Reversing the 'network_weights' list to order the layers' weights according to their location in the network architecture (i.e. the weights of the first layer appears at index 0 of the list). @@ -199,40 +210,91 @@ def update_layers_trained_weights(model, final_weights): # Go to the previous layer. layer = layer.previous_layer -class Input2D: + +class CustomLogger: + + def __init__(self): + # Create a logger named with the module name. + logger = logging.getLogger(__name__) + # Set the logger log level to 'DEBUG' to log all kinds of messages. + logger.setLevel(logging.DEBUG) + + # Clear any attached handlers to the logger from the previous runs. + # If the handlers are not cleared, then the new handler will be appended to the list of handlers. + # This makes the single log message be repeated according to the length of the list of handlers. + logger.handlers.clear() + + # Create the handlers. + stream_handler = logging.StreamHandler() + # Set the handler log level to 'DEBUG' to log all kinds of messages received from the logger. + stream_handler.setLevel(logging.DEBUG) + + # Create the formatter that just includes the log message. + formatter = logging.Formatter('%(message)s') + + # Add the formatter to the handler. + stream_handler.setFormatter(formatter) + + # Add the handler to the logger. + logger.addHandler(stream_handler) + + # Create the 'self.logger' attribute to hold the logger. + # Instead of using 'print()', use 'self.logger.info()' + self.logger = logger + +class Input2D(CustomLogger): """ Implementing the input layer of a CNN. The CNN architecture must start with an input layer. """ - def __init__(self, input_shape): + def __init__(self, + input_shape, + logger=None): """ input_shape: Shape of the input sample to the CNN. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + # If the input sample has less than 2 dimensions, then an exception is raised. if len(input_shape) < 2: - raise ValueError(f"The Input2D class creates an input layer for data inputs with at least 2 dimensions but ({len(input_shape)}) dimensions found.") + msg = f"The Input2D class creates an input layer for data inputs with at least 2 dimensions but ({len(input_shape)}) dimensions found." + self.logger.error(msg) + raise ValueError(msg) # If the input sample has exactly 2 dimensions, the third dimension is set to 1. elif len(input_shape) == 2: input_shape = (input_shape[0], input_shape[1], 1) for dim_idx, dim in enumerate(input_shape): if dim <= 0: - raise ValueError("The dimension size of the inputs cannot be <= 0. Please pass a valid value to the 'input_size' parameter.") + msg = "The dimension size of the inputs cannot be <= 0. Please pass a valid value to the 'input_size' parameter." + self.logger.error(msg) + raise ValueError(msg) self.input_shape = input_shape # Shape of the input sample. self.layer_output_size = input_shape # Shape of the output from the current layer. For an input layer, it is the same as the shape of the input sample. -class Conv2D: +class Conv2D(CustomLogger): """ Implementing the convolution layer. """ - def __init__(self, num_filters, kernel_size, previous_layer, activation_function=None): + def __init__(self, + num_filters, + kernel_size, + previous_layer, + activation_function=None, + logger=None): """ num_filters: Number of filters in the convolution layer. @@ -241,13 +303,25 @@ def __init__(self, num_filters, kernel_size, previous_layer, activation_function activation_function=None: The name of the activation function to be used in the conv layer. If None, then no activation function is applied besides the convolution operation. The activation function can be applied by a separate layer. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if num_filters <= 0: - raise ValueError("Number of filters cannot be <= 0. Please pass a valid value to the 'num_filters' parameter.") + msg = "Number of filters cannot be <= 0. Please pass a valid value to the 'num_filters' parameter." + self.logger.error(msg) + raise ValueError(msg) # Number of filters in the conv layer. self.num_filters = num_filters if kernel_size <= 0: - raise ValueError("The kernel size cannot be <= 0. Please pass a valid value to the 'kernel_size' parameter.") + msg = "The kernel size cannot be <= 0. Please pass a valid value to the 'kernel_size' parameter." + self.logger.error(msg) + raise ValueError(msg) # Kernel size of each filter. self.kernel_size = kernel_size @@ -259,15 +333,21 @@ def __init__(self, num_filters, kernel_size, previous_layer, activation_function elif (activation_function == "sigmoid"): self.activation = sigmoid elif (activation_function == "softmax"): - raise ValueError("The softmax activation function cannot be used in a conv layer.") + msg = "The softmax activation function cannot be used in a conv layer." + self.logger.error(msg) + raise ValueError(msg) else: - raise ValueError(f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.") + msg = f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions." + self.logger.error(msg) + raise ValueError(msg) # The activation function used in the current layer. self.activation_function = activation_function if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer @@ -353,24 +433,36 @@ def conv(self, input2D): """ if len(input2D.shape) != len(self.initial_weights.shape) - 1: # Check if there is a match in the number of dimensions between the image and the filters. - raise ValueError("Number of dimensions in the conv filter and the input do not match.") + msg = "Number of dimensions in the conv filter and the input do not match." + self.logger.error(msg) + raise ValueError(msg) if len(input2D.shape) > 2 or len(self.initial_weights.shape) > 3: # Check if number of image channels matches the filter depth. if input2D.shape[-1] != self.initial_weights.shape[-1]: - raise ValueError("Number of channels in both the input and the filter must match.") + msg = "Number of channels in both the input and the filter must match." + self.logger.error(msg) + raise ValueError(msg) if self.initial_weights.shape[1] != self.initial_weights.shape[2]: # Check if filter dimensions are equal. - raise ValueError('A filter must be a square matrix. I.e. number of rows and columns must match.') + msg = 'A filter must be a square matrix. I.e. number of rows and columns must match.' + self.logger.error(msg) + raise ValueError(msg) if self.initial_weights.shape[1]%2==0: # Check if filter diemnsions are odd. - raise ValueError('A filter must have an odd size. I.e. number of rows and columns must be odd.') + msg = 'A filter must have an odd size. I.e. number of rows and columns must be odd.' + self.logger.error(msg) + raise ValueError(msg) self.layer_output = self.conv_(input2D, self.trained_weights) -class AveragePooling2D: +class AveragePooling2D(CustomLogger): """ Implementing the average pooling layer. """ - def __init__(self, pool_size, previous_layer, stride=2): + def __init__(self, + pool_size, + previous_layer, + stride=2, + logger=None): """ pool_size: Pool size. @@ -378,19 +470,35 @@ def __init__(self, pool_size, previous_layer, stride=2): stride=2: Stride """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if not (type(pool_size) is int): - raise ValueError("The expected type of the pool_size is int but {pool_size_type} found.".format(pool_size_type=type(pool_size))) + msg = "The expected type of the pool_size is int but {pool_size_type} found.".format(pool_size_type=type(pool_size)) + self.logger.error(msg) + raise ValueError(msg) if pool_size <= 0: - raise ValueError("The passed value to the pool_size parameter cannot be <= 0.") + msg = "The passed value to the pool_size parameter cannot be <= 0." + self.logger.error(msg) + raise ValueError(msg) self.pool_size = pool_size if stride <= 0: - raise ValueError("The passed value to the stride parameter cannot be <= 0.") + msg = "The passed value to the stride parameter cannot be <= 0." + self.logger.error(msg) + raise ValueError(msg) self.stride = stride if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer @@ -430,33 +538,53 @@ def average_pooling(self, input2D): self.layer_output = pool_out -class MaxPooling2D: +class MaxPooling2D(CustomLogger): """ Similar to the AveragePooling2D class except that it implements max pooling. """ - def __init__(self, pool_size, previous_layer, stride=2): + def __init__(self, + pool_size, + previous_layer, + stride=2, + logger=None): """ pool_size: Pool size. previous_layer: Reference to the previous layer in the CNN architecture. stride=2: Stride """ - + + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if not (type(pool_size) is int): - raise ValueError(f"The expected type of the pool_size is int but {type(pool_size)} found.") + msg = f"The expected type of the pool_size is int but {type(pool_size)} found." + self.logger.error(msg) + raise ValueError(msg) if pool_size <= 0: - raise ValueError("The passed value to the pool_size parameter cannot be <= 0.") + msg = "The passed value to the pool_size parameter cannot be <= 0." + self.logger.error(msg) + raise ValueError(msg) self.pool_size = pool_size if stride <= 0: - raise ValueError("The passed value to the stride parameter cannot be <= 0.") + msg = "The passed value to the stride parameter cannot be <= 0." + self.logger.error(msg) + raise ValueError(msg) self.stride = stride if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer @@ -496,20 +624,32 @@ def max_pooling(self, input2D): self.layer_output = pool_out -class ReLU: +class ReLU(CustomLogger): """ Implementing the ReLU layer. """ - def __init__(self, previous_layer): + def __init__(self, + previous_layer, + logger=None): """ previous_layer: Reference to the previous layer. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer @@ -536,20 +676,32 @@ def relu_layer(self, layer_input): self.layer_output_size = layer_input.size self.layer_output = relu(layer_input) -class Sigmoid: +class Sigmoid(CustomLogger): """ Implementing the sigmoid layer. """ - def __init__(self, previous_layer): + def __init__(self, + previous_layer, + logger=None): """ previous_layer: Reference to the previous layer. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer @@ -575,20 +727,32 @@ def sigmoid_layer(self, layer_input): self.layer_output_size = layer_input.size self.layer_output = sigmoid(layer_input) -class Flatten: +class Flatten(CustomLogger): """ Implementing the flatten layer. """ - def __init__(self, previous_layer): + def __init__(self, + previous_layer, + logger=None): """ previous_layer: Reference to the previous layer. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer @@ -614,22 +778,37 @@ def flatten(self, input2D): self.layer_output_size = input2D.size self.layer_output = numpy.ravel(input2D) -class Dense: +class Dense(CustomLogger): """ Implementing the input dense (fully connected) layer of a CNN. """ - def __init__(self, num_neurons, previous_layer, activation_function="relu"): + def __init__(self, + num_neurons, + previous_layer, + activation_function="relu", + logger=None): """ num_neurons: Number of neurons in the dense layer. previous_layer: Reference to the previous layer. activation_function: Name of the activation function to be used in the current layer. + logger=None: Reference to the instance of the logging.Logger class. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + if num_neurons <= 0: - raise ValueError("Number of neurons cannot be <= 0. Please pass a valid value to the 'num_neurons' parameter.") + msg = "Number of neurons cannot be <= 0. Please pass a valid value to the 'num_neurons' parameter." + self.logger.error(msg) + raise ValueError(msg) # Number of neurons in the dense layer. self.num_neurons = num_neurons @@ -642,17 +821,23 @@ def __init__(self, num_neurons, previous_layer, activation_function="relu"): elif (activation_function == "softmax"): self.activation = softmax else: - raise ValueError(f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions.") + msg = f"The specified activation function '{activation_function}' is not among the supported activation functions {supported_activation_functions}. Please use one of the supported functions." + self.logger.error(msg) + raise ValueError(msg) self.activation_function = activation_function if previous_layer is None: - raise TypeError("The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter.") + msg = "The previous layer cannot be of Type 'None'. Please pass a valid layer to the 'previous_layer' parameter." + self.logger.error(msg) + raise TypeError(msg) # A reference to the layer that preceeds the current layer in the network architecture. self.previous_layer = previous_layer - + if type(self.previous_layer.layer_output_size) in [list, tuple, numpy.ndarray] and len(self.previous_layer.layer_output_size) > 1: - raise ValueError(f"The input to the dense layer must be of type int but {type(self.previous_layer.layer_output_size)} found.") + msg = f"The input to the dense layer must be of type int but {type(self.previous_layer.layer_output_size)} found." + self.logger.error(msg) + raise ValueError(msg) # Initializing the weights of the layer. self.initial_weights = numpy.random.uniform(low=-0.1, high=0.1, @@ -682,26 +867,41 @@ def dense_layer(self, layer_input): """ if self.trained_weights is None: - raise TypeError("The weights of the dense layer cannot be of Type 'None'.") + msg = "The weights of the dense layer cannot be of Type 'None'." + self.logger.error(msg) + raise TypeError(msg) sop = numpy.matmul(layer_input, self.trained_weights) self.layer_output = self.activation(sop) -class Model: +class Model(CustomLogger): """ Creating a CNN model. """ - def __init__(self, last_layer, epochs=10, learning_rate=0.01): + def __init__(self, + last_layer, + epochs=10, + learning_rate=0.01, + logger=None): """ last_layer: A reference to the last layer in the CNN architecture. epochs=10: Number of epochs. learning_rate=0.01: Learning rate. + logger=None: Reference to the instance of the logging.Logger class. """ + super().__init__() + + # If logger is None, then the CustomLogger.logger is created. + if logger is None: + pass + else: + self.logger = logger + self.last_layer = last_layer self.epochs = epochs self.learning_rate = learning_rate @@ -728,7 +928,7 @@ def get_layers(self): return network_layers def train(self, train_inputs, train_outputs): - + """ Trains the CNN model. It is important to note that no learning algorithm is used for training the CNN. Just the learning rate is used for making some changes which is better than leaving the weights unchanged. @@ -738,16 +938,20 @@ def train(self, train_inputs, train_outputs): """ if (train_inputs.ndim != 4): - raise ValueError("The training data input has {num_dims} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.".format(num_dims=train_inputs.ndim)) + msg = f"The training data input has {train_inputs.ndim} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample." + self.logger.error(msg) + raise ValueError(msg) if (train_inputs.shape[0] != len(train_outputs)): - raise ValueError(f"Mismatch between the number of input samples and number of labels: {train_inputs.shape[0]} != {len(train_outputs)}.") + msg = f"Mismatch between the number of input samples and number of labels: {train_inputs.shape[0]} != {len(train_outputs)}." + self.logger.error(msg) + raise ValueError(msg) network_predictions = [] network_error = 0 for epoch in range(self.epochs): - print(f"Epoch {epoch}") + self.logger.info(f"Epoch {epoch}") for sample_idx in range(train_inputs.shape[0]): # print("Sample {sample_idx}".format(sample_idx=sample_idx)) self.feed_sample(train_inputs[sample_idx, :]) @@ -755,8 +959,10 @@ def train(self, train_inputs, train_outputs): try: predicted_label = numpy.where(numpy.max(self.last_layer.layer_output) == self.last_layer.layer_output)[0][0] except IndexError: - print(self.last_layer.layer_output) - raise IndexError("Index out of range") + self.logger.info(self.last_layer.layer_output) + msg = "Index out of range" + self.logger.error(msg) + raise IndexError(msg) network_predictions.append(predicted_label) network_error = network_error + abs(predicted_label - train_outputs[sample_idx]) @@ -796,8 +1002,10 @@ def feed_sample(self, sample): elif type(layer) is Input2D: pass else: - print("Other") - raise TypeError("The layer of type {type(layer)} is not supported yet.") + # self.logger.info("Other") + msg = "The layer of type {type(layer)} is not supported." + self.logger.error(msg) + raise TypeError(msg) last_layer_outputs = layer.layer_output return self.network_layers[-1].layer_output @@ -828,7 +1036,9 @@ def predict(self, data_inputs): """ if (data_inputs.ndim != 4): - raise ValueError("The data input has {data_inputs.ndim} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample.") + msg = "The data input has {data_inputs.ndim} but it must have 4 dimensions. The first dimension is the number of training samples, the second & third dimensions represent the width and height of the sample, and the fourth dimension represents the number of channels in the sample." + self.logger.error(msg) + raise ValueError(msg) predictions = [] for sample in data_inputs: @@ -843,7 +1053,7 @@ def summary(self): Prints a summary of the CNN architecture. """ - print("\n----------Network Architecture----------") + self.logger.info("\n----------Network Architecture----------") for layer in self.network_layers: - print(type(layer)) - print("----------------------------------------\n") + self.logger.info(type(layer)) + self.logger.info("----------------------------------------\n") diff --git a/pygad/gann/gann.py b/pygad/gann/gann.py index 4037e5a..2c3c5a7 100644 --- a/pygad/gann/gann.py +++ b/pygad/gann/gann.py @@ -1,4 +1,5 @@ from ..nn import nn +import warnings def validate_network_parameters(num_neurons_input, num_neurons_output, @@ -81,7 +82,7 @@ def validate_network_parameters(num_neurons_input, else: raise TypeError(unexpected_activation_type.format(activations_type=type(hidden_activations))) else: # In case there are no hidden layers (num_hidden_layers == 0) - print("WARNING: There are no hidden layers however a value is assigned to the parameter 'hidden_activations'. It will be reset to [].") + warnings.warn("WARNING: There are no hidden layers however a value is assigned to the parameter 'hidden_activations'. It will be reset to [].") hidden_activations = [] # If the value passed to the 'hidden_activations' parameter is actually a list, then its elements are checked to make sure the listed name(s) of the activation function(s) are supported. From 4de21aecec631fda6d48c2703e7de7059f61a88a Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 9 May 2023 17:28:57 -0400 Subject: [PATCH 057/220] Return outputs from callbacks --- pygad/pygad.py | 94 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 84 insertions(+), 10 deletions(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index 01dc850..9352169 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -1693,7 +1693,7 @@ def cal_pop_fitness(self): pop_fitness = numpy.array(pop_fitness) except Exception as ex: self.logger.exception(ex) - exit(-1) + sys.exit(-1) return pop_fitness def run(self): @@ -1738,8 +1738,7 @@ def run(self): # Measuring the fitness of each chromosome in the population. Save the fitness in the last_generation_fitness attribute. self.last_generation_fitness = self.cal_pop_fitness() - best_solution, best_solution_fitness, best_match_idx = self.best_solution( - pop_fitness=self.last_generation_fitness) + best_solution, best_solution_fitness, best_match_idx = self.best_solution(pop_fitness=self.last_generation_fitness) # Appending the best solution in the initial population to the best_solutions list. if self.save_best_solutions: @@ -1747,7 +1746,20 @@ def run(self): for generation in range(generation_first_idx, generation_last_idx): if not (self.on_fitness is None): - self.on_fitness(self, self.last_generation_fitness) + on_fitness_output = self.on_fitness(self, + self.last_generation_fitness) + + if on_fitness_output is None: + pass + else: + if type(on_fitness_output) in [tuple, list, numpy.ndarray, range]: + on_fitness_output = numpy.array(on_fitness_output) + if on_fitness_output.shape == self.last_generation_fitness.shape: + self.last_generation_fitness = on_fitness_output + else: + raise ValueError(f"Size mismatch between the output of on_fitness() {on_fitness_output.shape} and the expected fitness output {self.last_generation_fitness.shape}.") + else: + raise ValueError(f"The output of on_fitness() is expected to be tuple/list/range/numpy.ndarray but {type(on_fitness_output)} found.") # Appending the fitness value of the best solution in the current generation to the best_solutions_fitness attribute. self.best_solutions_fitness.append(best_solution_fitness) @@ -1788,7 +1800,45 @@ def run(self): raise ValueError(f"The iterable holding the selected parents indices is expected to have ({self.num_parents_mating}) values but ({len(self.last_generation_parents_indices)}) found.") if not (self.on_parents is None): - self.on_parents(self, self.last_generation_parents) + on_parents_output = self.on_parents(self, + self.last_generation_parents) + + if on_parents_output is None: + pass + elif type(on_parents_output) in [list, tuple, numpy.ndarray]: + if len(on_parents_output) == 2: + on_parents_selected_parents, on_parents_selected_parents_indices = on_parents_output + else: + raise ValueError(f"The output of on_parents() is expected to be tuple/list/numpy.ndarray of length 2 but {type(on_parents_output)} of length {len(on_parents_output)} found.") + + # Validate the parents. + if on_parents_selected_parents is None: + raise ValueError("The returned outputs of on_parents() cannot be None but the first output is None.") + else: + if type(on_parents_selected_parents) in [tuple, list, numpy.ndarray]: + on_parents_selected_parents = numpy.array(on_parents_selected_parents) + if on_parents_selected_parents.shape == self.last_generation_parents.shape: + self.last_generation_parents = on_parents_selected_parents + else: + raise ValueError(f"Size mismatch between the parents retrned by on_parents() {on_parents_selected_parents.shape} and the expected parents shape {self.last_generation_parents.shape}.") + else: + raise ValueError(f"The output of on_parents() is expected to be tuple/list/numpy.ndarray but the first output type is {type(on_parents_selected_parents)}.") + + # Validate the parents indices. + if on_parents_selected_parents_indices is None: + raise ValueError("The returned outputs of on_parents() cannot be None but the second output is None.") + else: + if type(on_parents_selected_parents_indices) in [tuple, list, numpy.ndarray, range]: + on_parents_selected_parents_indices = numpy.array(on_parents_selected_parents_indices) + if on_parents_selected_parents_indices.shape == self.last_generation_parents_indices.shape: + self.last_generation_parents_indices = on_parents_selected_parents_indices + else: + raise ValueError(f"Size mismatch between the parents indices returned by on_parents() {on_parents_selected_parents_indices.shape} and the expected crossover output {self.last_generation_parents_indices.shape}.") + else: + raise ValueError(f"The output of on_parents() is expected to be tuple/list/range/numpy.ndarray but the second output type is {type(on_parents_selected_parents_indices)}.") + + else: + raise TypeError(f"The output of on_parents() is expected to be tuple/list/numpy.ndarray but {type(on_parents_output)} found.") # If self.crossover_type=None, then no crossover is applied and thus no offspring will be created in the next generations. The next generation will use the solutions in the current population. if self.crossover_type is None: @@ -1832,8 +1882,19 @@ def run(self): # PyGAD 2.18.2 // The on_crossover() callback function is called even if crossover_type is None. if not (self.on_crossover is None): - self.on_crossover( - self, self.last_generation_offspring_crossover) + on_crossover_output = self.on_crossover(self, + self.last_generation_offspring_crossover) + if on_crossover_output is None: + pass + else: + if type(on_crossover_output) in [tuple, list, numpy.ndarray]: + on_crossover_output = numpy.array(on_crossover_output) + if on_crossover_output.shape == self.last_generation_offspring_crossover.shape: + self.last_generation_offspring_crossover = on_crossover_output + else: + raise ValueError(f"Size mismatch between the output of on_crossover() {on_crossover_output.shape} and the expected crossover output {self.last_generation_offspring_crossover.shape}.") + else: + raise ValueError(f"The output of on_crossover() is expected to be tuple/list/numpy.ndarray but {type(on_crossover_output)} found.") # If self.mutation_type=None, then no mutation is applied and thus no changes are applied to the offspring created using the crossover operation. The offspring will be used unchanged in the next generation. if self.mutation_type is None: @@ -1857,7 +1918,20 @@ def run(self): # PyGAD 2.18.2 // The on_mutation() callback function is called even if mutation_type is None. if not (self.on_mutation is None): - self.on_mutation(self, self.last_generation_offspring_mutation) + on_mutation_output = self.on_mutation(self, + self.last_generation_offspring_mutation) + + if on_mutation_output is None: + pass + else: + if type(on_mutation_output) in [tuple, list, numpy.ndarray]: + on_mutation_output = numpy.array(on_mutation_output) + if on_mutation_output.shape == self.last_generation_offspring_mutation.shape: + self.last_generation_offspring_mutation = on_mutation_output + else: + raise ValueError(f"Size mismatch between the output of on_mutation() {on_mutation_output.shape} and the expected mutation output {self.last_generation_offspring_mutation.shape}.") + else: + raise ValueError(f"The output of on_mutation() is expected to be tuple/list/numpy.ndarray but {type(on_mutation_output)} found.") # Update the population attribute according to the offspring generated. if self.keep_elitism == 0: @@ -1954,7 +2028,7 @@ def run(self): # self.solutions = numpy.array(self.solutions) except Exception as ex: self.logger.exception(ex) - exit(-1) + sys.exit(-1) def best_solution(self, pop_fitness=None): """ @@ -1989,7 +2063,7 @@ def best_solution(self, pop_fitness=None): best_solution_fitness = pop_fitness[best_match_idx] except Exception as ex: self.logger.exception(ex) - exit(-1) + sys.exit(-1) return best_solution, best_solution_fitness, best_match_idx From 63e83122040b2ead0f3a57eaa88e3d418df50628 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 9 May 2023 17:31:21 -0400 Subject: [PATCH 058/220] Change workflows names --- .github/workflows/main_py310.yml | 2 +- .github/workflows/main_py311.yml | 2 +- .github/workflows/main_py37.yml | 2 +- .github/workflows/main_py38.yml | 2 +- .github/workflows/main_py39.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main_py310.yml b/.github/workflows/main_py310.yml index 7e45fa9..7260720 100644 --- a/.github/workflows/main_py310.yml +++ b/.github/workflows/main_py310.yml @@ -1,4 +1,4 @@ -name: Testing PyGAD using PyTest +name: Python 3.10 Testing PyGAD using PyTest on: push: diff --git a/.github/workflows/main_py311.yml b/.github/workflows/main_py311.yml index 37b2085..5c37789 100644 --- a/.github/workflows/main_py311.yml +++ b/.github/workflows/main_py311.yml @@ -1,4 +1,4 @@ -name: Testing PyGAD using PyTest +name: Python 3.11 Testing PyGAD using PyTest on: push: diff --git a/.github/workflows/main_py37.yml b/.github/workflows/main_py37.yml index 061ada0..77e5a9f 100644 --- a/.github/workflows/main_py37.yml +++ b/.github/workflows/main_py37.yml @@ -1,4 +1,4 @@ -name: Testing PyGAD using PyTest +name: Python 3.7 Testing PyGAD using PyTest on: push: diff --git a/.github/workflows/main_py38.yml b/.github/workflows/main_py38.yml index 908b08e..7839f18 100644 --- a/.github/workflows/main_py38.yml +++ b/.github/workflows/main_py38.yml @@ -1,4 +1,4 @@ -name: Testing PyGAD using PyTest +name: Python 3.8 Testing PyGAD using PyTest on: push: diff --git a/.github/workflows/main_py39.yml b/.github/workflows/main_py39.yml index 0ef4f1c..b34d7ba 100644 --- a/.github/workflows/main_py39.yml +++ b/.github/workflows/main_py39.yml @@ -1,4 +1,4 @@ -name: Testing PyGAD using PyTest +name: Python 3.9 Testing PyGAD using PyTest on: push: From 464bfd619cac2f17d954e087a315b855630dc86d Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 10 May 2023 10:23:17 -0400 Subject: [PATCH 059/220] Batch fitness for adaptive mutation --- pygad/pygad.py | 18 ++++++------------ pygad/utils/mutation.py | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index 9352169..95a59cd 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -1531,8 +1531,7 @@ def cal_pop_fitness(self): elif (self.keep_elitism > 0) and (self.last_generation_elitism is not None) and (len(self.last_generation_elitism) > 0) and (list(sol) in last_generation_elitism_as_list): # Return the index of the elitism from the elitism array 'self.last_generation_elitism'. # This is not its index within the population. It is just its index in the 'self.last_generation_elitism' array. - elitism_idx = last_generation_elitism_as_list.index( - list(sol)) + elitism_idx = last_generation_elitism_as_list.index(list(sol)) # Use the returned elitism index to return its index in the last population. elitism_idx = self.last_generation_elitism_indices[elitism_idx] # Use the elitism's index to return its pre-calculated fitness value. @@ -1544,8 +1543,7 @@ def cal_pop_fitness(self): # Index of the parent in the 'self.last_generation_parents' array. # This is not its index within the population. It is just its index in the 'self.last_generation_parents' array. # parent_idx = numpy.where(numpy.all(self.last_generation_parents == sol, axis=1))[0][0] - parent_idx = last_generation_parents_as_list.index( - list(sol)) + parent_idx = last_generation_parents_as_list.index(list(sol)) # Use the returned parent index to return its index in the last population. parent_idx = self.last_generation_parents_indices[parent_idx] # Use the parent's index to return its pre-calculated fitness value. @@ -1573,13 +1571,11 @@ def cal_pop_fitness(self): solutions_indices = numpy.where( numpy.array(pop_fitness) == "undefined")[0] # Number of batches. - num_batches = int(numpy.ceil( - len(solutions_indices) / self.fitness_batch_size)) + num_batches = int(numpy.ceil(len(solutions_indices) / self.fitness_batch_size)) # For each batch, get its indices and call the fitness function. for batch_idx in range(num_batches): batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * \ - self.fitness_batch_size + batch_last_index = (batch_idx + 1) * self.fitness_batch_size batch_indices = solutions_indices[batch_first_index:batch_last_index] batch_solutions = self.population[batch_indices, :] @@ -1660,8 +1656,7 @@ def cal_pop_fitness(self): # Reaching this block means that batch processing is used. The fitness values are calculated in batches. # Number of batches. - num_batches = int(numpy.ceil( - len(solutions_to_submit_indices) / self.fitness_batch_size)) + num_batches = int(numpy.ceil(len(solutions_to_submit_indices) / self.fitness_batch_size)) # Each element of the `batches_solutions` list represents the solutions in one batch. batches_solutions = [] # Each element of the `batches_indices` list represents the solutions' indices in one batch. @@ -1669,8 +1664,7 @@ def cal_pop_fitness(self): # For each batch, get its indices and call the fitness function. for batch_idx in range(num_batches): batch_first_index = batch_idx * self.fitness_batch_size - batch_last_index = (batch_idx + 1) * \ - self.fitness_batch_size + batch_last_index = (batch_idx + 1) * self.fitness_batch_size batch_indices = solutions_to_submit_indices[batch_first_index:batch_last_index] batch_solutions = self.population[batch_indices, :] diff --git a/pygad/utils/mutation.py b/pygad/utils/mutation.py index 326ba6b..39a1a5d 100644 --- a/pygad/utils/mutation.py +++ b/pygad/utils/mutation.py @@ -438,8 +438,39 @@ def adaptive_mutation_population_fitness(self, offspring): fitness[:self.last_generation_parents.shape[0]] = self.last_generation_fitness[self.last_generation_parents_indices] - for idx in range(len(parents_to_keep), fitness.shape[0]): - fitness[idx] = self.fitness_func(self, temp_population[idx], None) + first_idx = len(parents_to_keep) + last_idx = fitness.shape[0] + fitness[first_idx:last_idx] = [0]*(last_idx - first_idx) + + if self.fitness_batch_size in [1, None]: + # Calculate the fitness for each individual solution. + for idx in range(first_idx, last_idx): + fitness[idx] = self.fitness_func(self, + temp_population[idx], + None) + else: + # Calculate the fitness for batch of solutions. + + # Number of batches. + num_batches = int(numpy.ceil((last_idx - first_idx) / self.fitness_batch_size)) + + for batch_idx in range(num_batches): + # The index of the first solution in the current batch. + batch_first_index = first_idx + batch_idx * self.fitness_batch_size + # The index of the last solution in the current batch. + if batch_idx == (num_batches - 1): + batch_last_index = last_idx + else: + batch_last_index = first_idx + (batch_idx + 1) * self.fitness_batch_size + + # Calculate the fitness values for the batch. + fitness_temp = self.fitness_func(self, + temp_population[batch_first_index:batch_last_index], + None) + # Insert the fitness of each solution at the proper index. + for idx in range(batch_first_index, batch_last_index): + fitness[idx] = fitness_temp[idx - batch_first_index] + average_fitness = numpy.mean(fitness) return average_fitness, fitness[len(parents_to_keep):] From b91a20641b7cafb0072fccf67eda4a29bb2f8aed Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 10 May 2023 11:32:03 -0400 Subject: [PATCH 060/220] Update example --- docs/source/README_pygad_ReadTheDocs.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/source/README_pygad_ReadTheDocs.rst b/docs/source/README_pygad_ReadTheDocs.rst index 1ab5505..c1e6d2f 100644 --- a/docs/source/README_pygad_ReadTheDocs.rst +++ b/docs/source/README_pygad_ReadTheDocs.rst @@ -913,7 +913,7 @@ It returns the following: - ``best_match_idx``: Index of the best solution in the current population. -.. _plotfitness-1: +.. _plotfitness: ``plot_fitness()`` ------------------ @@ -946,7 +946,7 @@ and higher, this method accepts the following parameters: 8. ``save_dir``: Directory to save the figure. -.. _plotnewsolutionrate-1: +.. _plotnewsolutionrate: ``plot_new_solution_rate()`` ---------------------------- @@ -979,7 +979,7 @@ This method accepts the following parameters: 8. ``save_dir``: Directory to save the figure. -.. _plotgenes-1: +.. _plotgenes: ``plot_genes()`` ---------------- @@ -1229,7 +1229,7 @@ The next step is to import PyGAD as follows: The ``pygad.GA`` class holds the implementation of all methods for running the genetic algorithm. -.. _create-an-instance-of-the-pygadga-class-1: +.. _create-an-instance-of-the-pygadga-class: Create an Instance of the ``pygad.GA`` Class -------------------------------------------- @@ -2403,6 +2403,8 @@ The function should return 2 outputs: 2. The indices of the selected parents inside the population. It is a 1D list with length equal to the number of selected parents. +The outputs must be of type ``numpy.ndarray``. + Here is a template for building a custom parent selection function. .. code:: python @@ -2427,7 +2429,7 @@ parents are selected. The number of parents is equal to the value in the for parent_num in range(num_parents): parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() - return parents, fitness_sorted[:num_parents] + return parents, numpy.array(fitness_sorted[:num_parents]) Finally, the defined function is assigned to the ``parent_selection_type`` parameter as in the next code. @@ -2474,7 +2476,7 @@ previous 3 user-defined functions instead of the built-in functions. for parent_num in range(num_parents): parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() - return parents, fitness_sorted[:num_parents] + return parents, numpy.array(fitness_sorted[:num_parents]) def crossover_func(parents, offspring_size, ga_instance): @@ -3004,7 +3006,7 @@ methods. The ``plot_fitness()`` method shows the fitness value for each generation. -.. _plottypeplot-1: +.. _plottypeplot: ``plot_type="plot"`` ~~~~~~~~~~~~~~~~~~~~ @@ -3021,7 +3023,7 @@ line connecting the fitness values across all generations: .. figure:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png :alt: -.. _plottypescatter-1: +.. _plottypescatter: ``plot_type="scatter"`` ~~~~~~~~~~~~~~~~~~~~~~~ @@ -3037,7 +3039,7 @@ these dots can be changed using the ``linewidth`` parameter. .. figure:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png :alt: -.. _plottypebar-1: +.. _plottypebar: ``plot_type="bar"`` ~~~~~~~~~~~~~~~~~~~ @@ -3393,8 +3395,6 @@ parameter: given the value 0, this means do not use parallel processing. This is identical to ``parallel_processing=None``. -.. _examples-1: - Examples -------- From b4bfb9ab630c027d4e874eae740bd53b7ff3aa12 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 10 May 2023 12:40:06 -0400 Subject: [PATCH 061/220] Test adaptive mutation --- tests/test_adaptive_mutation.py | 222 ++++++++++++++++++++ tests/test_gene_space.py | 50 ++++- tests/test_number_fitness_function_calls.py | 2 + 3 files changed, 273 insertions(+), 1 deletion(-) create mode 100644 tests/test_adaptive_mutation.py diff --git a/tests/test_adaptive_mutation.py b/tests/test_adaptive_mutation.py new file mode 100644 index 0000000..9b427df --- /dev/null +++ b/tests/test_adaptive_mutation.py @@ -0,0 +1,222 @@ +import pygad +import random +import numpy + +num_generations = 1 + +initial_population = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]] + +def output_adaptive_mutation(gene_space=None, + gene_type=float, + num_genes=10, + mutation_by_replacement=False, + random_mutation_min_val=-1, + random_mutation_max_val=1, + init_range_low=-4, + init_range_high=4, + initial_population=None, + mutation_probability=[0.2, 0.1], + fitness_batch_size=None, + mutation_type="adaptive"): + + def fitness_func_single(ga, solution, idx): + return random.random() + + def fitness_func_batch(ga, soluions, idxs): + return numpy.random.uniform(size=len(soluions)) + + if fitness_batch_size in [1, None]: + fitness_func = fitness_func_single + else: + fitness_func = fitness_func_batch + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=5, + fitness_func=fitness_func, + sol_per_pop=10, + num_genes=num_genes, + gene_space=gene_space, + gene_type=gene_type, + initial_population=initial_population, + init_range_low=init_range_low, + init_range_high=init_range_high, + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + allow_duplicate_genes=True, + mutation_by_replacement=mutation_by_replacement, + save_solutions=True, + mutation_probability=mutation_probability, + mutation_type=mutation_type, + suppress_warnings=True, + fitness_batch_size=fitness_batch_size, + random_seed=1) + + ga_instance.run() + + return None, ga_instance + +def test_adaptive_mutation(): + result, ga_instance = output_adaptive_mutation() + + # assert result == True + +def test_adaptive_mutation_gene_space(): + result, ga_instance = output_adaptive_mutation(gene_space=range(10)) + + # assert result == True + +def test_adaptive_mutation_int_gene_type(): + result, ga_instance = output_adaptive_mutation(gene_type=int) + + # assert result == True + +def test_adaptive_mutation_gene_space_gene_type(): + result, ga_instance = output_adaptive_mutation(gene_space={"low": 0, "high": 10}, + gene_type=[float, 2]) + + # assert result == True + +def test_adaptive_mutation_nested_gene_space(): + result, ga_instance = output_adaptive_mutation(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]]) + # assert result == True + +def test_adaptive_mutation_nested_gene_type(): + result, ga_instance = output_adaptive_mutation(gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + # assert result == True + +def test_adaptive_mutation_nested_gene_space_nested_gene_type(): + result, ga_instance = output_adaptive_mutation(gene_space=[[0, 1, 2, 3, 4], + numpy.arange(5, 10), + range(10, 15), + {"low": 15, "high": 20}, + {"low": 20, "high": 30, "step": 2}, + None, + numpy.arange(30, 35), + numpy.arange(35, 40), + numpy.arange(40, 45), + [45, 46, 47, 48, 49]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + # assert result == True + +def test_adaptive_mutation_initial_population(): + global initial_population + result, ga_instance = output_adaptive_mutation(initial_population=initial_population) + + # assert result == True + +def test_adaptive_mutation_initial_population_nested_gene_type(): + global initial_population + result, ga_instance = output_adaptive_mutation(initial_population=initial_population, + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + + # assert result == True + +def test_adaptive_mutation_fitness_batch_size_1(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=1) + +def test_adaptive_mutation_fitness_batch_size_2(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=2) + +def test_adaptive_mutation_fitness_batch_size_3(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=3) + +def test_adaptive_mutation_fitness_batch_size_4(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=4) + +def test_adaptive_mutation_fitness_batch_size_5(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=5) + +def test_adaptive_mutation_fitness_batch_size_6(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=6) + +def test_adaptive_mutation_fitness_batch_size_7(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=7) + +def test_adaptive_mutation_fitness_batch_size_8(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=8) + +def test_adaptive_mutation_fitness_batch_size_9(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=9) + +def test_adaptive_mutation_fitness_batch_size_10(): + result, ga_instance = output_adaptive_mutation(fitness_batch_size=10) + +if __name__ == "__main__": + print() + test_adaptive_mutation() + print() + + test_adaptive_mutation_int_gene_type() + print() + + test_adaptive_mutation_gene_space() + print() + + test_adaptive_mutation_gene_space_gene_type() + print() + + test_adaptive_mutation_nested_gene_space() + print() + + test_adaptive_mutation_nested_gene_type() + print() + + test_adaptive_mutation_initial_population() + print() + + test_adaptive_mutation_initial_population_nested_gene_type() + print() + + test_adaptive_mutation_fitness_batch_size_1() + print() + + test_adaptive_mutation_fitness_batch_size_1() + print() + + test_adaptive_mutation_fitness_batch_size_2() + print() + + test_adaptive_mutation_fitness_batch_size_3() + print() + + test_adaptive_mutation_fitness_batch_size_4() + print() + + test_adaptive_mutation_fitness_batch_size_5() + print() + + test_adaptive_mutation_fitness_batch_size_6() + print() + + test_adaptive_mutation_fitness_batch_size_7() + print() + + test_adaptive_mutation_fitness_batch_size_8() + print() + + test_adaptive_mutation_fitness_batch_size_9() + print() + + test_adaptive_mutation_fitness_batch_size_10() + print() + diff --git a/tests/test_gene_space.py b/tests/test_gene_space.py index 063acf7..7a375f2 100644 --- a/tests/test_gene_space.py +++ b/tests/test_gene_space.py @@ -30,6 +30,8 @@ def number_respect_gene_space(gene_space=None, random_mutation_max_val=1, init_range_low=-4, init_range_high=4, + mutation_type="random", + mutation_percent_genes="default", initial_population=None): def fitness_func(ga, solution, idx): @@ -50,6 +52,8 @@ def fitness_func(ga, solution, idx): allow_duplicate_genes=True, mutation_by_replacement=mutation_by_replacement, save_solutions=True, + mutation_type=mutation_type, + mutation_percent_genes=mutation_percent_genes, suppress_warnings=True, random_seed=2) @@ -77,6 +81,7 @@ def fitness_func(ga, solution, idx): if val >= ga_instance.gene_space[gene_idx]["low"] and val < ga_instance.gene_space[gene_idx]["high"]: pass else: + print(gene_idx, val, current_gene_space) num_outside += 1 else: gene_space_values = numpy.arange(ga_instance.gene_space[gene_idx]["low"], @@ -378,6 +383,43 @@ def test_nested_gene_space_mix_initial_population_single_gene_type(): assert num_outside == 0 +def test_nested_gene_space_single_gene_type_adaptive_mutation(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + numpy.arange(0, 10), + range(0, 10), + {"low": 0, "high": 10}, + {"low": 0, "high": 10}, + range(0, 10), + numpy.arange(0, 10), + numpy.arange(0, 10), + {"low": 0, "high": 10}, + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + # Due to rounding the genes, a gene at index 4 will have a value of 10 (outside the dict range) if [float, 2] is used. + gene_type=[float, 4], + mutation_percent_genes=[70, 50], + mutation_type="adaptive") + # print(ga_instance.population) + + assert num_outside == 0 + +def test_nested_gene_space_nested_gene_type_adaptive_mutation(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], + numpy.arange(0, 10), + range(0, 10), + {"low": 0, "high": 10}, + {"low": 0, "high": 10}, + range(0, 10), + numpy.arange(0, 10), + numpy.arange(0, 10), + {"low": 0, "high": 10}, + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], + gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]], + mutation_percent_genes=[70, 50], + mutation_type="adaptive") + # print(ga_instance.population) + + assert num_outside == 0 + if __name__ == "__main__": print() test_gene_space_range() @@ -446,4 +488,10 @@ def test_nested_gene_space_mix_initial_population_single_gene_type(): print() test_nested_gene_space_mix_initial_population_single_gene_type() - print() \ No newline at end of file + print() + + test_nested_gene_space_single_gene_type_adaptive_mutation() + print() + + test_nested_gene_space_nested_gene_type_adaptive_mutation() + print() diff --git a/tests/test_number_fitness_function_calls.py b/tests/test_number_fitness_function_calls.py index c628606..2910c7b 100644 --- a/tests/test_number_fitness_function_calls.py +++ b/tests/test_number_fitness_function_calls.py @@ -9,6 +9,8 @@ sol_per_pop = 10 num_parents_mating = 5 +# TODO: Calculate the number when fitness_batch_size is used. + def number_calls_fitness_function(keep_elitism=1, keep_parents=-1, mutation_type="random", From 0869b365d7b15f0a5088b5d55804d53bc891594d Mon Sep 17 00:00:00 2001 From: Tasos Papadopoulos Date: Sat, 13 May 2023 00:53:59 +0300 Subject: [PATCH 062/220] Fix typo --- pygad/pygad.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pygad/pygad.py b/pygad/pygad.py index 95a59cd..6a0ef4e 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -387,7 +387,7 @@ def __init__(self, raise TypeError(f"The value assigned to the 'initial_population' parameter is expected to by of type list, tuple, or ndarray but {type(initial_population)} found.") elif numpy.array(initial_population).ndim != 2: self.valid_parameters = False - raise ValueError(f"A 2D list is expected to the initail_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") + raise ValueError(f"A 2D list is expected to the initial_population parameter but a ({numpy.array(initial_population).ndim}-D) list found.") else: # Validate the type of each value in the 'initial_population' parameter. for row_idx in range(len(initial_population)): From 72ab5f7a7d105eaa0acff2f67407f502b32b5fae Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 13 Jun 2023 15:56:05 -0400 Subject: [PATCH 063/220] Fix rank selection --- pygad/utils/parent_selection.py | 390 ++++++++++++++++++-------------- 1 file changed, 214 insertions(+), 176 deletions(-) diff --git a/pygad/utils/parent_selection.py b/pygad/utils/parent_selection.py index 976e130..519c281 100644 --- a/pygad/utils/parent_selection.py +++ b/pygad/utils/parent_selection.py @@ -7,187 +7,225 @@ class ParentSelection: def steady_state_selection(self, fitness, num_parents): - """ - Selects the parents using the steady-state selection technique. Later, these parents will mate to produce the offspring. - It accepts 2 parameters: - -fitness: The fitness values of the solutions in the current population. - -num_parents: The number of parents to be selected. - It returns an array of the selected parents. - """ - - fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) - fitness_sorted.reverse() - # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. - if self.gene_type_single == True: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) - else: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) - for parent_num in range(num_parents): - parents[parent_num, :] = self.population[fitness_sorted[parent_num], :].copy() - - return parents, numpy.array(fitness_sorted[:num_parents]) - + """ + Selects the parents using the steady-state selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + for parent_num in range(num_parents): + parents[parent_num, :] = self.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + def rank_selection(self, fitness, num_parents): - - """ - Selects the parents using the rank selection technique. Later, these parents will mate to produce the offspring. - It accepts 2 parameters: - -fitness: The fitness values of the solutions in the current population. - -num_parents: The number of parents to be selected. - It returns an array of the selected parents. - """ - - fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) - fitness_sorted.reverse() - # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. - if self.gene_type_single == True: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) - else: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) - for parent_num in range(num_parents): - parents[parent_num, :] = self.population[fitness_sorted[parent_num], :].copy() - - return parents, numpy.array(fitness_sorted[:num_parents]) - + + """ + Selects the parents using the rank selection technique. Later, these parents will mate to produce the offspring. + Rank selection gives a rank from 1 to N (number of solutions) to each solution based on its fitness. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + # This has the index of each solution in the population. + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + + # Rank the solutions based on their fitness. The worst is gives the rank 1. The best has the rank N. + rank = numpy.arange(1, self.sol_per_pop+1) + + probs = rank / numpy.sum(rank) + + probs_start, probs_end, parents = self.wheel_cumulative_probs(probs=probs.copy(), + num_parents=num_parents) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_prob = numpy.random.rand() + for idx in range(probs.shape[0]): + if (rand_prob >= probs_start[idx] and rand_prob < probs_end[idx]): + # The variable idx has the rank of solution but not its index in the population. + # Return the correct index of the solution. + mapped_idx = fitness_sorted[idx] + parents[parent_num, :] = self.population[mapped_idx, :].copy() + parents_indices.append(mapped_idx) + break + + return parents, numpy.array(parents_indices) + def random_selection(self, fitness, num_parents): - """ - Selects the parents randomly. Later, these parents will mate to produce the offspring. - It accepts 2 parameters: - -fitness: The fitness values of the solutions in the current population. - -num_parents: The number of parents to be selected. - It returns an array of the selected parents. - """ - - if self.gene_type_single == True: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) - else: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) - - rand_indices = numpy.random.randint(low=0.0, high=fitness.shape[0], size=num_parents) - - for parent_num in range(num_parents): - parents[parent_num, :] = self.population[rand_indices[parent_num], :].copy() - - return parents, rand_indices - + """ + Selects the parents randomly. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + rand_indices = numpy.random.randint(low=0.0, high=fitness.shape[0], size=num_parents) + + for parent_num in range(num_parents): + parents[parent_num, :] = self.population[rand_indices[parent_num], :].copy() + + return parents, rand_indices + def tournament_selection(self, fitness, num_parents): - - """ - Selects the parents using the tournament selection technique. Later, these parents will mate to produce the offspring. - It accepts 2 parameters: - -fitness: The fitness values of the solutions in the current population. - -num_parents: The number of parents to be selected. - It returns an array of the selected parents. - """ - - if self.gene_type_single == True: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) - else: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) - - parents_indices = [] - - for parent_num in range(num_parents): - rand_indices = numpy.random.randint(low=0.0, high=len(fitness), size=self.K_tournament) - K_fitnesses = fitness[rand_indices] - selected_parent_idx = numpy.where(K_fitnesses == numpy.max(K_fitnesses))[0][0] - parents_indices.append(rand_indices[selected_parent_idx]) - parents[parent_num, :] = self.population[rand_indices[selected_parent_idx], :].copy() - - return parents, numpy.array(parents_indices) + + """ + Selects the parents using the tournament selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_indices = numpy.random.randint(low=0.0, high=len(fitness), size=self.K_tournament) + K_fitnesses = fitness[rand_indices] + selected_parent_idx = numpy.where(K_fitnesses == numpy.max(K_fitnesses))[0][0] + parents_indices.append(rand_indices[selected_parent_idx]) + parents[parent_num, :] = self.population[rand_indices[selected_parent_idx], :].copy() + + return parents, numpy.array(parents_indices) def roulette_wheel_selection(self, fitness, num_parents): - """ - Selects the parents using the roulette wheel selection technique. Later, these parents will mate to produce the offspring. - It accepts 2 parameters: - -fitness: The fitness values of the solutions in the current population. - -num_parents: The number of parents to be selected. - It returns an array of the selected parents. - """ - - fitness_sum = numpy.sum(fitness) - if fitness_sum == 0: - self.logger.error("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") - raise ZeroDivisionError("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") - probs = fitness / fitness_sum - probs_start = numpy.zeros(probs.shape, dtype=float) # An array holding the start values of the ranges of probabilities. - probs_end = numpy.zeros(probs.shape, dtype=float) # An array holding the end values of the ranges of probabilities. - - curr = 0.0 - - # Calculating the probabilities of the solutions to form a roulette wheel. - for _ in range(probs.shape[0]): - min_probs_idx = numpy.where(probs == numpy.min(probs))[0][0] - probs_start[min_probs_idx] = curr - curr = curr + probs[min_probs_idx] - probs_end[min_probs_idx] = curr - probs[min_probs_idx] = 99999999999 - - # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. - if self.gene_type_single == True: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) - else: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) - - parents_indices = [] - - for parent_num in range(num_parents): - rand_prob = numpy.random.rand() - for idx in range(probs.shape[0]): - if (rand_prob >= probs_start[idx] and rand_prob < probs_end[idx]): - parents[parent_num, :] = self.population[idx, :].copy() - parents_indices.append(idx) - break - return parents, numpy.array(parents_indices) - + """ + Selects the parents using the roulette wheel selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sum = numpy.sum(fitness) + if fitness_sum == 0: + self.logger.error("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + raise ZeroDivisionError("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + + probs = fitness / fitness_sum + + probs_start, probs_end, parents = self.wheel_cumulative_probs(probs=probs.copy(), + num_parents=num_parents) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_prob = numpy.random.rand() + for idx in range(probs.shape[0]): + if (rand_prob >= probs_start[idx] and rand_prob < probs_end[idx]): + parents[parent_num, :] = self.population[idx, :].copy() + parents_indices.append(idx) + break + + return parents, numpy.array(parents_indices) + + def wheel_cumulative_probs(self, probs, num_parents): + """ + A helper function to calculate the wheel probabilities for these 2 methods: + 1) roulette_wheel_selection + 2) rank_selection + It accepts a single 1D array representing the probabilities of selecting each solution. + It returns 2 1D arrays: + 1) probs_start has the start of each range. + 2) probs_start has the end of each range. + It also returns an empty array for the parents. + """ + + probs_start = numpy.zeros(probs.shape, dtype=float) # An array holding the start values of the ranges of probabilities. + probs_end = numpy.zeros(probs.shape, dtype=float) # An array holding the end values of the ranges of probabilities. + + curr = 0.0 + + # Calculating the probabilities of the solutions to form a roulette wheel. + for _ in range(probs.shape[0]): + min_probs_idx = numpy.where(probs == numpy.min(probs))[0][0] + probs_start[min_probs_idx] = curr + curr = curr + probs[min_probs_idx] + probs_end[min_probs_idx] = curr + probs[min_probs_idx] = 99999999999 + + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + return probs_start, probs_end, parents + def stochastic_universal_selection(self, fitness, num_parents): - - """ - Selects the parents using the stochastic universal selection technique. Later, these parents will mate to produce the offspring. - It accepts 2 parameters: - -fitness: The fitness values of the solutions in the current population. - -num_parents: The number of parents to be selected. - It returns an array of the selected parents. - """ - - fitness_sum = numpy.sum(fitness) - if fitness_sum == 0: - self.logger.error("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") - raise ZeroDivisionError("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") - probs = fitness / fitness_sum - probs_start = numpy.zeros(probs.shape, dtype=float) # An array holding the start values of the ranges of probabilities. - probs_end = numpy.zeros(probs.shape, dtype=float) # An array holding the end values of the ranges of probabilities. - - curr = 0.0 - - # Calculating the probabilities of the solutions to form a roulette wheel. - for _ in range(probs.shape[0]): - min_probs_idx = numpy.where(probs == numpy.min(probs))[0][0] - probs_start[min_probs_idx] = curr - curr = curr + probs[min_probs_idx] - probs_end[min_probs_idx] = curr - probs[min_probs_idx] = 99999999999 - - pointers_distance = 1.0 / self.num_parents_mating # Distance between different pointers. - first_pointer = numpy.random.uniform(low=0.0, - high=pointers_distance, - size=1)[0] # Location of the first pointer. - - # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. - if self.gene_type_single == True: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) - else: - parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) - - parents_indices = [] - - for parent_num in range(num_parents): - rand_pointer = first_pointer + parent_num*pointers_distance - for idx in range(probs.shape[0]): - if (rand_pointer >= probs_start[idx] and rand_pointer < probs_end[idx]): - parents[parent_num, :] = self.population[idx, :].copy() - parents_indices.append(idx) - break - return parents, numpy.array(parents_indices) + + """ + Selects the parents using the stochastic universal selection technique. Later, these parents will mate to produce the offspring. + It accepts 2 parameters: + -fitness: The fitness values of the solutions in the current population. + -num_parents: The number of parents to be selected. + It returns an array of the selected parents. + """ + + fitness_sum = numpy.sum(fitness) + if fitness_sum == 0: + self.logger.error("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + raise ZeroDivisionError("Cannot proceed because the sum of fitness values is zero. Cannot divide by zero.") + probs = fitness / fitness_sum + probs_start = numpy.zeros(probs.shape, dtype=float) # An array holding the start values of the ranges of probabilities. + probs_end = numpy.zeros(probs.shape, dtype=float) # An array holding the end values of the ranges of probabilities. + + curr = 0.0 + + # Calculating the probabilities of the solutions to form a roulette wheel. + for _ in range(probs.shape[0]): + min_probs_idx = numpy.where(probs == numpy.min(probs))[0][0] + probs_start[min_probs_idx] = curr + curr = curr + probs[min_probs_idx] + probs_end[min_probs_idx] = curr + probs[min_probs_idx] = 99999999999 + + pointers_distance = 1.0 / self.num_parents_mating # Distance between different pointers. + first_pointer = numpy.random.uniform(low=0.0, + high=pointers_distance, + size=1)[0] # Location of the first pointer. + + # Selecting the best individuals in the current generation as parents for producing the offspring of the next generation. + if self.gene_type_single == True: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=self.gene_type[0]) + else: + parents = numpy.empty((num_parents, self.population.shape[1]), dtype=object) + + parents_indices = [] + + for parent_num in range(num_parents): + rand_pointer = first_pointer + parent_num*pointers_distance + for idx in range(probs.shape[0]): + if (rand_pointer >= probs_start[idx] and rand_pointer < probs_end[idx]): + parents[parent_num, :] = self.population[idx, :].copy() + parents_indices.append(idx) + break + + return parents, numpy.array(parents_indices) From 83a16355bdf91d524cb180aca20d553ee57ec5e7 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 13 Jun 2023 17:07:30 -0400 Subject: [PATCH 064/220] More tests for mutation --- tests/test_crossover_mutation.py | 67 ++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/tests/test_crossover_mutation.py b/tests/test_crossover_mutation.py index f65a795..8be66c9 100644 --- a/tests/test_crossover_mutation.py +++ b/tests/test_crossover_mutation.py @@ -154,6 +154,64 @@ def test_zero_crossover_probability_zero_mutation_probability(): assert result == True +def test_random_mutation_manual_call(): + result, ga_instance = output_crossover_mutation(mutation_type="random", + random_mutation_min_val=888, + random_mutation_max_val=999) + ga_instance.mutation_num_genes = 9 + + temp_offspring = numpy.array(initial_population[0:1]) + offspring = ga_instance.random_mutation(offspring=temp_offspring.copy()) + + comp = offspring - temp_offspring + comp_sorted = sorted(comp.copy()) + comp_sorted = numpy.abs(numpy.unique(comp_sorted)) + + # The other 1 added to include the last value in the range. + assert len(comp_sorted) in range(1, 1 + 1 + ga_instance.mutation_num_genes) + assert comp_sorted[0] == 0 + +def test_random_mutation_manual_call2(): + result, ga_instance = output_crossover_mutation(mutation_type="random", + random_mutation_min_val=888, + random_mutation_max_val=999) + ga_instance.mutation_num_genes = 10 + + temp_offspring = numpy.array(initial_population[0:1]) + offspring = ga_instance.random_mutation(offspring=temp_offspring.copy()) + + comp = offspring - temp_offspring + comp_sorted = sorted(comp.copy()) + comp_sorted = numpy.abs(numpy.unique(comp_sorted)) + + # The other 1 added to include the last value in the range. + assert len(comp_sorted) in range(1, 1 + 1 + ga_instance.mutation_num_genes) + # assert comp_sorted[0] == 0 + +def test_random_mutation_manual_call3(): + random_mutation_min_val = 888 + random_mutation_max_val = 999 + result, ga_instance = output_crossover_mutation(mutation_type="random", + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + mutation_by_replacement=True) + ga_instance.mutation_num_genes = 10 + + temp_offspring = numpy.array(initial_population[0:1]) + offspring = ga_instance.random_mutation(offspring=temp_offspring.copy()) + + comp = offspring + comp_sorted = sorted(comp.copy()) + comp_sorted = numpy.abs(numpy.unique(comp)) + + # The other 1 added to include the last value in the range. + # assert len(comp_sorted) in range(1, 1 + 1 + ga_instance.mutation_num_genes) + # assert comp_sorted[0] == 0 + + value_space = list(range(random_mutation_min_val, random_mutation_max_val)) + for value in comp_sorted: + assert value in value_space + if __name__ == "__main__": print() test_no_crossover_no_mutation() @@ -186,3 +244,12 @@ def test_zero_crossover_probability_zero_mutation_probability(): test_zero_crossover_probability_zero_mutation_probability() print() + test_random_mutation_manual_call() + print() + + test_random_mutation_manual_call2() + print() + + test_random_mutation_manual_call3() + print() + From 31a3975cce88022c48433e324550e7ef92d81953 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 14 Jun 2023 15:32:43 -0400 Subject: [PATCH 065/220] More updates --- pygad/helper/unique.py | 12 +- pygad/kerasga/kerasga.py | 4 +- pygad/pygad.py | 240 +++++++++++++----- pygad/utils/mutation.py | 122 ++++++--- tests/test_crossover_mutation.py | 29 ++- tests/test_gene_space.py | 120 ++++++++- .../test_gene_space_allow_duplicate_genes.py | 66 ++--- 7 files changed, 451 insertions(+), 142 deletions(-) diff --git a/pygad/helper/unique.py b/pygad/helper/unique.py index af381fe..1a0ba63 100644 --- a/pygad/helper/unique.py +++ b/pygad/helper/unique.py @@ -603,11 +603,15 @@ def find_two_duplicates(self, return None, gene def unpack_gene_space(self, + range_min, + range_max, num_values_from_inf_range=100): """ Unpack the gene_space for the purpose of selecting a value that solves the duplicates. This is by replacing each range by a list of values. It accepts: + range_min: The range minimum value. + range_min: The range maximum value. num_values_from_inf_range: For infinite range of float values, a fixed number of values equal to num_values_from_inf_range is selected using the numpy.linspace() function. It returns the unpacked gene space. """ @@ -662,8 +666,8 @@ def unpack_gene_space(self, gene_space_unpacked[space_idx] = [space] elif space is None: # Randomly generate the value using the mutation range. - gene_space_unpacked[space_idx] = numpy.arange(start=self.random_mutation_min_val, - stop=self.random_mutation_max_val) + gene_space_unpacked[space_idx] = numpy.arange(start=range_min, + stop=range_max) elif type(space) is range: # Convert the range to a list. gene_space_unpacked[space_idx] = list(space) @@ -720,8 +724,8 @@ def unpack_gene_space(self, none_indices = numpy.where(numpy.array(gene_space_unpacked[space_idx]) == None)[0] if len(none_indices) > 0: for idx in none_indices: - random_value = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + random_value = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] gene_space_unpacked[space_idx][idx] = random_value diff --git a/pygad/kerasga/kerasga.py b/pygad/kerasga/kerasga.py index 0e1b618..93491a0 100644 --- a/pygad/kerasga/kerasga.py +++ b/pygad/kerasga/kerasga.py @@ -37,13 +37,13 @@ def model_weights_as_matrix(model, weights_vector): return weights_matrix -def predict(model, solution, data): +def predict(model, solution, data, verbose=1): # Fetch the parameters of the best solution. solution_weights = model_weights_as_matrix(model=model, weights_vector=solution) _model = tensorflow.keras.models.clone_model(model) _model.set_weights(solution_weights) - predictions = _model.predict(data) + predictions = _model(data) return predictions diff --git a/pygad/pygad.py b/pygad/pygad.py index 95a59cd..01ace61 100644 --- a/pygad/pygad.py +++ b/pygad/pygad.py @@ -264,32 +264,78 @@ def __init__(self, self.gene_space = gene_space + # Validate init_range_low and init_range_high + # if type(init_range_low) in GA.supported_int_float_types: + # if type(init_range_high) in GA.supported_int_float_types: + # self.init_range_low = init_range_low + # self.init_range_high = init_range_high + # else: + # self.valid_parameters = False + # raise ValueError(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") + # else: + # self.valid_parameters = False + # raise ValueError(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + # Validate init_range_low and init_range_high if type(init_range_low) in GA.supported_int_float_types: if type(init_range_high) in GA.supported_int_float_types: - self.init_range_low = init_range_low - self.init_range_high = init_range_high + if init_range_low == init_range_high: + if not self.suppress_warnings: + warnings.warn("The values of the 2 parameters 'init_range_low' and 'init_range_high' are equal and this might return the same value for some genes in the initial population.") else: self.valid_parameters = False - raise ValueError(f"The value passed to the 'init_range_high' parameter must be either integer or floating-point number but the value ({init_range_high}) of type {type(init_range_high)} found.") - else: - self.valid_parameters = False - raise ValueError(f"The value passed to the 'init_range_low' parameter must be either integer or floating-point number but the value ({init_range_low}) of type {type(init_range_low)} found.") + raise TypeError(f"Type mismatch between the 2 parameters 'init_range_low' {type(init_range_low)} and 'init_range_high' {type(init_range_high)}.") + elif type(init_range_low) in [list, tuple, numpy.ndarray]: + # The self.num_genes attribute is not created yet. + # if len(init_range_low) == self.num_genes: + # pass + # else: + # self.valid_parameters = False + # raise ValueError(f"The length of the 'init_range_low' parameter is {len(init_range_low)} which is different from the number of genes {self.num_genes}.") + + # Get the number of genes before validating the num_genes parameter. + if num_genes is None: + if initial_population is None: + self.valid_parameters = False + raise TypeError("When the parameter 'initial_population' is None, then the 2 parameters 'sol_per_pop' and 'num_genes' cannot be None too.") + elif not len(init_range_low) == len(initial_population[0]): + self.valid_parameters = False + raise ValueError(f"The length of the 'init_range_low' parameter is {len(init_range_low)} which is different from the number of genes {len(initial_population[0])}.") + elif not len(init_range_low) == num_genes: + self.valid_parameters = False + raise ValueError(f"The length of the 'init_range_low' parameter is {len(init_range_low)} which is different from the number of genes {num_genes}.") - # Validate random_mutation_min_val and random_mutation_max_val - if type(random_mutation_min_val) in GA.supported_int_float_types: - if type(random_mutation_max_val) in GA.supported_int_float_types: - if random_mutation_min_val == random_mutation_max_val: - if not self.suppress_warnings: - warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this causes a fixed change to all genes.") + if type(init_range_high) in [list, tuple, numpy.ndarray]: + if len(init_range_low) == len(init_range_high): + pass + else: + self.valid_parameters = False + raise ValueError(f"Size mismatch between the 2 parameters 'init_range_low' {len(init_range_low)} and 'init_range_high' {len(init_range_high)}.") + + # Validate the values in init_range_low + for val in init_range_low: + if type(val) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + raise TypeError(f"When an iterable (list/tuple/numpy.ndarray) is assigned to the 'init_range_low' parameter, its elements must be numeric but the value {val} of type {type(val)} found.") + + # Validate the values in init_range_high + for val in init_range_high: + if type(val) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + raise TypeError(f"When an iterable (list/tuple/numpy.ndarray) is assigned to the 'init_range_high' parameter, its elements must be numeric but the value {val} of type {type(val)} found.") else: self.valid_parameters = False - raise TypeError(f"The expected type of the 'random_mutation_max_val' parameter is numeric but {type(random_mutation_max_val)} found.") + raise TypeError(f"Type mismatch between the 2 parameters 'init_range_low' {type(init_range_low)} and 'init_range_high' {type(init_range_high)}. Both of them can be either numeric or iterable (list/tuple/numpy.ndarray).") else: self.valid_parameters = False - raise TypeError(f"The expected type of the 'random_mutation_min_val' parameter is numeric but {type(random_mutation_min_val)} found.") - self.random_mutation_min_val = random_mutation_min_val - self.random_mutation_max_val = random_mutation_max_val + raise TypeError(f"The expected type of the 'init_range_low' parameter is numeric or list/tuple/numpy.ndarray but {type(init_range_low)} found.") + + self.init_range_low = init_range_low + self.init_range_high = init_range_high # Validate gene_type if gene_type in GA.supported_int_float_types: @@ -304,6 +350,7 @@ def __init__(self, self.gene_type_single = False raise ValueError(f"Integers cannot have precision. Please use the integer data type directly instead of {gene_type}.") elif type(gene_type) in [list, tuple, numpy.ndarray]: + # Get the number of genes before validating the num_genes parameter. if num_genes is None: if initial_population is None: self.valid_parameters = False @@ -346,7 +393,8 @@ def __init__(self, raise ValueError(f"The value passed to the 'gene_type' parameter must be either a single integer, floating-point, list, tuple, or numpy.ndarray but ({gene_type}) of type {type(gene_type)} found.") # Call the unpack_gene_space() method in the pygad.helper.unique.Unique class. - self.gene_space_unpacked = self.unpack_gene_space() + self.gene_space_unpacked = self.unpack_gene_space(range_min=self.init_range_low, + range_max=self.init_range_high) # Build the initial population if initial_population is None: @@ -374,11 +422,11 @@ def __init__(self, # Number of solutions in the population. self.sol_per_pop = sol_per_pop - self.initialize_population(self.init_range_low, - self.init_range_high, - allow_duplicate_genes, - True, - self.gene_type) + self.initialize_population(low=self.init_range_low, + high=self.init_range_high, + allow_duplicate_genes=allow_duplicate_genes, + mutation_by_replacement=True, + gene_type=self.gene_type) else: self.valid_parameters = False raise TypeError(f"The expected type of both the sol_per_pop and num_genes parameters is int but {type(sol_per_pop)} and {type(num_genes)} found.") @@ -457,6 +505,53 @@ def __init__(self, self.valid_parameters = False raise ValueError(f"When the parameter 'gene_space' is nested, then its length must be equal to the value passed to the 'num_genes' parameter. Instead, length of gene_space ({len(gene_space)}) != num_genes ({self.num_genes})") + # Validate random_mutation_min_val and random_mutation_max_val + if type(random_mutation_min_val) in GA.supported_int_float_types: + if type(random_mutation_max_val) in GA.supported_int_float_types: + if random_mutation_min_val == random_mutation_max_val: + if not self.suppress_warnings: + warnings.warn("The values of the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val' are equal and this might cause a fixed mutation to some genes.") + else: + self.valid_parameters = False + raise TypeError(f"Type mismatch between the 2 parameters 'random_mutation_min_val' {type(random_mutation_min_val)} and 'random_mutation_max_val' {type(random_mutation_max_val)}.") + elif type(random_mutation_min_val) in [list, tuple, numpy.ndarray]: + if len(random_mutation_min_val) == self.num_genes: + pass + else: + self.valid_parameters = False + raise ValueError(f"The length of the 'random_mutation_min_val' parameter is {len(random_mutation_min_val)} which is different from the number of genes {self.num_genes}.") + if type(random_mutation_max_val) in [list, tuple, numpy.ndarray]: + if len(random_mutation_min_val) == len(random_mutation_max_val): + pass + else: + self.valid_parameters = False + raise ValueError(f"Size mismatch between the 2 parameters 'random_mutation_min_val' {len(random_mutation_min_val)} and 'random_mutation_max_val' {len(random_mutation_max_val)}.") + + # Validate the values in random_mutation_min_val + for val in random_mutation_min_val: + if type(val) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + raise TypeError(f"When an iterable (list/tuple/numpy.ndarray) is assigned to the 'random_mutation_min_val' parameter, its elements must be numeric but the value {val} of type {type(val)} found.") + + # Validate the values in random_mutation_max_val + for val in random_mutation_max_val: + if type(val) in GA.supported_int_float_types: + pass + else: + self.valid_parameters = False + raise TypeError(f"When an iterable (list/tuple/numpy.ndarray) is assigned to the 'random_mutation_max_val' parameter, its elements must be numeric but the value {val} of type {type(val)} found.") + else: + self.valid_parameters = False + raise TypeError(f"Type mismatch between the 2 parameters 'random_mutation_min_val' {type(random_mutation_min_val)} and 'random_mutation_max_val' {type(random_mutation_max_val)}.") + else: + self.valid_parameters = False + raise TypeError(f"The expected type of the 'random_mutation_min_val' parameter is numeric or list/tuple/numpy.ndarray but {type(random_mutation_min_val)} found.") + + self.random_mutation_min_val = random_mutation_min_val + self.random_mutation_max_val = random_mutation_max_val + # Validating the number of parents to be selected for mating (num_parents_mating) if num_parents_mating <= 0: self.valid_parameters = False @@ -1252,9 +1347,17 @@ def initialize_population(self, shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): + + if type(self.init_range_low) in self.supported_int_float_types: + range_min = self.init_range_low + range_max = self.init_range_high + else: + range_min = self.init_range_low[gene_idx] + range_max = self.init_range_high[gene_idx] + # A vector of all values of this single gene across all solutions in the population. - gene_values = numpy.asarray(numpy.random.uniform(low=low, - high=high, + gene_values = numpy.asarray(numpy.random.uniform(low=range_min, + high=range_max, size=self.pop_size[0]), dtype=self.gene_type[gene_idx][0]) # Adding the current gene values to the population. @@ -1280,6 +1383,14 @@ def initialize_population(self, dtype=self.gene_type[0]) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): + + if type(self.init_range_low) in self.supported_int_float_types: + range_min = self.init_range_low + range_max = self.init_range_high + else: + range_min = self.init_range_low[gene_idx] + range_max = self.init_range_high[gene_idx] + if self.gene_space[gene_idx] is None: # The following commented code replace the None value with a single number that will not change again. @@ -1290,8 +1401,8 @@ def initialize_population(self, # self.population[sol_idx, gene_idx] = list(self.gene_space[gene_idx]).copy() # The above problem is solved by keeping the None value in the gene_space parameter. This forces PyGAD to generate this value for each solution. - self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, + self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=range_min, + high=range_max, size=1), dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple, range]: @@ -1308,16 +1419,15 @@ def initialize_population(self, for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=range_min, + high=range_max, size=1), dtype=self.gene_type[0])[0] # Find the difference between the current gene space and the current values in the solution. unique_gene_values = list(set(self.gene_space[gene_idx]).difference( set(self.population[sol_idx, :gene_idx]))) if len(unique_gene_values) > 0: - self.population[sol_idx, gene_idx] = random.choice( - unique_gene_values) + self.population[sol_idx, gene_idx] = random.choice(unique_gene_values) else: # If there is no unique values, then we have to select a duplicate value. self.population[sol_idx, gene_idx] = random.choice( @@ -1331,20 +1441,17 @@ def initialize_population(self, elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[ - gene_idx]['high'], + stop=self.gene_space[gene_idx]['high'], step=self.gene_space[gene_idx]['step']), size=1), dtype=self.gene_type[0])[0] else: self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[ - gene_idx]['high'], + high=self.gene_space[gene_idx]['high'], size=1), dtype=self.gene_type[0])[0] elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, - gene_idx] = self.gene_space[gene_idx] + self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] else: # There is no more options. pass @@ -1356,53 +1463,54 @@ def initialize_population(self, dtype=object) for sol_idx in range(self.sol_per_pop): for gene_idx in range(self.num_genes): + + if type(self.init_range_low) in self.supported_int_float_types: + range_min = self.init_range_low + range_max = self.init_range_high + else: + range_min = self.init_range_low[gene_idx] + range_max = self.init_range_high[gene_idx] + if type(self.gene_space[gene_idx]) in [numpy.ndarray, list, tuple, range]: # Convert to list because tuple and range do not have copy(). # We copy the gene_space to a temp variable to keep its original value. # In the next for loop, the gene_space is changed. # Later, the gene_space is restored to its original value using the temp variable. - temp_gene_space = list( - self.gene_space[gene_idx]).copy() + temp_gene_space = list(self.gene_space[gene_idx]).copy() # Check if the gene space has None values. If any, then replace it with randomly generated values according to the 3 attributes init_range_low, init_range_high, and gene_type. for idx, val in enumerate(self.gene_space[gene_idx]): if val is None: - self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, + self.gene_space[gene_idx][idx] = numpy.asarray(numpy.random.uniform(low=range_min, + high=range_max, size=1), dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, gene_idx] = random.choice( - self.gene_space[gene_idx]) - self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0]( - self.population[sol_idx, gene_idx]) + self.population[sol_idx, gene_idx] = random.choice(self.gene_space[gene_idx]) + self.population[sol_idx, gene_idx] = self.gene_type[gene_idx][0](self.population[sol_idx, gene_idx]) # Restore the gene_space from the temp_gene_space variable. self.gene_space[gene_idx] = temp_gene_space.copy() elif type(self.gene_space[gene_idx]) is dict: if 'step' in self.gene_space[gene_idx].keys(): self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.choice(numpy.arange(start=self.gene_space[gene_idx]['low'], - stop=self.gene_space[ - gene_idx]['high'], + stop=self.gene_space[gene_idx]['high'], step=self.gene_space[gene_idx]['step']), size=1), dtype=self.gene_type[gene_idx][0])[0] else: self.population[sol_idx, gene_idx] = numpy.asarray(numpy.random.uniform(low=self.gene_space[gene_idx]['low'], - high=self.gene_space[ - gene_idx]['high'], + high=self.gene_space[gene_idx]['high'], size=1), dtype=self.gene_type[gene_idx][0])[0] elif type(self.gene_space[gene_idx]) == type(None): - temp_gene_value = numpy.asarray(numpy.random.uniform(low=low, - high=high, + temp_gene_value = numpy.asarray(numpy.random.uniform(low=range_min, + high=range_max, size=1), dtype=self.gene_type[gene_idx][0])[0] - self.population[sol_idx, - gene_idx] = temp_gene_value.copy() + self.population[sol_idx, gene_idx] = temp_gene_value.copy() elif type(self.gene_space[gene_idx]) in GA.supported_int_float_types: - self.population[sol_idx, - gene_idx] = self.gene_space[gene_idx] + self.population[sol_idx, gene_idx] = self.gene_space[gene_idx] else: # There is no more options. pass @@ -1414,12 +1522,20 @@ def initialize_population(self, # 2) gene_type is not nested (gene_type_single is True). # Replace all the None values with random values using the init_range_low, init_range_high, and gene_type attributes. - for idx, curr_gene_space in enumerate(self.gene_space): + for gene_idx, curr_gene_space in enumerate(self.gene_space): + + if type(self.init_range_low) in self.supported_int_float_types: + range_min = self.init_range_low + range_max = self.init_range_high + else: + range_min = self.init_range_low[gene_idx] + range_max = self.init_range_high[gene_idx] + if curr_gene_space is None: - self.gene_space[idx] = numpy.asarray(numpy.random.uniform(low=low, - high=high, - size=1), - dtype=self.gene_type[0])[0] + self.gene_space[gene_idx] = numpy.asarray(numpy.random.uniform(low=range_min, + high=range_max, + size=1), + dtype=self.gene_type[0])[0] # Creating the initial population by randomly selecting the genes' values from the values inside the 'gene_space' parameter. if type(self.gene_space) is dict: @@ -1471,8 +1587,7 @@ def initialize_population(self, # It can be either range, numpy.ndarray, or list. # Create an empty population of dtype=object to support storing mixed data types within the same array. - self.population = numpy.zeros( - shape=self.pop_size, dtype=object) + self.population = numpy.zeros(shape=self.pop_size, dtype=object) # Loop through the genes, randomly generate the values of a single gene across the entire population, and add the values of each gene to the population. for gene_idx in range(self.num_genes): # A vector of all values of this single gene across all solutions in the population. @@ -1901,8 +2016,7 @@ def run(self): if not type(self.last_generation_offspring_mutation) is numpy.ndarray: raise TypeError(f"The output of the mutation step is expected to be of type (numpy.ndarray) but {type(self.last_generation_offspring_mutation)} found.") else: - self.last_generation_offspring_mutation = self.mutation( - self.last_generation_offspring_crossover) + self.last_generation_offspring_mutation = self.mutation(self.last_generation_offspring_crossover) if self.last_generation_offspring_mutation.shape != (self.num_offspring, self.num_genes): if self.last_generation_offspring_mutation.shape[0] != self.num_offspring: diff --git a/pygad/utils/mutation.py b/pygad/utils/mutation.py index 39a1a5d..6a9f6a9 100644 --- a/pygad/utils/mutation.py +++ b/pygad/utils/mutation.py @@ -53,6 +53,13 @@ def mutation_by_space(self, offspring): mutation_indices = numpy.array(random.sample(range(0, self.num_genes), self.mutation_num_genes)) for gene_idx in mutation_indices: + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + if self.gene_space_nested: # Returning the current gene space from the 'gene_space' attribute. if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: @@ -65,8 +72,8 @@ def mutation_by_space(self, offspring): value_from_space = curr_gene_space # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. elif curr_gene_space is None: - rand_val = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + rand_val = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val @@ -125,8 +132,8 @@ def mutation_by_space(self, offspring): if value_from_space is None: # TODO: Return index 0. # TODO: Check if this if statement is necessary. - value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + value_from_space = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # Assinging the selected value from the space to the gene. @@ -163,6 +170,14 @@ def mutation_probs_by_space(self, offspring): for offspring_idx in range(offspring.shape[0]): probs = numpy.random.random(size=offspring.shape[1]) for gene_idx in range(offspring.shape[1]): + + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + if probs[gene_idx] <= self.mutation_probability: if self.gene_space_nested: # Returning the current gene space from the 'gene_space' attribute. @@ -176,8 +191,8 @@ def mutation_probs_by_space(self, offspring): value_from_space = curr_gene_space # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. elif curr_gene_space is None: - rand_val = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + rand_val = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val @@ -260,9 +275,17 @@ def mutation_randomly(self, offspring): for offspring_idx in range(offspring.shape[0]): mutation_indices = numpy.array(random.sample(range(0, self.num_genes), self.mutation_num_genes)) for gene_idx in mutation_indices: + + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + # Generating a random value. - random_value = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + random_value = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: @@ -293,8 +316,8 @@ def mutation_randomly(self, offspring): if self.allow_duplicate_genes == False: offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, + min_val=range_min, + max_val=range_max, mutation_by_replacement=self.mutation_by_replacement, gene_type=self.gene_type, num_trials=10) @@ -314,10 +337,18 @@ def mutation_probs_randomly(self, offspring): for offspring_idx in range(offspring.shape[0]): probs = numpy.random.random(size=offspring.shape[1]) for gene_idx in range(offspring.shape[1]): + + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + if probs[gene_idx] <= self.mutation_probability: # Generating a random value. - random_value = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + random_value = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: @@ -348,8 +379,8 @@ def mutation_probs_randomly(self, offspring): if self.allow_duplicate_genes == False: offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, + min_val=range_min, + max_val=range_max, mutation_by_replacement=self.mutation_by_replacement, gene_type=self.gene_type, num_trials=10) @@ -532,6 +563,13 @@ def adaptive_mutation_by_space(self, offspring): mutation_indices = numpy.array(random.sample(range(0, self.num_genes), adaptive_mutation_num_genes)) for gene_idx in mutation_indices: + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + if self.gene_space_nested: # Returning the current gene space from the 'gene_space' attribute. if type(self.gene_space[gene_idx]) in [numpy.ndarray, list]: @@ -544,8 +582,8 @@ def adaptive_mutation_by_space(self, offspring): value_from_space = curr_gene_space # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. elif curr_gene_space is None: - rand_val = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + rand_val = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val @@ -600,8 +638,8 @@ def adaptive_mutation_by_space(self, offspring): if value_from_space is None: - value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + value_from_space = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # Assinging the selected value from the space to the gene. @@ -646,9 +684,17 @@ def adaptive_mutation_randomly(self, offspring): adaptive_mutation_num_genes = self.mutation_num_genes[1] mutation_indices = numpy.array(random.sample(range(0, self.num_genes), adaptive_mutation_num_genes)) for gene_idx in mutation_indices: + + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + # Generating a random value. - random_value = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + random_value = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: @@ -678,8 +724,8 @@ def adaptive_mutation_randomly(self, offspring): if self.allow_duplicate_genes == False: offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, + min_val=range_min, + max_val=range_max, mutation_by_replacement=self.mutation_by_replacement, gene_type=self.gene_type, num_trials=10) @@ -710,6 +756,14 @@ def adaptive_mutation_probs_by_space(self, offspring): probs = numpy.random.random(size=offspring.shape[1]) for gene_idx in range(offspring.shape[1]): + + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + if probs[gene_idx] <= adaptive_mutation_probability: if self.gene_space_nested: # Returning the current gene space from the 'gene_space' attribute. @@ -723,8 +777,8 @@ def adaptive_mutation_probs_by_space(self, offspring): value_from_space = curr_gene_space # If the gene space is None, apply mutation by adding a random value between the range defined by the 2 parameters 'random_mutation_min_val' and 'random_mutation_max_val'. elif curr_gene_space is None: - rand_val = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + rand_val = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] if self.mutation_by_replacement: value_from_space = rand_val @@ -778,8 +832,8 @@ def adaptive_mutation_probs_by_space(self, offspring): value_from_space = random.choice(values_to_select_from) if value_from_space is None: - value_from_space = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + value_from_space = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # Assinging the selected value from the space to the gene. @@ -825,10 +879,18 @@ def adaptive_mutation_probs_randomly(self, offspring): probs = numpy.random.random(size=offspring.shape[1]) for gene_idx in range(offspring.shape[1]): + + if type(self.random_mutation_min_val) in self.supported_int_float_types: + range_min = self.random_mutation_min_val + range_max = self.random_mutation_max_val + else: + range_min = self.random_mutation_min_val[gene_idx] + range_max = self.random_mutation_max_val[gene_idx] + if probs[gene_idx] <= adaptive_mutation_probability: # Generating a random value. - random_value = numpy.random.uniform(low=self.random_mutation_min_val, - high=self.random_mutation_max_val, + random_value = numpy.random.uniform(low=range_min, + high=range_max, size=1)[0] # If the mutation_by_replacement attribute is True, then the random value replaces the current gene value. if self.mutation_by_replacement: @@ -858,8 +920,8 @@ def adaptive_mutation_probs_randomly(self, offspring): if self.allow_duplicate_genes == False: offspring[offspring_idx], _, _ = self.solve_duplicate_genes_randomly(solution=offspring[offspring_idx], - min_val=self.random_mutation_min_val, - max_val=self.random_mutation_max_val, + min_val=range_min, + max_val=range_max, mutation_by_replacement=self.mutation_by_replacement, gene_type=self.gene_type, num_trials=10) diff --git a/tests/test_crossover_mutation.py b/tests/test_crossover_mutation.py index 8be66c9..757d912 100644 --- a/tests/test_crossover_mutation.py +++ b/tests/test_crossover_mutation.py @@ -189,6 +189,7 @@ def test_random_mutation_manual_call2(): # assert comp_sorted[0] == 0 def test_random_mutation_manual_call3(): + # Use random_mutation_min_val & random_mutation_max_val as numbers. random_mutation_min_val = 888 random_mutation_max_val = 999 result, ga_instance = output_crossover_mutation(mutation_type="random", @@ -204,14 +205,31 @@ def test_random_mutation_manual_call3(): comp_sorted = sorted(comp.copy()) comp_sorted = numpy.abs(numpy.unique(comp)) - # The other 1 added to include the last value in the range. - # assert len(comp_sorted) in range(1, 1 + 1 + ga_instance.mutation_num_genes) - # assert comp_sorted[0] == 0 - value_space = list(range(random_mutation_min_val, random_mutation_max_val)) for value in comp_sorted: assert value in value_space +def test_random_mutation_manual_call4(): + # Use random_mutation_min_val & random_mutation_max_val as lists. + random_mutation_min_val = [888]*10 + random_mutation_max_val = [999]*10 + result, ga_instance = output_crossover_mutation(mutation_type="random", + random_mutation_min_val=random_mutation_min_val, + random_mutation_max_val=random_mutation_max_val, + mutation_by_replacement=True) + ga_instance.mutation_num_genes = 10 + + temp_offspring = numpy.array(initial_population[0:1]) + offspring = ga_instance.random_mutation(offspring=temp_offspring.copy()) + + comp = offspring + comp_sorted = sorted(comp.copy()) + comp_sorted = numpy.abs(numpy.unique(comp)) + + value_space = list(range(random_mutation_min_val[0], random_mutation_max_val[0])) + for value in comp_sorted: + assert value in value_space + if __name__ == "__main__": print() test_no_crossover_no_mutation() @@ -253,3 +271,6 @@ def test_random_mutation_manual_call3(): test_random_mutation_manual_call3() print() + test_random_mutation_manual_call4() + print() + diff --git a/tests/test_gene_space.py b/tests/test_gene_space.py index 7a375f2..3a1b21f 100644 --- a/tests/test_gene_space.py +++ b/tests/test_gene_space.py @@ -65,12 +65,37 @@ def fitness_func(ga, solution, idx): num_outside = 0 if ga_instance.gene_space_nested == True: for gene_idx in range(ga_instance.num_genes): + + if type(ga_instance.init_range_low) in ga_instance.supported_int_float_types: + range_min_init = ga_instance.init_range_low + range_max_init = ga_instance.init_range_high + else: + range_min_init = ga_instance.init_range_low[gene_idx] + range_max_init = ga_instance.init_range_high[gene_idx] + if type(ga_instance.random_mutation_min_val) in ga_instance.supported_int_float_types: + range_min_mutation = ga_instance.random_mutation_min_val + range_max_mutation = ga_instance.random_mutation_max_val + else: + range_min_mutation = ga_instance.random_mutation_min_val[gene_idx] + range_max_mutation = ga_instance.random_mutation_max_val[gene_idx] + all_gene_values = ga_instance.solutions[:, gene_idx] if type(ga_instance.gene_space[gene_idx]) in [list, tuple, range, numpy.ndarray]: current_gene_space = list(ga_instance.gene_space[gene_idx]) - for val in all_gene_values: - if val in current_gene_space: - # print(val, current_gene_space) + # print("current_gene_space", current_gene_space) + for val_idx, val in enumerate(all_gene_values): + if None in current_gene_space: + if (val in current_gene_space) or (val >= range_min_init and val < range_max_init) or (val >= range_min_mutation and val < range_max_mutation): + pass + else: + # print("###########") + # print(gene_idx, val) + # print(current_gene_space) + # print(range_min_mutation, range_max_mutation) + # print("\n\n") + num_outside += 1 + elif val in current_gene_space: + # print("val, current_gene_space", val, current_gene_space) pass else: # print(gene_idx, val, current_gene_space) @@ -98,14 +123,51 @@ def fitness_func(ga, solution, idx): pass else: num_outside += 1 + elif ga_instance.gene_space[gene_idx] is None: + for val in all_gene_values: + # print(val) + if (val >= range_min_init and val < range_max_init) or (val >= range_min_mutation and val < range_max_mutation): + pass + else: + # print("###########") + # print(gene_idx, val) + # print(ga_instance.gene_space[gene_idx]) + # print(range_min_init, range_max_init) + # print(range_min_mutation, range_max_mutation) + # print("\n\n") + num_outside += 1 else: for gene_idx in range(ga_instance.num_genes): + + if type(ga_instance.init_range_low) in ga_instance.supported_int_float_types: + range_min_init = ga_instance.init_range_low + range_max_init = ga_instance.init_range_high + else: + range_min_init = ga_instance.init_range_low[gene_idx] + range_max_init = ga_instance.init_range_high[gene_idx] + if type(ga_instance.random_mutation_min_val) in ga_instance.supported_int_float_types: + range_min_mutation = ga_instance.random_mutation_min_val + range_max_mutation = ga_instance.random_mutation_max_val + else: + range_min_mutation = ga_instance.random_mutation_min_val[gene_idx] + range_max_mutation = ga_instance.random_mutation_max_val[gene_idx] + all_gene_values = ga_instance.solutions[:, gene_idx] # print("all_gene_values", gene_idx, all_gene_values) if type(ga_instance.gene_space) in [list, tuple, range, numpy.ndarray]: current_gene_space = list(ga_instance.gene_space) for val in all_gene_values: - if val in current_gene_space: + if None in current_gene_space: + if (val in current_gene_space) or (val >= range_min_init and val < range_max_init) or (val >= range_min_mutation and val < range_max_mutation): + pass + else: + # print("###########") + # print(gene_idx, val) + # print(current_gene_space) + # print(range_min_mutation, range_max_mutation) + # print("\n\n") + num_outside += 1 + elif val in current_gene_space: pass else: num_outside += 1 @@ -144,6 +206,11 @@ def test_gene_space_list(): assert num_outside == 0 +def test_gene_space_list_None(): + num_outside, _ = number_respect_gene_space(gene_space=[30, None, 40, 50, None, 60, 70, None, None, None]) + + assert num_outside == 0 + def test_gene_space_numpy(): num_outside, _ = number_respect_gene_space(gene_space=numpy.array(list(range(10)))) @@ -318,6 +385,38 @@ def test_nested_gene_space_list2(): assert num_outside == 0 +def test_nested_gene_space_list3_None(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, None], + [1, 2], + [2, None], + [3, 4], + [None, 5], + None, + [None, 7], + [None, None], + [8, 9], + None], + mutation_by_replacement=True) + + assert num_outside == 0 + +def test_nested_gene_space_list4_None_custom_mutation_range(): + num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, None], + [1, 2], + [2, None], + [3, 4], + [None, 5], + None, + [None, 7], + [None, None], + [8, 9], + None], + random_mutation_min_val=20, + random_mutation_max_val=40, + mutation_by_replacement=True) + + assert num_outside == 0 + def test_nested_gene_space_mix(): num_outside, ga_instance = number_respect_gene_space(gene_space=[[0, 1, 2, 3, 4], numpy.arange(5, 10), @@ -329,7 +428,8 @@ def test_nested_gene_space_mix(): numpy.arange(35, 40), numpy.arange(40, 45), [45, 46, 47, 48, 49]], - gene_type=int) + gene_type=int, + mutation_by_replacement=True) assert num_outside == 0 @@ -344,7 +444,7 @@ def test_nested_gene_space_mix_nested_gene_type(): numpy.arange(35, 40), numpy.arange(40, 45), [45, 46, 47, 48, 49]], - gene_type=[int, float, numpy.float64, [float, 3], [float, 4], numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) + gene_type=[int, float, numpy.float64, [float, 3], int, numpy.int16, [numpy.float32, 1], int, float, [float, 3]]) # print(ga_instance.population) assert num_outside == 0 @@ -434,6 +534,8 @@ def test_nested_gene_space_nested_gene_type_adaptive_mutation(): test_gene_space_list() print() + test_gene_space_list_None() + print() test_gene_space_list_nested_gene_type() print() @@ -478,6 +580,12 @@ def test_nested_gene_space_nested_gene_type_adaptive_mutation(): test_nested_gene_space_list2() print() + test_nested_gene_space_list3_None() + print() + + test_nested_gene_space_list4_None_custom_mutation_range() + print() + test_nested_gene_space_mix() print() diff --git a/tests/test_gene_space_allow_duplicate_genes.py b/tests/test_gene_space_allow_duplicate_genes.py index 2a65f1a..4d78dea 100644 --- a/tests/test_gene_space_allow_duplicate_genes.py +++ b/tests/test_gene_space_allow_duplicate_genes.py @@ -379,39 +379,39 @@ def test_nested_gene_space_mix_initial_population_single_gene_type(): assert num_outside == 0 if __name__ == "__main__": - # print() - # test_gene_space_range() - # print() - # test_gene_space_range_nested_gene_type() - # print() - - # test_gene_space_numpy_arange() - # print() - # test_gene_space_numpy_arange_nested_gene_type() - # print() - - # test_gene_space_list() - # print() - # test_gene_space_list_nested_gene_type() - # print() - - # test_gene_space_list_single_value() - # print() - # test_gene_space_list_single_value_nested_gene_type() - # print() - - # test_gene_space_numpy() - # print() - # test_gene_space_numpy_nested_gene_type() - # print() - - # test_gene_space_dict_without_step() - # print() - # test_gene_space_dict_without_step_nested_gene_type() - # print() - - # test_gene_space_dict_with_step() - # print() + print() + test_gene_space_range() + print() + test_gene_space_range_nested_gene_type() + print() + + test_gene_space_numpy_arange() + print() + test_gene_space_numpy_arange_nested_gene_type() + print() + + test_gene_space_list() + print() + test_gene_space_list_nested_gene_type() + print() + + test_gene_space_list_single_value() + print() + test_gene_space_list_single_value_nested_gene_type() + print() + + test_gene_space_numpy() + print() + test_gene_space_numpy_nested_gene_type() + print() + + test_gene_space_dict_without_step() + print() + test_gene_space_dict_without_step_nested_gene_type() + print() + + test_gene_space_dict_with_step() + print() test_gene_space_dict_with_step_nested_gene_type() print() From 0fe7e245239d4e7e630f8ffcc4cdb97d8ba6ecb1 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Wed, 14 Jun 2023 15:38:13 -0400 Subject: [PATCH 066/220] Keras prediction --- pygad/kerasga/kerasga.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pygad/kerasga/kerasga.py b/pygad/kerasga/kerasga.py index 93491a0..3e6ae0f 100644 --- a/pygad/kerasga/kerasga.py +++ b/pygad/kerasga/kerasga.py @@ -44,6 +44,7 @@ def predict(model, solution, data, verbose=1): _model = tensorflow.keras.models.clone_model(model) _model.set_weights(solution_weights) predictions = _model(data) + predictions = predictions.numpy() return predictions From 0b5ab78745f783c116123dafdc9deec15b6b0176 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Sat, 17 Jun 2023 17:27:22 -0400 Subject: [PATCH 067/220] Accept data as a generator --- pygad/kerasga/kerasga.py | 67 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/pygad/kerasga/kerasga.py b/pygad/kerasga/kerasga.py index 3e6ae0f..cda2c4b 100644 --- a/pygad/kerasga/kerasga.py +++ b/pygad/kerasga/kerasga.py @@ -3,6 +3,20 @@ import tensorflow.keras def model_weights_as_vector(model): + """ + Reshapes the Keras model weight as a vector. + + Parameters + ---------- + model : TYPE + The Keras model. + + Returns + ------- + TYPE + The weights as a 1D vector. + + """ weights_vector = [] for layer in model.layers: # model.get_weights(): @@ -15,6 +29,22 @@ def model_weights_as_vector(model): return numpy.array(weights_vector) def model_weights_as_matrix(model, weights_vector): + """ + Reshapes the PyGAD 1D solution as a Keras weight matrix. + + Parameters + ---------- + model : TYPE + The Keras model. + weights_vector : TYPE + The PyGAD solution as a 1D vector. + + Returns + ------- + weights_matrix : TYPE + The Keras weights as a matrix. + + """ weights_matrix = [] start = 0 @@ -37,14 +67,45 @@ def model_weights_as_matrix(model, weights_vector): return weights_matrix -def predict(model, solution, data, verbose=1): +def predict(model, + solution, + data, + batch_size=None, + verbose=0, + steps=None): + """ + Use the PyGAD's solution to make predictions using the Keras model. + + Parameters + ---------- + model : TYPE + The Keras model. + solution : TYPE + A single PyGAD solution as 1D vector. + data : TYPE + The data or a generator. + batch_size : TYPE, optional + The batch size (i.e. number of samples per step or batch). The default is None. Check documentation of the Keras Model.predict() method for more information. + verbose : TYPE, optional + Verbosity mode. The default is 0. Check documentation of the Keras Model.predict() method for more information. + steps : TYPE, optional + The total number of steps (batches of samples). The default is None. Check documentation of the Keras Model.predict() method for more information. + + Returns + ------- + predictions : TYPE + The Keras model predictions. + + """ # Fetch the parameters of the best solution. solution_weights = model_weights_as_matrix(model=model, weights_vector=solution) _model = tensorflow.keras.models.clone_model(model) _model.set_weights(solution_weights) - predictions = _model(data) - predictions = predictions.numpy() + predictions = _model.predict(x=data, + batch_size=batch_size, + verbose=verbose, + steps=steps) return predictions From ee643a961d60afdde47cd2e6830c37ec3770bf54 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 19 Jun 2023 15:24:40 -0400 Subject: [PATCH 068/220] More examples --- examples/KerasGA/XOR_classification.py | 86 ++++++ examples/KerasGA/cancer_dataset.py | 95 +++++++ examples/KerasGA/cancer_dataset_generator.py | 89 ++++++ examples/KerasGA/image_classification_CNN.py | 90 ++++++ .../KerasGA/image_classification_Dense.py | 82 ++++++ examples/KerasGA/regression_example.py | 79 ++++++ examples/TorchGA/XOR_classification.py | 86 ++++++ examples/TorchGA/image_classification_CNN.py | 94 ++++++ .../TorchGA/image_classification_Dense.py | 80 ++++++ examples/TorchGA/regression_example.py | 76 +++++ .../{ => clustering}/example_clustering_2.py | 244 ++++++++-------- .../{ => clustering}/example_clustering_3.py | 268 +++++++++--------- .../data/Skin_Cancer_Dataset/benign/1.jpg | Bin 0 -> 48625 bytes .../data/Skin_Cancer_Dataset/benign/10.jpg | Bin 0 -> 59249 bytes .../data/Skin_Cancer_Dataset/benign/100.jpg | Bin 0 -> 62473 bytes .../data/Skin_Cancer_Dataset/benign/11.jpg | Bin 0 -> 59046 bytes .../data/Skin_Cancer_Dataset/benign/12.jpg | Bin 0 -> 65159 bytes .../data/Skin_Cancer_Dataset/benign/13.jpg | Bin 0 -> 73241 bytes .../data/Skin_Cancer_Dataset/benign/14.jpg | Bin 0 -> 31806 bytes .../data/Skin_Cancer_Dataset/benign/15.jpg | Bin 0 -> 54932 bytes .../data/Skin_Cancer_Dataset/benign/16.jpg | Bin 0 -> 54973 bytes .../data/Skin_Cancer_Dataset/benign/17.jpg | Bin 0 -> 55143 bytes .../data/Skin_Cancer_Dataset/benign/18.jpg | Bin 0 -> 69053 bytes .../data/Skin_Cancer_Dataset/benign/19.jpg | Bin 0 -> 52868 bytes .../data/Skin_Cancer_Dataset/benign/2.jpg | Bin 0 -> 64305 bytes .../data/Skin_Cancer_Dataset/benign/20.jpg | Bin 0 -> 51421 bytes .../data/Skin_Cancer_Dataset/benign/21.jpg | Bin 0 -> 53165 bytes .../data/Skin_Cancer_Dataset/benign/22.jpg | Bin 0 -> 55759 bytes .../data/Skin_Cancer_Dataset/benign/23.jpg | Bin 0 -> 50540 bytes .../data/Skin_Cancer_Dataset/benign/24.jpg | Bin 0 -> 63561 bytes .../data/Skin_Cancer_Dataset/benign/25.jpg | Bin 0 -> 65297 bytes .../data/Skin_Cancer_Dataset/benign/26.jpg | Bin 0 -> 55933 bytes .../data/Skin_Cancer_Dataset/benign/27.jpg | Bin 0 -> 62219 bytes .../data/Skin_Cancer_Dataset/benign/28.jpg | Bin 0 -> 60620 bytes .../data/Skin_Cancer_Dataset/benign/29.jpg | Bin 0 -> 52164 bytes .../data/Skin_Cancer_Dataset/benign/3.jpg | Bin 0 -> 59293 bytes .../data/Skin_Cancer_Dataset/benign/30.jpg | Bin 0 -> 53656 bytes .../data/Skin_Cancer_Dataset/benign/31.jpg | Bin 0 -> 47045 bytes .../data/Skin_Cancer_Dataset/benign/32.jpg | Bin 0 -> 34303 bytes .../data/Skin_Cancer_Dataset/benign/33.jpg | Bin 0 -> 59421 bytes .../data/Skin_Cancer_Dataset/benign/34.jpg | Bin 0 -> 53922 bytes .../data/Skin_Cancer_Dataset/benign/35.jpg | Bin 0 -> 57604 bytes .../data/Skin_Cancer_Dataset/benign/36.jpg | Bin 0 -> 53039 bytes .../data/Skin_Cancer_Dataset/benign/37.jpg | Bin 0 -> 54661 bytes .../data/Skin_Cancer_Dataset/benign/38.jpg | Bin 0 -> 52769 bytes .../data/Skin_Cancer_Dataset/benign/39.jpg | Bin 0 -> 64179 bytes .../data/Skin_Cancer_Dataset/benign/4.jpg | Bin 0 -> 51919 bytes .../data/Skin_Cancer_Dataset/benign/40.jpg | Bin 0 -> 51517 bytes .../data/Skin_Cancer_Dataset/benign/41.jpg | Bin 0 -> 65194 bytes .../data/Skin_Cancer_Dataset/benign/42.jpg | Bin 0 -> 60082 bytes .../data/Skin_Cancer_Dataset/benign/43.jpg | Bin 0 -> 57817 bytes .../data/Skin_Cancer_Dataset/benign/44.jpg | Bin 0 -> 60595 bytes .../data/Skin_Cancer_Dataset/benign/45.jpg | Bin 0 -> 59467 bytes .../data/Skin_Cancer_Dataset/benign/46.jpg | Bin 0 -> 49541 bytes .../data/Skin_Cancer_Dataset/benign/47.jpg | Bin 0 -> 52550 bytes .../data/Skin_Cancer_Dataset/benign/48.jpg | Bin 0 -> 67244 bytes .../data/Skin_Cancer_Dataset/benign/49.jpg | Bin 0 -> 49734 bytes .../data/Skin_Cancer_Dataset/benign/5.jpg | Bin 0 -> 41034 bytes .../data/Skin_Cancer_Dataset/benign/50.jpg | Bin 0 -> 41730 bytes .../data/Skin_Cancer_Dataset/benign/51.jpg | Bin 0 -> 63620 bytes .../data/Skin_Cancer_Dataset/benign/52.jpg | Bin 0 -> 54034 bytes .../data/Skin_Cancer_Dataset/benign/53.jpg | Bin 0 -> 53629 bytes .../data/Skin_Cancer_Dataset/benign/54.jpg | Bin 0 -> 53693 bytes .../data/Skin_Cancer_Dataset/benign/55.jpg | Bin 0 -> 59267 bytes .../data/Skin_Cancer_Dataset/benign/56.jpg | Bin 0 -> 44948 bytes .../data/Skin_Cancer_Dataset/benign/57.jpg | Bin 0 -> 50678 bytes .../data/Skin_Cancer_Dataset/benign/58.jpg | Bin 0 -> 54194 bytes .../data/Skin_Cancer_Dataset/benign/59.jpg | Bin 0 -> 55512 bytes .../data/Skin_Cancer_Dataset/benign/6.jpg | Bin 0 -> 54097 bytes .../data/Skin_Cancer_Dataset/benign/60.jpg | Bin 0 -> 57349 bytes .../data/Skin_Cancer_Dataset/benign/61.jpg | Bin 0 -> 75696 bytes .../data/Skin_Cancer_Dataset/benign/62.jpg | Bin 0 -> 48065 bytes .../data/Skin_Cancer_Dataset/benign/63.jpg | Bin 0 -> 56055 bytes .../data/Skin_Cancer_Dataset/benign/64.jpg | Bin 0 -> 45062 bytes .../data/Skin_Cancer_Dataset/benign/65.jpg | Bin 0 -> 53979 bytes .../data/Skin_Cancer_Dataset/benign/66.jpg | Bin 0 -> 52936 bytes .../data/Skin_Cancer_Dataset/benign/67.jpg | Bin 0 -> 49350 bytes .../data/Skin_Cancer_Dataset/benign/68.jpg | Bin 0 -> 51731 bytes .../data/Skin_Cancer_Dataset/benign/69.jpg | Bin 0 -> 73303 bytes .../data/Skin_Cancer_Dataset/benign/7.jpg | Bin 0 -> 52929 bytes .../data/Skin_Cancer_Dataset/benign/70.jpg | Bin 0 -> 54939 bytes .../data/Skin_Cancer_Dataset/benign/71.jpg | Bin 0 -> 31198 bytes .../data/Skin_Cancer_Dataset/benign/72.jpg | Bin 0 -> 52436 bytes .../data/Skin_Cancer_Dataset/benign/73.jpg | Bin 0 -> 58436 bytes .../data/Skin_Cancer_Dataset/benign/74.jpg | Bin 0 -> 57936 bytes .../data/Skin_Cancer_Dataset/benign/75.jpg | Bin 0 -> 61497 bytes .../data/Skin_Cancer_Dataset/benign/76.jpg | Bin 0 -> 52799 bytes .../data/Skin_Cancer_Dataset/benign/77.jpg | Bin 0 -> 47021 bytes .../data/Skin_Cancer_Dataset/benign/78.jpg | Bin 0 -> 59009 bytes .../data/Skin_Cancer_Dataset/benign/79.jpg | Bin 0 -> 32936 bytes .../data/Skin_Cancer_Dataset/benign/8.jpg | Bin 0 -> 47498 bytes .../data/Skin_Cancer_Dataset/benign/80.jpg | Bin 0 -> 52654 bytes .../data/Skin_Cancer_Dataset/benign/81.jpg | Bin 0 -> 61739 bytes .../data/Skin_Cancer_Dataset/benign/82.jpg | Bin 0 -> 48479 bytes .../data/Skin_Cancer_Dataset/benign/83.jpg | Bin 0 -> 51846 bytes .../data/Skin_Cancer_Dataset/benign/84.jpg | Bin 0 -> 54415 bytes .../data/Skin_Cancer_Dataset/benign/85.jpg | Bin 0 -> 65229 bytes .../data/Skin_Cancer_Dataset/benign/86.jpg | Bin 0 -> 66978 bytes .../data/Skin_Cancer_Dataset/benign/87.jpg | Bin 0 -> 60094 bytes .../data/Skin_Cancer_Dataset/benign/88.jpg | Bin 0 -> 56634 bytes .../data/Skin_Cancer_Dataset/benign/89.jpg | Bin 0 -> 44517 bytes .../data/Skin_Cancer_Dataset/benign/9.jpg | Bin 0 -> 53012 bytes .../data/Skin_Cancer_Dataset/benign/90.jpg | Bin 0 -> 55747 bytes .../data/Skin_Cancer_Dataset/benign/91.jpg | Bin 0 -> 55547 bytes .../data/Skin_Cancer_Dataset/benign/92.jpg | Bin 0 -> 50555 bytes .../data/Skin_Cancer_Dataset/benign/93.jpg | Bin 0 -> 65118 bytes .../data/Skin_Cancer_Dataset/benign/94.jpg | Bin 0 -> 53958 bytes .../data/Skin_Cancer_Dataset/benign/95.jpg | Bin 0 -> 58624 bytes .../data/Skin_Cancer_Dataset/benign/96.jpg | Bin 0 -> 54397 bytes .../data/Skin_Cancer_Dataset/benign/97.jpg | Bin 0 -> 63615 bytes .../data/Skin_Cancer_Dataset/benign/98.jpg | Bin 0 -> 73011 bytes .../data/Skin_Cancer_Dataset/benign/99.jpg | Bin 0 -> 57256 bytes .../data/Skin_Cancer_Dataset/malignant/1.jpg | Bin 0 -> 19075 bytes .../data/Skin_Cancer_Dataset/malignant/10.jpg | Bin 0 -> 13952 bytes .../Skin_Cancer_Dataset/malignant/100.jpg | Bin 0 -> 16998 bytes .../data/Skin_Cancer_Dataset/malignant/11.jpg | Bin 0 -> 15981 bytes .../data/Skin_Cancer_Dataset/malignant/12.jpg | Bin 0 -> 12096 bytes .../data/Skin_Cancer_Dataset/malignant/13.jpg | Bin 0 -> 3615 bytes .../data/Skin_Cancer_Dataset/malignant/14.jpg | Bin 0 -> 15678 bytes .../data/Skin_Cancer_Dataset/malignant/15.jpg | Bin 0 -> 15329 bytes .../data/Skin_Cancer_Dataset/malignant/16.jpg | Bin 0 -> 18946 bytes .../data/Skin_Cancer_Dataset/malignant/17.jpg | Bin 0 -> 15466 bytes .../data/Skin_Cancer_Dataset/malignant/18.jpg | Bin 0 -> 14487 bytes .../data/Skin_Cancer_Dataset/malignant/19.jpg | Bin 0 -> 21403 bytes .../data/Skin_Cancer_Dataset/malignant/2.jpg | Bin 0 -> 5664 bytes .../data/Skin_Cancer_Dataset/malignant/20.jpg | Bin 0 -> 12853 bytes .../data/Skin_Cancer_Dataset/malignant/21.jpg | Bin 0 -> 17846 bytes .../data/Skin_Cancer_Dataset/malignant/22.jpg | Bin 0 -> 12551 bytes .../data/Skin_Cancer_Dataset/malignant/23.jpg | Bin 0 -> 10793 bytes .../data/Skin_Cancer_Dataset/malignant/24.jpg | Bin 0 -> 18835 bytes .../data/Skin_Cancer_Dataset/malignant/25.jpg | Bin 0 -> 18616 bytes .../data/Skin_Cancer_Dataset/malignant/26.jpg | Bin 0 -> 7897 bytes .../data/Skin_Cancer_Dataset/malignant/27.jpg | Bin 0 -> 16345 bytes .../data/Skin_Cancer_Dataset/malignant/28.jpg | Bin 0 -> 15661 bytes .../data/Skin_Cancer_Dataset/malignant/29.jpg | Bin 0 -> 19784 bytes .../data/Skin_Cancer_Dataset/malignant/3.jpg | Bin 0 -> 17162 bytes .../data/Skin_Cancer_Dataset/malignant/30.jpg | Bin 0 -> 16696 bytes .../data/Skin_Cancer_Dataset/malignant/31.jpg | Bin 0 -> 13020 bytes .../data/Skin_Cancer_Dataset/malignant/32.jpg | Bin 0 -> 13304 bytes .../data/Skin_Cancer_Dataset/malignant/33.jpg | Bin 0 -> 15497 bytes .../data/Skin_Cancer_Dataset/malignant/34.jpg | Bin 0 -> 15022 bytes .../data/Skin_Cancer_Dataset/malignant/35.jpg | Bin 0 -> 13425 bytes .../data/Skin_Cancer_Dataset/malignant/36.jpg | Bin 0 -> 15245 bytes .../data/Skin_Cancer_Dataset/malignant/37.jpg | Bin 0 -> 14361 bytes .../data/Skin_Cancer_Dataset/malignant/38.jpg | Bin 0 -> 19893 bytes .../data/Skin_Cancer_Dataset/malignant/39.jpg | Bin 0 -> 13688 bytes .../data/Skin_Cancer_Dataset/malignant/4.jpg | Bin 0 -> 6272 bytes .../data/Skin_Cancer_Dataset/malignant/40.jpg | Bin 0 -> 10558 bytes .../data/Skin_Cancer_Dataset/malignant/41.jpg | Bin 0 -> 15268 bytes .../data/Skin_Cancer_Dataset/malignant/42.jpg | Bin 0 -> 16570 bytes .../data/Skin_Cancer_Dataset/malignant/43.jpg | Bin 0 -> 13228 bytes .../data/Skin_Cancer_Dataset/malignant/44.jpg | Bin 0 -> 7618 bytes .../data/Skin_Cancer_Dataset/malignant/45.jpg | Bin 0 -> 12128 bytes .../data/Skin_Cancer_Dataset/malignant/46.jpg | Bin 0 -> 18163 bytes .../data/Skin_Cancer_Dataset/malignant/47.jpg | Bin 0 -> 14008 bytes .../data/Skin_Cancer_Dataset/malignant/48.jpg | Bin 0 -> 6626 bytes .../data/Skin_Cancer_Dataset/malignant/49.jpg | Bin 0 -> 16949 bytes .../data/Skin_Cancer_Dataset/malignant/5.jpg | Bin 0 -> 5873 bytes .../data/Skin_Cancer_Dataset/malignant/50.jpg | Bin 0 -> 13907 bytes .../data/Skin_Cancer_Dataset/malignant/51.jpg | Bin 0 -> 13172 bytes .../data/Skin_Cancer_Dataset/malignant/52.jpg | Bin 0 -> 16072 bytes .../data/Skin_Cancer_Dataset/malignant/53.jpg | Bin 0 -> 18147 bytes .../data/Skin_Cancer_Dataset/malignant/54.jpg | Bin 0 -> 17156 bytes .../data/Skin_Cancer_Dataset/malignant/55.jpg | Bin 0 -> 11679 bytes .../data/Skin_Cancer_Dataset/malignant/56.jpg | Bin 0 -> 17659 bytes .../data/Skin_Cancer_Dataset/malignant/57.jpg | Bin 0 -> 17970 bytes .../data/Skin_Cancer_Dataset/malignant/58.jpg | Bin 0 -> 19466 bytes .../data/Skin_Cancer_Dataset/malignant/59.jpg | Bin 0 -> 12384 bytes .../data/Skin_Cancer_Dataset/malignant/6.jpg | Bin 0 -> 5753 bytes .../data/Skin_Cancer_Dataset/malignant/60.jpg | Bin 0 -> 6024 bytes .../data/Skin_Cancer_Dataset/malignant/61.jpg | Bin 0 -> 17926 bytes .../data/Skin_Cancer_Dataset/malignant/62.jpg | Bin 0 -> 14564 bytes .../data/Skin_Cancer_Dataset/malignant/63.jpg | Bin 0 -> 16630 bytes .../data/Skin_Cancer_Dataset/malignant/64.jpg | Bin 0 -> 16340 bytes .../data/Skin_Cancer_Dataset/malignant/65.jpg | Bin 0 -> 18045 bytes .../data/Skin_Cancer_Dataset/malignant/66.jpg | Bin 0 -> 8815 bytes .../data/Skin_Cancer_Dataset/malignant/67.jpg | Bin 0 -> 15656 bytes .../data/Skin_Cancer_Dataset/malignant/68.jpg | Bin 0 -> 15310 bytes .../data/Skin_Cancer_Dataset/malignant/69.jpg | Bin 0 -> 5493 bytes .../data/Skin_Cancer_Dataset/malignant/7.jpg | Bin 0 -> 12431 bytes .../data/Skin_Cancer_Dataset/malignant/70.jpg | Bin 0 -> 4937 bytes .../data/Skin_Cancer_Dataset/malignant/71.jpg | Bin 0 -> 17395 bytes .../data/Skin_Cancer_Dataset/malignant/72.jpg | Bin 0 -> 4656 bytes .../data/Skin_Cancer_Dataset/malignant/73.jpg | Bin 0 -> 13352 bytes .../data/Skin_Cancer_Dataset/malignant/74.jpg | Bin 0 -> 4780 bytes .../data/Skin_Cancer_Dataset/malignant/75.jpg | Bin 0 -> 4189 bytes .../data/Skin_Cancer_Dataset/malignant/76.jpg | Bin 0 -> 12623 bytes .../data/Skin_Cancer_Dataset/malignant/77.jpg | Bin 0 -> 18196 bytes .../data/Skin_Cancer_Dataset/malignant/78.jpg | Bin 0 -> 10845 bytes .../data/Skin_Cancer_Dataset/malignant/79.jpg | Bin 0 -> 14195 bytes .../data/Skin_Cancer_Dataset/malignant/8.jpg | Bin 0 -> 13511 bytes .../data/Skin_Cancer_Dataset/malignant/80.jpg | Bin 0 -> 16603 bytes .../data/Skin_Cancer_Dataset/malignant/81.jpg | Bin 0 -> 18479 bytes .../data/Skin_Cancer_Dataset/malignant/82.jpg | Bin 0 -> 13093 bytes .../data/Skin_Cancer_Dataset/malignant/83.jpg | Bin 0 -> 17123 bytes .../data/Skin_Cancer_Dataset/malignant/84.jpg | Bin 0 -> 15131 bytes .../data/Skin_Cancer_Dataset/malignant/85.jpg | Bin 0 -> 12204 bytes .../data/Skin_Cancer_Dataset/malignant/86.jpg | Bin 0 -> 17526 bytes .../data/Skin_Cancer_Dataset/malignant/87.jpg | Bin 0 -> 14559 bytes .../data/Skin_Cancer_Dataset/malignant/88.jpg | Bin 0 -> 13303 bytes .../data/Skin_Cancer_Dataset/malignant/89.jpg | Bin 0 -> 12977 bytes .../data/Skin_Cancer_Dataset/malignant/9.jpg | Bin 0 -> 12128 bytes .../data/Skin_Cancer_Dataset/malignant/90.jpg | Bin 0 -> 18343 bytes .../data/Skin_Cancer_Dataset/malignant/91.jpg | Bin 0 -> 17398 bytes .../data/Skin_Cancer_Dataset/malignant/92.jpg | Bin 0 -> 17951 bytes .../data/Skin_Cancer_Dataset/malignant/93.jpg | Bin 0 -> 12082 bytes .../data/Skin_Cancer_Dataset/malignant/94.jpg | Bin 0 -> 13798 bytes .../data/Skin_Cancer_Dataset/malignant/95.jpg | Bin 0 -> 16347 bytes .../data/Skin_Cancer_Dataset/malignant/96.jpg | Bin 0 -> 14844 bytes .../data/Skin_Cancer_Dataset/malignant/97.jpg | Bin 0 -> 20408 bytes .../data/Skin_Cancer_Dataset/malignant/98.jpg | Bin 0 -> 11880 bytes .../data/Skin_Cancer_Dataset/malignant/99.jpg | Bin 0 -> 11048 bytes examples/data/dataset_features.npy | Bin 0 -> 5650688 bytes examples/data/dataset_inputs.npy | Bin 0 -> 19200128 bytes examples/data/dataset_outputs.npy | Bin 0 -> 768 bytes examples/data/outputs.npy | Bin 0 -> 15824 bytes 216 files changed, 1113 insertions(+), 256 deletions(-) create mode 100644 examples/KerasGA/XOR_classification.py create mode 100644 examples/KerasGA/cancer_dataset.py create mode 100644 examples/KerasGA/cancer_dataset_generator.py create mode 100644 examples/KerasGA/image_classification_CNN.py create mode 100644 examples/KerasGA/image_classification_Dense.py create mode 100644 examples/KerasGA/regression_example.py create mode 100644 examples/TorchGA/XOR_classification.py create mode 100644 examples/TorchGA/image_classification_CNN.py create mode 100644 examples/TorchGA/image_classification_Dense.py create mode 100644 examples/TorchGA/regression_example.py rename examples/{ => clustering}/example_clustering_2.py (97%) rename examples/{ => clustering}/example_clustering_3.py (97%) create mode 100644 examples/data/Skin_Cancer_Dataset/benign/1.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/10.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/100.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/11.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/12.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/13.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/14.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/15.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/16.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/17.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/18.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/19.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/2.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/20.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/21.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/22.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/23.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/24.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/25.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/26.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/27.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/28.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/29.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/3.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/30.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/31.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/32.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/33.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/34.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/35.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/36.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/37.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/38.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/39.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/4.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/40.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/41.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/42.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/43.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/44.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/45.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/46.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/47.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/48.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/49.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/5.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/50.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/51.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/52.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/53.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/54.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/55.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/56.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/57.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/58.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/59.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/6.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/60.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/61.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/62.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/63.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/64.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/65.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/66.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/67.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/68.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/69.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/7.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/70.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/71.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/72.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/73.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/74.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/75.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/76.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/77.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/78.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/79.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/8.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/80.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/81.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/82.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/83.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/84.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/85.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/86.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/87.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/88.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/89.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/9.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/90.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/91.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/92.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/93.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/94.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/95.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/96.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/97.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/98.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/benign/99.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/1.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/10.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/100.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/11.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/12.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/13.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/14.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/15.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/16.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/17.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/18.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/19.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/2.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/20.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/21.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/22.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/23.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/24.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/25.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/26.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/27.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/28.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/29.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/3.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/30.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/31.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/32.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/33.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/34.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/35.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/36.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/37.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/38.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/39.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/4.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/40.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/41.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/42.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/43.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/44.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/45.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/46.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/47.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/48.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/49.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/5.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/50.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/51.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/52.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/53.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/54.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/55.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/56.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/57.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/58.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/59.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/6.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/60.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/61.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/62.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/63.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/64.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/65.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/66.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/67.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/68.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/69.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/7.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/70.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/71.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/72.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/73.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/74.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/75.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/76.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/77.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/78.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/79.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/8.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/80.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/81.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/82.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/83.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/84.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/85.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/86.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/87.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/88.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/89.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/9.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/90.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/91.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/92.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/93.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/94.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/95.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/96.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/97.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/98.jpg create mode 100644 examples/data/Skin_Cancer_Dataset/malignant/99.jpg create mode 100644 examples/data/dataset_features.npy create mode 100644 examples/data/dataset_inputs.npy create mode 100644 examples/data/dataset_outputs.npy create mode 100644 examples/data/outputs.npy diff --git a/examples/KerasGA/XOR_classification.py b/examples/KerasGA/XOR_classification.py new file mode 100644 index 0000000..da3c752 --- /dev/null +++ b/examples/KerasGA/XOR_classification.py @@ -0,0 +1,86 @@ +import tensorflow.keras +import pygad.kerasga +import numpy +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + bce = tensorflow.keras.losses.BinaryCrossentropy() + solution_fitness = 1.0 / (bce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Build the keras model using the functional API. +input_layer = tensorflow.keras.layers.Input(2) +dense_layer = tensorflow.keras.layers.Dense(4, activation="relu")(input_layer) +output_layer = tensorflow.keras.layers.Dense(2, activation="softmax")(dense_layer) + +model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +# Create an instance of the pygad.kerasga.KerasGA class to build the initial population. +keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +# XOR problem inputs +data_inputs = numpy.array([[0.0, 0.0], + [0.0, 1.0], + [1.0, 0.0], + [1.0, 1.0]]) + +# XOR problem outputs +data_outputs = numpy.array([[1.0, 0.0], + [0.0, 1.0], + [0.0, 1.0], + [1.0, 0.0]]) + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 250 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = keras_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) +print("Predictions : \n", predictions) + +# Calculate the binary crossentropy for the trained model. +bce = tensorflow.keras.losses.BinaryCrossentropy() +print("Binary Crossentropy : ", bce(data_outputs, predictions).numpy()) + +# Calculate the classification accuracy for the trained model. +ba = tensorflow.keras.metrics.BinaryAccuracy() +ba.update_state(data_outputs, predictions) +accuracy = ba.result().numpy() +print("Accuracy : ", accuracy) + +# model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) + +# _ = model.fit(x, y, verbose=0) +# r = model.predict(data_inputs) diff --git a/examples/KerasGA/cancer_dataset.py b/examples/KerasGA/cancer_dataset.py new file mode 100644 index 0000000..5aceae6 --- /dev/null +++ b/examples/KerasGA/cancer_dataset.py @@ -0,0 +1,95 @@ +import tensorflow as tf +import tensorflow.keras +import pygad.kerasga +import pygad +import numpy + +def fitness_func(ga_instanse, solution, sol_idx): + global train_data, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_data) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + +def on_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(ga_instance.last_generation_fitness)[1])) + +# The dataset path. +dataset_path = r'../data/Skin_Cancer_Dataset' + +num_classes = 2 +img_size = 224 + +# Create a simple CNN. This does not gurantee high classification accuracy. +model = tf.keras.models.Sequential() +model.add(tf.keras.layers.Input(shape=(img_size, img_size, 3))) +model.add(tf.keras.layers.Conv2D(32, (3,3), activation="relu", padding="same")) +model.add(tf.keras.layers.MaxPooling2D((2, 2))) +model.add(tf.keras.layers.Flatten()) +model.add(tf.keras.layers.Dropout(rate=0.2)) +model.add(tf.keras.layers.Dense(num_classes, activation="softmax")) + +# Create an instance of the pygad.kerasga.KerasGA class to build the initial population. +keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +train_data = tf.keras.utils.image_dataset_from_directory( + directory=dataset_path, + image_size=(img_size, img_size), + label_mode="categorical", + batch_size=32 +) + +# Get the dataset labels. +# train_data.class_indices +data_outputs = numpy.array([]) +for x, y in train_data: + data_outputs = numpy.concatenate([data_outputs, numpy.argmax(y.numpy(), axis=-1)]) +data_outputs = tf.keras.utils.to_categorical(data_outputs) + +# Check the documentation for more information about the parameters: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +initial_population = keras_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=10, + num_parents_mating=5, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=on_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(ga_instance.last_generation_fitness) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_data) +# print("Predictions : \n", predictions) + +# Calculate the categorical crossentropy for the trained model. +cce = tensorflow.keras.losses.CategoricalCrossentropy() +print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + +# Calculate the classification accuracy for the trained model. +ca = tensorflow.keras.metrics.CategoricalAccuracy() +ca.update_state(data_outputs, predictions) +accuracy = ca.result().numpy() +print("Accuracy : ", accuracy) + +# model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) + +# _ = model.fit(x, y, verbose=0) +# r = model.predict(data_inputs) diff --git a/examples/KerasGA/cancer_dataset_generator.py b/examples/KerasGA/cancer_dataset_generator.py new file mode 100644 index 0000000..3f8afeb --- /dev/null +++ b/examples/KerasGA/cancer_dataset_generator.py @@ -0,0 +1,89 @@ +import tensorflow as tf +import tensorflow.keras +import pygad.kerasga +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global train_generator, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_generator) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + +def on_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(ga_instance.last_generation_fitness)[1])) + +# The dataset path. +dataset_path = r'../data/Skin_Cancer_Dataset' + +num_classes = 2 +img_size = 224 + +# Create a simple CNN. This does not gurantee high classification accuracy. +model = tf.keras.models.Sequential() +model.add(tf.keras.layers.Input(shape=(img_size, img_size, 3))) +model.add(tf.keras.layers.Conv2D(32, (3,3), activation="relu", padding="same")) +model.add(tf.keras.layers.MaxPooling2D((2, 2))) +model.add(tf.keras.layers.Flatten()) +model.add(tf.keras.layers.Dropout(rate=0.2)) +model.add(tf.keras.layers.Dense(num_classes, activation="softmax")) + +# Create an instance of the pygad.kerasga.KerasGA class to build the initial population. +keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +data_generator = tf.keras.preprocessing.image.ImageDataGenerator() +train_generator = data_generator.flow_from_directory(dataset_path, + class_mode='categorical', + target_size=(224, 224), + batch_size=32, + shuffle=False) +# train_generator.class_indices +data_outputs = tf.keras.utils.to_categorical(train_generator.labels) + +# Check the documentation for more information about the parameters: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +initial_population = keras_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=10, + num_parents_mating=5, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=on_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(ga_instance.last_generation_fitness) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_generator) +# print("Predictions : \n", predictions) + +# Calculate the categorical crossentropy for the trained model. +cce = tensorflow.keras.losses.CategoricalCrossentropy() +print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + +# Calculate the classification accuracy for the trained model. +ca = tensorflow.keras.metrics.CategoricalAccuracy() +ca.update_state(data_outputs, predictions) +accuracy = ca.result().numpy() +print("Accuracy : ", accuracy) + +# model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) + +# _ = model.fit(x, y, verbose=0) +# r = model.predict(data_inputs) diff --git a/examples/KerasGA/image_classification_CNN.py b/examples/KerasGA/image_classification_CNN.py new file mode 100644 index 0000000..a20ab03 --- /dev/null +++ b/examples/KerasGA/image_classification_CNN.py @@ -0,0 +1,90 @@ +import tensorflow.keras +import pygad.kerasga +import numpy +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Build the keras model using the functional API. +input_layer = tensorflow.keras.layers.Input(shape=(100, 100, 3)) +conv_layer1 = tensorflow.keras.layers.Conv2D(filters=5, + kernel_size=7, + activation="relu")(input_layer) +max_pool1 = tensorflow.keras.layers.MaxPooling2D(pool_size=(5,5), + strides=5)(conv_layer1) +conv_layer2 = tensorflow.keras.layers.Conv2D(filters=3, + kernel_size=3, + activation="relu")(max_pool1) +flatten_layer = tensorflow.keras.layers.Flatten()(conv_layer2) +dense_layer = tensorflow.keras.layers.Dense(15, activation="relu")(flatten_layer) +output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) + +model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +# Create an instance of the pygad.kerasga.KerasGA class to build the initial population. +keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +# Data inputs +data_inputs = numpy.load("../data/dataset_inputs.npy") + +# Data outputs +data_outputs = numpy.load("../data/dataset_outputs.npy") +data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 200 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = keras_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) +# print("Predictions : \n", predictions) + +# Calculate the categorical crossentropy for the trained model. +cce = tensorflow.keras.losses.CategoricalCrossentropy() +print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + +# Calculate the classification accuracy for the trained model. +ca = tensorflow.keras.metrics.CategoricalAccuracy() +ca.update_state(data_outputs, predictions) +accuracy = ca.result().numpy() +print("Accuracy : ", accuracy) + +# model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) + +# _ = model.fit(x, y, verbose=0) +# r = model.predict(data_inputs) diff --git a/examples/KerasGA/image_classification_Dense.py b/examples/KerasGA/image_classification_Dense.py new file mode 100644 index 0000000..aee14f5 --- /dev/null +++ b/examples/KerasGA/image_classification_Dense.py @@ -0,0 +1,82 @@ +import tensorflow.keras +import pygad.kerasga +import numpy +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Build the keras model using the functional API. +input_layer = tensorflow.keras.layers.Input(360) +dense_layer = tensorflow.keras.layers.Dense(50, activation="relu")(input_layer) +output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) + +model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +# Create an instance of the pygad.kerasga.KerasGA class to build the initial population. +keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +# Data inputs +data_inputs = numpy.load("../data/dataset_features.npy") + +# Data outputs +data_outputs = numpy.load("../data/outputs.npy") +data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 100 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = keras_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +# Fetch the parameters of the best solution. +predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) +# print("Predictions : \n", predictions) + +# Calculate the categorical crossentropy for the trained model. +cce = tensorflow.keras.losses.CategoricalCrossentropy() +print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + +# Calculate the classification accuracy for the trained model. +ca = tensorflow.keras.metrics.CategoricalAccuracy() +ca.update_state(data_outputs, predictions) +accuracy = ca.result().numpy() +print("Accuracy : ", accuracy) + +# model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) + +# _ = model.fit(x, y, verbose=0) +# r = model.predict(data_inputs) diff --git a/examples/KerasGA/regression_example.py b/examples/KerasGA/regression_example.py new file mode 100644 index 0000000..36b78fb --- /dev/null +++ b/examples/KerasGA/regression_example.py @@ -0,0 +1,79 @@ +import tensorflow.keras +import pygad.kerasga +import numpy +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + mae = tensorflow.keras.losses.MeanAbsoluteError() + abs_error = mae(data_outputs, predictions).numpy() + 0.00000001 + solution_fitness = 1.0 / abs_error + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Create the Keras model. +input_layer = tensorflow.keras.layers.Input(3) +dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) +dense_layer1.trainable = False +output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) + +model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +# Data inputs +data_inputs = numpy.array([[0.02, 0.1, 0.15], + [0.7, 0.6, 0.8], + [1.5, 1.2, 1.7], + [3.2, 2.9, 3.1]]) + +# Data outputs +data_outputs = numpy.array([[0.1], + [0.6], + [1.3], + [2.5]]) + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 250 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = keras_ga.population_weights # Initial population of network weights + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) +print("Predictions : \n", predictions) + +mae = tensorflow.keras.losses.MeanAbsoluteError() +abs_error = mae(data_outputs, predictions).numpy() +print("Absolute Error : ", abs_error) + +# model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) + +# _ = model.fit(x, y, verbose=0) +# r = model.predict(data_inputs) diff --git a/examples/TorchGA/XOR_classification.py b/examples/TorchGA/XOR_classification.py new file mode 100644 index 0000000..6cedb9c --- /dev/null +++ b/examples/TorchGA/XOR_classification.py @@ -0,0 +1,86 @@ +import torch +import pygad.torchga +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Create the PyTorch model. +input_layer = torch.nn.Linear(2, 4) +relu_layer = torch.nn.ReLU() +dense_layer = torch.nn.Linear(4, 2) +output_layer = torch.nn.Softmax(1) + +model = torch.nn.Sequential(input_layer, + relu_layer, + dense_layer, + output_layer) +# print(model) + +# Create an instance of the pygad.torchga.TorchGA class to build the initial population. +torch_ga = pygad.torchga.TorchGA(model=model, + num_solutions=10) + +loss_function = torch.nn.BCELoss() + +# XOR problem inputs +data_inputs = torch.tensor([[0.0, 0.0], + [0.0, 1.0], + [1.0, 0.0], + [1.0, 1.0]]) + +# XOR problem outputs +data_outputs = torch.tensor([[1.0, 0.0], + [0.0, 1.0], + [0.0, 1.0], + [1.0, 0.0]]) + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 250 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = torch_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + parallel_processing=3, + on_generation=callback_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) +print("Predictions : \n", predictions.detach().numpy()) + +# Calculate the binary crossentropy for the trained model. +print("Binary Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) + +# Calculate the classification accuracy of the trained model. +a = torch.max(predictions, axis=1) +b = torch.max(data_outputs, axis=1) +accuracy = torch.true_divide(torch.sum(a.indices == b.indices), len(data_outputs)) +print("Accuracy : ", accuracy.detach().numpy()) diff --git a/examples/TorchGA/image_classification_CNN.py b/examples/TorchGA/image_classification_CNN.py new file mode 100644 index 0000000..be26e00 --- /dev/null +++ b/examples/TorchGA/image_classification_CNN.py @@ -0,0 +1,94 @@ +import torch +import pygad.torchga +import pygad +import numpy + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Build the PyTorch model. +input_layer = torch.nn.Conv2d(in_channels=3, out_channels=5, kernel_size=7) +relu_layer1 = torch.nn.ReLU() +max_pool1 = torch.nn.MaxPool2d(kernel_size=5, stride=5) + +conv_layer2 = torch.nn.Conv2d(in_channels=5, out_channels=3, kernel_size=3) +relu_layer2 = torch.nn.ReLU() + +flatten_layer1 = torch.nn.Flatten() +# The value 768 is pre-computed by tracing the sizes of the layers' outputs. +dense_layer1 = torch.nn.Linear(in_features=768, out_features=15) +relu_layer3 = torch.nn.ReLU() + +dense_layer2 = torch.nn.Linear(in_features=15, out_features=4) +output_layer = torch.nn.Softmax(1) + +model = torch.nn.Sequential(input_layer, + relu_layer1, + max_pool1, + conv_layer2, + relu_layer2, + flatten_layer1, + dense_layer1, + relu_layer3, + dense_layer2, + output_layer) + +# Create an instance of the pygad.torchga.TorchGA class to build the initial population. +torch_ga = pygad.torchga.TorchGA(model=model, + num_solutions=10) + +loss_function = torch.nn.CrossEntropyLoss() + +# Data inputs +data_inputs = torch.from_numpy(numpy.load("../data/dataset_inputs.npy")).float() +data_inputs = data_inputs.reshape((data_inputs.shape[0], data_inputs.shape[3], data_inputs.shape[1], data_inputs.shape[2])) + +# Data outputs +data_outputs = torch.from_numpy(numpy.load("../data/dataset_outputs.npy")).long() + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 200 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = torch_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) +# print("Predictions : \n", predictions) + +# Calculate the crossentropy for the trained model. +print("Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) + +# Calculate the classification accuracy for the trained model. +accuracy = torch.true_divide(torch.sum(torch.max(predictions, axis=1).indices == data_outputs), len(data_outputs)) +print("Accuracy : ", accuracy.detach().numpy()) diff --git a/examples/TorchGA/image_classification_Dense.py b/examples/TorchGA/image_classification_Dense.py new file mode 100644 index 0000000..cedb169 --- /dev/null +++ b/examples/TorchGA/image_classification_Dense.py @@ -0,0 +1,80 @@ +import torch +import pygad.torchga +import pygad +import numpy + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Build the PyTorch model using the functional API. +input_layer = torch.nn.Linear(360, 50) +relu_layer = torch.nn.ReLU() +dense_layer = torch.nn.Linear(50, 4) +output_layer = torch.nn.Softmax(1) + +model = torch.nn.Sequential(input_layer, + relu_layer, + dense_layer, + output_layer) + +# Create an instance of the pygad.torchga.TorchGA class to build the initial population. +torch_ga = pygad.torchga.TorchGA(model=model, + num_solutions=10) + +loss_function = torch.nn.CrossEntropyLoss() + +# Data inputs +data_inputs = torch.from_numpy(numpy.load("../data/dataset_features.npy")).float() + +# Data outputs +data_outputs = torch.from_numpy(numpy.load("../data/outputs.npy")).long() +# The next 2 lines are equivelant to this Keras function to perform 1-hot encoding: tensorflow.keras.utils.to_categorical(data_outputs) +# temp_outs = numpy.zeros((data_outputs.shape[0], numpy.unique(data_outputs).size), dtype=numpy.uint8) +# temp_outs[numpy.arange(data_outputs.shape[0]), numpy.uint8(data_outputs)] = 1 + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 200 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = torch_ga.population_weights # Initial population of network weights. + +# Create an instance of the pygad.GA class +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +# Start the genetic algorithm evolution. +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) +# print("Predictions : \n", predictions) + +# Calculate the crossentropy loss of the trained model. +print("Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) + +# Calculate the classification accuracy for the trained model. +accuracy = torch.true_divide(torch.sum(torch.max(predictions, axis=1).indices == data_outputs), len(data_outputs)) +print("Accuracy : ", accuracy.detach().numpy()) diff --git a/examples/TorchGA/regression_example.py b/examples/TorchGA/regression_example.py new file mode 100644 index 0000000..4735e85 --- /dev/null +++ b/examples/TorchGA/regression_example.py @@ -0,0 +1,76 @@ +import torch +import pygad.torchga +import pygad + +def fitness_func(ga_instanse, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + abs_error = loss_function(predictions, data_outputs).detach().numpy() + 0.00000001 + + solution_fitness = 1.0 / abs_error + + return solution_fitness + +def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +# Create the PyTorch model. +input_layer = torch.nn.Linear(3, 2) +relu_layer = torch.nn.ReLU() +output_layer = torch.nn.Linear(2, 1) + +model = torch.nn.Sequential(input_layer, + relu_layer, + output_layer) +# print(model) + +# Create an instance of the pygad.torchga.TorchGA class to build the initial population. +torch_ga = pygad.torchga.TorchGA(model=model, + num_solutions=10) + +loss_function = torch.nn.L1Loss() + +# Data inputs +data_inputs = torch.tensor([[0.02, 0.1, 0.15], + [0.7, 0.6, 0.8], + [1.5, 1.2, 1.7], + [3.2, 2.9, 3.1]]) + +# Data outputs +data_outputs = torch.tensor([[0.1], + [0.6], + [1.3], + [2.5]]) + +# Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class +num_generations = 250 # Number of generations. +num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. +initial_population = torch_ga.population_weights # Initial population of network weights + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution() +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) +print("Predictions : \n", predictions.detach().numpy()) + +abs_error = loss_function(predictions, data_outputs) +print("Absolute Error : ", abs_error.detach().numpy()) diff --git a/examples/example_clustering_2.py b/examples/clustering/example_clustering_2.py similarity index 97% rename from examples/example_clustering_2.py rename to examples/clustering/example_clustering_2.py index fa14bb7..877e318 100644 --- a/examples/example_clustering_2.py +++ b/examples/clustering/example_clustering_2.py @@ -1,122 +1,122 @@ -import numpy -import matplotlib.pyplot -import pygad - -cluster1_num_samples = 10 -cluster1_x1_start = 0 -cluster1_x1_end = 5 -cluster1_x2_start = 2 -cluster1_x2_end = 6 -cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start -cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start - -cluster2_num_samples = 10 -cluster2_x1_start = 10 -cluster2_x1_end = 15 -cluster2_x2_start = 8 -cluster2_x2_end = 12 -cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start -cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start - -c1 = numpy.array([cluster1_x1, cluster1_x2]).T -c2 = numpy.array([cluster2_x1, cluster2_x2]).T - -data = numpy.concatenate((c1, c2), axis=0) - -matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) -matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) -matplotlib.pyplot.title("Optimal Clustering") -matplotlib.pyplot.show() - -def euclidean_distance(X, Y): - """ - Calculate the euclidean distance between X and Y. It accepts: - :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. - :Y should be of size f. In other words, it is a single sample. - - Returns a vector of N elements with the distances between the N samples and the Y. - """ - - return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) - -def cluster_data(solution, solution_idx): - """ - Clusters the data based on the current solution. - """ - - global num_cluster, data - feature_vector_length = data.shape[1] - cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. - all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. - clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. - clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. - - for clust_idx in range(num_clusters): - # Return the current cluster center. - cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) - # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. - cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) - all_clusters_dists.append(numpy.array(cluster_center_dists)) - - cluster_centers = numpy.array(cluster_centers) - all_clusters_dists = numpy.array(all_clusters_dists) - - # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. - # In other words, the array holds the sample's cluster index. - cluster_indices = numpy.argmin(all_clusters_dists, axis=0) - for clust_idx in range(num_clusters): - clusters.append(numpy.where(cluster_indices == clust_idx)[0]) - # Calculate the sum of distances for the cluster. - if len(clusters[clust_idx]) == 0: - # In case the cluster is empty (i.e. has zero samples). - clusters_sum_dist.append(0) - else: - # When the cluster is not empty (i.e. has at least 1 sample). - clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) - # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) - - clusters_sum_dist = numpy.array(clusters_sum_dist) - - return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist - -def fitness_func(ga_instance, solution, solution_idx): - _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) - - # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. - fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) - - return fitness - -num_clusters = 2 -num_genes = num_clusters * data.shape[1] - -ga_instance = pygad.GA(num_generations=100, - sol_per_pop=10, - num_parents_mating=5, - init_range_low=-6, - init_range_high=20, - keep_parents=2, - num_genes=num_genes, - fitness_func=fitness_func, - suppress_warnings=True) - -ga_instance.run() - -best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() -print("Best solution is {bs}".format(bs=best_solution)) -print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) -print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) - -cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) - -for cluster_idx in range(num_clusters): - cluster_x = data[clusters[cluster_idx], 0] - cluster_y = data[clusters[cluster_idx], 1] - matplotlib.pyplot.scatter(cluster_x, cluster_y) - matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) -matplotlib.pyplot.title("Clustering using PyGAD") -matplotlib.pyplot.show() +import numpy +import matplotlib.pyplot +import pygad + +cluster1_num_samples = 10 +cluster1_x1_start = 0 +cluster1_x1_end = 5 +cluster1_x2_start = 2 +cluster1_x2_end = 6 +cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start +cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start + +cluster2_num_samples = 10 +cluster2_x1_start = 10 +cluster2_x1_end = 15 +cluster2_x2_start = 8 +cluster2_x2_end = 12 +cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start +cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start + +c1 = numpy.array([cluster1_x1, cluster1_x2]).T +c2 = numpy.array([cluster2_x1, cluster2_x2]).T + +data = numpy.concatenate((c1, c2), axis=0) + +matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) +matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) +matplotlib.pyplot.title("Optimal Clustering") +matplotlib.pyplot.show() + +def euclidean_distance(X, Y): + """ + Calculate the euclidean distance between X and Y. It accepts: + :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. + :Y should be of size f. In other words, it is a single sample. + + Returns a vector of N elements with the distances between the N samples and the Y. + """ + + return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) + +def cluster_data(solution, solution_idx): + """ + Clusters the data based on the current solution. + """ + + global num_cluster, data + feature_vector_length = data.shape[1] + cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. + all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. + clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. + clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. + + for clust_idx in range(num_clusters): + # Return the current cluster center. + cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) + # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. + cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) + all_clusters_dists.append(numpy.array(cluster_center_dists)) + + cluster_centers = numpy.array(cluster_centers) + all_clusters_dists = numpy.array(all_clusters_dists) + + # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. + # In other words, the array holds the sample's cluster index. + cluster_indices = numpy.argmin(all_clusters_dists, axis=0) + for clust_idx in range(num_clusters): + clusters.append(numpy.where(cluster_indices == clust_idx)[0]) + # Calculate the sum of distances for the cluster. + if len(clusters[clust_idx]) == 0: + # In case the cluster is empty (i.e. has zero samples). + clusters_sum_dist.append(0) + else: + # When the cluster is not empty (i.e. has at least 1 sample). + clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) + # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) + + clusters_sum_dist = numpy.array(clusters_sum_dist) + + return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist + +def fitness_func(ga_instance, solution, solution_idx): + _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) + + # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. + fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) + + return fitness + +num_clusters = 2 +num_genes = num_clusters * data.shape[1] + +ga_instance = pygad.GA(num_generations=100, + sol_per_pop=10, + num_parents_mating=5, + init_range_low=-6, + init_range_high=20, + keep_parents=2, + num_genes=num_genes, + fitness_func=fitness_func, + suppress_warnings=True) + +ga_instance.run() + +best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() +print("Best solution is {bs}".format(bs=best_solution)) +print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) +print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) + +cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) + +for cluster_idx in range(num_clusters): + cluster_x = data[clusters[cluster_idx], 0] + cluster_y = data[clusters[cluster_idx], 1] + matplotlib.pyplot.scatter(cluster_x, cluster_y) + matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) +matplotlib.pyplot.title("Clustering using PyGAD") +matplotlib.pyplot.show() diff --git a/examples/example_clustering_3.py b/examples/clustering/example_clustering_3.py similarity index 97% rename from examples/example_clustering_3.py rename to examples/clustering/example_clustering_3.py index 08e3dd7..608d54b 100644 --- a/examples/example_clustering_3.py +++ b/examples/clustering/example_clustering_3.py @@ -1,134 +1,134 @@ -import numpy -import matplotlib.pyplot -import pygad - -cluster1_num_samples = 20 -cluster1_x1_start = 0 -cluster1_x1_end = 5 -cluster1_x2_start = 2 -cluster1_x2_end = 6 -cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start -cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) -cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start - -cluster2_num_samples = 20 -cluster2_x1_start = 4 -cluster2_x1_end = 12 -cluster2_x2_start = 14 -cluster2_x2_end = 18 -cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start -cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) -cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start - -cluster3_num_samples = 20 -cluster3_x1_start = 12 -cluster3_x1_end = 18 -cluster3_x2_start = 8 -cluster3_x2_end = 11 -cluster3_x1 = numpy.random.random(size=(cluster3_num_samples)) -cluster3_x1 = cluster3_x1 * (cluster3_x1_end - cluster3_x1_start) + cluster3_x1_start -cluster3_x2 = numpy.random.random(size=(cluster3_num_samples)) -cluster3_x2 = cluster3_x2 * (cluster3_x2_end - cluster3_x2_start) + cluster3_x2_start - -c1 = numpy.array([cluster1_x1, cluster1_x2]).T -c2 = numpy.array([cluster2_x1, cluster2_x2]).T -c3 = numpy.array([cluster3_x1, cluster3_x2]).T - -data = numpy.concatenate((c1, c2, c3), axis=0) - -matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) -matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) -matplotlib.pyplot.scatter(cluster3_x1, cluster3_x2) -matplotlib.pyplot.title("Optimal Clustering") -matplotlib.pyplot.show() - -def euclidean_distance(X, Y): - """ - Calculate the euclidean distance between X and Y. It accepts: - :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. - :Y should be of size f. In other words, it is a single sample. - - Returns a vector of N elements with the distances between the N samples and the Y. - """ - - return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) - -def cluster_data(solution, solution_idx): - """ - Clusters the data based on the current solution. - """ - - global num_clusters, feature_vector_length, data - cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. - all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. - clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. - clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. - - for clust_idx in range(num_clusters): - # Return the current cluster center. - cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) - # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. - cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) - all_clusters_dists.append(numpy.array(cluster_center_dists)) - - cluster_centers = numpy.array(cluster_centers) - all_clusters_dists = numpy.array(all_clusters_dists) - - # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. - # In other words, the array holds the sample's cluster index. - cluster_indices = numpy.argmin(all_clusters_dists, axis=0) - for clust_idx in range(num_clusters): - clusters.append(numpy.where(cluster_indices == clust_idx)[0]) - # Calculate the sum of distances for the cluster. - if len(clusters[clust_idx]) == 0: - # In case the cluster is empty (i.e. has zero samples). - clusters_sum_dist.append(0) - else: - # When the cluster is not empty (i.e. has at least 1 sample). - clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) - # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) - - clusters_sum_dist = numpy.array(clusters_sum_dist) - - return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist - -def fitness_func(ga_instance, solution, solution_idx): - _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) - - # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. - fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) - - return fitness - -num_clusters = 3 -feature_vector_length = data.shape[1] -num_genes = num_clusters * feature_vector_length - -ga_instance = pygad.GA(num_generations=100, - sol_per_pop=10, - init_range_low=0, - init_range_high=20, - num_parents_mating=5, - keep_parents=2, - num_genes=num_genes, - fitness_func=fitness_func, - suppress_warnings=True) - -ga_instance.run() - -best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() -print("Best solution is {bs}".format(bs=best_solution)) -print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) -print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) - -cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) - -for cluster_idx in range(num_clusters): - cluster_x = data[clusters[cluster_idx], 0] - cluster_y = data[clusters[cluster_idx], 1] - matplotlib.pyplot.scatter(cluster_x, cluster_y) - matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) -matplotlib.pyplot.title("Clustering using PyGAD") -matplotlib.pyplot.show() +import numpy +import matplotlib.pyplot +import pygad + +cluster1_num_samples = 20 +cluster1_x1_start = 0 +cluster1_x1_end = 5 +cluster1_x2_start = 2 +cluster1_x2_end = 6 +cluster1_x1 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x1 = cluster1_x1 * (cluster1_x1_end - cluster1_x1_start) + cluster1_x1_start +cluster1_x2 = numpy.random.random(size=(cluster1_num_samples)) +cluster1_x2 = cluster1_x2 * (cluster1_x2_end - cluster1_x2_start) + cluster1_x2_start + +cluster2_num_samples = 20 +cluster2_x1_start = 4 +cluster2_x1_end = 12 +cluster2_x2_start = 14 +cluster2_x2_end = 18 +cluster2_x1 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x1 = cluster2_x1 * (cluster2_x1_end - cluster2_x1_start) + cluster2_x1_start +cluster2_x2 = numpy.random.random(size=(cluster2_num_samples)) +cluster2_x2 = cluster2_x2 * (cluster2_x2_end - cluster2_x2_start) + cluster2_x2_start + +cluster3_num_samples = 20 +cluster3_x1_start = 12 +cluster3_x1_end = 18 +cluster3_x2_start = 8 +cluster3_x2_end = 11 +cluster3_x1 = numpy.random.random(size=(cluster3_num_samples)) +cluster3_x1 = cluster3_x1 * (cluster3_x1_end - cluster3_x1_start) + cluster3_x1_start +cluster3_x2 = numpy.random.random(size=(cluster3_num_samples)) +cluster3_x2 = cluster3_x2 * (cluster3_x2_end - cluster3_x2_start) + cluster3_x2_start + +c1 = numpy.array([cluster1_x1, cluster1_x2]).T +c2 = numpy.array([cluster2_x1, cluster2_x2]).T +c3 = numpy.array([cluster3_x1, cluster3_x2]).T + +data = numpy.concatenate((c1, c2, c3), axis=0) + +matplotlib.pyplot.scatter(cluster1_x1, cluster1_x2) +matplotlib.pyplot.scatter(cluster2_x1, cluster2_x2) +matplotlib.pyplot.scatter(cluster3_x1, cluster3_x2) +matplotlib.pyplot.title("Optimal Clustering") +matplotlib.pyplot.show() + +def euclidean_distance(X, Y): + """ + Calculate the euclidean distance between X and Y. It accepts: + :X should be a matrix of size (N, f) where N is the number of samples and f is the number of features for each sample. + :Y should be of size f. In other words, it is a single sample. + + Returns a vector of N elements with the distances between the N samples and the Y. + """ + + return numpy.sqrt(numpy.sum(numpy.power(X - Y, 2), axis=1)) + +def cluster_data(solution, solution_idx): + """ + Clusters the data based on the current solution. + """ + + global num_clusters, feature_vector_length, data + cluster_centers = [] # A list of size (C, f) where C is the number of clusters and f is the number of features representing each sample. + all_clusters_dists = [] # A list of size (C, N) where C is the number of clusters and N is the number of data samples. It holds the distances between each cluster center and all the data samples. + clusters = [] # A list with C elements where each element holds the indices of the samples within a cluster. + clusters_sum_dist = [] # A list with C elements where each element represents the sum of distances of the samples with a cluster. + + for clust_idx in range(num_clusters): + # Return the current cluster center. + cluster_centers.append(solution[feature_vector_length*clust_idx:feature_vector_length*(clust_idx+1)]) + # Calculate the distance (e.g. euclidean) between the current cluster center and all samples. + cluster_center_dists = euclidean_distance(data, cluster_centers[clust_idx]) + all_clusters_dists.append(numpy.array(cluster_center_dists)) + + cluster_centers = numpy.array(cluster_centers) + all_clusters_dists = numpy.array(all_clusters_dists) + + # A 1D array that, for each sample, holds the index of the cluster with the smallest distance. + # In other words, the array holds the sample's cluster index. + cluster_indices = numpy.argmin(all_clusters_dists, axis=0) + for clust_idx in range(num_clusters): + clusters.append(numpy.where(cluster_indices == clust_idx)[0]) + # Calculate the sum of distances for the cluster. + if len(clusters[clust_idx]) == 0: + # In case the cluster is empty (i.e. has zero samples). + clusters_sum_dist.append(0) + else: + # When the cluster is not empty (i.e. has at least 1 sample). + clusters_sum_dist.append(numpy.sum(all_clusters_dists[clust_idx, clusters[clust_idx]])) + # clusters_sum_dist.append(numpy.sum(euclidean_distance(data[clusters[clust_idx], :], cluster_centers[clust_idx]))) + + clusters_sum_dist = numpy.array(clusters_sum_dist) + + return cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist + +def fitness_func(ga_instance, solution, solution_idx): + _, _, _, _, clusters_sum_dist = cluster_data(solution, solution_idx) + + # The tiny value 0.00000001 is added to the denominator in case the average distance is 0. + fitness = 1.0 / (numpy.sum(clusters_sum_dist) + 0.00000001) + + return fitness + +num_clusters = 3 +feature_vector_length = data.shape[1] +num_genes = num_clusters * feature_vector_length + +ga_instance = pygad.GA(num_generations=100, + sol_per_pop=10, + init_range_low=0, + init_range_high=20, + num_parents_mating=5, + keep_parents=2, + num_genes=num_genes, + fitness_func=fitness_func, + suppress_warnings=True) + +ga_instance.run() + +best_solution, best_solution_fitness, best_solution_idx = ga_instance.best_solution() +print("Best solution is {bs}".format(bs=best_solution)) +print("Fitness of the best solution is {bsf}".format(bsf=best_solution_fitness)) +print("Best solution found after {gen} generations".format(gen=ga_instance.best_solution_generation)) + +cluster_centers, all_clusters_dists, cluster_indices, clusters, clusters_sum_dist = cluster_data(best_solution, best_solution_idx) + +for cluster_idx in range(num_clusters): + cluster_x = data[clusters[cluster_idx], 0] + cluster_y = data[clusters[cluster_idx], 1] + matplotlib.pyplot.scatter(cluster_x, cluster_y) + matplotlib.pyplot.scatter(cluster_centers[cluster_idx, 0], cluster_centers[cluster_idx, 1], linewidths=5) +matplotlib.pyplot.title("Clustering using PyGAD") +matplotlib.pyplot.show() diff --git a/examples/data/Skin_Cancer_Dataset/benign/1.jpg b/examples/data/Skin_Cancer_Dataset/benign/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60cc36ea0c1e2bb7df7d29f56c3a81df516b0da2 GIT binary patch literal 48625 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 XEZZyg4MsL3jix2;KJU9Lch~>fpK`^D literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/10.jpg b/examples/data/Skin_Cancer_Dataset/benign/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb8e34f0d05c05ab583a3c92990d6738f31a78b3 GIT binary patch literal 59249 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

txKxwY)88;JO8<7N#%J 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 z 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 Uu>cS_j9_JWQH%kM_xRWU*?}DvuK)l5 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/100.jpg b/examples/data/Skin_Cancer_Dataset/benign/100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bbab93529197842dd52d7143adaec08faad0400 GIT binary patch literal 62473 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≤7k2(QnR(dCXdIz2m+Q8FsVPR6L^*nXyW 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 z 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

LH&lI>=+i$tNI_ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/12.jpg b/examples/data/Skin_Cancer_Dataset/benign/12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f47c0ab82212c83f9b3654fbda8cf8394494e687 GIT binary patch literal 65159 zcmbq)s2}%qgN|ypkD2*T@ z&Gom|y??nVoVCv0XFm_i58nVX9Sv;_00aU7TK^{S@C8u)-|GKs{14>+ z3*djr4}$SmYouIp|>+U;zLuEb#y0!2caMxY&4Ld;%;GA@DCQO$LDf zod98DVPOF{U@TlP2n&o&jzd8SP_c91ir{gID&upBsTfn6I1#AQaEq%!{bCTU|1udt z|1$p}|36#+0Au5Tuy6sqe?h5#CHxN+1O|h#K{&v_60pGJ6ztdlC5MPIj;JxGiW8NI zAFdcQ20_iG>R%T7y>;lfP6Ky#0ml>X)!>}dy*h}U7i&c#9_e!#5xLmKJQia}?Dza8dgB;87jN|xM9 z4PFXHQx)DMVKz>ee9wRVN5Zk;?cG9yLro9v1L6N zT;y=-0MfHiTU>Z*HYi;=`jibT__9&R#{70ekICmbRv8BA_N^bGTkIa2 zOyXDX49ja)c7(1(tyP%Ywrt0%7JYOm*5@IU2>Uf8&tMuVb6_GaNO199J?`CBwM3Il z*4N=E9r!q3WNZ~jO8KPx4J}$8QfYx&fQ}&Dgt9cyAKj;C}8dNhg?NUA=8i} znf}#nryBcz9Y(Ue6~Seytc16ntc-hQ=Kt zmM^4sdei+iom<(qk6_E*RK7*Y5`!FqPQqAF8Nrc-L+VoKjkJ4X>1GMbg=?qIO#E$CF zFs`EXOYPM`Kk84h7&Irts!IIOSr)}ue)Zts2#*s6bJR`hb%DnY3YY)lb_J}PQq?s^R z@=S}>TCuyeJWyt;{lH5TaK0^g^@!qWwZ5y5-AdO~wn%wrY=n&)S%9=F8y zeUiM<3bMGOoc9z`G>d}aQlmpFEQ!rGdxm*qEtEBSg3C$2xDejt_d!^eqTQ6qfe(XrlFphRgrHW{3!4`%p^8h<6XrnA@(fgAug|fgiCAl_Y zXDh^(qrZj=*OTVo-{_-zugco1Tf#i+9Yyw$&X5>><&>2lj!nHGJZD0D=2QSh%X^ZY9ZyXkuqZ;20;<_f$f53 zL%#!rtNA>?lmygMk5`SfD(B>=up;)I_+;X6Ik9^=gMH52y`SewlXjcs`qXFmGsAxz z&C=jb&nu-3=+v)JW_E@Cv8}oww@0J2L9|Zf;!_OK)P>`sUJB>c2}w+?Nl>mb(`wVm zAi{*~H3+4{h~4r&E2p?#fQ$*mjMx{Oxuj>@Uj49Y;QL0GI!}c_yzerwK>;$AUAU47FRxTv5TJ0^;3u7w@_O88VRicPvfekN z^iop}CaB7}h@Rs3Tk+nDVn0*{JdW4*+rL|{*QQtSbcwL?U><P*AyhA0E{8rMrkFJh7@R8~sgI@&M>pLdFO1fxsnwZ7hik;#~s~ROw zgKvx4e$mMVPGrrITW15m{*-htON2Sqwv<2Ot~S@e6*b!ZQ-4t`U|*}#$O|!IyHqpG z3`Vt)pXYDE6D?3zua|W+!!%Hn4HIMR4SXcspZVh>h@iUku6L@b>Tn~ zsKAw@0`b(o$d5;Q4fS$9z;WTV6lBv?!@LD$9mP&8tc40T8>VK5RxV z@@#f6;7<)FFbL&;bxUW$Su{S&};_tD4UF4aadIV^*W zr6|U`+b;*t%D8?NVArwObOirxeo2IPnx5XX-))qwf{!6rV!(6Eio~?J1b}$91LsPH z{=FF*c4(~Bbo*9|saTm?gW6EwKO9La9gw>+Ry3tOEs+zYg z13iz#lNefMaPfJws#~Kt)yNx-*lrG-yIBP2zHM%@(e>EzY`5OinObM7R{Q9d#7os5I>o-~!gHnPGo9EEM?dGB5D05CIrmtO3ofjD_Aw654b z+6X|1ZKS#%MSCV_nlzyBjUu&Z)9oI+Z$FxG3f^=!{R@H>Dv`hlI2W56CWc_?^QeK> zTWoYMBXO=33um|h-PEmc-)E_Zg5iZtkmiJ6I>Zr1N!B>1SnXcO@T`00~@Pd`_}4 z=F`fMFWpVEqyF50FFlhHn3hU_1GI22C8J#+mOfi*&4$ZGqOr;`G+TTKZaiNt(rKuB zX8ZEdROknG0(bUyhJx|9a1To=%IkcjAk`n1P6Pq6*Q3(|X5LUCBizNZ5`cAGF7F=L z?oF1OWCl@AoB^1^>97J%LSgTMmOoZP!lHE%7>rMcJw!;!qys5ly8iFT-Ua>#)R>hH5}_4dS|-BAa3WbfL_(R}UVp zfpIil#v_$>CriqV7tpfAQ)kEh50-5$_-ydO^MX`XjtTc|Iufi${h{JGEi)*NA^E4@ zejTOBsFmxN(eqoaMVma)`4o6{c}CIij$1d)N!dc39m6JHp|*O}N~7B=nozD%xEK!y z{@M{*(P#(~Q59mF%tY-b}4} zwb9)t>J3?LUXj;@UOEwG#!}{(iB8q#G>Uo-t2z-h!zyvlbx&G7h0b*(t0=XWYpxVm zG%qTC68GHT6VJwWdbTA|M*HkHR4L3OV@R>x%0Y9vMKaWA`*hi#jzrCgzio-rKrM1o zOFLghJX-wFral&hzn-hkqNh*%)q`sPCFu)GUQ26UnCuAZ>vHLkcZOSp7V8WADGl4FcvbWZ`S(7HavgYS8)07rB$pwa|z#@Q1#Ogvv6*Vt_bl&Pr zPpCuN6UPchfy>o2qXy<)mYMlDqhw|RK0-+|=CByLWRkKkCi+OMc|aR5>Xb4AXu}v$ z2xXnl00WGTILZBi^E>$1w?L9#@Nf2K<|>os4Tbe48?q2=FVCB+eFf^`yrbO3c(3$1 zUP(~_MkqlLr&7#~2Ic~V$fON!Ha?EM=MG}{qEn)mYUkP;r)Y= zt8@-yM~??rJQX*YH5eA0(@#UX;c|!hhcK8vASgVroU~{I5h=T zPa2e@(ik4c`HpSh%rxr=VV{Z|gD(mdeJ(VSJ{TZ8xy;0L>-0;rHj7*MHVu)L30^Q3h0Z^q7~OMMN8x8k~a;kUun>yNeh0J@`Uc#dI2K$g`jfUY%Vge6zG8yZUW9ElthH|X_gO%rt zhj>lGNoiR$NpHU{dcMW$%JQ5rjcN&;nZ96Fk`FsL7ZQ)Sz~X!r|2dyWNunqQU;wN1 zU$ce&Zncf`kudR$2CqE;9JhvJ6-|}f&}y3Jy}P5aW~*)3#jU%siLOI2MnqI)4?uN0 zzFoDp-PPv|_TCYaZy;j%(ThQv-rmM7#~I14xm$mG@#bzC>cnLiXm3BOh4o_e`N}V- zY36p->z&$4ZUg~NV2+X|2dWS|w;&!j3|fhsB}#!x5bUe_1zlp${(}7qq4!D)XNB7= zjnUpG4#5j#s-#<=j>r$Y(oYjjl!{d&@h}caXmv&%1W#dJe z8sCTpa~kxle@V$AoElHvTIXLS*3BlWxipyw*Jp65XbfyyBc=1+h7S)~)JZ&C%cnoL!l}3ab=RU8kCzHEdb77>hPjd? zvgM$6V^2*2JIf5shmB20xZZ0_J^)RIN~APpt-k}b2)(cDZVuL;vxFdv_(XRPREbPG z994ro_(e{>b9Z8@u1nCk%v$6ghD@e>&K%%EEF%G2j+hpzxZTXC?pT44EIz7kHtI2M zDtyI({g@UJ&#M)*rtW4@f_j0gNjtwc4E>+iM`VYT`7*m{bJrz_;epRCK6uvFLq>VV z&mz7u*czvD98$DXrc`3T>>Xyk_nXN$Haw0a<)cX<8zBRB$|Fe}ss6wdDI9t}hk)M_ z1Rym?@B@&GQ}ffLlIY`9!abxX?s~S-gTsm{dc<0~*CpFt=p%D#;b|yI55V}YfZ?rU z-72vtrcOdB%Z1L0&>yQ-G{zj@I@s8bXnFTo=A4wPs2(vP!sYDZ#1-Z@ViAUV9hQD3 zIH|~rz&}{}sc5v#qPQSdZAzv7(`dd;jqZ_*isVAdnnR);Gx^MmthZzMfI`TyM7Fo^ zTkj8JN|xe8K2w3d_agR+nYV$3d_S`kG-(;w^KTNUhEEVOWaW2@^)O?I`Ls%5HT;h8 zwJ;^}{5R(oPb4;}o?7ENs}uZke6mXhUzZUZQ@;VE{0hF!(o^eJ8F@#qzGB+u)zs`I9kKMKKnoJWPRUlS97YeoQ)$~V>KQ}k$LsiPc{(C z(%M0;TIuG*wc-qROG%7kj-ZuJ&?E&BATXZ93&K-5WEIwo>`}4TeR}q`C`?FKh(>(< ztm1-R;X0^;o(LpqDr0Qa)V@HvO>(-YB_lshgN1%HtfH-IO0Sm);|AFYCpBhe0rCOc zEt<7mP3?r){4~28XnfjJGu-PBpRFsX`?~Ek+1eyfF-Iv6Z;zN}NvaP#YE)n$PwP^3zMe=B#qs z!O>@TdAEz?nY}8@-&ez1xw5NH3lN*0F=`q?tX{ROv&vXID^o|T(apqWxbrU}Mk-RJ zNX)-0;+?y#J|juXSs{?uOey$0$%RdVvI>1Z=q3CkE$V7%U8OzFl$?|1^fR-Y(weoG zW5oN*qO^LhS2vLf^CVCI^nN;EPplJZ5QvM@>#X4}*GK}O0Yd3b2+I#muom>y6HCvV z@OY3*d!)c=guvOY22)$hZT1;cVv{=W@sXmKvNcLeQ7n^6edB$%`LvO^fg1yN4mR=U zuSN{Z(YhK85aJ$jeUiOC!!b(@WR77p2_fSkGpq2|VMfJM&h=~N@vXx4UoRFhzegcv z7IKu?`i+p%l_<9I8iyR_z>2EbzS&Vxcuu>uksuk>%i^_q5uhaM&umwctG6F!FTQDt zS9bAUdw654&FtQ4hUfir6nciOP4)%KHO{yH8Hf}J;H-{nbr`ddi`C|z34Va!%zF|#G( z&{Evz{CDZ++ILw8Op!MFvgTO4$P}ptm~lovi%e-Lt;6GXK9*o+j`Rc-jpj5;*Mg~q z%!r$@t*wlbkMGjJNX)jjLT2cRjyQcJt6JoFX!9UA>;Zrsv|UT_C1FWQKLCE%SW{bv z=DJ}vKx4?F%3DR$X|e|YvGP$`&azjjc!PIAbEte|dQ{p2z$)^F$D^WWk@-Ws!P&1P zdhJ;TFGp%9!TR|Z2ipS~=S=<#HdHvSZon982AjJbGugX0Q{=#ti&PtiezJQ9pZ9=J z-ulV6z?ME9Tn2<~D0TbZPqU_KKA}&Yc3Bne2OUuxb{XrRT9n@Fs64lYi&Mqo2hyTS z@k!LZ?t4DAku?UW3h|uLMO453{rgJ7PRjY4zZUm5B?he{PR_aRD!L0b><0iEe`ONz zk<@TK$@w*c-Zk~9*(0O4wy(6#k?%7cxR~@A4%olD$WSwm#94u&v0{4pg<%eBuKj_0 zA{+25rbO{GGf6RaX5IrRwNJ&Zx`L)7o=JZv<#eK$V9b!4199sxeDZI!g~stcKFd;# z)19DBH|KFjCqw-^$C+CqspdENPu(&k>2`LQiY!0s-kBBfct$_!k-JO3(726uhesH_ zXFDJW9A`66?OLard+MuK{ozSO=?xomPP&XKm8+!I=_wasxliIP>px8l=}bI7;rRON z5F-3YVajS6-ee~F()M!2qmxJtKP)-oj*sc-)SV%>Gbz`jaZcz+zF~c1A&QIjhzEM@ zVXigoPMDgr6a=;(TDjubUFMpWni(LtLQcN&moCc{k$QrRG4bZf2=qw)?jl~I;ayoR z;j2{j+Qh6x?faOR?3+)@s%{DD`D9F94CaFLR!Ue2su7`%)J$1Pg5|kKID^<7R{&pM zf{hJI-s;w~U`i z`+~;_O3E@WZ{`LdZ6=a~trBSWE6R#le^62Kyr6R^ZuxC-w7h+MF(Kn#A~dLvY^&qv z(yh1TdwGa{l~tEsT+>tykUh=)cUctjAA7}23O!!AKie{dO@f<|CH(`f-LaEE#*m)AUs!RprFT)75#q-l(*Res}o`Zl{;rM_`2OrU<(*3em|7 z>dD$KI35RjX@e66zU+pew-PmG@HmgJ`Q_rFv7?sgcrZhC$SK>7BVR{F@R@9yZK&VN z*gvkW#?Uddj*vSKX^-}QV!?jvr17{5(>gK z_mujkbgU`TtT{0VOg4oR2d+EfgRfUCP=<~mxLQPlb= zDZd<&=xntTjY>Dd;31H^6ov?0BY{9K6kF_IV=H^GIm84df`?gN#*IHdjCS{q=>`56 z-ao&D2mE+8>qL0Eh#2cjaVmIX%}uE~o?fli$e<>^Lh2g8AK_PGeeG)cpG{Y0PdV?4 z7b;A5d8rkr;(m(QjE$?;!TdSEYtL^9=5-{8tQ@M0e{#Q)ge~dzvB-nBzSU&?qtV3M z6SE``GV9NE!tS)XknQ2fw~k+zA{&Vwn*rc=nfrCM5^WA8jn^NguJ`lCwB>+S zp+!YRAZj0_@G-FpG?@j)^y@wQua7$2>?GbJ3#c`eI8`~`H|hy+Ol^lFRBd3_9lhw9 z%D1sQDwc)n(C2YXc`01GMF9%hExx7Bhy<6mN3s%V28yxl`t6q=trnpTO?Xy`B;%d- zfrp2(=n~~Ef9D;485q;5bdE$)9@0DgFrKSUJb9$S7^+}UlWfc>I1h5=4&0?ocaYS$ z<745-=tiHxcFt0eM0AtfzZ@H?jG|Qf86bx`#syi)O@+G^N9Cnm!+D=E+ng1N-}6pQ zmQ*UHiY*Jr&#+z}VP{3==2JT-#*#F7M`|KUmCCHS?iEkUZG*5Dyr21UChgSqr`JMu z<8##M5n&vh)>eZIm&K2_7g@g1afN z)SBH0oFwS8w@;J-Z{y}Ek#!S!YXyYC3my%2VBI*)aX-Yxem4AudVpGn%UEi! zLIJQw>s`CjO6k(l;|HMd9bu}Cf`~e`SuY*c^N{cc^2yFP2~Vr#Taklz@XG7G$P7lp z8k)*wdatFwP(WN8pumci-5ID9)o@ctvW;haQK77njooj|Sc*5$yL8#i2pLWud(Sp_ zZhkqJPcb06rs-t(y5vLj$e`23d5Y+UH#ID%>Yvl0-&o2s3hWtt=v8hG`QlRi(&(RB zh>LYshfNt~RI?rEwgr`XJ8Z1GMV;ESwn7&W$UL_VE>($*zgI9EJ0$O8cuH4SE);WD zNxcT^f;h-wTlMi(!Q&~2WQ4}xvW|vj>Rp<`noIh5D=9I#k2tSCNf)x!`?itM#JkcX zm-*W2@EL1OTkx@6-r6N-X}1T;Rlwhm8x0(MN~E>_Gtj>*%3c&}eTW0_VlUo*?{g>9 zY|*gU%RmetZB3*!cbkbqi?1^w3(9va6BbR^v1?|@6q43Q4e78{R0ownPeX-z-N+I9w~82k{~t&jPV_kEo??HS|j`P@?PbwDyPIA5z~BM8WE*npxK#o2d#(4 zg&^0C+=u(Zrs&7vd^{X4U11zr*&SL0{51^A9iEbJLzlTC)&lTnf?AdHcukLpveRIa zoi%E3{owokbFJ;qchjrCc6V;1Nka?gLRTC!+OPybowu@4| zNfC3jG-D}CHc8y38KltnP1Xw*wT8Ov*<{S7_ts7?r%h|sRr%hK&Fc@skEEVZavV_6 zn}|=C$$HlM)i#Fk7+t|6si$1Cdi)4p*xIkvJ!1si=Jq#GM^*% zX8un3g{|XA>`AmARGY=Vb4UpV>iVr&-e=D7>vH=2`(b)rYtw3ZORRdnAf?)vR4a1A zdcX}`N%{u$jz(lO7N6tQI2=mWin%x%H0~MR>j7F z@?Xjxh_lQUN*cQ~oDp#9DpG!F)9`uqN8rCDT`9ujcS{Sob!Q*n(;R1VVK*&N^j4bG zEVC7S{vs{Ls$SkC`sNszh2zEa;|{8U&MxA zYx%$QM7CWD{MH!-0VZ>AlVX;+%rDm)AN?BEjS`Hnne z7u!^X!Fpbq7&!GMhe~$+UTh0NuO?u%q1;lEjNb$lK94^&M);%CM2Zd934G&+ z`wCEMc|C&hx?miUsH&x?rFYT8#xQu_^BfK7yx7|P;iovUvn~7_*c7T>)U7l2a%$DM zbuEmD0PkoLm1 zTXliyiUqO6ZV^wiR@#8RzpVV5wGDS6+_d{g`R+iVo!3WOm^EIvyL1KgnevQ-rzSGI zB)$LiY)7ClOTfM}owg%8ca)@1Ut-F8(JrNLQIcnpo{!M%%}3IT7eBUNyQk)}xhQXn zRSoOSQMYJejkEhPG_K6_5|FtNGU%aY$a+blb#4g6`Lv~aN@b^zaG^#k+_AT#Vf=Mv z?>m0x>Pus{VFc6Y=gO3x73W@mAQhWW-qmv)e~crHTjLZtPWXjd9bhY1;S|Xm6;$O7 zw98n4xZhD$NqQEX9HH8#4HRie^7D9veS^ko@&tJ2o9=b2VZGSuRZzXJppN^ptqs#t zi*&@<&T}0z{CTnl@>}1i7W4V_J94W4dt>>^&ls#c8f+Wh*_Otf>N9k3@8gd;r>)Ig z9<=}HUC@cThBtCR&EuP79xvtfj?R=)06Szl7jNDJYCNuKBO(JQo2A*K)DPhawjwpyJ9@F z)~A8?{>OUst0B((Q&G_$)D<_8q8h$rR5c-HE;M6}#_lGtXjUEur`3ldgn z&?QQqXKSMNYqj%Z789DH`K?}>@}bZP?-BAZ)pe3}=0QbW%d~cQ>BV_3iBC07#N#*_ z$unyOlL8pI(N(BrEbox>m(cas>dpXA6RbVl(OZuiuV}pzvTc{F;)gcu^exC=Y;z-)}5O%WrLA^gO$*h}NEv zaBb%AkrEe$c7NQwUU+!7d>gNGigo7-ZQBT0{U@DYjDoZ~@1-UwrWP!(ow#zlXJH6H zC0^2q(vhO0!{||BTkuKUZ5t&{s(|bb?x6Dl2T3eR0k*rl(cfubOsj)fQf{)6bsG_6 z--_=jFKcdKPo|$RBh#XeUHkI9MlpTPPu+XUT*9&LYy^$Rc#4~lR1v{97GR)Hx!GVz z(=ynZ;6T$A#yXX0XkBxg|Gv{ew0_Fb@03Zg3qtKmYKW}@TGB}SQp-5adg44Uq?2dD zR=a6Z%A_wL5K_(Y>0F-?B`N>M3g5*IyY~V$wHn>u)zMr~ID&_W)Gk zntmjz-<@NUs-`^-r1B zB<^YXmXF4otBW-k2b`gd=khZLt$p_5&&bsSSlo!plc!ZGt}hN2erS$c1QMreo%}{u zlCM$=F^wy^f*i(yvW~XBc2!o4yfNCak!=P|upnBJa9eE5csWoQPCKe6M`C=S{S0o} z{TS8=GLblw`ol)Eo^j~=GHjYm=_8~W?&S#4b`1Wd#L+r26N{;6~BlUMScF1gwIm`y!%4-EXZLwI*5WrA&iIIh1TT8B38Q z3_j1YiZ(FOB^jvHXU0b#`Nfz`X!CD;_ZOU)n3rlX z(A=6?gE@ay6~IvoGpbT)8FO0tDI6-*do}+_^2}z_r11;4Yu*XsXpQIDPDV!{;dXnj z3;d(>e^@`wR2ZkLwmFT>dAgkvTO9wY{a}c0sU#jMbDmz1oNm)lHqwdx1IIL}#{erm z8wfczU&j?&YiFqW*J`G|)Dtk``E1^CcT0Ivr{d6?uM%P5{ghgtzMDd0$Z3&Ws>cXx z)4%l>*+RG@&69-q00r5!8pWQV}D*lPt3g+!9 zEAN8kx1dWWC8KJdZ!t3-Njp1EF3vix9*OZe#S|Zxf0U`!R;hLftd|l-Y;S-a8gCF? zkMWWvL{!J1;n8pzJTNrc3wv79?A9(Yx{=AG@-+st-q0wI+v2@hp1YXQ_Ivgs$Xt5s zO!N#VQ0(|Hhub|h;fThKp9eu-&XQJo4T7W($Q-LG&9t9s4Pw2-d9#>y6LuOhQWQjR zPKt`8D;Y@6JA7r*uFS%}poSFmVppSd?V9bxbs8HR*7IUOZBvzeS;ros*AMp2Z4u9P zH{0Z(R;u<#_?@X3|7IApBEZrlU(@xVEELTFGa*wwqn`7A0nMFI{AH4^8oh)5=K}I0 zvcb`{yOy$HR(KI|^^)QR`c$vn>9vdJE7)3eHcIZY%4)cO+m1~5s;O(gW^OfL6z2Ur z)>S!>4y2Vl+3{#lE)Dqbn3YmSF!=!>p7eJvwGqG;Yd+@J;?)18+*I=)Us{6S4&2Hu zT;^_Ii~7mtfKx|NkmxF3eL^v8es5+7q#kL8sD!KO<0aW0=+L8GeFqmd31=kK0@D@! zy^Hx5RU_L3JYVtJNl+%1*D$tP_)9nOi;o6H7p6AJX1|0GCU4L`?TN>*$7L5kPTCZb z-ODF+uDQImy!qOmL1UoD|C3rkpDZCi3LCe<%wd%6r1Up;AiVA_v+5}g1m>YYl{}GD z%`$d0RwX>CfxmgBEo!g=RbX^>H{}H8$OY`zH|pO(C+uT>%!o1nDc4)Kis=r|v(weG zEH#;6;a&Of@jNbf9wnSTdxqz117COJwTtt*pg$3>2_zyDrCB9sejCcpnEDOPNkuc+ zNTstUFLl9o+~JYpp%DIJRNRJ7yxtfwpL4{RG3?HfmcO>tp}TD(il)%eb@1WKXQOE` zxQ@z_6>sOnUZv2M?jZJO!xGmXt}CsC5io0w>6NkykNS31BilD2`#Dpwgn+FIGc zFLLKAUddzR#2;%_W@>tWPX`y2b+ISH9_cfs6#CM}tP!{$so-`Uc7)2Y_qD^wYbQv1E%5ViaR zg#p7I#^%Q5%7X9j>Y7>_qA#`@7V1B(SSc;jR>0X9r)OBiLlGGt)cXS9)IojJ>zN)B zB5djL7IkalP1FlGTwl1WWl6}{C{&3WDJ=Og)OWo1o@Y+2o}!?Jtz*QS;A7Fa&9X0J zG}X>QhGhq8Mg4I7H!WwDUxS(Usw|<#t3#+!!7sQh>gXJcC%PZG>i%et8&lD&SmYpv z*dW9yDtg7OCNKr_kNA#%w^$MgfrU4(S^br?#&?XPOX(nlI0n0b`dU#Z{{Na(Bu2U7 z5td;ouzLLk>*|jaHEtDuKsl*$tkmRomV9@dO#K5Q{2l8-VgKzxjtU)k>H*AGyigCn}`hugcI?Ukn;gx`NVMn^l*9qIaRYX-Y2ZL;?0Q%?6WlF1I<@# z>|zei>n{JBXSGpM*6VL?n?*-NV?}HSBOz%eqt_ait9$yhj2gIyNF#3>eA_jdz%m z3HlO{eAjK`i@nXZvA+RaY?n77(-iI(cz-3p`yUp3EGbl&J)hxH_^z<+DPzU(e-6Nn z-wf5@X8$5A^y5^b8f);MT8<>-|7Z1X({ObxTG#mMIpS-h%aPtNNF1W;rSM7di^9q- zR8|cL83jIBpI&`Hlsp*H0vNMZe!DZ z=#1je2VjIR+#Z5}G<;-8?FqDmW~$^cTjhrF>?AR3U;cTcD~9 zMiiRh}AQb>msuGAq+(HoCyG!@GTc`XS#Axx}f?_#|?J8~I-G&^@z? z4z7`_w5NO-!=MALzMbpFn&xp~!r=l}V|!aZ090I7B2O3&VKv}p2F}p~hV_20z=hnz zf#4%Poq-ikYoGpsi7Gly>iyv~QI9y*jYH}`S~%I=mf06El zwHaVJ%G6w8?z6ivtwW03=w3XO=gxIu$UWYBy6YO(DF|9QpcpnOMU2LaY_rXlpy4 z9_uIA&r`eHg1gdgWS=WEiv5w-$OHfSOqBSQFA6mkU%qL!m+13dy3nNq$~AF6leS#5 zou^kvjmlmW$A@N@X-kAjl0E=GHJk0u{u@LYP9}<3*2i5GX!nRLA6>9pMMqBjGi!YQ zT*H`oHpQ1ynY6*>A`S0eddKf%?oVRP@^@}VgB@4W+eIYmi=}PU;L5pjuaruUjGoKH zDCf!>3;I2m%3I6*<-p7)bNQ;*d2_}3VJ(m81~^NE};E(QzNc&Bvv) zIW#&~__aiX%DZz$MM2^t9`O{7O3c^o(r@_uq(AOR@A~-*a%EOALsZRVW0vvqUW#yu z1#0^KX3p*{6}Od9L7@%V1#P&=Q)bslo}SToIYlgKedf&!*?qIg%e`Qhu=wXpxfk0T zeA<-UOtT6Uuv;x;iv^EzXXhKWtf-`^GMJu+y?PNE1l$+DAO6-sXQ`u&^9%zyn;cxr z2$Bffun`<)1Vw&()K}2ukgzDEh?O4GmU7x>F}l^Z^prj|^s-Vkk^hU&fOap9#n|ct zV8co6hfZ7QIAGOJFZ+Q<7f;6yx00+Z;cSS&aXQjsJ5GApz@3}QiJePqS%nqpK25do zD+o7nplrvlx$uMk%uBLGQ%N)*CY9~C1d3kYxE{=$6p+U|d4bnCJQhX?o$u6n3t*PmxYmc5@yCH+g585A^DDA)o` z&I{{a2%UbFI-em^&8dXU(hlZG7sX(IdoG_T+Ee!FBff`Wi+RBmlK7$`Koz96+&^1l zN4#^nzmeJHvG`wtRmCX3D7Ut`M@EK3@*(-J-=h1j{mQ)B#Ls?cyJkZtobxoJvDAMH zB){|;CgeOa(vKEA|H%N+qT<8u3!u9%e#%|dwRp$K^O$GNXrIbIfm(zU_rGUZFW;P= zeQRV$`2NhxeBkLWTH?OP&|uWb5|F2ze?y@8eBA$-uEl2|rfT9WLzcuvt6WPQ#L)MI z7x9&NgjxES4A6HMSc8|s$5=m2*-h#4$>`noUjDTGntJ$`Zr;x>1%GJA?7o*<*}cxc zsa2TvaFEr=1~KlVck-Bg9FvD3Y@?+q7u;0zFz=)pG(yp{)Su?diHvqmQt)HFAN!Ic zSpDx+h`g9r_gww=nUwk7)y5#eLOgk3q~IjIP{>pbHJ$sr8R9(WGL4wkY&AH4)qvaypCWTAPsly=9o!6xnf^nvlY!%@NP7mb^^!g_`Ab#e|wLPE{#9a8K-X z<+Qbympe7@K-YLrJiO$vN_;R}uWcoh2D=vnDb}qscPbE_WNf2OklupY)=`M{7WwRH zpABcOVt0<|^gTk&R&$Lb`D@T`45*v`m-tUby!DraxG(}k2}LT z(q0O^*Tw55z|u6^{!iC3Ce)n1AB`J^q&S%fQ;) zL`ss~U2!;80j58)HO@bF{rL-W6yu@&h$I}_!9KgVWK69}ltnsfjyqeZk*SqRo?fs> zi-*03dN)DA>f*$yBU%kt6AV-ki31!aJW)RXS@*oe#Fdr?5j?e$^A;1K`WMz z|8sw4i}BNTap;`=P$d5=`rDY(NJ5hYc*wdfbC$cI z+8+tU=`$)`8ga#KE8#Uir5vqFF*e#992<`AjyapaOCKA*AhpiF?Rc-qmx91YX9)TS z%L0i|p27F@Bl29cIm1kA zA=5k7m+>BS;PUj^@Uhpltcg}#7wftl)?vCvT9!jK1gcV!^^5owcipLRNMXxR43uWj z!~nyNmK3yrR5*ZPvBDx{n$xEJeA7IEy|i;DTZiW#C5k%)Le2$4b^22Tg3BL(*%pRX zRwRarJ{c~YjKB416CxN_{@2MoB#xO!j<+EEX%edyvoqxrOV0${+J8<(_+3sVDais}` zv8MZXW&b>~ZGwLE*skjMTHf@`Zraa8;S>;_$-jPFy?FqAF3;3Al!vu38Zo>)Mm zQ|T{d+{Ae59Qo7Ic?*vJZi2k6_p>mE>6^VZQJkP^;KF|Ba~1R@`->_fnKzz5tT}hn z7q~dacf1*z@l{K_I`;nnb3ly0HYLlr6=kbgDa4`J$IvJMvHASJQZdW+-8lot=2aq# zi88+1J)g)wu6a>xYUL^^S;i)LO6Q?)9aLVL9`_xmK^|wzOtZKzDt5adYG-~VTTj`5~jWMT`m%QlHkeGR5+Z~yb%E?O1*CkNOw50k5 zNqo&gn|yjgHj5AtNbpG9&$JKE8QVnkXhhv(++X0#g4{cIH$N$V-LMphPDrwRj6pX>MM$QEu^^jw-byZk z31n;|=o%v(kU9+dDdQA5dj3>l8 zm5eG92xyg*I;w+ zP%aI~R{~srP-H_e7DA9(#hn|r2EB{w1Ms1_mCWjmH%QYUzgc6^@l6pjvFw`yvyBi^ zZKBmbX{&ZckIsxYH6~wD;L?W0BXAA|Scn>7m9%GJz@-~dz~p1bXqv+d2%u!+F=bp( zG*}v72naNG4^}T9;lrTCpO0I1#_kC+wFC8c8z}Om+u@`G2ic+?<^38r5zMe7Aqm`M zy)xakxcv6jSs4nD>a}q|c2y?MuEm`Wr^qCQ{{T!g0mwXue&u%qs8CU~XsKYg;xtXubkq`~ z!WGSCm}BBfHL;p?(Ec2W`8**4P z#!`t$n>=MUr-J8p^HnI%M1fUz6raGaNjW;vZhk)vc|0(R$0D=P1&AP#ZRpc6B#?0> zR5cO_KN5Bjav9prN{UO?OY0CoqTguV=&_;H%E~dW6w1cFBX$II02N29QD`&;siiKC z6#{`me`T2D6<3KKFj_GzhRs_@pem^(4XC0Rfy^^GV4e58#%41rUgHtuA*>Sv@KmOzTXH&X3 zEQMTvR(C~pFSQC72HE3zn~tq6r;Xg(V(y59EsMmdU@$HLTk+5xdev4yBgCUA3~GR4 z4Jb6i&b$umWPndW`D_|aZ54{t<-nT4L6{0!N~>6faKyn4J59PX1~o!@f}oZrjtL!6 zS)_!PN+ni9K^;Yw${@Iv01^&Hm)>9@n4Fjh^sLk@Bji+&KXnQ;K(EF06ASU&W#eVb zau16v%%QQ3vxN9u!7&~DYk+DXQkcC^t zm_iu{4h4`Xl>@9z%8}=IW5^sTgvu$A4nu16RLYDf1YxQH_r2dE=%yC`l2>7Ofp*z0YYnvLSLE3T>Bf&>usYBOQRi)iWHI z7FI4C0!YMww_%0^nm+RA(3d^eP#Vq93|GKx{1wMStoq*Tq>P1J6lh~LGKs=mWQ6Ek z47~bUj-_ka3r%{>VwCZ8BmlDro`okYM<7DYJ;X@`Y-b}dj1bl_3yO%cDMT6?y~r|> zNKtZvS;b_LD7~+iEp}UESF(4|%zlZXVHB-s~MTSV%$zLP&A<1%yj%*=d+$j2AUjhiE> zjzabUsU_03iBNPHkfFdQ<+Kl~aO7xh)zws^hisLI*(y|fINyU4UL^eVC}k1MjJTRo zp(@aU=>Gs4uSSR>sDakKe^sA|6=rCO*40Azk>{Eudb$wrV$(uE#hZPJAR9iO-pqwM}S>|EGW zjzt5^FX@bEO9DY3;^(mJbiizSJlsy?V2qHK0D{XvU$AbNlkr>D??J_xB9MSH0*+Nq z{{ZDhe-=Rh0HRLp4kr)^WnmnwUbFE!*o3EzLa;qY>-GN*8EtzXz>{# zVV838Lt1S)1d(m?iLYAd#+pTtD_ab49*#s7DjJ33y?-CiR(=KsCPar~^R;6-Si;KF z?x1e56!>LoGc^9>5Hw2c4^&ntooJR>KI*W@u69Uwqm2+((Eu7If$4D4M%c9#4NIeu z{u+T7p<=#lk=7=|!m&86-4a%r6OlCTV?$+b%-&G$T7&k=tc6&G&@(v zTv3&!kgE3+Kz^dtoY`m+bUc9-z3^2HBxsUi7|~{?$dU@RVnz%=1Sth>h{*Kv+?BAc zi+bWVJLk4MawC&WeIw+%OC-(VOUk`AwGvvgv7)efkWp3V6Ts#Sh&{!COr!vWwY!ug zd4$n1vshxH)hKklF!$8`%iGMRfnpN7VTSK2BOrDL_H4T1Psb9^Ub8k8@jCCmIFVm$ zq1*fjT}kFk_WAh<+tm&nz0Tp5OhZWWV)n*LS`mfVP!tf3Ew(5cUYBx1Ql`q3$Pwbi zpVZaY!w|-+Ky1|9EQZ9L`&AM)v$i@3mw8YaQDsFd-={#y+=36dZr!>LxQ18bnKNW4 zLKIW7r&Npp%oG$Vhl^R)t&CzvLrh2&CzS?WjDhv{Y*vl~{#_1ivdsm?n3QIj2_+~( z9f9LS(P@S;rCrMXDh}9p59uCD_e5m|2^^DLc;FW&0Yc&kDpjq(I57Nqkp2J`GB#{V zlFHuid)K2tDHK7m>WR%sOWB&LZbFLm5(!5^Eg%mzAgdjf&?RXwSZzS-=1CKb(*FSQ zmki9IScMmMzSOfCt%59!u7=U(XH^8=ETa5Dx?)2eR*ANvmsOSYSvbhs76zF*HO$MU zVI(gC4lz^mq&fz3Ava}oLOKvSZBXXKi^ubj_hXpYvdc{wV4;T5gF0eJpaP9mfwa;r zk5P~WafK{Kc4WPch9OH52eG<24xF*DWs-2@hx=M8j_*YCM8SMzi%X3p+rn#JG({Ov{)kw8cW}5#*=Hf=!dV66TSkNnC?Li2*@nIUKEt7i1f%6?6%% zglF-&a~R5>*rLySXLYJ&Dotdoj;MALTbr>bXg+kLF>gscb4DPK#p-5|&E_OjRRl&= zw}wM4_=0~P%9BP~L$#>FEJTb6C5e*2wsr&owI|UwI{WQfILS{l3Q|)OD>N-HvR-)i zi*K++TdJi4p+m61sr2t)s9D-T%`+J?3Z+q3$VB0{Y5~PqP#T-~6cFiO?Mg9c;q$pvbqjhDTH_ zS-7lfri_|oX)}0cJ1UUWbS$m0>t>!VQxlwKLL*>`3m{XS766-D{sG9EAc_VaBequr z&5$zpKm>Qv1Q>P8pc(2oRI05DmxWG?u$qvQSwmw zIN^Rwh>|HqR0`M@4$QsM66uQVmjHCg4#7QRk#NR^5I*hBK=={`vwG3HBCjR}>!jw$ zo%50MGHZ_bHnoF7Cw>ExwvqBO^{0_$$#tq8=+B~;0Qw(vOUPnaA>+x~UfLQlt}Yv3 z4UvnJ`C=)Trh+(#1yyyDHM?zORHo!DZ=7Rv`Xw+7?qqP}ifueE_ z(9Q_YsI*+48xY6gfFyw~2T;{Chz%QOL|mLbS7-ukZ__B*Q$Y>j?c-{r#86dsY9R*0 zF;Ghv6iBW63jEGSAugd5(X)Hi9+YVWXStOpU>b%C$=IeY(*C0kK21N>_ zMcP%;;kve-Z)U6>j#INbGJwIA)NUt=Z`5>(7~%+^3mB?_+p7gxq>&3T2FR}~By~NL z7o^RLStoUwvg1Hfg&HrtwO4s=5?m9C=+n|nQVqbWaa#hGWq$E-Jus%o~ z3-DugM5@~z=JI8kMt5po5aes>i%Ft20HZl|MUnpiWRF3U29!r~EQRPSmPsy|fLT;h zs)}NCm0t8$m^Bh`BAIdo1+`#<`;>!@f`uo<=nksRTZGBC<~Uq~W8<{A>^fm1&3t*N z)jo16u#Cg>06ZMlX3ES$?azt_VV2}D`c*zp0wa9Y}wAjW8%#Ykno6(X= z;mEl$G9Keu7!b69N6L^{7J&eebb4#W$HucnSKJ?an;^l3B!+mh?9g2TVjhR=-w4}K zyFV+}aU+6WLICa}XH*{JTw_guSQ4PIvJTI?4lG3E7f^Ay3>Ao`{CSC9H`+A(Fx60;zDmZ=U!^mp>V z!8=Yk*t)#{)K0*$NDZG$eu%wepl-UNe=*{?`QUe?I$nm0-VH=w9{UAS4_445?SOre zvJc0uehA}@%ak#(qSVBEGNqazg;GV4qIL;d>v^-03WjDCkqiO01m3Fdwst@V+3MEg zvGHSy!Zc+8`Z`$cTvC4w$Ei}v-}`~u>~DG?g<}yqAz*O~LpH3h+r4P|6f{3O>trw7 zTU*!Mq-A%o2K}EO`xjTy?hB2bX6Cn!vLN8Ob(w1RLE}o6ZmOhfvvgykK-fN(;&E8z z++?PY0#cAc#7({seNEDv0cEWk-`q znH^__Y8(Q}8EB{+na~D546GEW1pId7p&~<&Q9&32RSDHH=#^T2-)}4sa#RrT22F6ITLQ0 zVG`^9Pt~Zhm=jtDP#d!=7GN~@5?d15(&C26qR7p)LIW^Z#R3?4D{P*QBgYm--7>e8 z?x_6HY9y!^`Ox=|E0N>zc_D19JMoqi_YIY3Wls*}$(zygu%9CZ#U5Tnd%SXDK!-*S#;bNq7gq!wEfLBP&;HZonB-|#g)(?f^ZIzU=S}Xuv ze1bS~A^RRCo}+5kWNnLR?!X~|T>wBQp(?AmS2?wY4i^yQ3MxH%01-ffHDrqwpC!xW z!#YZq%L-^(NeVF(iEkYdqe5fml}e;oG|RThM?=@wH}x)5u=3dz+W$>YbEjm!V&jf(Edq1J;O4&_*tpNP|owkqCis}AY+qU zLhVb;JAy0R1iZElP$3g?3AG%I{CT5*)5i(K$rw@GWnH>6HmrupSmj25CW>MK9I<~; zEnZOWRmsXVU;sl);<~gnaX!xIX~fT#OJjNFkBPf->!+B`6vPdPB8I(9BXup@A}C}5 zm=qew)0fb7($G+9ZGz!K8<0ef)gRM~f zY_Fr$ox;S;5waCGiP+=h{{W0#YGsnXWGACifqG=B0i+&6Dci55BvpAbd`Y0|BWfVU zgL#kM%&Sk03If%L>K`)}EQm?&f4GA4Qn^HMBY6DB`7|#>uXg2E4RYdyt>4WlcQsi9mx^qzqJ*sFK-L~Qv1qVE+e3Of^MQ;- zUGf^JmO!il3l296b}7?CB^`Z%Wr~)A*wRLe5`=9z%KkoBKlF7 zsCuV49@_zBfIA^r09)86XAnoRr60+7?5Cc6;D&?3;zHdfEGX;c5c1SZC1xn8B%wxT z(xPeoY081y`hciH5PNwjq5&2Xi4r1`qRmlnLq4eRW)$T7Lk%oml5V_`bsV)2qeNu;sji(SYvicQT!iX>}9(#^D_{PI8P?ngO3 zr}Zf3iIxXdh9il^V=d&%U^q8+0AXZV4b^X`MaOp?0y240Id=H z7n~d8?J^A*V?n6Xqr_5q84&6`s(z0~YhTCY=-YG)tpUEtA~DDuy(1izjW8^#4NzYu z28Nepd@}VXlM~`oA2&cstI<&VU`0~+t=6>H@<&S?jjnB%-6xHQXGJ-Q*3-P~DAyj` zDeT2XJkKDn*cR!gK7k>1&n4|7rKK_p?U5lElA0qc+ad8_+5+tHBGhzRNfZ%-c$Fvy z1Ub6>xC5%u(Cfx);vP7vF}O}JyVDVR+iIRR2BnpiW#wA8l0b8NY z@tm=ZLY&ocqJ09Os}jQBc5LWCF_7pZG~*D>;Y6CH0*PwIgAI@cU6q?ba^;OV#~Uli z^R**+$t=(9mM{j&bRQUoWM3*Wq13@a*VM&`OUL8o63((*jD#vV0cmVyMWZ_+!2oDB zx-(pT#>tQ=Wd<{29PHTm$Z3si{nW(X8DnxzZ-IsFtr`gBN;z{t^2ma8GV)OW09z@# zP_S@J+&Nv6eQgICX&P=MU6~S6jUGXK3}TpB^u?W66(D0qhRIEgLZpz8QzRu0h;ydZ z0xUJIfh+8elDQroV|u1#q;s+{PB@Ze0)miJnDpvNlhN3+wT#)GArY8$0IJ+J;ma|3 zGo7QQ3f3}G9EMUwngt6m#DPHkha!~X3_zHpYb33BvBOur0g+MYlS|f294x8jQztk^ z_I!@3l)$T^ymX<6+33j5es-Je!e~Ceoa1p>c~Vcx9od2{OQ2b#TBT8E5SWi3Z228m zN%9&a8pjD`TJm3F!(9*L6ThF!F+D@3A0L%ms&=8st+FjtXK19nDCtO5PLhQQlCOv< zU^l*}x27VBI&^P28z~3?SIw5Pan&FT@D2MND9rJytu7%{0xad31Ty`_OB|1vs{SY^ zYSHDX0Z>~P%=H&-I?Km2`jtH&%aGkZzyPa7R_s9Zw-KZqw~29Jj7x_#O6Os$)nrQL z?0`r*9ct^8d4xEz319)`mHq`%?18%r`L2WhK`e+Ru3#^W)5m$3kTHDQpk9$y?ydnW zz-VlO3lCK}P`borWhDW)@c#g4s3bIqe#_F&hYYtnv)q0V`)4Bi?7x_oMr36TOWQ%g6>Hp@vsG2st^<)Z zx?n0&bR|PZXWYxNqCb()qPbTLLu+C6+Ehy0qt8b4lek?K|4Ua@>$#dZ|r<9CL)MB** z!H}N1l6PY{xA{qkDcArBLN%~GJq(L7G;C|Ot!-;wATa|(<67An3pA(RCWIwXwyz*; z(=$-Is$eLPY}xnuCyf-;7P{UtVIfUY;KSA-+igSkotr<36g~xTy-JzKm8Uf-!yCg^ zo)~F0Lv86^KTBE)J0%OsP6+E&p>E!@Ga>Bec0f|)SpmptsAdC}1U3g3HS6YrFgD?r z8zic-mK9(wLm%2h41%A2RCMc!laG_(n=waPs}oY8oua8ci6|NhU!d-^pI2eN!{=&; zhC-^Q>yR@vrJNE~)dk|G5l6&%3K~1hKc=;)F ziD~Ca?cC06ayQ_5{fgJ={lyWd_v%!TO8Q@y`h4t}q!1{QGb0=j*;1xh?y>-7K&i=x zuy?N*(D7C7M(Ah_fTPPB9yHz-eh05@&@7x>Z0IHNlEkz{qROf?ACkiyt!}3DkqCw*F?Lr^2#&rwk6W5WZof zh_kI*fVmVT5Hbop%K%ku41lhd{-I?+TJ4EIueDWUjUd&NRtX;U{F%p(6^AL4<|f+kCBgf&W?qTx090aGhKqFffQHd zqX4Yr{>QF+oh*D_e0+5cEM-uXHG(?_QU%@l42TBM*R?$;5>7`Q*pQDKunc!2Er+s2 zP_th)bbVh@IisO-kB(<~S02dN-?_7j8BXM*bz14w*$$LBLRm`>Lj|&yG!)px%YX)- z{{W3x9V-$DE~bFB1nl(x00jQoB+Vs`NZ&mc#}LmR*6}#dYbJqQO&*5vk;}zYPDX6D z$qruOL>d_xQlFMu3v1Exmh!DQjVu;yQ zZ(GYOoO`9Z0Cd8myT;3IGGM-=Vor!;`&b500uLe$o%Igb{ig9+Jq>an9o={Cr|sr? z0^l@%xhAvQg0vcGbUL4)C~4kU($8=R+E7n@af}cSus#V@U^SA5TU@pzH`+ihs&<=U zZT;RZ*%9n&#RJgV@z%%5!WgMX*@WD%Pa397)en^zEN|85p~{$AN~gyA3=WS7`MNh{Z=Rw6cY^LUiqtk21kPvynJ@4PbPN zH2ImRDpFs2U13l+(1@ZR*D9V9oA6Cz=~HQT|bfi zyJJR;8&hWRW=33ea;RS`Ei9OvQZiJ4QcPN2KoF|2-33|ZN`%*8^XMhNrq7biB!$dS zDJ%#gD^v&ej8rwdD*D(xDUp?h1x6joPoYd}EJw}gs1|JOb(1C@-Z)vSj)ppczCBFY z%`Og>ZU<87T730!uBArTYwCibXon{N0K^e4B&rZB=%3!gfHusg^}drd(#VC)n*oKL z0ql=>kSr5qc$&Vd?n@aTJ+h>0gOVfRr4Jr=N&dApHzf+bFyocnY zG+dTYjI%8mFCJe5sQBP%F9gH>DU7xJ2x zg{>P3H)6botdA{wS_B_rko3LmVt?^+s%}R+qydAyy0& zp%OZh56FxU6}{+^C<@bcL1$b-Nhu7Wg8&0xy`B3Putn@|(COO_Zus`f&dFq^rvkYl zUl!|18M^l9uB3nloqBmYbai9!-yPV*vT_+$^;8VO3q%EAP9PicD|ciXJEBxzvLtb( zfpRHNy-j6g-}(IbsQhiygZ6@0m|Y8)V%AI~&T*$C$tsH~x8AAMw5rr%tMvr+*Qzkh z9E7@pSyiugpci{!)C=hPvOpMyy>*G%!$~Fh$iVCjzQ9gG=}075pb7Wv4yU^bdEpAj zyFA7st*puK6i}@gO>2=AcAyNw83EHUJ7qpuQ;Mw!Zw8Qkua}WVU_r#PTYkm`NT6t& z>6FQpWD9PAvM#2KXBu0tDpC7I)r!^hykUA%jO4Q6gfnB81j)_A3qxkc$gQ!_a+e<+ zgw+8@ix95L$jSiUteII|9VBJY5;9;=$eRh;1<)dk`$gri5-+L=98xTaEJ_;^(XClk zDyw-?J25-Fav#sliN#=Hx>22B~qr6YBIB{2M%3@mTgIf{{UO-vPSU_3MNs@ z1yJWRt1x0qDP;@@CeG~_A9t3P$mE(x!lNmY&|P?tx)ed6G0F0SZIPs z!jm^}tEgo@YmmqVE^PbpYz9lCp3b_5mYF#DGx3D#)J40|x=Rs@^zz$EY>4t`Zj@$7 zp=vm%L)L7(DNJb^#KooLtYE3Iw4$si$PyaAaNB!5G>so=q>-@*uG`*9HY({@f*8=E zPJvQ(aOSTO=4xY;OVs0pR`?d^(>Q~EC;Q{ixGS<%zUltRq@4Xfyv&<(+XFFq<3RwS zWUa6t`Kvu>u>Sy35D5k-x#e1A$Tx5RO6iU^eGI6cr(ob-kgReM%0OX_Zxh-t-EwVdyI)rZ@wmm1$#eJ*Uh$>fW##w`wH|>co3k6_k2TMLIKX513u_vJdHN?-y z$QB+PT)dbVW;674wL?~_>dWU<46>WLIzdP!Lr}A;!H#HoCSK*o6wL+_GuiGqAmlXT zMHI4?L39+bwgibRE}=-0NL9l{L@7{lUnAnii<&mYPB&B{pu|^g!m8h}0kAb<{+dK(3Y)|r zBP=8~92Y@tkR*~#hS=Z2=i#5o+-KzxnXbE82-jqN(l*pG^9sT-D^SAGo87Gx50r;bGqG6(Qgj-N-wZ@y$V-$wh2+@2Gt? zZYxA(@)%x;gVK zW%dbBLoS(*szVM?SXptVOxqf4A}q`Z7m~0ZAMzU;@4k=*)G|#Hk9(1AwX$F&Z)M zdwkwRL+I#`sz^2lD@1ipH800zjG+BSX7VwVMXF4O&Li1iK{RiuPm>2+(~P#Cu}oQJ zB7ah@T19dxK($&hSjR1ASrFgajJi+;_v7-SiTME)u!KU4Hd8!Hy8`(F6(kuC+D#Au zHK%N-ggI6cJgpgOB*w(1I-pCuWUG(cL|ycwo)UQsww zNEFPLA9E)}>e^G9ztln7Ml~Tp`#>kU8bn<3Tp22bwW!@Nvg+iB9}#NAfW$SaTUMi9 zV4Dm8ItM1P)WpQBEuEEP7kXsQ`1&gv!o?h!wmldOhw*JZ({ik$WlFHw#|JnYmRO-O zN(}>vO|2`&)WE8PiB=#1YI5pvlP=n=;uOaFu)|(i1#EY^#1UuXU11sPewC9JfVD8E zCPKLrqc@Aca2X2CC~^@UPt^-63Ml}mm}DRXcFZhGpNo(m9GHMd`)9bf>?tOwf;nSo zR+({Pq01-~N6D{@h`_Kls@ONseEH!8x< z)szBWI~C=H0x&8`GGYRdqqeL^i40tA8_=RCXl64Rh&zw=%H*JV7qw;s*Q+2ke7CAS zd6rf#HZF8+B!w-dNzLb3D%&1Yr7ZI<#-DJ=<$F0r*xPpW>~q4g^4d)b#x=0Yd;mE* z*;39_fmcMa88kIH}P zV&bt0CJMe{i16DAw9p6f`6u662(g+;P?uUP2%}{F(R6F@esR#<^kC=_Xtx%$5Lvs$X}i_AAwH_9&Y@ zQ-7K9=N|?(#WH)zMn!fgqIRtWzSBjd`$TGg4cF?;{>U8HI6MxsMycFZRvT>=a0^ik zw!g_B?|!;8a+i_O^1#{x0=B5LSz-^K&cQW6dmU^S1uU8XSyGa!vV?m-eYU(!q7;yz zXflKL_#}<`qJmskH3SiC1caMA6g+=5?9d+dxU#w^03Ri6s)E&6tKAmSK8;bXp0E{H z4YAy+l+w)FVobogq3p}_JzZ2K6X)l*ZJqi$l`xP(h91oj_E?f{YAZv=y@OUyL{pQ8 z0M%ql*-=0m6}GTR#fAPs>(`O^ivrX#=UE&JZ#)tXv;Sn8d?1* zG{`ejm1)_^2IwE7bzdVl!!hVsuD;%@uPz99*~brX;1)(*5+pl(MGXv(teAnbM)8Zg znAxx-5~00h1%Y*}s=wktb!dv^y^3A~+433DjUOdO2&>WJcS$j%X*-2e^U^))jpIdC z`w*`$x835rVU)&>!NXt~8&uAr#W-(}7REUYbnHc%83SU$@r{O>nNO?%Q=zL;8)rtq zI5OprE>{hB-0nqU_*KZm$GK}`p7D30T{9-!gq}{*Tgug^UfQhHTmc{IJmD8HVvUtt z#Vm-(z9nwhKW`*Bvjt{lBoZmBWsVPXveGliZGt+x5=9e4GmO^7l?uQTxa@;XTv*P> z7*Y&V9tzURSyk;R-nlD}iq9XvjtQ&k&c;#?wfG95_#~Y;@G&Q{2X0T?i!(W7Qhln0 z-;t6alpL{GBYk+JHzTRyGBJ)_CFMD62(b z%0C(ay;(t)=%XJWc#mVN3-NcAb7c8$)M`U<6zN&1@lYyVUTsBR=>#9{|zUQ+}bB^vsc{3y>{JRG+Z1LI_i~0P4md z{?pMOSBqnIt)L#ze>|npX*#nPoW)f4W$oOkqV-~}uBU7152)f!5-g3&XkI!qRaq)@v z{plj~Svw$ZnD(iro5t$kwBJnV6DTBgMo^*am2?;a2E0rkqBz!$ zjJ`pN86gsz?awKZ6rmUwvo#+!3% z@gAZ7>sooK( zyHnx@@*3;BxS3RZJ~e9Uqq^j^Dus5K>MZ6pPasr!Tg9-;HU{mw>A26(C2W^V^l#0AKmS@}}Q$VEt+&9E`h{{U>Q zk}P@Sim!>F3lUe=Ze(L}8L-8bsJ5fp-r;Q}#=Ri%Nn@Yu4+-D90>WW>&Dp+49)ZnB zCYd56q_at921G`t+Nn29Ojy_e0aEax?7h9q7jmLtdkt$+YERbG!tR*a)uyTxr!B}~NphS>8lNu*jx z2)-+0*Z1Ow_VO zVdJO!Qah5)r`tIMv6Xa6iYlxQw`bQ|2oRKt!&74I^$yV9~pvOJozE*oGM zbn)~+dr66>&)2Efs{A;(@4=Owz?im~)%`Kp#N_`LbED+3b|+kKLj0L z?jL|I!TeKiEM!RzILY|No@Pwx1r3i(m3H?Au-fefiwUcBbWk>$I`uATdsD$59EalJ zB#6i^5^MvS5?dS6*P;!L^+s8l`;8}zfJT_Groh%Xu+St6EI-Qpo|lG1f1@t;RJ|dP zWVp3rqZl;acOE{XWehr`o_(L?LodnoMlND0SCNcTNHnmJBLP4nLHrT>Syb335j@>dZl*_r%m8j2;*Q;!b5Km?<2n3z6 z_0Ro7o*rh1s;KoNAZ0eR!GR*%xHd@yS)o;;M+;zO#i(GaFFl0--htJR;;53N-TTGc zwmvP6Eyd?EUae}h8?n--m@=v|hT4Mv08#U@2EBA120q{t8BhX2IEU8pZ;CZm*F@d* z3|K6#=vAJt5G0^1pPYdp1491*#q|4!lG&ja(~|3|iC09@AO25q4r{Wg0a zK`oe8b*fQuk_jOzS3nyTwK@9H_txl(9R((j_O)Wf0(GX^k_LzaOg0BZE+L(X($W)w zWM@h#tQD1oW33ZJWuk@hDJ(vFAqUdj#Yv%&S#CGLENmInupoj>*S45dySk< ze2IH-q*yqg6QXgdqEwGS(GBkh1Tw2^>`aVzX+BY|BoU30;ShB*C1+^O>RA)N!82lj zZAe4up^x=(a${zQ$O>Y`yj12fRmFg@h%9K)3Mh`KO^U2?De}V?aiR&U)sRgPPCEpT ze!4r4nKPcoS#8E-;!$9jc|#e_K&OVl&2DD&Tybv#yy-ISwG?dtDMdOw?yD1##VCR> z#YtDG7?KFQLw=o#IQa|TT1cg%2wpwqBE2t=9xMuxm6D-|UH*OblaIp8UShnzBhr(6 z46H1AVb3Nej`pKi+ZvvEPbfk~Qi+vL&g>4?e!1>MQI2e!wlb`3$7n1IT%JO5D@XMN zY6r!WR@Hqvj#?GtgBGQY&%2-o8)N>^bABzLGzC{y=L>?i{C#rbI<#Rcu|calzC~N3 zfXZ3tH(x3-Zoo4Mw)QP?Z~p*CCo*vn%|h+6GAJbIw}AkwT@TvYJtI7hxsf?^-&=Z@}M!hV&MxYVsb-aCGD)>nd(d2D&8e9P^Z>QQ-tXY_(}o5=BcE)I9+a4UF>=vICmETJ*$mAX zu==oMQ!r6}E%0Br$mN+CNk?3*i?Kz^8vxpjS%EY>h40~68z>-1?_r1}1yI<4&1+@~hU z49gpXk6fVyJ%s#{10s7;37=8`bL*ax4(BVkI}w~;eoUZ>?u8BZ<`l@KS4y^g;)zx_sd+I~O$keRJay5RGLZ0!?p2tvdezh2PG3Z^wU=_&l}aXqkAQlH=jXvn{i8aqB@GRf&_a6N~kHQDPhm zU5cXy?^FFr#Dj*MK1UCbWn_%<9w_6%W8?rN6s?uaU+*B(kgP7eY4UrYP>Y`zDLV-X zcvYQ|gpmbsuWEc_AR0#@?;(i!{dRs4`E7Im01(FI?T8VuxDe|bDl~EFlL47%(zEXC z^C2cv*}lq9Fh3tg;{8%q8_@A~M?Q`cW(?(}L8Nb!K zDuBad)_#Ze33#vd8Qf$2MCmFnBg`^}a*`j@Oo9bg-^a7Qf%T{(pRvb{vqfoREKa}< zQ4S)GB8waLerO(ubM?mMZ70ZC<5wl|`V%mTNLq59Ji*Wk$l-#>pOQNgdxPoEs&a=t zp+{9h{D{bWhSwZpK~x4bDQ_E6TW0!8hZFG>sxvyrmPhwwtXYq;SP((Tdeu-JCGyFR zAf|Q=jg81PJjGR&uS(AvGgM|&v`upRpp|HZf)z^zKA`dvHw1|pgi{GJ1Uh$t!Zlz> zEG>xuF;hyzU=^VOkha#HqM)~rh*prZ9bsZKb`*iD3wJ9b5WuDsvEDYmKOWO&%LqeK zD^sOvs+LaCMJlvH7qg)4@*d?w9DmWSD<>j2Up8tt+gkYo=z!F$JsZ#mq{Fn!Gdi*) zk|{+^6Pfv~DH#%NP44RYftrIIa%&2qSIL8`+s!_c^1P98-%U($hL-!CgKP+YP6Bez7{ne zF-AH5)DR5lk4&1TL6g%b9MW_~X;n=;Z{q|rgXGtyANp32qEf3ga19vVJmiqDRwNb< z#AW%RY}KM%fK0(jKc*aj0Td7f$OUTj3edlT0X3wGVCLfETSA`Y&28jGN)Ph($7NmQ z$^A>*FIVyhVdE!7Gsb?~s9>(rDxVC2TM^zNh|y5WL#=MB?dinDSn^4Jx=OH&>A$ymlr(4{i5kg86{xB-{4_THyb`=@<_=-jRnr$37v z($pu6(zt|z&n1A0K{OdGllxmGBMS0!o0}6h^c}-2CB= zV}cqeQDC&j2o|s9M_CnG0VQK7SFuoxr~a0UYtx%Zi$QnEwDn{eaP^ z75ab^ugD-xF)BpL<a2 zak5^b7Cs`263}?47#3(M!Y8jT>1yC{AyV{SNTv+L4V~VTT zN;g0%*uO!`9Z>Z~{{S1agfXdyBLU%RMowm|(8b7U4fU}K=*sPzeRGnI%8nc=6)ICS!xz_ zom$EUsUaYHl&ASOiO=|+st&zQ=T6JUc?vj4{GS(7lK6nMF+VrrOI47z2HI`gM z64It6nQ_Iw2qbz?E6Hx?9-49Z>`q&Y<5vooShVGDjFK zB-TbYiossk)ht7^mYhKF{XD7&%*Zjj~bwtK~!!MYg7a^|d_| zJ>^>l>0W`V{0|ard|#{8bVKq^J2~+aFAI#1CykS)$`i~0ctD50#$2?vKaabvK0-pqE76M41qwNNmuHAkZoSw;vup3*}HqwO<*M z0t^J^xe`7UlQI z&f_4qgCa{TxG#{Ixc(X+te8PNzUXyBaswQ$gByO?%%wOhifUK z0cN02h+~Seu8Oe6vBfjfBOc$dow*BD;07l^oqPaF?4G1$TDhD)Lt#)wvT-A1%Bb^F z7ZeLb#_COx)~HeTCZv+Y^(WR|OX91*v(|fe3lkuxaS&l_$nlb6T&{xa_f;_i`+66V zgqbtWY+9xqrIL$v1%llz+xo&#IP)DcNl{f&PVFW_>U{@|5M^@BZ)D`u8vUQoxBmc9ICA`_=b3+w<#IT@iut{(PLgEHH_DAO7Hj=cN<;^0#gTX~sPd-ceP(!_)r(@l&;&zd zBr4|-Wc6Z z#r`8xhxm^exob>LMn8@4^yHmvBOY zK=L$n2S`aUGDz!?DpL#er_i-Hu_{~0(K@1Nf+O-OcN2my;B=-Kb%4 z8zAF*+Lpw%U%*}y6Ng?o@NaQd{{Yl2$zkJE$)izU7FTsh(9b0?>q-<^kWfsx051JC z^n~ND50eu)Ws+u@QG(MJDI$gnNMRYsDM~gAZAQti)2JUZ zrR0t@#x|yRk08uEMKY+yK-MXXngHHjKDv4Y4;zv*QKqdrHU+~0jTZ3;Yz+jLymus|6=e^07TZcy zG}nm8wYRQ~JZg|ADmElPy<4`XhUZ)$oAG`WT0aC3v^Ic3hx~b z!HFME-y{t(0i){F%PURXXqyyVLGA`ss%N6M%s}*5pHxY!>J))MWh?~{O(_QLfUtG= z2EQV@5s>MSy=si~Ciwp1`c<8z>@dQ2P~)!98M`Rf*lk?vXi620-3*ciU}R&7RxH>b zv@rIg9Z^2$Q6AKQ3B=$+50O8|Q8uJ0d1JJNB9|*k9{sPg+H9pZZh^}yDmnSxsJP7}CzIO`9FAd8k|eC9 zX|tjM3uKa41L(iO8Js962@DaO6&AS)AZTNG4OP}z5G zsCA-G$pW7Pmh!Lx%V~)A3Z0#{)xZ^wSc7{6o9mjA1VdFth%^B=x+cygPJtrWW$UIp zaJS?#pzcb^vR=86rrJ@2(0^t=n`Ia>uW63U_V_wF)1APRnKUG15=YOG6EgvXYCve{ z*OjO>@=bp&!8%7B4U&OWsRXloITAF$i$1qs8tTaWX3v6Wi354b9{wZb84`K55j+49 zwG}{CenCwJ>fKvM)y^8MM~}vgH7c4S*-e^g*3FB&e2Mi#*I1ndftrQ3EJxdm;!Z>g z1dSG|76Ab0bork0IM|hFDr8#IHk|@FTTrazSc0EvA~u;@VOSk(Xwv$bkGBww0<#h% z1OmoN1Y|{10kt8Gdr$zdJ}@fM49N(sgAd2zVU=Rlv@)sE_xnm~<<(BdT zCHWcQh zT{<}2b!@}1IPHqC8H|k)=9>JP*Ryre+$m0(Hws;+aJ0gWs=hlk5xV#;{g)dmo&;#C zx~57JWX>4OP3G}Lwu%c&9B%j)B1Ul8t1BBZZpJIB_N7g9W^o-kV5-FdlkP#9)j3^Z zzq|I30c?fz&la-e@!W@>B6VrJ9}gwbSoj3!7EbBnpmspbHW=@-)eR1|l10j66O4}| z$t2@50V2l`0*q7`sBB)!t0r3&zP64?87797tUPn7lM!MFP+GtQSr={zy_4;U`JBUJ zgNM^9Cmpir;nf6awupH~zw{WgGkq2IQf*h!Dy>dFRPakQb0~1!e1+n&hqXp8A73d9Q@$zUvtrLB*Be=IAXXl2&Lfy)k)@#)$Vg(S?K zLw4~{5=Y1Ek-o!VVEoAy*sd|LDxp~!s4hmoDlB3N6_Lka3JWSky`Z2}c#~naO1Aw_ zB7i=K)~HhyppePqvzk;)jHiY!Yo$it9b3$kGcElxPW3%XgeXb=wmplB6iP(F3e7o+ z89cUP$k0{TRkFmOtdF8P0dXQv5H_(Z$p~d4oZ8uH8TwIT&EMPw3GIg&XYvx*IR4LA z>-H80+q#yF{;6p-50}cUSf09W+5x*xAor6U zbfB5psY@$0g<4k7bSf2v9Rd`e8y@I+`4@AjP(P<_fNbWuc_~rlKmtV(c$L{Bs677w zAs#=6SK{mV!hbF zR$|BragqJV#@QU(WvqJZK8^M9^xia_XFde8A;{ots0={1r?N8ydf55sFY(9xBL4s! z{{SC;XT<(_#!EUJpB0Ob!_N}2H{)ftlrk)nu=f+QO|n%!^_qLzJXmc2#2-P6iOJ#p zMDk{S%)l7h+8qA?+YB}tLea-ri>sqd52$~rxqQg^9Bg9|I`}qJ{k@e-82~IVugBZ- z*7vI+#5j}5Budw+#vn@VNHo+C!e?q`C-ty2(O`|T-TIj2@81?aK~mg;aK%@+Q7b2} zekT!;Q$!6gzPTvqNRpHwg~zz$kQ9<}ARGIE(9zZGUq|GBcL9?~womsn^awi5P z+l7phSQQk&6J?l-Qln&7LRlM^$+jkUmC_k+6!Q-P(k586iGY9l*wg6pzgM6x)KlBP zV6s>E#JT^`~Q64l^T=Ix2psZi*U)ZyhYl4XHZ8!{o;r#>fa>N=X!Y zUf7LUg5<0Axorc8QHWz&>5fk=9xJj>WGj`jNs)y!srEopSOVEykCHR{V)*1<`BbmH zT!Q%(Gbp0>%A>8ctR+@v@TgZ+>p3_euHT9h@jhl&Cz0JH^i?7Z?d3oPC5T*w5m)ij zS%qaPh^Vn*aT#5rqWFs$e7&9QfH&8V21Xt2l#Mfq3}t?}>PV&wFIqiuloOFtHGcL^ z-ayDeUfn%3p`ikB6S5T)2*DxX!E<7Q{{T>_Yh?sz6+ZwiByvZGmvxx8m$4u=xSe7H z;uTu!%l!3Lerv~La?rL`8c_x;ov~OtvpzGvL!Tv(PK`HO%4+mhkX7svI?alVn-=_ zb3GcWC}=t}f)O0mS$5wj0Bsw_Sy?185uB{e7?ROR7BW9?+eZR5WPnZAT>O!tE0Ca| zWXNoQNHs)|r)GgR0Jfq9AoBdid~vIdjUPTozworOIvlCaH4+aCGssppq{L1@Rr~`cwILgl(JCuyZUm$KW#1o4OBoGO- zB~*|{zKZe`#GWO+;w{y(yU!WFrR0caY_qs3RTi$aDQ~Ih=%;%=tu(QoI+sxAAxnu@ zMGP%eitti$VB=c=`>ABHazW)@mC|=0)qx&a zAPsEvXwkhjl6*+5-&7lt(MItBYC`1O@W>`Vq1i;BezeixGbLdiJ5E$$0cUckWGBu9S@&pTh~?|E@mw6Z6pnX_F419=tjL6Kr&;=g~2983-<6wILf^-4v$c=y)TB8IdjhyJ8 zA-XkS9s2k^9G4+Vi_Uug0F<*d*a=b#)?PyFjz9{0%%PZ`t~N;Ru(NVxos4J(QOHUX z0}n5N6xxk=kbF*shS3!<$7ORx$O2WiP1)F^kFSyQ>~w37t?m(WGI4SxY_+1kHX~sJ zG5Q%1e7nM|^zhLi49M&{v`259WRfflMI-MCm5CM)qQGt9vcU)-jbLrr_nQ*HSdsuHc#+)Qz=sBl~fFYG&VBR5={eNl0NrbJZZ#H z1H%x9mQ<+VLhWUNYdV>#)zMDTmXUvr9Zzw|laGTV?Nr}$F5p>Rlw~iDCDjQ85a8qv z=#wBau?0>p!1z`+v|i9q&_0+IIxAZM-aaN6s%QVxt=~hWN>mBYO*sg z(`k9PW@QsA)q@|65(eB(QRKuWX;nf7BSF|>rGFEiSr%MP6GV_Jt@$yS++c-4W(0x| zU|%3F?INqo{v+nDJ7nbE(z3KAEJ=rX(yEV>5JLGUZ2=v(i=b~G__+$*wEpgi6&bPa zLX%5O;SHQXl8K@3#8_R}T@qLe3`r^++_?ctg366wZa+FNe}h9_Jq`SSk$mZUtnVV5 zzcK>Y*qUG1;KnpH7qd;wGFlV7shH)UVsNre*^d3M>){ zUx3HhW0N0f7^0#UH7-z-8FfX_vvHRyTLa~9~H6GG}yIgH)hFXWG)%?+yGTmKs=}euj$CjvD-%)5twL@F``v$$^w?K z-*2!-S}e>mXAzd7tjuq?8$<dva&6f!P=Ot{Ad)X`-tI)4BCEKBmL#4fMuO z7U4YJN^vaC5znkofV- zHc~hv#2*rUv7!`%uq@r0wXkbI^-O2-8K;nh4Lnf1SB}X$D_4~#kw`nc6rGVG${g*f z=2mGQyH3msiZ_~sJDbCF!kC|au~0f00} zV8DT|wt@GgzCV`9U&?tLY}wPMUyBHh;$_GTW=phLk+P4 zf%G&wnJPfWH3bH28b(_}2jJ`)7}B5n^k_uRmZMzE;WL%ocEpxPk&D>*@_NqwD5{{V zD2wSFGa%n?tA9)vxjgC_+?$PLSsO|i(w{Xde$bbP#z2r1XIz#ziNcs%GL$e(nJlO@HUXIK8&`-N3$m?<=7PRtqENb(^cqCGjrn8YM$slY>p zj96xX4-K|Se#k3#q0(j)bYi|Qoe^7L2{sJ?0U!XR*#uCaPeb21UKR|1;#qBxI?xmd z(qdRFhiL+xdi})z0MAEY`g$%yHxZP?3ObJ4wXVTGx6w9t>8gnb;R$1>4`e!0khDq2 zP_w3Ab_mL=U2DhWwa>%E%g9Nbc1+78${oV9xfMbQ>=cyRvJ=p@`m&FK36`n7n<9htE&^Yvb}**tP!W_V7U}<5@#h z2-O1siq758Fd7V1b)(zWA_ph8Ka-S*5YUn3;B89Q)wOL!kGl1Fvk`RFGn|#h0M}#Y z#e!?#8uTlsjAo4J=iApczx43tL!vFD?6B}4$?>Ri!I%betY&xDd-bOsV#tE;n1bXu z5p|%TTARyY6LvTF>sDsK6#|T!1gQ07mTxZ_Bje`1Us7-f8JjGEm`{aQq-Kbe_H|3f z&C)C|EHOZ1H9bpGZl5#+vGl9S+~jhSISb7D@x{zec4yoeS4wSB}|q{7RW1QS6*2P6f1s)hKavNZSY7eDaE;&qSC!+ zWP0DjRUQ?3hMm)A;HeMx_y@0VK#>t*lZWA$nD&^c^FnHcf*nJ*qhxAVMTu!Be zl@djIU#}WY8Ggs)Tk0J($VhKAm!i6pMMa%<;qN+z+m1`*!pDaaJqv8*|YKhtD zqmv!@t5YKsm5mayMX+}u(OVg$(*e}63hD|nvrz05+IqjqOktJfOp2hKQxipjF@$B< z$P1>ikqULLhXMZp+(s4G$YM!S2hK`E-v0n@h%^OneF)-)7A7_F8ks4VpN?`T8aqaq z&0N4mB#+Y;ioz!KCIbX0E0J!ob#O3q5Ka(sa}g(Bk@bj&=#ED2IWXbzTgaI-7O zJ*P_1@mUkxc-CDHl9i+-3v0<%Z*7q+fEHDt9i3SW{&bV~o#79h62`3JFsY?0Bv_I% zEahYXZw4pWuAfO!V(pw&B~~~CWUe7pk}j7VkdSs(n_XD;#B7{Qc}JxyK8DhbLR1g5 zJkj~_s-yN}MC(Dn>|VP*s!a)=7~(~`L6ReY*2RWNWDmP%8a73MZ1n|Z3nR0J3RlI7 z*u5NB)<+>ikK@Gb4u;iF9UOWo46>SJ$&Jsvfz3Pp_M%NG@?2$Vu7y_Es=tbD1Zc*NNVqvA#~HiG2aqJe9g`0m3D zThJO|c;Y2|0Wuk^ARwAdg0-*(yn(B=^hhVsPB{1`BO@jm4d1_!9$q=2te{OhhhQCh z`6i{+2idmXsc_k2SfDAAyE}qgAQbtJyT?jEY_TMRzg;QHIXNV-#c`mt#IY(~l!vPY zfCT%ZC=Q`{dh;FHf7U9@@c|niDQ!`4%Q7>IWK1(p+p?oF5UVluIY{CE0MuQGWkDct z03IkKE~;+XPCOl1$|hu%N)Sj1WpK??W4{k#+$- zgq&en8qPZ|12!iVY?%(I>}dMezLT?OdUNp3%MRF{3*k`pR-mwadSRN$fGJsNeq~am zSGL&?Wla+PsCiN=6iAE~00fI%G8Jorih3tcXT*XVjK(SXrHm{Q{Y@@AOxW2R+kyocFzn+k-G#eG|O`@@Y3Fg>tcoGB#5 zD5L-YNdT|K3sJqElSK$+Vh^y9fM_eB8885gII#xEJ0|O@>o*hJTuNTot<8<1X}Qdl zbwZAatvby0s_7K=n~AqVL6^#cVp0WINiT^2;t&AES~3NzDI-7+M;6~tETvJi%zzXt zfJtI;V@OWJSp>C;DoC;^V~XK1@@})k{vX$;bYhF{Fbszlaa)@z#X& z?Vh1$II7l(O;p zO0cv^9IBbRp=J-fORtsc{zd!vIP?j7&^t)3a5qJ%S#qJheYHlEpCUeQr>qW2FI;Rq zshQ52Y-y{_Q3@|@)Dg5&Ps;)c+3G%a0P@G&iY81HkW^X~v9MS+_DB{6v_KcrD;p}b zf{PEn^55_X{nh*fWBENi&yRZGqMMEP>7`KTT<1Q$K#^KFPvk~UX{=f+zAKJ1My!2Ug(nGTP+!)XG?p0 zRH{*BHgkC@Bd7@5EbQA*x&TjO{JufJf??eZ%-y)t6GSn^Mpi-m_@CqBr=3%_gtCm> zt0`;IvJH`}eOJjh_@n&4DznPP#mLJzn`E9pM}j-eR-L8fw5X#^Z#`y8fWu+Vi1n{1 z9MN&^$X-RoMnou9ddv{Y0kTLZ(OdZFaYmi8;mTMnUdRE79#m|481LSOG#9BnK3^g4 zQyqB^afw3h;cO_UOAB?SPF6K$2nvhazB3gK+rE#=To-nhL<@?U4GL;kRwnZxo3KX4 zi1oYa$BZfmcFBT`k}Ro@B?5q5gZ6>HT0L3(BqFQUd46iFO9fUgB-8?(D@p8~Nx@$y z$I2eSABvE~uJ2N1B1J+lP34wM2^K7^97SHW_+EJrwu}H=l50eI@l#r`Y=c8%;EsxC zWaLWRYe5TR(?1>=XS*?pD(~)0h)|O(pcAe9sXqtiM>M)k#KlWQ^DHuZV;dD_%82k> zs))PLuie(%Wm=yixrklWYwq-=LBC;rYP4}bhAT#RHpFZ|r84sJEbU7F09zcC{>e|M zF;q(yB6MG?PvOaJdS|mA9(Y730z1mZnTQf*0V*{@q%TT9IU%M$3nM&==0&xm2K<8Tklb3jrsiOtfp80eZHX(I)ZK{VLqPmyo|GziMU$u=&iw^6g@E91rFJG9E=GPK*W zir#M?pn$nlo!83UNMu?wfLTff`N_tb2&+s2Gm9kLlVrK;CKvsr*WE{^c+xUR!Hr#_ z(e}!OJsa^>S_2?1lxsvYdvuY*yvSN_9(V8qL>}HuJK0L=az{stb`BW$+n_%Ht;Y}^ z@>;WqgW^MYMx=&i-|4O_mex)~#14}$k&!l4LzT*dTajT%*PI6=7HrDn z;>lvl)LXY!5EPLm89+u#1*KAcN1Gk?DBVCJvrQ?JwHm3A=B{b+3ra;1qSnDn6|xW8 z*8Fe?37m%S5|&1Ix3IudDIgLTThRlgPFo`{BPcIgjB}edgvO{_`sue^q7{lX8)}Ts z7yy4m)ZSxFHcUfyWaL7s0nPo3l(EO|K-%7@+53f_IF2~)#Ja=eNg}@hMl4uyM?hI4 z@za#E>xmqJj|wI*#Oli1@v(G5I?gA@Fpk8q^Wgjpi7M0{6$sU$8? zA=l@tN%Dpd{lQ2hJtId2aDria=S zIfg^gEGfc8`%8x3o;1@f?-}Vu6{FWi}uMEjJ~ap*i3a~M^Y7& zY$V!kzoJU!7l|TlJN!jeCle+~zZC}(rxR2`1S$9HCGrQj7_4jwQKTxwSabgX5%O#R zNE9!i3KZIKv=Wkhb(5BE&nnt75$ddgl5EDE{_e=?b@gMXA%5~e9R-I3wgfu045;E- zoAZ7oQ1{l&wRcx4RNDR+DYI+|78Zce@uBg!6}A;Q3&R_8)RLIjq`nO!TldGR(?*Jg zG=PHPX(D?g4Q_{ydGna<6v=AL1|UXBWgy~P9B7-dn%QAp1%#cHl0js>GKSekP(vwN ztM+~~y4XD^RqHNiCd)q#Gdb~D-~`ss9?=OSRWD)(G)Ypq4;xdVS~rhafrN6H zvbAz=VOGkT83J!%j;tFX*&PqyG4YcPvEW(ptCf{Bp>HborCO6cbgeXEOMyiVHy>AI zCv~_nuV6$nCDj0JkTG2yc`F}YWMWC(H~|l+yR@OsiXgB76-X7R9XHSC3SfU$EqG8vJBL`}518c@}b zy^sz*_2?<-#{~j_>dN3`pd7E+_d@Ed-3!;Sdb40OVQAlKQO zUtJQj-peudP8(E6!Jw?fXyOAM*0g<#QrLR4N3B_gd8k_`SH`#N0$6KSMylw6TIrt` zGz&I98eCE~lU%BlSDlpiRY1yFli;b@+x9#CY2}$qNfZ{ccOyW^0S6`W17MH&G0`A^ zec9-hR(48cKX;WlVMA+PuX;M@{{V|EX!(mN*dQ%udl|gei}ejE!J_^pAz7&4hhe=c zjg;_%al7vIgpvs{L7%`tMzWy9sk%EJhgt5wj7f<`#{rdFi=Yar{{Y6a{{SPb(dDx- z?}3Pzo)K8(wpERBY}nHJFliXGhVpq+v2~eH81&wOg~^rpypALguXDJvw9P?GJ8E6* zvzAg#{GUt*O+_AJM`J}~K^n2s==-gB;y|PL2c|9qk}x==p~TCrX{#!TrRL4jL8i^t z^mN&qqYlUduwpc-a3z&8W{5*Hk{doi3Z($6u*ukFL0uF10{S;5Jgke75EXIpV;KV@ zv2-#tRE;q^*y_N?1FsKI2CSs`Uu z+;+$#YRXPQu{D+YvupFdknONhoqz^Q8Yw1$X&6xe z_;~qWvwGE!gJ6Ov7{tbQN;WM68^kT-??T?=%a1AR8lgo)PE;%>_B(bXLtcvfIdh&^ zyz-CrLlVlaN+1{?B0_@0*u00T14eKtKeb>`iU6+3@&`xD5tsd4k=MLru0^Zeq=Sx& zOU02FSqW|;RS)GvWJ}SRQK*Oe7=!*GB1Do-9>5%6MlvfX?XEl3T8Rtn5N*B%bWDVG zh$PB>$n1fH3el6~0dZxQ*z2JB zZxT*x2$skRV%P)hu?FtOWDg^aX@|#0KNjbYH$GbETOKcziwUjjkK$QFF)SIIQ|zu) zqfX5~m9uRC4E-bO4bG415}|aDxg0U%NTAT9qR-m7D*?608!Q&DrTKhe$1qt}by8l{ zNGB$YsQ?pprnj^9fo9rLbXvnN7_6w%qGr;s*pZMY5d}b92$LgQxnGwhj=aH|zad&B z@5P9BMTzsa+bB^Otk@JQm|y^M2sq?AOvt1>as!B_Og;FqY{@nE0vFjJ5w98;za+pk z#z>)(x)|iYAp#IcAr`7f9=p|D8o(9`R2mg!pH>3;#7RFM2xC+Xk*v=$vBU%)sK~A5 znN?%xZs>*g?k6V_UfPK$u&`px3s5D&9ydj{NgxI{uCw6KN044SCn{$7f^jD;SVoS> zUXWA1%SB*aN;@Zy{Q=Yg@mLO0@!j%yA&q>)0p+5(iz^@?e&R9pSC>PagAaNnV6m5D z+oHmN#Qy*)L7|WYkVoVnxY+d^z4JrN;`<9>J{+Br6u(gF?H4{i%g{(4p*`xsn2XbyC-3pZLXzyVnfYy?a8xMJZXw&2Rsoq(HM0?8O&}oCS*2Y9 zEwZz}j)rka&QIn0L9e-Q$$cHTLOJs`6=y zzgF%vbUSE#l?QGnl16n=nx5rh_mhBsanNfUB>T&v$D7h1w#3lLUC_@PH+b0tW{3jy zOZ=u(U1#L28SxfA*({*6nP*wdEvCxEvsQ$-ofMi$f@xIx#GScVcO?v9F_;5nv<6lc z)ApY%?#3l-S6jx9WQD%rWN^F49BzYI04-Uy_4jW25nPL0VqQ^JQmv3uPO2;<$NEsI z2hRgPgBdiF(h66-7x=l4}P5y)QHl~p9bc%9g*_De8g@7t`pqkwxTB&w*<_Z=i9vXrz= zKG^L`5)a5A(Ir7#Y*(SYh0XyMm<7xe^J7E`QTbaxl6QRt!Og+u^I=?tmwHz#9tXzA z>ezRoE@YsA*QfxU5TRH$%AZEyG#thRl`SgBgG>svOl-2z`)lH~Ljz}Hm1N_rfHPXE zyVfLP;3|vIvOWR%qgv>1H(V^1k{p+N5F}(0nC1@s?K*jT_32+4y7@aPqA>j*mw5sw ziGsN-B2)keR##w7S^ofODku<1AcJD)3z8OKpbeYT7BrxWyRnf3Re*K6=~lL%9g4P_ z&Q77rrkY({ijgqiGw!MbY!&%GE7a&Q$0LgZwn1hAKwNQAKo+lJ>p@MGBp;ran<)ze zmO2W4;wtY)e$9N3``=VY<{8z$FHT1?e#B#z$i-AFiIY1=VvXTfok^f@CdWW98udB( zhE8;{a$=2gIKsR885hY&7`3t8*#r4D9^wFyswol{7%?gs#zDFp1wj;YA0zNV>sWuA ze=Ck>6K1W0m@?x#%8A_|s;r%+I;*Ve-!vO4KCBmH`d|S)65wD0mIYMeMS)+raReF! zk)uYzpUI5E?T8^?H(M2Q6I#2k5Kp_YV(P}uem1tOr{QdKMPWeoKSp9s-HNV@vmdGj z>OK^Iv+6$)9x&=12`ous+HWN!u@$kPqwSz5lYJP>j2HdIQUEnsD&N~j((CTONAa$# z9xs#3z@|kxyoGq}{0N;7MFYm8s34x@fk68Oh(DpPM~ZnOl2)0rjjy(#0#Sb4jcfyX zd2EAc)dQq)%*v1`$ktmmm)vaCSQ;!1)%y3*t}mQSyJWQK)^p326Es~(84@J;9e&zm zim`14C75gB!S#{M?jtgNk<20nA#7Ogj!Ul-u|WI^1ltlqRTX{cxCKZiJZYF6TDwpl z=m1a3^X&BGAS9&&GzUWJt2n$aL|Ys|}LdZ&e?XBjcALeu8wf|Uf&YWY$!&Qy5-g3 zKMG~psKdUb3M-$eA-=S3#g5bDae*HN%W=STm`desdyZL}*T{-;LBx<4gLOo8tg+`Z zs>sZ%Xra7}X^w@OCajAWLcNwCwmqfDV{!R;FOf-#n$jsmQ9Rjhl$b8G1IQezeS#DA z8YAV*`_U&Pyql5T&;faX*v6%fyoD$l0;uY`6j?%Lhy_=}42b)qZ3dxL`8e*0*uITn za#+ca+0RUri(O{!%~{*Z=#IGvo-&{)Qo%#`e`(j2$*hl@fX2lI2j8pXhQmV=1j$?2^B&aNH zlz9wwqi5r&l;koKFbQM#%vdf?F*g3nHS#5jqM&Fg$2MN26nU0R{{SSB>TJsO+(d5l zVnzg3Ok{ANmEP2lC}0R%qD}O5g$zU&1~T}$3+n`DBG0hk5^VU|iUWNW7ewDn zL>XD~7P1u)kO86|z_mJHF(CRP@(1BZoBThB{Ns(c6PPb-S|kEGQI?U*h$3wu!k!Z( zev0cdflC_gMucv6(YW7S;zh=p5Bj(yrH{E3aLA_+>S0*R%Af@<2&Xv=vdY2eQu14q+GToXw~{L)WEi@Y zd&?2&b>L`xZzmU%$>wt2OKCXt;_pjMR2lo9B$o}IP7M5X8?rRd%FFHkB%PjFUy~$C z7qc90PuvD^lt@&94J!~{*1@1aA3AabF+@PKFL467(ZQ1`E99^~Bse5qjgUHVI&Dt%#fwQ(6RXa~nMgn!R1Pg9AJ?;GG?>(qgfxaNe2{A z;RtNch*~#SINwg2ki3{shAyDSY{w*7xC6Kpwb?5`txzm$;?MkN^8O3*9x|NY9hRpZ z<&l!v5w%np?n0^-lVP~fT>Pl|?5k||ZnNp1P~vj9v-2UB^wu|#m=eIoRI@hJ(Lz~? zpa9B^jm710c^r8X8I#B~XaP}q{>y9LV5ry07ApFK__yU4yy2fIIU&KgzCImI7aoPN z@-0ui6tZ8-juBC&Lm?nKqkVvWll5Ld)GLsPf2Wi5p>>l2WKH5@9xa-+t1X1cSX#b~ z&f&?$sEGmB7G%V^0e~JYrBbe0s?C9**RY?Ma;uX|wK8#G$6Fnt4|0MnlUim&#DJd9 zd~^)TMPf%$H1aud>mOC1RL1a#rz)se;2EA(?Sf5)8X=2sK$|C`@StdsSgW*(z`t+H z6;*7QsQVd@ptNt&f$lD7yYcKo&)vtxiryf;CTI&ud|}5%cJQSnqoWp?T`TEJk;c!( zEJji$Fq;1WZHO!h7hu}0fH&+KAP$F^5&#*naP3D;i&d#2sCf|8>=1qpFJ)3#CRa1c z2w1zTyQ`&hXym&63V3u=xK-_&G7Bft0IRskCz?vDmo%=tMCk6}d- zRxkrpLu~IaA+!AGr}H=DSa_UHNY67iQ&P;|(lXYmItCBaN~fXjkMiFN3w-E4w;V{0 z$jni5{g$>Vn?P8sl!5cFM0FdV+-IoE6$|@!f!HB{1*laKVz>G0et!byWyOrCbD0^>jmzl_0Rn$DL$cJJHn{sNk4;4|cO;NMDI~phPrrdwWuy{~&aF%nXc3WjtDb$0J zKqvQ~QP>sJ5)Wby{#!%UsW=euU{ey{Wszl~)XMCmCOH9i8udnqzn+Y|*5nS{hjGV+ zub{bD3T&O50lqvz!#7_Quaew;Me{K->u6%ljd$XWtkEh7n>q6+R9$xX3__PbBVQ>6 z{-GX4MLtC1t(}5H5=D6HRaP`L*5I8>DgVisCJd zo(Y({vi|^ZNrYF448#ie1@%F;Bd7z{JM}oHj6*zUw&=n%WypXHB`!W&yRDFS>#JNw zKpkZJT9}4aP%A3{H`+XL9`{@L=)M`woYpQWe{#xZ`BJT%U&Y)6sc)UzxFwH_DbXXZ z%W)?zSUXK}hs61RxH7zIIt?A4KR(>R~)M%r~WifKhC_br*T~L zmCx4F{8|^`xoT^qXvkf0Cy}Qjw*PiP|Alt1e;2Iba23e%~N9?29JF z^aW_d=IM*SiBn)({@>iCKsJ35p^@nJD2T+BFB#4ml1!Gzn^t~4@_H+Pv^^+~wJd{b zgmopiuGN9I1CbjnDOu2;0)@ZDS4no-{R8mi1U!}=XHpeOkmJuWci3$_8Q_B$9 zYPQ7LTSWz|tC|3Su>xTmVnC(L78K+gG(ii48)5mfgmf))r-_3)=40c;O4EF)pdq5{ zzB;PJu6^%arM8%{qPi=49Xb@etRr@E$igzh z)zpx{mZCL8;?z(09Tl%FgKX-Qe5vetG3xyBas}8MD#3_d5kp`L>j?y_3fNXPOt!(Z28hIZ$X-MYNcbgaE^<79{{YnZ z;cTi|*B{zcHlyVh1!9eAkd#^1RHy=VZ8=hOqtsq|cDY<^oRYAcAolXfsT8y6f{H9b z3>aAzvS=gy7sLbxLd#Y{fP9TE*T&R-(|-i?_r_jQL~8;cE#@)X$do`^9J>Xi3w2T# z>R&*WBotJ(Rnwdpgk!uzWRAERECSJD8EBiziM@<&h3$ik%`wG}2!$E_ zq@zYbGzC(0LQ^rRWoD0G*2wJp2vytFSRx6;S{Y=o6TY$qL1wol$BpQ+k&znq0-TtM zc6^kBAv+|2u)q}o2n3&+Cbw0u8LauZ@vb;yE<+jWG3{oJQ>8NTB{uIcuibINfMpZe zNGj@k9Cn&Sj!`3a=i{1C^iV}4(1S-#2|`U)OlXY?%w!|7IT^zs@>Q{HsVRCMLb4vq zQQeP2OMl{1`1|rd%D)83;r{>_Yi4qp=aDdYS)%flR|*+AoJ+>rk`&0rRRs5PgRwro zd;YlkKR$1#K_3VnM3B478Uf{vT%!WS1Rzr)0w}Qn-F4Z03!TM>mz>38MO0SI0u3{j zqG_)F*0b?o4y?c7f5o%E75qOV@jT_GK5KB%R$T0?hTUVwoGgNw438xDIT-cK4KRz@ z&(V@yOJC`Z4dUX4203sJ zTzqwvm@FKDBx>T({L8|W)^Sh;g&U&3i`EH*W!5xSGbKq@85twQxW@Ltx7;;igI2lnA@+-X_Z`y3sflQ(%B7 z{?KWZbvj20Y%Ri!K&)HH{8|1eSzL%4=@%~Z#pIT zD$QAeeW?h{>mMN`Ld^=q&6O70GXqBG;z;-cjgKE~Czl@+S@{q#1&x&yMOXw~woFO& zUb+*U$F%Ypq8+Ooj_V+_>xS863FIhgvz9AH@{!~W$7A3W${5YC2RtP>#zO*ui1PxD zS$Tp^OL)}_0XA#P$0VXjAE>Cd!`iA155dH5*GcqDRT(*Xq7(qv9tex#a?Sm#PuGo` z$mge1*LpkK5Lk_1?7WGqRWE=JX00N-<0FTM^ zewf@B_us{)U~ zCfL{7HP!@(q!CvedSZRq0fki&l@s@S9~ajszv4fgmVO>?A5wAV$c6FxqXj>A1xP3m z722|og>7sD*V4c|vKZwBqDNS=LBF|4q7IGLI;uJZQ3%T`M9m;2TA78DK!?mnKYAP?CYmY=mY9vEQiB z%CR6oLg)H*td*EHO00cg1%htCv;5I3kuDF4g*TH?3sgYaAmjf4K+vwI=W*}IVq#Mo zt9*CLiqgo%8y`4KeH`RxSm5Bx61g!LuJ4nOERWJ*h*JJRw;%@Y zp}TlVq0k*oHqH(lG4b9(Zi?&xcLT@*LvJjJ&?EpsG)G0^y1bGX3v31oe0`ro?osZy zURoYP`fSGL@$+vC6jywR0zei1bucta(l8jYc>Xf+Bv_yTuvVB6ph!1#=Z!3i1CdElJ4VQ5X%QxR z*B>QafCX8AMwEjnDfd9SJM?i3ij&QcYbc~D849jt!wb3!SlXp8+p6D6vjjK;en5h) zn2V^ zXWudu6NMiXB3^ac(vsIog|KvGT0*Eadb-sGRakr>%V@b0NRFW-K5F5w{kJ|qKZ8a> zl{nBo@8E9{5Cm{ZOxcQ%K?=gCl=8nI#=vEw0V3)iW;`c6QD)l%7F>d%Lm{L?trZW9 z^zn$YfC{KA2HQ*tJ9eOww$T#jNTrBdAxJcRei4Cfj+u&PEYxUITG=EJtw0lJW5^R? zweev$^PJCP#+<)xYEuMKl9aL{^2nX)Z}y-x$eT)Ltb0x8HVOi$*)B+aYdvSR7SZu6+|6uihF=Nl47zc5@HJwz@r4FTxcQ4*4B&e$K{Xker35l zEE>T|(@Ex)41rb2!di7w=fjdma~jMQ-{}sOb)Tbio1GUO(30pPMpA&13~Ep+u_3%k z2NPh{kFJvXgk71OHIY`Wx?+q$7gn`Ffg+FOleP{|kHNdR%}Qg8eBQyOMueTFy*v~Z zM>6*TW}nvD3<;SG#G8{quQ+)RZDVDS75g8yH5f7hj!KzOv3?`pL5q_lKo#Asc`cQ* zVnxSISsj}6GT&Z!KO(~_h^{!?&jv+2{c92xeYj~_U{XYwcW!}|izpqLoO*YU9DmYE zi5V-&Q7n=%6bp9#)(oK!vdchM$uCuOln-#h{-FxUy8On0p zqgxg^D@4IBm4uXhaY|ujw_h506==r;H9Wm$Nt$MsSt8E8V(@ufu2*^(io0+omE#Q2 zmzRUdueC@F&BW!QXHaXm%E^3Hs~m{nf!0!|^?*mmDiX(RZ0s+7BZZIwXsEZ6<&z4q z%FKE;Gk3ypidV}HkC|MAyV=wGD(^}y7L%VLPua2j4Jd;Gt@uH!l447n{gcGeA zU5T8)HA_35_fkl4{vU6V{Y#P~5eU&)!n!*k#38{*R;wo?U^oXBHb5t(;9ScGeUhwz zi?F)`eu&*BtZ1EzgNevwQ>H=05`j?0Dy>AKlB?dG)DVp&^F@m8E}A-jfY%yXCY~nb zBP48r+ypaZ7BCdCuu7H5qp%3a^WuC^C}EjmFM0)ipFp+K92f&cY=0qgvZL*v9~_Fl zJ+cBkP&M(gsd}Uc?ViglQyE(Z=M7mY9b|R#@6LB;=@Q3~OB& z1DH3CK}Zj384BXWxB|fd6JICQ)rrL9^70{&=8m&$agA|8nCx#eCddnqQP9sU^kkr+ zPa-Po>f_dU$CUB@qmZ~`ARr?t@n>vWg)yeJG}wV-$aSRAAY~0kj!524F(8E{g&SWX zwe^wrk4bgUjik;yM##q>A)**#vk4J4BsDrPcRDHF9r}P!ld;IkON1Lp%rccisKlgbjMYHYkomAdOmU28wg$r=SuPTz!GZ-Et~cgiKQyZSc6q$k0J#Fe~zmxnrCsGdZa>U(l*Jg z*CYmJhDOyS&YfSp%JdF;vH1DyK354ZABPw$CS;c+$XOxV#aM%OG{2Bmuic%nl2dkr zwx~$olGU)*mA)55AA|7+H#(V(jZB%D`Qja=Ml=ao{aFK(*f2l_z}}b=f7hzW@=rV= zgBHO>9h`*>MG-&&MCf{8Z=@t5C6gV6VilAC3b6M?A9wxVKc1_L-|LyI?+lR(ww z><_s6KI?kxi=WQ_0F_6tAwJ4A+&uf|R(HCfNvP1mda~ zUcj<)C)T!lN1MpjL+lsq>8r?(U=SF4y0KS!>vO+{zb6(*+BrRX7x;Rr`8$LJA?!(- z7Gu5a{=Px=&&vmLYc8r38UT%wHHZeqn*F2EAnR8+(uEX8n+6r>Nc`X2b@B1K2G3mv z{7;rQ<6d*5%ZZX`9Ydb0y)R>+LLH6iK_HRwuSbpsP!$*-9E0lD$dXO?`qKR0kp$4` z(8|&&HUZI9_2u*PyZ7U|)%-ipm0AobDwjlMvzi{WccEFvVxOSiRRLYdUf-Ze2h)L7 z;9DwD9MXFwv_ahhqLh$9IRL}Z18E=ndn8#lw|f=nkII`M=#j5N`fK7cZET)L7bA^H zE-Dm`S;+c5GE#+RkMO~imnDcQc0nKjeI)|NEb^nkF^D+sd0ON(vUb)_m&xf0IpUn5uj;wI@(@NWkR35G+HI1L z*3R~H@%BfA!xmO^tqoA`=S}`2{{V&KF0aMzjWd^!F2f=Nphu$Q&@^b-v0XC@fX_`> z&;&IVVn)Zo&^7q5P43BXl$EpZ?Gb3_7Y(bIN-JbfXT4$7h#&;}F`r<^T3|=Rs5|_E z(Flt=V$v{BR5Lb&V9;+LB0YdB%#vH2m5D=~PES#)(vj#Az#HF=$ThMyI%+)BL?>7C zVp>F>t_ZX^p5gW`I&i28NBBAlP-|?TAuVohBV-zDd!FvPGs_Oyqs3M(Wxp>R9d1 zQlZW?NLd7Ip@b1+004_ZOFH(I>)xx7Hk22Lg*ftGbQDpBad9lD;KCo%J>H(V9I+9?7C|Fqka~@cinHmP$Bwyv?z^TEVIePhL&DiAv3>DzY>T!DV+= z$g`~1#>Gt4o{HefOQ{>!mWy$^$Q852%y@-RR5-UNpaY3j$&rqZy-==&Sd~^80KvTm zTcxtzy-*-s0zaGSUk`(tenp$eQkRj-rY?32n)IUXGomb}C8wP_78EWSG=Ql28d*44 z{Xw0JDKSLxqY_VX8HFwuPD}9Xpb1k%bj;k#;zb$+Vv6Z6g=mmNTWGJXjoTk}Vh1VXQE4d{{s#hMtHcuOpCI)x=;X=q06U=$BqYa=QeEnxQYi9vgj6ufLr z9a(tAc(BLNtEMD^1$1sXYv0+|Gs4h`%0>#*jRd^QNs1B~MH_ArzR1kuWlyRUjmevh z-Z3hc4Nl zlypYO00B*Fk@Tb+^-I31PIk_3ifGhY*UyJfZ$C7x(;Uz~LWUhkW*TrqvnW&8jjGbK z1cWFho<>#+`ipUZRIt1Gru17{An54IJBp!51srB^WdMx}9#=%y#TLJjUFP$-l3cqZ z$?~|$Fs46l!mBwR&lIQHO|>P`pl|mwN}pAJm&lm%mRwL2)2H8vsxCcfS+S}Wh`yKQ z2t;(is!j;WZ^YO*og4T7f<1t0udNsUbN)}V;^m4ko4CqzGD?;4sO*JKzfJO?fbOh6 zL+910IiJ+rA-ssmhNv5>8mnrx2O&p&b3CX-auTOKS8#5DHRLQ%8GE}VYzp5L{{Wpo zkvy%Q{(pnr^jk!HezZyd0K4Ny_CNUfJzvoNn6eDb1yl~%RS%Jo3r2vY*b8(HudYYy z9I?j&F};N#od8em{Cf5U(XbBs-=E>{%~+fnt07iU2njyKj-OwUKVTjFeCd8kKE8Fz zfQ~^?8m=m&3j3?aB4|>Epj2Jsvwd~^XAZZUXf5oVZ)bkCZ0Pzm>(@^|j=v_BaKi!8 zVc5#a-E=%^v~xm!R4~vgNY=W6z54b(Hc?Y1033+1U-y5VZ*^ZCSAp>j^Q9q}5N^l- z4TJn0k5{g*ug5Z>kMJ39vikc5z;<5$|3gXPh z=(6RFCyCQhtFb_9qjFeC5m+?}Q(7R|X4oRwHI-@s6A@(vclBmzv1J5> z?ealBkPPz()-j|&EU*lyfB4sYxv1@RUA~oU6ls3FbXmUN zD8m{eFquk57|6LXB(sdO@+TB#1NZ>3IvYF8@-+giSuvu3{j{M;6=sP$ti0C5zsJK#K$RMMW0<;$)<8^-_ zM~aP*QJc73Q{`&SfrMyCu~f`WkSOGS=06=_$mH>|4It2GK1^cK>Eko*!jiZtuJsN{ z>HE`=SSue$%g9NakzwwwY!xx(@7c&#*7Q%L9s~UeTv}NhkgQfI zPBiljsaMNNEswET9IOCvSNfA=h{BaB$^j%sai+2cZVeG%1Ni8IR9Qyiq7(#nnDj!KG}m8|~&L8n--iza|AzZp_U#|lS} zHp2%oOWjuS4T>5PDb;)~9w2}~9{Mz@#CFRDjP}YmwpJi5=z~lM%J=;I896zNdF6Sz z7+GtT7hg2G1T8>gjMe#7efbZ5qi6Q(@JrLEcx55MwBxW1LXDDAji_cP*rDP`C!tVI z-Vw-*BX1=+7T1)4bV`#}J_pCoL#SIj3}7}sXs5WKnoKbs-zIfdVDwV!Gvf>xvY_Zy zoA2sV1ImZA!cf9U>pSBwSB>WYO1RQ+4n9M%dZv0FS>TNGvgMW7|!Yo zQ2}RSB~XTndWH%Vkh&l*qQ+%zHx+}(dvL{TzUCkm843VVG(ao@=o-;o)*(FS4K`b= zOC(SqEB^qEpLf2X^AgF+c`a^4BPC|<*`2!NDXP2lq>NcdbxIS})IOBYUWd;!PS7ob z7(yQ`i?~@bB0_ChMGw0wDhN6iyb~l!N~jwL;*^D8tfNFd*d$RZ#ZBdXE=xJDT)wPv zr5od6M8bs5_FRb$#RGp`7qu!{ZP5aSV5Z}9IEv5QA$w^Qi5M#szTU; zDv3C?48G6>9;&{7nmJXE6ObHRFB(#-$TgK&VmmvBGoUOAFf3Jy_5ql)dO}`dlaU`1 zRAD1WAC=|-*^nr_#i>*9N0nd2PBM0s%7)PipyVx!u}9>BNjf9Yy;o5=+-zLDY&GMv zDQv6;hvws-Cd!?Ke-Yig%w*72E>n-Z=>$XNgc(-eQSs{qPqHL{YgK-HdsI>cctrokvp>5w=i zfEP_f0!gE>`PnX4kX62Yl^~t*>T2wsD|sZqBEE-LT4|bcI(T4d&Cw5DP)v6>}O z=UFA-&0y-KHCfd@U;gc%+kcdVXOPP>s)ZPpAXYZHHLkH`lXqWjpZ>;_6biX9EX*kF zPBo6$R>kOiSI4bc{zLrlkHeoSofbXO&ydZC$Yi22HpZDQ7v&uoc^7-?pXKXLFDY_7 zk_Ze5@vzO67ok{{x)nf=$R5__32<0L0ICV5`!mx8BoIcdp{m!iI^>W1K>q+J%a9p& zT!k$QUlEGaRYheQS6}z?6p-5r4ukdAu8-+8$}KZ$$xv3_#y}LTL!4^%_2^k0bDYEBP0 z;p3P<#LR(QfDM2(TeT&3qHA9VubF*XXPQ=V_N#8kwqgQ-=#m9D&Ldyrrk}*$m^5jK z6~D1Mg=XJX`2~;2(HdW_v=8i%3H8SPM~E1%AZ)fJu_Wu*IQ!m~>{sV~eGi8EWM;5x z*1eqq2f+QT$M)9F@2;7D6n=4pG9@O!3e`@|bLcDneAD zl1e@VQD;}(50mxOy$0C`13(rZ3$VyY#fvilZZ%sB!hklqRkKH13NKZ*Rl}%4F>fYv zPlz@WmA#NPM$O*!>i4dEUmuT%x_RBFM$(^;5`<-M-_?sTBmV#+M?mY6Gq>0cE98d--eXDIjy9DgB za|@loR++VVUkg;1h_lwnabQ|KEqPw(Emyp??#+#K(+NEmQF&w|>%z<_ zBvnD6fhD3CIcLyP+FsAGpnWwYEHGC_R%cXOpsbn{sKn^s-J$FO?uH(YK%h^*cX?!P z+Nyv9bOoBa==jIRni$R3QZP9#>I#u5cmDviuu4y>AUbWaC4XbnlEScYVo2OqdkISn z2W$%>?^HAke2+z}b?)=IwikKe2hK-h;E;T14UtvobtL6OFet+;v0RpJnwPUla zfIl67Ne!8^F)mVa%n+^>B(#|fo(H3zq|?k^Y{1E1{EF!LThj~2U?rGI>%>M;h{cd8 zV%4NcJzdZp1g}aDVUJlpQ$A%UJWkt6NCakh z=1Va7?mNr9sGg?4kiBpO}D2K z8y0d}y&JtPiVQEUmk|><sVLt@3x% zYFR0Vd*XQNBDhvYYP!NpkjQF9g0U0w1}?;H+hi_}u9t^^j7*BM6jflXY${4a5*RHg zvUj^;Yx$b(gJR@@*(s&6N(u)Z5I`Ee0Brg_C-PYM*XN<0XdSdhS4 znl zMQnw8gcFhhRt~9vBE57*m7WwsU~URIm7rEf97ZS0IgO`cWQLc%;c`WMT`mDMof5?YPN~$D)4Qp{wgzv312&fusb0 z7&ToM0DAzD@n>I-gYsO3@$&NqO`Y*_DqzyeM9G+jPe+NJhsj-o)tlqwtB~Wc+G$8F z-Eahsz?VSzDK@NFdN{GB*=+(BeJT_*YCsumlB`s&AHmn+z#_I(9fMwTUyz(6$WcYCxw!j5Y3n(XFr!c}r1%Yz;17&bx099-9LZA#ykwVF%Vda#- zW$<$GCdtv#pF{!(BUNDj2QojMe=x}6a`~1^8Lm|GR)7}>k4Z?+x`WiY@rosshU~51 zN3is-AB8GQAVzF_zyl>v&ciT3@fN;g6)GCVY><@GM)81Id@&}#4nmg%DIW?AV#281 zjb9bNo4-4<>RqN2}Lb+VpW@S>8ZtYj@PWx*|Y5V#3 zAHUcBeSHEH3ZQ}LR{sEvd-iMBv;5ul^O@z5oW|s1o<~Y;j+7B zyTzzg+4u&99Eb+U0OEStP?TCe)Ktsc2&_j?4Tc#PM9B(bQ-x9uxM7n zG!5@`Iml1k>;j?+z}ZkvtnYRYv*=$^p`FKPW!l(zDQ3x>?n2}`A9w$Rq zH}XJn5GuUVi3nAtcIN0%?SFYX7QbZAga;Hn&wJco&|9qbwk zz*z)-E7f#MkI9Y~8C1u-rO7O-NO{~U_q5p*eS1%4s0b=SMk87bcI;3h@h1w{&XKFe zjA)0eAfJp#1J$jA<<=xEG@~_R2{^VOky#9?wm=4$5wLW9^f~e~6NoEo8CukX*$kGf z*D+qScLaisL=$(IDj4j52_hI*99dRdLS;rE(Q6@1oeIg6WuisjzMD?jpT$EeqblO~ z(hIfO_7s*Gc{O8t>Q@zsk;CI-y&W2RqvY*c%Q-iV=o7+0oMc5QG4)x`vbXr`nm8ok zBFN+vLK%=LAr=1A@UQ}$n!xmE`myQfPD8dKzY0YHebHjuEZP-!ezr;KejntVUGb?* zX&bYQmw^b|-ZAlqbUhi#b?k$&QUVoifx64ea+?kdV|xkCn(>jITn& zCmuz0Mq-pyFg0Fc&i7hvnl!`$1y@k;=CH*ai>^LX+Sp?u(`k~mkzmN1qOhPAJ;`SK zZ$NFx~UmL^6tA(>f`8BxkRvME@E zr118Y8ACXdCIO$#3xFKhyCUe42p|%m=yX>;zey+-o!%60b&f*PCFQEAoY_n5hnH$c z*%+w=sPyMC2$&@|>Laj~2a19RrBSvAHVh$Rdx9ag~q0L+%fxloBcdZ9L7Sf&c-%LGD7Y0yHczx z?e#|NAAK;4!axud0@(`Dt=_guA7e)E_&Zv_oH))QCoFLs!#FlgCcYZnK0?(y#P?eQ zlUcbvkHR+3ZTeq|qlLs+(ju}mThOB5u{bgk+0XLVPKGuCJtk*1d9##$HA>TB^(fGr&tH+$VG@X}OP?FxW8!20yPz z#oaRU3#`tMI|b13RcrKUj4M_)r^KF#E1*;e6&wZ8C(MWFb&TY2^u>59 z_Pio2K>=zZK=Yk`-GeOJei#1$x5v|e17YFV5#SwzC|6`75;6r*iS%grP(w)CnPV`O|OHUnsbv37dLCT`gc6N@WkH?wp|0B+Qs?@NE=X=n2f@+A1{N_2H; zRd0;c2TZvb?w;J#DbYr0lGQ`BBw2_xbpoi7i&+HN8JZ(>RF-R5 zX#T}z77ie-Js;#XQvwcG@z*E6pZ@@n+3B5+Ov3VEO|nq@hMM(l>#MZ;Y%u_{3T&^) z_0s(>g6_p1CsJ>?EmRh3W05tGM<9=nLwDCX%jPOZ%nK_8H+5^X@&RB709V^o4#xQj z{FC_|IetR2TQws(u^ou{B=1@P{BL>#;Gg`E2d|)Tc#FnBs%#%1eYVGuCs%&Y^Z4Ii zJNln3;Gg}&ME?NifA}B`1OBu%^S@M!04Q(# zfByhi`5!-?qoi!?wz4qr&js?t`1sw~{ykRz0FJke_rtiN779=AT|n39kazz70RI3d zfA}7`UOa?S6JQqDpf6e=jDguEnCtu=zKT>WGVZ)}u|R-me{eNsjSxZiyT9-c%Gz%U z8WkasZ?OYlu7d!7V_*6B-pBs{0s5B_WRD^2ga6Z+1qyrNHGhO^G0l zo3B8M*YRH@e0~RAF#aU`_4f`IbfBC$hg??{qWO;+jAiVr&cAApa zikfTp+{q@08~j5t(LduelO&z8$%{TuXF`LTyiPT=qe=R8;S-qhx}`f6xjB_v%a&PD-qd$fiOFBSa|& z!~^_zsq{8Sq0t&83`&n62hH7*Yhkta{{Z{wbmLxb&BJAOjWRn!Ccz66uNso6)NkO- zAS=DIx%tolQshkS#FS!OGD^e^s@2fPK$>0rR*&PNaia&2g4IcMkL{`&vOY-${{WHj zdinT|B|MoXOe4Q&!gLz(7W1kKou8?ix|C2p0R)Yc@~_hgL zjqK~D`LP(A2S0z1vz1nrum1q9C;tHJU0LzW!DE=!6=^{PrbU28g~GBfl|h@#Nc9W; zN=CK`^=f(e_;MXdr5Hvp_BixLnMlN953#d$Zg=Vf5E$7xHbZ**wY@dj9Hoi7M3-e>+^7x!kV{;*6De~IRg=9t~ z=%}NirBOs5V4PW{hDlhs&?r{4RElfIR6(lU55?D0@G|1qbZ|TP$oc9vRV|eGnOKr0I3$a?wPtBP?LeqI8J1^ibOm~bWIO7o($d2xA>)xjDw5{y zn=PYk5CF!kmLH7`bkqe^U0kR#s3;6z?5zW>fB^*6QrIHLMRD`#nLb%^8zLzoXP6~H zWl+*&tdMkNcA_Do>$cnUcj)1a@^fRA$W>g_i#Cdw5PvFcRT1-ac2|)^W&*UuwO})B z6(Nzm-K%MZ*Y|ZFhT|o}B1V(<3e0U>s)mB&X=MvaWe&oG0+Rsgix$xB@$Mf1c)W8N z?nuha?Ccm|jGbZYE8@81;LzQWNTM-f6cc{-ihQGZ$WX%~0I*1WY<>#mL;x?@1ASw| zjJ>nvW2ZxQ#uRt$I$PSY09hHdjtjFLlkiv{kDo^Re;6o|bN~riQQ6psaTZ_}Qb=2~ z>g|ZV0oEPb)fm+SLaZQlA7`OPvG}3|Z>;pN$xB_0o|v+kI7m@4Tr?BwCUUC2XAjnI z^3L6ri1;t^g0~rY7)Z??YGO@FL5)I$B!wgXA8;&dpq6OaR0RsrC5RvM2tz(Q3AdQB~Pu1wC9W4Ay1Z5YPA}5^Tdg?3eCQJ zil#2=R1WFYSTce)t3h(BsLfk9BsO50793r!vrq!qG`>w~Yd;ETH zs{a6%&*Q1cU5llBj%W;B)gzs!ktOX zs9a4EmMSp@&4FiD)Lqn#9Zk`yAfW&#q7K(qNI&O8q1f(~tcEsKEf&UTQ8Iv%SVWr0 zH&Rr*r&W+Wg*vN_-|N#9)4Wnf=0p(D%mpV93J>xD#_q?X==JHCV8xUn%s9izfj%u> z^u%ScRzdl`r6zpBq^plfcoEA~F=ES(TXmIC?ZAo|uwYJ?VC;PF41mkqc<}LO(Q9Id z*lWCK74>F;y4O>tRw_t*nW~4PE`d{LO^~%9*e73(t6$2pr!btz7kb-jPqow zq_QHTOctGJDiku8C$~~mPx_)egUEtPlLkv$+Ja~l1In0!O$%RIpjqR!TrQ-Lb0F*~ z1TiSr?E3lib*t)@{KNSY6X7pbZ)7#TneP!a&Wg49RIBns=8pUt1h!q^vM zkgt*C$u1U6~G<`VfreLDL~+C**o>>AWZ9uxDUfCIE%Wz-A|CNI0ob4VoUt zN7SkLAsxN_qYS>*eNYGEAz&LIY-j;|gZ^y(O{R5kDcI1_n`5y505h$Ttr4{0_O9j&33cH5M%@%b$~X zs|5Z{{2g_Kj;s3r09yY5`v?6G_5Q#3*U!n{tcE8;*T3=pelOVn0QaUNM^PV;UfE#k S0j9B{Xaa7jetl7@C;!=}E8Z>u literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/13.jpg b/examples/data/Skin_Cancer_Dataset/benign/13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d84106b252c06ee10ee15be8cca89d3048051807 GIT binary patch literal 73241 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 z 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%0DH6V%%`b3ka|MMziDK0WGhY5HMyR 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/14.jpg b/examples/data/Skin_Cancer_Dataset/benign/14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8442dd916a43a103f9f10b7a0eeab1b527deda7 GIT binary patch literal 31806 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�$yPcaPgI_! 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/15.jpg b/examples/data/Skin_Cancer_Dataset/benign/15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d451f4c23522ef8444d708dc6fd83c2fab136c8 GIT binary patch literal 54932 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/16.jpg b/examples/data/Skin_Cancer_Dataset/benign/16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4f75b263a8f31826cf49af55d125816a20601b2 GIT binary patch literal 54973 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

p-#?AveQ-t6tvY*ZU9cZ^81B7L@ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/17.jpg b/examples/data/Skin_Cancer_Dataset/benign/17.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f30c398d1bb2dbd030d4d89f47eaef1eb8ad617 GIT binary patch literal 55143 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 AUH||9 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/18.jpg b/examples/data/Skin_Cancer_Dataset/benign/18.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70061f6b3aa3c39d320c070878b823cd310defbd GIT binary patch literal 69053 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%0A76ZRB;y7Et#hJlO4S7MpWl*pe)Zp=uw|n4T#f1t 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 Qbm^03<^3YkCcJw8*?5d*$N&HU literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/19.jpg b/examples/data/Skin_Cancer_Dataset/benign/19.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9605db8839bd3c73cda23aee4bc7822abb5ac6d9 GIT binary patch literal 52868 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

#HIQ#&ZaHU=?QAmc>$^D89U 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

d%&x$Ye_0r1h}wWMoCi_c@Po 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/20.jpg b/examples/data/Skin_Cancer_Dataset/benign/20.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6cc9c39961eed89c2089f0f09b13ba6cea3f05c GIT binary patch literal 51421 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 TqB4iHrKYod-#NN*O7;KQGKy

Z~&!$1Mmg~$o}{A|Dyju{$Bw9F~1E1@K6DJ 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

v z#b^6X>c)i_#Yt{9t5PR%iN*-s@#l_kb$|MeMl#w+OeDul$D&b`ks4ItyYta@I2y!4 z8CfX{y7=X*rI*I8@sRd6_cX-nPN%Esq;(NmmF3wK4^|Bx!D;;UpR#g{KqlU07~+V9`MQQNeYM|L}lqqLI87I=<)jdU})%`9M{3aBKnA|dtF#oK7-W(`CTN-zq-s^$7| znYxJEa;Y8P(@o|)UC^1U!&*^W`@Yw3Sys5A#E;sMv)4gkj*Ggqy2^!g8i$kK#qS+} zA7a}p6Uu{NlTAiCkZxYK0e~J=ic0Gim67AAS5Ijo*uFb<9!=c7V#Sm$EMod2Is;#VL+n0t#NU(g-KoxbB&MnJz-O*QH z(;`t?;fgm^PYsUTl1r5&Z1G4KqKtU~R`IDMQ3}DDoM;0P@ErARtEU<;F6l^>2a7jm z-dw-r>$NLRHyKVc;l0?r61Yfw=JIiXpsB@*IT|+*yQdqkbLpBd!q?EFceJz1iTWD5o;PiaJcEI7e`7(yx9_Mig0bI(fLXFxgowZ> zQw$)Y6%4Kef)lF*Qdcdt+U+sT#O6DFT0gzD(ps9aWeBfnazkkwC@CdvTZ;ZYoWhGD zG(-wiF<PpT;)IHZMZfxD1k=_f|ZFe*=9(nTmE~AI1n`%<93FqzlcE$il?} zKf;TkZe;36#J0yDQxZv4-B7oS2?3wmrRK@Y60bKY@_4PYGmXpJR@HTscK+Mr@C~95 zCf~u4myZLWRW^l4X0-qXQW&{iRcx&>9E>BGPMSHm{^EWb#SU_H=qK`G61d4PZRx^D z*A0=XZ;P_)r&sOSIPf3`Eu12g688M5An^iAHHogvYKA0r}A{lO|i=Mx?|%PC6RnQRo(dMbGpqYJGv7yVG=-_#A6Q51FqF_h{$k>|`~QghoSLvhb-G;w`&Bc?`W5~K-ZwzJ%J%1N4|@ZUXJk9Y%Z z>i|vUMvls{TUG_0OJlaC+^^)SY}Y|XI+S-lHvXi@8)TbtW(NNNY>k;K365=I$~I#i zvvYZ(HCBUIj0j_mvLs;>ypcKa6CwcYkf#i!TP>>jx+D6jHF)MFAEwrbKx%jxbMGRpgAw+LG#*~V!%8kAxDy2k#Si1n< zNKM)@l%y29WYuF5t-MIW-fPi)HKp<-Zj7b4WW^-X__3zz(v}~NkM>EUjT#)4e&rm+ zvDRnt9JE2k>nvk=T0KKV*&bP9^$|-PWzt17bm10yupkq*MGQ41FV@3!NWYjdb8Y9V ze2H(AT8hRUvfUogObIy17YS01I4Z&!_}KAAOj3E5SMiyml_gc&Se7MMMj`d4NjYWN zg5I4l%WPvX-j(*QW5e!`Igo!n2T7i;1QDu%%`vB~x*-7@rXqk}HpcPcdGPzE$k8;7DOf^MP>FI1t*S?9 zSg|vf)J}|N_U1&1rB<0Ggv~H&3|>avRG?qQ0b2!>?Bt$S%*=Z+ax+s1(%KZn^~-s4 z=b`9oTFL@D_QE@^I}5ozrK^bZwu<}=$Hs1D+1N6gYv{R z)YOJ&#MYvcaN@&jv=Wr3H}1NfO-qsy$8}SvU;a^;0Ke1tSE6u11H~#w6Rd_a8nlGE zg=S?V$*(tBflSrLx5rZ%2i{9=UQ1Wb+xO#|=g(CoA&n^)E4oUyzEAUBGRa=7W8khk zGkBITV=B##ZPbtaxRfI53xjsVYM_ET=}vxHF|<*;!P=F1_4zuiwHd#4%RI`rrUAHx z--Sxc;-sGuOBEhK8&ha?D#Qm@<$xYH_G+NtgIbmbjOr_KN7mM|or*^>{5*bmhF1nV z1&nzr<06Lx8w@TC+C6a$a7qL+l}V`DxC)vBsu;-KRyP(x$W_2*jft!2dFt(uyNNY< zWFf<3kx%fwXzN1G9pZtN~Vaf3K+=4X1~5D&m`umn&KGT?)w}G9V1VvK1CsIU|r0ZGFgp zh14RDXaY}0i&3OSjh|{Vr=6t-lH2v{m0KiHDlf9-n<~#A${1R{uc!T7^IG^~l0;?- z2bjs@qa2gQS9Mk7`jAToqv}BAHYE|g>-{A+K_hWz54u*pr>If6HzgMwMl0uRbt2-w zrO)E}zncb-5QfyE_R`{M5Fj=n1t`lpn;fKURXjcBkSg}s5M0F%H2ivWA!Y(Si? z#A}+aWD)b9-K_CPbRmCCzbHZ|jee?V#aADz$5+5G#f70s8_GXYI4#sNsx zwJIu58HAUupCXe%jRL2OCisxiE3XW#vx-j*hX!jcbrKsCjBdvx#s-+x(dQYp^8KVz z#8zCFv>xL@MEA(TSx4C0nH6E^4qrL zbJL+6G^$kk5J2=cK>gPQakccsqjHNw9k_Tw@r}8C7%`7t zi|cJC2)h>vD@!% zoL{d#Z>fwD)U_OyFSe{z^;Z6y=DHg;R7F^`2+;2)j;wV603A7S6^%BdVhA>&N$Gj% z_Ysm-(m)usPrn3H(p&7szX(r=o!d!b>9Ywgc(VzE3S}wUzS>o!Qj)UUM%2*xc|=`W zl>z`CQ%b#MBwO=aB@QH-7jG*$<@%C}tMGfzZ> zQM-Rh0p)nzWZP|vyRYaDbv5z9`J??v(9&F5K&JC2ZV!8I26dE{D#F)}R5hxgqQZR`mS90<4QtV*)eXjpHK!0CqWylJn;@ zR(h_UsTQMw%Pgax5xT4WL&@W+^1@aa&@59Eva?34fa(>S@gZ4N{YSwBd;aWgeMuoG zESBWT?BmS2q4j*71dz-I&O%Y!+`R7Ed%qXrUV4r&ND;`QIK9L{9K1@vfE`N!;H~?p zEC?Xkqt$n9?gmQt7Tj*c0}b(-TdU)zF(YvTbF%W03r1BN8a(cBWV*W;_;AgRakfW8 zk-Y4}MUkafR*iPxDhEX%At_qjhHI>KHy-8a%b{!*EV;XAMK$mj|#Jy5g59tWmeR<1XvAQt6LAmfI+X+gre$q zO#aw{2Z>r;yas7*>zYa8>&jl_aAUrBVA4 zjpwzgZZrL|Iik+1E`v=C8IY^TQCM7~RDnndMS?e{;N)Hz8kus4LTGHkv_ zE$SM8WsMu3Qpf%#t;f$m;6Rqr@X!ce(cG8LN=N=J3omr7Jd418bqD>oc{%7bIL^_7 zJ&B@`gly~qkpWi`%F4A;SfW&D!*u{`2sL8Lq)j+biG$6{ZP)pxio57~j!D8-DHO!9 zyW-L&LpHI$&lh~*m7Hy&hF4w;s3@`3LZOL+dYIUrD2w5`r`sOZT+^)x^0`SVEGkqRVhQZXn@9i)s#JD#k~fi61dm>{0v6PSkOTTGHVZ?V zqeA+bPDF_pAiIt3?E?PdrD8UC_GhHE8Gy5GpYdO#%U?uwBrstJHU-GKF1SA5PT6ka!}U>0;aV~t zcOh85dK9L0WM%$Rr(bReVq2A!EdKzH%klxZuGie&qKy z2S43K^0{-G=_yAS*q@u0=N+U`V*Xc}OCGG{<49wCjCB%1B9`XEX!2I*k+_N6#-&iI z`BZMi(u46Vn8umMX_$d6iWi3~`TI&g9SA@V)r%g~vx)$--3<@$wll3+7_|haRoq*7 zy>%shnm=MfgYw@7tY)^R;wW31@}^HbBDNXfZRq<03;4cjN1w~jCLiX48B%>#fYOK@2D{e5zL|!u>9kJckQ5a0+U=@qDv9eID>H10jyt2c@r1}VOM;TK z>#WBVNf2F>Du!yX94|HlD6g9r{tvSed_GDujqse&S+CbkJFHADGstzVnE+Aeaa)5p ziQ_!w0|ismlVdhRiG-Uj+q6PMM^_5SW369?s}vaOYSi__+muIfMSy?GfA(dp-%ROD zfL5I)lDQ)rGg7SkruOnLQ{-bLvB9Ox18}Vx4l&5i#Scpm6ZXVpF8B)tk1@uBJPZbz|CSQq_5g3*Pt1Y0a{Ucdc z;O+Q}#YVQ<6}oR9soXYJEVF{j>%OxlF8$-;OGT9AJ8@aJ*-uwsi37zOy1r8q0}x_n zUPDK+HF;GI$JA^H3IVavC#kCurZrotbnb>}hz2;KrIXdIq5U_JJ<*KQ)ntv~Se!bAiIyR-0JBPObtHl|B~WaZjH*jn zC#Vy98nh_M!I8~8{n@L0^U-4>TZt9SqGIaN+PTBXQCKt4rd)ZU$BuLepUE_g#-wE4 zk$?cx6Bp!3<8O|KDO)HHX#ZHoBqTs2IAW@N+Wfmet+!_Fy1hbzqq+%c(1?zIuuB8eqw z{{Xm4GmhydA651+d1ox%NWy;_JA*1a5L%7vt=I;Xk5(*o>Y0}L3k|Q3b7F;#IHSf+ zuPG6#32vt-N{VpHGKtRZ-mlYUWq8h}Fj0yiAuX>~1%m<$M_RHn{*OPdsM!)&lRvgW zo6ROf{My|He3MX8GTcN7NgcBP01t(EE8TnORzQ(Fo>-&Q0IN2~mKH!RNg;@8_6kWR zj|6nH2`KGlc`-=Bzo~yWeAk-lnq*`V-M@X=Ascu+jquhAx<@b-h$51Xvat#jxRNOt z@KK6^a(e3%xL~ZITG4?^Lh4LPl#bFYR|AI_bI1JkHCw8oL0LAD97HN1W0pnMavgE@ zvO0)`ChUay5u>+{VhsSr3X$_;kQRtzVq>X2uqsKJ2z#+nzTZ8+_g7u@0#z#zmxaTe zg<%7~$2p?8`)OloTse|QV@?VNAgKUqpaORnR0}C<{{S6Yai{{>FY{$$@csuiMoxMb ztx7T3AO=}lSzkUGM80ggu5r;gm0k>G^kScIS&fmix;Lur@Chmfd=><74@HDx5c^pc z1zS#Rsa28B+87Q~Bx#Mt69gicqB>xRcn}Wusc3gLi&|TbYoUL|~2x;d+)tE}18d6OOxN~u;>0hk701e|h&o9BhL zv&Nu&by-S?iy2IoL8g-KRI9wxxe5?8sSeDf}zYEcaDeT^&_pjN5EBYa+vf z3!@ae1CU$)0Aw#I(#(MpI4iazcQ3Xfc=L?q&GaByIcfZ4E}ASJb4|C;JyY#@Wl{-* zn$(g-8zQt4Dv(TJtK68Z(-Nz(6rzn+d?hi1Tl-{6uFuFd`*PQX>UE$+BAbn->r7LY zj|Ugymin9h&A#JI*kkS+X}6GwGPFV!%Fhz)WZ*F}$CAFb%1I=SY$2&cs|`iJ-dj1e z{5Q=8I#{sWG-nK!Az4DX#!Ef(*VEy_ovZe#P|tgPmOxx?;DdJ9#ULMPoTuCISR_Mt x2sP7t2*kG_tXB4wabwJtDH~kKYmSwksToUoLxnqlVo)(kGisZu#vK0u|Ji36uXO+b literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/22.jpg b/examples/data/Skin_Cancer_Dataset/benign/22.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b928dfecf59473ac6f88d2a52655e315e9298bac GIT binary patch literal 55759 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 UXK~4zkaF%Wjg)a>Uk_jZ+4VqaDF6Tf literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/24.jpg b/examples/data/Skin_Cancer_Dataset/benign/24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0262e9ba0377fe2d04ab8c95ff9a6b411997ae8e GIT binary patch literal 63561 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 ~=|JI|ega%*VLZcn6yG44iLQ}Wew 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%0D#<%F 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𝔭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 z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/26.jpg b/examples/data/Skin_Cancer_Dataset/benign/26.jpg new file mode 100644 index 0000000000000000000000000000000000000000..603b8e150765a1f65c0b70c73019106d56e9779e GIT binary patch literal 55933 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

cd;;|2NEgr)xiFPw0QA8zVI$*?s(sqilgV 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/3.jpg b/examples/data/Skin_Cancer_Dataset/benign/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01fcb1c5352c4b99860c1ab5790fd3e2fa0c54e8 GIT binary patch literal 59293 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/30.jpg b/examples/data/Skin_Cancer_Dataset/benign/30.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3ce109f7b8fe61d65f6d4312b09bd0daa3a21c2 GIT binary patch literal 53656 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 XEF~5Ua~zC$6Nx)%s`$qaFR%aEdhgH3 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/35.jpg b/examples/data/Skin_Cancer_Dataset/benign/35.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb7fa5e3ab8256d0245c77aa6f89612ce15eee77 GIT binary patch literal 57604 zcmbq)Wl&q+7i|c^THJ~gAUL!*#T^pdwWYWOC=LaR7m75;-yHC;zdfK z$PaDt*Z+q%^S-}*X70?Heec@m%$z%W_F88@EIw=i$Tihr>Hr)Z902s+06Z)MRQ@;n z|FZvq{C@%b@8gF)00kjn1F(UMLjeF%;NVi=JPZPu0RSKn_n#Z^e+{1ij}R9`1jGUS zb1ReobK~It&wwC290FWC93U=;0*{gnfGz#(Ew<4vd>nNAB4H7v2?R59{t z?4PFN5>tyR{c-XSgAoVtzX1PF2wV^z{y%(ze@?}JYrz5H{SO}W?+N<%CXfP`4FIAP zR-$4zz_axhiR4gDFQGPU{7=-bfBFXvM%!9b5{40$}%* zi%Uyr$e$K^_4(u^;S7X>(^BK%@S`UP;Z&(fC8-n5gc1meV{`n`osul;%;KFgIv7by z=J|7z`WgOzu-z+FZ#v;hwdQh({Xys19Xmm+0U}QH`UFjIxdpM=lJ}0Hn{wshU8$f$ zBUEp0UL3Hm+dQ#+SJE;;Pr>)LC^Yt7$Wu9A@;4`D7M0d3@p_!~&Y;PjEs}#R5`2;| zJ*!odMf7Rzyf*&BuE%i77C=`@TuppNDIHvpseV8V1FmO*SL`aWhx^hC*sEVe4$NuS z73KDA*+8*Xtsa+w#_ui#5fa~Y7sIj%+;&iW z$4zKz_m7wwIIS2%0~|?!#&hGPEv@SMw8I?Ly#e&%0Eya$+d%%4)|1jL7b`c+hKTY) zn6q?H>Brw9<+(Ay9l7MupHl&+q5u7y63-Ucn;xq}42wN(*!2-4TY2VQNLdgfXdh;zOe^D)z))7S?>t4 z^brLXrD5YQS%1I)`};RnTe!*oujzP}mKB@tzI@VV^RG1(0r8Tch3$cn--t*rNT~=7U}ps;iFlC4kC7AdL*MK@Nev#-#)VIbGsiAMPX{lFaNG4 zZMAXQ`Eyia>rK{k;xMj8B|pYfoGjwg@kyo&=}xRvivwj#6#|FBt`@g^yICpt8FaK6 zUm-J}6yb(i%7c}dL_+%a=9o2|JHec`W{SJU8Le`6f^!G0jn6#c6>4)Krgi17418I> zwTr^a9{^fdyB7`%pHR6ovAh1rR?g3u~YA#bHW*OR*zzy7oA;vyl}E;&X1wxL0xbBwnmlk6lWm zjT%;Y(M&|x?WNqK35{r~S=W!Q*Q7N9<`ykMlKY)Kzorfg52ork-U)5iI+~*ml1`Xi z(!37Yc%89RWAnU%vl`C~`!UA0YyU~^%NKwt4RcF%k)JX@R9i>y?d{vbXtj+{WzE9( zHk_-mN9H$Va&zC&YjVY_T~2yRuMH3dA#6T#9*SuevmV8#^}2`V2W*D)7U6}7T72*M zHIv`KJ)tw01SePHvRQBx7>TdM&gs2T<7!5O*0bPyv=;)eIAiHY=IHby2AqTz%PV2D zAMk>9ESzF%U4G_+4P@gP1U|-CKbcQ|IWjtQ5Eg7#z!Fyp`@Rp-FTelbi&A0kN{;_@ ztAqKm--S2DTo4rnRT81qnRu*wIcQMMG@p$$O{XJlO48U`)5RwoBG^q&@m+X-CNL1q zgnNB!DWu(KM>43hZEd4OFzDHHNjH~;SO5Az6Oj8W$~cX^i35ZndP)5N$g{&ENJhoV zfiD#6XPFh@MrwH4lD3|O3`1nk9q}{mmY`-nN)mjlV}w`M9t|u5%va~@D%Yt?$IGDu z8KY|Tu7QX_%G^J0Ytt>#OXV`g2Rs*SO~e=a0;5MJ&yr|&dULTQ*=2^gbLF`uR{YuJ zMy3hPzJ#s~HYjqlmgz{t76Wq%z`N@fo}X1tJjQ!ws7Z52K*ZSGr_rrds^iaXM=24kX=G;+0l#xvnzlK0_^V7|QDzBF~6yGrs zC=~N_>yAM8Mb3l+zy8=YQcn7j{)K3kOx$DB77}Tw0!%0A)V9W7?2MXGbnimt0^g}u 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 HzWD#yhdScj literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/36.jpg b/examples/data/Skin_Cancer_Dataset/benign/36.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eca336bc0d83324ef2f84cae073085ec7cf9007d GIT binary patch literal 53039 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 @iZak+VqM2)H#_W+(;W=Mo8uoT|7_5f}e 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/38.jpg b/examples/data/Skin_Cancer_Dataset/benign/38.jpg new file mode 100644 index 0000000000000000000000000000000000000000..13a0509ab35d80f59951cadb07ec92cf7bc20dda GIT binary patch literal 52769 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/39.jpg b/examples/data/Skin_Cancer_Dataset/benign/39.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae848274262dc72979d2b4846fa4c65ab7b24003 GIT binary patch literal 64179 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

Sg2!vT#1!c~!?OrH?# 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

=a#BHK* z;RlMn8fezfi(+kov6di_W2H5gI*nz8(A_pS5n8&%xAn`>^tA#kB(l`WV;T@hSmVT|k%bdrk_N%LPzXCMq0q{fP0cQB!^-YCzl&Fj&reB8G74OVvR!%R zv2{oNmsJctMAb1;b#%ZCtw_6I8mRr({f@Bi3b``j-A-I>8D84?zkvDah`7M2G7Z$# zqNV0X-E-5Z=Gn3L24(eFjoAnJ6=SbQ-~I7bDJzhztwys})%_edS(Z8>!5rT0t+t6> zysMJx{JhWuc}t%nHlc-&kw^`J`$LoYP)@%sb+PEc#w4&cbT&-$O-aT_K2MIfx!bpO z1D03Z_$t7B6vySyUxZ+=jHy&UI8|cA4<@Rr0R9fI*F=mr4K>ScUGt&f^ zv6b(l?lF&c3jmjoCP{eXrBjC#Qe>bXC1hXXEQ%(*rHd*(Vu68n0MFkU!3k0e6WP|IX`h8@OT&0EGWLog~lYUR$%HuwxOs29vO0OZg%X#?t z868dGWSuSa-X_7sv#R?U165(_tdIxf^^wp*vb|*-Wxdh zD;#loIirrhbK{8c)+m?v9m!`H=wd(>L9t@Sm5ESj&>c0XM^8+mEEc`Hnii+Tc+OTl`rfJ0M|WMobEhPNJNpZ-m4ifv_#VDp=@wfhr#Q+wg(oFchCR#R=8jAhr_`TK z@YGMoWilx$;4%d=#MTj%?MYH`SGxn)1Q29HNGG;%t+L%1+bKkR$0j0ko6TpAx{poj zCm2IesZ2J?q|;7X{TGa0I6BN9seh;6=5doa4AI1@v9$uCm;o%50Spv0YzEuJR?k}2 z(zO`YOn^VT=sI!SB}@B8Dobo%Dzc^iYsWozzKi;lXI~U01uiVb zrrvl^=N(n^eJ9TCT!azDFp69GQdst^LCFTNIUB4=@w{xE{OOCq6p&j+?rP~T-fkzP>6;sp66lvwj$xG3pq!&oJy zQa8k0C6?M58uRk;W7K*708)gso0~aG?L^xU$OCvxUTVX`*3$Z4>3O)_uyJ5$qJ}8o znmHm|X9wm*5$K?P300u&mW-Wmj)6tydN)4KId>!1@IdPgX{{S6w{;$^P#gQ?0 zZX{L3DG52P(Od}O_$#ZMxAErf%NuZ7NLXVms*zI6W@>q2Vrg8lrUJx`?Lj4tjW|vU zF8HyGm;^}4c}YrFAG@ofg1YDZMB}U)m1Jr*$~&WmuzRkWNZn%i>fHKMoYTgWF;tJ{ zng&H=#7ZA|F!3WRkv$b>C_%@gRCh#&7s7e8Tk%wxGuqxdk*IExZdS3mY%zbO&1aE0 z@zufFBT`n|IV4L}4Mx5~C5?e0u?$RvRRj3PM^D zw6gQWfu#LL=W2t~xe6j{3KvtG3aWRa8r` z+YsYEWycHDA6d6n+EmGHaAHl^{r&!$=*voZPaJ47oz@8TaFACnY6Cc9Pqt5;lj+h z77>V#orNsu#|KI_)BDQOH_&%~n@uaw7?%1h`x^hiw$xjr#Z zHEu7-VShJfI;G&`5MfN*(~%Y;felrW)trQ%{=bi1OVOD-q-Fem!2n(-U)PRZZ8Kf3(3=Uy9B6 z>m=eVO!GuqkdL3A-m_oNOG%sx6>XFZgL`HtB5a!RK12cdY;W>JqaD&BHc=NXpyO7wAy{Xc9@KzKf=b$1!X& z1zzm(6xq)z4Ly8zDJKurqn{GE{{WjV>-4>J(pgoq88R*oB<$R8tHnS&KE-Te!>@E& zk$imQzusK^)zz)%31b#}a0SSY>@onbtgUmwbyd=kPw{|RN|Jw;j(%KK=c9UEVlrc!OxwnC5xcoO7{>#B1mo~q zj~hnHBmk_DxEhPeV2wgV{%y%WH2b9 zENS5zm8qWv^)Ky=pvnlx97+-_vjqxcBX-1^1%MPR{xPrVG>Ji3Nvhi#kI+Plm7h19 z@mJKpP|0J4oID@O-vDGdynJ;303VYW*!*S9;=l}U@qHU2^nV~7Y*$8%jac_oR}5yj z_;%v1zey{`>*y^)+GH10-s;BNy0ppjw(41n+Y?d`0)G*saOPm-ywEWj!L)Bd29np-X`V#wTm6HyNmT#fr@j$*_*J= zN&1tq%f#i#B!MJcN|=|#@Qf8emnM!~)irt^WW{0%^z*xkf`KHv5Mval4Wy?DR#}Jwq*hd1^_4Eja8n z;Sj5io;O#Dl!fCsI=#M@`VWyGX6>EEdBT6z(l_AoV~9j#jw^yrNeZe{j?AlBc{5vk zZzlpoa(~o+s_DiS4VbN>LQ7gtf##95qKW-{^t z^T$_bVeH3=$Y}X7#((h18mfkki>n48RoXU65H`t8Gj59#8lR2b8zSzC8(H~RkDy)L zA00x}^>kL9Fl4)hD;Q6;Ghr0q>P%ptizHI;$w4ck%Nvjf$DU4#k_tv;EJul5SL9PL z^wXIV9lM(t)L7JgwhG3sHDcX;g5Momj;__Kx=i>s#CLeJGWhCkA2v=jyk0S8Y@{%{ zl{k=5m|610n-99c`3M>;2Tp3oWb~lM=Q@sYOl{pkW#aQj2EzKE9V=&17)tMl7n2sp zlh2MXt5>l0_{0nrNTXS%Sq~L)E@U8bKgg|G<^XEjG4cRd>)B`lJ@zE*jxJ9tW@{GR zu4$}vj=ZJ$1KdV3xh~+UHojlo;SM^sKAYteG|fp0lB73CM`TLAF2??E5_sdDpn8cQk|>aiw;|(_oVaq{c*jyc z90Dm4VUNs(r;A}yDUrQ|`-ws^qmUT>K^I?5mh0Okt;XQ2C0-K1qKlz_Xu7b2aV2Ai ziqGLg72LK0F~LZN{ ztZq^F3!98gE;7d_37&SrEM8miW)Frx<}^O(o!MkxYUUftlOFz?qx|DD<{?C z9y*?O$<3Q=+!hh8G#0i{HQC**onk;6y1K`FBBkCW5}~ZCR*ObJdA_7-3@3KiCyKn? zd$D$SYU`pLh7JQ67$~NU7E$+JXiAZ^VnT)((b%DV4i4gjEyufSi}^%8pZFJ}jyD(; zQ~OgG=iKu{gCX&uoq0Pdm0t~OJ7qcvmF@U&70)5J7QMF9I%KHYoW5)J5(KeN+1bI6p9 zzUDQzh)g*SIL(D$Lf)=R{YwQ$lDRd_>c;jb6RO`az*kAaH#oJx$BUO+nOO0l5I zZ$#F`^fMLs!sEK+0TElmY@pjqAML3cwJ*wsyRDcs% zsHR{~lluhhZja=SiJ>MpWfLBEDf47jQNNV=wCANJk~VR+QfvU?h`ByIiO<(XgBw{6 zEJGGHpaF@c1n#uJfwl}c@27S~QjDQ>w4=LfhbocEa#%dM%D#P%AHBaeUn-UTp^9kf zl<~zoGVHSussYlnlY=$stL;CWn1OjwT2YBBE>2Rdi@R{0B#MqLMu2RqOrX};X-b<@X8!=QGgs5gR@o2;u~L>%ezUZYW?OF@JXQYy zN$WojsV~sgnQn@x=N@~xukqGT`s?)JxbsWFnk98+$~hJ$D~a;)W*@f2Xdxa%-Fn~B z(@x!8Hg3?18?C8IT(?AiSH<3X>AeT_YM%W)+@{b&9oE;~v|0xo$L zx5p+y;8e)Cu#s5cp_|g{$8@Kv^roC;I=HYLl&364(+1VP=bFh?XZ=I+?O7#7Z*gi^ zL=a<>iu?O!90+*>k;eI%i1`v2%CW*2*>X^V>L}kE(yAOrB+=?0snn%0>DTg4O#R(Nu%ry zH^$ByUyWmF7^qV^xGb!ZiXo64>&sR;q3NL_t;me!F73-Kc%zHUM<0DI>nv^q8Y?Mx z%jFCD{j74k;dYsMT>;|=9QWtqc$!IhlS?8y#4+#*BAoIF5?47b(JlxytD{RoTDrZL zJxR)BRyf^do1Pq9Z4ZmYt^+2R%8bjG z?U>{nHZ~aBqXG7nRo!oNI#T?P`j8kEZ6*Z8vAiM6Redk3B15%kB_z9+TcjNQC4u|m z()xRfV8W`nQ(nc*Pfi> zyNF2LiACJeRt{aIs&ESz$={wLKes)H6U#$gNvaBG=1;UyPlI#h)B!YSGG0# zRyg>y@^jZYuN}%HQI<(!hsBA1Ir-qOq>9L6Pl=RDFe=Q%p-KdhL9kc?gZp6AZ(Uc8 zuLY#IlB0*sH7faP{{ZjQ&&Re)Ko?bZVv&~@REU`4h3RP=y`WI!hHRI~DfM1U_c8ZX zkjRr>^Ek>f>`hJOWZXQch)fSGO;m{{U&weou(a zScZ$lF)eM!AQ~!sTLFmJ$%A|G>1hy?nKu%MrS3yHx)QH#)nM|PiDePZaxpAEBaUky zIPJU{(~sKL4rB5oEM)z#!aRcojii4l#Q~3%zvW3%2vOHJqv_c2Z6&%_eoyXlym8N; zo9azL0(+$zruT0y=r*7RIg?hNE2|%k9uXN>g5d*{T>`{f7CS3yDaaHYVh;L$NO)}+ z;gv1cK=XbV4h8+I zoxrX~IRxZ*`lF24h4rmC$pMp#%t>ar#8J*wyqs0Nbpotxj?MAYGLZLl zPlyG7-&hJ%-F#BAt1AGmZj$);=-RAj6LuF2kt5>H?ENlV=NRaeyod~8Ndc5Kh29RN zkm>A|X7}lQ#aHK0m9^&yVw?usagwkUw^SY85> z`ub$^TBa(j0kLFIV@F5EwYm;e{{Tm${zZ&|gXa5U)^OePTm`2+d#J!!Q{w(U0h8PJ zyDEQmbnlA6i7rk=l0zLR@j1{x@bPUBNbwuKgQgS8?Rmc2jXy3WgypZ1d0tZZUND)v zE8kQed_HmDoJyC-+MS~D(i5jp)^k}=cMJ{qEwa<5rxRu7ZtUTwX zR^Rt|dE7XprN29mIi~tvNof)SRHHc|$)>g=6>1>plX?Ve?iJIFJ4i@@EbYWnq5 zTvSj3@0YByFLgInDmNB(_iesVyl2jDr#v`FaU->>sk#f z7uJv%yWpFe;zDvX(RaopllVyllxl{kN@ZUuet5b#d~^eq55XBRfFpFk05_1+d;C@= zj_fhtqQ0>>PkST2M=5b@;ENr=JXmwjO-0)oM5#Zfi$?R3oQ`;`ZgJFcxZs&qQV|_h zUa=&G+-wExt+P=%P$Up+bkF35tWqsq7tD>VEp4U9-Ph3?I${z0VI+s-$8l}$7Zenu zM6+)^HyiE{w-QNW#a$AVx_NwwStBUeVBlCQ?!egfja?yVh1YbhjkRGSH6~YBqdaqt zos94yM%$+MoS8xXagUqosrsw4H#%ag6ra4bS+Hy#h>lhpDxxuit9cJgRtH|kLr$Gd zT42>iw%B`&;Xd(J(YUUxdQVXp4*W-HTV8mv+>4(aKYVpofBaGSGf6b@t07Ypp-^#0 zA~>W|j!cTiq!z%($v!gf~j{B@OZ()OViJ+EZVWQF6LjTJQ)l> zrndZi3tyz7_$sQ`o2RG`y45KlM8g*o@ z+oVZTZPq+|wjCBevrc+*7WFLMOoCC!$>b$?`>f-uGqHBwOi@h~ynG~#+vHNza?y93{gZEKy9(t3lnMy--fr_>vV&xYK4Rd@~RtE#L zi1_hHfIJ>?7%Mk< zUKPeLFITn49K3EscD$HmktIdNP&90>43V-CVd8fo8}g(AE`fC8_$oxZ$;s3n1uWZH zx0|6~9y<8cd!aG}Bo!^u+*4`dk*Y<;KKd=f?TVNYrbz?wOq73?qGeANk3hz*2`ZUn zNhFV6whT?Olx4RIa=f$@TW(wOXRo8HDaKbyd8?@SZTYO#{B<|_QHL5o@s$4Kw1#N% zG7O`pk=ae>7OX3&A}>Pr2cZY??VGzdOo?%KiDtZnuDs)^Ua~OUy9>&)5fKAyiemFz zD~rcdt|})PkSMtF!`?wul0n-XuwuftF>4qBeKDi{l%X8R?y9*J&9_w|&Nx3~q_unE zrHLC$3nBsJK>?2u^TMaM#71V8Pub1P!`Kkl?P1yGvjf3+^lu95%t7Ab-BU z>Q>$N+dVH+J$+ufrl#f0%ks-Fz-wiBC3yf65)wf1p8{Us0Ga=G|0nqm-7Jl0J z+k$HPAxsX3v6{ilS1YbonyV>lV{WhvyK(Zm)=j+B!RD|L#tx44M4DgkojTqM&Ebk% z3}6y|_mnP_Q;oQc616NNx15z!(XtFo|9~fnEvMk>I?v9jVuy5U%($UzbnjSlP)M!R z7*kpF1i#9P&wBqPLKquSgm=Zh_u0Ew z!ok{*p#MFS^^Nx}rRbcqbo8ylnW~2Vlhhn9ln4_h8}rGb+Bm`er^mYI+~@pRdk0&N zqPWS!UZx*}KRnFC8RngwTE@aeqP+?G*eaY7wpC0AZ~!fRsk@7r@Puagzt5enJ>}R9bFw<$T(L!wCBeAmcjd zFF*u>5Yj0mv{;LwZ_8QAxm#VZ1%E9^6)W`^^)|bm*vt=nr}d`v-qQbr=I?fCGLA?u zEvxV*-7i5tyPCI8KNr0}QA6c{Y$;1VL90VI39Zj64t&^*riymab$g`~AyL|MXob7QYeq##whX%_)7wnxgOK0&R0n%w>R9k*2$znu|BO))P=x_ zNSmtiDgGY7$U~Y}g!K9M7;CqQ?W!u1b~+DT1;$8Y0exT6`2gr>biZr|LGDwRbC+`6 zeq9xXS&H16ubC`lLKB;(Yv=NjqwlADh|YOJ%ZWeNEIt0~l;YfFCrJJFA7_(mAq``H z2#};JGVT1Yn=`J<`F>u7g0%X`gy42~O2e+QUtQ?9hK$Ap7cwa?{w(Q23ni%-DR_WX zRSCU==AN474LI{==3<3hOAdBC7y-G(&jBaSx1VsQjcT1I(unVzFY*MNGDg=R7d3q6 zHF~O0quEPQ+70`%4027u@|-nk&`M})XyEhqS!)!KG|gl2xH^w2Rc2ppRB~YwS`}9y zUkm+4a_#%X|MPCzn#I`rL0=J+4aWtkD`8L%O{a#cTnwvHgjCCkIa0Gbd;j>E z6}86;U|#S^X;|PUnV{Cb59xfg-xO~uHEbnAgM>xtM!tCHH8L1$$0CGrQ!YNtxCI6M zcu8^m`}A1+0TINfZT<&7QtO3Bo2&R}otr$Qt}G36c$}lyh~MZ>0Apy-GX|CE%I#c; zo~V1S;_RZe8`yAVk&q6ThKVp_L;p?QA#v3rh^~DT9ZLoz24~#mpd5|$XAIX{zmsEoAr)68&$Zlqwmpdcs}IH9|8e!x20v_0iRy4M!r5NRW5*92$T$sgvIci*#fqx}d0< zM)ZkqMw)jf%)~}#mgi|gKUP>JZVFtMui>2PfJp+%2>b#l8ut&n@@7&zJKsJD2Vz2x z$5His3lst7H{Qs#hv58;lX>aZZEr)CeX*)X!{|%3EoxgwiT3hu_zHu&!@%Rq#hl0X zkpydx*RTQ!$9-u2$g|)w4z0iWp$B&*c|)pJOmvkJ6|Sltd#t;&|B*AbNMmXYF1-D~ zgG>Z+(0?pk+MA;VelMnEfh3*Vihbc{fc)LOp^o46;V^p|Dt|NA!k7H4vd7_P&bxVS zXv(e=Nd;q54_N_k~8KcBp8q^TSw z?GIyp79QDDm~|nLC=nn~0)06tFmq-Xd`tf(UjzN*6Z7Yh8_kIS<9h; z(U(^w&%!VBFHP`H-)f;Rw5JdNL)o#m*Zj_>AM;ZcH%DEiJKGCL9W3oRDxbyJ=Yletvej{!+#UfTx0HsRohX?cqXHPIL1gE1hjse-9=F zdtEu}@tpz(b>5_f^|tIA{mUJG0dxAx&(apwl4JsaFO^=*LajnKQ7Dceyx0N-tseRA zt+!6mqaw~ufi)uLbU_D2KX^PjTXNdILX%zc0}jr-nl8+>7@c|f=NRpq)v8fTJRLu_ zbxAr^O^XqH4yD#uxNc7q&1h*qsdya2xAshaZkn8p=ion~o^>95>*yuN$qUiV$i1nh4hBzB;J7l|N@^prLg2{F#AiMpONuAx9lm z9Tn@iGTeE#NI|ufQOc2@J_I9>ogF#3Ac3b})GPYZRmh=cFGRPX`Wq-LIzm_N$MH^L zl6N?gr_l7b5_R~m^g#37`(VYq{^sLa1@dn1o+d14a-mlQj>k^QgwGm*?L6)45TvhF zhXI~8sO=3AxeKiF`VXnAGu*MxZE1(AQsi?T>+}iMJI4gj_hRNk^A-vtAFajM5cFlO zq8YqsGUVbNttaN|+x-a&vM&IoS?fO&u*G8I3bwc59cv<7*$pvf5nGtcV>+B&9gT2f zjy=r37lW`c6Ti6Tcq4htRI)TANx(GiZ0g%Dn3h0{tGanEy-qZB8YS-oFn@g|kxR~(v+x)1!6Ks}1udGJj~jD>s|O#z zITq5=&akrql8VhhP`BO=Rj%yybK2s!3SCTo68#tw@ncnUGz|4j@`C3TJ<1NxKYuUY zp8Z&QcrQEsA#5$A0vY2(<(L8MVOT)LZ<2xnp>?!8>Pkgb)BUQ&UoX~VIAONAjta*b zR?`VqWYPJO6{bX@k)ThNe|+TlEv%B&XH3|S_e;LGKih^Vfu>1(`=H@oN@UA;$|^y@EU$Lnac`zkUW|ctas2&u3LQ?@M#%6p|(jSeS1qF z)&Nr;i|#cK|Anz8NnD5#ra>fn&<6=X_ZB{aLIt&b;N0H3W*8Hs(WBw2zujXD89g)l z1%I`;f8H*+y8=rBEwz3mwQaM987xIrt)bVmBs{4C*F6K?sTLBuE zzYJ&{`(_kBmJB!22`|iqcjAbG52-du=N0R9lo{iZ9&DJOSVN@0827S(r8FtCQTvX9 zg-5<~_!_s~vdUW?>=r}O=9a)+1nVAVbGbj<2eynRF;XTIw`HNUy+WV(qhi=_?#$Q+O9%r!GJW_J;NJJ=aW?0(qFJ&03vC)XoGzU_Ir|+(qB-ryf6cs! z*buMv(Q4OT0J+ZC`NO@rUi$-LmOsn1OeUxs+;pqKV*HDwjIAo_=2U>^zf~>50FX z<(|l35N4f_j@O)^v9fCNDI-#-9`cW5X}Al4^koyu6mc+)hG`~Fs;uvE{^n;TYrm2z zTE{MVQB0>a|B{JXmh{~&jhl4KrumVZ6hXEHpkI_N()To=4h6!J4ddDTZr$sQmvW8w zlEPU6A-;((^k#m?>Oz z5+O0NPtFJzZZ%%CrPsoDUTGYny!G}UX<#&t064q=PFX%GlN(e7m9Y(dUrrGZZX^W+ z&=CdHzt$pAQ@-wmJ1NHp^^6kNz>S7HhZE;F?8X>|?ND^II;v?-g=AeebG!n#n+mhJ z6<@O{RDmkk6wL$#o$5jI1q&?vV+vANohAFSp;s|xj3^2sR$qxpr=+e$y(w~i6$tE0 ztLgOk++P5sp>xcB%;0wnt+I?s`p({LixO?gfN6mjz%aOKG@_V+z027H+0%o9qSpL_ zoy`#^i!v|dB9+Pt6AI%V)OEHh&?ayKNK6+H0WGBc*#WRnHZqoavP9ougY-(W8*v3z z5b`;>sSC*}NjKQ;ysH`cjA{ucTYZ@ydqlhUS&ru>=`~Fx*Q(nqMC;hnw3aSkhq@jubLgqmVb@pCVGD7x;^unFYBM&( z6>6F5j6TKukf?^O+Cl>E_xVoE#W!WCZIf{#)3?@;prz!j2K-#UEO& zb;@?xU+eX|G6X4}@2-duQqJe4S5otNy;JtG@b_e9+vVC0X`51U=xoTYWF-u>bsW&m z=(laJqw=!Q@H=N^!x{U+=z?0oVh0s=Rz!_LN}qUVe3XgnMNjNaVr(S1W^JnC)$ON# z>N}-ftPWv!dFz$;+hp;N)_&J#QplTM&tihSnK3xHw%}cVb19tHit8o1akt?v-$)bFK!sN4gD3 zsH}zkG<}v4zJ;DpWvOvKIe>{=4}jtR_g{bAfn+TEY?AP z8j|*~r}@CINu5U*xYbDw{C;P$gAOUyO4f1!H`&M}&)^IR?*d^xE`nR=%tZ3LrC&0@bzx(eCZxq}Zs)s=aSxwc=Afas`r|n_R9@Y8`}) z<+|czK22Q)*jsGzcD)PT$WTBxwmCqH9)}Js#@ofDJbPcd?V#ob@HTzA#F9MM6w1nR zCB4oL{Guv7rPK!KfePv=@Yv4?Rg|I`Jps;zBkZU}6_4ab=l}g74 z`U|COWSQ(FWEk$333~8%bZi+yBo}?{;}%x}y%#|7lI0{<_091)D*=-*@roYqzwE{{ zwU#U@JshiXF5LgaTtbXa0=WpxVQgGAq{1@!m_~e-SiAT~%2(9jnoc-%g6V~tr}Xc` zfGEn|>`tx~`E5_R4A~k@D!#L_`!23Fn2mg#^V)oyvGygKV3?F!qnev7Hm=sq--_5D|BCy;ASQ z_R0|74=``F(6Bl|9j-C~w?>Xb5?uo-;*rA|GS8s0 zDr*NnNZs1*+{kM!ZhcdPSQi=7tc!;k=jaZ*3bEH_Tok}8RXIOm;SVJ^fV)X->C%C) z)64rK%tL#}Z~_KFzgG;Ps=G#kgJHFlq;n|TggB37hkJbDj4Q}xll|8~OiR%$AmZ2p zbf#z~LD?&XXe*lmY9(+XT9{}&b7#J>t5Z7ktKR#!35?3^){5_gTY{WMY^D6Ei?Q>Z z3Kv@DVukt{zes^xkJ*>h%1Z{-Tj!^1S6tG?Gl%Qz8aK2MW%Gh7-xC(B1P{O*eSxEM zC7M{pDZ08vq38u)x(qG-q)95Y&|+@sXh-3<|&1v4g+C5bvcCj%CK}!JQgOSM{lHHS_}f zE@Y&z3=V^3`d4Y04J!vs=!t4C#L9cX$ps`m2)I)&bvDrhii`1ycg^Qnp;7OQFHd$# zUjUhdPTkIQW=b8HmI)1_^(bNUSWJHBj5w&*lK~SCs~!`Zh~&Uxi+$+TbvBX+;{E6@uagvNoao8^_6QJ9Zlkf zfn*r1zfl31@2XJ6?+<%B1j-z+SPH$BKHgmThLBw9=H-&I+4|ciUmFzK%4wE6UX)RV zj?F;W654*{RZ9nGMwR5M&88Acg*yHKji=cQr;#Co2Ajc*BPO#smTZsDj?i40(VwR- zhZNU>Xo&)PbOwdWer!v6A-D5S8Xz$>ULEUkX`4WYqrRyA;$nH?IH^h9I^TFW_`@r3 zWn$&C%UgYBH5yjpEgz0Vi|}{u=9b61=~!$^^Y|UE=7<$#l}b**iF&=(?NdkhNp;}! zNx)$bM(JOoc3|)zv12pE$qT?^TG!}W?(uH?-e%aMNQ8LW7w2`u4;5 zCrAX?d&tBJ7gmmrKQ13Ts5Yg&i-puVRy0^QZ$AxrQbNi4tOS;-8C~WjXQB71EQ|8- zaQd5j+DkuwgDJ{AX9}N{++t?~{_w$@I~5LT62RR>ce3*DBg8kGv@WYaj)r$9MBH@5 zr+$tz4oCGBGX`&bv^mplEB9V`4Xd1g;$mm)y-NC0QwjfM3WJ&?$oIGJCg_jr{ucEu z4O_n$N8J-YyK$r1&@Q(r?fI$1-)N?h)I6aXGB>XAWW;hXoN^sM@TN0`EJ?AVm1ae! zrgC@HUG`c=joira4ZDH;4HaeJ?BACgVxL4TcTZvs}^bPyIGSIjV1{ zi`eNcN+5iOI2CUlik-cUk$#tLY7s;#29oT;Df>{^L)N|M!z)kA{v@-t@EIx|2%6z= z$9x>tABNdNbI-M^{V%QYa1`I>TUcWflgS@%4@k;cl2>r^>v)}{mwYNBoKJJh-jnvn zG8|af4BYDI1`l~$P@JQ65wWZFJHaz#EPbaYl1szdAg}l)a#Q%Rng4*s z&7(Kv9$yT$H%7BBLpxO@nt|C`;`sv?+keFZ#zbb?ECF~@NNkFwt8 z@c;uR@#xi+Vx7mx4rB}s_0=KyxzXdMH`TOL!SDj;d9XjJ)Ga4=@8at~1`V3O0A$Lx z;C=~Ic=KPm-M_(jz$~>f+qO2%?%N~eE4jP8MVdIu#6MQtT_phpRPUFEGz!y(q_X3c0 zcNGaG@I6-yvCHToOnaToj1omGG{4N&pX+tSLgtpNji z{|gio-IYX6Z)u91a^sW4*7XS*^emHD%j>dMZSVQ|sM!DUXWDkS~2*kXv5gHS*= zJM>@hy)8B0Vs>SN{Rj0Q;yf?!14vq{-w>vsPM<)A@h;;or*I74XC|{%!S-}FntP&) zkO27%c1U~916>jrUWRyKB4E~D29*q|X&TPa`AiuQD7{n(<#ZBwK>(z56~sE(DcF3= zGS+}8X}_k3q*;aIv3s^gi0A2}a6Ow>XfoyQ@zc_zW1EoYEBAI|kE^2BcZ6zZKbEIS zGx?h7=G_J9lcY~QN0el#58LXp)#u6{))xSB?Sqj~R$xKS78h@f39C<91`!4`cMTF! z?*iV@gYH%xilQ#s0aNW`VeWfn)q>d@TYDT>I-)#=;Hqj~pmI9_5dvsdrXEJ5un|%* zoTS8e^sMPVi$ad}Mc>7eL633DMIQA8my$)7NX$PQ$lO(TQ733t#H{v&K_gl8ir8&{ zmCv2MrMU9rYo<9j3wbga@j^3U^l*8UlcNnEepJ!3)EF->HZbv0Gqb}gJlTu^t zj~~g_a2yULl*%C{W`b8;-u**gOxlvF7m=HSEkV&WIOO#4%SPy2b*%a1JB9b}N_dst zSsO}M#`yqV-#AOYJ;v@wW|c&LqG^yoQIfupOGx%vx#->ak)a{sz)}9@Z?#{iI)$6y z*_P;)we(%FUR!#r5yMd*a%FOwnnk?=EEL=?U zhR;EXx4hWqe3u4yVkqpg-YHVlk&?eqDlRyJ)MjciXiUg9APZ0YG10~JoO6AtX_1~2 zTBi%NN=KinhsN#JaZKK?nSO1_xt_>3dc09gUle90C!9{hWQPOCJ0&`>w`B6ETe&1j zL|pajy7cIUNBq+JFYUfLjlr2AZ^4~)N=MCC#qH}i$Cad+{#JTyR>bie_P`GaalcLT z`R(Fy!lCF)v=s7w-FQA&4cP^D|1lFisDy`_wGyHd&=8hw<(5|Q%h5aWFP}+^*BbvG zV=}eex?+-$tlS@QDr2>sJm3>I#u#nVw_V#99o5U|_3R#S{6*Wl?|Ejw^p`nX%VE+e z6i24Q>J$yBrFzw5Aa3C6RIMB6f`x0Dz%_r%M-~O|e)v@>xx5}S^^n6?rZSf8&er!T zJLd0+vRPPDga^2gFNm>}UwM(#Ssi9WP^#+O1sxz?d7Nr(j;He6{Q?veeA3q=ia2%g zVDRy0)JNSVlgsR+i3>u>@;v7v*IkKK6H%ueXL$7Si2^6jPkJh0Hb2(M8 zugn;q8=Y@O>|{#yg~v#v^4hwt%T77>`}|w=11L|YKW#EaK;=YzE8jA2wzNS zs7UCB8ft9|uCrW>{i)*48JC;9Gd1%meI<}TaWLlfJLXbr@VtFM28;f?DtUFnLZCBY z6&PsAD&wKp1kLNtE4kWUT(nWD6DJw=h7TAzlJ$N|kGF!b?uBCrBKeW<1G(PS@|l{L zD?k415RN=ZQ*ajh_Fca;zV}Cm~H|mf0RQsIG0{$UrBl~Q{F(5QDf2UCC$b##7y z*sYKePcQGf4}wZkmakcDeB~(a{s?H;BwVc4p&~H%J6}PTm>H6{|K0NUz}5RMKR%N^ zSSr%%f60WQi8xh`?`PTCMyM5w{Azy-hrX#Ir;ptONj1`25B5#90RIzt6|&<}mK*q2 zLgB_b?CU>Oq%VNWi7t=2R!8EUvK+GT0w!`5m@J2uq=()F(o_u5qCW(&t2zC_>1M${ zIrf`r%ZOg^`7G}@J9gbJ5uT{|J_qs3y!bK>O`n?rjSbA*Hne5W&k!&X99e^!f-u`X zVppD%K3zZ6C*RBAGW^_>lK~V>BGz7%|T@S%KC{dXGGjtJpf^bmvrM=AS|>v0BL`FM(iW?eqZ@Xr7j z_%Q))}^-aVKO3}Q-p76&x8nO*g~c*KJhPwbQs% z+>Q`cWq3KOu*~)$Ns0**Ls<%kx4#evlaMECC#4L~TSdyEIw-~Rr_V@yk06>zBwB?eP2q*A94XSa8a;)7x<^L3;)aMy9*+5}vt)b%V_W&X86AEl zlWO||l*$16*`S2B)8?i6)@MVtPC_=w(e1Zn`6|_Y@}Fs9*?LCvBmu8id;;H87pz#q z*()m2sN{rP)@WO^$0Se}fwb_bk(qpdyc$o#zLT!)$dYK@syH7#RGvavvjV(oC&gN| z&4ZGy8cyYH4jbi-eg0#qp@#FWohiwMJgKZq`;z#cZ{Oj%19$H85i!MVcEaoW`fOz3 z#ysLF$S6Hp*T2gI_$%6#(}W~J%yW6;1`7!zw^M2k%A7=nZ9XObK?E3J2i`HV(M56| z2oE4Zz~;mdpDyG z(k}pVn5x{skZo2}L6uYA>N>sNN8cuV%^A8plKGsYaTOyaEZ>n&&Sh(P1m{`Nv#I_L zMm@3d9w@CVdPIrg{6aA2&co{DQNnNRvYTzdVK`jgWjl;marqtl;a^gjiy*HbVi_LF zbvDNdMdJ}hKbHS?1n3#v#t+4PU&t`%b<#ldZ#ZPE_svrLL36XfP){G5wb)*7@T%EO zYB!Ra6XCTZq4%t$T~&zFOB^L-lCN`g1X8ove*j`$7x;bO^Kh@#_UZ%i&kX zveiMqQn)f|s+qwr%z+(cbnrz|aIgUJU`XNgQTUvJr&m6cm=SyH;!gDDeHlkrIx{=) z>1J7{z0-^x^K$7SpW_8UNoZ|tlt;lFZm~tib4p|x80wq^K{9kuZNvb2=_@)>X1hU^&;3FjG+1d0NHZ@vbb{mlv2F4Xwi|>UsAOgT&6- z!Q77~R${wu7rfiwHg(R$-9UV zx@5e;9}NmtU2OPkw21v^NBlHFdYuBt+|fueyXMHJU2o@vwuP71Td6IdP0GY|41=|1i5{zU1kCF`DnRoc%$iNPUtr4lJz8Zz=tHwMH?y**{g~&_%WdnZ@iN&6nL+DX? z+Mczc2*+4=n4=!Q>v5g83x)MHP`38CH1~P<-3MKl=RIn*g=wrYg7!R>0kWm_QJ3Ih zagev=cCc#(I=i$*jM#dcp%$RkQYSZU05qW1#EP6I+1Dldxmb^t(AbKhR*I2=O(^m* zr`CN|qcqI5W;Q-0VR_ZyvV{+t7*F=*ed#?%V)BG-8`&sQ8WkT8DsMBSa48Hq+&W6=Z(FBJSwuSsO@$Pj~i zU?zPVG&A0|Ld^HWy6aR)#jul3?S;-P3aBbQOO^DFmzMVBSa-+PMMm9Kr)>>+%(`*! z2|3nfSkv&CX`k|wc|MnHd+@pyK^0?4BE18C)PR`4G=1codPYJNv#(1^->{U*#Qc4o z%9rbcCt_{G9(G><6%UvSs+pt#*(0OSb*qgggW>+GyY~tvkyad2bdgzhJ7QdL5F6VH zr=Cu}b=w87imL?kbSOz~liAFHKd!aH@l{$tlKq%wd)G%RPqK8nwWv7v(M0Ig!g(LR z9>Wk@S8EkGDEwXNITa9DJh3rks!W0uk|o6a$V(i!KD!nVN$DGAn#R^pCM=s(sM zpgQ<_hStkL8*|Tc5uw(X>M%mAu{?(Sr=JJ%HcSK?P21pi<@8bypHOheJ6O2Se0Q(& zz!bO$AunIMCkP~V;V?Ea3+~=;IB6Xk`z4yU8)-benq(*+z8QlOw>u3qQ}R@ICuH!o zVkOSN@!vgH6p#r<0eO?-xV?ryglc(a8mnp}ecoDZ9ZO~P@+^;*6MQoSrzBAzBFetJ zmdVSB+IB}*jpZc-l6)KC=O1In{w!*KG?XrDJr`)hCS9U5!RE6>VhO1*?w%`wuK9-Z z@}?+9R*`JzNeZex&{a?im2)a;=pU!=Mv$l$g}@T?oNvvkDN4)9Q&N??b!9z0*-sThDloRK;yW922-l(+-JMWjzOeN{Wf1BmtoSrp^qB9ePq6 z8x~Tc&?s^9_c0d2O3Z~5Qs{G?^TNSKCqpIKn2fq+!r$!gu&mCr^OVM({Lo8s{11vv z(dq>w6;R8ZWhF|@!l<@wKR2!z5|LAcS-#$_3mj_%!;=IP%}6hZSgWfGQCG4s8;|z_ z2v(kNi4RfY@~igytC5?uyBG9Y_Xz`D-t`jXV8XY?|UyfsrQvO>MziUv|B8wOP#2N-lsF^7el0Bz?W-Q-6XzPQPO z2LxDq%IyZG*Pa=Eg1(w+`1t`5GPS@9C- z6Ubhmy}CG1WlaxD1lx7Z9mZZe{6G@N4kQ^nEh+6|G4C>4^81}k=)^IVxq-weJg0n$ z>+aMnMJf7ao;3I|@p&RY2=*`4!c_>$AyiDo-d0nNpL;sRFdZkiKcp;aEJ&?M3q4QP zCS~eh(#Plz7E53dpHU#1?KHGc;&*=SfzUNhkd26SAZ`IWmIc$6t#`WD%x{6zmfn(i zLIdvuz9NEUxA&!}NXZpxQS}ADMlBa!!{;vmAU@kD?s9wkNoSc-)Vt6{<`P12heDmD zXff`3KVVtO55gi;h{%(U$Jq$j=gbNtFZ^ASjgHTkOuL4bHUWnU8vKmU`Vz7pdt-lQ zhM8A|^;8U_6Pr6BY>}qmpMD2mCnQ$6H1ZY^ZK5Tnb{rb^(HZ*k=MpQb_lB$bIpe~r zY=JZZkk9&iKOO0F0H1P8JxN>He#$jRg+7*Ixh{ z>x=~j%IIn_Wek$>##yz1-ro7_>etqvu<&LXiPZ{-cURw!8BSjZ3+|gEgpB_&cQ>=A zLhUqZsYTx8Gjp(ht*Td?Xc4B5oyL>_=(}vS0*C+(lMdib9fS zqHas{oPwaZvTEy*gwRjUIkoI~`aM@G<)xfiDJ0@8bg7hqCH!~&``z0Q44H|M3FI+k z}_t$UmXstc(rD^pTG9r{;)%6`O1!!@q{vvcj+4rS*afJZp+%flut) zt`9*KBvh8YG~~vv|Efxj$F*}C45cm&#j%tQ#~U#_m&7jm+WSU#^FX&y{vzRQNS z)i%y0iiEpF7e}o5eBGmBIzb{!<7yRbhZ-2NzyyZA`RpclOfKVFk({tUwX!v2qOAWS zmPusP97HW&>RIekr7F92|sqfW7k7W{?pp~qoe1F-t(K9YlfH*q+ zMpkVDo@kEZ(pvWtfk~W7h&*!HzI9>Q;qz5(B>p@Xx{7)?^vi*WMNh}lSlYEVd(IJ@ zp7peAhmOAIlp1RGC&3g01zaAGixvF>D2rgzJIFZMzkE73m5|BcWo7S7Q%ildOO}SF zk#zoxR&u$xACaCd7Vb5c-{nU9pi{9Ja;WMpC~KYLGeYX>oynu3pUhTwP&qR~tz~9Z z->qYjZ_@(uc>x?IN)kGJ)ddRMs(z}7uTE%O6H zXPhNmutQTSB1KcJloyd0^>?v%v4NNUNYM_IKW<#2ljDo&#PN4ps}|M$O7~2I`(3^e z`lL9l(J&;ATcpwi0IA}bWIOe$Ar_?Ahz$l@j8Wk|i{t24s&RF9JDb>kyx!Q-Z@MgWvI>fnNSr>~B_j7N7*J8Xchqpn zX_G!}Wf(rLLT2|U=3El4Iz$_Duh`H`LDNNg{v$w6I~GMhoK!g0ZAV4}a8`*c7%@AI zMgI`;1TJ@hdqT5)VD51`OG0YyUYwxrE2SUyl7(aIKl0pdO{_;FN3Pk)#yJ%Tr3dB- z_ed><2p=k1(1OFHI^RooIM3%;r`TwN2?GPi_XRfp3$MzYW9c@yrLEOIs!}X#-mC`jvaE?KT0JGS<`xqp~UA{zn(hKjbG=Nv6_h7hT_@K-+fuIbzRs~sk_KPB*l8%POKmScVcCc>XQ4c@6 zI<2;vul*($P*3g+*snFCa-+<;ML7-DXil^;Nij0#dOrOsMGtzSL={@h?udfp!1<$` zErl4E+&C>-2?wVy;R*STfEnc2^AvMd@{T;(f@!5?`+>wk%hOhAWS0UH~O_2s?y4KK{^&6}y@EPCl22|L=seXPdLn zHb#8h&c4XZ95V&Ht;vuUUUWdZnItyk>3S?V#Z@p*iHWn7n5gso%cN(pPh*WDkOl0* zB2l86Mu9Ks_=?+9<7#-}!<$!wTqgHPWzrw4t|rGA0aYX9+wOAamIJ>-^|hIl5W4jJ5Do9LD}g02F{A@@{pU_9>mAdLw5 zYXrHSlH|%~0H=KD-+_V8@NNJ^YRBkWc#y!{US-(*$7Rc6iywl0;(1J#0Z z)@4D0t}=xtV|WJKOi~xR6VgEtalQ8y zUaoL}TPjGy(T-C2KB!kj{!Uc+o;!`5S=lONO_`x$H!W<(D)e~=i(1tJ9d~5ZI%&Z> z7+>=f`3TUudfrfNx2D@U`DC{fCR%w^j2f@aqoj)iOyXt0K%9e9KD%E4)3lDa)969d zQAk3SX1YXJs7_kq$Nsm! z2Gp*R$r~|;eUf$+DRo}}?-Ek+{g?+Vh*`0FuZ2K-A%RqSQ}|9BcsRWntgCCi7+Z@&90^6 zl}hfS%AHNqihG53IZqwThfp&!@%dwD{0WKqqA;ZcK|AuviVr8q);leO_A6l}9Vsit z`$9O_$%(C6U*^v|qt3^s6V~<`cO2}DBW3ptaz_=lRsH$SsfSeFn`Gmzps(aR)mfh1 z9KAT=4rL<9Up;!I4|DT%)`Pec>^9&0BP{(=OKu&@n2Ws!uV7Po{_I}3itPi*>#?&u zO*&5gZX(V)oLAqZy+C@MzGCUuqRaDr#@aS{BBY(HexdiYv-UwPzSs%XJuuwKaJXcE9}u;Eo+*+JV?DdmnXoympEye^z)`?eDEX1m{oB6o@H+FejFbcE5=q(Qy7&7;1I6T|$z!qt z40eC`Ak-*r*yQ&5mAdpN&+q!aD6X!qZ+CAmysaiK8aa{}iqcZ&bubx5=`N36wRUL@ zya1@ZG;>-6H-N1Z5oYWHzAADyj#TEFYAo2h8F}u81MxHCIViEeh4;tem~f-Mna+@9 zSo^Y7s~|ZQ`e299M3X}6)IdyF!H0~D^rV>S*~zFeZv|olu9pW2X*f`*&bW+G3FpqL z>#Z58*a(0Vj328{<(9d<3>rIU-)T#}g0-q3#c|H?Z=lBes%-PLE|j{-?$wq%N*jFx zw%M1X>vNo_BdP+OVV?SVobzG)D-}~>94Q$!yd;ay2q8(2uSmt;?Tar~1P18~? zgn+LJHOHD58l_L`kwkbJi2hY@x%49U?CkQ?;eU^F2lMFRGV*Vny%|!pSn*Lkb5{CE{A;`A zl<>>OVZ?F41Ky<7QEf)3d3d49ND}JbSP8A8c1Y-%B%xt}roz3Um2Cb#Z5l@q7R8y% zgG7AM@twUOZ#F~NA0%u*{cmL*3g`Z3a6uqrUT$8AOv9~Bhw`OXh;A8y%(>UTeDbl3 z&+>_D9Op37uq$V-N{pos=2lmYoY3D?N}G^J9}?-ywga%}mED9Dh*PyI+i}-W(=zp@4g@0DbCIDf6X{jOYHrxiREa+VXjG(h8BDlj1qMHZO$J5 z)_NkPlZoWeX>F-8Fvf56VMt19=!Q+r-VE0UPpy!Rs}DM zkqxrO0WJ=e|Yeb&I$swEF17G`$ z=B{r1=O%)5q|wrL?4g-(l!#N3XE;Uk!mWg`?X5FeYi)m_KFz~kUxnkib-K>ybb|Oe z^lg++f&oXXH+%sK|y*+^eI9OK9)v>Le|Wbp+PeK2{95242wYZdZQ+|C0{4$b?-Q-}h) zn47KmHIchvDBj`Hp!gCOurG^v&hZ;oxwiOatD?c#Y(`}SLTtvVm76D85BWkr1M=$E zvsAA>Yuo2NpX8#G;=)hy?_vcP#}Wn!cKZvf&TkH*P?3@sfByD#Ml$4iofV<}+FY+9 zIk707*uK*0R&ICao0EZmy@^gOWvh)=Jm(nb(}ZsAiQ_A9k!_Is6gp#!CZtH5h6coA ztG_W;Ujvi}uvIcu_AsYluTytbR;?MQ*6u%|gpP4~?K0bs?fJ21HT|^+uG}4+{W|f{ zdU8k+YDR=Z36ig3X!NnbM%S(nV63U2n`v^M*Ae1c+e$Sp2d-85i8yszPL(gt(J3j` zV2)CzyyYjgw`EV1(D%C=>p+sdz#=h3&LnG84snVse%@%6s&6HhdVbK>^LX&`M5{uE zdsJzN`%jvuw=gORDI)|_0{yGe{w~}NtC>^hxn1V%Vqb7a*m;{O#F3&rTNoPu`>Q%) zu&^ek^tSuf*>kuv5#Rh%=>b84ijyN{NAdgDY>#s?;H)B8ie=_Ilkp)?cx~u>u89z_ zikBkB0*&aU7wjlwZ-0_dU+V*+byMld?G&Dp^_k@OBh1Jk&HX?Q zHvz|*=mNudD{LL(AZ3UUskx=RvI0SPo(o>_9Bfw`{cB^=%tdrfs;!lxzUQ8_YJ_#` zer6EpnXcHd;h*&>0oT*26H4aMI21}@@IA49p>re_dLuVGVnG^_yIa2g8qQqBZkaAiJs+g1XZ~2(juy3~I<$qE!Cxu)NTPM|d2_4~iOL4WK5Xz4PjK=J%%9EC? zvLQ|WZPfqhMn`RvXUV?oC;3#PRycU{R6+1#|>tI zzB%Emb!hDGqN`*Dr%=2i+LO{7sk`k4Gye?rH*=|(@|+nl#KFyt(4F)~zoWWW{Nl@V z%A=4W+%GezerYYe0=6vP=MII|1PhuU1;rI}@kFq#9z4^hxF_YP6_Yo~W``qTh)eI> zsSC@zm;oFSO!29cL_ZD{_o_W5vEh!6fmiLY&7{}(r!|%t8b&8WLlB{eMRk`(M{_6h# z6+@G^_2^rgdW4Bwt%*XmsAeOY=I`H}W2H4@OtFayI3b%yEG^gaRYMXO0qKVxJbJ#h4O)lkF(QMD z_momUhCp#u$4$!QMj?z0hQQ5j#b59RaMg8B{c9^?WUh1t{MD7Ji}zJr3w11Yr! zkiLky93S6tzzeHftYFGB!q{@&={Gvgv+=ddi^auQJLMTqJ)8vYFJo7#AE~883Mnm@zNK` z#h;Dx(B|eWQnY!gjg2YDSuy93fhxFlA{y4?C`e-)0LlrjypD_kt-Ez>-FxXccLRC* zMv$yhbyw1A>1qy@Hw`g#=LQH#p<{Me`)@Xnj+Z8AXZeT8z{U?N#XYN@**mPMt}QWE zk7|9LgEG+qtP)4lu!U+)K^Un`*7P%hzHDO{+)H9sZ#ECb_;$CF`jzXw zL}Q}HQ75UG{Y$RWUdkRYV!xiR=>9#UQ9go6CXv!aT|)lgT^*ELDj*B~Nep=>rX{6X zWkr;yg>8>fIk;L1+jNSpvs6(u3HXL$A1-83-AocdHoF{pNScX>7q3kJSsdU&^CrtV; zT!z|b2}Yz=4sA0JblvTJnvg zw=s;igCgYSjy&S(uQ+<>w6(Ww)MiBrBNEi|DC0T6@y~)6$U!4Z6Js}SSk-CE6Lsal zJX^7}1QB4^v(kjylo;$~l1!OO{1OW)AxKCzgN`~Vvt{)i=e7J{VoP%p>9W1>^he`! zbB-h_6q83Cnhq}7ISrO93p$589xq=Ic;sJI+rFbcJFdYSt~S~S{{WMJIX#w{a-uHk zQ}{5{y9ehk9+=~TSBWQvGTPKxAX{kix15L#1*3ETE%$jT==u;$ml&yL70m!%*`^7IF@x%geHZ z_$){lu`3>x)0DSFi3}UHB%6q~P~wyRA#Uk)AJtmBlBza|2}Y4F_)lbPD?M5t7mo&X za742BY@#%23J~Z^s4Ni~)UfB%Uc40mb-f5iN8Pn2<)NQHe61s>#W6OPZ`9T0H6c+s#Abk`7}=e^zWyJ>1teMAl-<9slbV1 zJc#tRs_oNvBQ3j+(fO2d{{YqGah{+4lTXr53~76>mq*CxcU-3xoOSbSegdZ~_@?6^Y+8=~$wkNa76_ZUR#_4rdcw~-Ca z67587B5Zb(QYcv>i3-d`5yu^th{8lgH!<7~#%*inp!WX&bnB7zQq#6E&C1H%QN}qJ z7_-=Z1>#SEo>-x1@m4~gZL*DcvZ2B9QO3wgRbj^`s@hXxFvixBwvm+WMol14m4)QR77Q3-mS$!|6wM)(?`LAJ>IJfzR6g}I$H%XA7_*v3 zY>37&h(~HxaeQ!J`08J&^?z4abTJ03J1^ejc5Ti0eY!F6dQFh-b`keAQ6VBgfC1cK zO#{ax*cD{(I-ca!GC3MTk2JQtw~sYmdRtP07`$g{qb$%r*|q-w9eeZB#f=n};g$Re zCWSV{3-#m&2a2K3p)}!9rf6v5?7?Ty~WhzDU++c*-w;dT54z zngKGV$QdCjw(J(U#q;?k@!4@?2X)nCUK|^?1xQyF<;_?2t;eeBuk`-_RBII|{{X2= zZ0mM1xw9v;UJg2+>vTSy$_$vxbrHN#ZP{YszntLfSH?(8f=4I_kz`O*P!tCgKr98Q z4P#yp6gug2qal)Q0#T(yQ3ln`KG;z5dFy(yDoYsVBwlJ>$oX!tJ+#-iMd!*-)Vym< zrL^;{g@E3LQqe2|fkgiR?MY2|x{@WQ+{&%C#Ia?PRNhp1_m!osI2Yo@eR3$CXqR?NnA8dtiuX0ayKza3wthOyV^W6N95nP5O{Tl%)wXM{Wa>Q5=AM+rP2Z zSjr?qBzJ9H)0W&cT9+VmacSUO-&KFtGD_Iz9bhuD`9?2N-T=0zQ(;Y#gpLP~Q2zj^ zNz;qBOxq(Ayi+1a&E8)e9y+t=C8wsvKIam|w%-GmspZ9a8|#^VvyU@B;oUS!b(T3( z?lG8^yKWXkL^Xm?g(v&>*Bk1!wF%}m9ji$vH^gYX;@JiJb<=-Mbm1}Fj_L@?@7yC8 zt@7f*&H3wxex>;deg-V4Rv2?8$&(!+l2h7fnm5s%R1+BQc`@IL7A}G6L37pyTWPV0 zM%uOvNYrF-w#%FFb@~_d{hp$wBIO*7-QU}89@Cy9ob^`WeB|=vOhbR%%N|6z5J?({ z8d6j&NQ@daW?PKxAAn7hCk#4l6X`n!**4x!5!#aGyQr=>I;*RprKu7!32khl8qeD! zI9tb%@m)52RCrQObAC;-uyE1_h-G5HjT5s~HS5^&Nt6)}gs5yd!+z;_CV*E-0HGTuI{3 z?>5qyK@9?hRXbz4_fSGBbqme2pX~YR?@LkvQai00n;tHx0~}sHUSj(BOJw7#2|}Y( zl^IP=?a}R*7i~0k(!URm0tntUDK?~#q;9eT!FSX$jz}c%pbBoSOI{I-QrXcMvfPc7 zN=%;Li=p}Fs0OLOwT>2;Ox=sQRW()r0Q08br&(k9Ac~U53_+4aF|sjm09GMO7ez`2 zN^1tq4UbbJKlOJ?-N$fuQ*~jdknutV7uTBcCl%%G zyaTxfSfeooi7l?w7h*3~2a6yOeZ3+&+Zn5Dnh(Xsj@3e!ljk3LBT&?oXBaSxhVmYF z8LIwkkC%?Vtj2;DwU<(24DPC`jUpNWimRC${##W8tfe7U zUdz{2=^W8e98pD|8KBMI&2!R!>T%{)k})t~pvKyIViiv}Y|2TX0UXg5JW<&>ZfUgL z!7kY1rGhct@ZK*bSDJ*QD~zeym}(_lkHuZT<*u>C%vnNXCPOR6STt`)>$bMa2l5AJ z(_`cS=aJBKp(sg~$p&R(wKs88T&Z~H#vYELD?)bd8$=?|G+P(W?-pN8pB0jEeqI!j zmTV=E2|;G3Sc?G9qU*D8r~WLyCss92N)cksnrxFO2`H=aedt}cbQyS2?o%zl%rX2@iWsX!tTnC(4ofPxjRqho$z1oQ#HZ9v^i7n?XWWTkEjJ)4N($S8rcH1qvD>3k? z&ERvv`NvOx74o?8K09RM?;GGwsV`)c8C--`w$_1URth%zl&BZw*G=hVx9L;1QnD%A zx{;NfRe7{>6!f;XgwjTyp^0hS1V$+(IXw4P@6KMW@1?Ucol+@FnAIy9SrvkSTx%OM zT`wT3hDA5G1Xo=oGZEhxyX|VysNIt96}xks`y7|`EhrM)Y-a8!Nfb$a++Dvv^f!8Z z1Eg5pshyafdx7Kv*cFjuiG;4`Yl$}tpgOwwo2d_ z$Mj(x&K6g1HbpUB$4s#Pg~%%mvK#VgB}BEbz$(NMOA)bBT-{Orx}Z-=RP3CsvZWWc zuMQ|Y?!2}gLYb_}RVc=syH~$}+j#Nzxs8>MqrBLd{n7d?s2s5f@koJNcDo_>*br{i z3N>SmN}AKshtzgzEU^|WPcG$l(OyfZ#qtwN>P&@dMVM2##9stOI4vbBPhsg#=L=+9 zTd;>zeMz_2c`}bf$q)IfsuV|Dhpi>6>KN^ILX=U0uW#BF>|SwMbJf2}?2hUi9m!Q2 z#b(ZJ!QULwNk5)9DQ4C+fwb^QFhg0 z>dw>O@b$hdn2Wr9;8ZGuV{TOmj2(jm7-BBRk=M(uXzP7OI(y{NZAOD7W8Y9xG}mgjtI)<&SGOB{rncVuYRt;cExr@-Ibb2S#FXdRcJQ^2V2+< zNj5m+s6W&+nv#uez2%XqeXHHud;y%7oOMgmYRhtBovvKw)}9JE1CF`(V>irZWI9HqkectZg zClyb1ziz)ZKi2;Mki;J$p7_fMjSI9y1YH0IJxT=vT?WobA(gAx@#=JT%UMX3btV`* zZCgVX!esH+dHp1wlt{bQ5goaAZFw>_sdmdB9dqPgT4Q5ocBg3KG2yEXhjm@uP^y3f zXk-di!9S5^haQ>|exef8snZa!ERo49aH~9tHlPxb06x(n+B<5n)OZAGfv38OGr0Bvk2a3dGB|k0hp)A?qb*oY z9xPQHa+{RRW6d?lx6xljWVT1gV4Nf-W~B&C@LEzuS~`=NtPJ+V zIEXa-Anxah4PB|vQ2lWRP4ae|xRqV};A?7rT=mz#Nc_ap#f=tTM7dD`+Q(eQ{YXWP zHbhpM=0wp-fEiQ*s-SQUeI03PL4@V0D3Rf(gLS)=t=xAN#yaGEN2ZJ?^&=mql3me} z1-fk`N4MQ=;=SG=`5a7qlzd1XCR9614pZbV+gys+vY}|eu|;Q91C0;9hrSWpJv~3B zjoq@0hntM>*z&+<6mDI}|x8ZtW3@@{Iw zFpY`S^Y)R)x+~8?bs;IRO{4mVrd~G}DL+0+_iv%gOJFgSjks$#e6kAs9Iu{w<*)Sv z;bOtgl3aB%Mki_#O=vtzD3C@9fE&aUq7lP&7y5)D0?BS^+=Zoa45r)7H)`2kT=Y8f zonB}{@XIt>?MiXs@^wyOVz~WOoyj7K7jFj)0B3LFhV_iN1XZ&RLjp%gM`po@?$`xM zx-(1L-NMBqTwB$BS$9GGSdP_Cw)xx^o>_B4c)-U<*C|{|(RuQ~QIbQzU6nR=cKav| zNxMAthAAR4sYZzwAr$1c$z;rzc{w;WR^4w1IIK~ zBT*g6&d10X*l+hx^JpNq#c42P4qIAsD2ti6Jhvsv&9OUK$CM$~$}kv^#|+{HHAF3Y(VP&a`aecF19 z>U9{w7a6SboEJ)i$miM5R>l?#u&hfQajXwoj?h;`BpG2~6@Y7z*fBKfs~V-TZkRMR zcU)r_#bcY_%@ws2t5wC9?TF^7nJlckw{&Ifg)hgqJ#YDch)FUr3#1#%iH#&oy7v-M z8H~!t#hO4WsaKF}5!DT@n+Zjh<%zm1-P8m6W&D3M^lwG#YBFKDH%l@Y#-&#htvj4< zxh61Bu>4>$FoIo71``obm%#FNiR_5g9pc?*_Rs`0z9_De4u+ZrCaW7EnqgofEAuiF#4t4`&4w&lxM_v@bZS~K1{Z3CF% zQv5Ndv&rJ`H(fnp1aioy_=6!HGzbg}HwtQiy97}L(Icu*sE>lPQRfv`=DhfMyU$R4 zOk3S57EDOl;m^HQnYsng7Bu8&D`|0H}XDj%sG4Avi0x*(g z&kD&JESgg*YJ5j>K!Ey`>O4m`{qfL!FQ<_?PYxQ}E?y1P9DDx&cB`j#wQo)kSjtj7 zHb=&DFXtsSUv2d11o1^AaJW}yU76M}K~yVteG^=84T4XxNA&GF)6;~dBa^qgab+|{ z%lE}Mnogs-OtkmOt+JtROC?_j#)|OMj*qN?%$k*sI-(U36d4ton!x3j&)QA?Zm(Li ziBm};ZDlTFM+7Csv@Qyb9Re)b2uk-L-R3>2u16GOj8=LQ__DzsOzRr4;Hd#vGKD@0 zAmEjvDBYxGC-6jAgdOJ>9CTG*+*YNbmTr`x-QY%n*qKT z?tXDz%U?4(MU5zuw2@je7W52A@jl27ZGZ7{FN*3{tMwhI(-t=IPmruy9y3`wtLgOh zCsi$~+?}=CoHo&35X5Z5L&|^ZWD*~Y%*n%7MhN1f+Bs*}f`|s~BGA~4RJHxU3T{LC zu9=CzBf2ZbDy%HCH7bm_=iKY8{*@`mQPP&#LNYDMQRPG}Zi{TsH`nC9`kx+VK*^ga zWr-?S*`*Es=CDm0DelFOABt<~lfhKFhM>O2$EuofO%;T8&HLGm zWh=RojJ^S&+vUfXp{Tm?-8k))Y$%jq9xnyvS-C}g9F}Ge%*FozOvl7Y5?r~YiB(}j zn!;GIgtCSqkJ`-dx}gQAw^MaKtfjg*jY{N?CoE-yj$`EjyS}N$SS2Mk-)xIYGkIe6 z{kYAKBV9xOmacx%8RoooU(-P#%-|%1vO%l37DrMg=OUnd1RhQ(=Od zrVhrn@*~qab6qhvEp1h<3rxH(1LB`J<$YR1P>#{vQnPgTW6gf9EN~ajIkuEz9Z3h>URi`;vY# z_^Ueh5tA6%x=%5@0=GzJWPaZLj5dBMYme+W-adyy+JhexJ98vGpZ%oEA;t?Yd1n!WxboSBZ=2qnDjmpTHIV8hO zZBxbOZHbmeRaPQi0N4;|MV27!N%RO2dsOW$A}^dP%XD%%68fPl?UwzyoN z9>=it3*%rJ(?dLl7FL=>WqY`+l@e*_(o;ru*j0dRP&Fk}+rF$wfg@}Z>Q3fD)@}GB zZW?71Ne|4kx*?<8E^Pj-#tv%){zmt2*zxHr70iSZcpYSZXq@yC`fu@fki; zzvVic>wR2)j2OlwQlycKEzw827g@8r-?h5x-uT!i#$-tpu&ASFtqE@%XRbVl+SGMm zSBnfur>ROBWOp%&QEk$gUDmmH`0JI{){N$ti&No3ySOd3-aOtqwSFBsi@VtMkZYF{~h=(=IZ z9jK#N!<=WZHUR47ZM7tdQYg`?{{SC_HD#`93}hN%RbUp=e~ECM-ciR(X>1_YW+b;) zhV7~=`S$18T3GS&c4;jnR!2m?wTYwR)%R7XQ+C?WqDt!z@u*e;o{i4FqheWL1Hk^)@!->R1qWs|5(Kq$vP?K8}QR z$wo1;c~(*y%^cN^cs%<%`ns%5=(~29?%^DY*X5O$=c(TrjOimhXsx2S$J{$mxBft= zpx!7=r~r;=b=CSUyBTVm#$V~~N{zl7-6b+cMm>%?^H)&EZB)DC8mvczl&t51)5Tk7 zppHpnkz_<>l<=hJ&gzTBlWWCa_x+zPo7L`xb6; zq|`3QIu(R z{*LYzo@>~g4(uQzu;=lmWy;OQUgc%bMYCbnFX++_?mdTy`!tQWbah`!Qqt6f$!B(U;>*bR;qJ2R z!FcQQ+x>j{Gb(=cSd>~cX;@8ABLG=h&mJRHCyO*MQUJblU;Q0bF#)#aawe77;CRG9 z+UJW7@A^-vC#MS#m)%k0**9Cd+O{Pb_UrS@>W_oO_-RyRWx?K_8}C9)ouxM?YZ^8? zM6DpBD-z7KRY_{;y&YLOYrRwaC`fU4=AQhhBcY@Y2z9Z2@G z3#;L3?a3(sye-hvSwLeFF)16p+>bX{s~&#eZn}@?+}ZK|G4deEjBS+?Z6t2YRw72z zZhL4P(}@cg*HYYb*FC9Gne}xcx)ML!#Fk~Y%3>|tv3!v*$@LH?s%?b3qM}5EM03w{ zu}_G%+ts6i^|Y92hRz9zq#`*3v&S5*N*J;gZp^c)f;nDnc>DSqk|R}&yJbL`&f6?c zA^!jxG1S@mGIG?cyI-)%8IdemSA;D7-CN&GeQTSUI9X!-Q%R~wy8u9lhJ8s?M2-au zs|WI4M~Ec(rRvB|5s@Qv8nxS&$z!l0UG1-A-H}=PB06X^3Z~Y}efHY5O5COIcJ$lw zA5i|eL@ZIGgt%;2q>pISK8S2LE5L266Tu8YAhybK+{eB(+7&0=lF2swXWxu<^gSGa zkX&S5_kG>tbZ)bL&l#tL%+WNWd~jMkU>)jBHYVfSx8<=XatSwU&yP{H<5FS<)44d^ zCp%5dq-WafzD}8mSxmGgc=yH0IH7F#>b=kSuhcwG875eumCTL_e>zDQYgI9Yvb%qZ z1IwjPsV8^Y1~n>~jxNsPnzOWAUMr>@QjP`MRo#N++6llh4mtB`xcIW-ycqDRNZQ7) z9EFE@ywpmBQQ=5t{y^%a@(9col}Xr^?w5Hp=CNs1pUFo?B^~nAuEki^Y3E`E)%(#^ z?sa_q8;cb2z*|~)K$725G8gv$02~$8o5qO@f5Q{TVz%)c@I;8!#;bG1@(P30-&W1v zw57<}gmAdOAEokUoYzGBObd)YGysZ90X*Okg}_m=kOv$D1?|~GSUh!KN(yPb+)c?; z3)><&H!XL2k2PmKsXfl7>c%$4H)Vdp?%888eoDTq*K z;mae&ONW)fvI!){tfHNe8m0E9YT|)qsFCbtD08?n`^JSA$G^&*YfJwCRJXz)G<%)j zad(5oP_<|{4U6&F3!esB&-!@ZCuw;r+)m;HV3syk{HvWq9yl~T4D?94lGC-7??<$* z<+%}JIm&UHz*G9$boDgY6D12fH+N>6l^L(jF`Tad01NU_;^qm<%CV+QuuCT6xX{Bb zEB1w4Ea7dNP*8vm^6JisD2$ClTb5R&M%O93Zrs#d<32i%>OC<%F_RZ`cS0?JI?M)R z-OnCu3Oc?%KeLsL7!(O{Os-nUB>p@bg-c)v;`jhxM}Y~C{F?N9QosY zLdQ^v7|KMXNO8Es<%`>ac{9P&lvyakG>GvM?HOfqris|t6bZ4d9v08!bxIHVG$6*D z(gz0)RpwrOuc-R8$w(i6Xwic@el^K^~pjFntgg?o;egJsQulAA05GJ1iQ3ssDX!xJzAbC*wklNhXVYpzP}3zD zZj?fqLuFl!w-qv##~eLT)YFlM_VRPKs*q}n_qrNA&WfgVQHalylva05e|=lXYRy}5 zcB*VJEI}r$nv(G-BqFkcvbB@96oa+2+VBcpJqQ*?M|6Ut-4oiSLH7HNK74hySI3(h z^#n3YDluY6+hx(za(O4j6$9<|FM?lD2l-CLTx-FVML zoZqNQ3))BR7rPjkpSHoe@Z{)M%cd?+9kpbr*KHJ--3UGd#fOs-bU(%V={-#-vQPNr ztGm06o3V9=6dB{HzMofgV?N~ftcdQ&)UU~S#hp~2R{c1?ABefoMt7NybwzkNW?-}w zTHeI?njD`%^*_}5LImdm=P2%CzSxO6ym`%1=9_w>r|LB)I2(xt8F97$0CySpD%$IT zKh~E_tX%0Qjgn|vw-TbXvP&Grlq-^<2WiLTfz4IfJYTFQ^$LbWxZ655WMmTgs7rIpzE!%K#{0KRVGhreUML6tER#cfheq{QWV{PG~IoyxiNnI zGwGwQGv7B5j@`AkGR2j7T#{Ashpw&q5_~1bOlh)amMMefmvvO#6r@zBq-YytX9mDQ zp|jKvQMhiRPlStcWW210Ii}iQyFCk8`jem_mmSVFlKoLe>WsTY=RGnza#kjht1=91N{U8Un5aJAF+OC}uH^SNH&iXq!TLNzL&1@&-DZ?Ik2S=rTq z1CE-|^$cdl##>Fc%OcrljK4R=-n`SEtEDK57)y1yvnzS3TRGzSy!A24WxRPZ$m+VV z0u>DU#`IzkCK+>R-BsFv|o$1&ww# z2cL`5aHVODj-Df@rxtREp|oY)QmaQ96ft1EB`s-cwHU~Wd$%pg9__Ik{{V>N6TPU3*#tkw>QEsjH|(Bted!7u)iOz26bB{B<;j zpVZYS*>Z?VR~4roc`pTL8OKfk03V-`B?$mVUmn^iP+e#-BIpi1T`;n>U3>K>^`L;t zC`gU%?ZYNB3db*-_d5GiMU9ZDX))dYqBU_I)yz*I@bLNRhbnm|aEllOC~bkIcWB4l zNGE0GLpLhQ0Bb!y%T`GS0aD~>u12k20YYWEdY>B3p(qX3+sRTN-1ggwvCCPmwPHq% z3&lGF`*I^VOOPJu5g3^MScGH!f=J+#(exz1kja5kjH5C@w}pwtxh>3WZ0kC@(j+>3 zG!)}Ex=H3I5N%Hb(9AfRZmNoHwoZ-e5H~rdEL`84KOJ;G)6yjPnC%(3qhSHyl_D}j zdlASOi(gEuvhYB@pY-#bm-Rl^fi`R42$kT*BK3X%T+>$&)@9Jkj!tkkLCmMZdc3GOCd zD1JKIl{|Ceva?#57BnNxLr^NkdH(>3qv#$DH?NY{xu5_Gk*x~gFk~>q4 ztt@=mSiJbE{{S%F64?RbF!p6&yrQ!1s1GY(fO!C$Jo@6g2m1S+vL$y3?$X2c#;5cZv_-e$u-WK}`w@1^)nkMD_IkskTxm zFLU~>zIeLJcaP_#852W(N*1vp;C^%NbKrU*9Ap6GlKYML00L^+0WIhXD#ORuHN#OZ zB;@5PG-SM4-DUh`@zm{UFl266w->i6FWj4Ld^wZ&$4P%16F7=VqY+Nw5?5vkB3KqS zGzbn42iP9D=$cah07!@@+i={ZP-A6^FSXz2p1L1VHdB>m1*01cqjqNV#c_X*jl6{l z_X{$_`Uw?L>}~+IvIe@IMX9l0b&XF_OqlPKhN3c%CvIayReu$n)6lf^rEbA+%9RXv zDgOZYaro;ygvQ!z-L_Wk(emz+8pRTl1}2Kyl1XO!PeP9Pw09Bl6$O{-rdB*sVOpZ= zrmes`Nh@->O2E1-?S1b6a$i#tAtpN{{Icvq>>I$SqVGbPhvSdB+KS++lV3@OK^?@aGRNRmaaJMt&sk9P6@L#%{{Y z+aXYd5AqF_K80P9zpBwHMW@t`JfT;4qFKQ39A^5prQ0B!Mi}7&RQN$aa`3g9GuILS z0IL50OJ+z?WQ~X@!zAfW@^0mnGV&Yu1KV*<04J^&`lqGT2}%)9x~ufi7+cMmFBq+* z_1ymeO4rkj_QvCNd}gZ@S+=lok2lv2eP{lhGv=mti6j$D!gyqbSrEHxAan{qQ^Rt0 zB|y78LXN(y1`<|rjY7gkb9X4YC3HY4{{SalPL`}T$QhMY9F}{5ELRo5Mc+}rH|Va` z24*{9#};UqJTfW(0-_M6SVEOl2zFtxE2Xa<@M{{|N$vZ)k(73&Tz5%rOqCH@JGq)Uxu&8P?Yb>+ zky^l8)w%J?zZW(cwckn%KXgh%hG>h&!C43>&0+Q@RtAVvk*BqLw|HvC?l%;Lt@tlI zJweo6U#Lb%nM-IZ=L!$F-f61nk;;McBg5@14p5XXrMGpNiB(nEoug$?+=mP`ld<%6ab8*{ioA^Y+V>_d6OV3{CV7w^;$W*GvSaPZ*S$x#k z1fLz_Wh81%>t?~_rj#-j1ss|4=O2#Y$G=`_>m;O%nJwK|1&W^7y7%+?dUg5_Mm`b9a1Db5C5} zzO;U(#!|$auX<|odm)?l^G+Ce=^S#DI>h%#436 z#bQCh#xvv3QN32C`CoFmSjwXNMFDEAoE(Zh4vh?%lH%A<>ShdfCu?m~S)d(MgGYd* z4hS7y|>9E1Jt9R)|m$eCxH(Ulg;SphEaT@0S1K7@L{9PRr{S27V$2Bvd8i?!z z_uum3hX7bMKpdZ1n#3gVl^i>(!{8Bl$&0-77g`dLAJu_u@@I_QeEXNtNU`I{*2<$w z6(n2xU0sz_ZQ=tfQMwcXB#yFecV0@{C465302jq9RnJN4&M}P0R^{!L(vLL0FfII7 z$ho2=WhJ|4WMgB3+A&g6{7`Z1gUKeU>+3&8?Y4>wl(7E*iTa=OdFe-Uw&~j*>u#?( ztGtI8O3zE)L1?Th(5mVU^HxVmrsiHCX)jBJSOoQ39Cr%8+{ZQWXbl9Ct7wJW02@ z;?>?ufBNaqO{b#CXQ>;j5HsW2g`veRF`PBvYc4xRL0L3bxf<00|7NZrRZDKr-;b zkK>a>6U_=>5R|CGeKzV?%Srcn$&B@wETj?LxG6}Ml~?XQ<-GE8s!fGCWs!oS$u7&} z3}hcG5gO5~F(8T}j-VSRjMIEnl8)=#sUV_5%)d@3F?~Pvqa56wlwJ18$l~a)b>yq( zr2hb%#+wwzp%tZ`Nv4fZG8IN(ZI^|ULF7r;(IJ1Z8Ew^L2*m7)Du4QU{iYh?-mK{A znwn(=Z8pi`&$&X{@kJ}1Fjaq6d@MO^1E}*!0o{tnwR&Z00k|f;kS>As2iE9rH6yjS z$)-_Cva2@B@%+71^xmUwF;=B=Y2(}4?4h&8-5pS0FZ4tb<$j%`QwEPTz2*UoqiSRW zi!3%m#f|>}Bf;y9^*)v`Y}=Y(|*fK&3BZxe@d4m&`YravN-qJdj15QdZOG{;&s(vkE!lQlI|mfYEkQzqY&mhn`0 z>h_na9XK0PZAooxJYf5;g52YvaeXl#$Ky6ggcoUEH;vR3e2uiQ0U^ehWK@W?$K-fi zbnbEQsSIN)Q0)WmaClOxpFJ@jQ0i-KC2=AIv%Ugb5K|S!(B57zD1MpG&6aG#+Yv&D z8W44vnlkjrp$K@{l~@t|d2TrfYWjWf+$46NVvMR-#7^0sD?Q&8Y(BWq2r9B_65C=e za$|SIvT%EKHY{@&i^CL&0;GsPd$hANDVRBmRAPJwbwNU)+K_ow4b~fBP~ntvNqMKc zbiJ*o9W5t(otlh!C$)~}6@Af`Zxx5l^U;5b_`Hm{CiztcG!FMB60(?78}C9+&Zz5R zL%7>*i7y!itrAkX;FaBx32|FR8CG(I^F^miYHFH9bkIgz4ETPw9Mvm-2ZoU5i z#%}LUQ)7T?R5i+Os>2pEDf#F+UZQg<`(r9YP^+tqj3^!e0sQok-zz=@@Wn37sNOiGsmn#Bp>lEM zik%pr#cms7u03Jg%UZfv1 zpt`cy5-+=$_KW3d_$w}YKBuOP^iZx7a}$f=>lc0-c$KvE(BDgaSB>&G5x;a4nkgDE zs*VxJwgx5&(hY&K8Hgg+@C`jJbGVR^mv0GA5#V=sWJSLaSbYe;IE30}0YV-{d&(u4wbxK{gwIj8{F$qRgK681# zIs|l$y}(V&mg&kxNppF_@c0YMnC~;?g_WJ-f)k_Cqs0h8CYBeLq6p=Wut>0ZNM-eR zNLa=_qj=(jf#IVgZQDu1Os%aw(|DAwtlEMq^T#;0)256psj{PqlzAwOO}Z9mkrlhF z;I6u}DyTFSn`L4)9Xl!9At>rfG9p=yXsY+TRYj(+IA!Xv8D`>eMpE04-d`oyX1+3Y zWqmuDpPh<_Iym5X%#p;A`C6$I?A&oNrbQ=c!LR`W&!MlYIcb`bsIuBowX)V&%XO8> z&6m`VSEmg%lrt$CnKgSv02CKLt2OVy<%V($h=-jRnF`2RRX`z${{TAx!p}VWC!UW& zdu}p{%C0FoBkZKOzvWLk>OQvGQ@0LlHlc%x{JH-CJrOXNvT?ghyIDtIJ(spt1gRR? z@-|8lL*FITw;QT5$kS*TBIaKBtT|ltkJeWMbyRk?c}&*_8O}`KMt@Ylw*=b(S5Ifs zf(0M)8u{Y3t~dm>&r1zP;_FRe#XoRNIDMF#{biw}NyqorhSCu_hB-d3DrcYx$Q`RQg{ z!6fBXDO43z94(W>2CC=t%@PfIJsWvOT-A-lYlAj8MKY%%_4m>#MOu%;gCgG^OFRYh z&`~nT6^RNwd1bAf6R$jLsok`z7CNFO2tfZw862ilE-YgC+;`OEV zZ+vc)t+98l;c{1nTTZ@I8U?IVA>H!9+bJF{nBM@v%@+1X8%=J48dm=2hAZRS{E!GMT@K+Hz0!*LVmb2R4cEwKK&E;r8Az7c#`Cr`M&H$5B_IBL_^zSk z{CZ6`>iF}8Rb+V1{{V1h3Sw^D@z4Z4p-a>nCdo}ZizZN#+@%n1RpLbqQt;*T~*n`RQNhJ`)w5CdyQ2X%2*_j4Zvd0jfJ_eNF#* z8PMEd$;~zjm>A!j$z0o-Dtcd5ySAlm%re=2B>w={9@)OC{{Wi$YYepP$jdhk8A~#R zE;1G3X){k6ItI~`;M6~6nA(&=2C%1|&`NLHjZ{MpL8rph&hnLy`1QK2Jzti;Np{P2n zzO7a_a25s6E9Rd!#V3EP`i|W_u#VFb1Z_%6QQ^yZw;Xhn^(Xp!i-hTo4Kz{62z4Qr zG;()+NO7O)Y>y#7nL#1cuuNWz%u-$ngPdd2(Q&wAY7+S7Db z7lZNAH~#>SLk=X$@-mp_M=_~X+(ubMh3GVTqX4lXV#AUGf(*mcvb&sYMTBEi3Cdx< zP24?LHRmQR2#cBzf#%Lj#aGGH><^=0`6QdZhZwNbGN@*9yoPiX9h6ep(6Bt&1oflR z>CQDUvPvHLJ*8E7UUB24^?gpRjL)LQtIVcU3U@})yS_3QJe@WCf6>DhHHQ*hMM+<^ zB(l3l64(RGG8p3so<^LHZG4f_x*nTGEyq$Z;_Ymb{-wzm$~1=^BR}dIk(TXfPEA)E zsx2?Oe)SU#7_OLp7wF0UG4ba3`0?e(nm~c^@}Qr$ltG!I?1=+BG6Z+s{uSRC`*u#-euM zcX-Y>4bh%@r2c#9dYyAGy3nt2jH?wWRr6!2*YX6PZhe3VBNEs!lrEC37ZUNdAdj1D zKRs9U+T(3~$OsK>tB;jD_#Dv(O_zOcmG7R{!tEkQ7mvFE%^h?wj->W7jWk|smkLvS;iUYXC;X;dki(6Z9x0Y7 ziptmAKeGzW6l@UgsUy0^b+Q?Y5C;IBo@UY8x>2?>g5px-a7LqiQa(63c-qfXN>HXj zvPrqz%A}_a``{}b+3C0AenMPG5xzcBk%aEY9h7*UO=NhT01U{gT||sY2y6HdM=i8> z>N#Lgu!QAje|B#-jB|seb#$XC)~1r*1vQ8F7g8}m=QcNeUmpbPHlM1f2w9Ov-$ zCtsE&7~D!X-?-&R#niL!`04xL@r%r9h>mfxf(0JpDWFNRq=0*Z!M=4mo}SZ|`P7Uw zl2NGbt+Y^PuRXZn$s1VOOV}F>XATDJ^Whepb6|W({UoY4J*dswNR72xx|>Op)aWnM6g5 zF7K?4DT5j;jTuEOOMpeGBy(kJt4D0fG2LZ@Dvm)9it|{_7oMf+#EzeP9l={-8<>yW z%BnSf7B}EV*)S!In5S^8qs5DDRc3&`MU8KjB>L%yLNlR}Sx9rW<)F6llIpmQdX=m7 zD|YBcIiw3e<+kpRyN?xA_21Xn*5;%=JE+Q<*)) zYrXyoHY80KOlFx}pgbbv;;&Ks>m*-zdoBstu$2yynWTn&t8#!AkISXpB*O?I{l9=G3E3iV*5`?g$U?B~_Yt-2!o)5l( zr#;TwBp6IF998!krxkwC-o{i#Y3^<|FOPGn(0o5~IcAlVzRW|HF6Ka? z32)DnR}H}gkf07*(Pm0p;?~u-xjz6?&u(`gspu2er3qNmBV$G?qicNepTOs+Qes6C zNlL`-BvQe&EZ!oG8Y>lb(9>R->d} zZWjkW;CEa5jt_kFTjX&bba6B*G6h%OMFqyBukE^lsnjS0+Ykq#eKV<@E7a!Lvb?y$ z-4gN`u}sm>w6!))KT8sB%B$cJi?)2Jwk!Jfpxiydl06$m@*+ zpaa}yT26L4BCP;GV(Q-i03;t*(q5ldU7B%h=Wp%Zn}xDLTKDDl=-#JDjHcEdtYx@T z{{ZUz2yY+aau5(+` znrwE9HeYeN4sxbZjTsXy_~WMZdgSA_^4E35?R?SQb>_KSvbtVe-;n(z+N%_VFLSV^ zgR?z${CrDoV{TO4?W*v)$}6yy$cVRiw(%yIkICeD>CdC5znR z;PRz}LmcR%6r#I4pK>xO4j7JC+XdIy^+XG6(rTuw84#}FZY-_CU^VeV1>e6@eNK=I z4cBQ`X!uKVSChs%YXcU1Rw3Y%d34Z3sVh{LgiB_KC0hM}x5E&6GHJvIQq@F^MnyQb z)s5myRZ4j}N9j*iY`E$bd=*FdEFJu8lq<-xySb}82H>a#t6_Ak-feXlC3zb1veTxul}*ggA3y4 zaJor07=m^HGpy{Yk)BHc0wb0j6Q@3098QK(0=84TwEj%_yySn!Rs95I^)|uhdXi4YaLTi;F7Gfa_}NdYBQEp%HOT)&yJ`Q#Rp2v(0qb@gEA)7W{Udb>u$15cJGRZXv!}g2pN#;k;5g8wGQHdFr*}r}YRQ zVwshhW8}KY!1ZZ-6yatP7>1DdAXwFnDKWztWmy7li5e-}mL<4K6h8GjaEzlV<(KK& zPGeaY3AHV)xbmFyn)*woUZk~kCApHAOxU!SZBy-gjNP5^Nj5xrW_bXDS=q6lg;@Up zRSK&^BJf#jLX5y$Lof_9j?#ps22huDC31w=kRnS49p8#*mlbDGby!X@VmA|O0Tx?x zxp>F1f4HlztZ%2J-wzp`7r%*-EJTgTjUT|O4Og~-z$6mN1vrpzeNyyuSZQvku#z-Y zQIs!-l=FZpx|8baQ&zT4H$rW48O2K`LW{0Cw7wS-8RhRZZ~JAtEcA6?FS+Q3N@n|y zAOpeV^uC8uHnxC(t?r0@&E7qqV>a{8dcA3BM!(Z1B^;|5ycu7*%Qz~GbkmTHuY4l@ z&3&qTO%lu+iPeR$E5J8Ghc$MLiT215pBI3s}RVyM4Qx5=WFobkzn*UQq09sFHLreNo*?nPkp?U z(Da71BqXZcyRKB{i^WzNsJC{$I)R%YbzO%(D@j6@+RY#D{{Uq9aCqzKR<1BhYH)7k z`+4NW%Ng-Q(&RprhVB+BOLl3vqfL*9B2FI%Vdb9k;!REMM{e=E-ZSF zmA`^)dl>x2p$d}nF0wHS2BJIgAdo{*{<_?r!qH;+8Bv_6=Cc^Qt(KM1Bf9rScClKK zw7Xn4e>cWHZ>^DHV~Hcl1hlI0sVtor2;Ii3iae)s z79RaO^^;Die0a^$D3&<8#q?rHG4UZ-$0f(^J+9hQ5XxJYVpmWC>@1t0I(iZyMxwSX zhQv5%Sz{*IW7)c-4*5#iUzp?E@*I`#`RE3F+$K216R~}mlFaJBRS`@8yRk>d*uK2= zF31pp6L_e*sz_nrYuFEGo}1AK+}Y=m7T*~yL-CrvI*;+OgmnrI;K;Jb?QBW}tyF+H z0I2|q1dvZl=^soaF;*|sZzH>vZ=MWQQ;v(PC5%bL024B{hXzhstG+MDbmm8OQV>Uq zH!N@phOQ{qb4g7H@2?pm!5N+2aY-GqV$^ZkZ#(s zZ3g&6;=E@K6mH?^XW)JiFUhM(Zy05JI|7Y%x5+K&hGzT_d0IUq{V&r<)S@d=-GZ7q z28Wzy@*JH#>pfIwr@7l_4(fO+g0D5n$F~EA&R`=D!GrA`AtJ&n4FJ@BK~O#NtZ(f- zSoIn)EuocTE6aiRd_RQ_qv&fSqZxMC$Pu*jfpO;Rp9hKq>S!_Xl5?LNaXPnXG5}Dq z6pR%6P^=eAChYzzsGhIW!%{twVzL|Bv$)|RmbHEyJa66sQpJFSo4dk z=BQ5PFFlN#4Yhk#n;$ilzHCZj!9E@|*i$d;!~W3&X#!5QuyRAXsT%11sL`Q)VmgTJ z%7$8w>Z~akizc&NRp7A3v!|-Yd!5|OBtk7_rAKP;*tq2ApU2NGBF#Faa*)x617X_= zHIbGfRv2m|H%ZBB1Xjt&lPM&LNCvKq+RzS6^Y8D{^Ea2BGFHZmww<*v)cpL=-%Nis z^3X`}HYttrFdie^KtdLs4acDcb!7|;+Yxs4;s;)OjaP9Z=-N~}nKCdaQ5v*-E1V{_YUXs2>iWrYE&_O9FN`|2YY%XFf=-?E>o zxmScK{{XfeKY}>emSMipLZqX}&dVzK6&AucgMh4dZX4|j9Cc>7-^^)ut%Ciz(LGYpFiZvwyz6fcn`g`slP z%@1@+$*}GshBvJNZ%aqi&rTa-2x4$4N?(ptWnQk+>SyY)G?xJ;*; zF`iC(=H==qX(-5eEUM4#l2zZD#(K>pe91d&DT+2Bpbi=2SeU+1e=>FkLFi2>S2MT$+SQX%_n zjIx!oM5u1rNFh{#Y6+p~WwKGY+~{tL0yMdcSIDt99(?r^)ooUG0=pw@yISMTVbVMpx*6$Z8({yMoAPB8_kF&=hV#Vb{ZFP<)* zqDOJ8JE*?V-N(+}YaZp_Ds&1x<79|~V3Jg+)`9dc^}j;+YUB&+$xluFfJX`UZB7C} zTjHC%WqNAK3f1O;QzlE0IHz?uXuh=ki=0=EOlR(>H8|Xx?zK`I6-1AGptb)19W5zD zN>Zr60elqh{{ZAxM#ryoiAa=YRh0Q~yH?j6hE_*+QJXRHF){MmGKJqlEKu~0TaZ9d zgda>1l&G`Twvv=aQ8o!1E87-rQBP#XJW$;z6GbVDvnA)+i@e*C{ofN(1yqdiR1#H% zd2ASJ7!bzz1B)L203)MMOdidN2<9~sm&3Y~$1=-TM^oh^>Nc^bY?3sxF?&?_yMMK2 z78I(UMmI?nduFH+C4sDjk_Ofqhv1S8o9LQh87Ri;xl*}Jr#$;u>8qv#W=_1>jRvY_~5W@flW?`r4#PHTG$J(P0Lk+I>N&N7ZKgKraiQan|?F@ z0C&?`T2q+DRVIQ-mRpkn<38MQ*BxQmX=g^Yl)8jK9jt(@%K~-$lA`rA+}}osNGZF` z+-QrAIlIr{>k8@AZnm-*(9vNlyT2bTh8pU0(V=i71np@)a`;F`y*dA(XN;=M#!|BJko$%I5&O^r@{PYNsoEZymCy+DGJkwlbi|ED{ z9zJY(&YL&gApuJ@e;}+&8ew2+zna+aU5qsKwEqCqj^-%tTHP9GDI;U#TMrA+ja^MS zj3gIM3Q=3zO`4`bGsYD$K~aZH3qc0e%s8$70Z`$gZXMK;HAn{apz7}@MMn!c%jsD3Es&dD+u zpei0nSwx0F6yIzP7E@#|ED2ixooY9z2u@P6C1GN!Ag$)x@fxG9tI+DtMN&n@cA-=^ z+NzQtE6zCaU!R5jK3m!>y}cb>P;O(@(MF(C3s7FoiY(Mf9dbUWN^0A~4R zCu>813ahTDo~jdzy2(cz9$U<^@pK2^YP#Qtj3$dUW>LFJB86BI`xwg-%xIqy3Y8j) z;FG|{j*+RpD;tTDxsm*}U(bu9J$l)R!TT={{W<>JoB$@yJb>> z=_)al)Sw#&%Yj}&EPJ9)hL+928Adh(SNA!rXUS*rn(IfX-a@|e(If^chictt?)!z? z*Uj;<$@gJd@NyF_B*Bf^8PVaFeN;R+@$3;u6dWCzCKPqFkbfb) z4^A3d(|dM=VsLJkH``POLl2A(R5T?QNz|0CdQ~9984^f?NaGv`t%shV;QVehGD(pt zMI*EzMCoFg?OSD#60##OwHBc2M~JYZ5G1kgi&weYE67BuG0A7=J$b1)>c%y=C3hCe z1jxpyZQ4Q)+;3Ij+?HRpr94{m(vQkuML*86tZ~5%#~vthT|}{@p`sn_$tsc+3^lOQ zHKA%e(ch{{ZiJ%^v4{S-7gth=iC*4ww0u2S^t$rX^vZ7BZdk{Ue ze(T}s`{4d6NHQZbBPV@X8d9ZzSmOjpqz!eV033s=l4`&d;FOD(MpVp-K?vW8Jnve^EOUk85 zS0m8z_Al5Uo_9E}+7pp@!`*@-w-kX*aZ6n%DukuljO1Ch{k38@hxmM*M|5dR`2fTf zU`D#gqh$lvC3#x0z~}OOO53_xV9?{1n;SWcjMIOM=p^>ViY-*qmP|)2a8C~a8%&v7WV zAgkJ1ZVYqomF+4FXj#NEH;-=EiylC!VgoG|I;wtk0MV|RA~MrS?f}Kcv3;?YamGfz zRm!@WtxHrQ+^A|Kt8Fnv-Gi1kaAmOADRzZq;T)32jYoVlH3BvK`qYj{1Eb0$s-qfy z>%)`a?)Gzv#}8BIA#Pl4rQ;)-3^!S1Ul;GxIF}bJHdhVxkClNjpMw`m)7BN~k#ZK=qSwHv@%hDxmcv%xQ$Z=)xd+6vVb zPzm?rWZD5_l6rR$+kB&x6!*;>m9*x%_Tw{Y`*$0HgjO~-n9q>qPF!_{NoAC{M*TX7 z-AEngy6ji0)vtOY!2BKsr*qYI(;hDrIIOIA$kWFd&qvd1YbOM2*eod}ZQtasZ^v7< z7_NxIO$LF4ATSKd5VI(zN*b*I!mNXJ*Rs_5FElM+9llq>XMkz1ezkIvZDL3iTA}c8 ziu^9@aCCAcjz%vV6pf--oyiy6QaMm)wO{+6b*=mBQI_Rm$}yE~qM0#8mU3UolLuIn zB2gM;5h=4ia3OSGFPymQa>~L$gN1>Ljg$@bG^X|;j9@RyEowm9ovJDg?~z)4#Mu61re{BR9;`W0i2n1YfB zlEiZyUOAOF6_IrR0R8LOZ(Xy98DqDcC|KodC1u6=I>#p^ayzRf2mPh8J+Pr-xuamQ zH-G!EHz|Efm2Nq1qV2_EF)I!2!{^3yw1l^QtQS>QRcGYSJOR+GoIprGS(O=qA$h(B zDlWp+6Z}I0eRK&#;x^fEX+X{HYNL)$eZ1F^p2zMlgKr?0`QWszw~Fe%`o9HIB$7DU zFXB;KyOR`&8f13}P(wrmNV@%}XxK4%XecScC++JVo--vq^;0Y?V=5{r zygv8u;TNhJey4awHe4$JlKeN09&yEH>^^7HB5)rNErGFZ!$#X6)F>(mlD6mh0++x; z)W1>br#bE+D3X&REQqnmV*-acB@rv4p0DYa>bs&=#_d|PTyaeeVQ(FM2f{&MBbeI6 zl0?WFF%^+6q=ngqhF10(gDqG-o|kOne8nV^-L{(U#9y1uXAeUE0M9358gqX)=Ijp! zM!neaUi{zFXFE3|8Zu(UcM?RY5HbvfbqK2>g;2%yEA6%_z@X=?{W+S_`f-r~iYb{2 zj0+iUP9txOYg}T9KEujz@Q!BDwJ2hpfIM;eJOq88JRf8D(fPRpTHcezfLUlC)&c3Gn036 z!P;Gg+f`iIe0?j1uw;x$Ts}Tb1>we(dve0jn_#B(DJ7E7STV6jMJne}`gq1VpF-J^ z<`SwTJ|!CxuLCM@@z)>f=EPlJ=73^nr|d=RvDFb-$G4-02BvbTQFlS%u8Y%9?QY{O#4$^ zFY5>C#&y|l)WvNrWQ(+4b@HDDrpGEvAPBGi^C3E;Fw!|{{er+T+SNR{0QKynx+JCd z7VSo;#|<9W&2=EujJq3nkSuAZCCSEo)iilJisSUF9I^@ugcoC|EKMN*Eiq-SKo&tZ ze7aWScPjRfhAi6aZBfi#SRSB*F)4L2DR$Ot75sF&^oCR! zSXmqJ@u`hb$AcF4s3dL$j&Av*{w4naOeScJE3^j9)T*GV$?YMH0&w+yzB?z`5#?RS zwrbUB@kgHO$3=4^9k~mgL0}IC$||;+kbG4if=Qwe7kyNh)N&?E+j(DnfqwD4HGDlQ zqa=8ZZ2_th#!+~$hWt6`XvLZPGlGwCNNakeE;MFBXfRZbL1W|yzBud9V;Mn67i57S5if8>HM~k#J(}qBO?e!ud0vkKtm-iq9&vj95l3_K%B^SURXwDhiE2 zZM9**qt~H0ch$!gcKzAIn8t@C8@cFGV&XR&w-%$0*&JGbIpFA`KoLsnq|~kmb0H+U z798+IL<&0!EC&YqJPo`jaNqV-H!TBr9Mu@>E#$BkC7gh{xb3`!MX!9{UaPzUBP+b` zAa2BLk%ePhTet&lKw5hYKmY<%lZHEUxoaRb`6Qy%cuMzZ>v7tyc7SL3aun9=*~hhY zFZENoFo1#ERgJ9QvUvms*;ix*l}C>RgT^4rQcbwsib_?fXFnM22aIw}NB~YOf16}q zxkqcB7v;V-%^{IvWIk&Ww0vI8V79hJ*dLL1>(S`3vD#umRlB*3xKFuhoZI8CqGeMQ#kiVNbO;wkb+gB?Is9?`+1s{__HixO$Y%iGrJ>k>CN zc@4O3*ZUWDcYJVlF;+yTTGCT?%q_P2h5FQx#F5GMT;EK@Qy*laH!6!P_SF^#icO{# zsOVCuZX9fRlgnjQ)fQmISCarAo5TG?Z5wL(5bD*F-Uc^i{jvaV;>*%4Y^?!Slse**^^wp`J@J>hXsFjz-4TiRV*5Rq|Jm zdV{U#$up87pL3qu^WBMFDCKMAxu>qF8}oZ3mmXIa-DQ<^W%JOyOgQGAAt5Sb{j_Rj zvXo7e!!H~WM(fbyr1bPjPB3nxWJK+1oW`op3Bc#!iE1@v7nWbDtAX%VjhCnz2Z?~Rqfu$?P;jF8BX+XS$OXT?R)+01P5=)D~0p_lsXZx-? zC54Q23Zm4ZG%Y-2K6EHwDh+>RsRR;w)|?wc>NuA&TcN5Ix6M8;+ok+b^My5t$p|vihR1yx}$UIR1jtK^obXfX0 zO->1@hL{{2aEp3c&55df2WbN zOysl45^6vs0y~08Tu}hBGJvmSFg3vdbwB8%HaJ++K7`}2QGVpaf8wpZ)GO^ehVJzxRf7~#;jfn&nXm3YQ z3J`2r1P9Z`GSr0oOk522RkZtDZL`OhueB_UhcS_wrOgDq+wqf^!P6YMuQU)h>D+lR z3>5h4$H~_1fMvY}SZn-~)vYh}&gg*|Z6@}tbBY6XHhELpvpQN)(~@oow3bPy$weXT zoLgpkg(Uf4saVv;(rYTK7G`q1(QXke_>M>RK=esPn4UD{+lhBZi0xwKJ)Uu#XQ0kH zEkvHyO~z3%3eC!t+_E4mFaktD6Ri*3&}!&|+s zo`b<081eTYZDpMzkGtvJqW~+o;3B|HTM(AVz0Df>F)(?An5r>b9jf{`+?yVb^k(5@VfWxVuB_jvOMTYq4r88Vn6DINellHh4B#m?>gsg| zWs_h4Zfu1`QPrIU;*6897Oljw zpXTw-1n8-mcXZMUDZh#@;d%GX zVj7nw3Re&m+`qW<&E1EZzKZUQdA60W6@Qz>-?`L`NL^kDqhl^j))4bafcwWS$?p3%1u5cOhOn^^>qHPsOX_j!L|6KgUvLgujrk(h(u0{{U@+ zSLTl^%T;q1i+2UrD^HKdz1P3J^t|Ob%p(hM*Z_0yc{%frTk9j49AEb2cT$4} zU>S95u%MeDR)l{RH+Nlb8iZCO60U?1GgurLw%qgAjoURPyAl9bYm0NoIHSvb2+Gb~ z!y++lixnLBus{bU=#^kW0I2uhk?h@h@6j~E=G&3NX#ble!XDLj3J+jPFzL&h(Q z3$U#bV~`LQd1Q%E4HF%b#7D^42cj&Iz$8!sUsP6=1INxKYN@ZJ9a7;{fil%h+v z5X`6A#~i8KRp#&c>s~j%jqmA) zAK|=@O&W0|&@!vVV7^~IZtd~Xy3^E>tIgC=ZnIeKLg*V?>tnqi*#W3bf@0%UfU&RMKQ|1xOS7A_MJB(v+n@0hF!;YlN zvBw*CHeyKJuwh$(Ksx}tM%*zT!D=LP(dXEA_edg0Umwd>Vnu!4_0o>z!Luy8L8-+4 z>|Z$BjE*`6_{j{j%CV_gBlB}j8jGZ$2`U9Jv>yK9Ty&1KDpQtvTc<#e^D?J-VQ9LZK|43{G<}NP&AMy1xed~?GIu@` z40uwnHOC%n>OdhIII0WUtvA5p>HN6BNuL;I;zffVOxP}Ymm?OFA{iD@BqAmukoOe; zcRP|9?GGRclx3#^G)Tl&K{;}$90lrwNR#acT4f~WXEVjn8{{ZDj&N1WTsoK5KL23>+Rc$Hf+CKO2xl$%v z5X}$joY!rtR=r4$^&kuKZAcb&v&lEmy+oqIQc8)mlDN4cd!=EFzJ59ul%J>)wYxTD z!G<#6vbS!Rz$4bsxKc#XW023_Nod0{K&tGjLV^Qo7QwwiB~IN7Ls|y?C{NpTLvAy+ zFE_*CA3WoF?yS3|7h!2lx$z`ep6+Xgg3gCBsuys7aGgzpRVk=|fLjoJ3-H%M&2nw= zippH&!q7L!_U^X4=BtCHr5Sz9WNoLH&MizExGK+U&rzihsLCzwYU9H^V%0u)c*SF; z-;c@}E8f`*rV^y2nviH}>VM^-QiOS(2_zdm6GL!RhNPj9MRJsmIORN5UrK7}AtKc| z!4cb+pA}|7JmRUJ8Q4jp1`tRY9Fs{Ea)q|?V#8+QxE15Y(10;!%!*Mc@p#4U#runb z(6+h+D2inJaf;gJ^NQ!&{JjyvV$Q{aqBNEN04=~}Xw8yOC-6OO{ZZ(Ul}3RJIJ&j) zxU6G^Z}ZkQBT#5_X&|D^Zk3&-c`p1{Oin}_0zoq?fXEcsCdZQi5SH0NCqPA4kR2aW zPI_=|k%lo=G=W(0mD~m7yoL_wJltm-83|u=Z;v$dc+K@O9b`H<197B)0 z!!sdti%!ai;>>UF+Y(Q{w*Zm1wm2nAd}5Ze%E~eL zIp}kf2(y%j4>!A-DD9x(6C7uu?T%KMM8y?I4k#5-Zoq;ok~y$JBsB{Jn9+`8#1TQ= zQf~a+OMUlgn@2$6I0e*cuM%g)#%Oy0Nw9xUN7y z;02;K;2X}Siy_+uiRCPnJ}{(T&f@4jh->ZTsGia)GO83tCNQ7Q?>$9)7@{X2suLq3 zl^#?@s0;@YpGR92WVP5mE%f%zG9gWe{CIm&DzkVK84}V%S&>V*E<#n~6?u(BOy?Az z8DipZEajUC1D~ zygn=8Yf?L78RT^_wU+8VkvKdxa^$YIj5x8t2`72v(SU7P)g<@iO$6ueK1;{pdJ!t_ ziYn!+8^T&xRiXZCjmKVc+qO6aTX$fqulGLh$Q&cSNz0*RWdMEYxhfPZ4l2sBy80{m zBl4%BYw7QXQudFNxc)fBQhbYDd!rb}cqYnNB@=2kP_iAzmlkv*20=UtjKgO;%w;=l zNhN}kXn2(&ZQ3qn6mIQ{@h11m2 zn#a6rHx}h1Iru2Rzhe~$+74)P z3aA``b@=IkXQu{VPC^1&bH>}ICJn!q)4;X0r7M#wVSKqO^v51XpJKW4LlY4rfy<-H z30fkSjZ%_0@f;Cg8v?zOJd8*|YjwPUcHaWg?|c_-US@0SGup+bDR+4+wYG%!3;c1` zw+OMi2mQ$8+224|78?Sq!TizW15`i0mekX!6rIm0R5T&PT6y;Kj)yg#*;Ux>W7|ph z0y)6)JCc>U=w?Dokr9eD;F8jsy8tT%DBenTS{2Cr16Dz-GShU_ly_a#z>)Gbm;IuD zYRq=RLQfn-@?x98_&mPc^fn)nRLbliF}y)gKBR6oph-MxO@$(eu~mIZ(bbH#LVABr zPys_StW!}LHJfSA71Q$|##)>AModW#U}H4_qLBBr_Ud+O#IYHBnmdyGnq@K5HLl)6 z#Fij~scQW7MsSQlljbeuiCG^e;{HKQFDP83v5k8*5WA?_wiJBPW_f<5KPvS|Ji0dHRkI)`z%CW@2`*5#)SISUKz?Jh^<3yE(x zcJ--VwwV~>FlAIhl!~NeJHdFdKP`0q4oJww4-vTOX?FDDti1xjaxRGtSHk<ewbehlT}Nm^_;p%DSxLX0Zh z0!_0&2F|2_Xek6y{68tnS4kvDifxL7qqNI&tIjH`gBM3gX$>}HliHKx@xy%e z9x%wurK0Oa(${IDVi)e%GqV#_?N{;ZrDjOm-&jXj9by`hOJLc~!{DXvFKA^O z_T(MTAt3snec+Jpk~~Swd~gRKzIS8iv;oY4n8?d$2q3Gr!`B5bhGVEpzaGBU)cR51 z_uPWnD&q#_?F+hWzs+}8>#&9KycY_DjQIgqBJejn#1oK{{Sx>oL5pHA^WRjg^aB+rDqY{ zkIJ3}l1OIuXx~riLVBe04liV+#gh5Dzw$)<-$Ct+hKhS!(?gzOaQl3e^`ZqsAyOO# z1+@aVWJ;lHU$pE3f(ZM)an^KVvk3#WQL`tpyL3ycQjaCA_2#bax2JIm9@ULrGlk3L zz*cLiPLU!aeXY12BB-qrSPgAg)vnx-N{+nM+Zdr4ZJ4wu4=vhMO1yIMj2=c(yLST7 z!*nsI*|kOYY~vkkSTUJdne4HpAA|;AjsOny<%? z9$V9b#)9kN8hN^T^T}7ndWj;0+qba{z*tqi0;nxu(Ox+Gc~y1usR?OVskzOqw_9cJ zfAO&MeQMjLHnB1fHb4ATXrWih$6AX;Ge*tlro&nxcKmEbd8__FH(tf`L2b2%mhp3t{E(^S87s)Uj<`1&4*Bz9IHnn85(OS`>hp8KIdCdXzAVVH|b7d{}wmKXH^Z zf;DEa4(IS1%K|-;X-GY9Y-Lp55>b)&22#I)4?g`0Iug4BCOY!W<_IpA-{2hb!~Vd-P1E%p+Q zP?Wjz+bq^E_`Zp$>VBjhDFGV61uHEfOIR=P9?jvKKyU5)w5fi6@pN zcwOVQ3+S)~Sb=?RI-7SAq>d@zt9}O!-*tZnK-8Hel(Hf`#ylo@9&LQ{gRijXcQnww zZNjR9Ksyc3koE{Q$pu@I03+QQvyP-%+aBT(ybp|(fWmp=o|5%6IBvLa6akAWqvGmK z`_b2vMG$F=C{n<0yIEqbK%hJ}t7B8{t6qmV+TPk@+O4y%46X!PWjAliNd9yqWV0M%giJ@iul0Ll8%lu|j_ z%BjokS8I&otmyv$`DfFSwmYhd#W?2MmNB}KF!7lAGBmNZs<2AbS))K&k6!Fmfz5+- zdOY;mUO1(=@K$e|9MLXQ169(5w(!#PUxu+&U(Gycs-jfI%#$5jCyOF9%6ZyEbqgu| zgWGp)0Djp8Ke{$7RanOFQa!_F)sEY@hdHmuJ#_jvr>9DH&YAtg5#55C=Io+bt{$f= zl!YRjS)j#2k_~B|Ai9FG17WPG;FEufyF9z09F0W`wi3u+!+D}f_^z;OI&-+nM43Bj z2%zym6W@K3CS0pSJ-cgr=s|C#wCzMiQR}PDnTE*fm2BJP@!q85B;#CeQQrnrMq_R z*2R~Qt2xKNCUEtgXR~gkwvH`6-)8tN!Dia8Jv01kHd^Y^j@&INAf0u0*hDOym;=7T z_}j<)wj*KLwm36N^8Jl+)0;8IdP7)Yx-T>GEVor$fpLy(4+oB>Oo7rk6{FElkvm!} zL~TU1ox?HrX2AAqp-8yp-Cf0;B9vAn?f(E7F1o<5ArNhyXLX@ip=-*QRqS=3@fiVR zg<_MoXsF$iBVZ2~BaT>~Rz#{&apNz!1 zk3CJpc-(I|3N-^|Mo?9CE1(1bYiqs<7D3~!gjj-17~rFa!MZZqJllL?ykOjB6BluK z+Se`w?U&m{qVQ*}&X6MzvJj=;$btlH1rNw!wE_z-g96tUqTgSZe62y zROX~Lo>slOS;+Z3{{WBq9>npZ;i^XP%^3`P&tiC`PvftI%Kn&1L=p(=m-RlU)M@&S zx|(&PwmW1Z+V@3lOT{ugj7P4)=LYq-K0z*j2yk2iTN>3w7pQ;tvuic-SjuXS>GzN91z69^q& zP}>FJK~PSeKaR6!iyF_)qXhntb8?V%2MRpAR||_MewY#^HDv+uOfg% z(jvsHvPmNcV`4XVveXCM+J-&LB;B3`77dvQURrL$oN}o~GoQ`j?QL79bu^3O>i+=Z zq5NJn6!_?xdW4B>yjYC6 z!=7*}&%1qSp4iBAGDgFYD#2bs6hMAxcvuPvJoFE!%3DqZ7XJXjgPeSszizV$cWu45 z@5dILzry0P;Jn%ric5fmBDSOgRa=6@fxvD7re>fDl1&{>Alp)p4l5&SH6AeV-DZpH z$!ZXGo)ue;+RiYpGmK~R)KpgOZm*>US|NG9QAq}kn=EXOK_GOa1-0fQRm+MiYLDUZ z{oh?!#-GyFHsDNS6^pKaJ!#2F@-MtRRe~=q!kt2sKn`oj5^s-HeGQD~KG_WwhjWtU z6!3B{hX;z0!^d^i^&b??j*pKpVq;`z0)ga=8)+=jDqPXKJpJE} zzKGinWF$gGbIZfJG!?{*V7mjV#nWVYz4aBR!(Sdz0l&vmler5O;3*X^mx~wKhxyz! zg$rhf_D4nfaDy2w58qbO`S3hs!e8^!jN*oEgSa;Bi)~%lTSR^`b7L(TBOX32!iFBe zH?{3Y*|0$sO}92WF5qe~+&7r9H)F!4e-3!@(sKznSijUcm;V42y2v&DO6Xo&cO;3| zXziFuYIzG`uEA9{2|sfXF31mLZxQzWKdo+Ui(t~ z9CY#Ty>18ySz=CgppF03>iwX1pOoYt}i-cUPV%$?ad? z8L;bIpCc@N)eg^mvZ(&jA->osdzd7Al z&oy2?d2v|aM6#EG=Ri;VRQQPn0!64Sw_vXx?0vie$PKYt-EILIaepU<@%iJ;kt9Y` z4>S>R`JqqCT>FY~fv1OPHj(yQU{OH^*~0$-%`aB+Q)*7sTbJV)19Fs1?xM@hC~rNahlg5%pr5&V?x9yzP!RdK!MVlpji4+Ly7BY#J zEyQ!$hiy*lJa>E5*9Ey*PUbYOS8Y-#*En8ztn_aJBv#OwM~k(09E%Kur=kpcg2WKY zJq?H_qO!Dx(jYsoA#MS-7x)&x!`34x)&U7gh{pMHVoq*^Gm?)T9!zA#xsU?S`+}KK zT^rj9JhrMRa%`_8itFM@DDISrM0U9QZSs_YU0^t(@u|$5B`C%=CGB?85O(o=-=02f z=%>eItWPq)ZM|wnyU-E`Cd%>Y3H9Y?k$&%yi7hpg;~?k8Wpxwz>0MaG?rQ47yzKi5_;++9Oi3n)cnmd1aFhTzvNui?@=Pg_ySsO%<2p9ZSQXwxxltR)ubz zwj?PEwZV`ONp1}T{t%v|iEZ7Or4$1kC8**50B$_KI?`VcbKEy!BeJl57Q_VxDc!7^j0aW9OzB8D=2rqsT7QDOb}dQ$>YX;jfxJQR4<2K%K$@AJXLhIv=TC?$qY+j`j;KUBwuKuPH&#Q(bQ>>ZpPL{W8akVNnCk& zsO+s7MRsLE$!b+eSlffj(JRfGC-Ju`2T913cE&3ek=w>B?NPG7-2QI*FV)jmErLn0 zym@$D3%r#|-FcZ{cLK8=gDP0%3azOG-;p$`Z}VEwrX}{|jTxd=W7?T*ZnDzn*yt{- z7F043+5l2j^C~hp8*l|LQIN+WT}TN?foht;+k|0c04N_{`5uKJZ3~omtjFf_8vgmt zFRx=TDpH@xw}h-jRb1V0We*)rXvE4uHdv~^?d!+@2G-4TIsA&?-@HhIL4ZdzP%Km5 z$oyxF-&mB~ebt!=A838IWy?3ZQme(7=yb7!6~G~NL$4GlQDD0*+TXAM`$#=xDxO1z zw_E3FXCBFUZ4SNqlG`RT7_`i3D!d)7U0o&P^VD3Ik)Z%4gpp*@D*}0I_B@3GM#Q(X zU2adx^NVGItRv$YstV(a=m7>u&x+btbGtOtba_)@9x1>NaDW=9|m0eb>zrP9C;*^Y@`;3m-4=O9QoT`#@vDL!t_Gtl?Qjbo7< z>NTiTY)c0g!H|+c+Vv!YMH>S8!zjokt;WZ273^RdZ-&o~ypv+k?afeCRt7x9Y4cq8 GdjHu~yxHFX literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/41.jpg b/examples/data/Skin_Cancer_Dataset/benign/41.jpg new file mode 100644 index 0000000000000000000000000000000000000000..743a598f383de818fe3b87fdacf7518248f12a39 GIT binary patch literal 65194 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/42.jpg b/examples/data/Skin_Cancer_Dataset/benign/42.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e18151482f550ef93bc0cf455bd094ea8f226b5c GIT binary patch literal 60082 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 Hn|J@&eG$hb literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/44.jpg b/examples/data/Skin_Cancer_Dataset/benign/44.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00286ea43bf728e27b35c9d01fa163d23c2c3bf0 GIT binary patch literal 60595 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

K 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

jq^9eWiSg(X$#T42+_uk)GTgSWSY4A=YT& z%*kz^C6*9~OOXM+MgzV+*2|GiG$Fq|V<#3;j~KIc81iKp$Ij!(<6(67zAfzk*#uy1 A1ONa4 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/46.jpg b/examples/data/Skin_Cancer_Dataset/benign/46.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c38c2c5476f4e488beda90921ba7d196575f106 GIT binary patch literal 49541 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

bh|?BomqiU%^govoDO_ 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 E*>L4ldjJ3c literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/47.jpg b/examples/data/Skin_Cancer_Dataset/benign/47.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d1de9ffdbcb2019558f381552f3f1b62966407e GIT binary patch literal 52550 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 a&00 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/5.jpg b/examples/data/Skin_Cancer_Dataset/benign/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e3bbfffae8702ea867421846df978caf0212108 GIT binary patch literal 41034 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

(DJ2BWtV2W= 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/50.jpg b/examples/data/Skin_Cancer_Dataset/benign/50.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3d67430a58217adb0b4b4a811cb7d1b0f31b112 GIT binary patch literal 41730 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 Ykrvs>uq&t^fc4 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/52.jpg b/examples/data/Skin_Cancer_Dataset/benign/52.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fbed5cfce9d49a695c65d75832706b37abb050e GIT binary patch literal 54034 zcmbq)Wm6nX7wqEl1PJcFxCM82cMrO_1`X~I+#Q0uyGxK|ae}*q#R=|y^H$ya3+|bk z4^wBR=gU-`uAV+0D<3<6&k8c~G5{DD7=YZr0r*%4Nd9m2{}ulO`Tqj=-{Fs608C`S z4qyik1`_~_2?K`-^Dzt{0{~#*0C4~Efd3l^h;Z;ou*fJd0MvhZ-p>G7SXdbNe*+Hg z-$Vewz`|j|V^IPSu&LM)aX7@OktEb{In9uP8ZPE|T#}l>A%z3~4wAt9L;WA{|HB2q z!6U!|U=Wdz|7H0xVF0lI5aD3q;SvAc|8FBKCM6seI{;psO5F_G1%V?tiCUtt5fMjY zVD{4d&lM74H5UAkU`?QF#7WfvYr<^#Y@Mt}3Xdj%!^&UUO?E)#i5)K!eYsGFvF4FkJ$aTxC{ zDh$^-zk!3sq}t^5rXt*U8FTX3jzJCm00bf|=e12QA`h~snOGQ@%J=HU=^0_QFrJ3+ zA3Pf>rGn%F?C%>zb;%#%yZzO_yID!XdcF1g36qYUXE9$fqpGf}5~OL(Cga_v$#W3| z4TR^Xafw%-nsh8g48oTr$FPaSzzhFw5nA*QB_)vc50|^|S=DoeO2^5lP z?n0=)!(T=12e#Xzx$wc$Lh^%km=^=5@Qj98ELmE+!UB28MxpEHubs7JiuR@SC0x*s zYZYF+Y4YZMw_L>YOmE>qr*&r6;{;ZX@y`wDeY7iBqEG6Yfz>2>$1FB8nyQazKD+1q zw=}=^fnU9QZj9^|jfs2=ep9ndXIpQ{<1#?`L{n!-xyLWw^C%M@jir;=CH@Yqon1|a9&J{6?Y=NkaFCFHN~%YpxVxTV`a1y=59nkzFjs# z@vRJD1Vd!I+`yC9IpwiDS{h3LAx>Ld6>2_?OgjcZgrD7ehlm`?O3kfhG5&f~xRFd) zdi5Y(z>ITx@N3h(`v9D|&yt7Oq%7h_x7g*!6biMsPc;fUVDKO**_|yEKw-6ucyA8L z&t%l|7h+dYFJB#Z@cH=ao0mrusionVn{lo+!@7Y##oyNuLS6#QV1#0hjR>Y`SJjo; zdWP=~OT=~VO&3cb3sD(>y zlXR@#g51C&kn(k*fYXz4rt)Gk>YoE4jaYrlenP^SXTO=cI1|vjw|*6UNo5ZX->$rdIZ<_!I zb|kQJ#3bRz0psUAob<_}o93B_cb|d2SvDs}_O=I7t6&Lr)DM7S_}I*pwuz?oI_WTX ziw7mCk%0RhB_)V?lc1a;UzqiK*6vgv6o3w|2#grHhPSqo^z%)2zDHwR%qw}PE<{uA z8dc_c5S=V>GPHS`GByzr2yC`2@0R9SS{W7tF@RWHl=}|lA6NTqKGp9@W%FCJV@gZ? zu-Vln@xdxx&~{xA(@^{2s@R%*9&zJN@d04jF8}iZ$lmFz5U{!ybNbxxz$0e11S=tYC90U=hloxUoQAg=(pi{<#T2|L7$KF$!D}t znuDXZ+{eSRiv=$-&&m<5?9yvs;g88*uBTW7JFC?!QAH*Tx5?`WzK(MBz zL;LsHa8#&pVfseJpvAT^QQ^#uhV>$zbL_cS_D=L$3~58dZp;iYgpIPG1cfXtJiyPs zrQCq{h&cwZw2%dhdE4Dk2K#99atO(BTQ>P|#KG-hakgsVJV6jYk9LSOp+$I9)r0mx zrY{w(q*hglM~EW_f>Eiiu!IN56T1$GcU^TazVgRPtF!X-UwWH7P@B>g810fGcTL>Fw>PfA<*q!=WAx*Tv(t)4%@Em(*AE3>r1_u3>8af=UmNz4!po0$`>K&}wEWrq121 zYZ-HUHFg_Qf?c!^S-&m$I4kz#%3>zX5Zn4~IVa3-p7LDeEANuK%(bYW<<+QlC`b2eE|Iv+pY!tKbEVCdtG78Qv{?+h@|{Wf3pr6}tL!Ls z5u^LOMI4K_>qYx3KLB#9DqPd%-%5=#d#t`hiwI)~sx`HFG+=P`a)6U?q#}KK=u)TI zAPJ}Q%?82PZjAe=4;zOs`iDR2E&Fnxl|es9Q*5?mby#s)F^y|v!NH@{DFeJSN+akd ztW+IrWbd!9yA8K;C+eypquabQv@SER%SM^cApA3zB)R)SPktv6`}@Fq6y6!S!pj5E zt2c-G#}R=~$!j+^AAlLBTyx2!pJ=c^xh#aZ@1Mjdt7CAGMX7@E-Nh-e9|8hvKLA@k zKz{)anKw&A4^U_MHo3h(*D0|g&~F4a6$^mC_t=Cq_5l!DA-^*E-tPWYE7maH@AWD_ z`;@(Fb80@OaS&V1B&U^DI9%Nl~sI9N#Mj$Is@hV z@TqnVEz|LYF&K_8_LpDGY#ymDbcnj(Rh7@cH}VLy@&<*8aA=WR(0RCBUA>qYoWI!G z*^E;wsj4g`eG<|pxQFyB-TS0f((1<+Q>)vhq^7N5arVs(t~JG$jKZM^#awC-4nE$ecT2wemjJBm7dvPV+E zgpSZi&zhVCXMTC5PjQ0WS=bcy^7EY)ha>0zSGcwUi(=bRg;K2#2mRjrc|25U zy>56c)y(7c3UF%ZS*wsL-FkB#xvhRt*N(8K%EOT3AoY&~`rZ9zNACGCli%Cta`tc% zuvN>YGb82IGyTKp9|-?RG}K2?b9|m7AJs@~+ps$s*29z7OqNwR^=!O_KObJftI`YAaZU4=FK$bY@xLPb^W-vhez)=9{yDerlxflSS$^Q1fA!U)>&%nq&z zP+L;&jEZ(oRKmL!Ku|o)Z$nUz{Ram!6#y2ChFR zH^s89V&I_vHSlmFQ>ufeA!qX@gZ}V$0zd2G;iA_N7;P@t&|~qM8EO6f0N|Vp_8JM} zIGyU4McR%CHt((%yp9+%mF`KZa8mu&C&@Aq$#u!#$uFL#HGC??^gK>S&gI5@E9+g^ z1}=}$j!|9I+m;;vmTKWOb<^Ja0C?OOF%eWFGG`&>}9(Ox4H z)!;a-g_OBU?Mwscmv-AiE1r)UgZF9jVOTT%?zH0gt2c>>!qKt6C7}#$mapMhy0$*p z(9fh@veDODX-qQ9DzU1q!2Xjbz}CA8-eqxq@hP zgtv3(-~4VTiz#9#;x>&kR5YoLz3yM`!u+jcg1Nk@dIs>vK zu<~{BM7}y2bHHVe=)OPBYt?5Hv+huyWJWK=@(mmNp`4x5lKh4IQuFa>o87oXcvr<0 zE8a)GM|igZ_|U)|oj>>*6ZGF`pdm-aNd2P1g2lB>MKP(DfJKu$r!BXuh>Eo)bmx7Hym89pvHs0tc0E>qT3jdTa=95oCgPTt;bF-vBlNDXqni5S zyARPW&NHzkZ#(Ir{#%w?@(} zmQ6&7#&=tKFO)>$KR!(st|2FJ5_a_`CVk*%e)8%k&oAjy^B{LFSCd9-lJ*(N=*M>F z{iXledGO=_OkiP zX7S54UE@r9tOu&6#Gp_c8Kj#1iW$|z;x zdZ#R@K4jv(AAbq0XjuHx*l`BqBEInDtJfxt)*UwP0?Ss#-%&ZxFS)Z0(pjGrnCFS<<^2OtF7CP}2~5$ZD_Q6UG)l?eNz<(#jN#jBPu)#*eXw?pKi zTwTAV78_0o5`%k35h|@~WeqF;q^TO)mtCJRadkCIHlM-z zCAL-(t1-zal~~7dq*8%cO^d>+{dGGb^lD@3uhl@ARTc5xq|`LB&#S=IMEQ31S7Wjxqa8jQ!zl17ehq zCPMN2XUIW2bgTccr0y(qFZ0U>z()R4yW)j+6M-clGaK|DQIwp=H+s^{W)`B? zOd~cq+aXO=O${<2VLxUMAJ4wQ&DG4;G#`7Qp=7q*+tss$e-|Y)H4-k(xF^MK5toD5 zk|+Arq(@UpQdwc|vOy7o0oSOFjE0UzWXJdx>LtGSl+bM!%kw<4)LO#A0r-w=mHjHC zj5W&v6H}@2S%N*Q1gPXj5lgH}%Pt8)+XM|w%0|wr>W=7=sh;UE!H%{j zj$lmh7&6Bm`$X9{`lUT+qV1avaOIPpMul?1$V&l$+lLA}UME8Br?<{Z;7@nJ{v< zznTv~Qm84A-Q(QnxNw}Ef8pWQ0@~k(8--R*mcqEkFh%K$5A(?v0t9B8 zEWyisGx>R5eR1aIsV-G0#K~(_6&ffEM4@AECXedR&5Q5rDp+BKZ2N8VI9CT7ep&tf zaub^F$Tg|ndw%;@+OnN9L2vVlLw)5KF z99RBWq|+A`jjJ}?ugn%-8)k1tQ9S~#JX*|U2%I|0YW^!_5xMg_*!oe4?O4{Kd|UARokEB z{WC%hoa?~QfCn`DjdPEO*LLioS%VV=Hzj1dwga}!7$_rmHg?%3uqrVL;*z03?{+OuwpQ8H*MBwJ zGOvP}uCH%4vbGnX;&5}d@Mdf0FBXd^bZ)4qGe3&^)`idJJUn_ia-_yiCLNcHW4K6~ zX&CY~#Qq9C<TDL!Rij#`SzpVsmF?(kyPxM0Aqu@kU*Kb)!7w!5-toOZ1yIhho zkyLbTOW;@mbDi;&QyuG2KICWg>Lc$0i?FID-(-F@6jj4}MvLcg^}Wx#3zF}gQXhfr zx;GljSyaYBFtd9tC%)=5zO^L(X!!U65FR&C&yrNHZ3C9-5e-CRyn8e`@Ng-*r-OF+ zrvEYV3t{!Ymli_rl(6|P?u<#lqY0UlCuLDvTD7GkHa4RKzE}#E0P2;*D%!SVUB7t^ z<;Bzt8dt4-t@M^0!T5go%Vi#Jd}R#C@|vPDTJ8MX)b@a0RVl7NKXaZD+rmgAO$T>U?_(xAQ0PO45Li{`8 zqe!*>wp!MfAfJaCrr11TPlR3!-uAoE!W-@bx}1N|Y!af1+!+xJ59qHn6@5u<;`E8I zj0{ky_3$uzM@ZYtLqpa&tQ4EtnUcb0Mc6-LEh#Xmpx}VQqO+cFK-bCx5v@3 zrbrcFMbY-*)7b)r8W$^J)QKBc0}$@$<85)YC?cpIQ{bCL7rXbBi?m5c8%) zoUfL|Hdp#Z9{>kZ@%2KOfox#1+IadzMZ7#tA+{VEO$9My8q3u?k`Y7#VOlMU+X70< zAxpOXPX`dJq|Ln_mtiA6E_{1CgM58yBVUK^D^o?emR$D`fMLQh{WbK%QR4?6fBWe& zdr}vke&uSVe~xiwdvf_BMCkv{FMhw)uc=lYiz3zj)Kltp<@t2^ld(_F&r(^j2MVE2 z3C9_sn-l%1lz)j>LQHX4xfu}#%bZRDrq7`9!<|~sIqol$aTwFjpz+>(6RlUPakcO^ zONC+fgP_LyQ@1L2Xuy&2{r3S#5^Y^y+C+r;qQ)>K;$@-BV;ZoDp~e_(&>chL2-mcyVM zdiBQN6S!ViGz1pkfKMhpVA@5MN5%=k93;}D$q_BZ;d?sX+7^2b9Zw}#vv_)N{*kcW ztL*6$sKiJ!rnY&Z``4G`Ht>vEsccTd-(LOiH7<=FZL2T)14VEJkJw2eitY1K(CDh? z5`^vG=_brahlxJ9q#q;pE#d62RJF29iJ{n)>iV-*nkj>@Cvr4QD+v)iI^&pe;(2*l zH}&z?2$eGDa7+iLcER|7I#%^JsD9^S5&?j$9Zs~o8KyJ6Dpe~6Y( zxo2&4*Z8+)<9*F-F_j9S-%I=knG%KfNncgVpI8kEN2;@XFr=vvNR_HM_lELAA?+9O zjim)A=Q#vUwjfsOh{_qds;cvtn^maL;u_y>Ru*US6*cY>;Ib`munJ$d%!-XWjc4s_FJB%t)nnIZGHjOaNr zyo`t)IApsDKEyeXt=g!qVTAu-^IZGgIX~a2dBd?F?Q7i^hSxvVr@8)J7Ylk*1 zsCe!;L-8t$Z)I_>7~4t{#|=EIeD7ukshS-3LqYrZr(ZUB_MFq-SMF7OLPhus9JFjP z;!5I#ex=%MJ*?z|BZ{)$ksHUL|IrVSYdPcZUd8k~ujk{dHpc?(mBMH$(fE~O<7Sm$ zRMGcppfmBgSK?oQzt)P9>xQu@K;l8Tjm@T4SF%NtU!vP&lWvU31IktYbMfb&3Uu<> zxt7zh{q$oP825P3WRgu>d^W-2N*pi0?`@}|krLgr#Mn`1;PTxsPk_)RMpylIJ0XED z@ZTR>Kq>P8uQ{W!?(%9Y7Rz-K)m(W}!P46?-XljDBZ;a1}fB=@$gu7y`41jtz1 zPKOc=-V?5mwg)!i8`wa7VfGCeYdr5nGm{@#VKmSZm2X`O`AQWX`LX%0avt9^>mo<^ z`|P;)j4>~916;n|%+2^tjCO2{QA?k6Qo<&Ya)hbrJmNWu0qOCC>q`WC{q>4rcatq8 zB`v*%UNVpK)?h$VF;ooltt7s_UK~$0WaL(fAbhz&(5I-<5e!Q4A#8EOpEgOK-%w%n zlI)Ib&gPTa=X+Ca?KU3$pWgDF;#d?V8S|<*#b=IHx1Te*jiFRJ4t5sN8-fLYYT&Q{ zxGSmf)f_(~$-Cgsg7b>TbRNhMz;Ex)FwfE(oLV7R1S`W^fK4gjAH!bzynUgWU-|5aEga( zykYk5JulIulckjw=324~yCnezhc`N!@tu2N!I;!5ncx(x@Gpa3VMo?)cnBr!M<4Hi zsfGOI9{}rCku8@1FNi&%0_**lR&keM9Z-EkguglcDz9R1ALZ2rjH!c#yAtDqMQ_F& z3$v_wQU!o>^>)JV8ZX*5GA+Hy&Xx{NY2u+k+DClI+A>p6tToP9V3ZJ% zNJ?Gf*_WqJlgT)lnqIY8#E!K*=M`*T zkwP~*z2<^#{t~g8vFCMgxz-UgOV1-^Wm$JztH4%z(Rq?!ZVVKvOYW3;^weZl3H<}@yv7xR)ODe<}ONEKuYtm-({`xnahP|O2Im7>TCzXRz`^uW0y7g z#K;-?)jd!44?u*C15?qGv}F7|E93$a5~#)d}Ic2yN^ ziNB04?-p*IW&RKpfgGI*Z*+KE$!pzbL$eS?NPeFYPjO+G$+xs;c#fg7zAnKU|ws`rgGDE#+7o-^w$&B-wWZ%4$ z3mh_#0)oN0=Gm|{&2NjxERLKSxa69#rW4ZE+~d{|UQf0zYg+efTI@hfGD0hD7&O!p zZpT2{U{nU3fi~UFg%1EPud3oaVuVMYA84bSzxkj$BBvBf^Dx`;Js+3Mn{_DuzhhU6 zaOeMs|Lagi^=X7eQOlFnp6lmZiJ$d^**_(nAoQ*sc^>56J|vBfM!C5}F~#O>xh+{T zFk6h?Syj(j1yR33=$fs23m^I>uci6Eswco<7t7tx@&3Is1n__ISXl+IY5D45(hy`| zsrbJ?Ji9>dP6fJ>!axiqdzf*EtT$BKN{#Omf6i*)&Bw_jBn&OptKr|`#o<2y!7n73 zSMz1$FN2!K+jplfqqsY7uijTTZ(aSoc7*C9SLq2Giq-4XYDCdaA|e5(mk95jEP~3_ z?M~Xv#wKS0Z-T`e5C!bma6LsO^Ev661IFfugNrgh5&{{XA2K%Pu=M+OB9P?vOC%UE za{PItzEqy)`Tts*v-?Eel$Ub*3ZI%?lU;0Mymos6je{QKA@=T3(P_zAR`CNYfyos` z_0shZCUl3XFUdq`OefwP))wDa5j z7mR!)W!sHIOmGYr6^R#*yo66DP_Zz)Q(Smi3J9S z)_mX61(S=1h7B6*X#kPCU%Ot;ZC|}ZMYYq_mexb+pJG!{z?`3p;AKxeAFe9npQ>|y z(VXW|ff*j*Q2382jXpMRkI{ityM8@n;&NPmZ&_O;{uhKo=3=e!>LR~+PCb7y1+!CX zlLD;!uA7lB`T{$3pU|SWEA|Wa1>m7*+Sr|-G0EbIU&*Zc>&V9kF)~7*H(=ZOWzgOH z)0$^02Rj|p)#2t*m2~202b6-9-^u2bk*R(f+@G#U6S@o)*QyuB=sKgTk^vrl8cDzS zaesK**U=cK^5sr4=kC9!4zTo>y!%)8v6!f6O*~v%g(B~RpE3LyQi5OD#ON2IfNF>% z88?TCXYK{E`1JDuIQ3*pC^z3{G`T%mMdK2d~O}OuajX#WGBbL6FR^XIplKN$rzQ zsEr7YZ!bD|5RfV1vQW?vW^0YuJ+5kD-G6bP-V|9yIgvG`q{G5M=26g%?ulNNoM(GB z7$6R7A4})GIboqzl{m?9MQ}g^Ozt6cA9vbjtF=*`)%=M)P41LwSe@HG#Qr?wmANVvu(y!Jv4XX2Bgd^a=q-bu14iI+|;CDg;(6A0d+xSxQ?D0jaR?C+ma z+Ab6|3|p}UTt`PX=n`wp5S!|lfo)hZ;xTN*b_1e}@d%^PP0r|`AtJA#(W(llVQd9R zs^LDd#zM2LGy&iylf>YU491_6X7A4KcLI3r-=FaGZPyA{xBF)~bQw$wEt6mKjlpMi zssXS3e_cx@K3^bP5T&NN5TYt?|7VKncPF$ED(uLqQ%*2W!2`Cjz})LXC(i}Ba#NR= zR?L8kPuJS=kjr>ZK# z!6-A!ZTnqg3Wh;8hxj9?ZPPw>N_Pu!n7M$*o`Y=YR_@)9Xmguc7%0*-IGZ;m{X6P^ zCY?lponQuFBPu52Q#A{<_IxT`%OS#fGv4`>D`=Y(Nzqt9O-w%>DR$yznN%|6$9=4e z&Sn(+bPWy*Lp6EAz^gdoOgqywH?PgJYsOO(!fw7Ss`zIcQZZqSP0qk# zrw+ebDRMfN)2u7H>%#LsjvP`-VUeZG63u$Vup=sJ^!UAs|J5k7Xr9R9y7iqdlI;Y}eAx;&9Vd{eeFs`S8oC z86T3c%h)0Y{Z@N;VC>;44Vt}-xCvq)wwS`o2vnW*eW4@>PslzkZ_qt`HyNP&F>)XfzQuBFXVVK z_2H#99+qX;PF8Z>ifC{ zdv)>tU#H1D5HueHud>D$5ZlEWuTg9%+U~}Es_7;*s~b5w-;F=g*mMSqng#NoJfI|1 zHN%4hP$pGYM!7l!262E9`9zUdLp^yomtfUfZ+F}B{{5$ufCZc5xL~SRKfeC@nSTBE zswV=yRf(^!5AGrK3xE4cVQA#`lFsSXo|a!*Z@1l$?Q9j?EM(~R>#Z{WcJkLLp7s)+ z$XHFq)>7}47?YTiX_0sfK-WxT-emD?2I4>oV4$NRlQg9VJQfa9rB%JQG5@_VTajPL-d`evZ=n3+o0%D5VMO4jJf%y#G0~Or zIX`4zDQ2x(OHVIMQI?hdRlb{CFL*UNG;s7+;(|OtV;OIev?)*17%9IR^EWuUN|q$x z&IW29zsng(jI#hfYvrabIv zEUC+FoM1W)&(|9CDd0+GW)c*|I^CNH!qK+|9IURO?c$ zfmk@kaOa(RDSrWvTjHt40-8E?6(D30DD^w6EXc8pF_iJ$*uXwCy6ZAM19OSLok?PS5+I8I#n-|?<=X;Vs)Z8Bjxur z^L^L`j94M7mxmMj<&m-}l_(TOnRuV(0;zDByPGP0q!sbO=g{U`l1eS6n#*mHuKSDO z;p;%A{c2<8vw!|=X_ZnZuXzyfkKW0KYj z`P!T~j7O?^Zea^iE3qUDO$Sy|&%~nrxI68o;^eB4RGtaO9X-?cvlt;h);)e-MyL1d zOcxh%aQ}3o-?&PWgj`3wZcS-JsjXqlJo(DmICu6#S5u&CvEBbXNIrc~hw)h#2J9!e zd8!gQM4RJiQ8J;T)#7*S+~N+;{o7eU}Tivv&Oev@W`t%yTSo3r2N$5RB(AC?xRy>3QWR zgAG-PI>6GDtFW^04+&*3C4uFq0AR{5V7J2D^cwGkS=h;JyZ`DTdv}W$4d~<(h}Cm6 z*CnY)ZwXk=UoI7jHQsRrI_MWT*j}xo{&OKYzpuEbE+w(`9kuBlJ67fVY&J2zR}fWU zcLiHb?aE@Vejd}Q;}a-4wUJbTUv~eBZ^9o>vYUtDBvAchHP<^`o;12G$Xm$O2V*ZS ziU$U7N{X?<0MEYG)^jAxS;Oxtx{FP;{Ncr8qZKL@1foc4&$nAoo=J7C3g8oJW|Spn zq_|2V8@fU`NXuPs+>r`GC_Uxi!MK++ip%V}?JH*<;cC8a!mPD7z&tK;?e-Viatb97o-;3~4;eByy}UND6# zgF^$p$&Mcu%qh{epd;;fS59~HwW7aoc7qqBcqr8zB1KFI8QVGR2U{&9DZpn4JQBEJ z74E-<5EKm<&4B`#oy!0pP)GVvV^C8d`>55TqU!PU)gtTGmxO9{=1E8Mip~8$etkI{ z%d)<7midxjY>WPhj|A)1j8n$<=v6pLI*zh%K|V8%>x5?fGLl0BjHCF6OptaqqX*J4 zBnw#IBKc+qO(bx~9;fcmth}JHNyeFsA}dMkpe7dVHS;5`SpzP}51iIhc@Kn!SXA&x#j+(P8o zO8UPM?a!zr66ha{DS26HfMQV?Bsji=bz0sVSP?NMTF@xevSjzGEpB$P1Mzq;*U+(f zYOU#CZ^MQ`<$daMdcWV z9*Jr{XM=`+79mJqDkAuCYkABQOh|Iv$%v}W#$*kp;OA>c256#t6>gJvNb-4Ey4;^s zv!xHo0WG6#cNvZJE#xsZ6LE_@3j#PdyZSY5%cZrVUkBS2|GWfTNc}Y{rFUFlS$M9? z+eplGj`d)l^lW20ODXWbS1ygSNEwO=iync~2A1mUNPeN5%;Tm=e1;_+`_)(WPNf{I z+n@{%A`HZ~?U*+0z#z|RhRjq~Vb0gh zInUQuR-!f8QgblzQ+g$dyPGjylub_?V-xCYXDx#6!`tM6f*p6jprTTkAfzjE+*FTR zI*;clM5a$Q-rd)a>57+MVDW7U1Yg3YlCiX3&kylU- z9i<5gg3V=i1*8F-+-eldv-7d0vKkRJM4PzRZVI|nzJwM5M*S+R8(j(48A+V6e-7Va zN32G$+ia!A>6HAGlVx-ZsC7_1%YbqoW!w#17|ON_6uF;z+_VRD4-apPYfo*nV=a-# z=EI%S#b>I1&}g&#WImvC1@o^G+$eK#yfu%{hne9Vbt%Tg;}}FGybTBcyv=dcm%cmb z$Ky^)a3qFFEv4F<@}~v!VSmR9c+;QD3xgIT3aF*$-8|X}G+1|}UOyN3ppMMXs7o_L zI(CL~aOy^-lKndaVTBr!$*kO5M$Re?+hL9v$Qid<%GV`4`d~W3)Y`b+`|WtWC#($@ z!)S_Y2BjSA{nw3AIaT;rGY)Gh3$;RZqxpWt8A{T;YBG_b&xQk9UoYjF1R6_`<$L8Z zG4@q8L5ZpzPgjTa>=iYMo90)Z72gPZu4XRgkUXdKOED2=!xgA`_b_FCjcO~TFWxnu zN;=uZH#11)u9@-#urW)&fDx^(ql2giKg1}h30wVv&W$kbccI(2i>&-MLjg;)%|v~Zlb z#odguy6xLZuMTwxZ_>4ksfDLGYPz*1RrMFBtG6rL^&;M{0z= z%NVe(#!KE~UfWUps@y@lLsuy@{2=9Q4#O*i9-ozvFm>!e%42<0F9wj>hVt$hv9UdN z;_OBsUjnJrTXZ$M?|=5tZSf$C_52$ePzR%%Z@ze~cbn-FCXdI&9+fN9Bo~+zU2D@1 zqn$8CymXOVT={d)JyO6VxjwrSC(_&YpQlwwEA_#mobtGQ%FP)+_tMWjV?(zCsc$Wu4*ewk`oH;ov5(l+){iD))yl_?QubynQiwx)>s0cExf%Y zKa0Sxd0UV7#Z_k;z9m!ezjr<7iS3*H&n;@A2+G_D2V=WoJdI`%j29O{CMp`-o>Pp_ z$ln&7{ylvd^L1@&V4%jxMy^-DHrlIu?}kX}+1qam&kdw_{UL(=>^f0RX}Hkx(SusC zKjQXOR{b92!{xW`8e*YsgUUOf+4$|}B1whGAes`iZMDOc$1&keVDjbl1%ij|ZV?W{ zEcZAZ=7Nwy3I6?>#=Dh-ME;#+xa!ZT->2XBU9Y6A&-7=GZswlXL$G4AJ{c794Uqq! z>orkk@7iI$*vA~)Gi*(xg^bs;wBM%@6Bi&i&VNqj`mVAoV>0Dsf_pLb5-3}0G*@oV zqF~3bxBT2E+9Kp9%x0xkz-&uX zRn!W?U>+EU1ya6$@1<(bDCy;2=EQ&vg2AbQCl7)x31X`k8+7vS_ZIs*u-uLk67LQFD?m&^SjV_NeI zO(KL_(S7L|zO<7c3X{G6uZv^Ds%zV}9_{n;+6iWQNjav3h72A>pUgxbUtikG59iUW zHU1_YDb+s~sJbQ^lXG@@!3=d0f}NdsfuXaW^;(!RrzLCi?8J&%2&a`=nwm&}Ucl1M{KHU*yJRL!~n4K-X=n*dV zuKfGKEP}s!_(lAzYwYKAn`6CQ0XbUqP9abKRSo)H8Y%nh+Z-PaV#ZpaA|&T8fCyu3 z61dLL;pinB9$v*`ST*=_hIli(nQJV9i&u~r{%K522}DRqlL+`Lu0|+gq19wWi+af^ z;+|53@-=D(JJFY{H!TYmwp7kxraV#}tVv&S(-p-O-n!>M`@rCP!MMU-ffMi{NPO|B|`mS zot~Q4r`XOu07$R5JnHicbR~+mPq{TkbHDd)p**iYjfc)Yo5O#{6SA9UlG`UZ0mC^q zri+a{0P_h@tLu&4sI6{pG}=v44|=Z2RGnHy4h)h&D30as5@SKjNZAZk)#Ub}o%dJ z%#Hb~&~s<+a^g!yAK~+IQHm+}q#I!&s5Dq7+{;nO9JC z0w2$87}P_709t{$M!sDmnxm3o!sT;=GMe}H9Ud>RUUYCMLuey|?0eYUkgX_R?ZE()$3g zqcu{OwxAXcBv6X9|{B2tajl^Wq zS{YuOTv6Nr74HW-qPh6Ivl4Tbaze0uWg>t*DM1>?RVKk`5JZPUvP_A zzbL+yR8Z=L^X$3T+pjszSvE%dw6)6)TCeXu&d5GLJ3x^~)1Y&4Y>?>v$D5c_UZ;sW zRx2KTw6(@=PjL!bF7K)I-wXmvb3o%A6AFsgb-OYv{}hpR4Wg1iC}~GY-O)9fWPuL4 zDw2k(ssjq4%IbS|!(S-Q?aeE$g&W`@@)#G2LA`R>_|5tUcNdATVQP zL4xJ#vFA-dTsP0Ttb6pkHSez_xb=E{k@=1bUz7)RYWm|J3;KvaEzgkFqyb|`mu2_M z7ay4k#xLGL?MMdyL^iaue&T=Tg$0{+!+BCg&*zF{{gH(Q@^QNblYTITh)glxB!A{t-ZUc8IttTQQGlm zi}pCE)$&(aHKQ6sb$)xnNZ9+ePutH#V#JmfR?$o=rc^r@r$Q<$Q z*u&A8{{SQUekwPz4fdh$M5V zBvlWQ$44R$rQ3O8CQ!Odua>Ug-=v0nKZ{b8s@;FSG5Wdj(0=EMB)@S!G{}lknh1da1rEEzhtfgqmN~ocBZrV|voEI{QS?0p!O;L~R z+VpR!KVEjmT6^fa+!RC}DB+c+dNbTRpKtBqq{xnV&OB6+)}mKWl?bJSNGhXnNL6EW ztOrK!yPZ7^J@RNGp~}l`?LOJBH=dEu)7IBxvQd#H?9D;It}5HH&MOaHa+kTbUv|nV z4A7j+nHD^0kBpyDGp513YN`kfn)zlYbPu6!zDcRwn*IK=@6-Cak_gOYzGzG7Q$-@l zXybH68}~YTKTo&QWjO58(~GFm-PAJ@oz8Ztw1{x^r+piV9t;@^EFa4&D=fxYSWF6^ zB#0(!W>#QBAp%PZrjTp&Kfv^3qua*e^rxssQx$he9MYj@u|NW2s9%cfI+~hWT87z2 zX8@D9lCN`!%C^=I1M<8G$~KlgwNYi15|qsBSJjC5RZ;t6^T${B%WR@?cA2W-$Bg^r z#Z_NWrKIXgTjK`qQE1}-04lX><^J{1*t>>$W)D77sv}C>(qIxqaL><%#UV0zi5%Mx4 z5rq3E(8}>MtK^h$P_Kwl^J*KCRp0<{Yo)u5EnR(0Ewt(5dO35tHC);QT$t$k8lO%G zlKPb-P^jHpZSxTDl&{A_c>tSYEX{a zm`i=EfpQTpOPmn*Yo{-yyY38_lFN*mw{e9gg)$T)LbbG$1!iVV3nIu8&`qHZ)Gn{# zUx;XHXh&8OudSyUMiT;2jEvwKMWwu8=`Y0lX>Np2{sh?1Wu&Di0@bjTV~h1lILBHa z)7``QB@<;d{v~#4O7G;JIV2J=E(fZ7Y&{eRsFS|bA*l&6G~~-`FH?(sqVS#s1I|qK z8@h)p4V&W{(+~*Il%C}^?6=crYK|$Rl4$~#iI@ae*wcw~M1j>xsSK*$s_PnZ zlQ|Q8W)Qjq&Q4A#eBZZHJK3=z1M^BNx>%8B(Hm;>o8r%&iRCUnXqE&j9ljlkmhvjD ziYNvY1-c;M3MAR+qVA*G@$Yri(P0}^4?oiVyoa|`CTa3zUfT^2VhnXWqA#?B{{U+K zG=o#*wPs+0qQ)$mH!}9{-I?|dR{lKXkqAfY`6OnXu1^8W#f|u`t7djK$?ZZJ%b$;JMF0WZ=E-8Pf9Rs@7)MY5L_1M{xANZHgH0Q@e=KJBRv#88IUSh1n7oMQFc)d=`jx0p(#mAu7@ai9o8q9u!j|?J(*TG^2#@Ml?>OP~bt0`^F zxvpBQ6mwo}4=y^YPfgN{W~^$NS~A2`+zWAeYl4h)8@ol^j4(wWXKsaLMvzCJ+b7DM zqyU$aX=Cmf!h)aUheoR<0J1u3w-~^Nq$FKS5~?$1-LlE^MtSz@PfK*=tEVEN{*NA- z;XUu~&?(P%$ATqJ=h+3bM>GXZOGE@Q&|V8vg)5oc8M3vxu}_Pc_J0XOC{h z_UPq~c^FH&qXc+g^hmn`h&J4SC=PhB(R8%`0Eo#~!h0X_&z^mbqfU~5ww&Bux9ax0 z_H*s$rzj(V;-_Y2VM@2^Il4bK*YKnEe_b}gtH1?`mRue&hAsH5faK z=LT9(!v6rro~%LJ;)y)y%Hsb3j0nh}n(}ragKJ*o(b~tr9E>5onmkh17(?9u0K9qV zdY#O-5Mi`2E2lH^ZBx&ic&bY2Ke#;Ka4T1aNj&A0P>Wbjk^GQm56x=ChCCJog!_|L z(Dg@BiuPms+VlSam1X0rdJu$TEviZoB1dz%$XeCyqQ~_6S4>Hv#)?LWNhH#iEfbj? z8)Yh5AUtZQ+UkmZoDGT}jdq$c(}$|=Qk1IOH$Rm)`S<7=nzyLZlpf%Smws#{ryl&@ zMDja(PY?nP@)ywv2USQ~Skv8{{t-b9uhA9c{Xe z%#E>(P6@-CYKF4lcD_1L&Fz@ecOfglvSee#qIi`-V#~cM6$p1#)unT1QUD;Hq<0^L z=<4g~_b!wrC_(JuT`Wt=7xLJKvku#Al!l`%vWnotlPPVPDxNx?e>U*P5Q;tQ zK&lJJkK*^*PzY}*Am|0s>dI7yC5e;M`eu_DnT$yP04z^&e#gJQbJCH9oa3nKNo5F+ z<;<-EV^o3U@*k%&_j!H+k2X#lM?ae6gi5*|SOs;lBg&!UwX&kkq4sps)Ya3|lqW4F zHoJ>wSV@igWDJVQWoN8MW}asqJyE#r-HHnv=2(zW<@R|yoq&T2Dtx&Nk|WBw9;M|( zoO?#BD$gML`haK<4?5M;B?-e+^vv}bXu-#U_Qy7O>1{n$GlX=&y*=@wgomWVfEfHO z4lAVI<=o=zxT!Q^WsW!{l4fZYM~PENmNhOJ8^`|St+7N>s1D4)pHoYy zG3T4WTV6a?dZP_Dxw2Hw;6Nj9spat~?f?%dZAPB2{dN6c?f4z5xn{3)iDE4rc(OF{ zPUOqxjbji8(2~X{i)RF&XOTj%>&AXH{v++-*!McRTJb9op7^fiVGtCxl%ur6oBm$C zPvL)pYfoQ9bZ$Viiv$qco$)>qd@V)m1jPQgb{w3f?Q-N`Nu7`MGWG|nI93x9=&Y8!~Mhv z>O`5QN~cC6x%BNy#fI5R%#L2S51~J(n7LBFZo`sUWmUw-5*#^}V~WtEvKcj$-anDn z?^T%!N{o@JlYj6}@eDO*F5VNAqZdjVf5J~e5>i`|eK}4>N+scN_2>Tp7W^)HVXZS{ zE^?GjOge(bAu6rqX9_BLuDgxdU8a89_K2iN-Z?4}qsJ_0?4&X=O+k4VP`>OeQZ@Z| zMqg4IGJ$><#XEAfg0fX-55HeK?--HS`j*hjHqE3;EMtbY_@e7QJVl3@6p>>_RSdIA z;#kpL)Dp(aIJqWR*+T*V=GC-}bbXN*!@`t5Yxep0I*&bV8R@#xh_C}<``|9}E!}W= z&rG;IlSG0)Gvv+uNcl6YNhGooKb7N+RyfR_=9ET*Y6=jACekivz~|ck0Jpw6m95x$MYxVt=JKw@Af$6oOJ%1DCus*CblEzfIZL6S>S!Es`+@C zGb~3QM#E^x)!ZzpY|*n8MqSGUQjwHkps@hAspxaky|U9tN*rNE`M>)3py#fmFq6FB zxX-=tXYSqej(O?~%qPvq%KrfIG=Y^~P}B)(-Hm&(P<=-gS86Mx=97$`Z;F6dxXH+WY(G&qHx>ld(WqC6gk59*2W-F?%Y!X^$1KX&fDmFrWnx zOqQ0FXw#k~wYeAU81Q4;nma%9Gf73$H*T{uS!iO@#q;*)KYPy1$aqoRBY5$pka&EJ z3(o4RsU^MqY)XMkve{ZKMSWduZ9v?XX*FQRQ{W|GjMz1g)291g*#0EV(jz011egwR z@rR3Z?_DYO+^oo>d9x8lQIb~yV%8>$Z_Q$G6_;N0AB||A>3%mh+IxyBHgIAH}I{raP^e^MF(@ljLSE5j6hlC zlM#Dn3VM!wZIQdpVMP+w?f(GA#RhFpN;BHWc3Y4ccH-&3`;KjX9|&q{>BYBvw!GoL z1>`YY$HmdoH`E=*F8PfYX6;@%T5k*FNfQDwqa-y?AOx#PM@Uo_YO_i&qf2b05&V(M zW)`TS!U|nq&sTds)?bItUFUcjaW|SVo+qt5iwLF8Cz)QgMO-n>`#>+XMZgC7}_b=ibz_^?9K`jtBoWGFRucpn^IS&$V#v+ZM#pFbbpq3HIy zvetDHkEqHK#mcQ2cp^1?{MB@kg`TG%GOv*rBO&0DP-AD1A*L|W2h>ve6nhRuGLz6W zV|tQjEZV~9qs}qai%pww{!wnfkvd)n+j(k*l`oE9avx-KUM7 z9CSpIH7?S!mHrY{4%K7Ifrg<$Y6oiA^>0dXjAazN2j3Oys&R(?=j^Z0ibhjXDiMiG zzK$-cDTSvsM_EVK-_*!E7i{k`Wk{d)?piCziUX4V6C_y6JhZ7atQ0UPT~(iziCnjo z{CE6A+WsA--7{l)XQTMBhUtaI3!0Rg3(i#<#jnG^2A^}Q+r|-VP)RHq>=n5&If(}R zUDwB6VE+JF{{ZTLfuN%N(k*vJn0%eH8o; z@vr{?Bloj)Vr%P1WM#HGGu%3Qv6M*4N0?Nt9A556udMzJ{tweWlzx;XdN)f`Oi0g7 z7EwxSV;hS?fn9lP^;i8v;Y$bln9It|pEEPLO^XEiEg8dwkxq2dK+=(sG;>1?(WI#a zh85maOlM|ao&Nxy?|aVQS6^FGQ*^adj`=0)m{fLeSe~gDFUxG3>*!h?j5KE*D4JwQ z>H341Lv>0ljnIfJSbM#q)1uU_>Cj0L_E2cZjpm zJAjfoB1HgLAeI3@*^tmK%A>}LS&|zbwx*n?r?x|T zlEJIU-qMVt?363flg7QqcP`hYtKB|U4Fd)IY}$cdY>NJCZS5!*CU$! z9#xpxB!yA2ApR<|pOUNF?dSErj~yg*smny$t=uL(hnlQqeSqgYZxTw*kwk?;+N~zR zzmeHV21j8)5@ZC@fG*RY(vukPqkYNUQOMkH72pbd=RH!>j;sVDY_DxM>T8}o9v*nc zc+C5>-O^s}_}Fq{j6b!F$ze2;M(H_OXOKq0A040}A%r&aWS!)wLA;l~QHXsgO1B)< zV-n^>s_f(4&sV#BF4*j&sj6#zf2fAtk%XftdSMnq#%8UvleqeHMBMdHxpthn@?gq` zyLW69)gzE&L)x4bj281qGW%v+&tb1$GQ^eqaj5z2jN_>ZRvSxN0QS5${{X&{CQIr@ zAYLOJ262NalB*n-&qiWIB~{H>oM#&8Qrt$uKj^5P$nx( zdxkWS>7y~FeSd9qD1|1!d;!qE4xe?qS5LW)->0c9ILV}xC74SM3O@IYnCsMjDXpj6 z{u9`D8}%ivr2|J$o_JObwwGz(d9OWoUl+TsZ{Ei4hGaCDtm;OLKOjYm{Qy2sBcj8; z)751GKBnEtcVgB4yj|avI*~rt>3t?SFv@NPjaVFfSH*R59_*N3!2~SLFNs@4CB~}H zBkTyjg$NA}NF$Tda_(N+c@uP`glj36_M-CNzg(Yd9byxkQG}N*5-O|8mv}RLbvpe+ zlROWPD^zhPmQ@YoDvf8wzqPnD>!T8ieMswC9qy`5ELqUW8@T3@@y*%olkPLJ(k5y| z!xY*UUm3-!mRr&62v&aEh5r1}mO?`_7kLb-b{BGLyIE4KPyzz#D7~QlT^KP?w(kAb zvu-Z}_{IaIb*dfCr{#%5ii~0C@?O%@oZIKAC++Qr-Q&u{-7)11nM)zF8HkXL5Np|) zO9>r3W`Y{K9THk@?K#AzGB;D1LF6vWy5+=g%~lh{bhTjMzWIY$Q6Y*X4)$C}TK z^v5*Qwk|v3M)O8CDgZ1+s0HOKL73TL$2Lg-3O2Nb(ufO$cH)zo3#e>Js z`}IG+o}Bd`R~1>J@^a%f?B7xMUe=ki1eM&hOe7HoAyvs@S=&?bL4vUiIOK48Q@n#! z>_a!?ec6t`8i0eS(b3X}u98HV9P;v~lDH`|f#jp7-ZPm9$6+e3=0p|0DA8HZ&meB~ zi`lz=22m0u6J*7_`42I2sKn_EV2HzcR5h~u7G2uF6`u27LOrgo?Ndw8Z`D*mHz0X& zNy~Cm3)7vf`<-2QVp7>RWJv86u_hUjPrnD+`ttYsx!vK$ZsfhkI#$QXY>wfTgOejK zh>y65Oc?TWP4FQa`ol-imM@WO)#wPg$h}3N~ z=8=`O#(oPK#kqzytY%cyottwV{MO>A!d1O7{{Tn(beTU=KhzUSA%$||lO8OH_l3sM zL6}Hmv%1KjA0pFgc4HJQTz`)1#vPAu*y+GEv|$rgWacHTqZwu27B#r>Lq(5WXz0k* z*4LEpPgY)?G^p7a!bp|s-4$yqW#c~hf72IsPRrV&?s>h^aV9yA6OS~CL|{hAc<8dQ zCnFOS6(h*RkfEa8fb?JBuH#Se`G1*pWd}}CjCA*?6tZGFU*bbe{#*rKZ?BsF0E)C{ z-0D5KraOr;lw(`2sZ7UdEl+T(Yp&k?JO2PtU8}wQSN@kDamR}qKOoT@ys?K36115G z2AL8Fc~j)W%-KGc--wq3GhBpu92Mrj#JJPBqv>%;dy z;XO{*w3ee8N@=*72)~+93dC|`{H?s#UB&uO>rUAOIMCxrz6yClG~y}glqr@LGy{d%f5pHpVskKT8Gp2+UujQhg_2Rp)!#jnX{Kj*jg{JfEI?t^tv>Hdxry|#2-8h6Vx>22 zVet9S4_;Hf($&(`ey6Hbi??mp#T5Hj>E!9%gexAdhj@bOq_(hv0lTww7L9Yy=`5Ft z5z`+8N*69_zH8m_)SR*(f8A>z@s_{ds^#NL49zR)8I;2t2Piz&1)yGhTamFGGlmVv zJq|s_ob24e$!2Q2*~h+X@9o^7ILZKD42ruOL3l0sIre&uGA&L#V{MV%BM2o6ic=(x zc_Es)V|)z<%^DHg5I*n9oc{pFihAbP^L&x4-`GFjHJ*k{$pqdx#Cv$ej9lopP_ux$ z9n~l{%*S6+wk(YVN{LbCkKe(^?OeSU8|Mq$R^l;sycng)dBs=GdRCTlt&~xeyw+oN zu#zYis1MGH#QqJ=ypj9lqbiovB-Yi)H6DHF`x(bnbjG60me@*w9sA{3;*yN}KKIgB ze(m4t*zW<=B33c#}5WPnY43VFZ87;6HiQb z?5-{GJ}&tCc=yfE(r=%ehnp{X?_|Y1u4BpWkM=AWl~}&oJak9pzm7R%2%^6t04l>s zmZ2;4ZARl1@sX{=;_}zU)iYJnhOHl-Bxs1rhsE0(@|kLvrQZA5WyJ6Jxfq2XXj%+{ zVrb%uBSbSeU*&56isZNNP8QDZG9cJ0+; zcHLFnPAbgbM81}bxXEV2pkv3b zTVuzZw_{xOYrUR?;im{lgA0^`fQCP=7VW-x>GBTV@-#VOBAF7S3D_%>6Q}@yn*kYh z91?8N_^TBo+s{{Sq>tk5H_;@GS;p#)D?ZJ-u)PE^p;{ERlo?e_gPi~Ck zhBqiUzZtuxxB>X(i|KCf4qhzfVe+mZVb! ziv+plk($A6VCT+yamCD7q(oVjo;caaX*MW;D*;0K|L|)vY~vQpRT&CV>QtLgPovr}!6Lyg`aG=5A>lBmQoO%Ep17g8~fFUBA1zjp5v&5knSn-VGUax$dK zBf_71i{(FO@N`8p{01asNtUjD&pRX83RyP@h91$57+o*c(Qr{fCc_;m5?YQ~UcN|P` z-)jRTk~>8Y#IcEJp<7Q2tZ5$Q*=L$STBJgLc@6!ab-1|dY3l8fX4iDQ?6y&8V$uT3 z16_R!OGWyBPgC;|Nf09~%vRXQqK*k>%J{CgeV!@$N4Vj(3{qlacjT6QhMqy(Wrrdr zOk5l=&IyM|+F50CH*_zuLJ1zn>S}6gXzN00Dd>!~$c;)2r>&_xJCxs#REX!33&t^p z#Vlk5A0cs$Kh=nYur+8`PM<*bPxP!6%n~Y=$}ZkjeH$6agku7*tH@fJqcNGC*_aiiAV?foY>WR zoZClZ`)}5r{{Xh);KB6#`Oh|1RO^chjDpc&7@1*}-G+u*a#16c9gqz{B8Q_FPBPXt zWJ+3%Mlw{7(^3vBK@l7gvkysXcA7fcyJx2hG}$T`46RjuQ;YdJU;1Q>-d02|usoAS3OU)_GGs7+6mP1$NJDI)T~1}F_SLPYuP)zGda#6;l8Y86r*rC* zY}CxESv@Iz54h~KHK6G_F_{?LNP}>@pn0GuU8uHauKoW2)9?LNK7VtMxBXAuQqvttCHoIuvb4UtV)HT1=V|K zLj*M~&!sr3w!yRP)x2=^4{f7kB%;A@>gDF`iQ-B&!-()s{^W06_@hsJI%rs?-r@;No)BjEV66 zTiWfbtlyULN9~@hcKy5|rx>)~t80SX-9E*ApK9u(Z<7*9klHq;6!DX%p*}Vip$GBM z0>~d0#G0WHVRFp{M98h%W#GH6e*GBOOo<*tEU*tesm>mLDd;pY%^quvxqQ>A7}UI8 z2ME-`AWvFS6-jEQvUuqF8%b_UmAD>pMSCW0m!j&_qL2t2)!otM0{+~6&Wy#48HQPA zkyc6~6p>uArzMzh2OkPZ0FRIPdrw5EZw=DEX(MrR*UB&JoOL%}V}PtVUKp1Ax9wQ= z^VVzJzM938IL{_WbdFr<0Ar2cd$t@wHrC*S2R;a)K)f;W272X>&r&rzXGc;|CoIg9 zww(E_J4Uk{bl#S))X^3u*kY}_2CIX`=l#Q`EMKNDJ4jbaJG8Ecb^E^c-!id4KZ$5E zv!=#(QOfNbk-_=sl8iL>HY;qLX1p9faXG<`kae|PMn>eis?B*YdvW~(r9Y^1HIgNQ zC2&ibUEGa+Komu>U=Gy7jX(m(=?>$$+R+%XPt3Jn+5PdCnmV=H4&0#O3Q987K29so zJvMf}*(@8y3e=JzlXW}NmIKk4FjoSIpx+!&Wj!K;6ZLL*e!$`_;;840^v=I@ zYD@ER>7xv)!B23-UmpE3<6$|Cqbqqlf-PB%-Is4wA%SARkZ!&%jU5iww?PI@J(}X2 zef_?8=_zVwaLOc0r~OA4{m-@HvQrxs@lq}Mi2!s}PC*0`$^z>|fl6sqjgJD0U*+Ya z92FP9V0`D~=i2M-kEywny5z+YoUT3ckNv#$N4kAL(gkQF{#KQxk|2oA!3K#CWInN| zR^6Sg9I-kxDUE$px$;$jI>%|Dr>(5B)45E9*zROWiAUTn zildBq>zcZoA}+6{6&WE^3aMW7iJUcc)bdF9SrOtSe{ULZMOY*(6a{pPR^gQ_xllnT zhO#=Z82v3zq-hX?!UYdBg;JDXoZF6qCaLuq5+yDY*T~=L`b(4E$J|H!u9I@Cpb=!2 zQg+u;8Nj3^S#_iVzFmQ?gE&WyD!tw*`@hiZCWy~FWJz#`KPQ5p7w3w@HU?Z77=C1W z$T2e@NeSQ)ZA6V&o(XEADNdjsvzK;GcoX#Yyf=^ddY|0rYR6oRqaUTZD{x}O;RNwU z?hGrFu249dV?6F_z{>+sP>Rd^gV+XV4uHyQ)kh@X28VB!QiJ&{oge=IOjE_bIj6@& zmYb&-Y3TZDL#W%jOj{S5p+ny5=d9Dc_JQ2Hc6J2M7?Mq-#hgU%<1xq@25eBw&KR$b zSk;s?F5%n)%F+J-6Z}3s?`f;0EkY97$`XBFPGU+jW6K!UVqq+>b8ENOmX^GAw9iW? zd1$1pl}zCV#mOLZSn|vI?}3$@jhCFb*w|Rfn{mUF5HLP*lm}@GEK z+#-mN=D+cNnI7JH#0?owS5i?WMv%sP8Ad4?MpM)`k`1vJXj#|XKf^u7o`hqka@W>i zo0&Ha6G;LwG4(3eN~MTidh&PcZ=}j+Wyb@@EH4|JwlS+2G6r0)Fa;g*&xCgPA&H|+jOl8! z?P$p~qsYNnOz7|k=*kzADI~%n&EFjJAxb-X^wRGl}?2h|;mxc1q*Or_+*%amiTL}=)d_?kG(MQp_!YjO=kA=Pzjeov{~ z{{WWL3_66hXA^7;?buydnw~dtP35kJY}B>0PC@k(4S6eqqc3i3zLuBi^vjnzV{8Yl#w&WDHAv@_fPt5{*6i9zO?@UQSNDq-)rJsrI#Ni zGHl4u_+ikjb1te(tVxMNL}}*Ty)WSre-P0B04ps>X@;ho2n)VDS2yZ*zE4U@M4P(n z%>F;G9@9#Ck!Hz+g0B|b_^0xXXN-k){WAXmM!R-a7ty`93LWC`7-4A#?!t$~@+byD z7}h;_8`tIl>-7itGeTM)hxVFKoVLP1^3zo)vc~DF9h;<{W_=dKusN6E7 zs)=bj&fVXd@nv2|uErkJ*@w3x<;@4$u4LvVc_R}~G!KZcnHrFC8xk4jXjWozlO@w5 z!z9sSygy6RRMgRobnjQ`+@uVl7);biN?C^X0Xan`z;xGaral5&ex$WzOVPVvPN3b} zBE4026UD2?R{MrLFznJsXPKf29F$lOkaj949jIwmK0XxmuXCW1Yih+4(q;bu$H~&+$nf^T6H3Kcm0!st^0PA~6rj$l_z)49hV-BT z&~#uC^|6-frAt!p1LGXtK650Pe-0Ai>68tjws&Wy;#BO9wrEIvKH65Zc!mYlZ+I0F9OKdt`&w^3xm zi03WZLnBv~X(?14IEic)ZyNJvloLyLLxBw#=dL*Y&$rKuC;+sQMx!?r^Zyx3h@@>$`$^Z?~!G=oDN?xmEknE_p?cB0!*7HeDhBEEW0Q&^n$ zS#PHagy%0mZVKqXP122636Q#R?4Ir$_ULnVF4-1JW#i#4B(aubEO}Xs*4(_B$(1Yx zj>qOc2Py#RO?_yRV{xKBsv_g(_C4HwoeM+IRHMC}G_^=oR|@ldpL^*qx?-HSm5VbZ zZcI{bQJQWEDz{{svsdshq;)i7s~1u`n`{LOzArp`e05F}*x@aXW6DS5JRZaLM4t#G`|4LqbU;uONS(NFdPa&Xj(VGAJU3?l|=2`*|O-_1?5&A}ALm-BAko z#vFb8=c0YLxnd@CX!}bmNV_VHl&}CQ-4VwDzd-Ws$617k&gz*w`R0rJXZnXg)zOsn zXCF*`DW4>2u^bj*#|KP;RcFcy3vD8#gtqG#WhYTqSbmm)1DmSqjnO)WxE z#ASEqIlSZgd*$}&ojrHd-J6(z;y~PUSgvd1_Bq?TWF565d8CRtjyfbkSNRi;PKu}I z$x&^=2lfX|_ArK=2(gJMz#_2+AK7_NcbCF_)U`ETu!O0TxxRiJ@$O>JeuDR8j3ea4 z(Mv2W`0AyZym7MI%6JvAEmS@0QVS^{{lrN`)vsJ#sBmQ#{Nlf{(R3ChBPg^+Gp|po zw)%4W=BxGagN%ZaM-@x4XAdM{VrN*{rC{`RAwfV`fn=z?i*&r$Mi8{!=MC|6{e${r zr^!cbu)w1+E=RRQ!|hKUO^4bGWlP+pX<`w!GvXpn@j&@gIr2M49THM89AfrWJFoyV zGiy&*>6ZpKGNiE|Nn2v>iqhPu^H;$`)tq%$Mp62ZgeYs(cWjo*O|`aP%F8XMOy(rU z#Kv@!Y^LAxa-b%!>Z$jnt%{?Xwu#HVlLkj2_>h_dkc4 z`Wlecx}KEds0vhP1`?(zA=@UA#ogltk96tl#vzzaI*~wPN(jevTZ@pmr8eJP9{#m` z1)1G3o)ZQtM!pqQ{{VX$ENG-<#1cg+ipXfxOEk{jL{(COol{?ge~f-z0ZL{{YG{mtRi*01o~wrKXPgv!uUFR!^#E#=RqP01d9y z=dUq7r}`EgAE*bLO$sj=|ksPYB00+W*j@SIB zd9JaR$j?|K4^^?a!(>7-EekHhl&-6 zp7+0@bKff?I&5sLw2-HYK@78a)+rhd6go2!Oo9m&OpPRaGXoPU2#%+7BVJF{?j@+I z(JAawGW4^bYP|Ojb`)A@AmIeRIKbTtFgLDZDnscDvVFTMO!xJO2(2psKU`+jl4 z37hv>7;$SPxXLO;k>!gfDKWv(q1jkN95OR1s4DBSw!8k%wSSc!h;d>p-#_-jh_seS+oiN08%NByoU}@OtH+5Iy9Q@v6OX>%y<6)hii6S!5wJ! zwJC|A+4nH+w!1)MTeR5f57msfPO?qk9g(x4-uBwMX2((6A5^t;r=mq)R3&6&YC$QA zM~qlo>CgQZe@ycunfvE*#!$X7A|uDMNfJnr$srO(C!ye0j+b)r`9K@0FVw&Mb@(*3 zdyQV}QUFdRL4e$0sS%v4YjlrDRGYz6zc&8>8~!R9UqU*Ay-n9!Q!yhb(1zfWmhmSR z`%m<)79VVm40uF%{l5qq6?T390F)U^F)sSZ@|&VI3d^$41pb};E49GxP(>5Xd2Q0wVw;G{t@GpAw~y=32GY^fhNhfd zISU_D*7o4Nsa262V0q|98zk7Wi3HNlT@H+fyo?P5kCjPV-~iSZwqRP7f5Yy2ET&Yq zv>M6T!NXjmV?%!%A*wq7Xv-_} z$!b)yLYUUk+rM+S^3OT+sQcF?m>+XI3s1U?qe>3(mRBnAi%S0a>WnzqDIlLJK#??N zIH8Gy6EhE49>*#yny|W?BYsO-Ix>u%Np0H06yEE|{?$$2$3@iC)32uz@71=d;$f~i zXt(UXz`mu-mGN3O$VED`Eud5cTB0*usw2sI13@@24VD0TRQwS%Yxpv;&laRpxH1kaauIh&NJCLHns1;3q8{WO< ziK(PY5Z?Vr%_Ne)V-MU<{J80E^R#p)5n-viJBB$j@E$0xdAjg)d7%0_Dc~KVFQ&$0 zt17o=Ueq&M{a!I1F!II}3UyE{9&6*Ox`bLA5t0;!q9EJ+# z=C1v(8R(uwEA}Eek~rdwjm(4&Kf@Xne`E$fKOa3FBzBjy1B$xE@!$?WuRV7v-FuSC zE6#l3=jM)nD@o2!xNy6HB-TJks2aakHP53dU{4iy@NJ38E`-A8) z0>IED13-bmvCc`A^aHt7M-*~%{SUW9(S(>n5G5_NahuJ_{i9GSpXt|=z3i^>Beh2=Wz7*PR10ESXXB-Xaf{9PWJ-t1#VNsZ?MEBm+VZ`#}8 z4OJ#$sEvM^`1kO8bTCIZ`ieti?OaLXq$W@boq-F&$XEv7W*?9gb{z^DI@mhu~lB4$2TjQsJ_sO`)#qfwI6g3Tc^nBg8a2ux#0)!A8t z62yr;wJaBbN?op;2$ts@ADX;gO7<+lb=3a=^H67~kc;gK+qObn|Y>E^<%_6a*TL2s&1wi52YFQ#h67XdAl8YU&|W zLZc^}ZFywl`XPMsS5R`*qLw-1#>U5<2OuyKv%C1rWR&-9$hB~-q0yCg1^q&_wLFHL zuB^ivva)mIhpb9)(@7GJ{ar#wmg<}s;4Nye%hpNtzhK1fFu{j488@6kBMX(^9zBCc z60#YYMZAEOQEQ^;p!M_L#yd?tdhMBQ)YQZodZ)TDwxfnp$-9hxY;}9^?(b8#XR8uS z7{_!>N7W#WxT{KzcUOvf>0k8+`eEHLyY4rA!oW7fVu~Phd{73#7?z>L+OT5z1HDk0VH&51YvSLTkh_$ium>#q4<(OEIF^0G3|+Q}wXBA6f&3~iPmR~WX1mmY19$PjXs z8nII$m&u>uZEYt~Z}4>`GZ5Tv9L5i)8dKd~mKI;OeF6CNH6T~-JglU|cAUe2)UfM^n7D;y)t5fX!eAgBKT4gUZS zOG8&vNYjI_DQWE?r8*%t2G%In*v4pFqY|?cNGaWZEA^uZ%5wU3CTS>}T97Ig>XQ}8 zml!%v{;dB1Lvp|RjVH#&$eXv%JaA>@TSXocYS$#o5nmiGw4flce11xfP6_@i{{ReX zXw1~@{=78inp)b?m;V5-O*X0(A`)W74AKaWUHl{Q_)E13$}IGwyG&A2)FRnShEWlZ zHt}tpNA!37K6ei7^$%k5LZNUm<-)_ukc@$i+wBt@7zYd$3%s(0U*$(+SuIZyKLq~( z1@|5IeW4j?{{Rn8Q;v+|ojB=PRSlpLoTQ>GK(WcuyWjCPo|k2=+@0st)rD=8r=7~O z@_e&pj{Q{u!;JMpGD$oOPm1lqdA%7IBg} z20o#xL`JFWT^QY^HTKfquL@pN=f%5J0xO&z0h{MQ=6o@~F=73x2y zPC&?(8QI{7G?Gg!l#3%hJ6H@ymPa552IyE)SRT6U^(DB|w{12cdcRL@KHnVY@d6Uk z5Zy#$9$5k4zvZj3^LfWdB%P$4anfdZ7bC|!GVF#!pfnxOQdYYXeT4u)H`ORgGK$5t z@>!hO&+G5cA=LQk&q(@`(HU*rD#-*x(-(xd80X~ZT&~LR0$-0p);VF}YvCUM09J6(*4Bh~%WRzg0I9@kHD5J;$FH4&Y#oe)upUt(- zDC2e;N~5T|2YLE+`@6@9k=U~Pi$gQxO@y7TGC)8J0@&yzkpjNEDLqFN(ANEA7ynrL5SUEE29s z(N4{&^#-^IER_m`@<}&A4*vj6hOA6C`9t(t_b>1F>ByjZi*CLGvWOKd7Nt{F=cWt? zm4}NYi-Jhmoe4ydS@;OAvlm*eK&JlD>+08UEnTd2W9k7V@Y)pHk3XwNDzn(;7>vnn z8&Rx^)!L7@Q+JdZ*yX&45oALmG-qE@+A4#nZxK72)UdyS$R@O782a2?9|w{1j%eqL z`*p6;UrKSpsDfd41(i-3p*Xx{>YfxZBZC%FEK(|YTz(9p1G1J2`LXwP^vDVZ#=2Qu=%4d%IXeDvEHj#;LGn@}!OUfWcA%A^u}LC7kq8Ff;AZn`v5dabt; zHfJRjf4?8O)bFInPfhbSx#H7mVBqHYaqRV9ClwM$f4Nmsu`|kx7)bTnK?;#dD88-! zx9{YDCd!K6G+tR zhBqNYFY*t-?|SX2`1aI=tK79?3&L)*8Nbu@@#eb0+t#L;D9deL;~`ByHRt8_=}r#M zhur&=IbH)hMI6N#1LTf#N>^s(8hr((tX)^w8X!Q|{69xiyoS30NXyp8bj`@5Wz2U} zNo_@pX;Y`A-OEc(P$jl9kR{+4EVSh>g|oLOp!c7H_T9u`KIR+9$};+QS%mjS!mieq{YDOlAH=1kr*6tBKCjIy zmKwMHC#Tx_N$#K1e$CzSGFm(^swJ0cRGk2S(xdXuGzz4U%G$Ei8whKEhQAH&V!ud? zh_ZP(!&hXb{{WXb5D@B?hvNOlhO94BaMWT+_Ta*BxeC8-I$w|ab=WX6(nF25NQJ^k z7zqT9Jaa7&&OnJ%SzXzpLR2XEJ@(&$_BuMoq%=oVio$D7N=sbaLL{7-s^g}$KNRk# zQFST{a*T5wxx?;VycdPMb$>JHY&kJp&xMJiD`fb}+t0f*hH}eN00~fBGcz5CA00W| zei7SiX>8W*p(v6j$8BzX*N5C*8+z+U@hxb~4M}ZU#&(6^Jagi>tLi_c{*LYaj#$Fu zCN$X%EYK>h&JsgX5@ZEaTUYQ6Sv5M<(u45t!23_bkkiome_nE#D`ecIZ9Ej@hw_-O zes`aUYjtvY_*ab8SxoXtGSBc69s7^H=ZMQh5sM%Evl z27y%@t6H76=F^X_bZB4ARFW}OjCl9wsQNmttUjZFlV)wEh4AFZ#$J$nAJe#fr@BiV zIMPSk@}~Q!gqWoI_04C;UWdN?OIN$?G@VUWdir{D(v!TB=+(vpXXP4U2n>c_EHJHq2eTr9%i$HVl+gSua(vKrBsaqo7MG8D{R@Zm{&bElg@F5*~=` z0_DdCE9HM~moeF+mRVjM+{rAMitvP4pjrjXZ*0pc*f#;R^%Y%B(>|2-7jq^_q@qEI z&FABvo-e9euhlf;xC%b4OKKodd>fA*&U4ki;F2@RlZpgkVwhwXzZ1?GNOfDanX6WF zNJhM|TMbSULs~ORf&4t}Wr=R0t?=ja*P7@$5{{Sfbu)54n-_G5Hr0huV@M-!31ZcQ z1NSZ&yvECkOdwIi#@;sl3AP3Yj0pyM8iBeUAkQVtCYNq#^{{UMFRSJ1=WU|zb)`U&aD@~8@ z&_AX7)*gR#@I{vH>`HGWSx`s!4bC{g|q8GP~)nOy_fBcJI`Rmkb zYez~uT*_P&sdQR?{(L=o)LD{CMd<&m0C;&TwzOC%p0Oj$)EY8I&% z{FYuAoXG%TEu||zZ1c+gobF$otuh6rO$5S`wKe7M6MO+BHdJl{{G25aH<@0lfwbv7NT*y$%v7fa~-s@te*|5AXh|E#miT#DCk7xwTRG* zFE}0x{{Uy>o{t{dQihbKZcRx>TAQ0CEXF%|Z{AfyqW2dSRk~3|! z7F~)9_|>Qp&Fj~3ZbNB&SGbf{yN@~c>CG{OWf~3zZun{PZ7%V}`8qxJW4YtXS#)QJ zK;S3yI;wb8H%)wH*pk$0nuB`oD^F~+{{V^Uid%J)pPy^Iv{e<-e^cmc#w2Epua8Zt z=H5p*$??@p=qYgspH#-og))eZV=>>2S4JfZc$f-cc-*-R0+ZL&(bh^v8d4j*zM!H< zx&8WQL2ptl8=jn{qz$t3CRK{8RkW2{)%d^rglObxSc*w%W#ea?*;S1~I`YRmHgeMSYK7`+os7@K@iLNTE(}M{w8Va z5Ki2LwIXUUj@S?8%?++EFFf;4TyZyW^PG_@u{IBr>Tqq9?9HF)VBm zwXU?H>gh*QP>pV=?6S{)J_F0+tZV5)1T?h9Otm-4(;w;7NJ7M7Z}w0U?_-TmrpB#>)gBK?8gdOu04;_+ zAYGE>Yd7xGT^s?s=haV_9+Sam0B0Ry-%$DRyP=h%jxy)@w{>!$jl8tQm4Q{!Lh4B* z5RF}UuKF6CuXQbZxXbey+FNQ}qjg>{<$Al?KU+kKNej$Zs^u)Ca$SI@zB(_OdH ziK+D@?v2vmcFT32>fv%@K6?Gz`;I;gP{8Tk(s^ZRAMX2ibj6NIFOejZbx20eSKf6sXdYyMhNqC-=F2p-IZ14I&4hV zEFIyIAl9Q+UwSGmj&|4l6Mys5vDTFRa*J45W>@Cd7yWqmzM{?-fj4H`theT`=KN=^ ziLvqLak`aKKq(ME+C=~_{QM{a$t0TV)XPp9u`M&2@aFP;zf5PW!%}c=?w6MC@y$Ln zckiC2%8V{T#*j8LuAoYNWp?13=jOQP>dwCx*G7{1Oa*$Wr|sgY>yw)}yPH=vTx0v^ zium^E{w$GW#p-R_Vos%rz8D{ZPs**(1nk6~nUB*WC?(&;(^vlhx+{!yyva&qRv*_D zn&U2Q&An5Q!duHJMusbzfcSOb4OjAOqFS}8Cy#EBk#l8ujkWD7%&+~vdNf&^;RwiQ zMb!z0vQv5g0JqiV&BZAMjO#2?!VP$dkPFqcJSbuLY{2bm$_P+SB`}Gp9L2u~?eka7 zoc#F7*G`6-#CG=eE% zX%*dqDJ6CQ`6PC?c4l5yGpeEBY6{tMagL^z=7G-Den&oW{rX2x*$GY>nGSJRe>n9X z8_z}GDpd=M6p=hx3nXX@Y;nwEOO^J!Q2HvZFmpsGJS<4t2$I}N${S)vxqKcEDf(Iw z(jxs?!bG6PtYXNOxDvd6Z=W??F1|tsOlcb9F#Wq^KeH~S)->>{lIMG0g{3=f`HqDR zLNbJ9h_YdHtVC+6{{S=TSMrwPx__PekP=L{`-{!0zJ09Eo~=WO6w*K=o@l_5PzROZ zg}kwXRhwYMlF>aWFJVD9(I=q;S}_W+j_*5e_R3yCS8hwS^U}JSv!AV!b48W^08L0t8BCJ-H)$NXR#7B&(6DL<8y?Q%l_E`>Z9wUVw1E#xx~|?-cn!G2 z{a@K{^HQ9p22rh~af`7h&VBGc_zs}T#)~avl=?W<0*adyQ*Ed5omBZ48re{WvO*Uo*w0EbDno8AxrywQ96TUBL86=RB14St3D^Ve>~ z)7>zhr9q0gxi;ehRbsLEzB;9vgX~0358DNmWMgh4VoM}#A!kV(NDzS{)P^;L`q@2C zN;+kZ)`o`ev1LB~*!agx_WG5mJWY{RS3!^-1~ys6vgmds{{VF;fqap8p?^7crk5fa z3pD(;$8{j8156H}CZO~UPVO3vVG{uS*mLpAUe)i>^)%zBa=4_V5!&V>91=M6)h{hw z=c2hCvOe+KV|<|wRHGvCVwO0i2{R*BLx)|zhfs=uY=CQYO`)$1J$*f_VXD}`NKPb+ zsiTidbN;OSbgXsV8Tw@?UXtoaSc!j@qg?YvZbKGzYw6#naQh}YB9+O?MR6-K#SBrA zBgnAhqOanghiRt-&cPT`f<7JKD5g6owJ-m{r{Ftu0T%MpW0+^7(k4@`FQq&<# z^q9zD{HiLA_@mA}%dWcZ^!}EEO3KMaY+^ZLb9{2roSj!4uQMyVre5%-I^mesH`_>^ znY9RbAS_{IAPsgrngFxfFugeGLNpTN?tR;=+FSGEr8TuSO_ppUZ#YkDM9q7Y{*dPn zwIdHIAd_vpQY?jo>;dH$gR$Z>z#(jbbfZYKX^eRs$0K zkCUG@(w<6W!;vK6Opvp9)@`h;b3e3_3I$_cOpz_3s)r@7iH@G8jMOD4t;$u5-TY&a zvgxj=>B~n`O&M*}C4%HzQA$6lkK3-Nry?Zf6eQTEjEBXQ_s>H+_ipX-!nrJBmRZB8Sl5&W z$s}{^fLgHNFyoJj--vd7wx*n~Yq;BIiY<+&WDCdXu1N{{Z^DX~N+nX_M3f&^F|KEi~6w zc4{dy-1_XHWIR)4ImbLX=>i_{H*xNM39vh+GD79Yn+I4WBFD;2JW;X#00f17es7?| zw{uq*=jk=MQUljrLuM&~QK04l{BMmv`-AJ)l0cVE2QN^vlJUuZU>M^3z#`6Ng z)$dhnAW;Mr*W>li$>bACJ;A1$AXs5smSg8X)yGke-dd7r6U>A9o-gA#^+}=r=w}e*h*5WCA)GJLWL$ARbF10 z?7L6%9o#f5At`#~epqRPDNRfC<8FCq<>`C2{ZkG^886*;?UFp1YlVqCxbpqxHazQ% z_wg(twSy{Y5-fi)w_>rVXAY{PswAZ+(pn{Dt;tk37RIlOyyCBS_)N6jBehQE8+4_s zucsYSI$D~#Us=$W{C!OrMP|p+4a%^s1H0Y;F=P2`e=*RnjZo;@AvU3SEaR6_%z#)Y zJGa830}!DNzV-9%WqrK$Dt(zPU529?%q_jikYrhJ?Z$5%K$DEQV0gq*W1~qT?X$-i z$8_>+ZgYr2<99gxYZWpI|t} zbDn`1Y3`IYDnqrZx~AUE8E%VbCp%6F^|&J$4MhvB)4P?@KI3TY81^6M!MlsYT<{^;IZ}Vonc=6QzQ%RAt zGnA2pTvK>F5@q(YjpM##lU)OXMz5nSG>k1xXrEl162u{Oq`OAc1j@Vk{A@56lGgJyyy~Jo2%|@ZfqvDE=dE<}MQQ-F+xmF3n#g7DYFP>R(<8njgju*P4B_*}G1q6{%l`n*k&c$Xaj6J*6luYWDkYYQP?Rx^x08x9o|W)Bu4}GQoo-c($s19k ztWWW-+KCwmH?tWCBY>Rr4%b^#Qd*Jpw(cf?B8J~hSsq1i&s4Q^bZ#`e2^DnIjwSkX zmW6m;q=zD0hK^WdO{7ESt_)xcD;~5Rg@DQha>O+i>7dk>ucf$~cVg*mc08-XXFXzQ z65Y+TG%_*^@mVXMYvqR*xrpx_BJw;SN`Qu6F?CTQo(P~6Sv&xuz+yUoOLQN1jQHlb z`{cjYi|S^!jCExtmeOGoJkb*B{{VYyj2v`7xCWfg`57^*GpC7TiJXLMCNVH1>k&m# z@=ae|*Y{a=2X(A%d7!$vk$-s>##W6N)v=zB{7nQ>K-f~1UO z)riz6r38SjAYYXnm7)m*9+lVGav)K+(!bSwx99is(^=bc<&omH8PHUgv7SOm}&p^`uM7ovnWGpa^1Ddj_|_^e{5)RBM zOB(g&)OB_<0`pPMa?lhXP>i4D^XH6wRxz9%Y3=0=STT3UZM2D-GJoUldyiS~ z)%mhz;ALZCM>LL+Pa?;O5u3#%*mC2>;LrhLc1anKm)I~QAuZM!%YMjz;N(KD)LmB> z%~|-#U_a&Lq;{>M`1(5{z=hfjLT1U#Ty%cSk&We@-jl(4Qymyo?%Q zj|e1xA}hat2pX_J3twA~rnbnWHv~YD#)))>}=hF};QHg71p1sb+U3d8daQc_ej=v_*emkFkA&GHR;+I{lUx zWD)lo@>fbagpx4SlxzXP$;H2Xk6VV62=9~h!8WH3TfZ0c;Yb3tsoPAJoynxbe9O4aA0aqNHKY{Xj?u>{ zRCwW#I4r3QZ0t0%7z5z3EMjSPQ|&&!rj2gaoMkAbsU5*m!|*&}>pwT;alx5#G0sV= zl*p96wB)jo>sAFP#hwQO`RU%=HoB2TRy$nn3g+)Ali9rIsXf(`A>uqQl`X1&m1)nH zIqE5)!;MP#^<+h6atLR7_F7VOj0M|}Se6t4=dNpO#T`7TNLxg4RmIjk(h1Q!Z>X?t zi0;}CBIRxH752W9yRn8Sq@EcRHZU?q1gu^CXsWNup#&ou`Jw(tN=Os`052Hl4t@+( zzuP@p?cwz`BLVd4ZHw(ztL)Tmt}5PoN^CyiHcoVzrX-G85G5fE61-ufBe$KSk&Vw;}lnd^4;_b3_L73 z@&r##OES!g+Q|O^+!-o~Q_C;n_DQDXucg|>Er3S z7F;aOG5Kg5RGyZydknd$JD`PFmU3NG0XmzY${6^i15yf~U)K~1r}$iTP4gmcoyC`$ zIO8LEA3iUl$MGE~Y!Q_kLOFJL9n^h6RZkcmrorvK!xbVk_H&9H5$8_fjh71mLDgbk z9Ow_|CF%_nG)T9n+Zs@b2}J_8-KNmng!3A!&3k#r9d+C4Pfvc?(WrW{ zW)}t1dG@#W>qNn9y$tIRET{*y$a&{y3;SF62EGN5IjBI1?$@zP`txV|vdV)5>UwM9k&g|Fgm{%p7W*whiqFlKnvjBTuKE{B%? z088iJ9W(WfEe$P!Q-r^i88MRv*3nOVUjd$ocOKfwi9GS29FW9(dM2vgrlSi+m5#uz z2KZxKUo~R=DJJ5gj?p9^9`;pio6sMVX}+T-|Zr?YUywz`ksS3gxQs^+USv*~%YQ zQ`jX~ffs5aJ{njbXzp&5eh($&uVMG>;-hYRSfe0?~(^b}bWZLM}0o7I_-1 z6ZtBtvGjDI_1MeT7>O%5M5aD&{Qm%9>8H4abPd}EU&EZ|nGq_d5+$>vX%dw$&sryC z!N%=y#B#$+kc;GTEbThSD5EBaf@<|E>NV5^3`ko&yx{|E;k#{4D^67REA7TJb=RHm zwdJq7Vi4aVJ7cwU)uvXoqGO-8mb{+ili@jl4`~T$5EaOg!wCUVY!hhIC{tl<>MdwL zsjC=6eJ#qXmRYV(Z!fiZdXo(~6A1@CXeyT?+xO$Du@RSy?qF&Wk05btps;{#TTmso zCW*TD>1lr!6Vz?v6;9uiok(X@<#xJNOwfU`F zR%;aAabDd`*$?v$q^55pw58p;JdG#2xy{$wtVs(q3~6R^lDh2RqAP)`NWq*IV0Z#B zY%yU+Q?8h?hMYF7%W+Lm1;&iOKNoqvgBgUUG7#MwtKNi(8 zq2mQ*$!MmMXlKfV#E&Q7lO5q8EbV=HREEoH_XqV2p#ho&=-m|dY#SyZYij7H^cV~LtMCeX2FDx-3C z3a`MSN2Wquyf^|O5U*p>zW&~SyV6@-PT-VdD>BG)d6wUAC4k;B!O@8Ojw|6}POy#q zix6#9c8-YF1@?2g(KJ9?_M&>@GFm&RRoiLcEw|i$_~7x!ge`L0)_C6*+7{@oAq$i-hA%-_Whw57qePzO3F zRu8edR->KfleSV>PWInCa^T}R#%_!1%}e-Nk}>?@N0%FY{9ou_TySwB6Xa%+BV<&@ zNHw~W4Op`SXzWXxZUF$YTJqh5M|0&VD>UN&0Dm1Gb4@KcTT*_bFZFNYypaROJU&i~ z$DJ-Xf*f@qO+CD>XvXBTZyyC(o~*E45sHFty58wRL}Mh}x1SHT9Qa$~&yJJTgk9`` zc8OrtX|K7CKdyQs+?gasS0-uNF#E2`godGdjR9sn6UhpBBd$!C?XOdBmyEXaTr~OP zp=if)C*|Ss{{R)|pVOrL$%Ei#Zc$`~WQqsa7b8&a&RA@|Pr=9I@=wb2Ju+0X<906y zQO&%WZ|&o%U9v;C(41DcM#jT*l*U{hntWPfo|hUkF>H}3Xqi=48aV+AAQsOc2ZxP` z)`(D~kzXAu5Y(2W32!$tm87Uz$H#-);>V_Sb(qKK$`KQH@fhZ<2*rFnj#tMW1bAl0 z&XHs{6wz&t2?0d5Nn5M8*{kJt28aYNSvzgIl8Y=z#b*_l_OJKre^k}&YlluzC7xgy zlWkqJf7%zGo#z@iFk|-2oKd-{vokT~vp}6w7HIs6PRdcv!<|8}T#k;|#NVH07W`z9 zpLINV=~!xdiVGH||{#@GKh;S8HYd?Q3ajB@n1(r1IgjP%~WdTQwC zX-7+Bv|x;`$1Y4-w|v*nOdaB2ab$ubzJTw3;V+O%in<>F-L+V+lWRkEoZumLRcCEb z@@3~f`Qs~TO^o8EK+RlMvybcSK6+E_Q~3<-7$OMGds>H)RPfFg{{ZrGR*2YwMT(Q# z>1@=J6&T!a{ZhMMkpAx-Qq`0~5V4~scNU3X7MGi@4y0^}A%8ABN?u(OJs5yfX0TY0 zs!eTYVikw88$D_p%}Gcii*aHY`|!E*oE2wUjN>gfI=AQ~NJ@9NRap2qc{%8@$CoP{ z`6TeqIxxpPf+RZ%q*Wd@tD-|NQdlby)o9b8VBWHcB(^Q6dxh1X?b1@!BdHpW;u%VR zAmb+z&A9gS*XUOxA1z^45<&r%R*)59&crnfH~#?3Z_&{KYa^%=mZW1TH4}@=^7F{y z_M@O`N-SqK$;wB+YR27hvc^bh?`-@0=5jV*DXZ+oxWymUSoPDXSxBs-)`@yc8@Wl^=4$rFQ3u_z>4 z^|FGB@QgI)sj7NzFj7wjDaSV6Z16bpv#lV~WIm)FKYLoqc=;dxoBKE+lQU@pK2EHG zV<5#EAXE#<2>byUZ(@C%14E-vM@})-w{-PAKv2Xm?F)VKwVD9wZAs0JnHHTjWxE2m zy53Xvp!ev*tdZlk8btW%D#pHXA(mB$Q6#3U!g5FfTa{C`qxNY(Pq*7m5h7pai6q7R zU0wVRdO{PHuD0@Ulj{Cdrl}UyD*STZI;h29pB`26+i3Z#&lQHBoODm5$~xL?h)IZ)g1fH@V;6ZoR~>MdxZ~$YHjSO4 zn7nT6RwB#7mSBB0bqb@9z&7*^^!&)``bkuboS%Q#eAaln=(;_=u7w(NB^|XQvd4@W zCGyrU9N~Am=RQteJaNbqY^~l%$N>aptlFtAsAFrg!rFivUsLC$GFuVk+L^!hA3yx+ zhJ;cQl!1yLH1cy^hn;B)AB~t`}Vr5`Z z0c-rm>)3*6*Z|B_)qpzYp0?OJX^FXL^Wx9B{{ZvXQqYdHwC$!2=+af!55LC{8u0c^s#;b)Kan{byR(mH){Hy8BH;+F! zGkE8wH9NG1#)8=kmnPk#N47k#R%Y#p*$#!qf<>L9jF8ei$OCQrA~FMi?W(xyj5`Qy zjOA~eunA;q7~-$*UfpHxSn0yz0`DJ>?k=)|V(7)U+11T<-5 z;3?s+j;FN^N~{ax^|8J)kM`?wl;@^O@#m=@cB%L`A@MD2CQ1~!3VCTDeg<4O0IaO$N900=l1A&YbG_zW_acO zvF+!oSlON4NR~N9447<;h4H1zE}(;>X)Hul{$M|^3<&_+6eY56$+XA4qSwbY$5~)T zO7mZ*kKY)x^z!t*^$NBxYsi)4YmHci_+jwGsRoEYzD0cg`cu7j=*Lj3NVV`HU+G!r z-m3cQDfQqSTO4u3o_(;@{AaDQVlgq66d_hP#j;;4Km%q!Cae$#{{YeJ(UOmE0wHma zG=_5Dz0rRs&ppOc)su-^B)2#7eoR{ay}w{p_*3FtX~|L&lYut7Vb)ZTs&g9=h*khK_>fz$jX8;rDTbmHpRb(@hzw$ z`5N^MPpB3C4@qjrJH)9tad-@W-+yWsH1_>C>Sufq3~e4ymV-E}L#mlG<3kKso>zsH zipWs^0Jsmlx6SzVT9LUe$QNXFH@MV>of42qEUs(dO#Q##qjvC|<*BK*GickmtiL(A zUkUNYJw(0JAHp6cRq@IpjQ;>*N?TPR4t4|pPr@paf5PLo?jfnVAcS%s%}Z*Tqd54d zE;=XCl(l2LeNlBa3&SRxzcn$7Y7V7*oC z#guqp%8qX(-F=+=oO9A$!=^Gc@NFedWgGV>SIwW>rc%7g;8@w?MP>_31e6S5g&&G+ zK24E+yw_A^rwHnArHo=LoT8vrxDFdHJas&jniJ6_C^CzRd3=0$wdh1r=De=}a*;YR ztLd+?C&&u>x~LXLqL>kFWLnyKn!3}JG?b2MmDzW?_~pS)DC3T|IKnj~Zs{)#6jk$@ zT0ROh(_RD#g%YTyFKzI~MGRNmlm7sc@_rR~Q($Ty($OIjH*IrOa`W*1{{ZvSy1JT- z$puFOA9MBldp&)HBUvY%YDl7($nnQ9kt9Gv+@!Co>`2jB!s}U2VY7{=a+i(V22(n;*%KL4Jl(z1=j^7n|%j_Kp#m|(ek~EGfBns{{ zE@hDwkiM=NcPflYS`1Ie$>~1ca@$O8RlE*-IHPZZ?yzywox~zY&8f%wN-CSWZ_hm{ z=42TpkpV;q?K2|Us4CpFqUljd{A`8?;`Zs7FwF&v6r$ODbNlg&x2jqP@Zi7c4nF6l z{VNn7r&aQ^QYoOwnTtafKZV;K1!El3x=R#a#z}XTY`lu3C8&K=ix+bsh!wm_&JvoZ zHRId+^xm8|!dh__QkgK6g5wd2`jF;D7i~PfU+uxn(dOjhtZn1gHxjI#5p5um_*N2I zD2Z7ZtG3Ol`JX7yQ#HeyX)Bdmy1yCr>pFx%(~RWDbIG(8J5vfFQdO^z1ET%IxpR);O9VY&)}u4acA?0+356Dz{++576r|itxtq>GtO8 zujlpar|HL3pYq1)yeVE%{{ZRL42H9$Dj{{U&}&f8qu5@!ZmqaG{5<@dv!xyDf!pVjLb9Vn6`j#ah*$Q@xBJX~`+wATs6Umx$c~ z=jWp6_S0j(X(lP^jEc;Clpib2bQ3!>61;A!u#(|MDzeGFkX1krN@zPCe|&IEmsTX@ zDz-|TG(2Hb+uz;IT?offic26z@|iQ8$bGBz_vv3hF&L?L4w1`dHVDND04=B+NJliJ zUZl~w>3vxa={F#w=Dd7g?BCm_badq_f0%-cVAtmH_v1ePItibP{;PxB7bY0;F{6S- zII;&ZPXj9N{oi2FNEZ6q(Pr&r1IQN_WP~%5KJcY*At2{{R}~Pct*02-n8SpdeQog`mOL@}}ws z;QjY=-A(N!p$K;RM!|P89XV~<-;c{pdxmZ3-TstF$GQ63^)+R@gkS(QE%$G_Ro%DZ z`ge{<@uQL{2CEwS%EaHfppM?aD z)yE*wO=pv9#s2*;dNx!`d>;4~tIi*nJx$vCg#D&SQztLB%ZOnij8No5BT)R)W|VDw z6`&k7f*4m%>USDiP-7{}IB+!JEd%v`rDv?qM^{qF!fclKFyE5@0PreEI&oAE!*3M%&hr3O8&kav`2d z`!`i|XRG*)BA0o~JhC_2w#+Ipq!UODa8D!lX?f)INYrK;jaMVeHGn*=b6k9MJy1eA zWoguAV)BUF%CtVgRRk^QVok%<_SDpBIzQY{fzebp3cSIK6jP!_}RrbpxZqoegZ zavxXn#RF_?TeldYO9wuAZ}8nkWeLAeOv^_yUo9`%y}3FK+k1XgSd`Le&W33u9H3KQ zhThh|+7Lr+{ETZ=GrtRlq$6@=Csr#dyigl#N#Yfwr&HOO#yw&mSJw@h`lo z;!z20UBOI=FXr;rPio;_p8Ii%NZ7tYrsS(KFcFJ%URu4G*HlzMUPe0ISnBqiRDwWd)E2S(KjY$#ht$)HEwOawUO9NXtMSdBewEi_sVEV) zaj5f*;r(v2_rcFn=67L@hchb`#nE9zVio56RYC@FqP(xF(|dj+{Pdr7+gz;e?v1vRV^Ou@yjy<{RhKl&JP^2K4uVe^WDI0eS`|~VUn2vx zgaDf+fay(1#g3b&QL}Ojc=oG(`2M{&KHRBJRMihYXg)8_GyVDv-g6fkXNe+e%T^0J zsTkr?=oxoo^BS9=x9ZevaF27{YUs|P2?U#zxTafg-#p|1^X=39r*HLRY`-acZ`H87 zqyBx*9Vz8^Zs6#VV#mHuk&Hr7;!=^upidfr8P_EL02-2L7T?e-sT8}Z$|mNe7NV`M z4clK97hLDXJucTmGLx&iFe4R|GRjkuRI(9t{{S-iA{km6dnBTCSI91`JRu@xWsJO$ zg<&O;=8!Uy(iPQZI!EwHXGdC#eM=rMkH5zr%hb;9p>T$MOqt`t(F&!~O9J)@1|0! z)0Cvj5H#;KO(TTKb%UJz^m8F`ysHITc_ULy5k#tmS5^eb8Kf30SGgq7>b!e;)Y8OA z#)Vv-M!eTP_{mLmB6^y#jI(yKh@6*T?W;o=dCyVgBoe_iQC7%GnF9h5l}jlA)k=*= z{uhD|09F40DmpTY7)ffdl@u(h=QhyVS?$&|XQ>J4%0p7(5%k=0Cl^U(7nkiq_Qk-7BRf(BSMAc-F;9<%}y8_vbvCHNY?EQE$O;ZTdH=qMHU`7YU|&s5$>7l z+@kwZ;)O_4l!_cyX?)s0cfw3%mnA019u#8INg#URJ!@pMI+7cN?TeP>CJen2`b65GC&o)N@|++8B9#`bWp^B7EjTWivw@ z?j?}!h)a5`dk#O3+OMC)T@Ivn{l=uVwGDXeAsx|NZp-PUF3i4p>f59mQIvLVof|5j zQT)}#IQ#i}3xGR}o#QvUeaxo`a#hpRGz_Z=KvWN(7$=?xu*7l?T+($Xt*x%Brp=(0 zAD3!v#Zpl4Irr;RbPXLn0uhY%v2PL`&79w_SRAgxo zRoX~^{{W7D0V;Ylb+p`FiFH`y=l0`=srsFsv%V-3(+HH9N~pgG`+H}egm%oH-;>;D zIFZu4jPgpN$B+?BhJ~>p?2JEcK!Qg~>FDW0S(cm#Zjtp5PNeM6BBEI8Qu<4NQ3sB(xTl>7+ZK|<`6 z4Qgyx!42m>5d25E?X|SKeH}&w;}SPyWUAKcNXo9Tu6#JB+jd%VWve&p9J_7W9N0Ga zZ0k7hIo-z>0dqd`9EX(zQ)9`F*s{kezMzRCk>N9`9wJ>S)QTW$S2oL2PfL8Y22qTq zxB&>{{T_Vd^lEn65}vQq);$_(>FP( zlks7PEyH{oBc7O`?dKTg(>UfMn`^6Tln|j~0L8y7bz*k!8)tjmCF*v)j*}9Q8ldr&~Fzyz_Kd>?S|6(P;9_ z0#Ojxc@Bqw6c128-~ndIB$2@VbgcgXF(Ae(A8v4Y2hZQF?UtfqQ<6qgu5-=4O!)We z!OAGnh)DQU4Iw5;WR>ZdAms2*Cb>WR>oR3Gi<69V>{rhp^V1N~KAq}%DprjN2#6fD zYt4VV(GKx0EHFkg6gwcYq}IrZ$&jCf6j+4^Vz=?A=`Y20X=sp?MvF;ifV8jo=QIyP z?P04qPwCh%A!h5wet7#gT~foB7b+huD2pIyG52lMfTcvD?N?B&6Vz6q{2HIxYUyi2 zI=W`aAH!pYouw9FvX(h{`8s1-8rpK%AI}$drlfdN1z2)8f2MDtJ<3k=i#9BMt`E7y zmRY6BnpuQH9wZx5MiXg(3KbUB56K|`wmYeJ8e}Ki!V(#6)K~IH9;n3p?cg}J-ixOm z(^49e*VX!Zv5ZJYnG&3r(@k zFt1*%cDmBr7^kXHFd14FU!l)FF59@h#8}G?BjhMVwfMg`n*I8NxWt)Lz!qi`0^!iA z{23LQ!!?yE>>RLQ-xu%~qIX(tM>gI(t(n5!IBak4eQ!ozP8yz)U+I_nWQde=xH!Ka zI^iZHkOkI4%*+La^oBN2{=5R^g0zn#SS)Y;3SUN0pYv{$6dn-+(tAJO9P~e_8Ao$K zVY@5gEw6+0bp0mCwIdI~_eET$JUr^KJs};+cFo^NqINE215*E!t>EV{zmA zL}(z@$!!~Le^=qG73Zir-Ndzx zskS^&-IY}1+x7Rphf5|-Kxkr(PC=bdkSP8-1)0eN1zNDc*erfH>8R<=n-AtPQhr*+ zuip=w&U)%3cFC174^Hf5jdhZC1#$~An4MjDb_-+?@CiG$8}$RL zNB;n-Hrr7Ya`;|L_iKmQ={f4n){9I?uhR@MziTTE@sB-J$xpY&3lRa^)R);#i5l#7 zvem)Vjj!Mu>ObNzWIn5~WHpG{j8`^Q{_jW9)E!pBS+((UlW!GeEpo0pO3BC(TNMoc zMGByo-ZntZB&q>Z9p1o#Y~KK1UUpNR5SIpOiVePO&nF{;*y_%io!Jew_K?;*;2fBL zewQ;bu;hm-WyX`q6fFM$_N7FQ)kD*P@k9^U9M$lbccBeUIZcN7MhyasuFCWR?*VvERb1ea4& zN)DLpCwY)z_pj|<`QxkKhex*VHS~YYYU+A5IjGCgijCgsOL4ds>2u?x&!uqttbMl! zE5BYe%9F_ykQbd&Nu@u>I)%7Z*HH;&F|j%p4xq7gv?V=J6Vn>o6Y~4=w|TUxaa?s@ z@tJm$?t6%S8k)L$qZ#Sy1Q|z8F}dkUlxDz-RBw zgiPAi`ky6oT6o~_?FnBm2T(-~gI~4u)NpW*Kgv1#$1?_u>P32u(2JfNo#xP$Eber{d zCQod{lOH2JGI2tCypXEO3Me1W>dk6Y59Fd$R_Uk=wzXlSrKb>INwx=yQulDGQ^-s%v|no<6gE2&eh;`OpZ)Zd zbxrig(3}~d8>1ZY&$FK^caN#fNqE~$ZbiHtj!Z| z3%7^ao|=w>r58J>UDzw) zs^|~ufn7FZWWk2X9zH+ZWU5AsEQ4f@*W29iE0Suc3nX7O4S7aE2*ety0U8`uZG1P* zEa^$XmgiDZ(}HcND_#Zv0Q%*t=8q_)^>2K4F~ZU*l4%uEDEZM@g_Fm-eDKFh`2|27 zMEq&`n_%AUMu~D@88W^w;c&^U=c*lsfdWh-?SywqYFd|E_;Gcglb(xqHikis3OMy? zU6lSnwXyPZZ7i*1m$sz%=7L&ZOe3ME=-VujbGppP<#2r0JqNp#{d3B@d^S<}jBpfV z8LzuE8CbGK_Qp%gjh$JD+Pr~?8iPerIPS0DbISqMeGmTtT}tjPuROn$`1T$@ey3|g zQZr{Lze-5e?GSL{((cDCwVyVz@}-YeFHePm25{Utz>!;Q++#L3N89`LXio%h6uE?|yDI1zRm+g_OSPZv+hP=8x09^KGnpvq$8sBOPh^jD=jBd}sdv zmt8O8kGhgrA=V6dl!j+k7b`}96^WSq?BOGB00o%cbe_{Ql158)g}xB1e_uU0CR$`? z>fD8G=7&G~_~WL9?WqJfu0R4~Q!17P)!bA{D4LOZx}_Gvk0Gz}GufvpSFCpz@#B-y z^TOk$BiwJC<6I1)abNjK^LOX$)vreIp^q8a5d?wNr~LC~Qw!aCLOyEsSMhOsj$6B;t37k-x^iQv3XzdzmVga6~%CUH)+|*J+d)Aq~c7lxaP97=JMNk>0NH) z>q;?Qx?{$0UTc?Y%~$DtMURyv*@qeAkPjGF455%Uk+5O_3anRBPXx7H3R_N0JA|1; zFv?$$%3OK6s(xzy`sDOrX%mXKX!E$M+gE;{dcLmDmY9*gG){*xnpJ5K4l3Oi=xPmD zvE;Y;pgApa8_3S*ovr$em}z~nZ_ixO(RC%gh-sYP5Axuq^L{z|bru(Nk{F$GWb*7? zjxvxuDQM2E{melCmfG1_s1hirqu$NbO>Id#QH*&FujS(L_xbCc&us~@`f&myCSiM@ zXBfT!#xvup<;Glj84^h&88&ER*aV3MsX#f}xgS5^eDub&{hv$aLT1H8WnUbm_?!R_ z3`hpW?fVtTHGN3$w5P45W<6GcX&X56;W5LUcqWFhP1`4QGb7qr;q$iqH{i291es)l z9C@Hi(=QtyP_z}{a=ZGE#zcQ==i1h&jeFCC^yS;?#!{waHBWfSMSQf?+vDxiQPgKC znvzypbCBM5{Xb9L`LKNQ^?9)H@&4jP4ASK8@+uYzSPC-e2td_E^--|_h%7IvE4y(X zLq99W%{;ceXWd?X#OEC?&BspT8;o~t8NPFF5wTy1DhHZZ;fpNPwhKgGyMCO_o*U(5m5nC=PhOyMv_}?qawo gDDrchyl3R=nwr|0(w6j-xyS=q_{pDZyuE+_*+vDt!vFvP literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/53.jpg b/examples/data/Skin_Cancer_Dataset/benign/53.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1be8d1c4c81dabf521ebc2448b2eb95354921526 GIT binary patch literal 53629 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

ipxqbZ@t^ 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 E*}v4Vy8r+H literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/55.jpg b/examples/data/Skin_Cancer_Dataset/benign/55.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0cf1a7643646072050b16a807444b034c647b72d GIT binary patch literal 59267 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/56.jpg b/examples/data/Skin_Cancer_Dataset/benign/56.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5877a65a02b3250081dd4d5b634416c89d4d8bb4 GIT binary patch literal 44948 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

VA{n*tC+3pt80L>< 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 E+0V9%tN;K2 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/58.jpg b/examples/data/Skin_Cancer_Dataset/benign/58.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7743f1385306f4cff71886ddbe187bc2b6939e44 GIT binary patch literal 54194 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 ba$h}pPf4F=j{sMp01{jCV+r|0HA&M0B$h= z_5Z#7Kdt`-`F{%VKj+(C06jTi1+YRyKo20KCm^CHxE%y=000Ce|1$&r&mtotCLtv! zB%lD?nZfq}gakxH!~{fyBt*o7ghT)W!aF-XDZ@hm8IRO`Mrl=EBXTA+MN z81)Q(gutiOJ6CoB0MY*f|KG^}^CSR}QrsC8=n4M+z(oIxOGxs+FCe6UNW>ro;87(u zdU;yAFRRced zYV~X4xOyL3ZOwNGr?m#0rm(?Os`L`vF2B%16Fkp3d$cGR;LDz^=FrW}IDU(Qomo|W zdp>F1nk=UscRVLp*@M9-5yVY2_o(J8ElPGN2uy1*v+yOVu=ejX9O;x1``^!bCpBM_ z_4?k!*%bYZt`Gp3$mXBTSV&KqX+4fw4oEODK6);l1vql(N0-@3>qDy#JpQv) z8t;2EFjO9%i_e;msjHDNvr-Ir41HG!51@s&TOAg(d};ma2Ina8~h(7;iPBn!q?T)_199*$V@zZ7_(|fvcG_w$aJ$F!?6h4;}c@TL_?AsD1d)YQDi+!6&<2opIrX=Jn}4Ws}IV^ z(t6{x&?d@YFV{B`;xlO@`;u3fb~*^Wet>qHSd#{TvFA9hVRsTt6et}`(5Q8AL<7WN z1&2q(rbQ@v@x94FJN3!VdDE|@dg~MS-~=bEf<(v$o3P1SfYnL~NAXj3k;k_HcT%wb z>+lnqxyA~Xr;Lz9JE%nvS_vy}RCxNE3dB?N^>2V>B}q*6{EK4!BT|-sn3zIIuJ+73;s2VW5O@u)meB8fxkU4#S60!k5iLQXmuvjy6$Jd z*4rm}=Qpd(7?&(8-37?bZUN_q(+D$*WZ#FAE2$TX_&=YvH3N;Wplg1=dm)t&TIk5X zO;-^GjO)HKZ@iEnq0kWJvcG@LkMyb8Heqv)mH;O8J?dCgvBrFBvDL;S!3e zf%O((pbQ$B)Q?Y<(icu09*#`kl)GxXv=?f+N{%&YT_hXzlCKO*yCw_!M&IIZhOPnrGdzk>qzDYMXtjk#hk#U@_YFH&XL$TEsW=GI*_M=CphbxoU0@(6;>o2dS0k0yi zkN+lj5nb4{?9#`ELw_J}-iyAiA?*Y6--`|CHs9C**xI!~KRaaMt@H zE3w@QdZ7YjKQS=6s3yWyZen&Y{}n&NTzPeh-J=_xo>vk(^H|s&{|q#za{o>Gk2Vi2w48Vg z@U0Abc{AvP!~Ug9Br99^=u}vde)S?;*CU)lL{%}rgmtsF`Vr>qz}OWnRqMvoqB&RSg|P;5Foai z5zipEh*70V^d_Lj=+R(eGE+yvX1JB;Z_>obg`tlNbj-)b)vrzIa^aOT7Q5e*>*gU< z|2&V;Xg$ro#ZEw7CFz+13l=*}pKfc&$~nSE5I0p?ow3CCNbE-#$>^8Zx??n>=ug7Y zn6`aE??DMf!Ts|yOa0?EdT}RX1K9+%oi<;~O@8)YoQ-KAKwcql{|A9n=KtBVG9Ips zo1IQoPU)UUB+hQeG>>?Dz~xu13K;hj)IK^3EfrdTSjl{SZUMa!!bYQW&Yyz3Cg{_c zuP(~mwiF@RU$Gq}mU{4KpV;7Sw$oP6{xF+f$HNlj%z2Y`rRklj3}FB5zA zY|t1DJu8_2t}E8p>lqghArx|AznzUVuQZNCuWk=f>)li4?0p+7)sv&@9Vtmb#J-5Y zBx)Lp4atXUB8^KmMs=UDtP{5P)4aOuF3%cKz#%j{%YxFjWG;aYm;BtU=H|la*M_3P zt2!>D857eW;1$FhrT#pJ(4H?iZLNP0>=B3kc$Y=S%5HHBza?PDdxdW96s@{M;wMzx z0N#700PTOvXtos~mN;X&)hoaA^*KH#q+fK&brE{}S2JC6HFln*>Sj3d}LxePaS3y69tNh{qtqwgao zbPMnipqBowJ?4@T4R8W0L$Pu2ioY4JL|9lmO%7f*`qdnqpaOKb2VS~)nQ2HFiliZa zw_iSZqPD19@-1d%1dAZmG>yIJ74Z3|!l9tm30rXcEuQJW8eEoG3*`^y0s)HeqsN=p?}D z(e^I+tPgx=XcN}cqZBE>QC{+}Vbm%y4iF+bmXCg0@k4(g3BWpelFhHm?Q{e&V9iVf zEkrn**AyVkfab5qp|E0qTcNT2JuPLd^3}Dyfzl@f!uTcB+IQ{VsCyvr;Y}l)U{V*k zn{nNeqQ>$xOrrDB{|&`z52!D>bHJ@rfMpX?$1`#XSY(QxVA4DtA#+oX4)-0r1;C|d z|Gt2qRCvAhUQw3LjQ47+n6!=*&`hnZRYP+qy8X#DH` zmUSTE*ktWIy0~ZbTe&wJV02toOQ4;R%V?&FeSd@~k4}T0f&X%d4d->6{cM3^+ zN9wiK-2(K4?5xY`LD{@E&R-s)^~ab4`CEw^XvWh}v|!XUttxsC$(hVRloupy^X}%? zxiAV}i-X!y@wIlO$Oz^}r5%)Ef8!gbm^8+QvGnQRJCn1|3^}vlz}SJPdirE(dXkX6 zG%tsCCW|zYRkT@JNE2(|bD* zvIp8nlmsI{2dCm0Z?FLRtq|%p3vU!=vvgF-IquPJHZeiC5)s=~W6bd^dh&rLyu=$| ztiAp%0pK7U4HEt37&Rg9?cpuK)J~~4SQA8q=DdFMpw`WkJ;!$7&aELx zXRt|&W>&&;nP#g#pI)|wU))5QXK;CvJl%WVr6ddC^PD?}<8S=hmYP2_oBvkYOo?K; z`I{jrjbFsHw#+W~_6}oO`8axE4Q$F-zJL{@FdUwtq~#f>#K|FE?k&^wZWsQAb?fpn z>$pik)bbF2?kid6mHI_YW1%we`0N699P6u@uVzgJcM;K&yXfequt0_SU?#n;z-0$^ z-~o$`FEhFcgMJJauSxu(Jijpe^r1N$6WNHC)rXw?*}cL%VxM6q94iv)(hRb!iQ186 zUnLlyf5k?hE6L0yf6nd6KY_eA-)r>>B>x#ZW?0z?dkbUo-0!1WM_D7<;Aj)$XYua~ zoLnAbHn{}tiz2@^^FETN5^Ft$AapTS3;0WHz|x!Gq$w)_l9-@%_Q7ZwB<{*v`Ktr{ zh@usTKH1g#TC@4V>U=3DY}zX;%~_J#H0oSA_rcnhS2i@vx~km%+@tM%YK>JZ_2r^y zgpROZ2=Rf`z+wivu>~CLJC+MxtF8auBv`(-rt{$b!gY_FrD)Bz@#Az!r$YyN1d)u3 z<~|cA#QPRdNWqHbVSoePQTc_{PmphpyJP2~YU@7>7yHZl@QUM|hRsJr=V|Qq+eal}|r=5bh+TngP zG*&7a+A5O9O}-MUD15FB|I;!?hEbV+>>|B3Mk}5Fq8o3+7?x*87T7OAeV{;tbW1XX!-K;Nt9s)e%$DK_$@Vi3CMnp`1(E=eq+JZ{rcmkOI z8qO>=SZiQ{Han!m@;?ojmqK=v=F0cT-3CvRMQb1vkUlzegH_JoLbw@bl2h~U!cAV= zrjjYxW#Ec3Pb3j@u}%3>hMrfOTx&!{hrf??0mtzXFbE^GRz7e<($g-2!`@=rYr7%# zM{ms@yffdcf4n2hVmUw+nQ@6HHSu;K&c2MTfGVQB34%VZ)%fWF0;di0 zxrHT*{&Kp)vRTV`NBXgV^CxQ;sdGPnIw@I~PjNqzWTHy%g!`i#w3m3Jsb+IJJ+U_H+5YvzFaj{haRQLEMGoBK(4Lj`iF2+Oj$bUC}SyzFnk@a0~gXKJP$;>MLra zZ!aS_4M@rR&O(~wt%i~^&-=O8dtT3^IaO$60?+*xsodCo7t*9WOT_$I){SAR87&=O z?rBN}pSK>-tsqD#dcmeRFEjW8zlCn3dduZSH`kM`{xDbiA++zqD=BuHS4ihEc=o64 z-PsxNGF+kc0Aq4TX#WUn}3 z=1$rMW+QBqlauIohrg`|D{CE7@xxXI5U7_GgiE*uBurRt))NP=IERSU z6nE1B!vcmG=fMBw^Y2Pb>p=jk2XL@}PP!?*?>Mz)#3W`coiUo$Fk^y(;y5bS-pcZg2@LuCl$I-Rt*7GTg>_)NxAeL<~N8!*jG z6YHnr;`O<`doh3$iRJLJn?JGf5f-Bq;H11(G&OL3+;zUAR)(mS6C3dbcT1t5Q}6$k z8p#V?zzSc&T@lacu0@u&%JMhaj-h*-UA#Nq~*!m^5K*2fDAD|esmGBv~#^;h-{LoS*7hz|UVGy?v7?Te@!W9-qZ9t1s{k(f z!tW7S_h5-BHXfbdp*#7^C6D7h>4N4iBMuni5Qm7WY`b=bAp^Fe8K^yLN*H6r3C@;^ zkRJlR(1)<2ll!kCZO4PmrL-lBU{xQPFVP_V8o}bP^O(*v4r$v%eCh??luz`y z*xK~|q}@{kET`8kK&rET%;HK>1Tw5cg9}VoQia6^IZItT6}d+#V@sFz_+RcmF+B7B zQ|)`#QZbsI3`a=Yi}G&W4yjq{X5Mv&Pl>xBgcQTxfi?7JFzN&U%>4?g6iTq5C~mOs zsQAKnlK^8`8n?K_MX4uO^K?|izNcMKzmV= z;EB*zPsbC4n<8nC_G2f)Ie09_5$2t+s5vW7-!SX&lZ>h)O>2LlK1VHnIHOBXYdRU| zI;u}Jh|v0Bv&??xV+)kL>4cEslA)CaeoBgjImhs*id-4{gUp*L{4x8DG;rNJ|tP6=vkqiFagwsSrX9 zO)dFFEg2Q=CqD%*J}WiGpOZ|X!IqME0iS5Ip;QigGhh0 z7-;7q`Q4|pNV`tnM*OvIr8*w`dz7xRLo9ey-Z-b19m61MWgqSL8zL*qy4^+&JA2Pp zp!?43*SVRT77Oy%Of`8$nHrm(%hC%F5XmLZxSaMf@92>)j@3O_BrAXHaqsE&nR@;IQ^!4G~_j2z= z7X_!pf#^d`&?L35xZE)v_}Y~0zlr|sPJ*_=hfgg&cErfn^;U__I0Z9l$r>sPvn=*Q?bh*kF%cczhX3H3vA)L*&RFM>!(Ks;}RA2n!N~C#g{4 zGNOM9K*0c{E8qJ2!fcnp?1u-)75p9Xvf8>LDU}^rXz$aC5qC!dnj<|btPJ0YRJmm6 z_H_C1U5X&G=p{v2@adVT!(7hb%t ztX<9(7}sLw%nBVkkuP}3z;iRVSn88#MEqio03}UuVfKLJn`m?w$+iq&gk6&3x3!#%}{xm+PwUN9=5bm*I zeL4TWU`Bh>^5LO23R>PFR-}gBi4PG8xB(Z3wOhcXL=ng15S4qw$;DEy>q&Dy~SKXxXNv&{U4y*8wXQZE`%QFFQ@How_FB@YAT{=j8b*xLO z4!f_l$Y3d{*I-1iA7j`$h(pFx?<)qkFj~;N=|$^Ha&>UkJmxmpnHase0Umdz8aHkx zkT^zzp37k$8uF#<(V%$&crw^MWsm?ye7Lpc%hIU*pf2ReuBC+*k953!KG=}UEoS^x zBeq~C$F}xJi>JYBNRw2BSdecexDn@^f%ttSZ(U)Hk#+zLEg@ZVs_{F88B1&e{;Qrs z5j%@#AFt~Edho#!18fn~Od;&R`bKQVup_AjXjtGtY8K;6oU9Il0{?R#SY|n%lKKLP z^oBFmkFTPil_E@Mtn>i$UjzQmk?|anT6d1hh=>LF%`%o4F0$qqh>VRj+UA za9ZMYMcI9c5Q^~A%d%G$$~<0bQwhT~2$0$NZe#?sZ{;?JdTo#0k~WTNf#{cqxLgAmfkWeyI*1SGu{t0`A9U7Q#~LmMs2Oi*2Shr+2X_ zQJ=^y&>Jmcy%$)r@Si7(gz~~lAjw1wzO^5-`#=NERW`7dv`K<58ECt|ejR-y&Et8W zKmBdr>>SxFrsnkb@hZzTrabE~t@Ek8;2JkK7e8zr96HOvk=lMzgDC@I_K9PzUh68< z8S$P}6uoY?$Zl;#XZLehj(8DDWjbqKYy$K8HYsM3^WHA9zg94^{gylV4kgD?UCMmz z;yc(vBk#));{pAPfPI?~?twTPcf5K(Jfd%ts$J1C=aI|AM5m;CV?`)4N;5o7D$!6$ zOb0>U0uVBAI&1|#i*{hSM^pQJ&QH)7P- zyO#!|wqGzdSOlcokD&h9T9Bg2bCxl_Sj944c2!6AgrOSmRWj?tPL%!noKA&{;bYDw zB$j~tr2Sd#F`xP!B;*>MW<6frX>3~%Xe^M;c6)8n-itl@8jzPvx&o*m|kE@ zR)7xr9T9h{PJR`4Sj6swuBAh+ln2MQV#c6n?RYrVim?pFr%)89ClCA3pvrnNh9DE^ z$E7(iXz>CZimcfF#Oh7Zn@>$FNQ|u2Eu3$;mn>T4>2663#qi_M?Pwc*ef^2rz+KZ* zgmWOI63h!cY6GS@yfI#zUGxnxZS?!M+iH6SI(d=(BQo1>Go~h_Vg&zzNMy%6x4Q)~ zA!`;`d!WN8y}V@SLFORo#I|U7_u#P%5ZpJ$bl^jONKBDIn!#0>IDE{0r$6g zg>H_r?G!PM3$Jo6r4A?Ua?86)bwKrD-?uXdQm79uw_m{jz^2K1iG@+t==3A+ zq7JKKa|HaWi^2+IUUE?JAa*^K+&ageLZD;wJPRp~SF!vSg)>UjT~`@b6%IRari^s~ zPO(0aoixVUcarQDpkCT9(vfu)YnqhOw@G4=n>qQ+@&<+RVR3%Ffm!TXDAW%SHH8=n zPCN&j^9k{Kldl|59z{{hMnjP@hDI|Yq)h1n)eOa^7=iiD6 z7a~Ql)5rN-4CyRrw(n`);r_d)QicL!h75@ld%Z%S5w4lc3ldc_w)42?&Ics6Co#n|IuUV;|lKwnnihihse zedirMoYfxAw$4Vaczqo5gE}70S0yQwk8g_%xH+_$NV$uK4eeeuDc6br5rWcMNrfas0Yt#O< zNEPNHlyIWvAMLxOB#(gcm^wZQNTzQ2Es>>IdA9Xe*T{^drd=Go*I@@$`(*yXd}nXR zgilRus##}Q1Y!MeQLTqhfTZz`KGi_N!s8_c+g`O+2JS6AP{YyeHN|^$ruAOWo8JN| zors?0zTzcV;=$lGyp1F{+77-3D0?l`W-U``IuUAe-zWEp0=oFhN&tjc1bao``d{ML z{eLsh2FK?vr5gL|IYf%oxlg`+vVZ};>@)7*WBD*D{q=Bm%z!}Zq11hP+g++bKE72A zb#K{n^_QcCA%KvuzOI@LIpg%ZX)uJ7&ULfuBj4KaGKJ0i+#nrbPU_8I(~3tOPqp+u zwW`zwBdaF~E6H5%Ln~EWEQN!X$d6~gB$}%~eQ8gu z=zMSsxZKT*;o4>>unuJ5d-?VZ=rnu)xa({oXw}@75}m|cT%!`6+zNN|c*$O6=4c47w-&{zyLF0C~NNxbcNhK^jovk$G;u@6s2K|{A_ z&O5j@il0%phb4d1Ph_EM7&5boUXL+Qf7!rh_TKC0kacnemk}%JKjk)R%>OPiWT9nd z_ZEyrI|mp1*3)VxVm=o3jf7R;j;=#MzR0+Q=~!wn)Ox5ncr-?ivstne=LoD;(uqK zZnF58r1#++6bS4TzLddxIuPakD^)6u=aXD`wZs1s#hg_eZt`Dl1$F11AC^O5*lo;_?DIbu^D&3XfJBeXba{=M>sr zKG`i?Z~O!Dq6Czx#_Hd1!8q_@XN8brDT-DKtgCX`BLB7MgBVHrc1a}MPRbd!D z92_hEBfqiG@|^^e0+jV%xdpJwXa93yg1j7&_B1XaqqNgxPvX1uQqzr=1}mXo9L&a0 zS9+O*=C+=?vVnZAKM03f8B0_7>BZJ3qwE)uJ}>f)`_8X~1PwjZ7R(q z`0`M}a8ZROI)p4Xn7B|Xd;9Z~uCK@3nR-?XyC?-{RO@qhb`6Z1v)7Wb%tqbuyL#m5 ztHe5RIz?Ch-AEyJk5@P@ZH!=|Z(rbygY(aVvmHUb+!-rz=lM`hg>i%4^9PI?6BP8v zMUO8wkWcQrprs#dis$KiH6)82JasDyb=HGzjrW{(4 zr+`)WJLa8mcf%+ht5|Eg4Jnp5CT(~tecoAe;&-sS-Qo)i0-e#rAH&BCHKVQ|LzK{2 zH~SzEKb6Er)L1?kj~#mFdA!Ex443^Eg$gYV(p0E|2-b?OLGa~e9r*`upyf&ufrMlA zG`X&jyrGhL9rL;8I*)K>L2kU)jTR{*UxwN3!6Q(V6j~3tV&$Ke#_+8B*Xt!bn<0!t z#+Xn0mv_iw%=ir|B!}`A&@8E#Fu#fuBKPT%( z8p+7tQcp8eD5O~Cq zj;a@g3jOE_D|4}1C^z_F;CU?+bIrkM#T}=vGWRiTreFk?fK}8mdqyKacqBU;@64>A z8O4W?T@e%wkLJ`$z)9G@kYoyMy4!D^(K_2t01>mGtifHrSAm{klG!Z`EvdeO*qgSqa_WLxl%u$fC?YVBE>;psi9k zB7QR9k2lHjK15vkT0oVW^mW7Ewe9TCuA&eZP#>>is5Jaq3d7wW(e?$&Vz-)Bn5K}V zw>KH!A63fd_ppfbqPrApIakuhPImT%P%RoLMSLG8=Nl}*1rKQ#e=FVDKmQn=ta$*s z1ptvBnv!BIj5f!Q|M|)xZZh)y9;qYaeSCT|Ecb-Tk{J9nNg)k+C!v5&&s83+pGS_^ z$=rdN$DbY*b<|nwEo!KKA&Mi#EB&zR5^Ez>jkV3u>bpwRBh z@*v9#*YUi|^=`Vb|IFLpxP(nM1g3p7WXG`kwP}a#ZO-nNU522A(GdkXE0No~I`GRv z9W#O7*4!~uD0UQ%T}NWEaup3U*@Mdm<{(*{vI=<_kj9^xOpRE`>yx(zW?7QD%k@7@ z#+Cr;+kQo09oTLGf7zD$^D+=_LsELeJ_I7g1rSH2oB3BJPu_)8`Q44>4_aeWn}h30 z_&P>(V+_vB1G24rM<+gt6COuv>L*K5oF*!g&CCpH4ZtmAhsK{{57Ye1cT<_Y>IXbV z(T@{JbBmZMbSy=vMh?@Jqy$Zdg(DbbS^+SZ816zpIvZkB%st3YY;w$b%$1?UR{GB7VhFGj#<1_V5BOmV6YA&(S+&(M00<6+3N3dwRPez_9X94KQB;y z_>*H>lTXEsUpanV`EpL;6qg6i-`t-MdT6*-kDBrFIll5LVsen5;TB767_y!vVG)Nm$+S@Yk2Qfx&9rcxFjDC*NUZ%T{> zC~S=!Y4~T@qn?;Y7VPAUT#cJIY;H)$AB)!VCQGX8e1UqU#XV>QOCWI)b|>jMb+C#W z)H>hjs_dxPclW~whGN*do!2ON+eYHzlM5>-yF%kgT5@aMj(4+4Ger1KH6vQakwjk_ zMqng^Z1ik&{#gMKmyK=bGOA6-kR!AkUI%XFCO9tr=PPnu)n8If9Ka_YSZ32S^$2Mk zS*KY!X^^BXo5SB^>oe>Ie{+1-TvLGAIo-nkQ zJe{^A_Ut)lx2=GiUr|0^sfhK_Z#=x1HI zV^vU^UyY*`lanae%=r~2ZnWqN9E??Np2AdmPx4)X{5u@U1na-qU|~85UM&$yB23 z^JJH;>vBCZd|0jYAzhyXh>QSkSgggBF+l+0JdoeWsqi0Hc8hID;c2*_OPka^s8=pc zd72;*dStGy2Fz7NB5QX9(A}$6p`D>AQSQ&2f@8vZD)CEO~aE z-}mSH62-`%@z&*)g~Ye6d8OWtoyyOl%7$~x_2-~HbBreq{~fVMl1k4i{L#S9YSWQe zN-OVC_7tzCKRnStRkTk|?3G?P8NYv@Pv4w;evz^9v#f~EW|}p4AC?Ql!yox0oL})~ z$2ayNx_bh}TiCqE8@axXOZ6$Tb9(qvuY^BBzesl?%4IJD+YoLhzE%&B{9!PNCSOZN z>akEr)F%Zy8%2ZdWA;?g;?3BQrrjiS(-+JLe8w|0pr467`|_2rUp2XM0;Qi{5KXBo z>(*bXz4Gr%O`x;ZN!0HLXIuU>m6}LxQ28~xH688pq@tk-({Emj5fH@n2e)giwt^-A zhd0`R&2$)fFep}Z!-Dn(J{=exBEUx+WRS>6fDgCM8$)u&H#wHL(YFgMdVQ*N!( z;d9x|2&P0vx`Q;;(tJ0Zb7D>o`9^hBz3!L5Lp~@O6dMMU*IXa$x`%k%VFgC+yAUuQNy(AO(X+KgoP|WaX>Pz z9-1E(C!5YMhS!h1?H}3X&cvtA2AR5_o4qejExA#K4usTY_+;>9#EB3-clG7X=Ft?v zrhe{Y<4b!OH!r8A&F{5jk#g1|H@?;we({Hg*hxrS?s4AuOI^Pg_?1(`5Q-`BSr?M~?-No=s#$mhzf9z1Qtt~q3r?9nUPfH(K%^4z_}Mvd$@6F{43 z{?)IYMfpu(RXXAZa|c9Rp1Thnrgf%%1V0T{biA!}h@pj28L_l&D5Gq& z@ND8?+_=U2^~!EwZ90841aqtVVvt741YV3<9UCjsJzAUzKZK-1merFJ>ri+2mFSl`@>*bQ!q>FKifYDE6gk;ryw9B!i7b_CrN#Fo2SJM1<+@*ku`zHONhzViCGQ@n7h zV43gbQ!ThGd`?+PC6+iNoz-dr3GlBNopNndz&>Fcy$TYkSQ$z5li6P@uxn?2(cHYN zgd6`@;QsH2bvSO=)yVj(nN;=5tfo&&F%Tq$q>6Id$Oz|g=KTBf=~dq+rdUF;VV|?$ zEd;C$>u&KHQOo3H5nRhWXU?2V!4IpsSMWe1?G>Za+`-Ec)CQ67@I;h?{|uH!x+Dm; zp~Oj;f@ZndsoJaoN;5yq*=0GKJXePZpK8p>*Uf(tYo$?*tbL*2!U)yj>!HrR-*qf+ zGV}bou}Zy(Z-_`dY*T_uvK1-i@jb6^^F0y{wD@EXyzj?w&lyGh1ou zQ;rOFNIm;&84+k-0b2cvGq-1FY>u-BZ%f~r&&(vx((12AWA-R5Y51akA#-h6CkW4^ z?w~7Vmm|SvPkq7}1y2+yyyeSr^&v^NRGmR-W|>d6Kh)x?+a~OQlN`dRM0A=7+XC zu0@Wy!7&Zh8Bc%f-SN)NJoklM`VsHVSFnNWsPIG;g_tWp0`SUdNf|$bR;x(CkP#m- zuCwdJsDeSn+qZfAeFs|T*dw#Dicy!Al-^n<`k$v0u?QQ}weG6lC)4y00mxJsh)ue( zkZ=ZpBxB0K2CTh%mg+BLi{>$bF$Ll6gxq(xvSjEg+j{9RcAq=cxA@CT{XXJ1`MYb1^BoYqj-n=sMvd4^;Rx9`sdC8x9@BU~LR z8cbe0iZT@Y$9H!P?mkQ!8PhlBy=4{W6kM!sZNdAHxxQbyaoR@D(^!pmz2n@k2Zt*e3}K9dU8V8Y!9~MvQ$Kz5-B32D5!j6rXAT=)25NyO=BTn$Lo;ol+Zf}(NcBsYx>!!CF$=jt}T~d zR%&fbOfL*@WbBayCJXYF%?WLqJH2h>?}%~_;pV#Kk_Tdu_tG*o6UPzW(G zb>1PSOk$H;dgzB#P=hH^!`Zj@4UZY$e3({8#+)(VUCB|<9$7H3jw?EZw?5YK3Ysl$ zT3O<|juT^ggC94T?bx2>=r^<+@6?T?uWTdO;qrx|H^{Pmlw3O6#_Yii!%IZ-Rw3*~snSxH_0 z0EnGn_iDZKc2`B*h_q3$f28hKuC`C{o1I)|0;@^bDkB1l2PO-(!CB;2r;0@#i6&8$ zkb-tXKdCZKN+}+8<2QMFRc=_w2L(kN8$ny=<M%)|X0rBcP3Bhhnjla;Vzh&=d@> z4Y*^1Hw>-^RYfHmk8H4yb8@F8yK!C|U7>h!wlNZ-_R-C8#k>?%-56I0!(=ZKVD=18Wua(w#t+mo?=Wm~P~l&p*`h?|oWgs?fQw%{l(Z{krbydA3-s z7aQ&7zM9u-w9(6Oxm>Fl$4yB~PZP;eQ85`{s1=H;2a;I|MG{FXq-D&4+W6oE$Vc;4 z&3xZc>r92U9kEvLw*LT?iTb^xmieZH7pJTjU2}f7_ZL`ERMAme-Ku+SqHam?$*1Y6 zB4k}W38}A_p5$JWCzdWl$D!DB(9nky|l<>ST5pC5ae|Xk79G1C#shVtr+VQZC^( z$Fk%|FPf!n@f!2bN|ME80Z^f2rDa2MlWoFZA+WF^M0q=B75z$hA+D*pg$Z8^uas~c~g`<`t z<^KS^fyFrKIh;6I71w#hndA`VLEFg2?C%Ey9H`DmRM`{~CfkUA@0;U{_~6G}Oxh9O z5NW)$k~?bu0H!s0emZAWSet$@WX9;3lWye8d}C`8ndMUzqDJQQ9@m0oW1n!c+w7b#<;Xx>F>1kuU4WGnI* z%QBV&a2wFF{A6J5Bx7=(qMp5OB1);UKxX(7gK?Wn#gcjJN)Q>v)2R+}P-2i|K(s-V2k5 z_v=GTP1_a~9idEysd5?aFoPz>#PiVh;d8jTo}QMZ$jKJt6w1paV34ql@sAiZ`)Y}WYjw6h>}YTlB!P$l_k+M-#l3JkRCM)qAtp_DSsMgJGVyQ3uKl{U8)S&fZ<1MC&6R_S zT7BBTo!4PLDb6Ax*Vf6bkx5%u5+cd;^Ru1E$-VL& zy#uRT3`go~QHjU%@M=1oycu_2KC{r4S*bsxA%0QdzYQ@@aCAHg? zj~krDQDr6ivABH=N%jse6x4PAY^=07)8}nxaW1!^A2u zBpVa*khzfgl1Mq+7a})Wa@1tXrz>Q}Hi`O1$o~E~E`y~*(3^kUw!4B2#|nitSI%$U zs}8PKJxLr@ttAb?meErK(zQel^2r%hX%Ge~>?3KLiBM;ACI~{H4x0_qWi3d+k8@sR zew@j~*MA=rhe5BPP7duf)QUtvWDB?m#nLCM5i!WgZGu%~oU`D7}amZy)Zm>0>8B0*wMp2e2L!64=H)11; zRB&Oitd(?dRy4Hnf_B9mkb#EFqdtE9`A6X4b0E%1EGqQ+a@8R219nUii=G24l)b7p z(j4`P>Zb^@)2YhZZbi|@HaE@rOLNg@Pfl4SMlA0evaxkl zCuH=k!lI6WX{oLq+SHUU@lRsYwGsnMq^K$*3-RCeS}VsU)4tzo6U`w|%)JmtQhkwQ z2va#-ZV=wWwqm7=)i_S}?l z&C~w?O;F;N0USY@u^!dN_kT1yw-7l5@r65x85rZsuW7^SxmN*gIJ-X;!@*fjnJ05p z^OL~i%#5!%}v`4m7lhH4(?4nIS)&&`+;Pr{d$R1<~p4%plZj#N~e4m zZD|zs3?!%1Pzr;JLR;7F`%0EAt;+elV)33Us9*PIZA(rqK?@{>GSm|w<_*V16i3l{|Lf4J`2NXfuv&PWVDCqIySXNb;-Q)3d|IVD((6hgiCh}$FHl}L>a>)XQVt`>{z(qnse0$w6Pdox~&$j)~S4UDz=t#eJa!U=0G#P*Q z<1Iz9Hw1nBnZVsr72wWCsQaB-tsA_GR$(Az1OQl-0fK>&r*1F+;fFcrH0?yL>&ELg zr;OFNY? z7=Oc5dIXcy(nD8$2_b`ADO+hfu-tRBs-fz(_M^9GluA)Uk>)n9jkFbZIP1A;albMb z#BBT%l3T!S7~~U?g(QrF>#s&m?oGKfQ6oSHo!%%ORlcaxJA7`oC8Ub+MsOTjU-=am zDB_7Z%Rb0L06E_5RPqV_mM8uc44yhXN#FubOE|hIDfn~e+oFz>D#;Q%mQkjv%n~Wh zaf8MlnLO!I;&v<<zert8OAx)5bLLicd@M|EeC1oYdqdDV56`1?xXLi9AWojo0CA=#xMHoK}m1m)Zpt&cR2&_I<&SkeJof!a zeJK%yCpiETkurXOr2NebIp zHk>yS%F&I)FfiIhmO?_PwN{~=s;%^&Qv*^moEVjRZYl7lS})Sl?bmu2>s zV!X9=9~cVu^VT1z(1dqsjIE5HsLI&2aWNt(hS%lf=-XniBB5SNeEjh3c2bP06z9wW zx!iM%4nHF~J#Tt_XHQb=n2~icDBgceXl0yTCFQ=pe_j`-wlgs+S)0qM!h2^e7e`gz z?DtNiLfWnN?KMWXy?3mt(@*Go0-XNVT~0_IBhLBgf2dkJ?!aaV8^G5wt4~WozwfHt}`I&}X@Ko21g(dwHfSW~9`5+v`?a ztOxb^ATXez1atYx!6zdpI6v|G0o5_oWD$Epu0N<7 zqaoT?4nG|{mJ8rYzV_|S*;wH5&%aT1bm+q};G+YNU}O#s0Q>`h%Yr|Br#({*ON)sC zizG%|QMoOrIK{Xts&uA^N4B3C=f`W$?c?LBP0Xs(%?xMaAq23TfZ}>-1dyNV#w0`} zw~p4qQVHr!Y3++1-+KplYM?UikyvG1ob{omZR}Cg4h?f}lx7zP0 z92T#)w;tU+NzsF(l1713!QGdB{G5L4um@ZcIXNJXtNMWiwc}`%HdS6;+|`9<`04P| zm1A_THpcefA#JzwmFJ{qsYvqi%8bR2tQ6i{Z6J&)vE7!*9AuNnQEF>9wTT#s{Q&ury}kwYd7a^5!go_JmhjU)mEb7u~STe@gbGN@$vxd&z56?58MG|P*1f! z$631Ck(8=73tj^_yQtOJ^ZmN3M@xk;<{bW+S|MQ^V*Dp9ol@sms?&Uo%#o|c<8-PF zfSukTs4=z}fB+uCoDQ>nPLy>B-+WHyESTHEj6m8gNMGBIw71lYineyq%64Y7zI3lcH2Z!4dR zf6rHFG_ztaHu2`D?zX-UbD_0Q)>EYM!8}C=&W2Whj#&}hNh+P{%e`0>8+h{mf#uXB zq+;b{i#by*?xrbz40ujzt-=h+GLsEc88smdFyAN1DLl}YnXRWYO)6z(bD}A??x#17amE~MYDND5O{hy#dpOQFC{}jel#s-)Ax&4e zSw`clWVj``wOv&6M4Mrb7LPDh!$l0sDGC%2>Z+|Hsfdh|l6u!YJ10`%5;nh5SF%yG zlgddO#9hO|Rn|}X$m(f&aFnH}2X2Zpj;vzTwuSBOrt&r0dFroIaJ#KlzOvOU(@x7Q zf;xmhA*s7Mw9-Zf6oO(At0~%`61*1a@P?G3sSSM?0Bwx)*G}OB3uL7wyO{Vh)PAE= z)^CQtrIhC{xsRxc6`bgs5Us@kM~B?#;oJMvaow%)B*v{)m*$kZfi(?PZ0Q+Ffv-~Rhb|- zy^NO88a=QV)90%QLZwr?B1q#o<)e$c_Bq3;bmi8rN?K?mM}}w^Ni@!dmEJAQA_2g7 zi-Mv|?JDDF`4nKukdM*{M7vvYMkR)e<@{9?b@Tes)7>^NV7C%I#9tTya`~)g+vwAz zD&#Sls;XqCm8)5WHva&Q2%F^%xnm=HiI;4k5r-t;1#S;S5Y%-Tv22W(%1t3{u_{JO zzn-!ENtA?dY*>j(j}$oPoP5_tMAidMP~7jDhO(N5!9i`36CpiAKt#$1&$6pmC1AchyE9+_ujxvS+wUDm56uIPS}m z-k>`bX|C6rhO582vXW?Iz0pZ&?R}D|2%AiH@#py#=QL7e#e3EA5pk@OYRMJ7p@9fW zh6CudAn6Qc->W^l=i3%BkJ}iyS#r&ZcA;a|45K^WagA6@G2MJhB6!V}T-EimDWgDv z!2>98qmTB^03Nam;Gaj>8Rr_{NWIcoe!IaCE;sOV{{TKZi&9GG!&{nej#uui{H@w_ z<8y^4KV*b11`Y|_bGPmTCkHts6O3oBN?pVD@^@#+o3FG2hvuGoU2t+I#hK&zpUZWQ zEa{EH=>-HeHFcB2Pfbk(m333p$g59F1uC@D)XyuvBZdf3rk$LHNRita1og{_E$2U~ zA&Yoo3JO712_pygxGSSoSlBv4YRN7D8BO0}NZAdCO-b28OJYd^?T2 zP5_D$Ejn{3EXk4sS2u>BU?##ToxGRuI(AmvnT&!y+b%RF=8 z#FOpE$DSC6_iV@xFQw{{V!Q)cX%#m(s?YD>=_#M;8bH79ZYKu;at75^_B??*z2uCL za5`hD9ifX`Z_RmGGNlIv@xhLPg;2zhj?u;y!b>O_yZj!){_kp8wD)Q|m3EFf{-V#M zFY-|pV6shDB@@xxmMJ`yWHr?=A`-Y(!74`uTG7Oqtm4P)rNdjOq0QP~9DEGm&t{xu zv+7O|W8K3bXb%B&9vNSh=(B}Z8_8|##JAmm#Nl)6Kk@ePe}0<=Q-pS+Mp!X*#k60a z35TABDK>%d=97wS#iu2i=DKHfl^!*9%LY{10pY=1IL>p74CfwzAHFQp!{6E_B)AmC z953v97Ij{U{MQ)2s4g}<5q$m(Rkz@4et)N?mZqji;iiqbncg^~P(w1Qc?d>g6rv_~ zvB1GSL9Z={D+zcSrt(q!UU@jKwKSNt;8$~UVBRNChi>IuUjZql3Bdm($z$2 zl2;@!n8YTjjfQiHVrc4P4Tc*kI2cjT`dCX$+p9gxY*j+4^MJ$oUp~w9^;v@q#m*A9 zM*?5pWrvS+ys(<7W2lfv9By#x6gCx4M*`XpP)PA>0<;;rO!mU7l@jrO#0q-`UyQWyXTGG+K?*v+(#FvM*v4m!%! z)r-4)=pxFqExZL;!uij{Yo@Se^wu(I#m2@h-L&8C;qvugskpQogweE_SriD+v&EJL zK0|?pPaG%*ka@w+Qcqb-!6F4Pm5OCuJjpo8Lw`LpPfjvM2FWrk-Gm|-6CW*n+0}ls zwH$auQj0W4<-jV42I1j=SAWTaw*iz5;~3^9dy`IPpi6a50o7V|5=hWf+a1~Vx~ut44l2Vw>npW=43k4cS0rl-#WKMr z)-2ocATH-2TLdUM8-@tSJz{EUu$2;&s#hJr&}Ei$&MBupFm<=-v~;E4D0r(=JA;us zYdPb>XQ3Xc)GJ*_aEhaLa>NNXDSgV^$o~LwY?V#93HFi+ClTxJ2|oO>B%GAv7kr6H z$2HcMq|vFuP?jTC8#dHWYX&V^-SdIZUp~8=sv)#Tc%Zn;^Fec(V@&AVu(HRsA`7?= zjuJwvCPMjV(8GNuo9Zt7UC$xV8wiDxBk# zOY0jz^P!Hh>LHJHy9$XDvap4I03;ET8d(xHC5F~#1d)T+*+m$-RjD`<3zhcb+hm=m zge<=&Uj^xRMp}NNdXRxjCB$-W?9>GQ!1Uic1Y5%$j5QqOOV8d zJ!5O=>JrtQnm3zNSj4Id4Xqc3ny+)MZ%wTL(j&GLmYd$ACJOG{gB{X&6~H`=ZVuT` z6e5 zB}3)GImy~^pa3yZrbHG8)Slg;wxW(POqw#5amDqEt*J6hV%C_qH!pvQ8>?$73adQ! z^fJ{OJL}y@J6R1+{{Y7t39a|O>sCiGN^9-YbaLtb-Yleu%wgjfT~32>N@a?YU6O6z zx9K#r^uPP5t&h{t?y^%OQkw?Ug1!6>JO@}FtNr=QLL!8TYhMC3K#^f;EPqjtH`maM zQb$b`Fw<;RjUt2v3mU-~3b7;*s0tBPd{h7tMioE+4J|3{mBtLM-7QGADCVS?monzL zruv6gGo*|=PZdEPHpHS=FLGYo@zuH-y?`hzzmG3$2M7EgXYCved*`iquwWm`86(~A zRNcpsl$v}6Us=;BtX(Ck@)0VJ+F5a2bvs8nXc|Ln7xT~uy3(CjS*E*T3rMi*>bkjgM39#f zL)(oo^tGC@G}=E%>S~(1Hi(Ktv^-jhv6peCJ5{Hv8E#}Obnf{Z;14c&qFiNqHVWzK z?lz~?o-V^A2CFg&UE;au#SB6q69P0J5LJt4L;&ts<59$DfkG-SHi9Ei08!KQPRQ@>I!O1uUa(^QqD)QhtPL?q)pl$Zg!)X{ogz{@3xe?qmkmX)77L3@<_@ys}M;3gSjMJHV=tW_~X`8 zXP#yT;bd?g@mB8}o5nB|g`=cTQZS-SSx(s8U&d9qdl}~ao`IeFNUAhV9g)`&YOdgR zze_r*7BfS5?hc-MxQZTrHld}eE&(7#yc~et46kQL-3>|+oDx>)OK=PUU!E`!ME2li4Ft zc()xk65U&+zBVV+ZX^0os`Hz?@nL;4xk9f+Qxtn+lW>_Cj?j}rsN>>ej~$z!azCO* zQ=H?jFk)ln#A|hX%IdLr2PQGruca1Stz~=+tNLx=C^p!)`A&smh9{8BvCdjgnnNqI zWt_7S3EX!pL=VQvwE-)IJ_MNkU#MopB9RD@iGh6Db0=;$U5GUGzon@uLuT$;klMxJ zPJ3}{n{L*_s4Az58o-mQK##OJV$B?nF=c@^ld+f_GbmLhi9&jUdN9>l>B3IYoV48E zxCPZ^qP%`Oz9g9Qy6TL7>JJglL%NGa>LR2hGNnpOAxUL%Ff7a#CE5XHV0MU{pvV9O zcR~&u5u0@TqhduTYRhb%9JG~B4m=$Ajgl9*i-M?IumV3m*roB(wQgCm3jwqh%H}sR zWE5kcNI6ZcFV=wBK_3k#a1!UKV42} zgH^^vb*UoDPf*L_x;W$s6CcN^5Xa;kxNWVB41ZsGdbb%=<+fY4v`3Vaj|a9~lJVBB zrH|AIyQEz)yF&{lv&$dFSYhiOcN<(6kV!0`%j#zNB!Wpc&Z|!)AI!+;zk8a61t4*d z2q5K17}~m;jN3P{?g-A5P9tF>%(q2Wk`Y@v87Cq;zJv{x&U2N4Y_CfSn4;aam-h1xEWon zvdcWtOI79TlGZe3wkBOhG4BZOJZc1ll#CI$xS^yv&;8Q9Uh1k~7b`??e=w$s3MZC8 zu)z6dsM?4mX+xY9z(B+?Ir%fyU&C~?H>s~OaFxqwN3$Ur5~@_a-U~B?gZQth^?PFj z)98`btvJh75R&B@os@7!$C=+k`$Z_Fp?ONe)e~1&{EZ}Tk?mRCS}%b6OqG%{!*pT) z0Bzv?98uH=-qI1;6BQ(4*LStttj~}huss%(eLjY|nr^GFu1ao{wBiGZMiTCnWVR{J za&;*|7s^UYD?+fsuso%=E@F|Delor#TMPy=2*)QUr%pR=L}PIl?AtFlxQ%bmbxNAP z(5{gee1_yZQcvltU8Wkw3$mzuQKLuIQBP4uvBr_p(U_!35r0%jj6!{+KGFd@KmaK! ztAU=gJwv-qu|EC6#^UmqB{sh1T91ykJsh`cM@|e4w>6chMB$NC9ss*7YdvWFFRbV# zx}}~;BbHx;qPl>gzE+e$9Ln59%O15<2C00}NhW31Xu-pfkHJG{6!oJ$ zYn4gUXGDV1lMNSaUw1WBy?qMM_4dkJT{I4{#LG)akkc?<2Ph1w{ zx-cai?y?~W)+wf|gvH)14>tAlzP!|R?kxLqc!?{AFHei8c>e?Ny;sd zh2GI><-x@_o9hSF>P|Xtncu0aI@31E%)5JljaS@`);@8`yRy0x-`m|QX|YEuSJ$ge zbG_cH5H((-zujEbUoREza_v23TNPE4m?_c-SBQz~y-7lHl!}aW_8J7F-kyM^@>=C8PK?dwY=#o~CTju?$PVAP%1Wy1hjNH_rx zBXRN`_{j{@)SbzT8YPs?oW1W6;o|R_uA`QWWn`t?<~vQF^vRNmRhv1wtFEq4T`Aan z(lHEtN7JK7_!vUFM&JsJ765I-ZU+Q)e0^?{v}N6CL7#e}*;rZKx0*_>v-NbE+)+|V zTtTOd%O*_F`K!LHYf#?{yiDOISkQ1pk0x6x0m)WlfTsg?ILQa6?~A^>cY86ZAl~Y0 zpEfQ_>TE%&o0!`9paHnwA3U}A=q=lP>WyREF572`ylQrU*$y&;b_V7dB>6GH7{>v>J!ol0J9kHDvdp7n)U;sjZ4(0y=!&Ta90dl0wOxlNA0(}V$@rlT4IYxd?=$-rCI$AU=%mtv~2 z4-KSnKsee}e79im8zA5j`Rhs=E%wUshVW1IG#4%@{r1r zs|Mjn9$SXMQ!KphA`@PE4%D2YLW;R2`zl*|uNhQ~sK`0n(qf->*wNWkMKZQNP_r@5 zRT}Cl+3Dq`!tE@NF-_-vIV@$0E;oFVV5z`6Lv9Dtbtbzlu?k_R)~btT7?TkPig8aZ zbm%Y=VHIq;KI^J(_`$}0IO-0fvTIb|6zuX*&$!dnZqLBrrrKFlZgIFB;fMe^bteRM zpAC0LbJJOxau-dqRpBX0{{X2sKJP|Hd1p0A5;Z3-4wTI6%$lJPc-rUE7d>f zI>eH?{4*?Bd0GD4F2?gCt*=b!PeMD5TWDCuPNX5_++D@0#W?2=SiZH_()DspPfr6n zkcPaV#(IW3V<`+}&UkD4t$e;vTLi)IKZj}E9N`Qb%sfPYf#|_zZJaaVkIA z0)xqMyEyty9SvO;A5p`n9okTj)?mjJCvGmSXnx)^@w%VKy*9kPM13R#JwsaFw^lxa zF8H-joHaF3cz%R8TgN>kAJqdBNqMlqjlMP!G__v{R%|s!=_%EBHb~q!0I?Xs>C%*I zY3cn$LN`=O-f-3Y2GVzBju0e43iI*psqP~7-n|ioB$Mc52>Dq(v+p4y58%Y*~gNs zgP52}6?`vRf5UWth<~V){{YssCPb45OVQ}UI)zgrwPxa)Zsg*dzKgmZ!>A_IA{s40 zA$G2Ys8yRiF5q`6mK&Ijgr-X8;~;{|xMQr%O@B&gzwD8AsFRx)<7HjeJUrkr)|aRB zzr{{a4;`06F!qSJR%ciVwHI0YWQlWFRTttDd`gIVg4S4BZhQ&(MCJslOknwpk4 zi~RBmRV^Vw8yJaYVq72&+W^dlymd8W4IMgVTVuLXRj$!TZ<{G%Ul{5Bt4V}sDeG^9 zAt_B`2t;Gcft0b%R`B4()3K4hu)kLKlUP#8OI38D{#&6emHAiF+9IKg(p0=|N5gm3 zlSduKy@H7rhv{j{1(B3#`i)ILPJgA0<7VAYQ@1D7EsP0Oq(7Hwe-B?drK78?zOAw| zWO{4FjS`kpy3F}7?GrrpuI=}huc)VvoEfR+Lxs!23&;NPFOdHL8aa=0<8y8WM&DUe z^*Wl9Tc^}jbS)Ma@)h3K!%JxTqxU>&6C~i(F_-(hMo}7}ZM`}s`07{e? z;&k~pnO<1P1y2lj0t2HlK0IXe)jE2cU9;LkOk$GVA-imx+z$w=^A++jl$H$Q6kl#+b7K%C&r<_u%^WQMLxqR4V-mXqzUWPR>ZPA zuqeTr$Fqp#k3C`Q>P|X;?nX47wD7X~N(A}5dvup`wM|}z?XIoVw6KZp7V9NbY4{Wk z)q0w@Wv@(9suSk*8iKmn0;mTn(kg;ZI^EJFOt6$?C$=MPHJLrC@a4^8tX+8sQMOZ* zbjQiM#k!(~?!l_hj`S{^{{TYiJtw20A>z}P8)cq(!3y;?)O7Lx05h)kLp8?gYc3KJ zNqH(+vc<{jjiae4M5#0-jeJHSQLI@Ompt=Ekx_Y(6U!>7)@7MfSPpL1u%tS6Y3JO` z0-Rw~HzG1roGuP>FuT2D7$d6V9@?OkMO%4u-D*{SLGyLeHD1;++fNsaBbDd(Z#m~Z zN<>~KcWtGew(bOA9H;<+>o{&tJm8#yOJYXEvWmNEi_TrIG$Nn2I?mM@08)WVRK9q| z>{MSDpFMIX$jBsyZKoJ~WDw1a`WZPS9C8Tt*9eyIeZsyG_eyQ^cxbC=2_F&^W4QWt zUQgxtDNz2-eD5!OZQZ+TZjZ29C)d5&)ztE~j_tjYbV};jsrMyK{{T@}VW85wF4*L? z&rw`{IJPTN+as#3aFM1_WXhhwqFb8^?hqvw%$YoJJqfCA`dVaXtjEeEA_so54%muf z)=oISvW*96ZuY+N_B*+q(bO-jd$E1hy4pJ1g*lp^O6e;l7iu+)Z8nY2mU$e%vpH-CU1@s4Eck3L_;0PBPpdW_ z{0lVOj9@W};w|%@hPPYIMR0Ys>5WrT(SYVwqNcG^Op)%4F{;!RmgX@@kV%S`W<^Fg zp&RVw=~q^g2*b=DNrhM-7~{F6&i)4)q@+y4M@ zd91z6_+(^9_|)VQ2RzNKr=pQ2%-x;ou$6ekQZ}e?=hz;qgx6BxOlXr*ZE?uQYkqyv zzJfZRK#5jQt<^fZsZt3=GCk%ibsSQN*Af$Eptt26hSmZ?LbfEpBdp(37(x}YHQZE* zOJt9<%SkV6pEX@;Xlmyz5|z|hirBagK&7+W0oGI29lFw#OtlrZx#p)aOEb-Lxn3@^ ztTG{HaTQ&3{6QkIW)T3YRFJ|Q4$5mOpLB1Bc~e+tnDbi1V!>tb@UoOpVQ6< zWVI(`pQ)>>soaH|T~GNNI>|T7WteJun--3;SgUXEQAF!iQAGrnZ9hXS1VugNf;&CJ zWhLOVz~ZuV@yR#RL$Xs=l=ZbC^}S}lsfVX`Rcf)+)t4-EVj#xAl%?4Z1IJQ&&0k3! zN&0U==zS-t{vwh3l9ra6>3t^a{{VB;q-5R=nh_06Pl)$*Cr{f;C6b=1x@e)hUZgF) z_gx%DaWE|NB^5G8lys|<6j6l<`i~=>-BkLWO+qo#m(tT~W|o}hyFf2ia$QYb zOEW2?2kqKdMd`nU`fUlGuUU_+_432&HFWgrPmlKfH>cXi(`opOVs0Z$r#9YzH+n?> z08`umf+GyH(70!ac$7(D4p6Dw`%y~r%y%j0BoCnUF=e3wQrjr+#AYpfZERax%{-nu z$n~>-*J@s#iM~2!-=`h1rmVd(IQX=cc)pRPvqe`OM6%OE8Wj3wo@gn`$s}8wC}j+* zggAG=E(r8j1hwSpFqY+Fh(=P4cvodEc#R;ozTDE$(bf8q)X>rTbGWOar7iMWd5+PK zB13FO@y}5r$!V#VaHOP?sydC1X<;zJu)@i)*QcC)8A z$=yAy_pNq~V1C;Jo*TK};eW#Q7Eh=2^VW=v=)lu9M+BK^$GMjsti6Q0>t^=9w)E8$ zQC2}E`qNaf(zDcCuN4Rj$~Q7B6$Yj(sdjCKGO_F+0&}+mU)1Um$)T&=-wEi(_P1YX zA$-0%z)*JCy>g#;d+ON3Unya?u zt~$=D_iVP*$6u&oZ>zItpPtnfrlz)-B7ZQyMAN8}glmrT~z z->2yfHgRDRiTaA3;v{aMoTohB&HC8-zg_FU(P?_A{{W@*@{Xsko~D+ZNre`v8*SU)=#C57|=X@s_{I*?|@z$L5wd1te>E{8s%T7+6c>88Zs}L_I z4>VWO9mTD-nwqQ6Z+nAJG;=Zd?etU{kW)tV^y+0X+O9^bM3jx{ev@+nml*+1baZ1W zI*|1mGGZ8;sR>877a8dha6C$!W#_4VOzMY9aqa&A#E#j;NhmCN@%`vI=(lR__imD+ z2&?stMw_dwkUX*KyG{Q9PRJPt%M%8=+i9s0qhJsLQ{ty<6ONz$ms>7&xkx0_`D9S@ z!9sicIhx+46}8iT*KAnIEiNz%ZxoK!?dwQrJ$0jN;#II}y*G7|p?*4tqQ2Uy*`_XB zFc8*BDR%*|Hva&|0MAtVHc*);##`x*`9^V-{-v@e=-uN7oEXLaA(-y{4KWL1dzqoH z@oHa8dzn=C?P1w%2!zWW&sj~}OXV?k$NGD<*8c$Ja3tddNk>zxZrV~HP7&peSICTY z^g3OoitS^$cFO#_NXn@)OE&h%PQH16-mr{KILS8MGM8jrbd|Lv|J$SY!++0N3pA8+gSKI>mOmyMf8ge;_eBzM0$L6n# zC>5fXNZHJMqPGRIMpqfySabHAk;n9m6U|VSL+=&fcPQ2JQsMsq>zeW`bQZmbSy3tW3a zHH_1VE#uwiYVNi3w}&;)S--oT>bY1o8g`eo*2*1e-iyr|+#Z?KTM6Z+fDnM@vH#RL=E%b~~je<`C@}1WmZQwofZu@>hHPU zRPioiv1xm8k>IdtYk3y?Z8pu~YLe4+?P+Z`ZA0#2BFp-u86P8M`*YLb4Lt}-FpQ;Y z$w%sHwV7&4F}40s5+K(vQGL&;r-!(mg>X?3bvJR@_`@##)@lS8$Qj&o8UFysf(KH@ zi(4 zjHq&0>&3t2(30zCjwHb}jcbo0x_t&4}s^Vpk|ZiH4fEV)AfE`3v@5 zI=4j$T{4iw!`QNE<@mP7tH(p?iiyOM2Z|E{8J1a9!pdE^l0_IT@r~e+{HvEFoF1~Z zKB5t0Pze&0LZZmM#YbybOYxHW*^bzecQe&o#Ug-Yv9mPURmYAh_cfj*idtf_(un>v zia_jL;sFXFI3K7N#!t9-k(AF-YsOHiM^X%98jkylu^NrR3YC@1?;FbPISrGP;94}y z=k0LD{1tSUMb|=YLsr*SsHI0*ccw!0?G6~U*eYYojDDHirB@)zJX8>R%k>l0*NeJj zaoHFfhGrYK;)V<#%yZVqr-7mjn`GTSIBCjL`MxjDLo40Jipy=Ij=Er0u|+g-%B9+A zT|%&B!NHT`^Cy;IPveO7b#%1jr=_)+#_5S_9%Ak+TsD~Z>g^(0vz(wYVy}jq#W#%b z`&LW7uNh{<1fl~PEwrJ8h-FNMth4^D@w*MX_6tr(L3 z07;|6uQU^TlSUDHrQF<3v-J&@4Ix=gXti0Tnh%9uX)4v2&2WZi{%=_|!OzcCEQR8z znxV{+O(;^Vq002B>dRVMnv@Q9NK5gsQBowUy%uff|Q9OM!_Psb`Sw z8E>T7ESFc>7B_xdM56ElUp@+RvjZ)-?L{6crFL83uQg{`O5;lOw1YR4noY+_`0mhy_T;(dg?MLkKdIl$P5m#Vn<7ZFuc?#V=Ue-kth}tcF%F zmgth0MzO^fX27mOSqxCa8xtqW6(d;iyEgFWVDlr;U`7|M>OQ0+ zA`zDYF_Tr5B^`mI;g>J8K?F@$GZbhJ;lAwVq)K&!=Ji_^sPx+acwXDgnj zq@2%MYbnlLrOCjuh*81O3anbJbYkImt)-&3Lf<#l++~7}nI_0)H5D~dMNR-4v${co zsz>0LrNt(=OPgzUUy9){{WW9 z7vrZ^KJxbJd1PBkUp0kb*aPStD}UBeJg7D_DRs9{nsJd=EXhWeE! ztr+OIclwP@KTjDIh-{qxq=3UBH^Y5l>;C{2^wdYw>r2$i`1G*U*Tz=o7`jOCf4R@@ zbXBA7MzW|g$3xhD;9M!11szw_01Vyk z)9`5xF{X4XL)tFnX-n;1p1Ry!^{wt!SaqcYRnXmS)!I@>t@iqP#WRoL~>Uu40i5;>vGR;kBOzCN(qSW2Y?x$<&jDpk}XK?=ji4A32 zsP28B?FNdzzj7!Z*t*|V*4p9KnoF~mo0u>B-tz{Yt*dM1s*)03!J^bt)XM(=9d*z_ zM4M%7byrQ+*NpU_*D+@$@wC&6e$%{p2dw>R%T{pE)6|G7^*vBa>FCNJ5FW?s>J~)X zB0Q%=PT0ZPF4I{nZPvQ2Nl|&e)=zrYTBlTLon1b#*1DRhkJMjvEo|0FCa9>9kHtYl z6raoOR7#X~_@at7X&oO|r>F#DD5eO?Gk^=vbWP8>?opcQx>`R<1R!>{1;$(C^C>%( zoSe!?DT2J;$8qg-tn~Ja4zRyehDIMlrS3E|pD8?UxnEY%K_1bK&eFI=!NX(*ElomX zn3LTccE{=W6=Jty{sZ%#x{Mo7r$xw&pipCQily>a>!TcXn)}!M`%!D|#Od0fhfmaM zZC9@$lA0>fJ=%uD{{T!iBi|>csHFlp?gkWFZ6!)N)1_5$o+oF407jgE)g=^^blE8t zwMD8{Va2&K+LzLeOZ6LN0#GzHB|b|A5;+CjkvS+EFR!AJvdIHGC{8k4I3v+-z&Jl~ zI46^z->tK8wyK(-OZfd&BK{25Opi7@wGgmvD6=G}ILe15+1HVX;{8a|eh0@PBoY~d zmLMI#xX1qhw;$u8gk`>I7B#l=9^3+0t=4mS4vyIszLu#<$fs>~$nf3{Z0WqQsbI=> zYy`Gd`40oK5wv03Tjfn~#OHcuhPgc7mz?!R zoRNpLOB(`F=GTipa#lK^)zgRq!w8FP%=rp}K-etI%_8G&7b?%>WMFp!Nj*tDK20#A zEM*~WD|BO;-Q*1Ci|bUIEYrTX7u>sWM0<~b_PWLO19ietf_y%h8AjqnWR1IwL036g z*qodN$X3rFXKU&0rbe7t$OMm%5_~-4p{-52 zm{dgv(mAZ>QU(pZzPEv@WCveL>scFevm*dY_8@_is{W)(-jlP|36_HiNY_i#<82)RiE)zU9N;PuC zq&wu6YWa~{>Ft#DwQ{PZKR-9Gr7cZp>Bi#`mifoFG1DID7LvePCVZD5>vPk3oj*^f zt2qp(D4$Pkp6NVCHx##?ytr5sxyou4kZ$Txgud*u-jaS z3+2Pm$5YKyD|{B4e772VT$ORnED{0oQ&)oxEU?8GWtwVf<=+`$xV&r;hV~)epHum_ z5Im-*^}ebMw+YrQHDucx=vwO7(l8c9!A zS6;M|i55k5+{QYJL=GJz4$n7`RnJ=5I+7zRfaFmZd~1Uvw>P@*=DLSp)0*14I*hfn zhD2o)3fy9hrB+!r`MT=Y4wAT9;YjyX%mnEywLc0nh@*Y(%T3`VQqxSJ0*u>+ z*6K@zZEb1>27(9@I=8E-n3j$><)=p7ABqMJi@oqf?3O_iY^5mak&TwgYaP3mjKvE0 zZHHT0IyzdK(ws8OnyH8Q~iI}JI)dk;aO{^rEg_4>CM=*LqV zVLeAs(~LBaD%^((7xAyF(`P^8p06KX;pj9$mbcOO)6f@Hp0iBQ+ZfWky&oyH9<9IC zR0h21?$lXiL>sQ{Y}H!&ssX=iM`EL?snZ&2q5jftGiplscSf_@ppjWYLLQPZl(oL6 zu9;0~EHnl<4NYyXuB>CjvN}V?@ zeOdJ8ob3!Z2=6+K)@z%@G8u*UUen(-Y>+a7MAS4@cE;1z!0*Z>rprPU;UgJAl|G}@ z5tKBbdR;w5{{U~(!a5R^Tf?d@yv)!`RlLT|Iz#Av6l63~%oX}e~y(Lo`KYur@SBMd2JwO%QysUs{ze;ONXP((n<+Egl+8*#McA?Y;= zmaJyV)hAA*Zs}P{wz8^-DB4+1O4QcV$qa3XMJ#0##@M@P;3_xdFQV0>TK3_iM>^9> ziPkhiDsGficwOqDiq^CPalnl3K8Rt?2Ult6JBD$N=)t9si}s&vi?a{6E%lSF>J%gP z%F!m$SMZs|=pX+|< zcMk6zX568-+HZg8n=*$$11wZJPBn;v;6_(zDng3&h{jq`sc+fYSSd3!l^Lpk#@>3D zO^?!m$!a^1&StBBWfk_}#xJAfC?ueklAv#P9-7nn#@N@ZEe}y<$!%nlpgR%XU*X=>HLtQd&r0_jO1<9Us4FyAcWsgB{acwZC5zzt-ZUkAPbZ&7Tlu7QIT9oF8%50 zP}kCw{+W7utJ$Tg{@kZSa?`nN)}*iY~ighTvukDE$B}?B6Di0S=KKvB565`;CQf!c(4(VCr8@_8d)=$9;8xGa}@Z!38sek~W0N z_s^imIO}09R*z~syS9vrE~&TL{l}-9WZJQjOitn?sqO}wy1KI&zLAP=jGO@Z@<6NY zN~r{od=@8m8^;`upQjoHZ4O1M_iCvN?Zs!$Opq}uRr4AdBJc#H#~dvU{B+i$azh2= zg-{#NWKvd5pb_LVfJp!n3CI~0eKJ)!#ihVD=Qj4;;y2*)n(3N#DpD!)wUl$ri9nHl z*UtrKsMmPek+MEURAc+7WdN!Y#GSwf1xO#0k?i(QBM#m#g&YlT0v+_O3n)v8?p?07EiP~Ic8wQlCD?ZsU@bw?TYTi zizKmfWE_QNxIQ}4(AKSzP10HrBSDIjUVJih?sWRB{{4(L2caj_e z!<;AsZh1L+wFd8?ZnLICWj6{$NTv{x*(AGBdqYHxgn-JF99MfNgvXqAxj&%a(WptzS#5G5-K_ zbh%A5565!uByvm6Zj-E?bGN3l?p@yPAo;8vzF90bsPNBEF1NZ+)5)qU*KpcfPgv@x zED7Ofdjm6v14(Kh{`rRjQ;?pxZkyb>KN&pmm=f~GahpjF(UZd?lM`{=AW!cRH6R> znieXBFBft@mpOW_&8K6er>?fq%?kZJJqeO#NK#`Uk=_`>#&I9O;xmWGgo?P@-7Z>j zB{{|42-R9$wl=bj*Wr1`h335WMsy>(?YP}rv}JAhOEXzcm%M2TMWm#-$bMR+xZ5h$ zLz!_w>HguQN%1v@c zS50n>V(LN_Rhmv3=cvn$npJOQfkJGFDw^VyG!NNGRs{0IG~^dL2DK;oSwG zWgkPJGIe!#6za!#{U}83B!hJ*`}OeO$31VT{x#}9`akfA=}Sw~>Ox<|y$Mtg+UDn|YVI1c{a;L!w+r3!VkN0^%CONT904Jvwo~kJ zO=^ivwwD1Sq>aZ?YWnR>NbHOw>HRZuG<3xz-Ljgst1EBnNmf?X9aX33bp0bGW$Had zqC$H5_dQ8N6&MP_I%kbIn*-hG*b| z-MN|~hH)J2wOG4HB%8v!V`e~JGNUAcsiCDQk{vzGU4R)pyukjiEl@V~^Zut$1tvLh zRkV-I3srejJak&JTj!f=)I9Qhajb!PR3%FzBYA#T7!8(Dxq(y9T0WoC_A8`GW5uk7 zz^O_027#;uxH`wx^)jYJB{$wPcMT5Yv3#pi&T_5asqD0~)66BNhN1~Jxk{*Fnm2r% z*^WrrK)^e=@*EI-nsoFbTjE5!-B#qgOI^Q%$Ac$X&b*}8Y))%*q{jG0+vgcOxii#N z%S33VN3FPMy(3ix5R$f8rqgzP{{S5XZB*CBo~XtXPZ|&vOYNIXWCBD=!NZWfvT#oq!&8vCuh7@)zIAa z1*)m*wFN3)>YTl*??s3Do1-d_ir8Q7X5Gzb?j%XYU`@u;#CFwpQnhk^>}RFMTL{8| zj6$M)!Z%xf(Q_+Qw7ld|exkZ}H&#^k!?IeZU+HUAj=Cy->-U0}UF#Z(Eibr(K7-H{ zw=2b6zWLl**mD)uwpiq|=!z$4YQB5PhLSVT(v)MTsWLMAQ%+lkb(pe_=U@~(?r$~3 z`m>j)H8kN89-J8JYho^@JGAs9O5@5)RmH&hq_|zKbq@7cE3H=gs_ERk(lRP4Q7t*@P1Gf*Nh@q8IKn52 zf!aqe2ON!^E)tH8lyu__J(^K8;zx9lc-`F7;gYgk$)|T$cI~xHF^_||eb0@|krKmI zQPg0K%D_EchFq&J5+OW~3=C(bzL|htt;q{_GM6|4=#L;u)BANi=cg(Cno&GNBo|f^ zF?kwqZ;W41+MBbK`qxg^X}wddbvC83S5wL>?3$k4qVM+Vu+Ox#l=b>t1*nfC)73{L zHBhiwpqV69ev9bN7byCTXh`CwB!-%_Z_15;U^wY|hMeIhdKz_^+I zeXcuM-)_uWDKxiYHJ!`4T28j#RM&3S>y@Uf)t2omZfbb$-{_5LS6v$sUlmMtI$b|` z_?E6}qPF{jJTf5erl-}@kEfiSJytHwS22CfNRHET*6SW|)Y@wuVsjNbGY#{{&ENTNz9B^y*r7g`#Gbv0n=?Uq$>Ghn0{p1Myw5&8;^$}N2N*&t=kSqwt44^RwApZdO{lvE?o-x|p#E3hu zcRu+ntWcrPH`N5d#|TCvKCMamLfxuksdNm2JN}Q{<1Ob@CIJC zovgIjukzboc~rx77C7VMsv$cH?qe0AsJ8iP&+_KDutD6-RY{>Vo~G4x!9IgcSu3w~ zDS%q3E%cMm4J>31C9a(!qKP?Ynt0Jh<^bhu#!wxma5wuD!u&uCtbvpsUk*Pfu8GL0?kOL~pv5ZKRW`H5F9%-A6p2lY;ka zomDa^$rQBE#G!sPRi9r^ZoJZ4qo)Yzf`ZZAa<0nG?ni~H>r2u-l4U!Vyos?WNIz`_ zB}a?9R`b+t;*8TtG;%dWk=2CPvQm>7 zi%})P7K_d|H++{^`VUPqP>hYD1Ooe=zHK?$aai!%(A6lZ?vlMU{{STn)bq;(OeA>a zjzk+|4!>ZDup9z#@wRvYPg(JSH|femV;(F;I4{Jl%Wgjv)~x3!K%6riC}(&c`K!Nd ze}1Fx9lW5&&tA__BzmilKCv8a)k?~0?g z^PE_h*CXqvDv0ci9@w!Y67~}$Z-mI0u6nE8wB=nDy6mdc)<+c_)leBojp*ZzKBhEQ zUkOo6DiX?@_8L&zUr$CAdb*pp&XOq?bE-Q<*$NKW>3dy@!Ak{nl-BWE zcdmpi6W#CCZxogHDA13LE3%quSk;kXw?j*@u4O=;$LC6kP8Ex>0FM$2B3m^2ArOsfpl(Fvti zU|@}W-X>xdRU~2wkb*ZzWZoF#r2P!(!GuOAGT*v4!@IOeaD^0qa=l+wrmVE(-56vY z(tWHgc($_N7tvCSN~#d*3siDPHOSds>5WSNXN;L%Bc`}0s_hc zI!MZ#mL#@zkjG z-9ocb#rgBma@S=d5URo1Bw~!aR5)Z+Y=8+oZXh4r`o=oYJt%@WtBxs*nod^F-t6%n zvGsM9+K72$Q9aA9J&(r~)y|UAQYHt6(4o}gW-llh$X z`elWbG<74qCAof%o#trY+ia0(+|V?5>O}tlQ6w%}FrLj#LM&OW{{XWYS&tK$$J#et zX+0UBwC;e@wyh_mtu*#)4Vs(jZS*wqF$s*%HAPhNm#Vl|)ypK6HPwP!mKLiqqxxffS1V|q)zQ>W%Z``Rqfbp5+wBtStH{##bI~EFT4MyqDhyfK z_Ndsq%bo)kY;E`W-~q|IOt{$`26>j?4%?{X9~JY@Q%-RuAckA^WI3Yqid7}x=CRY) zrCDQ8p%*O?!jh`|WUsJJ7-5eiobk_Ilp!SmYblp$eBmtp_TRl7M(QNFT#aBoi6HG` z;Qs*MA`(*|gvNnYr;!x9FhC+%G8La2RZ}g=00rECC!}huVuB`k0WJ5xxUAKu=_p>f zNhvRAFJNxG=agTN;qaIh>C|ha_f1hGY=50hA+-iOTANK;<(8h$ju!&$E7s~65wOfI zl*r>0@!|$Mq)W9WM1zJP*K2FtoK>p5A7~MVXDIHQy%J4;99&~YUoE+=vj_2W*iA9q zeGRJhjlPPe%iS$Er)w^{Z&g^F(Oj!4wCrO2MPt9DV8y6xl2+TGaYu2AX{hEA&265Z zMIp*szd}*^iS+Ht0$v)!-1AI<<&HW;rK=dqaGRwvad#sqSe0N@r7;hEM-yTmS-~uo+pA#cVDf?G- zJcE8EVgCSo>CAS!cEk^58^KByhtIWp*H7SejH@vVk)AnSg;)Z>F7N{YMtEXy3FMc? zd#DhSQotocnDoeTD_v1hbEMOjsi-2DN4~%5tEY?PmYC+; zU3De6(2TWZ{@crOj@ejlTFyY``lnT&(9?#Ll3Lo4(GU=fyR{U`cAThr#bnUhPJ#+! zAW5rhW_EhpwZ+X%WldrDo_dA~u|W#&Y^^msP}4yZ2qBCBtYDU&7?9aT#@lX9$?;Fv8xqh{Le<97+~E50iF9-DX4 zO4m-E{2)v$lk@){7>is)BhUZF8yq zRfRMiuBtXe2Aj83;kC`$ozTl5lT5)ViknbN9XdJ;B5Nq?>KCIDF_{Rof2ovigs=98 zE8G-cQEJcqRHdaGkEPRB)apZV^`+-RGP{&V{{R+1FWNM7&}l@=<64MxAFlr)V3SF5l7 z@2Yhpb*8na1diI&W!;fweru>Swe-D5s+XzMQ`34w{Xe7AZ)rRe){O*34Vq%KT~*&( zR>@^Br6VX=9jbmg9u*-WR##VvGQC+rxDm3!R|iR!ym!IM&YHS-x^~o~+G_2bdz#)Ar1tE@bMtx-UrKP7BRN_^~?UpxR z^*qt~VqdkLeEz<^>Jqm7r*7I#H!8NgQRcIdpFoKkB*H%oDys0LjB;>2;QnxNjx&>r z^yqPk8)%I&0M2liS66FgoOKH`a|Tvv+r*Q6;%^j+{ zZ=mU+xpx;*|dedhsl4{brkT%tw%#}c;~3Y zy;2yI`FD5%!<^e^6<)~obDp4jXiIB0KUY=9(bHrBSvTriuwQo-(Yv)>tkT`E(wcuu z>6%I6rnXZ2wH4LVwPoh@a=EhA-Y?hdgZ`z?_j=d^3qDn3~L=UFh;Oy`d{@P zr%%+*_YFlyVHL33_E=|`Nx#QO9Ziw?Mk02?EGVeCu{)(^=6Kw%Js7GfVRnxyLJ}j5 zK#@r#$hkWP7BP@QgN8XQM_M{@0{~36B#4Svf~|b0dBKj6yHOSAx=NK4tZq4P6?qJv zI+2A|BuLIes_n)}&JZhQ`3Icw?C1AhTMK;czZ}#3+P4${{!*pXVp>%`0Y$u|oPo() z@biX7LXO<{gN_K}lasvj?~tPz027RkmXM8?OLt3~&!6mDMOl7RB9gJVawm>C;3%N; zbZ4e@RdKXyxsQUO_HHr#*e7^Yu^*-pH3Qp&N zYd$|5{`^0^^a|J7-ma?SU7>U}x|>jH`DqdEve$g8r1WJSL}%l#)-{ybkj+;MGh6hv z0XMs{{-cTt4b{DJb5r6qDTH@{OLKOMB;qmMZMZG#k%Z@`ERfSImZYG!I?Obp(>d4V zhupY2CyAL{?qzbp#tGXTtGSpJP+tLXpsD6je;FF?Ct+3Hfo;cx5VqS(+&r2iX}JOsVi*KOi4?Jbk$%sq$P$bzQC9 zBW-yzRiF4e_M(`va(K4un98DO%_(@tRth;n#~cDy-oG2LIp8xk)N;V!U~K^T3?HGre zGGk>?j2wniIKvkwBLEJLEOg@%F*nC`(%##1a`qS77!JKTaaS)A*yhVQa(G%kDf3;r zeEOC@ijHY*_7st+>n;@1H9cM98`i3t*-#3}OF)gj8mqJfO;*bE_UR&xWvyv77gCO6 z_h+<~4Q;FJA0;w;`Rmc$!VInZxXO4bQ-u6C)=bg1*fl5dGu=zQEHR~f-if-(I;t#V`=Wv1>T2r>Ouj_9#UF5>qY$6Fd2+hb9k zB)e5e$l*&8{{ZUvtaU=Ix7;C~Hd-ooLji=VIE=*!E0!gLDUpkTlwr5xC5R)eooGy} zj3OnKM7G0=L+)|+9mRa!rjE1{$@1DrxnI5k3})j`>9aixb!>O)y7;?srRz-=pu1XR zx#}y`xm3xbG=$T=ESDH2ZRon6QO_M!lSanCm?~nrY6pqwYz8`t{T_#IuB_p|N&=BN z*3=LDGF-zMofWs_%-*Bay3>w^lOlSOxz6f3T2(~xNhPp151x7y_kIdG8*Yc}e{R?P zJE%3v&ts%&08ungZEdu%{{XHvagp~}>-A@+rK9{i)3P-+-Jk8VWgR%m^(QB3MN(68 zUpRWz8aGAJX`MM~({@^TDXmso7%i5_)HdonTnxgBmL})rk{W%mvpW+rhLoJKJszw* zMy%wSbs4iqX|?`K5S&INWQCV~H2Qil)6tIT8gRrnGOeIHugct+atn8dtIfWMiA^Gm zBCy6rPs|9~tWMC(jH*naZrb5n#ABw%Lu9_3cAyIVI?Wkn8@luEwfIE!YTPQEByQTi z5ggwF6u-OA>@lfj;@l=Mp!T9hC1@rPfo@ zUOTC;^e(Z!cMADTrKuLKmrPv6r$_1Le7qVzMBCf>J&K)nin$iP`B0|5?>wDPs77!g zD-F~ib2(dlCZzU!PdH8mw;IWieIw{LQ%4f++#<;Hg8oM$kiKb;w4qb0~-Dl&C`g0GBuC@s+NU$r)xSvMF~NSK2MHa3!>U z@^eYVJ6I2l_~#&#hGpSM;Fbz;?nb-TenNLBN_qz ztKvMpw~{?YZHG3Y@kG;eaQB(&eWmWbL@|e{jBi zy^3#(3$B^9u&|}fjwr!Ym*XZIZ;pc+qf_2>4d%1A+77H+>us?_n!{N~9CbAMCMuQr zQqyc%7D`)&y{n>V>ZvHE4@akHWs2{4iRG4t-%}*#HenVtAuUP@#$r^fb5vgivOIKA z4MJLzll0*1yCFSfDp1m6_Qoy!T~O^iL6s!^heug-m6n#vXS|H5K;?rfKJuwu2l=97t}`H3BuPS=6-0Kz z5g5lzEn@&mkC{1Uwzl;4s$sRJX9@?Wz)-l!d>jLoz+du40Kw}}m9-vmfm$lFRaWHx z0Nm?SOk0cywYJr@!(Y=UJl$6uU|Xs+WIA4&qVri%^t5!4F_e}-&ayHr3ZEk)EVIZ` zIK#RtNaQ;KlD^cCVseh@ph&i)@ILtb*IE#X4L#GS#Er^KfdREu0nHM!-fO5WKdI_3 z1Llz{DMO!;QlVBkl0tb_P3!KAb0U8+3}EQYi6nY?&mMIl)oR&_QF# z+t;;c#Wex0*)B%&er>EC-OcsMjEo(%;+ikORs7+h^Uq1#+v<@m)a>9gB$d*~!^KM} zGA$yI11yz8baFbJ!Acp1*OnFvZbKGSL}m9X`P)yI3&~Y?Vb?UmD<-zQep)vk)X~Ok ziaL8wQ%@9WPRks0)bXO^BF79cL=VV{F|`&r6zm8vs<;CkPbGmSS3tKC@mbx*+VjVb zI_*npMpe315J_FMT~KAsar<9cJNQkCrs<$HM{sK6V^`f?>~}M`9%B;AX{*$gHa#|^ zzR|Kf1%lu3XT>9R3yhFso}BdkE{c*FMb&n<6`Yp1DA`qyEm$2lNKaAfB;h3;DB9Fb zCB+A36qOgdgVfU6 zbnS|Up{Z*14x_zP3M(F-p><&zPjR?18j7g{Lu|Iw*IlYWrJHiJy$nH(&tzj5yx5 z(RbjcQj?imj2N))mc2q+)0XW?MV7eAsELHMp!-X&X5NE;!`_*z?hR(5@6M{CYI~P- zewr;4X|9WO`eU>fN|_%>P!*LoL0PJ0GV3eSg%2#Z8Ymp%nH4LRj?Fzi7fvMmb#>jv z{Yve%Hn52DNVhGWC(&!mcBih?-5F{ObhAu!qk!6nJh}e>oNAb;sv$|xLhQT5YRX3A z_-Bm$v4Fdjl3Q<(UT{iCN>kdy@`yBsBFDsY#y!s^TH4SOQk_}6zYSK|050V4HSbyK zW`^FTrV#P%i5qwXyC0X!V>1vALhTO6au*Ds5CH1D082No)Nj&pBP>gvl-afMyBBmLXD`R9u2(;F)7#u?cN&lw?dxPCdtL0$pKIN`c6lp(on zto_a(6@tCIRdlB6>2YBiuNPOvWWENtuBNH>N*8F!AObQ8^xlX&P5~iv=x}mIIu=4z zMlT8By2P?0CAvlGZAm11NM2o~$ZPYMuZY*Xo}NU-cYv%*`1pdXScStb;;V){WcoO6 zNF6V*p=ec%ZFs)bq&`Ki3(rE!v}7*c<|Rnu%S8r6r^ZgRj*f@^s_WT%p<1S06QZgw zT644X?r{aq~`vsyb?;Wli5D7bIIwpT~NNw91-UO`SAlk@&MX8_MDj9YjnA2 zM!aI}+5N08-lt;nqFy$>a1W0-%JXIpn9CbTKqRWPZlSo`p~z+&li`%wazCq+jN~P# zfweHAIOm&d-s#};@xn&ya+GbCpUq;7am_jBpx(K^UFNBWMCl5(qt%zFW~-~b7$d2V zMd@^Zq^i{OK-;38<0Ppiw@BM({X2!}UZ$Z9vej_RQ=7iGxw&6@M8;ZwJ3`Inkf+%$$}mQ98`jc#Ig=vB5)!hCZo~Gk zuYU^io5g=cXu8}e=Qz^*^#u0ZdhAoRN&j%4N^VXJ}$i{9!E=blQ z{mmzyN?dX0pq(#mYrCg-vup0`TkEZK7Vs;yhia}B6gAeH4N>_14NI#af{`P;>qUi6 z)7$E1sI+OV<|<{LxJ^>7AV&v&u5C7^kmga-#Y$hMQ_VNEytL^$`s7)#G@<F6-46 z$?HZ#41L5)950JD(P_vcnI>kEUx@r*j3cnx;Sr9_yK;*e_4vaONj%ZhBR5v9$=q%! z^Fg_!z1cYGscQswn2zn+Oi_~K5WY-t7r|H6>K6Fmr%5Bk;tK zje!#t@o0uZoQ%hoVnD&@lTeLnM&JZ@G5}W&93I%GACznvAlTB%kGC$;N|(h^K|9B7fMl$3yR_*yGgZHXDweheK$%``q5D%6q6SX8C1m-5-OJOr=6YCacM5o zcHc>~LK9=qT1t{lxmNm^taL9}WXRkd>g1c`&RwQ5G>ms-`&P9FO+btz4%MoNMcQKf zg>Ho461tm0QX};onwpcGYj#P^N7)++W#=vRbgh~t49T>9d32o089n>L8-_IPWl{3*ze68McCONgZ@_TTKb)Pi#1RciLR~>8e zEZRdtR$erpZ&b&+lIN+Ay|1`B_A~ZN1uXGY_VY~CjH*FJtnL)YLE zov=Jcq#e(X6-D*UEl;Vb1&b{>wC&p)mEqjw`~^6^guU{e`@ygD_wd(fou5rZM{VvO zf2$yJ5|={J)-0N1x9>U?5m$E}`ACvh!ptR2DQ&8il*3lpc7~qmPFr!Ln`y-7FR*VE zJ<=n5M7jf^)z)=2K7?6QQq-d#PUwp8l49I^5#i<17b^P(m!Vsg+P2qVwot|*`Ri&a zt+WuT$MGyMG|d!ya0GPpuoB7uia3ZUIt@s-AE`w5`EM%X_*UwrjG6bX)r@r8+C`!f zw{;SriRbYg@lP*Jtk=V+t7A)gOZ>f#VyI}H1yTm)RYyc+hhYw^_-0cZD&&ri8hd3K z$f?`F(Tb!ntyXhixXCR^PB#T2R_0M{rzA$PUKjB5(OoT~nFx&dw2Hz&12BwjAzN|U zHymNGpeY-2eb*Q|ncGfQ_@c1@ruoBb`(Oz>sId;)qWq~@F6iQ%R~Krhq|Q#j8KMBO zB(~p2VgCRufPtLkZRaDPV^v1hD!32qFLZ#&<@|I9>HpeT4%m8z3HA%N*eLWTS_x3eZT6*ibIjB=vu2jh>0nRw+WwsIrCS= zUsU~9sNmB!I_srU&06&6kWtXls5SSCt#q+cT5NXYKXrB1;ZYS8KH?)oGfy_yDdb>@ zYJEJ?wY62Qe#*Y(YNYM^9ige>lHmJlZZ&Sn2{PH`l$FmF!KP9X<2PxK zf@nUBX8kzbU+dM9Zq<=ha<1B>j?<}$ppEL-D-s>jMF${>BQ8c;BaQnqr;H7S3Y>LZ zWE+0%pziY)z$)@DzrPQ#?%ejWt+kvAnYREgFNUj*lA0E$iaqD#V;}0{bAF;W)HooL z0W3$h!z*%l1vp59wo3}Y6or^&Zf>2}$(wmxuQ$k5dz|>I{onp__JPrN-F>O4yUE>K zbKC2v-l9&|_S(7DN^aa+Dq%5;_3|a(Pg~sk+)ci|v-M)qbTXxy(;`%TZ9~{bdIKCf zlaKq7zx+7A{w+RBIGoL^Y)&t&2+QiqT=m9H|F@qU7B(~$nymUG`zwT5Pii*`{{CmFPMOn4ys^cn*PRI+pw4zb& z&FA|yw?5c;4Hv=@Si8p}gCSwg*+>X;_|GQF7Y?mP!eLLK!hl~9vocz4-9X^#~LcpDhq4SVHEJo3gJr^W? zG6n+Uu4+nA$&7xQh&(xeOuv-P+wai}%#I|XVMA1bl&m02nr`~cpT(J$0kRfN>8G+< zp3hFI(rSwB7o&ESRR{f7uXM$g(nSF74NF&4%nnNsxdnFtovR_1nI~}1PA=Al;|i;jf~Yfs!yeQe zaK`fN-Q8=8EvK1&IjRpg*FiM2qqbKV#A|3(c#Ff}weeZcQI+mvk}#owC&iA}EUdsN z=YzljcMZ+uf_Oayqf;5_);JD%Oo{Vf;;*K}6LuuhTw`tUp7^Hd#yz?L{{Rr3*R^Op zF-4~6wImj;cdzac=?ylNDK*ylr>U#fM!xG+uv;Rmyi`S`boy4@r~**G)@mQ*HrR*KS(|1_K+lKm|S6(;t;C)SbOKfzavedeFEJ3Zjlid%kh9se{+exZB_@a$im4@|v1x5RXw&nx%UIv9clzmRY2uA7bTu~`y1J^# z<&BK;uOq0-QYO`A#Dj4jQ)v+K$RWo(*Edf`N>baUrL<_&*Cx(Bh@0JEteUa;aB6xC0!w(fUtL$47su*3_Q9t10S3 zMp4kyil*4zYHIdG&e=nEFIrPdc1J{8>&@=xO<${Tk?bQ->#LPcth*%6*)K}BB5l^S zR^1>L$_h}2#Yr1*TO^FLiVNKx{{S(=SiRW~j%tHaIt)z^gC?YmokV#)tl3X>(A45* z2abyIS|Spui3&*zJMIVp2Mj>o7jZ`1NKE4+#~%7xY`M0^(dEtxPc^}h$3rQrl2>bM zcWvgswh!Lktn{=;;3+BPmyM`!L~b$nDcs6@im}6hHvYz)HM@*%I4D~XIz|O0?3eKeM@)=-{`OZBIj#mdHl1NA{(mP||?M!Ei z%aOR+*X+^o(7a2G{vVIe=M~gdzF1nYqLyjo+N?4_^L7fVKHhhM`C@#D7(FjlE;FVi zRl24_;)BI==gs)!_Xd8`oZpPSr@h$F*TwWF&@C3O)_T*rj6~EGb+6m~1t4~18b3)~ zXO8!IhdDr+zgtIjsri(Cy{g4wIVrcPCpIY>BX>5^C4QL2Ieh$HPJ`2KmFlz;EN0##;@DF$X9!kse_Oea2LpMyPH4S3uNRI*9nvsM9MfH6mEH}c;gl0 zu1+o`Qq8G^tQGvF6^9hH@7I)-Y)0@&F}C2|@M0k2IOAyw4n2DZEIJiq+~vc@Ssuei z*%?nB-g;K7O^u&BTovmjm|kVPd>^bZ#17P?WdNaRA$mF{$1!y(+xKd}phSazi%kC@tg$L0!B) z;+QAekn4}%VdJKfj`D)W%H!R|3y*()E;>e}aoGLF;)>e)4d?N+Oos9% zEz$+6tP~`l45^~IQ>}}fNidd5DY35`OHxhKcvAhkv@9XRn3(TEsezEVE$5v31xk#c zN(oW7Bd$gF!Q6zc1K5xajM;TG7Ziy(d+Vgv4g@FCQ3a@Rr;j58~08z^fu_zR5 z85>v>QS2~Njf4dw1A)Qmgngdtz0hrKt=5+L#|w^^DLeL)l%tzbHmwH*u5wjXBbJew zSgdTn8dRi>f`l+uR$v(54+$gSsmKn*43H00ZbYk>ZoOTJ3#>S+K+)Dy1YrY;1EhamS+jVOX`gvU+(rT6^Dft7(9wk&(cjn?>4a%DMRA zy~)FqlnOUHqz%>mFh=u<*S!E|80(RVXVskMC9u+Eqog>FWq(?CWz@8zS*o#s?0;=^ zH4duQoypSn8cSsabJh0KMclX4TrRhpE}pqJ`rlVqU+xoC-R`xzyIoRLTOhBhuBe(# zKcj6X0wB0b97s+O7OPV%qJ>5{h#_db)UJG2K`!=0KAd#)-KNM9jmb9`1A6mpnOc{+ zvcytF-+umme5>_cto|AAa#CBe!9@Cb zx*agu>Q~&b(rV7yC#bbq#AA*v$BCl4`l0^-;L(-J1re0kn?-qvN`!9nBVZkCPFcE;#XQV~k`5ZDJ8jxfAr&-PKk-?f3WU_|NUzL=mbNmaAx4mmE=> z$5Ks1uv5^8V>y+_Za8uW@6SrpM##n4&cM-+i0x(}U9ef$=g&XjWO^iwOQyTKy{U(N67eiu z)m>10*GH)MfpX4H1TpQy{y6c|pRr|J;InUxl38-2%V;^;01J`0d2eBy^;By!ly_H~ z1x%KS_~RdM4I&X=dDdtng9v%#zd!fs)N*1UfsO+v;hcpS&w)Pi%7ghow_Tj7nJ6hi zYDTLGn{&k+^hL!kD}Sgs4=C*pE~}jT^v14shMY#O3r`#DLfBvtv$TdKKpFdq3b_h! zGtg9#ly@3vdENQvy4UUC`E%1@8<&iEcrP}n{9btW=rP=D#ph0G8_}{l$EmMU+w`83 zY%bxcwOveBOJzcWPEyzPlHTXQAt~*(4o1{sCK6MKSr%1%z=BpNSS4Ix5dVb46rR-L%HE56Gwdwm+zR7Nk{{XmXt(0)mMAB{hrOyK3BDY*(yGMxAY?Z$kgQe_@;^M;c9JbOA zA2hsvdcV*kAdtD+yL5`5mRA5s%y0(cFm~g_`aivRX!?YbJcOyo402P==KLK?>OGfq ztL~~I5Az%Ylb%jI3GG^<$D{kP+$&Au??Y^hQ`q!QySDvZLc(UNf|kESU)2+qX@c0a z)YpgmPFMc`$60C+0NC2>+gpO9{t)UyQ$j}r?rp{}ImuN`x#s#N z69tZrtq~gfa^Vz|x3MqSXz+>EBUAU5hS_bNTUD1^)!eEc8)d0mx7xZYTARIbXsB1@ zskFvf5>3<23KG=x@&E}q6HZGlnrx#hZ*q2}REW_99Fe=L3g@oJM^jOW^tA?9wb321 zEmAs}D%(Rj$2~$&_a{v0>wO)hTDyrIJrrU!sGqi)`E2uK`^YwC3)9l%`kP32FAmI0(N}+vE4mzE=ML z5FMhnZa2+sMWxX3^6I;0pwh7XpdHY(_vTPL=6^%W@wwcKMRgLNY0ElYd;{>q*B=Ce8THnpul`A) zDC8OQf(YdQ08w8WGy+tPl9GidQyEE0KK`h=UvpR6%Xsj(8noIaaV5dhVW%xqbhR|} zAwRNOw>??M%MVW$GN*x@qGhugjj!y@&sWJ6Uwk#q>$p$7WlbeOX41X9qLk&tQR$m> zvCnt-hyYYxDrA}P42p6GMccOID7F6P*PEmZ&kua9=Z=an(9)(cb@eeRYWk4WoMb%d z>7ANoQV$;eX$yUG$R-gLM~%TTVOziw2J%B=cMZ7?(7*xc=JFd;>On+Z(l(Nn_iYx` z{qk2GYD-MJkxZl8CV{WG+{nvSoL+0Iodrml1|K`oSaP5<{?Eovq?uqPRVG%6-u+UOOOqI2i(2tN$J@U8%DP7j% zgwJ@47dIv3tu4v*b7d6u4y z#Eh;nXDUh08>J}lgH_Ltlj@nSj5ReN=}**0>S#c6L}v%;fV(GG7zAWFQ0r{zjS;1E zU5+ajld)Sg{iS93CZo2~EJCKUi6pML&gM$%m2{6GdW!3fRaIn<=JT;Q>HC&6mlK_! z6<2^Z`R4+;eDwKFOn#hJpe4ZV+sY9lLmWxMnOi!ocUt>%vFVDMYZX_+sr7Yjr$lJ! z6PBgF>T+mfyJHM?X`6CgHC*I?7M{Z)bC&6mj^+Z&piak4Pf|6?b+&#wqa-KzDPg0eQWy{gBrt7tBl~9aEUow8oQ1&ds)a}G#WxjG4V-!Lj~tzP z3n<)}_cD^ix)~{n73U+$zIumZz>TrvcESn65<`9e0C5GB`6(-bjDwJRnUM;`O2c$k z((b6LOo&VSk5m#S44vQD0-ozCgu$FY;rwHG0r0_9vQP}+{7Vo3Utk8~->d?9C`n~2 z8t1yi_s4QwVyXV!aJ$|1afw>ffbHbXmnt#SLQ2gnBr@<=F(YRr5IM-p4s(ny59b|w zR&m`{UlfS`{{VH+YfemO$AqM{q$bu?X?LAsYlS*}|C z!1qPvN6NiDYUBgo{#<2^~cZ0VJfBwlJnC2w$qEA71d7H6Ww zbqtVfNu&lu+7+a3ShmnM?mUcPxWjUD`z)yUO7{MmDyX#Qmi&}?aeaH91to~yYQ^ov zwVcSsHPtrYMZ-`<^5D{G`cW`;$&B8v)Xfq|PDeBrQBV=NF}3G*<#o?f>Qf_Z>@8!s zlC9XhF^?)3Vvp zD7$~9CdSwPd#Pg^ZdI_hSXitLRaYThlT=cio|pdO6;Y1knKEm~4g9U$bt$`Dbs%if zzx;hj$)a98F1XxgVv_T7IiwGOnJ{ z@ceWJFO;xKtFX9NNWN3Mv21&^ZUpIjrB;#?yEyLPw(AGKObBRhmV|0pKh$cZwOGr{ zV=9i6d16Ay@W|@HsXI~IE8C?_&qHacE)rzNaH6%tXt^MnO74p1X8v7piBZ4X*;9dq zKhk=uP2IREQhY1!U^8jViF?g#%a7{*%B+4T^I(Xx87MB5D_{-&bw5+apuI{(=P;7JDn literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/6.jpg b/examples/data/Skin_Cancer_Dataset/benign/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffa901e4ed4ec3ab5b7785b5a016051cba2688f2 GIT binary patch literal 54097 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/60.jpg b/examples/data/Skin_Cancer_Dataset/benign/60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..179b29576d2a0c2a40cc1b332de68f03fb9533bb GIT binary patch literal 57349 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/63.jpg b/examples/data/Skin_Cancer_Dataset/benign/63.jpg new file mode 100644 index 0000000000000000000000000000000000000000..52375b1b861c260de2f1423faac169c896793088 GIT binary patch literal 56055 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 aF^csp`d+;5aQtRI!`*x17iSlqI{(>ABYY_U literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/64.jpg b/examples/data/Skin_Cancer_Dataset/benign/64.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce81a488a0a0ef15a0337942545eb0cf414d6293 GIT binary patch literal 45062 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/68.jpg b/examples/data/Skin_Cancer_Dataset/benign/68.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c68f55221513b56179c732091dedc37fc0e8bc2e GIT binary patch literal 51731 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

{))@Mf{F|IWmfODZ85D{{TMT`B%-oH!UdCWR^#U Siqk|pkGYHXi*7DObN|^FYGZK# literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/69.jpg b/examples/data/Skin_Cancer_Dataset/benign/69.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f6cda5293c8fa5c70127b0375cce188406666265 GIT binary patch literal 73303 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 jDyi@LZR z{tiOWydY6^9zn~NIR*TYsDEG!1hSf|BdQ7myMoN2h9eP(k3(jO`ZiCmpf9N!OJdA2 z*RfS=Go<}cm6L?v$?j>0R4o*|7{WB3#2vrufFIMd5r_IhFvJmv0Bus;Lj#eeAQAmo zs!Ne5iIl6W0gGi#wicxVmIPQnSx{Tq%hZHvQZ$A;E$x;yWr{z8A_pN%g~|McL6KS( zJxOK!#Dt(_kP@ok5);JH3MAi&VgLbsWJMMu6SAtC8DuW%n4^$QFv9AJ;%~{W>`@h< zNa(_(=>C8ol?akFiPz*t3jRe~j>-Y-3E>Cg!|?o$wjrX(WFd37i^#R?0*n}%85hR= zF&>GUz~(^~N%Tuu)~nb9WPeq!yXre+VJ%o)pM|-56-A*0600U_90D&RuTUG37pXz; z2hU-aL~?>b8E2L_xOanI2HmneiH1-OqCqyw7Pl88yutrfL6{ydZlSPWyWl#svZ2|uP z$YXDXJ;%7c(4b`ZWo@%!1c>hIp*!PCd_B&=#+7$69j{l)(P0qw}LT9lFZ zepwVP2_$wgMhM7;BO{|t+eIIVAyj~DlU)W~%1M&hFw1>r$XQHg6Avu7im;t*zPlF@Lm<^&8iZ%;vc;rbH<)c`e z^bhQ z82yiFLaeIljnAnh1!sOg4zJM^GPG*o_5qqQaWRvCPzx?umj<54ss^>9Zos+)?lZ)o ztfZ2BR1lzl?Ia4O_f>1K8++)@tO=!oZ6SDig{r7j8icc;aNm!1KpTL2I{<$og*9nF2IHUE;apMGl~_KIr#jT(SZ(RWQIo>W#fI+8Il6E8eM`X{F9d8 z8Gr$JoURum5kax;h=-5lZCrj-Z(w~JQB1(lqS)w@2w7Ij55`tJb?k+C=-t0RSY-#X z0FXGP$9ECN=fOZ*y`Q4Rn0S;oK<kVn*UWgzP~Wynul<;&D)SOMNp;GAhqtQIb`e zV+}86S57%r5~NG)U!TNt@?A-0LU{VqhLaUgcEHt~D1JcMV615906l%sH5G%D^2Jm! z3yAV!0a`!E`y`6?EMu}+uG9UdGi9J?#KDV1vIUL(huIX$q&eV6)B+!;tHutimpe)?`@?n7_K zy1nFvTTmM*Eo5&If_6e|h5t7{W zuXN=Ikwk(s3J%h;t0Ze-kU2=e`ACzJik%$TWm_YkUg&KU3(ytWDmO? zKZ?x}E(kG-x(5|gKl(oGh$>ppq`A{i2hT$UKEC zIRx-5#W+lGTUKn@$vY=%y}B-BuuBm`e~9ZbQ?kZm0ar-ClG-PE1}o&WaTG_O3Ex;O z=lTbntcuwhizLLdvOSh91(_o(zZ}l8H)TI6%%3Nprlye$1X!o12MkNI7PWBX2WD{8 zO10T+K>&1aED^M_#LXEH%Z>$UfGQbvcV1roH>)+$zWuu}$&<=yHI?^Vj!O^&LpPyp zWMK5rr!}a|>MRxzP{iDxF&)V<>k}-kcBMHZnI9(Ak~jA^c~xVNx89(#DzhAyB?_`M zYE2DU3Pk?^nBb7>$e^JWmPL>M08%f^B{GE+3vB2qt2QXJSn@tI$Xeap^*a({@>u7V zEu#?26IsFK=*u7OFwek_E|sTvjFUmqyVkW&HC{Ex-EXvJIRdJ@OMF>WG7BFw`vbe3Y#Q&)`c0KXr?P0 zMJGlm?tuGXMPo9D^|G-&VCcX*9>5AJ)S@tmuB)qWFrwL(&8YTlSfjc&It;ufo48nF zR@qo&v_*Ki7OqdQ4L7~lxhfW`&0+Xhrm@-D8qTfB>J&;+L*7d$IOVux1gjFPR5#a+ zlQJk`00T1N302pYh&ZVH7!XZuKKfEvLI6QzO2ywhKCETqNJR} z2w>qLJebQdEh4)BTeywD91Z|e)Hy0jl5!e1!biA{mkM?&7=XfNCVx5C5 zSP-Fz7JRCkBax-ZWmYMypR>?LX3y^vO^>g4_@gA)$SfQ@L8LQD4I)$^wbev2TXKn7 zCXhuZEUqROc4x{)WDZDv^8x{Eup#kRZR7MP*wq%L#Ycrhq5$uRRSpJ1wC=+v5m^Tc zvczSj>kR;~RL4=p#~p}*v}-(tS{G&~<{14#XL)2XJIx~>WS}Sjus>eRizH~zklBYC z5;Zvn!{kV&uVu#Z#2V{-gdN!$W@OTaOhLU^8JPyFc-b^S1X!Y5{+oDz+pNJ9(pQn1 z;;8G|>~VS@t1)GgI#nflvBAoBd92Qyti-ghl7-Wa+sP#D$xP_0Z6=k}kin@?nDG_~ zENodFO-fnJgJTjSBoy!`TDuuFHQkIrH|wBER8sC)V5;0(o;-dUFl1R{k(OB{Xh&y^ znc()-Qz-+oB!*cUMQH~-V=_!&iTwE;t}>T%ih=plWWv_g#bgvU=pLDQStBn!vLd|Z zzaj_%$za~=SerIFgz}E*PXlWsWq`eo!UV-*mbh^F2ZM}ODurocMUUN+$i|V?`Ec)M zH+OKonT~Z&%WgR;V&mb)jg{R?#}E+$fh}>&c%S{izUcL@je{N`mEm8s*Z zkO*Pa@vLSz)smFGp4(78y8=u}Wn#}`8yPAoDi|+b#NWE_XC;lokfrjK$;tQRxS*|z zC+puukW&8ug)PaU3Y_{=`FVL|U}TWP5_Vv*A`iHf0I`W9M(VOEn(4;^GX4T4U>CT- zB@9m4Sc*je0_+ij-D#M0K1XvRsJ3DIkCl%V6-0UrPQ?&3bwgQQD;ZL?k6K9zNby)`QDw3W`z5s zs-JJ6?tVA&3M@rj{f@7`;3mu5BzniI{C?I|Wh>vZcVZ(@{iX4wDe`o@%PLmc zaPqA@tYebC%J~E8%2RTlsWJDfx~n9h{Zx&+s=R~^Q(G9p(3L4U5$t_QlY#h@k!ZDn z*UA5D>)Cm<7($|{i8Fl4=2C9vf7_eV0U4l3ob&$r?`HKXqsRrBL+vuqP z>i4s`ybX`M!e;SFD)e~2b*izR2z)!p!=R9q5;Yq+6p$#8I7Ex8s00-YayXpcIign{ zT9m<3;IQfdN@nc4(ey%$sNYlhh+yS$=Vb#IFgq=k3pIHgCllPlj_B|F6+TZOuvnH8 z1j@+B%k1kKDDYx38Y{~h^syoKz+kw%&YOHAdbXhUQ0VYKJ{aq4h9aTN}--#7N zq=p7$jmrQS5tY( z=mSO)#oDsgdl=i)Z~EP)k_o1crI4eKTeWG4EX8{s^(34p1GfvuC5a;_%!HQ&mx=rv z5OmoPSXm&_+J^ zpfu?0W0*#z)uR9}R3Umufk&(Y2!5zCIURt|fWer6yORB`oYwIm?yQ{>xdYWMHxLw3 z9Yuc->w_9NG5lX5rpRw!*Q3_W9F37h21>$Ji7Z){9T#Hu=7Pvc2cS0s6^cP;+V)u_ zfOKR@Bw)p!72N)|)ct0a-HQO^hH9DXXJ zYhXS=mT3tiOs6WRvtWh=NCW~%0p4IUM#{p&0;~lLyMl=XCa>t*ZpAg8lDA=9OE`u=P~u;H#%mmQMF*Udn2ulF_n&g5w&e3l(y_DJ}9F|?B0F_A0`0g7e~ zjL1Lq1D0E#pP z2V_}za#f=P6fBcvm=lVq8#@(L zEPxMEvgChrR*Jlen8;>W>=V>>c$XgqB3FNcVW;O3f@B~=|>dRh2iBL%xIIFR+dS8}-=aq2ot4JfthDyNuQan)Jh;?ff>ga04 zmYL0p5r}PbFIgQI)?O80u{>)p4Z_4#9nnh!WCXhtAJQyDNK=v&aneg{v1VHotO5W7 z4Gfmb>rL0w@z9l+3>8<%c!I1nETyTtKJ-Nm0kh3t8CMFKeWuKnCW8eGFwna{S2OH+ zbv1F7>8W1x&0pJlBL4srbb}K#oQRNi`-Q=Y8TjGD&cg?$3j`%*c@?k6$XJhVnO?_kyDGwo76VqjyBf(ZI+s) zJcJe$*3S7BG?KN8)4pXUn+8?UTi_OiCG~XGKumil7C65D)=ob5sZ*1MKRh_KTt`7K=y?HA?GNWr#?E zm1tF9Dy2u}$Wi49(UaKcn|aAkwEm=wFELu zizFc}E0O^OLd2s2rO#I7xaChGB}2zA*mm`Ov`7e7MpxdJ_Av>jYXf9Z0Zq{)8VBvG zw9iY8k1J*Jq2`*$K!CXsV3M@mVurZ0Dp|CV$t+|F(-wZ3mIU)%~*kBSh*t>#QPQf16AxR%NSa@ zUmWgQ&PG&^9kc5j7PnRclT9n+b_`9dbsF>_UT188w_>!lqpl=bS|abz7b(tiA(drB zPcGYy5PA3sv3F@a&DpnKS`n}0S zi;&!vB+bk1^AIza3ONxgIJ|;bkiDW)NPHZksbkD>Cuz8G@X)eD#FlO>&5bn2k0T;8 zQ6$(Tr)^*J(pK`SQRe}JP@lNRuPdOP>c~GWmV(r3dE~< zJl(>~#hts7sjlaah9J^_2(X|5Rn;X?8pLEk5GWD$f`y97z?y0dqsr{-^XL;Nn6UCJ z4#PWF;LX;AqsbwG#0gMVZ z2_vffc=1+{E_n|rP?u5$!6dOhM(tN3MgIU0Its6G^-b2UUAx1F+>R>)oRVt=>D1W~ ze$!jaJ%RZ}7GA#^#rfwz@z`7gx#`*di}7yaPtwR4WSK+2Wj?tT+gQd{Kk^iI*}j}a ztPSj3(2WxEgAv&PIs`d11nA%eWdxpJYbe>j+eO7=7LuS5%JIoiLo_KPF)c4s8!PYt zZhtZO5a25C%kU3N#+jl803-}^N2btRO^<2?F(46VRgDgnPE#Qk71B`3>Y~c1HZfbZ z1XFC41eyb>4O=fh9?m|+xsegC7qW}Vl`Edm%z;QL%(a?SWtXscJD$afB9|VPc-^e= z!LQrxk^2^50379AZG^_xjKwiH* z-3^_UaLVdMoEJ(4hy?Z7@Zf>tRs!+SatX6mP=kw~=pV1Eq0&b?xy@1;C$VLc%-+c0 z71kKu+eTec>cZwXEfjzWSA;Dh7mM-WG|6UFEbEKMh$_lhy?^x!Ap|R%%~TUtTOzB+ z$B)rp0crykBFF@;_p&Sc#;oY{44b5RYPYQ}!(dve-Z5U+FeLY$cq&1UuA!ovA$uny zO?9o;i|z3g>w7QA<MB?;}LTOoQ`)tE()E z=sPiAqLx?$j_za`3JL94iXw;pm})nW(5ClgUPl!qkr)L8D+(Z6r?NCuh9nCtKj7;| z*!=8kYDrs`h$1}Q3M`RKShEm%23B=Nbtkei^&BZ9>Ha*7sodQ*3JWiZEoG}90*_=G zqwgx{E{%$#3l-!%*fAOXJ?Tc3a#7-PvdLj)A>e!#eg?p;Zc65;6h4t~Q`)uDrgFR8uRo<$NKqSw)h}-ZIMFl4`cANdEx2X?Y74 z8Scpxk*ShQO{rMVbz_aDsKxU25YE|{q?+M=QqiOd@-W|GQZQ~@3dFQdLV(T%wUjMG zL}ei9YCrVMhC>@o@LZ`toj_-QjG5>Of{V+JNgco_p|eC)y|JE5qnR{v*!z%7_F6dM zGO9&Z{{Tq|?}{}hc!#+MR8m$OiR+&pAxWAj<*U!bk)jca2x8?zw{)_TVSd;FrcrqN zjp(TBrD)=KbBy<3k#dG;+`5p$)v{4cx3J!nj9qnM>xlB~5o1{_SXN-lE&a*$x|V3i zsbD5q8~fv^;h4BZ<%nf*IrFf=ZdYnmqnM^4gnl*SbVdFwNG8Wz?Ee4|oxv+oC~UG( zMShpr3UXjAiSj4>*G2f<&fad+O_BFQUMjL8)n}SH@&;=VtW#Ns-PRhidO-VV*_oOk z_9P{v=-eFEQH-pt%DB>sMRVol=*lfXHR1>ZA$QcyM+L2dD@HU_ve~cYi%>aR5Ur6L zIMox=SZp@_(!FSw83FZxiWL?xh#EBYj)T^tkct3symfBff$4bCys?HTh1@7(v0*^9 z#OjnE?=R?39ZyaaVpp|rsv5Ffvj9|qS~vhO6i?)QtWopSS^=GZDb;~q(NurcTG5qIXtr~jR3gQ=qrFM=|q2%OuBy=HHf@Za}t&l2mY%GFC z=~x9<{I7POUPEAz@-TOGQmVp_w#cy-*?m~B27?U|b||w6k6gX@?9_^DR+8OZZ4{0^ zuWKijZfe6?B`oq!6GHN^2#k*$WB&kUh~MgL@wA~(DDFujMA5C}&ga7$4#mGKBElT2OMQKwzS)m@_IBuuYC_usf^Jz+%^jj40Ng`DX{p= zZGh6cV<9}=w)4OlrJC&0PZf(cBQji;Y@G8EGZ})=@#IKaR@$-@QL`j)kI9rSOjwIU zK!b9zs#Db%qWx63-2@^=U`QX1gEdjrF$3}Os=lGE)~#-|#bjvZKa7#fP=$4egzF)2B zYe@>am_8Y!4kPYR3g{HZ!9oEfPQ-Qq@IdFYaY`N*AqXW%AdFN3%C(US7O%(wr35op zx&y$`Lz!pudn>&tvI+VmT*wl?5mbZhS&nY(O1qC`^kXcSzL$ zc6LieLv%<45>Ba9F=Jn2sa#Gz`^g?_KG^f0h)F&&twOec#vm+OG_PlmQ{QvZFJ!96 z2#|vfcKd!Az+%K^?5ylbXNibfCaGi~_?rQmk(so~73jf;9Y_O}?m0$Ma|lqQ8Vszq zWCQHcRZ(oeS|)+r>biVK;Ty0ltWK0Y*6Y|H)e9oX8Z-etU^u_sY>6hU@mr25QEc=) zKjKGs1yrBN0*u6}g#;;L9BpGqXJsKSQ|9V4HNkgPUsD3#g(9iLcet#gEFo_ zWv_I7*60L3K;zVgLsi6O@fR?854W*TCy#13Q5~LXt4Rn9YDlVm7E(@aMPYb&tu1-i zt3spe=Y$H5*xoUQP^};US`f$3x+U~Sx;-o2m0P>y${n&K8U?mc{gP8e6R>?~bSvYH zqa!SNO*d;Tb92%qOmTFeO_yM$>OKbFLv-mX-sDx`HC-{3dXu2>{#n`2s3TPV^Uly=36uW?E6g z&!FdQDwcB$_?T_#)~uB(w(uDBc3CbU`nU2`KNE%XM;4hQPmK8x%uBTJCH!wC&+$B- zIDR>HV!6Pm)tI@T2<^l9UT?*mmJVYdk@)7OR1-IkKa7MZ2Nwg90IYCIQC1i+586-}xB;g97gRxlHg?Cv$7XJWcUJb)a>N?6>1 zW|7xyF*;$_>bzv7h$`ab27k%c%~()u+Z}^c3E8UZi}?$ClEuh`U-C>m3W3@_>d?H2 zRHWd*^;h_#Gepi+llfyI+D8J1h+~ux#FPHuEc*vkHh&>oCWtn5aH=F^c~~|@5TKDn zP}k&Y{geLy7t;3?m#ReBt2dSzslEFoM-xc4vS|bmW2(l6PVvrVxfJtD+BAZ;KEt~- z(nPaY5X%A#Bh6JzvE*4>GN^%BL8FdYU6K_@uf%mSf8BEyY^989`2ImplYUtpD&vvM zWKq$k4kySFL#|k;vN{-NigdRup26J_W8z5_z8ADg(zhMVjNq1H57Gr*Rx!PtAIgF9 z7m3)!75m4*NZ9r|C|@j;mY`M1$v{!)fDgUUHhuc7b-fptlEe^Hiqa#7aXgCRNY&B~ z6+MKp41H_Mf1^g8zfopxX!eSs#54ZcRbm(wBmgX8G-}G0-3^dvj0joCCo&WfTgLT& z{5Pw+Hbr|rH4i7J?>TH#lC!+DZ%QlHGR-xEUMIUHs}ig;kR-6M#}lNlS-o;i7(6^k z6oZ-`J%rXoy?X{T$1=U>uG^J|lc2ly#qmn6d$r(V5iXrk}_TzeB0W=8qdaHW& z;gZ$%8`ZUFqPcOF%oe=O)#<^G5tVdr`V*qmLGMPX;!J%GLsBmR-uSL{JJoev0MT0RnlCP z3|JX$MKeaBK3@uGLx_0fKmo2)6(}I@DN#vy@if=~pc6rfv(dO;Ex`E~JZX6&jq)I# z=f!-2o-Css;Ruw3nNQJ1aNo%nb$B$L+-!H|$l?-1>{uY4oTv=3$s0=Y!8#rt;dset z<>U#RdzZQBq7UxCSGb+QBY<5+ql-Et>6nvB<#D1xKg#Pz44EZUM;eS?)v3Q6l$?VN zfXk8#0J9F9zgr4)6a7Qo%+DbHZgfynPj7SF2mI&8s|SEK5vvPoh@;(G)W zERm0x>!>|l(H)O|RZD@-2d~df13aDt1N3A7kjKzsXb?g1#*SBDg%#H=BiyJN@=TSe zlB;$tjoCqn1l}g=U-kJ7jN!@rIj7`tlYs`6x=|c6oiDjyAp~x_y;wm67VBPOeWp#0YDv`EmSucM*&8 zrALQ_3#&AUt}&aO&Hz~ZU=-u$pcUpM06OL5k^Wzhc)&O5B4uu5=+=^8ZZ0C_`4{}8 zASv{R&^;|R4SIYuS1x8}gCVo!{?^vdnnYn0n`sdhtK(yxS)jvVk(#C&wC)5|i&&U7 z+m;{dD#vnm^CmonxK=q3EE>eK3)FUU3UUOy9=ZY)DyoVC$O@;%^^IT92SZjr#^!Pn z&2?G_MQ+U!QkG}q?Uo3@hlW*

hj9KLwkf{{YBG)A0i#EVLX20rFCzR8rzts4T!6 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 D1}nN+ literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/7.jpg b/examples/data/Skin_Cancer_Dataset/benign/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ab462cb25a1b19f846cb7733764ae3dc183e65f GIT binary patch literal 52929 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Çqx zWIhvw=zd;HO7TYBw$(y0U>!$p#=sC&S(KU-NGimO7u7e)aSEnX4tGSPdswmBs~IaMu`i)>2#UO5!W>ARL>nbMmee-CbqJV{7%2o1&r_kc7SWl0 zae=k&yToNppx27Y(N;#BB1jPK+>|&!#HupwuN>NRJLD2Jjvc5m+r3Ysf^3NcDK%g< z@kE|$gVUdHwEpErO@PKl`)34F{{UP@u8Qf-Ta$I|;EQni+C}%a@lHda7;IN3wuNDh zWJvNS=19y&M>1&^#5Asj78W}8m=^Q#>Bvqy2rN<{O_LXEo2|$~PmEdxRppl_SK=GhmNhT=}ovw|#`0_~< z#2c#}E3YW(YOa_XZ3NjyS<^YHEqSQb^7-jWP1_umQcHHpj~P8HcSLFTE2|GIiG?R` z>&CGKlu#t7W3fQTg2Q@cuSb$kOd5uslw^{IXv!F>O|u;5c*PzZ@TMg+9L!k8+pKxr zZD48eSGP-lC)lEvNK7k69SU4pwU3yTL0?(UF42o52*YgpV82m}w8@5imW z|L>WqQ!~|ddZub-db*#t=Vj$(2k=%!L0JKSfPer{dffmo>j2sRj{aZcKPUe$2mdX8 z`3k^82kZcLkPz?yhi@mLK0kV~s6_UCe@ z?GCHfrVa|$cSE4ql$*-1pcLS-p0M)}l zVeC)P#3MxU~3T_#{R>!BBoRD99gIi|4<#bTc+wdAaA7*qxM&64HYczU`( zJks??m#5YJe%;8N{L^q|+Z+Am|HprkIsd3ci8i_Osm;#aa%&)?vq_d5AE951)IDOM zo@(D$U0fx0K3dknkcZHQq-)aoF?+f8jGvaW6;aMfLi96)z<4dF%$%*Z1SCs^%$TEa znIEkMSdy``R2;DWiM|m`#uwst>{syPUga$epPeN&Gvi;in^|WOnQf}uV2wuQqOKCe zz;8c!uZAl-W%KT6gnXP}e$N({fTE&>=i>7T*{}Gi4g2un{&JeVqJ;%jqm3rKtBMrP zF_V+V2<#R9_(>P#i~5G6J@HN}1HCISx47)sBr9z!t+VK7M{;}{91fU4LIeSHJsTNc zm$gUxgWzoHw7yn-J@$wSliws>lKkSTVX}pVV}zF<4DY)$O=s^RWH!X`1)#k99TG>o z5J*l1fZ`?_sMs+iciXy#v8^Q(e|>cPfp27yQRFhd*j0A*9+SCg|HL3P7gjY+au1BU zeFOG0`K`AYDqE>>6OlqB_KU)@j;ERj;f!$J+K=!z+jM8=6jkm+lSy}3E=sMQ2Tth5 zdaRgFR#rKXOQ%3WY{^sBbaCFcn@1d(H1Q6VPFF7aOkPPwVR0f{In>7*ci(@?XTg`A zn@}0OVrtf57%ihQSF1m+UcH(dzcHeH?{mQ8dN6grA+gPHjOV=d6_C-WesI;-*3K4y zUqcX#WC5QCt#<&ereYMG4$lh2Dg-Xt*z=Bn(MEM?7JQ=qo?pkL11&~E+RM7%?hHcY zMc=hjnw2y)j9O$_Rr~0uxbPx=GAhN_hJ>|^8zM|IQq>K6-k9XlPiwhevbR( zThx^IiJ1Rt5%D`zA}C9t=$Uk|ooBY@&-L0>pTo42{ z5!mLb4WlTNYtpUlGelBA(EisvS2L@VW1hCyyLh<<9;JiR3yMoK^x)$Q<<&@bm*0%A zHckZcf^V5`PQJP-RKc2maA5A+d)hh!gYSYA&DB@CVv_0;&A7 zT5N7dbQ_1phwJwb+Oy1k{BInRRY~Io;x8S!4UCS{1jl}ab&SMBdsAb-MXZ?

U2Q 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 F9Z@e)N6cML+V+K{gxQ+;gEo~%t{ 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 E*$}TZrvLx| literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/71.jpg b/examples/data/Skin_Cancer_Dataset/benign/71.jpg new file mode 100644 index 0000000000000000000000000000000000000000..559456afaf762020bdc48e8a246350d8d62303eb GIT binary patch literal 31198 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 z≻RFvg7#Xz!3si1whpeUO#>dPug&*2p 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 z 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

Uhr+VJ@1fG36wfmOQrOO^X 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/75.jpg b/examples/data/Skin_Cancer_Dataset/benign/75.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e83da995b2b1acd0d509d3151b4397f943604857 GIT binary patch literal 61497 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%0D$S~mhMyjV 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/77.jpg b/examples/data/Skin_Cancer_Dataset/benign/77.jpg new file mode 100644 index 0000000000000000000000000000000000000000..143eb7fce8e2b8c4c08c382d2f9ef720f238f13b GIT binary patch literal 47021 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�L z%c?PAIW1a{J@5^HX#E=^nPCJpfL+=Y??GM3XC8879K=B*QDiFCh=cWB#|Pp!?y|B1 z1Ze*Nbtp+xgBW=HSxBIFx-5NDRo^`qCo(gUF_4f3Q3O>O6hXQpjt&UacLi0Asag&| zulU1^h@nV(gd-ydQ9zJGl`k3e0a*c4K%NDgAQQ_i`j4r&gTtx6-Tf99jLxJ%8e-X{ zc@?V!d)o`17$X?#BGFQzV<%=2qm~Tq$lY0s6}@?&#Ey`kOOkW)reI8>W6Dt^hvG%D zJw})KHL;xc+9r+eh-5!|DkjwQZC^!3a zwW)yVkzSfm9gQqT?39-_VT@rSc84JV5u{Dz4-6P;z=C~~V5$3YN8d)sFw7!SEn(!Gk`L~@6VHl&?_{{SE_>^e75q6CN! zOrQ!RQFkh%?s3^#q^{#3VjXBhI~G+J+~F)r3z_@!1$f*l0^TlE2^B?H2gHDX0=Oo# z(abuDAXb9s>?wE73po-NkU%2*GM>m0+MWg>#`xyUl0lHoBq13@ZfpqwC%Q{mR!^u= zwNh5e=-GKd-dc$oL)q_IzkeI!jQ$uJeKMnyA5Kwqe)k6wE&&Y@#za>NQNUoJ=xM?G z63W4c;8j%~kCh0#5-vNKgkj`$ zCv_#<3Eg_AI zL=Y%6MFxw|TX4(dY}hBN&KmU6jFbhfzW)GlKG>w3VQ^O{H~xHDn7862RIaFJd0B!R z3@vQA4OdirD0&t>lhnYllaoV`hW-BlXc2|=k{baFDuH#oAu?%t+2VXcxbc{d#Y}}{ zV76JdK(tTz(I9bjwWz+k<@Aao1h-p}RlPU!iq50~K!rt6AFa6ybBQNeJH4a~teFxZ zWeQbyK1||?R^X&zxnkgo*P+Tp8FFOr`EvWQ#wIcmWY&!q$__eD8 z&@wnGL&>ueBv&*G(vw7U86%1pI)Nf2U!Mk{eqz<;h4_qsYBg$;R2vP|`MuRJr!>fe zAt)ja-b7wCy9Ux=45d$j}WMu)-WyW%L{XE)Em? zm&W%MCL@fwV@Z(!@h*>iSqH=$ukt)lJTIA(@na@0NmAp;sig_N^cXBN6i|Mej#wjg zMyfd3*982B$7139c6@;g86q$eSwcptkw*IJ0Z{%*O%ed{v0Xn7iz_cEIHRNCiw{VO z3wLeE?}^LJl=ES^jG{$Y`JGLP-|s_?eEm%+`0Q+ja>2$d(W9{)z@-$b$4m#3Eg&QU z&1?l8yuV*Lboqh|Rs{TB2gD%HGepUYh=ycmmO?(8$Rk4UQZU5fmlzqq zSOO6w6(J$XurwBUd+zu6hH?30IY~slAQVtrRIACP z#xD(qzbZ1Y);=aIMff)tigs>J%H1QIHG-jsFudEGn;Jw~x5r4tzqRV*1$ zh#G zJaxPHFX87SE+C0VV_IH@qfrC^!zkRWWA*vkmpf9T;;P5CIz!^|{{V-wB;8&$ zXqc%}u%#q=9zcsE{YV87*SE`u{Xrc>$BOS#MalbDzA>~C)P^9vG0 zQX&8}Q%P!Wn99uSBLFVgAwo}}4<3(E)AZjAk|-r2dop)*@)sB^wSfvV`EE^13dbu#|6wOsa=mUI^8G)g;bzud3|h1Xyt4QsR%pNJMq1+w6h}_`bMTe ziIW8?G2GQVY#IwcWh9OgaKbf|9ooN=DMjDAK57X7`0@xnRvBm(<04oj2N%N@GzZ?8 zIL#F*r~z<@YO<75**ET~ zQUG9JdWncOc0&Aek>A32!k#Fb4kiiPy*MX(WhZ07y;{L0!6)&=0sNq%6?dt!=i2<= z5D7BWS_qmVcwcaL2ks#(Vq+w2vXX(S_;q!WTT?&+yK}+6we;SNd37#8f$VMrvf&-b zSb_6PNuhM!i5lH(MQF&|0OVsT0v41hNx-tAnvunRK9b*>NYN{L1!RqVb0u?jN&DYCpGLUrw15gVSFYUJqp&;o#7If{fm9^h zgt^3VtMA3Ce{|`Nl#Hpjxg<7|*tCY@ z#sJEBVV1~Q5=}(H$YRz)x3CmyYu_aC hqG7)q@Bp0~-_Qym=N!X8+pXRwExp(0Y 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

7zU95Hc)*Tgj(K!aiY9P^t5yfP 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 W$CPbarECne5u-0Fux=|<^>>+i;2 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 Qg@r5q#H_PEJYQe`*D9{3>xO*w@ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/8.jpg b/examples/data/Skin_Cancer_Dataset/benign/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4aaa20923bab22f3a4e6a07d70296bba33b69e2 GIT binary patch literal 47498 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 BR5btq literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/81.jpg b/examples/data/Skin_Cancer_Dataset/benign/81.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2729be01c6f1cde1565d4dd9232f18cac9b03a0 GIT binary patch literal 61739 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/83.jpg b/examples/data/Skin_Cancer_Dataset/benign/83.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a89185200e8366b04f934e0631b308474a05740 GIT binary patch literal 51846 zcmbrlRZtwx6D_>B+v0AEFYfLx0fIX$uE8aEfS?PDI|O%k4Fnbs9y|~hk^lh$1h?<^ z|Eg})eZM^qQ&U}irr+jFpYGT7*F6BChKjlh00{{Rp!VMaylw#$|9AR-vj2hnKLPwN z`1Lb@2otae*h4`g0w5D1p%5Xxjsa)^02BZ+%75wpA45e$N5Mcs#spyf=N2IZAR{9q zp(3ID&rng207%FvM5sVU05KCk8oGcy39}xCf~}ywHz~+Y(I*PV68&l9zc?DC{~z@K zf<-|^LPkReVEhkNg6Kat5-Re4sHp#K0M!5PBVq)g0Qs5Z^-u+Di50xj^rK*(nC*O8 zNuo*Ljx2%%)60JBU%YMtaR18znFxglAPaa7x#P{Z_=zTRI>9r#s`5jA9b58|>S8Xn z>mxgV8f?3*Ps(I%!le1&J&oJH?qi!%er01Un%bERYd0Mqo3aywuq#I17EGKhupC;v znZqzw`OS+uDqhdY?mq-Zen!V3147kqg3?VW>Z#9C#T#=XDgc(7(3za03|t4WojDa55{2@y6dRINrRUS*Rt9C}=! zpS?M3w#;^s@m!utF6pslk6R#awL^Rz?v(SCwq}d^+&hsje>t}ua`Ow_yO2xH<&H+= zKv@c5a~l^8%4XT|W7agQOcYE_#pdi?u&PRrswabw;|Fil*1Q6wvGoJlv^3f{XUNYG zHcu9+!|C#MGSBqBT;H{i7fuf zuZH2LNy{~T=D+TaIL`3@FjJ(fP8H^7oFZ0-OCoQ}CPr}tAQ=g9%Lhpjvk@C+BbR&} zUxH?f9r#c%mDgC;*4_?d`0Ou4rK!d5P`o9N8%{pn0wRDG!7;512N7IW zhn^N2kM`azEUAn|BMWNs-v*H5M9{J}p7|RGQ}1y_Ow^1&WHW7EM>jP8sP6mrVPINd z@5V1{5_g9={K$I=V(|pk`T&YaYk02+N(75c?jhMHndy>PH;MmhNUi_%(8Z);w68Gr zC0M1d4|liz+sEb3E})u@-e@9A$aACUUn|W<^1nXumq6v@sVpm`DbC22Zhs*hKBVYZ zfCquCdDT!NAN1F;_f;5Xfu{<6Hvzeq4sYM@{4^<8i%GXN zpxhLTObz8={k*>0$@%+6Fsv-8<+vYzYuW@Rhi;MvMEW^F#vUEEhD)xUL)=nzu}Xq2 z**Q}jp5dtFrefZ6KXa#PAL`u_jzZR41ePrPg8tCNv8mwMp?O3d+?{SN8x!G^h-@U-ic7uwBu>ICg{N$qakHymh&;CJ+{+6Tp|1SYEZ zFTaDB0q)-+;VQppgMzQaT~N)?rOYJz)KWQ&P2Hga2&1iH#8k5lR-m%kmQ`YdlT1ev z6LrD{ew9i`epW3B&`_N%+sUw07JX=OMOJTe7Q%!!z1z>is&3cxrMr=zvip}M9lzNm z#hs5K;@MejAILYYV5UdKNgH)0D2bjSr-p}#iq4c0`&PppJWoQUj<(%4*tk-B{Hyvu-*(GjbIZfSfrBCz0t8d_{(D-EM_ddfhd%ciXKo7x7&y5^uVIRJ}f@#hh zb;1yWz}SXcQ(41a0~!at3_5*{KB|7#j1;NL#pNn-TuC1(Cj|vk-O>l{R(9~!aWnip zL$R_+3F_U;4cz~585PA@>+%%xCMVN{Nv(s@JK^lOBFD#qrMIC~mLH_YG}Wu}#10mf zw3>BJlZHV~TUGyh)GBXd6&uD<4aWd4AQLR#Q`^Y|vJv`H>Uy4hKMX?5t{2rmwF%If zl-exD;4m9f^(`ti)4aoyIa!4%Y;84|1+pQxeTtPfg!7*zezo{sT4t{{ZNbdh3s8Tz zpI^@Z_zDp9tn@80{fDkXoG5{Du|Yye0s#KuPusBWAq>IazE^TE>F3KNpprM0jwQ3U zbcu`BTAzxP(NA*_HzK){k=YT9{SD&YS}*%#2&OC|byea1j0)AfFX=B1p%ysr)#MX= z^TUfgb)seTL^hliF|Ev{1O+QHhZ+n2jv!rZDrwdq|KUosu|mZ|s?l4@PG&>NnJOgT zzI2eMv7BkuWJs~I!^`E?bE^XO<4}p`_w04>EHpP78(<841$go*K1>O4v;7o-=6Y3SF=5vGB?BU2K2&tR#= zJEjRZcE#c=abA0=pIiK8r}pnKVt>C)uB0Lx7N2{ep7{F;C_FOtVS9jylg$XL*<$WZ z4BwbG{S8veP$QG8o6VGdn@@kn-C8D%a!Bl4O=) z`A?$3*Je)t&MGc^6VxI8Nn(hUgL8~uXcHvk-g#3DaWs;=SX@!vH;H6m0{iIC|2m|C zl>(`oRJbrY&Gs#YWKQ-ZQwFTb$O3Tt-7{AAZU!w8S~(1YkpQOo9W9`=qV8MA`6uLH zkdH@7>6}S`R+~j%=NBHf>PZ2SJz#-%CXXiZ`WPwU9PDiMT;c>2XG+2I31Y+Da4Cno zO%!ec#UvwW9bxO5OxU>{6LizRKgdH^27ZhGhqSUaK zy*o@ow=L&$cm3Z&c9@j(#oEI*j9s;zyvE_7Qnt&3CS4_bZ>TKP z`st)xD7^>cF}J^!+6_3t+>3Sx;LQqQE>=HmEb2Aq5Ubx;@4#U<%N8(qYG*BbgEwR~ zrJ1UK(CC0K=B=$E(@3m##U{4s#jwKh?t5mD2~{5eJp%Z1v;eGN`rF!Y!V{R;Jl11_ zZ~$~U@Z3YV$(&S=AP>n%haC7)A9q#{?+C(MSJr0i#Xk(E5{6byeMw<68v`soaz!KJWmfJER?0J7H(nRY{3H)(eC$fM%Wxz)qE zj)g6uom2mKpxh$y4(U;&M<_QWXvcvEH-3w;|145EY8<)3#fFsp$?pnXfL~AG?Zns( z^YnHg{PA33_E}u+2T0t8r}zbA7ApPgd%*}_LhGjSC#f-&3Yh<6;2i^*gB>1`-Q7@X zH<>m}^WP%-B2-76?(z7@4{uTcgj%(+N!bmLeD0AyZ>m>)f*NXyFk;Lo8R1y)l{0dN z?Vvr;tCrn@JLSnP)$94MVDND4L3|?G8uhc^7juDz8`?V>&BE)r`a%K~knrMu4wS|8a|Rch%Dx3Foh@dk^y}0mV1JYzMtMvRK4BIWHTcrS!@`i7;lkDT z%Li3{Bvswf*FR)HbW%kK<5)v@e~P3|Jgk!@8-iz*BM_HFYxEupf(e5n)i5h7P)P&m zeW)>PR9i4Kwej@}>-MpAVO@z5)``l##${JUbEhi$?h53QoWGCe=xX@KY~ysakVs?L zlzBLz>z)^vKTAe{Oo%Q7Pp1teAE8xY~K7@^nY;qv z{rAhm+Wn)#*`=s<0+$&Oy8&mz0TS{e+;#9`nLySlQ!CbIwy9n~WPl^e-B1YnZAoUY zhE$??MshCND}eDSA%x^M=BU?Yx_L6fiStH85g|ZV3|oRT?3~SO?tZa$WL5-wvzfV z{mOW)bYD+JwK4F)DEyyZ@q)1$cl1NIF}~3_Y~&SiKtDUE-50PQgC^%U?6iSQQZZ#WYH|DRdp!OMPF;7Gryl3xd+ zliz52T-?ZWO=Jge5mwIH+!@Eu$aEMw8*4mHd+kZ{Yh9K$Uh8t8Q2o7bvxbPn-lC!n zAr?|FYeUT8o`DOs&M9?$&;I6#v`mr9ly)u=IJtdRoO@?-rX;9*sI@M=Kp8u>E~Su) zMD3kH)I2Im>kXO-2!Mi_Bb+qm+3w@8KKcBuWd34_xX^yEV(1XPu6{=rdXa`<$=|9K z+3woyK)wW(ijs|*Gg#(qNigLE8~FhhFNGxBlQxR^R+-tO_aBI5Mcbm0$%Grtjp-Upj{)fwVwF5bvokQ4jP3ee9U=A&_3>1zPn!Ys z?`V@=NCxrv)UuGdTLg?gpFGEl37M)Jty5c?)ofslZd)PXYiQpT+e$nP3LzArF2wj& z28W=Qa$BV-zx;VZhR8AG*EjcCfkj*Cgq=e?AQ=vIjUyIhJ&iUUT?90h9C9oxte})(l?0K9oEJi7Y zi5P|1LE-%^=!GFm=IJJjTn^01>d4DWk6dEl`#bS%`-22|33#)sYmePtH2YsPG}+XM zp96{A=O<^xRW`6%{Uy){V?bMwviUd(<8lg=y=+Na-<_?*FDs9Sb^eO2{u1}u2U*#-EKkt2U9UB@es9y!k&z1KL|h|Nil9KiG51oC`!1xkj4#{~ z^IZsfb|E}VL*T%E0id3V^n@E-tJ`7Rlcw=2HrVj;oPhdII9}L?bT)H=8!Z?!QxCH4 z=M;n{18SHF2Z`Yfy#z|xMGWy++0x){J6n5MYM5#1xkrmS5eu*ZG~TfK3h)n9bf7rb z!Ob7*TVm-3WIJHj8<~9g`~+1Sw)w}Z)s2*->iP-R@Lq81zFDVTOe&ovWr(Cc2;uPL zN0Ke=!lUt0Ia?sn+m|dVGChq$=iIaviT`PGFS5LhTLCJZX<-26WT+gC__odGm!AuzB?!oGEGCq2-94aoo^f4JPlB^4JeV5zK;$MFc*DXV<%YFc&weRly z*MT5H&p0P1@FQgp8A{?4#f4v!$qHG@J>v)XQ1=R-fedQ`Xnlx~R{L++kRaonXF%)vfIneSPJPMIDh@pbfwR4!o#4xswSc9?32|aiV`MqT@6{EYy*?^5-c%X zb*{q}kA`q0D{<0?n4SwdgJkFl7U84$v=z!~rOJ<)nIxLO+()>iiTCg4;{2}mSM4U% z41koNLAlNvi%7r_R+U-nBn{DWktw6jTH9ko;A-!_f-r{&;nNvvDlk+61B zdin^;IHzW+kk-W%F@}DJ(Mmbt=yQPsYJ{}TPo`bl$sCgY@YNj zYa%`u$8b2c$Zlo|U5v@<=T6U&nwb$bf7^r|MNy;_skD>kvB&`j`?@kjW9-Ovv;cKr ze_FV@wG{|V51M{kNtL4*o$t~N{qGO=3Ls`VSb2(TbxPDNg^hITJL@qgKH+D{l)cXu zzT&+KM2yASOnfHUVTjv_8hD z`c^qQq`g%C&TLihA?ox7|BtT#lB&8HjdpIwC`{!x-Gh!;f?qP<>N#!h2O&wc-2(hu zTV$M(1zr)U9maM2sCxh22Q4QtFDEvw;GYYh-Z*K!Q%crCvM@OGbnmK{7Ka-S+Nqne z7S$>U*~-10)Y-4Oq{?!{^TdR_ctM+c2)AO(YQx4G_PKt0p42TMOw5S`h^sLi?u_58!~hw;Pq{FdFK^;S5W?Vv&QkoD>nm z;c*6fwC1|Cp`vHr)sKXp_}`Ex$SKuLH8=GWV;?deJ{TvOv>+_}RiLB2(i3_W>F7Ti zH>a@|s0>>;T*USnRQON#OFw?~Fgm&@`vdn2hq|zAAF>S0^4*XqRSR1VzWDKuj?*N(yw0C0Y8OlwmN#)l z**_VX#ved;rS=j7iwDNGIRg0Nwk&=ydHq>~9qKh*d}oD=b(Ef!h+a zi_hW(PAfuQ+@9WkY6&;kr-_-yZc@P9oG1xgiiLb>&X1v+bHzfQ8EoNWY4dTrB}fXM zRmY@#Y`!jkiK()nVlF6;NgrrFoS6TM|0ajq;3Ze01Nw(9$t<0F;)~hhjg=hpUh@tIZ)uiBJ^j18 z;z4JuePtZNuwBDo(s=N602VmO4~cW!5-p!=p7#AUr3D1Y0rq~b)_xzZ$MxeYV-Yw{ zA+x4XBV!{N!d&Nbo1*?RG&5}?DXCWAXKMw!R|Z3z1M?|VT5~Y!rA&AO(BIuUo30m| zSsBM*<#}bRdMEHLSELNC1`J4oK;*MYR=3u|+btJxB|cIf1|3YTI)v%wD$;%!L*dM3 z8fgLWV3r~MHcw9uU)A_xZ^*xrY8qO;=HX;ob}ofpdeLM|`|MKe=+=Qg+WQf@u2|GIE2 zv+Dj=I3WB$#n-LW8ok9^KWM9JkmsFyd?o7r$E|{&)Tc9)?1%Z~#4CX6cY3^~eY};b zIOgSf{J#%{h(TU)GpispvsVC({0(J;csaV(lntvI((~Ycx{WHDq3M*X)JBTj1r5;@ zjbCyQoag63!4waB*`8DjY{KXPPOHD$*GFSZ@YOT|R(H}Tl=?H-iAgBcao3beS5DU- zzlQ4LrN~>4TYQWbyn$dTsKGG#V_7hkw)jD~u*VR$;Bi{n6r{2t6w!WFq^a)XIK`OB z0}dJa1j@1emk?Ff|BnokeY)8Y%b=Ik3X!JHHi=65dFMvysUk)yxO*!a9**vVKXPBX#2Y-(jp zLEc$4Ru1=j!(qJNlU`Rpy$h8kO}g`2M#zXFUg-BPWF!%L&pfgdN{geh$%$z~&{IkQ z!5p-m+&|;%-7Ns=5CO+>8X^rZhPTRl132G31nd5cO8U5ovMS#{&$UelZP_lG2z7-c zX29QIB_uIiId3ZzcZaW?qs39o5B~BGwGqX>(}Rb^uW7TChz4AL>kjydY9sa8Ae~ab zC&r7eZ7}e(c@$2~L!zCxr7-(Qw{E}1V(<#U{FMEa~If8SO+W2rcUC9kzib^UxHTg#fM6^#1*GW z;G@(1w-yd-)_s@8{vJ&gI2;1|h1OIlTL#P8NKeDkYkUWS6SSPS{@Cz>F3dJnhUhoQ zJ;Mh`Ykg@|TxUMYJw^X<$OT!|S}k2E~>*I77P zotR390GuA<^X1gZ9;@ac{fSBrgQnnVEzFiL;V4#kTG@$~`AqYi2>+CW(1GRMDzG73 zLL%Gwt}BIme!hSj5y?5bZ%M)}l>}O$wlzX=Ej0nq;kZgD2Iy=n;I)lA{>L`FZ353z z){N^t-t81vkjc8{osc9JpY;zlOQgoR$f%ozz1JgIQ3+z0V9*^g|Jsn>B?&Mg2qT9S zKBnRXP1%(f(EM;8p^`SrXY~LXy{%J9TdGVS*K9Zlxx`-nqZI(3FhK1s>S8l@y!sg_ z;u>pQDncJf^=^HLWdp{W04?cSZ!FZ1-CJ-PIM>kR-HBFK3OOWAQZ~N`KJV*+P^{x| z-V3F;YwEIW=*hKE&piHqaZfzH3QehEczEyr!q1!kMkmUr@NUJ5f&)y`W}lV#d)n@C zNJh371hn@=p7@SpBWwx?;G%tR-coA9U|ol?)dQI|M`SSTpvnGxkUTNYq4>)D2EvHN zHfl^G3mq1=2z3*^-znOoG_#TM*PP4CQ=xJmY6Q=t<>bLMllK>ylYZ9LR5RAW5zI-OD5Z=K_Sn2o{$%Oh1jj zBnA1CyaL4RrSrlZ+qjRa7EKNvVrjrL45w6;^ZU()y17dS84J3t>0yF3qN*9URO_Zp zolR=?d?d0DGcP|A#HSZf0@W6aIH>K3LPpn8()nV$Oc+z2GxSmNSlg&iHGzMDao&1sIgppK zC3m!)4Ey>;B6FG4=(PlwPRnt3XJ9{FAK}{I+BqKOI5E_Z8mrlQXaA!pgiIn>65_KF zG?i}lVUG%%3*tR7ocYbmYN(QJ%NzVRTjRN^wT$v8Q{XLXk@?J!tB+-xT<4jHCOkcUpy9~hWYx`~Xm+A#^uHg5Emd?K zJMOhY@nwCz&d#`U&R|ycjc*k5`0wREFfnV)fFo-_B($yO!hCk74VHgOLy&Us5*(Q$ zK~Jft{b`}E0O+#ub}~!bna6%wo;SytRBUENoGIWx1;hZzkT&fV0Ya_SJpfBFUI!ci z@MneVL>)LZp_`XdnRU&9-g@Mu-@QbRxHwzS#TstnEJApOzY3KFX+>qNM>fdI94Y+9 zi<(0ksoz__Y>M>6+?!rN$FKaa_Gg5DTqEx4!qL6-+?m*5Kk{VX)U3P9&j{xvrBY}} zVl5>^147}c>6~GEf2Y}zEa^R24@?OtU||@W!)^(xVw#$*PyKC*zR9Lo+2H<^AJw1W z?nh0v3yb#fRxV`wF7O%Es@4ZD`{3nw)79|UiwVuIKJ0TPK&HkXniQi@^M=}`<#-)E z`p)(gqmYz6z^KeC;A>5bS!u!#kHpb$IJ)JfS7r1yjzYYGWp$Jkv|PL=rysae z`}>+RBxp4>rhE&^Q`o{@0lfr9TOko5Z`*DbA`cUM6c!9w26<_^w?3oCrk?$VDWC`C zRtwB4#`N8FyaG&eqj(u0OX%U@Zu`TuFB0%*llZi=-wgnv()X_bEh;H$x)GxmFw&Cs z+s@gpD@ zb4+OnHnqe~!&;B@7c%^~d?x3R&8?zVSCT#5!25Dhb^9Smtnd@+=Uq~nlW^Re^M+rB z=bRHrUETO8hYCq52a!X~V;`Pia`>K$#T#JuP43jJWw>6F*eL!jL>ez4^ zhN|wkn}Yqm1x7id{|0LKw4x=P!{!v`(iQL@Fp1&k)K!4mdbW&8ZnPTf1c-P%h-Eg@ z;g5kaRKl*xxh{j#d)b4rPySz?7mV#LM@cw7{-~`UR7&| zYF-NVX0tn?IyM%kbH@1UTO_+AK+v_N=z}-TJ|Z~=*FRrk9xfB^7j!n|$VOF7(yoXS zBNOzUtXahWZj}9OdtsJP13zr>nE@(IXz5JXOIHlS}t4t!M4Jd3D zUM0XxB@VfddIjWcT7~UcMy4-_VtSXo$6o zdNbOjN`ryyrz#AelrP75$Hips#g+1nso7JZZ^$f5vJ=n67X=+kzdJ{{h}*aObLdhI zGyCH>{T%?P-yBR)>zJpkwCH{#n{^z&<9z1EtE`y@IndlQbG(=N{&96^8^2!>_o`xN zm-!)kG39%ecBUwq#w)R;ns3c?CGPn zDO`UKuT*Se;X*v3IUr9_v8fw*sZNW?z z@wh@Xu77yG-^D$eOhLovZeE+RuYtC6u}J%ea=CWl_d}=r-E@{*rc6E6akV}gbk-U_ z7k_m^RP*~ABX9`EMALQHlpVF9JLC&Y@AD;`OEi!38=p&|+RjzGu5_G-SCI%Xq=h1l z+HB7-2~iQqvJaag;i;K>Ob5QvCfRXTT-P;EOuTdxxmUB;RT>hi7ae7FkO=yC5Gf3P z!x|-N!VuPdQ!=kPk|v;5xhM~EqZ~K6-EA=9=3$ZRlsr_CjqZDY7`Sjuf9P=LT-#FB z)$UR#itNBt(7l={UB3keN1ekCd->h zaCs-RFBDrYowsI%eZ`|wkXX;2}c?D<0xH0VCL z-c0y!+q5DC=DvFxRqvlzZI*E8wk9`^>W%8bwF4N9@1I=0awR}axrbd4c%7F-ohwkl zdr!Ar8pD4vSQ-}b)mhIwabzb(%R=hnbOs03R2yg0XG^7(98@0n6+B*cbC^U zPZbdPpC2q!(n8{dK<45Zn-ep9IIU7at|E+KnOm7L)GcBqVcFMANw-!_HNw4X3(Jv;LRJMMqP_GX8(F+(C}G6h*2DdBYXyq}MAwnMlL4-i?y;4_x) z*#`=2An^VNVZ85e{t}p>6yr4cQT304l*N;ZG4p_U|Dcj%XyOD87o})rTlrbLZCXt; zaSdx`xH?<8WU}34;zi0zxyF#ZqV_8wJ2|krD?DE-515&87Bp5@*RY%5VwoD^_3r@~ zq4yYtWx2g5z!}l;XyjDh))#OD&hz<|*#YgA!u6MLBRF&)V0Y3S~!cf@;QF8rmhN>yYh;sFOE4MU- z)WPJ1dyG$~)x$qsWVS)@1P_@h0_RaT9`VVTORZ3ke)P|7x-u1OU$aWbJgfNO4~+%Za}sNJ&(e9SJg( zS_6?9qNc&NOjp)&|EAnqXx6m70^C(O58Izy+iO%TUI99y(SN67j=B7U5cI{0MeI{a z9n9G>_A0_`?V$BxRybAlEGd!{%~S<$NAfCaSeAX*@`jX z=tq>X@oHPc@D3Hi$qbhMIN?|fpO3|I69*@K46wy)cqA09UPW#B65Fj_IwTO*XYw z(A1-53yBw32GMXb{o#TrmVwVDM$;o4`|NMzZT`q?6l07!yQhhvaIvl{CX&h}5dw1M zIDQ=t^yCNAeUmd=rF8Lxwm=m2)On%7R`k{$d(K1uk_1eD6~dVT0f(C`kUFKswv)RH zPj`IHV0vC7wbO=tCFC;eALn>?k?5L3|Fmlyjny?BR&Si7j++lSUx*;#(-X-z_$+blCA-lUc0ivOAarZbk&pqnq-+x(rO{ntAe#|QSsnF9--}IQA?G&?cDhvmZZ!B z`g9w36u{NzEm;f*#8OeuoW$)SjJKElXC+tbr;7x-GG&~!$5Y;|wEf2Z_nh;$&_0Rd z`DyT<(lLcS6sk3Mpe9-=mM0df>8H_Pg8K?)RAbyBPDa!2rN!_*0fey)WdZ_z{(|5I z4^kYtG&1BP38kub&9}TIv^0p7;K#FBj^yZ-gMS2FOVuaZqV}k0*FLryUmaCln*=m2 zdJ07Fa3O}TJ>Ts^#&Hm8=*JX+a%j0|VRb!rG|{r)0sWFN6~ts9r9~So&7$Nf&sGL3 zE4^K(p%_W^g-Vh9k+1MFU!`e1t-k^lR)Ma2*7WITlWe`GQ1h8iw6+NWr2{z81ysPkx>g; zgQ|fiWMxJp=h5~UchFntyhJ<^b4sxACcSaQkrhS;7t@ob{O zwKIG^*GBsRWtT2X)Pen*ID~W>esT6ycI(^-2CNKqAa3Gb)WOfF_u>(7{Qz`)7K}4< z()&$RgU`}fL)B`|E`;8FhqSNKt4g;xBp<|CTi@P&%2|Z1cW`-lW06WP?6czWr?S%J zL~K+>Pv3Ao39p>p2Cx}r2S(S&kh081uKQr_ojiQ((SWS-$-q3c%sOjl^A zRdqmx>z=5a`94oEO1n4Ny}X%qTDMQ!n%-LC^Rh|T|o2QcLyp>ZsOUVxN<6x>A;dhr+=WrueLzyAyW%W)Eri?w9mFUqMDvz20`vn zMo87%{!P~fiM{|@X(|ah)tOdHM|PQ+gMUQ60z!OnArCe!?&*;o*@4=X+)kIwHMqB5 z#4alOZmXxW(do98;^GF@l^F{5_z%t2;>ug3?8m)XjYEwFUjZ)kU&1KALANWpCsNpG zKIzG*6Lad@l`323!*fF+YWkR1&X023K}D@KoWus?b2RD2TB8#rsBFOU_+kr)C9TtG z)==ArHM6|d-uaaOdWtME>&w0%O$$UUoXdQG-2ajiDH0!`j^8eUqjzIk}Z zr`$M26ZByb{BXwKdHSvofw;76XIEj0qH+H5Url25_J_QsGocjObkrZefo@rSbC}&n zA_5kj?}}TyCZ+caqFq0T3VwlGM-0e;T!nEa<<)I)R+|c*M9b~QOIU{7FlmH`-sZ&q zyiqbza=AVgnL;Vu$5soKQ69)QvaN?Wfz0>?8jF|XL#sF55rt2KC3H-68Y8-#Xb!Hr z!VzpBOH(O!(n;2YU*!|zv*uxJPIK7wEIucUm4Sg9h4$*68#{hk7A+0oVqFM?f<3bd ze{af$ofYOINpOh`N=>DM2$m4X8$BRXc@$}vQ0}9(@^#_2DnV>#SOQHHQ+1z1af|&~ z5zlDeE5H!s01!}X+D<3FDLgwUrl7;JL$6>*qE9UmLT;Id6$v&q4W`vFT+rGK=1JtACun+6hYO^=$@eIxvNvfOa)X-`8pwk(reP9r#;(ac>#oZ@>`B0d8PkaGK?GfjCDA0RWQzBJ zg<=LE0_MU#{PR&5wBM;!e~KX*Y_UN1=Z) zXL6E=nmPSAa-lQ;l+^;ye7~B|4EY<8;hT7g-#u@N0~HijL-xun z+5HuFn#{%}is19UY3b?;JU|BLKR=*nSfxKAb>$w_z}m&IorlD{X%M4Hd_(bnD!5+% z9OI>3$D2jPWGT=ad5jj|D<&Ny(pB@zI4spr2}4XIZ_IxRz#vOlKwlvndJh ztHY2O=g0UEvuPvFrXelP>2i_jFVmMdhw^0BvNF$ZY$v1^atGn3?CrHo!r)c8+PxBk z(vy>F4Hy?IjA#0vcxYC|&BjIgU^l@|z~cdb{V9^V5#Q!chqFsRt8n_8HmSHQEU&N@ zYOe`~53CjRlYoq+gF~`}fSWv&fdf>xO_>+djl#ID$#H}+TT*I|eX(}HB0WN7w2@C> zW787TXe((|H9`54|Z0F(J`m;4I-Uo0jZ#*@4N>Ri-b=J zAEoL$8}z`?0%SaXY;jxbNW^nzXolbBR+=XbB*7rGk!7W4Qcy1fEi3GJnadF2!k_MAcP9`r z14^JpEJVzq6*DhxQCpM?V9z;|=@3M86-=-V;1yw7@7qmIDo}^nvM2)Dh?(P1k!9Dv z=oyj5W9({U%qP=LrGcD6Er<^3pPP)DO3UexRkbtDl$AEJ0dlPDQDbNv{Hb=E)X}-`rK)DX>$| zcIYP*;%iLFmhv9^UlVCBC8c<3mlPQD?`bfP|58 z4}6?z%#KB_w~%Xv$sN|Jltn-6eSpBmeL@EIfifqRG3O+CAv{fATA$*g@gYnPNCTSX zWcK`)xf6}pALm`-hi2{gB29Q2-e5#yKRn_5Dvs^2So9S8-8E}$ur+?F@NlA%A@wmf z`V-FogR)P=K0E8*v2ZsaA2^;zj)jnT&gS78yXGBH{q1u4bT{wmdpp<+wRptXK@ zQ(LATO~s)Bz*#&f_0g;0=!{C8YIdB|A+I7U(255!?Ej`=%jb7gpLTzQO?V1; z9ts2cpfcoAT7?F;5&0_WEGmhf%-u~d|w*=s(M-$W_P(^IQH8aoOZ2n z_I|R&)@S`GV*!PhSyR#Pgpa2LR^5tLGygke`!@|c;v2(}_ti+f*l5Tz)nLkbLkTLF z{NOaofC=z+rBp-NCH=F`!pq*8l{3aEA{s$KSLk%NwEt0YEC_1Hy!k$-ZL|cT8^MNg z&IL+k4^;S@2dav2WBm5ndy?}rheijUYWd7NGHJuDF$aAbjgtu$ezS6EDqpX6a`yZo zCNuCEYkHdJF7s1bT68Y0R_DRklrI{YSO&U>S=zde!o2{qhnJAq-Pli|eZ66|7(L&8 zLKKFd6~!;I>Y0VrlC0gwyF_6Q@@qP6>M8uA9LT&6>;y=PoNe`woE5)KHF&|=+z+_! za))R=qq6A&877_@@ESQgrmRZK(W$z?6>Bbm3-@wb(sPZ~90t&A*Y8U>!Xux^=qT{) z^VPr6NVf7YsXScJ#X+#j-;WmW)lu%t+Z*|@ypspMi+$OdS)#l6C`(#SCzye(NS;XU zyuCnL#(=uP@JCM8>u*Hl=~h7sd|uV2aP6F0-MrZUW}DsgH}_YP{{V zob@0ZNu*?AC|O2~?u6p5$j`=4V+MQOhkgrw`xT^-9RvT3E|i(a{XCtZ6Ut*+twsE4 zDE=b=D)5)066i=5C~xDKwTxMs)S8`G;*>eQQQvtxsE; zwi2~m%`rXJl%oT)d0Flc2?v{!>v~wq+N1?M? zhszYJlgUv2=B~%vBGJKzjHv#0_P-#(&OUYrl7qj;^*c_Dy5o`!)W>v|f!S;}G%b?k z2gh4n0O6JHk6j_Qe-z zS-Ng=$I1nlKO5at7+wLw7SNpCgdb$`a3c+YFR(+_U>d!Xu=blt+{G1`(pvPJm6N$oj);gKnDOke*PvOYp z)AfICQYin4EUA>LX~`waJqSAGlu#MdJ6=^R6+>d6R3)z@^1W0|`gQTwA-ey@O5};P zQQjPBRho{Hve!4Fw|(yHCBw3N^J|Ry{{xjkYQMizO@5?g-If_?C^E*sxlsNn)krgL zQAskcQHz0d(1lgeb)T9rMe=><;|6iwnnpkiYweatZyF|}7JmZN6|vHf)N*S4=aQuI zenu@aEXAJv8l$zvWKu@o)RptDn8)HafR$BR=6v|aX-kcYG;Rl$?#|9cVUM7ipbSVQ zPocmuxk++R9_%vaqaHM1G1YYH%zuc{8YHYpoex~4dA8F9DV&(OnEwE_?Bo$VDj#4q zjL1v9eWdozv_M{Tq6PF=Z_eX&FDTj;(ReJPS*4>L^w7UbQwXHeq|mx*!WW6&6Vad8hCdUj}MOQsD7j2ZHwJy^acG2DjyNQS0mbD4+gn3|; z3XUp@{EAi!$ojsU{Cv$8(JKaP3RQe=$B6Yr5o3>JFs^T>VG*P4Ea+^OUhn?^^~PK} zTX>YMHtnV5V}Kq}I}o6Ldvl64%rh$DqnAR!xg-5GED?gyvOtT56jXD-UR;j|s*1Q` z$f14*{XN)T468ALQ%Xqv#KO{*^~62l$;7W`$&rmqAKFD37!qq$drtb5H_(~{MF*IfB~;bga+PM>3z7N8gvgX35=Y!1K@|^nfoiYSkf3`$ z`d@5bLE7EZRJDT~TKU6_y0Zk3BT7{ivP10^I&SR@pEM>bxHbKwimLKAL?yc;sPd;5z`=XIW8>+Zf6r;48)z!_ly%OKrC%$sADW9ohb!Pb7xRkrZ3wS3{1k z4P!acowIU;x-x~4X=zpUpP!DCQXeInMott^uJSR;5iD(CbulYQ!ib`(K`qF>IqTay zj_jp;W73icy@YF|lhTf9y*C}0%QFI^TIFSG6y9$oUHU1l1~GCUHh&%GQyP*Pf-doy z6`xQQz)%$peZ+8RbY0kZo<|dx#~7mBS6@HyzRKARo-Zye*7zAoPz&WB#Uoiyns1MW zMu~SJ-Nh40M2ZER0s}ChDuRLUpGlG#DQ`u+sBx7!p?{hyHKaFXfv)VSTif&Z87s)o zMonOn7Yn3;i9s2VH?pq7aKLh;9RSsodOzTrGLt}1(z1#%vWMxK`+FKs+DzDPJob z?d(?+BsB7rDC`+u$NfCr`bvG)mx-PvVz=t*g4DSd`!oJKG_~^a-y%rmTX^H{otD+O zZ3QMlF6W6BI`mN1xa=SV(F zAjY9pV=5#K8(7&Lb`GOrYQ>%ywJ{!u>8S1k@ocX6%Qx*`+Y{qVY;9&dydI8D7)zv! zkBSPWn#Qx?&xf5HA@sPPRPsBc09e^lt`@3@7Z3ds z)rd!GVKg2nTSM;H(k(Se(~~r6W=R70ajuAm6}!8-ZF)h!C!pu2jS-ER4ai61Mh&k% zuhRI8r#r1Azjk)jSLt5WU z^#1^=N>db#Hzyq{=trXJUn53irTO=gMxEZKk(mi+)H)!Jv{AODoRB<4GPeep_0RoB z)=uJFV4gE98P*vSNWI{(v+Yk>n_GS)V;GPNI7^&CwT;T96u{YmtJ3UmtD}!D3G#CL zXp26|)Ci3w)JS<{0D=R7n&i0{rJQ$x0g8a)H3M;E9YZh+_Sd2;S58Cvp}WpocM3^J zagUnjiO01|>LZ;i{{X?r?nA_aNg>H! zJLWl6cuq7$q?uku5u}m6?uAP?lj#`&6c!wc| z=cc88GGf&QXE@GV@y*?f*;-n0mgIsV9_FhR;a8%P%P>#k4w9T+f1pI%8b}_xThJ-;_FilwTy^?S0+n* zPBcHm(3BOE)}CU>Wmt6vG;kU-sAetWWx)Wd*A++Ey8KTl;#Ko2i)S9d`1#A;EbmH6 zAEzMWCc93S>N%@;=h6K9yj{jTaVr*<)po07rvdKxU91}<0u&oH!qc2ds?nP{aqPia z<<(Vom^3zbD?o-o2Ai`3SN{Ol9pP(2y2#5SqaFVMPdEm}G0>q_y3~F{8nd-ou9BRF zPot4`oi!^GyZLYOXG9`0^~VdusSDHjZ_p}Nde{E|C-Jifl26q!C2vFxMUXcI%`cy; z1D#aZk$|kOgm!f9)txeHf=SY3-@{j7We8sq3($Y%f0BOa`T}W{N2C@?Xaz z73G0soxpz4XygndKVr18IKOg|RG%9p*f_9^V$DUiEQuWf#v~RdKLyvuncrkPQHw4v z-N}q&T)%2eBD5{V`7zzRz)XzjCd-jsA2ExhWr29$(^z6pXtFRHN=Kr_4=OtM)UqpS zh(elMfev!^~u9wQjG^kgidT-UqyYr83OcGp&& zX-K+Qh+ySg(Jmukz?J}7(e-#Qch*tvMK zNr4`uTv^Cm2!E3ZNz0N8ypD}2l|qE zXI^>w-{+R&$dXmtA1;+yzznW60^NWl6jMq#ph2-+b3fI7sM`h;AuYK)n+|qUQH*2A z4x8_|j=Epz{{T#p9KwpZze;89t8R zlYMjhpHNRcw)bbn8DH2QL3oZke&aT`tpn*8S;vU2Mx5O>fb#y_U1M5WZ>y%u`hp|+ z&--j_xtlIV8m?N)A9g6CP(?=+vG3gEN(k614skzOChkvj8D0&DxGUFPm0sLucW>y! zXE0*RY>oJ&4BDniy#m?RdNv=!{bd@<9FpWlj;Kfs%Ew8m%W%v~DhSCMhBwZ?oCPAH;GZsGe zO;nJ~0ia5Y2u~!9m)~38N&QYyo@7c&(T(^j23Vi?%T`$w^$;J4?l%$fOGmc&(6QdaDkaVx<#U)vg+MGb`L{(GWV*Y(p zt{hpcn19=>V7meWFa&cY3MXRZi>0rBmx(cf#*sW;v6t-{vAPU?b9xW|0Lzm!bBiOD zPQT!+(U&Z-#v(=WXktcEH)K){<==1_h4IPrCcp%n0P)o(JF*^e7B`+nza==b{zj_o zbiVBQxsye-oT%%LB^M98_upD+j^*WnxR{RYE&`EnVZ1;iRyIi1=mG_T8>J<+Qtl3qcjw9(XkXx;nWdUXsIQr z5G)hwi7Js2BDOIp>)DJ}FWvTcr1vETM54`^%A&lCFL*4r!yfMxYn+_X6w%5?@X5mk z<6rk|{9lOx)z-WV7t;J!#ANpyL2R|+R!hfk!q{tAhHyKkFF~fZvti@eQ-;nW4{xnJKk%+u!B#KG> zzMDd%7@^HA+ohS3Dl=@MhMppr9G0I+7P|4RU&SYWDWyInG2I zjtu#C#xkVqIL9jl)`T|35X_=^bj6pFVJu{o(9(PwtB2%c5#zqP#Oof~uo}Lkh|N~3 zu>=1ACQwi3q$ekv#f?e6QWv!&9<0VYN2JzX_S!p{EO?BH@muM}Yper)@|y!Axp?H= zZZOwvzK?b4=rJb7r-60UWo}(j#vr_$T1WBk7m5VZ3mA-~HeHQ!4_t75J}dKPvHWze z8_O0*Eh4m%0&SFu9oQ*h??qJrYhVz07tvv|5hcns$&pX}K+BlozcuL2fxL`T5{YAn z;IC8)*k>1x-A;UTsAU4lVIy|{1bZ}g1lPY{`sDL!32Fr_Urj{GhYXd!mLroERgTI# zm5{r*ih+F|C&f3{tGzmGsId+>kz;WC1}^7S4JNA0vC&;ZgRSZpsN0eHh4p1gi6**y zd|y>zb(7Yh+jkB(ILur}?UZY*H_F1-By}7U6;Z>)I=a?K~k(r zfDXRMC5I&S4*9yb*(UNnBE-pjUue%S57p$!zwTEcEf!kEMCyYW z_M^=&`iY@n9v6pZiCKJmj{C1{-K!7{*kN8&Jz7Y^pDq#{@y{r|b<~W}T^+h=Gm!{N zLIa#OiO{v)GvpNY=mZeJn5!DJPLarx?#k^WBS_z}il8DaS_T&7nOT>OXi3j8jTGAZ zlVyiPct4x!sH1U|g}zs|U@MIrmQPLGr5>6KN}^eVVQE9k*DYz+ivH z06A@NVp4nQK?AF?ZrZF<^QBRMwlb1jK&)NdigTI{C0E7jcjUfOo>}JxK@45E$`Tkz zM`-vf4nnh3jmhGO9Z%{?DHDa)5t$s4G8EfwP#HZPY3-f4aW>;BlbIxAN%tS@uPE48 zUozhv^J{~S(aK19q{+!(7?uws5-o#K1xkW>tw0Bk7y7O8<0r;3fe??6OL?Y4Zhd|# z>CN4iQjftBC+)KCETb3NRmd>+deq-ke^H>q%Kazm)-{S4k24)*#DsZWxIWIo4lN#G6|2h<-$MrLp}obsf`|Wr-A});`L92daBRS9 zrR%Nw59yni3yu^Uiy3ih=~EWgEsEfedh^Cl^}7oT8RDF?WkVc|DSXWmP*;7{7~?4- zr~sX2EJ~6AU`hjPdz5NBP~6OXq{=*dx4?{BF;Yn9JzKH=0O8D8q`2+&Mca(Hf_X=B zYs%}nG++AG*&o))W|85={XAepERO53odS5WTawXg9pp_(EEsCFU{`bLq;3AE>B^54 zjEavxM2w~jRH{eeuE!WUy;prB{a?j=mNUxJO*UK@@T)j6 zgE#-o9h$c7T_WrSuV6U5PBwMq*%OqCG;os>Io=ERLQ)YE#MnQvPlqGlcp zWyXNE&MM!Pb#!PC(GrxdQEoSy2$B4c?)bCYcdt)<5%sQKR014WS4El}aNw*c0E#G> zDX@;EwpMivuN4Pi`YPaf%frdd>~A!;?s zG5-J;bz=I{j3dOpRm#Rd0q#)O2T=Z$28?veM%Pn)km+pf(pjIuHmmN<~= zgJmv4vm+?5T}*{Z0H++2K=oD+JXDH8xpntZ{mq%WtkLU8PPb$cB*s#vGKK;uS%Rs& zG52X@>A%5G5JnP~VQDOE$cA-fCxsjVz~~tkN!EILvfQ{>*XBcwQ+5y9 zO(z-LT=F87WSL!lZ>v8pzyY#jjikseK8mM{LWx08sUo~c*IEXsSH6|pln0DqDsmXl zr<0hG7Zs!>Bb5M0C#K~|DK@z~uWjd*X;;V%5Gv{fds;P}NDXK}B(44&1A8!Qp<$IU ztCVj7D$IG^t~T2;-JWv}}B}$CX)Kw&AKmS$wxrl8F<&?99X825X^);ggdD*iwuad zhGhgR^XLjCea(mfN=r7Z+ii;HD1kiYml(Y*^*nayk!v5>nZ@;dy0-%tm0H_cp~n&9 z7}ZpetkD7%sH>{#Ko{w_7sn)!YU==v8O`QYD0f}cWm>qbdoraZn{zFV)LggzJq1^N zHKHMSnb@!1B#@h9;~*wB8k1}agJzE$4@0H^iJ4!B;N)?W(%F#;zntevZX{~z>ZA8v zU70+p`^9!L)PxepQoJB}OE&JL5~XO0HUQ?$4hT{;{#E5VrTe^-1WHqma=!AmR<<`b zr4}5Jk`#3+uB?-bEb80Ff%$xq8p9f}xdH+f*ofWE!odWVRs`P(7#4ZpGTmXd`WuY*dva>T2_J-kUiuIwS- z-B_$zYHQ@?$^QVTGUC%5l!69&)IzSp-&f=vS;*A#XpzTEY{Qge`kaVH6G zMG7ON{-Sea_{3_Uw&FceVBh1HW^cMi5F)}vZH+&^UE)$Gy3Ssl-nFmH{LAzA?V)1$;+T9Li zMN1Y~`uCk^pQ!$`ixB7QofJ(D8yMm*u~e;8qM;5;HG=9*60|u3u4DR_^+HDEBPh+| zBF(^JBZ$uHk9Qm|=CjjmeG4KycIQ0ia=94kd0AJ|s5sYzf2x1fPm#p=b)8FP&iFW* zLX$I0_Zvoca43VK09>j_Z%|xQax$Lg_UxqYGL7xV`CTbrb)8~@j27#y`X8hrwj4I) zQ(g(2eWBPrulidE>%xCre^h=>f2e*!r!*vwDGJRhywS}ZYa|h=0y==17@Dn-{A$Nq ze@*mq`iMsAqb@S{Ch|^7-C*oRY3oMa`q=F51bV6u{TKA@sJn4QV<}YTlw&kFrn>I48a09a zOZv{_HYF{nleJ|M?5rHBC`EIAIErP?rv5+cto&?}vgJFX#Ei>~5XK~xNKXFx=%@lm zag*GtVdd73{{RPR+QeZPt$9X?as9;$EIoJe)2?TQXo0~F^ z>M}^XVFG1N0x#Ip%1MMGC&zBO-=g}D)Qna>Gi5K;W5AS=m2j6)3|}nYR=WK+{+E2i zOY?HXv;P3t$1Hugb_Gmm-IS0P)Qg>%1ym*9&yQ`j{W8ey?ZjixhX?g7BUG~Y5qb*m zi|Vt#scnwM@Flr&Rv{@3{yMX#puvFG=y$_pp~1sgqZ84`MrH?NO2}LC|DGoYv()Uqq{jv#mXWwddt-YLZTe7*{ZmNu)>kQl+7Zs z6~QXrEToZ2O^P-Yu~XLHE=*X&s_!&C4;gZ|w)%b5UbE%D8A**qj|FN-ayyr(OD$qS zT^E9!{C-BV%O0{7ASZC@89Yd78;T;zmQcmf1&z-#$UfVqjDFabD&@6opd5GJkvCyw z#)3~CGM9h3j&AQbYq+{U6AnqRWRybDNM^^4t#u$5c?hGh^3*UESyMo1m5)pPMe)Ef zz9lpdtX22fN9FgTb0fKPS-})%A@RD-51idLbl1RxynB?Rix^7(s2$|M zE6Iy7Y|V{cE3FxZ*-w{?2+?9WL7GVmkgFpW?mMtFsyv8L&Pt*I>b=H1xZ@Obb_Lz# zagwVz#xo=_YvEfeEs+0`x#FY7Yjiwb1JOQiOKp zD7PrG!r5JiahvDPjd}Kb;y;o#p#UJT1V|(u`sU0%8bafxP#;tVK ztB`JkSqpl65R_P)sj*rz%A2864LyH{N;`7CHqj%LYl==i10ad>NlSsducUE4LdU8o zF~;(^U|)o^gngufH)2Pop~oYyLgEb^TJZ!1j4CO``S}jb22+C~F+ir04o;VRJ7HjDUGs7>};&C45Hgr8tp< zArC9Ohd{^5;8bOjkOJ|P#6cb}Axy?Hn5FP@X+mPuKh2<477?a0wY z#babK$xNldZL2`5+zJ?x$mBk^`llVaH5qPXAD#1<$j}o9#o^#ZAdO7n zawLx?SB^v~QK3avj3H-VAfs-B{Xb?~h%w|#apjTwa~pY6UCRJfde+9~>9e=UHd>$A593c32@}_=EsqiQk-5!5~$#OVvm`9Z}na2e^BQL%21S^QkxURi%}yf zZL*TvLn#R#Ro8BEV+;DX^;yU1<-7WOn-bdGcG=2LDa0>{x3vAsQzg0lN0X?S zenifEtG5C&doz2pvDbhk8*ga{-YH%V+Edv4q-;)SMp+pfc1?!VOt8?nM z?UNbG_b0zOM4sd#mm8l3a`bq3_kQ)Ueim7BC&!8VAWLo42fw(SU#NBydM{@(_g1vNa0lpN%~$%01bgw6+r5E;9XT;HP_L;nmtA%854~R z)Nd_)v|qC1H0$NxTe}JJXjU#<#=V8hB%Y{o>!rNJhJ5BnU_jb6O0YH97F~U*FKxy1 z`0``csPT^w7Ot-CRm%5@__wRhvZc8gT0eA1&N3?A!x7>XmR(j_sw*(_WNFhLXyk}6 zWeiXdq%P&!_}GK8ju;SVk~x_2lae88 zR%7k9`|nrVLn~wVaWfkzb5(!psjkgK{GgC#M&GhAkz_3s1t;|lqek(at}(+3N+sCp z#b5W8=9Ob^S zX>L@+q7?9+9BVROQ%Yi_6@IV$&iwM^re0mG7zOkc59C=70O1w#C z>iq^JI3M+b^e4%{xx>8d*!YmCkPyt0OwCch`ekGassSg&$jmFyAY2`|*pi&3NhFX& z>^W3G|}8(Bt9Hqxue+hPZG%l$Wnf2fw?ex#FZd5mm|{nt?h!~A#S z>s8Sfk2vK?6Etq!d6Y(FgnlCw@bbm#86 z^mzNa@w4C0XL`-?aT2XO(3s_7uj9l@3;E8I`M;L4UW!AH4;91gd^pa_J>;^Om(HhlOyN*;66-K)O%Frh^ zQIb+JJZ|ZJ72+~;jCu}O*69ax1h*wC8O)Utfc!oDddT;se^LEH%_bUPt9KS>@5b7q z_Tr4Ka0-yks8UEQ0sPn@-HhBsW5twM$rj)B=`Ht$>%Fh0+l(VFX(;&cxn*wp#%r%# zciymkNd)GAD6hH39zsrHnQ;c%)16Wzb8nj{E)-Os2sxJh>1w<`jyt@!6Ttdxw!2V#=|zHIercz=K-T zJD*X^j2*L?i7}37&A5rQBZZRr2!~#;v}^{Lp`L zVAK$f>DE87kW@mi#-$=yGgi|4>QCqXLCzLT)0K^F*%aN`V5`2P$%`-JoADx>tdHv4 zHol%yCn+%7ZSvsAxdF$p^h$|*)r)^iu@BaSLQW5B5dfmRfI3n2S=Z+u%zbV0G5p`k zC&5Au!6z9B*|Zu5Y<^3$#vX_=zN$B9dU z5CHe2mL^#lODtL{8*eg>iglt=B&x`dt5cM$tG*UxYU2<)q}JEd?Z;~Y+?hR>R1%Hd ze?4Zuj|cw%Sso|(riKv{F@p>=*)r?BqN1wS?t5%W8iTZ8spqYa>0Ey4#%0Yoz$91- zQ^argFJAy^pVb(!j0i-OiyhgKBCSNo%5wKEK2bf>TJk5@=ocymgx8rTyXsNyzBceRUBYq~5lt(GWqGo$((Yf*g4ypBEkEo5DEz(=0pBA}Q4ebga+h z(Zo3#M_nzw9z?mz?oU2IRhNt;ME$pUR@FL>pxpXRy`88>VTS(P7jiD!&PZ7w2=S8E z7EHY-8rQe}oBC%D9gKgdOpi#K^hWgMxB9r*952Wcy01ADuTRBRDQfBH7m=Qne5Q-=~Vg2;&| z7g4BsTOBPO8%Z+2I@>>hnyM7%T7aka%Mz@C`Fm1bpn1di< z#06CHr6HMt6-9dQcD|-Cj1`kJCDlidvPmw+y8bbj=igDsc2oV|wy+U8lM^JP)=;Of z&f5BCItGF=@Jvt^B!ptrBQ&Iqh@x#DV|FO55H=w=ZjpHmnD=+ZGnbG7M6oas40Fphmw;VjY z+zeX6uUPzFjSR!JlM~&q!^QnTT z8MJmXLy*OqS!lCP+O%j3dR5icbrcO77D&zdsYnLn7Qzt@fdWrMiuPv#rnqtj7VDyu=%W#yLCA_gn zwf4lk4oY%?g7n_q%am0PA-P^QpCDL=W^3QQEW&BA8!Um`kVO5m%t#x>F5hub3X}>Q zAFzrRof~o?7_W*;izk)-I*uccW*?n;aOOtjan5n&UxGG(<09DSy=B43{cZ~Ps7u=r z&Z0vi>_W7GfN!;kapgzuuO644=MBT0S$M2ug+`2dxBmdFpX*BfOkJtmBXNi@lsOr0 zkuWU1UH8_DjRY*Q#}jNEwmewl#a=@Fxd0v{q&`KM(j9{P9TRF%kt=2GS}BcXyRb{> zri@X9cPAzl_c45?wEUsV54@KA>Hag~p;poJsw+>nLMw$`T4JXmr)Y6SsT z=ymAAlw5IIbA`q~HhZHWV_AE$XPS~sto*G6?-s;8#sc=r zIN&zA$rc-`hTgG>~~0!+Iy0i0R=57>&DQ{8rCJS z?Q)C~X&zN{u5SG!O@;n=(XE&C`b3eWj7`r04q1-{v`tY7TG=6Q5(g(^V4E)7BphqT z?LTUnIOC5T_jWiJ)@Rhpb5$c_ZyWL>)zTN9)cgs0w`YS@aD_uXgbZk^fWS3S;4Rk* z0Q4--H~cqpM3WVj3noo8KB((1Z%IISttDGWX(WiuN{=hL!Z+lOv0_UIS)DwU=4X&l zHp~Ao6X>QQLDV9=URt-1>jbw6*H$v_?`Jasw!yL|@x-?~`8$*ZVL_ zDl@!}0ggV~#`HLCWe#~2wG%{hz$^#kO!3(!Z5Wlvv&X)=p?{arF>j4>l$$8XN21D9 zbJ>iQoXq^M=)OS$#=9?YG=vjDwPSQiTP&cr1A(?uW^>z=XSXISWkOZ0sSvTF z{{Z{mpV>DyryHDvtNT}pNB}~M8tguA8t`BB7wCf*&E(IE2Y2_QDC)W-T4a}Y475wJ zI&Ah8T(3JC`A63MJhr~0bmPh~@i@eY7xvIS2eebh^IGpdkLzIU!W+%U9a}D4o+x$I zT3&roqyGS@e+BWFX_z8qpXVRpvF4BrREWd+c{h<-a^N=5Nj9pH0!(V8mgG>5!L-70 zm+H4MiBO6)#!oJ4ofH>dwBOTxPW=9>Z+_qYD7$}rl1!uHQK=k>1I>TX>%sp3)PJMo z`5&6bixMKSV&UT_$Y;$rl+7p^85vMJfCCsLNTI}tGel6ZbuS}zrSx0T+K(v)-rW(D z7RfbZ!xC0N;UEPsZk^uQ`ii!IfJgoL5DA~r?iF2b$I-yG}DpHaX*Djd9QI2ogP zTYgEX~!&BHF2heEy|@(3N)$+b{lRii ztzDg|$Rb$%)iv^ijK~tQc;xuPYXj;&uWB4#GMgC2ETb62+JAEKxF=xCj#^x3cnaiY z#WORBWtu3WGXg@!$3xs!AxJv|yAjO=r5!OXrVwMoA;q+eN0s^ri1$>uEDa#n)J`8! zBXSd#>>;x)$UYGzNW=&t)lODZQCw?qe@?!c{a?uAiB@)X&Pbv~NZLu3NngIw24TAt z04AO`Xt82C&-%}*HpUp2C`FP^SRvN{2}Vyy#1`qS8$Z*(rZL=QGE4fC3jo{}%brS3jm7(*FRBiY#o&G2?m6XxRA$ZQCJ6f>2=x4yDJO}8Dmak!N(HnHVb8mlR!WPIYWuYdgq^y1)S ztYt1)BTd{!6}H*D!h%ANrL4- zgrOyd2}JbrZLZqx@2^_)Kg3~!1Qe>_B`h4#vpMVt!EQhnTFvxo8eEfNGEoZ zMTxv7vriFJVhfgI6aEj72E~i%-Ob#`f(4xO0jka8W~XMPW;92jvDe$^M(*<%K1e0KQhJUfZCavZx4O|? z*%AE`>_)JPw;J(|an;h_Znf{pW=V_n9srg@E;Nd`aLgHqhar|m9o{=7jFK982K#8F z5<>t*j{gADZg3<@KlK>`GQlqkSy`KuPxaBawY3@jF63%IsSuY&LYAYC++^g{X7j2H zqx+4EJgnI3q{-wNoT>(BHcz!xo4YFB&D=yB20di%#xDu6d37g@iu+Pd66I85@|vdH zXy?R^=Nel1k>$ibKHh|_agUI{A)WDXLm%y~4n&d=tkv6+o8SKBrnuc%{g(W*kMcr#=VFoM){l zKODGfnK2^vwG+ses*=nRhi_m=ZNly-eVY$vx)Z$a2Qhe9h|n01`n(U%-KtA;N|2GN zIa7Av8oVFCe-5aA5=Y1fDtJV4i1m&&JRmfxia-nCt*c+6EEDgdZOD{p$wPG!jC~RW zVwLLu0QXrN^l~7np3IH(%Et~0{{SWAvuP7#Kopo+5H$dIL>LFvdsBLEU`$8kT7;qcO^o)&b~4_3F}5B$}P9D7`LjT0OMdR z*&x*(h!&;XzqsPjMkz#7(c|v4q^dx$Q|6B0OidT09hD^q2_~OT_GLqd+te z<~w%dg(8f+jUu+PF_XkBGFf8G%dED?NWlt67H~&0ODHix+jxbd=_iI{l@xqX-q>+y4{+XpHSJK_=z9kVwYDgsCpr~h%xu=pGx&^zd z_F)S7)%T7O7@p~qAh{piVdNgk0B5SzQp(0N5{o6n9m^I?l(83W_KH?MjT-#YA5j)) zk|?tYiF@(=-{Y$?XG+GGaO2(C%E?xG7AW<~PJfclCK5oRHaDP9;Hdq^m&=cP(o&u) zRI$mvsRC0tSBqI?e`wv+ckyBAvl{m2E=TP2GHxUqL}MN!cjR)btG4tEN`68IStMqO z!j)9ATp1XujSUqDKm-s;_Bb^pe@}3wl2vj%VDzYmu8TtNF0Cm?>7~j9Za~R%$0w0^ zZ{4|i#x<8W7xY-qA&a;%u&vFA!7Ql?H-RQeM2*5xQ{%uS9+&!;^_|EkawT3~9pJ;j ze>a!5gG7$&xh`XH;0CY&>xurU^v2mfbB5nN%6CFjkyz@Mk93QY(;D0QZT-=V_KAH!L&t2C zBN-wdQ_zS+h75HFEbh{Q1V8xF3gzt$~0KPHC6j>x7_SNEH!oLF_cP;k!+YmJ0G=q zMx|$wn)u7E%jv`P+iF}!%Bg(Wj9*~mylcV#0A73sY!58R<~_1s!|n(phh~WilV#(0 z!!zs&4P*|qF!%qEq|;vx;>{MD|p{-@}-zNcW8(Y3d@$DZs7M7^>5CNvWEtgF7$L*xA+@-8Ny z76zR$UdFycNO8ghnkJBj5la66xQNIL0;CJzUw3{2M4UpHvXNQo;#Kl}r9Bj5NyF%O zJm(ln0s3u9T$x5DIL&HNT=6-4h%|d6`cL%F$v?~Y8{t|MmJDgrDrH=EbCm`zL6RhW zo3>c87DE^a7DC(tIj^eOCAG?5QNjZ72(pvpu^0h5d*tvhEp@Jw>As;BJ9}d-xJ8p0 zLYAs)I!K)zjb8_BP6m z%W?^6bzG_CUueejn9JtQ`TqdwJNu70-6f!3g}*0!d$*BWPN{^gMjO1W;0J*y_=E$VUaV z;ZBi6RqxhcjR0#k`F%(ptNv8)E-zBqSw=jx$P$$pQL$jdP~$103lljMEr4jj@&qjc z4_@b33*`42TB|GD{&D@^8qnB;jiimho5wM{g@5Md%20Y7>ZcZU%fy8VWsxFOlm`L9 zW-mha1iG;$>i+SgBYx%_*j^)+;>JCXRG-P<1MYhc*v7hstJZKD!}IeesqRU zj>XK2E=>Gzt0aY-haNs$NL2|XqYAoF4!}{WH!W?xmHa_VtjYX=H*2cnJ$>P<>f-E74lYM=e0E(Dce#k9f<*4k;hf~ znQZOBNF?_PzC#0%mLk_HMx@bAC%svHPQea!4au>IRn=PgI}R00Vf?6;?Z+b>tA#Wg>{b+|C8j5eBWD_0c++wpaYbIWpS!*KpmMX7cuDLm z8_Sci;}XiyZH9kPl%&S-cA*5VBB~lecR`!UMYW;O5LA#2(h`8#CzbJ~2Jo?=pu8fD zAW&#h-)Iio%AQy;p1@qVeFYlLBq}kn@j@)E0-{*el+G(+NB;n+j5TZ93@(AXLUI=X z7jd}}>kZ;EDy}cT&p_SWn>h@qun65BIfxJNHSyJGzmCR8Tqkxj-JF$CyJ_5zGNCNM z8dn;CMFLTceX$$lOye0qd`2W{Nph(f{{WBx*+3@0=yay$<1Bk3g4SyT^4H0cK5?U# zmT8^X?6ObKs(B5HQ$*@mmA}H@q6beIW5!YP2HU#-0Q-mFe~WdQy(wHljo_1ye{Uo* ze5$$6!Y)_H!xXBIad2GuU-#cFs4ZW05CjertHst%htX<9U5Yk&v6f!9#XF6*rr13U2| z76hAezql{qMZU3DuJ#)-fwvwPOs7eM7mQizx)%yyama}b1|>C(0hJMuSzy!zfG^z6 z+|d5h$^3NA?4o&h*Np>a7>_CTcNi$c&|g;}!Qu+J793$e|y zt5eCoI3~LG?(XEH%~W$(F&_Ah(EB0_{OZhSyv8le?cC$ri?re~FW9zv)R*-${{*sWyY|Ow12dp3JKT7P* z8-#zl&RnL%l{N)t?j?FZld<|wu8!{QL-jvR`;`(ri@68w^a1{R*M$DJ`YuRk!@`9Y zWjOOqsf5NNn>tw|A*J=KK_g=536TpO6p}h8((XPK@HqiBeH~pdviU>1Iu}|~B_dmp zjQ2RQybD!J0#uUi0k?seq6^w^x`BzaOvRFqZHMEUundyoKwZexTTv?$*u;OPOsR zN3J2Cd{@=}Uq}2NBH{j<6BHC)^l2o>y2g(oLn9v{QL7?jh8_VzwF^CNZEd?!Aqb}5 zh3*92`sK&OiH;+DhpW~f)ytVJ$+5GS7?Nemhln2JxuYdkOuNhJynJC6WTs}=_rnrt z$8KX_x`txNrPWx9RB^8heRW^cwvaqwZ85miq+gBO)T$CLS80;+=(~SYE-ZOvC>vh=bPhi5`n?^E1+H`Ah7J2# zGP0GEx;Z2h_XLsl6>I#C00?eILp)!LS>;Xg?!z*)t@i+ks^wKt8OV0nY+RSJ6wm-sChZTZOCoXde5CsC zBiB!`e;&0-Z#-iJtnyll(&Z4p^!@#{{Wo36GpN` z>9bUkyB$duNeaNN@)bcPY=0)ri#>Aga+Xysq>n(wi|A{RP)FLUN?^4u?8a`BymgfB zy4G0o7I;kC`G#_BzUB;1lMVs&++P3>b=H((5smU{qzL5ctE-LSFCFH!m%A1dIQ^c< ziE^Z(qj>wD`MPy4^8WxQ9CG5U#4aLP!8F6c_MSDGRy7$we?fq;n z;e(y?2+>f@3 zNJxGxqa1?2ZU@_!Sei7AnouZ{3QO$mqDv(xH9<`%BG2)|a}%N^=Ox6dD6cBb)0CsW ziqUrWWj6D5Ck0`aRwV%TwPbQPdNU{Cqc|}yZ&i$$f(IZ-T$X);hFKJrAc6@4RLC@gjuG*@@mu0`pTkb1b8*#^9uC}|CGxbf#F^wZg678B{RF_oS7A|T}IC-CdJ`akMh zJCR983REJ{k4l$gf{3zj_|RWW{{Tt8Pv+e-mJG9tvkZq=rjdhoyM_- zRJVCR*QR#9gX+Gn44@H&WfD@9Wpej)JZLe=lZ)}b} zpZZ(Fy*S2F7nCE&2$=H3e7XpYDbrVx^*>nsOgX|cgd`I=j3p&=Q9@UJ*jM)3X8!>C zbLrUT$HkfqbV%2^*tJq5NahkSa(s{OF^mfKqz)K2T^G>pk%VO(xa9F;%P;pxl$mDe zOj(oOx&HvE`jnF%UPl`_S098b>R+`eGCuWt^#1_HxyfiwIcHHM6B40gNhw}3hzY(} zBEHI5qiZ)qtv!v2pQ(voM3SO~VTec(qyxKN>sh~5y$Nlsw-QepBGFcov;dZH<)>Q? zKa86cWV|p$t&xv1q7^F`(lO}wpWP-o9D0t^O z#FqIwjJGEi4aK{YbYH56 z8Ol_#MU|8m{{S`1HZ`7`O(DAiGePxY<}~LI-F5lR>igq6Nj^;T$s$yqBS2SL2o&4< zN+!v%e0v=OZZsrvJzMF>M(MA@VZ0h&beyA##Yp)|z*vFaPvNapLkcD~Ose~8(MlcH zT8%GqLXb#RYoHjONCffGB1XboV!amI`CRlpS~$Gu5&ccc48kBF+PP`ErtG34LE7g^ zGL~poT%2t?2!>^eP^pj>SGQ0FA+}(jcE9A%nNot-sVR4!yD^@<7|wLmG7(&o;-pH& z;yLm7a32naOmuV;7G-&v9rm@~W3$*EU>oEDHSr2X5!b6I<{(ftSnJh#tS@Ql)!8CM zwh?a3p??kh*KPXK+-%8}QZ-2SkgSf8p7O@4{5#tX!UC$w0=X(hf=Zj}@(7aSL}Z0a z-BF4&?&v;mK-@2j7C{*fVwOGNzOuGI$)a-NGqkeJBL^~R2x3AJU^JsnEk)m=U8r8Y zW$rSZWdW(n%G@>Ip`$)E*U76w;NmQ<<;w0LCF1!Qd`~R<`*j@#Gh)6-EK4kOtc4KJ zC<&zi*jgsV(Ik$s_cmg3D%j9+UOyRWf6FYjezeCmiGa>a8hT5|uiJE0t46+`>f+Rb?LhYsjijQ?e${63_sF)~AH8GFHI$PKd=ibf(A@>mptIwa%fxX{YgJU+ z()ho|vwoDryht<&8<>p0Z-j19OMuLv@#H}P$v62LFpN0dqE*^Nix%myYO~qL;AMJV zaVKi0xo|*``eVsS4lJ_oylQS44i1q^GD+Rr#Zc2_0=?vp_ORQng2z=WsUxOm7jhvS z5PP{b)n6jO?*%RAy)Ph`A?Fg~xoptElL?!<#rwviesdm0m8E_1a^hKvK@zx$qL7Es zu>mxCXY_2iAh4^-nIn1;lQ+6@GJe~x#H^+&tRCCg;~3Z59;M8z{{VY}*R%U-y$GLc-D%a?U&R9XpFnEVzR>33l_ zm$=x%nk89B7>Kx(Yafx;X}(+JoJ)y~Jka3EjPDq7sWO_>N~%bhEf3pg5&jiUp!CMn zqZolv@@}Qdq~q?#x}u+0JJsW{voF)#+~Y0F6q1R=zqqT3bbHgZIqlxtu}QUc00ssmBz`^}uimnoDrLU18{7j>E}8@twa^oc$N zimYQ2H9*lSmo-MD*<+v~#>rfkn8@nVcZiQtOD}ZUvH=B^Nf*mDw_J69`g|fpYYm^V zZ@k}T3TSN9N>G;58f=jm@|{XQ=NHB0PBDMRsxYKUV=7j_oflmLIyY@d?l0Vorta;J z+z2P3?}djom1TsVfdjkzwSL_!zo$*foW!}&5xV8mXJ>u=)l}0oMW9`VvQntN0@D-4 z8vB0M9{AgiI#uKzOX#@DGB4sq*vt69V?pH`TKD$_1783kkH%d7W^;ZmO2FV6M|Lcr zx8BRcabyd{at} zr8EYV>Y$V6)D)TowF~~yu{S^i;)#TUqOAw~e5btA-_C6b${|fN%OI-mz{UqX<2cTw zGyVkUW#eOGvI(Ou@hb?_386q@*vdqDH2Ma2X!KRu#dQwcIg=yAN0f@q-5yVhpO(t_ z)}%M%v$ZBllqnWmqa5EDoVjB(0OFl!UzYd`3<PSBKN1&X`e|}kGqo)8 zvgd!h0bM@e$qsl{Bq1yir328&rh5c8w;>q$ zN@PgRJ93T)mB5w@v15!Hm|u&^cp5DAj|bv$!}jtKV>t{92nDZgWeidv?xY|AC_4>;A!5ugsrrxU$NeX8k}_i% z5g9^5crHV2byPhXJpQ6ljZIk4-Nh~@C56FmG59mB{{ZyQ#X#8jNT9?K7%l!Z5t4|+7RwBUJzZkE_|>}N zBt~3_M{ZSO9O)M@faJgYvsHBTM^&QMsc-gz z(qzh8W^4G)G%V8gnr6rhor@$zw2{1BwbrAqWN6Fk3b6ypcm|>|Wgv|_+kG~Coh2RE zV<){#V~FvVJ(8>Ce?JGxk5!JamWn;vID73BWWc^WGwK9t?sN@Db+Q8~0NLZIc%n1v zRXKlc7Tslimvm#^i&A*reKNDG{{XtnMt?P5P{-yJKzw8UmloE!Z%Ac&V})k~A)z2A4;cQ)AdD~>$ER)A*lPskScW$B}2 ziBnkP5^Uv`KnQWG7j8izS(sQF{{R=jP;yY0qnFyMcYOmwIj<`2jO1iiMAn*5m&^FN zKORLs>nLNucF4@gkhZf2PU03Ig_I+pv%>(YyYXbus_AXro1`R7x|Es%`%lS$40m*D z@{kdTT!hX_zNwAfXU776I?I&s;wVky1IEiUC@NG)rJl+5Yl|HI3FwgeaRa_Nu@cYR zymL(nDt!Z442eme93m&WufrQNNBhz_v*UfG7m*)j;#Nb$H<4x>)3PNK{`Y{%&6J{{V@aYt>$dxeci8$wwW7u`#a{+)?13Iu{7dx@-`T+dhWy_SaSU#*mKh2)V-5Dn^q&H!Js%5%lZN zc{zArCojtkcp5Ne!6U>*sTXc(V0iVlWO61+7Sximgsn$RZSHuHpDcrrOwu<^Z)>m6ao(b z-{g`y(Ab0nlNlqCOpDM9j1*HvTUgUZ^kmy{9;04H8$;6M&TH|VKf%Y*<1$F9&Lo7a zGBY?bBC>Z6C^u^remCqAM?>8q8!k+|WK>y3uQx7|t&?|DMztTSHWD`W=!uE$JTEQ? zM(#MVQD}JP^|QVz9?ni6l_ZstIacIyr9>bG0N3ZlfkY8U)peBaT;+(XXDj0v9=u5_ z@L+2mwVk^;_&p?)Y>90xe(Jtd{5VZ8e0EZ~C;Nadn;lInDxv@_X|^=O*F1sCyGilv;`^lb7xer+xUxZ8e2kUKd)P>*i6Ss( z*sF#*s+~dc2gGsEk&4l`g~t>0K1#i?$4WrNJE5UEQxtbt|mtDR$~{c(uJZ| zc!3Q~uW^SU*i%~y)O)TA0tp;+GI1Bj8R^X@?&}6~+GuZ$ePbM0qV?1CJEy&RwEC zRvUf_(rk=&afz@c0BIT6pSfN@rnof4hT@1JXt$BNGQ}rjXuj7BP`3h8(TdfCWy-CH zM~J*$oX4iW7uIZb6Q7cPFiVuU@J#N7Any+9>T(iUBxuQ2>`I7Wmj3lFkx*tTZK)9n zN+%PwxTJo6aot`mtRB`Yb9zSEIc;U~R3Zc86BNhh+_vjR{aM+Y9}~YaoXMxmmPl4T zOb}t1f=JdBJ3Q0M(RTOOMN+`@p7?I>ZE#}AngS(Wae=!24}7s&>Ar!KAu?NQ2u2W& z_2Y6*B#D^bEbaB6KTR9r!7~!#H43q`cifWADO33}upvItK(RC{Q)6S6;6;lV*~klH zg<6Yjay?@r>eJnyCNU&Dm8o0DsBL z+K5*`z>4cie@AIqgXPJUH&rN#TN_@y-mZsLjM$Ttn94E)P0O#s4|Rq?js zn64^U6sNDwLmF+H9B|@D@V)G1AR%J%Y8hgUL8~n7&9l`^XZHjq{YX|X!|NHjAqr=So}aLO~%^p zt_U7H6GT}zQY#)xSrg0W@?}cIV=HCf8?LlJ@n z2+xr;`3&(Lw+z~(d=6C=TUxIsb`4Abm`8!Q5gYrGy;Xdb)0Hv&8Yyb=JYy3W#xbAH zYvBCp!esWM?Z~B9MS47uPKQU}-39?qJo^4R6COeWU#q6O#TC{n`Z0|_VMScsfa9Z) zQvA3703N3^{${s~L`Ftbg(Hlz@!Pcpq#~6{Ai7gU=xll+1&s>8?K?ftH*M!Wt0svJ zyQHQiv++vg?*HB_Ebd$84S-d&oDx~0TWbm3jYAlayAX+N9+Tk@?#u8IWKqQ z{MHS2%!VxhShrCt8k8yxl#;*~T3fHQd!Rv3 zzU3ZGmX}u{jfr?@i}E=6I*r96$)R%-5)}97u`1NE@ut{ucAn*&=vf$xQ9yY$w*Utr z0TpNM_64uC67AY%izwbg?IgtI{{ZRU3UsF_c{~dusDLbA6Num4*IniGF>J&UNP%t> zv-r}r7e)-HfN6s+)oaT;6Sj-JbBS_ThPj0(qnu!zwlI3e%MUiHJMiHRvs*8(UQU#yl@>1YiTEHBz zuU4JipxM*iH2xASY`8NdF_rY) zl2wZNi^=%y)RMe160SkzlJeD&;)Ub?0Jf-bXO0|IiHRaO{EIMY9g)IWBZ8@CQ9vGO zT~xw6Va1Zk`=s551bx5apPU-a`iZlg{Cs>-3UB4I_^n{Cn$Cile(7l0WWMML%8=3( zG4td_6|g`SI3t@R=_*%MNap_liVtXg*-EO=2BVClXx0A!puCS!Z}V2`L*wAh@wpJs zkelxrNin1(G`+TlXqIIF>lHNMH3Orr(XOI${aWGh zk=%;WjInUPk+Zz%{jbRfkYh)WE4+*$hBA=A#3@yeKu(eJFYrJXJ$0$KyL_ZfU>L6) z;=?3v{Z->Sjima1G3O~oJmoJrr4BI}E%)lXbw!1RjgKPSdo&1=mAc+%)-^W6$C6kT z70I*t>2`7@xfV+rc)YA5@1|8Ct2tBn$*b=DM5JO&PFU;9{{T7x69rv1Qo5x~xmz|A z)j$ztu_^-t-GEVI!|p~=UPK#e>oA-8s|j2!#A1~Z#qsR!?HuMb;b{$XligxBZ8?rl zACnzbXH*iH(NYx9m5D(te$#jB@zJzd?tvq-p&8jO5Dh zy|vPJoPWi7Dmg8lEOf4XQT2^=6b%nx{{Xw)pUqLV=7TooqOTgL@{x31+MgK{vc2ey zR}ivU8XrJKllyWdd|}gwv9liu@&-JOi;tAJ&yyG}63;YYbD&x>y`@Tqfz@)^7E;jOE&yO6&COLex)@r(1Q(X=lO&EG8V})JUjeN*dpapDE zi5nVSfjr$>P+E*+h1zznPxl2=)mUN0>KcbGP^M|dSAUFE{{T2NpEPc$g;vzM62oOc z8bPfByFZwzYxi3#_c!n3!f9yYvSc}TbFv^iRF{hR1)A3biFIwm2;EdzT zOj*`MGAa}WBaE5=F#zt$$_B*hNEB#^-P|Jx#J;&+26yk3q+?cMjA72SHcnFU5F*NV z5X*}@mrcpHtbR2|)gKWSUVc1Kp8o*pMmdq>u)WudzdBNY>OWN@DmV8=w!i~oKAUHj z^e5#ha*>ndq~uxwS9yL>&eqJoOX;Le;yjqgZDnWoWOB#mhtsZMz{s0ugd$Uo36^;l z5v*}6Vl|PR+N&2at^LKESauxrdpjUiANN{PdJ&>c86)Jmy4HNZP8LUUQRO6zB{UvO zag0!8=Mi&nUbL6u{y!#Z^MuNY6fnHo6+M~1b{Nt)C|1L`ORKoBtl$LeN-+okwHg}^ zMZXcpzN)}8tNm8wA+xmzee-xo<-zxA6#DK$D_Yx_@OJU=qDOa7X91XbHtiFt1=G0N zfGwV=4g!kledaFYsg3niza|s+C#e`39Ag7<<0dW`;!!%f%{_8&`G3x_V>FL4V-916 zMkT%3kPsAsM1>3m{u+n*7o+sq!@0(omsqQla!0>G@2y9VEB^pIeKGtG_(6XqUadYg z^;wgIP_ip9x@HaALOi{WZLYzw<;5sRmngC+#ZNbjqVxE}oP159bBZnp}1G_|Q_MT0TlCMdGLg z5PEyTc+l}j2+5Zjgla$n5PW3t3P$a(i%4AZDC|5z2dmppA1LFM*+=px&&prAy%|yw zu2PTPl5B6gdZY7AA02BpQpj-HCe>tk*{oOq*eZpXl2oEvw-(=l$5AdKCqb78DTD@t z@|pfpqRx2gAk}=~7}s9xKP!z%PlWk7aLi#cc4U$UNQqGB;6CWAL3LLVGcn{BZAjFE z5t#vi#y1i}-RCDyAI)`MjS!Jfml35qEcN(9=l$nShj$VPFoeJNQp-Dn$}AvJa*O1I zR%I3*-%t(N6}Y}cXd_52e>v=LD0}bbl@zuq9+8Ou04-6M2NmnI(K|Ldfss|e?W8ic z!^ET^67JaBy@g&j4Py1_JwcT?NqP^E&&8HaLQKfGg^=Qkn=+NTX-icjomonvEs;Xjv?;KKh}Y` zlI2mlkR~xmT(WX#>eB?1y-nrGBQO#)dO}Ftm0DIimE3)?*kGc;Z3vzHl^uHLlVzIEFP+!fc2;k_I7SMc#^7T4qp60(*o} zKtaBZ`cW0OEF)(tNaCAITY8U2u&U7IM~sl)Zj7}0`O@4;LUNI5e2W9RxYd!rfJdQy7?Q8) zpD6V&mqV;b^Eb`y1wcyXRh=KJVNCwkyKkpUCGKA zqO#xM)Nx`;@R?*#fgUt%+TG-JZJIu4g&dGglc~GstZlEUNllJYhBh?IHR29T#BGQ# zD%V9hMly*Ku0UM8PaGY&lbg0Cb6L~hi+C0Y9Y*No%Qqwc09dN1whY9Yzhy$z5<1ZO zea>)WA~#BHjd4}WN-u6Rp7j#uNgOAuI!}_1W_s&P1hM5iA{E*_nm{=$u^X~mnqBWf zZ9tMp_cD(MlS5eYuZs5n01H)r#cR>(?jT@g^YLMi_%l_fn0Un{X&FFa3`)HEEhf$o zRTEdSt3J;IrTdWDc-Rf{R=UE6OJuXlrPWFDaphkeQqO+e6Sekk#@H&XoFv$g1iOZ;&Tk)xUonwpBHqOXM zkQlWN^L_Z8)-MK+$IqH5vmlNk5XgohY(%D7SrfMEHH?8PD}^ayK#r}lhUli`B|6)H z(is@6ukMKAH||wPP+io=ZgPn!Pm>;qRmL`Xdz7oBzU)6GOwvV-0?c%gjAnITw2|l9 z5rzX-0aXbM%58-bM^~JlOhMxtEvi>NrYf;z^_M!Tib#p$Y%(=wX5%zvDx70FnfaHN zIGSZ)5-d*aj%+#E)qjE*?4Ypw!2_O!wt3bO>x~cP8uy>^)7F~$ZZeY@467hn<3n{E zRg?}sde*;*1C)W~?lx4xoty+lh7)S2NTpgbZ5=(k-6bJQYBSKVg1v9UZdPKz+g4-NkrgXAH=ayBRI1bW4pWNJ5f4LADFg zB`Fbj7a~ocy1QgmN4glOr&2L@`n{;iQj|~nk%+P?Clk>uTk{)g`p&jCHb8?L5=Mvu z5>DfH3aXG$GbIdEOr_xnv`Zi~5OxpMO8WW7X| zD*kUZS|j2N23eyv!VM;K5p4nk#9w50|hitREn%vF1LJ;2m$5a|riYC4J;_gG>82FK4wV~BWQ*h$0KHRnM-|<+w=yiTPit6QwB>`CC zdM`J2(fn&Xm~Q!y&5%k?n9@X%fS`W-yFRRWYFNI}Y66zvkb0QdN+t`rSwk$*?XQYP zt;c#CraMd{IIkg+J;*$74-(XU{{Wo>^4Teefi%TrCLtQfsunELOsW(p0MG~#$@V>x zZ=sR>X>lB;NA0}!$^i9_pU+Ocvp>~A%!Ry%R^rM4echj$(0HvYMsg&OnH@G&LE-`( zgDsLk;3x#0!LzTS>5yT@t~kV3xVKGJgMT@CZ&ACrR0uMrMnxhLzwsmRQSH}fnL@l$ zF$Mh8S-ln4V}Fsfi>Mr3h4spFgwo3*v3T2NF!D3)tQbF)q={6xMR-WLVF;e;i~Lq= zQ`vI%BbiN4`mmt{s*JJ7k+(8Oz;x}EDP-+0jaw7bP~tHaixD|;EgI^uW3%7Eoq9ng zGPJni2?WD9 zi~<5MC$4gjA~M}2&Vji^3Vt76Iabo@wO!Mc;*uTDG&s{L2{>g>Dx)1+-j!ouWWz3G z*)tuN9hSrG4aScWl_5bYp+i>$mu4ifu$KP-2&)*DO_HY^CP2+Sn3dtjW`i%OjDU{Z zNTtk?#s_rB-zgKoPL99jteJ05kWi-9y z2R@Ail>Y#9M&nFZsdbq)2mZf4vV3MD{-Na&h}Z@y;Fgq-!&`f`k6j0CMQY9oH_J}s zze^UG!k3>f7zw5$IBT4K`4-gR5;tYA2x$dx2uQkwR? z%L7uQQ)G)dPUhjbk&m;Kq;x)@uPXT}N$Jr-7?fT#<;E{3x5@M`^MJA+IdLLQ2s+EkMvb)W%abIEC^IA6E?BnbfqA7OC%&J|{n?Dy-s4teDYv!px5r+}tV7@3;ZoA_CQ{ug8h{7C++@&m#lJIa{h@x)mYp~_WF@)_oB z8D3`4g<3SL%8LT6zal(j@+B!mNT>r>8Z+oRFXuW3^$p1&@q-~eBBO(-kA!Rg0P>#o zWAZrd4lWdU@(h@xKc{f9%Mn>5j_u=;nd3sF0t;P&I3#qPNA($65**B+#Yni04A|Ge z>nbwLnPDwGxjSYrm-AnR&a(!OA08CPWP>9qqJlA0%_>KvhnqV{soW;)0!Sc|!rOaM zl;;<1p4c*z6h{L1{nT|ViQn=bLpd^!GVxMySG=8nHTdWjJvfjYp0#8j*SR?(63#oyfj+RD4*(&#EF_Ew$>`6 zuZx!TO2HveP?OEXOQ{w-0sBw>EvWQGHxCIl?xl-(fcgrGzv07ODiYim#z4&i;w5#* z_JH@AZ}4eP$)u8I;UrZQV=7#O8Pr^GK&cagt#rlDgp3-}n(L_9W5;sbkZUap=B#@T z%d7r$-q{#ImmAz8OpflJy?-C>^+x$$rL!ydSvDYQc6k|h3;zJXHMgx)-C5~6B`#q5 z%C-5g7}&kv{>spxT%{m!;^s}$e(@)wSQf7HdIRF+Ia%2f&Tcj(!;l41vF&Q#%WBuR zH>e+;j~+4dJFIxwPw`KFpCW|$)%PVB#4HuWK^t$Xk(}lzp8D2&+?d-sS>7fF506G$ zT8(?s>Y-O_5=l}5!0hoF~8{3f+3ScdhSns56@b_Z6 zp2}&AELvF+OxWriH8K(3W?-V1Vn|gS1|)0^SzVN(@yM!XPJ60qinHe)y_DsEAs@hU zqtuJ>%J*OCtl^4hmL{53i4$fK_#WW}!j^Ulp+}DjI3R;d!FZA$`o=GiG4AZh_EtLY zRg`3LwLwV4ZB$Ur4OO^}w&xmA@|lri!r+31qht@dQ*XGrlTE-Gc_lR1`DmPWzLSb#+g9%=qUOd%0v2(mnG&auW^0o~n=@@S2? zh;AijtGxc>C0bqSUERrkg(>>4j@u43+2a>Jme%ptc*&fy!HbZD?8^}Lz_H#%QZCNQ z+b|pg!)7MIB|X_Z3tKz9%s=wNNV}_Xcr>4rA~K%mmyE(KeosZ%Hg_Ji9I=1-4bf$h zAw`8XvVupGyOScNYDm~3xV}XSQb$ajze2AQKv_Ji9le+Mw!K*D`>!3eQpT-i&xCLs zQ6m+~G+s<=Kf%I?v$6$!doeK7kggU>wxM<2wkLpTc_8(}#xdnN9riq~__^_{K9s9g z!Oom!QyWPw`5ZY!!EGJdcUxBfJ?n96bG zExEjen= zRnaLY+uc2XvA*m1;sDmsb=(X)Z|F=By5w%MYkSE$OA7R&_H>x53RW? z){G<(fY68>3mp5dqwVEkoV}IXos_h}=NHwV>X+Gd@z#3$PGSKjCg3a#V)8n9t7;KV zi?9XzB?${>)3Zt^CFLMeE&yB1a3bdEZ_}L{ek}7D{{U>Mh&1JHg~-rkz~IxlNbiCQ zvVNK^bpb*hnVG);1`G)#eY6hUfdWbKNj)uG-T<*Ynv+U2EXBr87>_G3I+4=eUs zb!L!c>>-_?UnW_Z&VUwuLfL8`hXOkSz@jVNelbfXHFQ70c~0{G02OJeg30A2D5Dqt z{D_z^`m3!({JuLs>I1tW3L$`nu)s;=SQEulsR2TOeRZp}LJ&Uec_WlQ;K1PQF2}X4 zH4WItgO+=FwI|jyU34Zt8j+Fmqszza7K%U7%4CFa46;bTY&cmJVp@}bet_wXjr;ST zm90trwcZeUeATDVrN|)z?d8hJtJWDJkzm^-;2z)Q{{YA4F~SKrIJ2k+w-5k05yBXt zJh0f37Kj$yT@kB)sB$>U(y$k6Wk|HKF-`mKkot(O{JLn8w*> ziYZSaW7Z17{P(8tn5S5Qv!umPf}o>1EM@4`6(pVr+Njv*aacQ&Y-BCSDz6dwUb`GL zo#{`pY`#%e!X;iK-Lk5@WxG1lK`@Zq+mzwxk*~Tn3^J#8(23LncH$GLWY( zM369GDpzJeke(4NlPjU5s?wTn1)tALSF0CTX7o0_l@ohy^@xv3Tpelm3 z0q?5HNU?cSXB)2YtVWYH$<6w+Mu#ZdE0A3|M$@A4eM+V9+t!XL+{jFeS61HCsCtgu zg?rR?&4*GO#F0XQK8Fb0Wf+pGUd!~^_Q>d5CwAzcsMSZgbh)PfM!yw(eEPvMzHU%t zE!piQ6G|fhQ;~KVj=I;X7J0j*;zN!JHqmKi_f#3G%a2&CUI`IY<;Tk2McZINKwR9M zzvUR>B1Y_y*JWc);qtOa9B^q$jhI;?tNXeiE}E|JC13XP%>&it%?F_FO_EAS5ta(R z{{Z`A{@hbtwOYlQ3QIM}H8V#M5!g@?HkY!ef^-CvvHaJ&0K+#pweHKwePmpBc=&z+ zxw_V5@;PK&ql^mj44#}(TA%rz#8JFf7G=m&j---Z)-xj2od9Yo%*0qW2FH+3a?p_} zagoYh{C?_MC^MQ0`PH^$5anFK2& zJ8eqHRobjmegP)t+cIT+kD)~G#i22qTfX$kwr)yXduv|sgj6fa@dDJW z1JdHEyX9|sI#@B{f>@%B6u^l9jfkz;745+QHJO~bZ@ZAhiX!oOB=hR(;v{oalqbh; z-SMSoxX*LSXd`lq!oxKyX184tI#J86elO+}B(bOozC2ys^(|PlMpJQM1$h+)lx-9! zaKMh2`iLguCYZFgGRkI)#s2^}b6&Mg==hR|_|wia97*W-RkdZwZy3=TxvQL$h^>vl zS&xr$P+8SZz<{Rihw!6{1S>WqhNKh>Sx5%FmQbeeEu~*iV4}pQw8@E9T(XejyT6Y6 zX?|0Tcni|DvJ-1ZWYud>C=23=J2BWdjdabNBOJK0yrO>ITon?BOCZH>sO6uB&;B{(-%LU_D=T`y&0NWM=d z419Au?7_Hq8kS;ZmFe=tX1^xd_&8 zh!p#N@6CQ_)F0HJF!7umXcVxRhM>WT0EI)K<2iq}ON1_6NtC?^ z65~UP&DGIXYkd~XYEzLDijn2WMLea-fWC_nww|e{!R3&;*K&Ucn^h#JViG!HY_(F6 zen5i4*1CJ>H$PGn{Yh?ST)fd>sPXW8e?IH^ZogH@oTZxMQ7VKmnZtRikEE=wo0;=+ zqSwVLM%b2M6(9hTx}VRE$T9UwkgJHbc#vIPtwA!2%f$#I%&4jhNY0JSQOCk_C>I z@R8C)@fgI*n<;w5iY}1l(Aulr2z z9Z@U-ceGN}2_J=4J!)(eOPI?2T@~`7i?cqPyT-h3896jlS>gE~;Inis059jW&inRv9w>nqMkf zl28_v$k~yJZGw_WMfYkt^D89I2G~fANaceT2Y&9Vs}0?nRp-VP5<$jZNmwcO(x^Yd zccysDBIB831nS60u|&t+E{(O*ESIjQl|=HQHVoLimr&xB5(24Uc%63NDgwsyrI$QX z`BW~v+q~L<1>GEvMm3ucFCXOcT@rl~B_?*>yjZ&E3Hw0T%E%Teh1XS{)VAX(N-=)l z(;n$=+j!yldHgAj4B0lA&QQ%H5ydqT&)kLwKgp|@ks`xQRX4nKSt6j%63JrN5LaOx z5Gg~7BaTx=l$K8v&mn6Zn^__Lho(=&o$?j&UX>90O2@wL7|OWQm}i+FXmrp5ShWh2 zFd(upYTVflYl^e6BdbRTE;410x;17IMZ_y3e>wzV0;S5N_E#FeY4+Frr$}D1&I97% zz|xo-C~3TEROqZ^AUBAOq|;SX$=IF&>&3I>EY&<^oBlpW@Tgl$reWOX=ZPO4Hz5wn zefRd?v%M9AED*}kqRPTqbyk(jG@c8`h$IuMrIJ05ej}mEZ$;AGA8u}lhA~(E@79#u zB|hSj{nN(m%P{{Yaw5=1BjXx8WJWl1+@zGz@uN$9 z+ej1f0~f_?%vj*B%-YQsjeQ(qDKcGLE14#ZhZF+J63F9LVlDU#c3)IF9H+`LDlZt> zWtZ*mu)29JI`2c>lPVshMLToV9B@&1wEQLvS&v_=2thMtf{Vx@<5=O5=>b0o!1ssX z#(j-VR`z(jPDf4;+fDxf$!DjNZTqCq<+pp$KGqQBY2t=P(=L35jOujEnAs8);xe@> zt1iOaG0}-6s*=TpQ6Wh_&rt2#a`Gzz3}c(RtYX98WoU$dS}7UiiP3bIcmV2wwa#m; zAC>Z$QR0QY=3)ZqYDpS3pa+lw-a$v2UN{xf-=lkClb9CF;+?R~4 zi&6l1zPV=YSYif_aq`4%h za;TsX2a{XT;GdT6ZtgqrgZi_9n9jD@%ac|yB1;9}an@aF?L;HZBg#U{JyD4JI{3$3 z>dz2__~euVWS6@kC)sxH6)xWR_5dIY0>zrz*@V&=Ly2$QhBb_(odRTO6%8m{r^S$P zZsR*R-M8|#(2sv>f$HW=mk^g;{L339@)p@Ch_&{GimBLuFVP)r>=CY{`0-kNX|V}p z9b*&nt&B@T`3?BVDkoTyv}4^?889cG7d2$=Ng9CBfQn@8Lh+)3YiVp$0ptK- zY)J#4eN-aCTu1_Oc!xhM9a7Uve({fP{=W&v=xEO?%Qc7iY#KlCkB~O%!R>sU5J6oi- zOoc+&-z9FzF^$pl8Va(riw~!<406powy`_H3I{SOxOVND^q`@0M+%`eKdn?9w8Q~@%u}`o{qZm(i5Dca+4IzbQVQi(!P$f-hDHcH4lu@WVSrI z8Ckml_faF7;jSbhm=pUIkT)>PFFwE zki@k)5*rLR@F3;y+409Kkg~P3uPUnsU~DlQ*D6ASY$#$t+n$z-3pfZ+=tzV<^UonJW}}k{DVK6UMKr(5d=|NlL3WlH;JX0acqLaNLs3wH|N84nd+i z@e!6JgtEnJl}Mm&ntpn|#MQ~+jN!!Z?j>=15HBic5nW^XS6obTiW|KljIcW%(-x7{ zm5?2_(4psIJiS+1pHGLF@**s(zZ$6s`Y+-6FIR+>w~qqFk3>Tk7Mtv>8d%~rj~X_V zM*je&RxHX!%_!NQf(aHvDN-9ipjxe)+U_%p9HkKh7Cck4A0~h2Q8`M=jt1`$yK$1z z&z#;%D&^+Q%R%}lVJz_IVvwtODzl_gqoNNM6&r94-*I3`>CO;dOjwdFg7Bp+qDS3z zf{%w4t41+yQKIq2gpEtcYOPbZ0w;)m4QX0^nIs1P-Lp`}M+?pv1<9up{zs?o6^W~_NqMVk3C)(S{`$arK$mL^J z*IIw^KOG(dL}3f0fw`lzu&}+yAhyyF{lIl4yty8Ozq;=L*<4P;7kJ6anz>(%IMrSzba@6CP=#h&WdlGOHlkNs2TP`5 zvXXz=co__$^&4}_PokXS@#*wkX<{rH@&v#!FPE#fOJ9h|~xE9a; zn@GDWMnSc<3+&epEj}}srO@&`xe1RbFCN|PgIX~{%F0*`m=^7x53UUkI;PmQxyE5D^2HYQ z?OXYeMMd|e_agC>SyOSasH8vfCG+;lZx5@|uak*n!ITg|d3AOY0BkGA-Vf}AV5eF( zMNucCMM=$E96@TF{s52S$0FxcHzOFusZ9*>$B_7}YTGW6jX5rzF2i5YJ;Lm>pLW&L;#-J zlAH!5!P=~gzCy6+_iizTv5`6$vWY24U$tn%>(h*NreU;387pxXkcu`IX-?sTS+D_64S~VF6fa52N0O2xSe`v&6rECZwOu!alfy0J*{{bKe0AS(%iw*eSKtzH^K!$^bK>_?r3t$0YVPW9lVc`A+JPbS> z00tHg8y*3N8h}f~iHOJb2??lyFKNN8=|(_n8OlQ^<=#Y}Qv9!y4Ca4<{|^@cj{pmY z2m?Su`Ii;M{+IqQC@jMN;bK$6;cx2Ir+xcP>4` zo8O@TG`N4I*l^eYalqT}#}~?kz*v{02}Qf--)sH_qs9emBQu0z4Of>&A#4TOi+bx) z^v2j%=w1;ULjgwX&$3KWUoUoQ=b;Q@ru}kvO?krK^C@Rvng)PAE-GKwmV7&o){NkT z<$xLDIR|R>rR`a|(5G|Xom$I`@mZw`A~5ktAYSJ+owyIrnl&h^W<#)J8J38GaNdEp z)2zu;0x2bMwXbe5t^0Qi`Xz=b?rcAC;BAGOlI7u#@1udPdw3%6fWSK-d(d1PCo9Tf zdye(>-cN?LJ82A|!(wMm-50HR9aCHiOxyeqtyCmUR+e%wHe^<_`+-MAz9cfXHhWRR z^&N7@+xXH2rWXTZQR?D~Zil&0;s!5OGCdB}I}nN_C+xQplJ0ygkp!DFI#ZWI%1j5% zv!~7i*hPBZvZY_d1+-HUW6s=r%x7ecF|7ADeV=IhzD1TsDSxh?#9xzK$+dYCIVYOb z&GORanR;6s>8j)0eP&RS75f^b9hWgSk0m@|U1MCH{6#X`f%=DOj8zz#-QGwj4kMLx zBoWA@3QvPEQ6R$(L4IBm;o+AMQ#>bETC7NE2&wAg#sM~5)d@4s_2^Ar*K5c0P4FL0 z0$$p znJ2t_4+Lor-^l#>o>Y-1|0Yx&U4WlOSMhDSv-=nhRY+7yW7+HcbQSvf9RTsH0n-UA zJhW|$0Dsg%a|T1|VOV(#06edhCuQWKFyB&_QktNda7OL-%uw4_6f;!awNuBYcwx^c zyqAp5Xjh60-#v1~z%>21z;6&!(t8MP|HgWC^oxY0C{s@#3gyyi4j-7hYpS<_x^vdU z5137?nV9$NEO`D!KVs_$i8w^Gw{N6(yBVanJX86HAm^kVXI?3PqFD-6!yX4=1JP81 zK8|e=PIKbofl#4MR9e_3gXSJJJAr>Qs6u?nw_a8~zGST&oE-lZ(oXZ$y(S;+5Q@>< z*Izuy`n<=Gmrc?$!dmO2K(jlX6raQ$I!R0*3s6@dU{ps&5%o-GR?%FtW-gmZ9d*f6 zh^wfhyj&Athosd1l!*T6}Ne0!EU%~AentA=>T$(^3ag@m@x%@qdT45dnv2;ulC zVc)!Df#sC2lLeF8Pr015*;2>q#UZL+v3U;FW{USlL&66Geaj^1hdN&)dyz^V~9~??37p)h9Bq20WJK zhB+^}N~V6KlwNcxaBeY?$mjT&AJGej(sC0>5rOfY7&Yel3Jo4cdGG^3Xd)=X5#!Ep zT^Yi;hFw3SI~Xs6SDnV^?`w){QzdA_Pm4oaY!lEU6YV*FNlZ)?MW^b}ZB{Y= zHu5syNwVnhlFbA%yLz|~h|MzPe@QH5V4S3lUU?BXa#&C-kqXIz&=y3#QaCBU9)ygi zpgm?A2y!d_CM6Z;+=0jsYLlkyrO^)Qv{xE|cO0a6cIB5+?GrOIX=LoQMC+O#f|sh5 zZyBoY(7a`WtL_lF_)wcRn;XvG0i6%n%z6FjiL!#~HX^<^5)(~hOJ)B+U*3NS;dRxsA;-0mZ!@ai>Wdb)q@$U)T;UQlTo#sz|rl4>M%%0Ft3_ zp!Q%!Mf9}TTG>YN1lVqw+Tz|7edW&v+#H|k?Z8y#h483-;P^@4v~D`PxRROO znuZ0h@_OLNIg4k-LLmh4kHNLI+2ynJ%W0=SszN+K$Fdc1vCJBz z+%Il;H4qOoIkATr3d=b-3sbkNA4+WUJ#`22he|b^ip6lLeO>Ov|GV1z+WEomMtz#n#D7V!|jq1zW$mqN0=&ny!H+;|md`&McdCC_m$fEMVYgwWy^x6-u}=OP;LRv$lUu zl?%OAA+WoB2PFS0qNAGN{1YdR%(+RQR{QB4;8$+NRwHW-ap&Ts|1{s>MOxy8Jv%+N zHvxiMLcVyp9=;d>-=~ezTC98^H5g{>xO{H^-d9dah?gqF%%UCes^~#ZC&yhyUWo6x)vS$xb1-2 zfmjs*xDltABY*jxrMaz7xzLi59k~+ZOebaDI%cd;DG0bPWeduN5Ha%eIKX_l;HQmT zWQZbT>GCF1qHX0olT{-Jm_5A4_LN*#Mca*BfNSI5ojQ-ubM#?qH(oY!sd~~VZUO-b zT7IL}&_0W7lZBe?fV-Q;Xg1;t1=!yKJaIb$;FSGOl}BVufz#X6XMJpo*Ww?0069%S%0BmEFTJ0f|v{!bEEWbQ>2 zY7 zg%71HDRz= z-EZOE0S4q^#8j!)c0FnY#PJBoz<5B46Jo}=IXa-e$j>y*(f=E7dQ3}JSjNWJVU6;Z z_O!gKMPGk;ycB4pcNAQbJ6CPn^wELJJ3wP^GMrBqtY|r%ol>RnlF9bB+FOrmzC+kR zp>7NKM2^rvmoa7)a*hJpda#VQ+$_pZxc!^&9wx1ynjT|7wpkL?s{`X6==o)dm+WgB zN7Z<8Q3{0@D>8E>>`&)}kg1(e9{CS`aP=pX?P}oDHwB`ooCc)Z{XR7~MO#=}`DG#k zzQclU)HsP5=C0FO;Gum?L`oD-BmJsa?Zga!h|WG%^pp950zShpBzW|~{LV9lSaziZ z=Npjw?{xjW2yxr`zC8VjY|ggA=sLETp13^}1vx6{)S7=^0()isT>OTYLgJ?qhLs3e ztWtNp@b+@HS~a&dB4~)3$>P!%RFdR2F23#4D@|NMz^L&zlcw_+VyCzeWJQh`xq>aT zD!21FFi0UB=XjLgkBeuGkOYM;R*Mz8eKFYv;oF{fva=k0_E+^Xa&N<)HC6U?nPni0 zXr2B*_oWrdUe%J-$IN>v0*%qbxV9Fzo4nmDa--nf{Z{`{fn+W+gL-CM=Q}(^)K#$lvBwPT6P9z2$nScbcA^D3fMgl}pU3D8y)+nP~2#gorfBmXN_Vu5jP(w1u6#91mcbJd9O%4uh`sprhSjY~6P-y$<697B}gx zQebjgUvE9|tFaN~&QqtGBNWW^Z3BfS5&Z)8$MN(g3Qf>UZmhdJRpU;T?THtVTtBZ_ zKJhT}x+8Or1#)n#W>nrSlqz*cBPTdOC*n?Ylw05aF!HfyUi;4k*2`LY8=*SZ3!UP} zqClNsfo*@{T^7a?qlvUe!9ht~0Zk~xOyo`|b#Wu*r~`ZbaHYCeBa6`B@7XFV)W@oDUFw|nY&+90O2N(6$rBRen@ zN6HympXA!~#TpKign%*JdR(mY;T<4i)*urZA1%$Mw7=fkrC*Y3OgPH1UD^$eK0t21 z&w>eCXea>9@@mqreW)xiq7plur5~u5`O6X8U0))u!L|U0>X}cLoj`FO@Oq~!#V0dJ zvv_fMzV7gC%lFY|uh2{E(Fl0yb0w8@j@T*w_ySjshZH*!yk9?`oyc`H2YG=C!Chet;#9i0%(vC*B6G1}jP9k0w?S!iSHRjPA3G0Dr zScTj8>#mO*YH4`O4jBY8>yf%jZi;+g&kakab33Gv)Jtc$WEX zT4=Pf^%BSoVYu9=`rj6g%79tg-Lg3Q$rb{5VumN@4JHyer&7DCM{BRMk#)2IO(_W> zHADnIQW{~6B2J$sI_Os;YPiNC35SSElAlhaWHQSUS9UX|uigP!ZCbL9WoADz&2nGk z1K$B`D080UT#aH#vAdCy++@yL2h*hfSz3&%hJsW?o}Js&fWY-rAlM;8js;)OtL3iMXbO4;ANwUN`gm?Nz z=lFBJe`kQ~I&g%6E$^}Lsi)?c97TBQ@GOco>)x{N^|9udMJG9R0s)^YOy#^@ZlClY zYeu4|^b!UC482o-HIBPwsGBP@w`qaFP)>l4M3=^-cB!aql^TOtym6XjOeel)Ku zg2m`zIfDIEbIP?84|M*KG1{+FB)>iCYOxU^ZB2!*C{qha4T>Xum0Cs& zt*GeQWUlP8>P!y$p$f<2J8RgmBbMo(GrzK=?-T-2Z8$lZ5O+T0N;NJ|;vq0vQC$*q z`|6HMNWE%FEX|IJ^%N;#(35hBM!=6iYG^LmsefW7@EkK_AE}1RuMkUrwsAg7Fj9&Y z=o8CTH{yc_%JZ{o}Z&TWwEGT3tD!Ej8b3JRzeHJ~?4%IORtf{<3C`#r7BUj1P2Jj}@|W=1Y0mj-T2ve21YFJyw;M@U0! zjOI~Nh*b$_8_5@%)?meV5ETGL6qg7fluV})B|~c zGDn|_c2;g3E2f-?37*S2B_NJ;@;mfFzBhD$f63pr-O$h~dYyTyjNSS>r(CRH&l922 zGD-4Zr^4~{(7fP0bBu*3_EUR9WpbkZ*9Mf2hl@=u+*~C?i#xtRmJSTGu0hgrj9=61 zvO5nSRi@h%Gz$ezYKxZ@HGK%cinEKgUx(yfZm&HJ1X8BP%Yaw}Y#K}+rh3s&GeR&w zy^L#Pcz*W^?q{)}l3!XSkIf1uF=c%Cp_s<%yHF;r?OK~hh^Fu{F&kxAmwucdJN`?0 z(7thmKqy8{5%$=_j+UCIiYMcv6dLVfd!7K5=QCy?T`d0El zyqAdT2rI62Y7Y|liE3o+iwn#5Vmlcu1SJW^mZ)R)5iq^Koxjch!q!z^QSl^U)HrFeN@-(`Q@^s=l zwg=NDh7X{I(-mpyJp@c0WAh>U)L&)DBB9}g*82tT06GFp#k<>s+>C_<^JGht*2(tH zgBn5xwKu-f>`(DMR?_QC@G;>!J(HQ|_s5@i3@MDC|3I!yB`>o}CJrSFy$_zPOwth_ z)HeUU*qt4_HS_b(Kk4LU^c#2@xq%*1>rW7^yPW>Xl?2-8PK13ufH)1S(GhuY@~gz2 zs-^y>ey_;)B)ToW8bls+Sd}oR7aspLe>O{vM5wG_4c%ojhUo9I=>{{dyURQ}ntcj^^Jd24jVQZC}B?=ar z^v`xly&CNCcBER26Cqm$iISP0XAEk}3*+m<$T_DOf8@0yf$5(;svt4UUEmGt3Eb`% z*nR1B^~};o{n2<)UFtESpT4Q#l5@0l6_q1dcaJl`s|(#r7LVf-=wY~8^73FN7;F-p zj7y?3GTzHfD;j}T*XV5B9}6J4@!1=h0thUov;LVa5rn zW{s=mW~EX!AQDPS7L2Xfo-`^~dMhaMcOC-J-n$8dn`OCUHogxxSf4# zNWDEtq-xByll)H-azj=-Q`XmyqiV;`Td2yG%bw%3w8etTd4z0Yh^itz;VY7~^}-G8 zrwF2758q-twsgOn;p*vXIACXPD01g5Qdo|{7vsGH+S-{WN|yRH&7UyGuKJb4ghh|CZq3f<;~Bk&|u&l=(_aA^L zW_tN{7_I*Brzl9Z1v%{-Jc}FqrpSVEww?$ki}Myww+<721)u9;J1A@s+4gE(7Pj>}NBDv0C&An4KXDs0nw<+XXzbA%s{?8%&(%Y7eMw0v!Bf z97y|*AskD~>ljPIt*urNEsfp+aQ2}Ky8H5?El@s4x3DQQ|H}}GL)_in@X7Im&gen) zr4->@xpx9aI7M(v&8eoN&|gnU)@esBo+u}yFEQmO0-OXBaf&vzyx*lu1PO7itnBTEsuE-9 zlIOrnxoifPJtp5Q8kUt$Y?q2h#z;TzOme^R)K+}owhb7k{z|bbyhu@Cl~}_cu+#&qPg_pMrIC2i zNe=O)jSTbZC2n`EsZN)I1nvzCnJ4c6XARx2n*AcT(k53RE#yO)5Brnf2do{Qh9L%N zx(n`JtO+6@9}Ml)Z&kZc4NV3byI9IUxX#XJoq$?VcT{AVsO6@$Ly#ZyZsMt(iC5wiw1+#d zvy{<5G$7&Qv$3*)hI~eV`cRn1x(pjPQ5<>bfMd3!+=7&PDn>~K<9X^PI8Bh~qOGt2 zH8JDFK{B{UPfkk}bW2_3KJ!gcS`s+nK8emJV2@k{HXcdLIR+l)w-;Nq zt|pLx*__!Wm)MlX)pZQ$HQu_wF%%YDcPvvU=JWhO=F*yS0^s#3+EH>)vH-FH z-ir}Aay;vZpG$kr&^E(U_ns(Rji5BG(rsISH8HY@4?p#!4@WRX2hxu_vgk%C?pjOt z+Uw$`jLggo5WcM)o&fWwqo?D3m6~?0b}D)0{Xq3r^=wq-0I!@of6y;bN3Ns$-+Hc2 z$ukO;@_gOuwXgotAEjuJiKs$@#q=AgaRli_z=%QXbv8 zGR6YptF)` zOzB5oc_nSGsFkj`$pBoZBPEAqu7oBUb^CjjiC2_kxilhpI6t{sHuDysYpW&Nt#*6s zGDZ}%eHhb;6STws62EQ*)(4}N^6l1~Ms7td%_rs=z*`-ZoF{l_>I|p2_uC)UJ35?B z;Kt|ZpHmo?%pe4|mGMD)RIk*q+u+5L{ac6N?Dtf;JhOvX2@OZ2_ird?~GQqtw5I*CIE!5*R=pO&00#uV?#aOsp;8k@? zLkU4(Asq2Mzd+u%ZkE_^(tM^6!C-lW58BAt_k8#YSpU1bzdeRO+mk4y)|QTxF(O!g zvsdsZo^ZFRBr4jn2z`iW9|f8 z{^kDHPXTY*^?WHn=WiOgem5Jj$^%bC;U0vAi4*YZ~v-P8M4Lk#n>mc*k1 zsd+XDoYazs!|Tt)sdJpw4%Uc$=MF4R4cpD7Qix(bGboYN67Z27z zKt%V2vyXqK+;ixbg1wT^WTJeYDTiA(6cQr8w>Ur(+girrL|e?Sq_ON*<`c`nnXM&O zC2e1rjh9DJ^&j>QQy}Hbci4nVZ#)cbM{0Vy9Ed1qb9Bq8vbBoGYQWodsqCEsgCM1Y zw7oP|&AkG6eeZtjT#8B4?_9 zEz{Iw4kMtU4uBRA8+OvqRT0$9GsmLQ zTgTz;e%m*{IxqO^QoX+i0osT!$-p~}=ftSQm-jD2)Nt7hoW?X1V3vzwz}J6U4AQOD z>~-$j@x!1uKl&g2=ln$pPi2+}dP9E5jfH&YV=Qi>bK!6s%Qd+_2Gw6? z{pf~}ObO+QGyYilcuic9MX2eWC;tm63Tq|~TepxZnPROmFeij9$YYTcW#}D{-Oj2% z+m*&TA)EruR1l7Ry(`ZwxGt2Z05aAMH5XNbcfi~pHwAj{5d^{|{T zm#Q6+DdQ@GpM0LIqt7RWr68Lj6xXhmoW`0GxYo5n#v=FX2@gW?9{LzcJ_1KbQ0ugw zmKS`a^ZDbD+6m_*+9aYXE3viImim4Rf)0Fu`v-Tv;$@ugsO>;R%{K+NW;($l=~|D@ zSFhmsug%_naQW_0C{IYOWrHR9$!Yt<zy8izh&AtiD9>_Z?xA&y_w-~r9(C6`#g=&i_qa9?{oN7*GePv>hR~Xw9d(>z zex3G|Hae>mH^AA$XEvEAEwQE~jDC!3JDBl)u$+3eMeD_+(bKQT$#pt}es~86oS4-d zecn`J9TG?+TxyZxxbWG{;X3qP##kzYVGChhVVt8Cou=@ySsAOK5yw}ujwd!LR??Hf+P*bTRSY|$Pn#HE zEfP=KEc+N4m09b+hNru1axYIgZ(wbZMTD~M+dn9CJorbY6&+fDKCug8tHnXHEYsSS z`S15qBM*K2q1ABADK?L1O<7BMC0yKezQE7-3lW_4*0$4LSYM>pNey zO4Nq(3+49HRMfPBII3k!NHdq6;5H>1WiPkG8RWfIbBqr9KoJ-fq%l&%Y0bHu~r->pW>baK*#G407=@3(*?j~RT()&xY6wEfp4_b=qcY$)d)=h^`? zMoq}8_#>8a30m{P`N|#Oi#4D#vxxUz^6ph^_pjOo<#_lHLk5!jH6NkyMk|%>Dy){# zboO--IBJp(c3-TTyU6F;5FuzKVZc8mwOX@s4l-5aeDGl2=UT%Co4Jw7^*_a8aOs9* z@>a+slJUTv)gHW$Aj#hVeGI`ug`=7viqhyH-tv?6bh3DL8o9)|Df@JA_qhMDl*gJ3 zSDZlwKh=x!_xivBj1VhaDIxO4{)j&)t-v~`-AA)PXJ&cYG!wF%_XTv&!**!|AbJdx`jf(@g)8W zLz-6(BsFwhbR{WfM#b-7Tb`e7v(#ZQpzFwMdV#q*OHLomP5d-FW3;dOZ96`Y1t_fe zxUZ&0QFaY_2RPQ9U8P7$FQku`*rz373)@bUe$YKOlS9 z$p|?$tq=IKIBJrElUV*etH2p)`$%-Fi1HBQ?O$>?wd+Z=No z|FIa|ZB|#hM~>lXYEG=;7CMh@0%Y#5A--+6jvesv~%1-DMHjF3OL9NJ_J&?;m&nIy-dFKT|!sB?oXCTSnyt zA9`5drGD0MClF}EhfEc#SByN4nXgz^{KOHmsjKhM{{Kcwlc3J z0X!1hKM&KWAVZ@coSCPNV*7$c)>p8e`T}k7AN33jJ;Mp~^ns*-$9I_eebW~_Xz@H_$$Ln{?h`K+o*8>25&TJxuH6JZPj^HpMwOJe<- z016HLW4|W_Ww%263HQzUJb~VXr$H_SlRGHVOJcf0`5n+j8`ooDEn!k3AsiN=qrV|! zTT~U$v~D>Ovv@#wr`2A@+_6`AY}cqiDuqAeT@v?FufuBP5qlbCuzcHpLOewlW!J1l zqQ?NjhxiFQoICYoD-NIde5hB`K3!@{NUr4SzVN{$MAU@z*?H`C=iOEy(9}jN)Uyh> zC9a#Inrfy08QJ%{LpxVgK#3wYqd?ZKu%}k37U|r8txZ+@v7U@TzG+fbS3VF=^~u)b zD=SDvzk^}->T`H8`8tA}O5)dWW$lTHD@T2%?s|W7tJiQ+B6cZpu%KiN>$xE|r=k(w z(%X!nu#79h||SA?*(?ry5eyoJXX z-+NB5>*imMDqrHqrg6R|T8-a{yZ;O;YUPP)w>ul?#0Jqe{QDyQRSBimT?XJXsJ0$& z)<_~_Z*N}a;k`2=e)k$}eQayO06uXH&!W7 zI*6CGDYg`Q6Y#1PV?+o$>-)Y);3!d8SK#OAa#;{-sn=*uHoZnzopGGCA>zh5Tf)m9 z(kk&atIy_$6kr;1D=s8Q{Me%ppm&kpxQeqVmM32NqPiM};4~gi&{QNtGxW$g z3Zk(avaaOa#wca)fQ&UZ zzeXXGM%+A|6OP&w;w)0tslyOwhPL9HwsfyxtLVw0u5CF*DsMa0#bn4pz$RR5+eENx zH4pr_Q#M_con-wN7>j^}bswr^g^K2lWFKtHXtjo_I<0c9xL6;3(D|E~tM6gUJQUjP z7D_BDcd|FlJ3y)`68Pl*Igsmfi9Yp*fnnN4lur!F)q@e&x*eh8K)crur|$sCL)z+b zx}Fw-E=xLO488Tu3ID$*s=nlHR38JH-i+P+I0&*j{J{I%KTIsllHe~ZP7Yu*y zaTVeFV>Y~RO~lC*Mrzq;UpGz6a{u~rNM}<5qH=ND$oN&Ab}8~%)ij}XTvcp$M;;0T zbh|T0CA(abKYRyJ-9l8Y^yPB!IL;rg=}&7YbN0#%%MYc4pd@VXwX7j2C`8(5M=-%b`xy8#l|LCt- z&I$K(O3e}dx43^qSc-C7OfUBhS25k)m2-*`f* zcR9;?!XiJl9Z^ja?6#;PDkY`z(}VH;L^e0Gb@4=6wEl=A`e}H+fAp_l#jB6fVrv~c zTvB+s1!#9?RDlf|p`$eMqbb$ixOWX_&E7Uu0X?&?E?&~8GGWOgcO8ICw6`u|YV4)m z#`kG)qy9uF)yP`VIGedGcm}mT{yvRp!~5HyTr^c^fDc1fU%G?S%Kr{{gSuT=uPMiNzi#=T$A5GJ&SrB}SE_f;523?I z^gd~d)BnC#p_I5a&8{F?P^sMeokV2a)Yp_Saa$QQCl3;@o|{(N)PaC1(6|y zG6$VinGHaisJNsc2u=d ztO{o4Zx)~Nf>cUYc8Z8*YIWzF4BJQ-I=pQ>e2L}iM^*(96Na)qNhbQbMg3MZ=4X<3hH3jo;e;i4Uc!*H38{QVKFg z?xKFwq((&+J&KM9$zRmRu6p3ydWNjVuQvvMnn;$=FcFhS$6D#6#9jP)eqIm46LO1(Qa|_43E~8#bHg1Po!U4QXnNwl64caVI)7`c|l! z+H6;?vBNWSLwB$;-JIaL=H}-rrah;=x-ukDGOLwO%s|G&koRpYQyNqCOVHq$t80sf zlBcE+&*MxC$gM$c>qMgg)?a%HaI|KHjV<1w(;<1-1{xkO+eoKn{5ZQ)arCUqGK zkNC2}-vr&pzU`;j*pi0(FxZ29sE320zJjzV_gLB#UDUb#zk%!4*siRxj9FsM+`75P=9 z7JJAfxd;}$eb8}^f1V;c%N-xflmLPbuc1f42~Hkfv3>kfCbsI`jEPp=TN;&X$8waI zTT?0RhG=ZV_$8a}yqaqs6OZi4HLoK^oe@{^8C1arRO{x&2VxV2Kj-~vJ<92K`etjU zRz>a{J5T6AN}x2sCU9-LzVVV(jFyKV$$Xsl8M?s=ChQCvetL2wUR@zAq>R9@NZ|^DNGNvEb>P(C8eS zMfg@kZ?-LXRN@jpkmj==!aR;BZZ}4j@?A~1eXdz|u%#yqog(5VXcW_-ipn~Tc`7Jl zmiL07w~Q(;M!Upwq*{P)Phc$0;I*-piK}QbfyCsJ{ZP8Fjkb`f>D+D&alB7d|8!QS zk7WKIMPeRjTv?V#B5F=pue_gCc+-|sRUqD&H?XC|Y1WO7M$p*QcRLn}pG`;dvc`&D zEp%YUN7h_6l2Uj)a)pOw+)5Q|P~|O^3J9p+Vrf@Z8mHR?GtY_wm**?lTvu+%f2w$F zVBYVaES3|KKeTT)pY!-x0RThMVqcqX#R&r`DoP!cGy?P|N5&pl4=(ludJBlR^~iy) z_+0vxiAQhO_5$NzyW=bjKaehr56qt2`F_6RP5bW;*WHw1q$dsyt{;BT`g!klLwmsW zIado^C*S8sUOW`?+>}^NI{u=|RjO){e^sXrOO@k+y_7HOsRu{k1l@JSM>xw9VJK%# z#!0>IB??VE+u)O6!$8vd;Cvs`Zc3x zv|Iv@MQN}?^KpcEH4RBMX{4IZ9le_~Ktbl>;-zx`h@bDOd|=I``Rd{G4xs5Q+YdDz?DPKu5_V z7|#4d?+E3LG=+0B-42FBU& z#i8v5Z9$Wd4$q&DTWdaLy?o1%vSqe@KviQJfy-`Tb(3Gut_qc8^!SVZ#L$PZx!ve5 zb4o9ZQ_Q%@Jw!d^*0Y9sr6&QA#kj21sm3V^s^0}S-)Pfq>1?x1*u;;i-s-|Ak~%Li zX-q6!nU3vt6)T*PpB>$yPnt)u=n>T4NSS_k@eewYWtAG-9O*k2BYAib8tbpsm`*A8 zZgQuUolPilA1QE?Uo#QoI;4#!r6GEk55~`Pr5CUN2B5+0cK3|QB>*NFar*z0D zo(#IJM`xKuo<48-i-N3*Iw|J8H%i|Dt++mH`KThAE%RO?Yn3WZB5@^}m+v!xGjWFv%3yY7z+H70}y4Ub0_2ZRve!yS0;Bsr$ zOv8=iAW!XHxA>z*Lyjb%Fkclxi!Mx7YX8vUhGfO$^<$BoIuUGmd`#ZYJUMPQyMOifLRXl{(1%qCufB8#V@ z$iy(m27afZ|3A4$wwRVv?)K_UVH2-Dr8(+bsBOwnOH+!DIzD<^Rl+>Enu7EK$f!|q zLC7n9lKm%s-1K&n$6aA}3JOeDj7lD0w7MWbbH-omY?~-fSTmc>oqlmIPSj+TQ8FNR z07Y7g6hiX5SVzCHSxxWwR1v;Clqz-zSu#gUp#G1DdKrBu4;S;yo;$a{Vir)f1e98x5v=P`c1Vbr)ER zMP?K1hG>QNZgP7Jk`|fs4=k{pZWC z7+nM6_&s_J;78{ZU@F2GetVWWW7hhv%cdv1HQ6YqcNYFdEMz+AWT##gHx_B>d(#GC zM#N0>1yP^(69-$c(7f9uMc&6^Sv19F1tN3r-|?MjZEbKyRQ!%|Zeq_C#rd0oVx^t zQwSDLaHnV5m&Hs*hqKy~$YIf*OX{5i=9+)#884<6(P&WU;Kbl-Txa(%y`^QV`mNDK zqA6aazHAHZb-q3w;~wPP8yldA_^zRo3DPLV!_s96eyvp;hC+y3d>qJfz(Ng18hKF> zn$7STA}H)`=9HMS{`wKcmOR`s?3-2g7p_;2BcA(j>`N_Z*gIB|lnfl0?8>E@WO7s^ z_It1q)G8&N`hY?W{-58)N=s+etgN|J7}~VGd-qZ!*rP7ki!1)p+b1))hu&FYQs|5! z`z4VH_9gXEbP@aEs0e4*OTaj4p+%#3eIL*fr=n2lDmpHZoz&90*c2m5avu~sVKu;4 zaeu-8=b@j;E|;duVO}#BXTj#o?dP>04S6gV{>0K!e|hjg9)3>yJ9?XHW$P1<4~$er zey%57WpnyBS>wSN@>v3WXkb=keoJ4yI+Soj`n=xwL8liKzn5d0_iSoq2{_dFj)&VO z!FG%zp4=0n@jI8w4{nj1+)g6h0QFm!{q@4tllt4mO@4#IQnr~L+zbn|ZO1lC{O-@< zUR?u%zlU(0lYUOU=RPzYPydEt*1*mozd$j#C}9GI{9|W*?Pj;OM~rduJp^VRGRosb znP`5}ty)0nf~qn!x_DLml5IX3p+P)eH?_Q(k;KL#%t_Z!jy(fsFT>HXua>!2S= zRMr(!)jrFsTXSN@v0GDjUbn^f>i1_61s?1!lOG|YV^(~H&pd#4K!H{G;}J9k=Yiev zN@sHq6Q4ED=B!M}BQvvgdbNwZJa`}S4(MCH!uv#;sEuA6QbWs6^>5aEwvKspvt$7Z z{B=-sr9GcWA%=GN)6kNyG;a%e@z;H?z|pL_hXpFZ>RQGzX^U)cW`Yh0&^Z-zbLrtD zehK5Z%9|06cK{{tyjX!o-i37(5$m)TX}^^gFfq(bLn(z;OtJJMANxr8oUceMfgly; zxTvIi=0a+|6g@#*L&m7v5xIC$x%W_@tU~*?ZKvOi+Y<*wqWkw5{ikoAK3K-3A|5qa z6S^b^2ur>Lc=gOZ3Hm@9{b=peWEf&f`?V|h*a62D8q`zuI{yQkKxDsID*p*gnc zYoT3FHbv9eq(P--+E9|4N{_gX50IyBc@+!Vlq`@Kx<&9)G(n^JZB?_#8 ztSPE2uCzUyHNn1?`kzcmVz&dE%iY6nNbrqfnmTLf^`vJZsXz!;MsOad`_YKsOBRif?uFB=omqbeoWl*oq!yQO`7da$hvhQE0j?ULDi z;~A&T^MKqGMKB9fJPjIL)s3by|Mt95wy=t)#HT}XZM+i{U_Z0>OGk0r{Fk;Brn`Yua+ zfuqQY%yR-HAO{3CPpubBzndjVj_aZmP_ZPeC0>7TgdNPyn))Ad}Tm zxa#>MTm}CC_YVpBq^3M|cc#>dwiCV2bXOx7-`#e1eAQ!Z^U_LxiApt{BNI2dGDVKC z#zPg`B#st5L`6Ti(g3swJB5!*#9OI38d8)eVnksTRebTdsPZWis?R>xVP8>>)Lv35 zM=mJ5e71PJbj^q5GJJkGFp7OKe7A|a8&){6Rmd~f3ALtZ;<9Y5xAycTcS|&4H5Dae z%#bg31v&Cli;=ffCPX`Kr`;0D2>smV_igcJXm)7&?Ap1B)jRvFyCWc3m^6zeky}-i z5=GDi4tc6)y_Qv%6(WZMRhLP??LYRvS57)3U{(&$VqqG-AB!CICmT=9%hVTBX(Y#9 z@Pizf#YGJ5v@~k=Y*5@t=C+apP~?8ZSCLq<5}LX@P!F_@SDvYLU}@1(X~!0EXC%LG zE*$h$XPZdGc+OOk81rQ;sr!#AGLhQ*d?N%bfs(1XEIGMAscjhE=gDcC#lMF0=Ig37 zw9Q!-MmGf9=L?xNUCLw4KL=iLF`>PGj`geV$ABLS%C63dLLEW zG>XJoGEBA}64V>{Dg1SOyKW*iajUwlEk?6^aF^$%r|A4E2Dh$d!0y;_X*$-|bu6tk zcx~NPYCC}>6X+EuX*Mcf!&=tW#F5h0xenzBwPY$)mP?1=u9E)%9homlr>88Yu8g7` zpR6rk0nf^1rpmqxtt1+rqo-uMM(*h*G8p)FU{QiHorhpUU~)m+O&%@&9j^^J8>?#6 zXGFINX4YAkoy~5)j+gq#nwkWN#UXZ*+=U(4%N$kJ@q?{BpiHR*Q19F&StTWn9x0TO z?46;%;E)dktxP8gz(d|q5Z+>)-_x4r&Nw>A`mM5%?b|5h6?nsAe;LpJ00fx%aP}Gy z${r?-2QAzPq%j-4+bKY5{EY)#_3vx3w-gT;#}a+6?>_a=(jBW(b8cc%WNKKe!(5iu zIz7=cr0yNTmMJ3(dv_h|zzzuIXaad0*f&F_{*y2Bfx|Ge^0Yyq*SuVYuzPyRrwC(_n*qn&{}s+b;-Vw0!xd{fw2zyMSt2|*fq>t?Pe}X-Iyn+b6I+iHsJl+fTe{-H3_TNd+Cn~v4)I$yN zOkW7{)i!(e#LKyWjEWYP2`0xskxY0T@&Ox4(`l{4sVHyiNfah^M@IeBPAIGo_by+2OKF^%j7{k%Nn@&5V)*1pn z*iLxj{QGpP`45zVqm#8vyW53gjkG!fPZkL(-oX|u*&Sv^*_(>(aD%|mn@y=t`YZF-Q zBF5-ssUHu0x$*#rWxDCcnT*AaEnk)9xbf1TW5yM9Q+7pRxvh0 zLp6$3l9o(&%S5VK#wqARNPCP>qiIG&VLo-T?(RLWW8$K#?jAw4ZkO*~XJ8+Niw z36_1owNSYpvyabl5=|>EExp%eDHDKLq`PEjh*E2Up{$Ndk_Z*j&3M&>DA}0aZb!aI zg5|IPk(CB)(9$&Xp(; zv0bs?V!kEO)A{H*%5sLB7{snN+(|=>-W>N|+*wy(X>|QTCu=CwDx0d^Re5`Yvua8A zu8457oSjB2Nf_414TmEST-0$XriUvtA=*hfF@d@=1C^?`M%lTm$atvg zewGAf9loI|o40_#_iMbjE+Zw}xd8)VjT`lvp z=>Gt!Pqt=*bc}KU2X(^fBu^ZwqtsWfVoM#`R z2qSbo$#;FI4dWGY@Ox2flHy>;Gw0#Kp805GAcwS4iQ-Xgh?I1%I2dL~ zvkEh2BtT(6XMBT?AyM3vPbwsg`)C8CjTPf@R_sOjb+L4<71ArdlBGT^`LEB!6CZCZS(QSoCe8Ytv|G*NcsFHywc zt0b&RRmeE`SHb$Q-en6z^?GDWuMnBAuCCl{*?ZaQTau~jy ze+G}~a-q}7S?(!v7^*BrJ%9*Q06xhNab^XWut98~bPSP|RoWTGOqs?0aDK*C`mC2H zXhaG^v0ozp0Q1eAG%(=$s3waZ782?6z_P|@2_u@!Y%caBWlsD2a(|AdY0G6`liX5M z7TT8G+e0gic{e>MmZWspF`g%XbV91pqmcMTdB%E)ouf3k^S1eNCTDkY1tsqAQkGk0 z^JETohAaS~)ms?VQiYYs9|ybSE&l+LG<9x7yJHyfU#)QEIUJOQb98m$eIiA}h{-cX z%Oq(ignruqE{v9*q`cVo0!kj z>xislL=;!GEvkWxs)tCwj>=D^gD6zKwt=`KwY@?%o0d(KHz_qt=hp&hMof1~I}v#1mfg8qy2fveoQ13EcFBN~IHn_tGOV)S z;{_YIU0MmtK@?9RkzyGG1X-x;66#!Pdo ze@?zTjqz`a=^89@wnO3Lt7hf63nq4@lI@eJXUtFk0CzV&d9oy83!dl~;sE+#6B{x> z*%-G@)1NMTyNZa7o_fLQGa%|t{;s^GsXR8bx*G$xgPtqfqxcdD9g2l!j(_e0h5=1o z0;iIHivIxm>gYYXUEVoTlLJjkSq<*Gc72ft8SPo{yL z3EIE8e(QM$(I%Jjc%yv!p$ShC7j-nBs~&7j_%5qIo{A$KT|iFfwy~PW>9hXS&(32`Ek$iKgV6v*N6;d5!-PypNya(11!aEgTsRh#+SRez3icg%i6 z`_9pYL743Z$z)-R+0StK~|W2NXj^yj z>ft5n;<8BTNQ|W|_fiZI$tcCiIO4MV^klT5FHjJPDQju&aYHzwtGgHH7`*2_0OWj; zH60!0$I8W)e({ban|yL-O>G1V5|m-SN!eooofT}iHDl0>btjEYp&)@R`{j1{iygEs z)+avh~+E(m|9mh>iQYVk__2F*g@U9z$TkCv%(9ERrD^O@f{-n0GdXf)0E>a zKKWe`WCOwPRC|>L@Fdf4UmNMCiD79GVeLx`MGQnqcIu?<8;D=UZ6kxy?N3dww!Vy` zS&+g)yi%0O0_hYyoifn%I&P@_NG`$M2?*|X-IsLU?`%Cv&@^|Oxh6g=%_OqVG9yCD z=nRdzSENN7nQq$lApn3qOVj#fV#X4U%b7mD)GDD#lElAKr^WtfHp|aiilm; z7L9Upbt_aujT@O-7}>WnS-DJ>p~XkIsQ|9PK->kd3VLp7)DVnhBWRLOd((>`e6shj zZu$xulh)LU0iM%4Vn(lzy*y?~&n0B(N2%w;p=8UNHH669z@qBk!W z(E7VwvLRB8fC)RLcik`dVBC}(N;v5H4H@nt;^tOrb`rsjFTWG`1oK>VLdgZwQl;(uz{$lHQ~wH5iQ>Q{^(`pNTTqUfE!??NZ<%hRgU1w{ z^taY}h-v8z-I>Pii@12PNkzd%LAN|H^30f+9o#6DWO)@bB}G%eVk)hGEHNaI4Q7oEiWUY#Zr+d*&*GceeennOn(awUDdnygrm9M7B7J)7t+4 zx##1>Q&(x!#E3%*$_hHRlxR;a;Id3$*F+WFfawqv`%Gy~`6#Q#gNWikPA<}0-8pgleOYRNgp@R7E z3HR{upRLr2Kx66kcHE4_gV`9T>bx2Dvbs(Dds-0m5V)=D>BI_^KTykM#PfJcR(V{6*A^>fVm9~Q(@>d&AJs_T{?X-BH z6+B(zJXTn(W7w7%@-gO2Xt9B22yvP{vLXKfbCJa;18@!G#=$%rF`Ts6>AGgrxUtJr zB8oY~pT>F(+b!MB>kFX9C{8cKw-?Rk&gPz9rpE8ug=iSRmfg%kD>|+2RdB7js1_H% z7uCA*+onoZMjK@x>25)mHEeQLIQHmWIK|XRQ7K)vMU@`vkIxrpnycC5k~E4C#F?U5 zOFFSw>6|?Cm{X(C?7PGJbB3Wo7c+gPSVWYH1g$oyMG`?T_3qBhMaE zyaL&Kj~gWtILO*|J4Y_T_%*cc9)TvwCc!*<1pSEO?krw7E#}Ydiz)W2tPG$r;*G*S zE}EvBuh?EIg69F!MtTfOOS-|M>ykGgx6tCxmER|>tr2U3E>%;e`cP#1 zf{(dLh45vn&y4l*MFSo+AX_0?Bmrto0eoMeNhi@f5--@x9j7dU(0tn(&%5u6uBR6D zW{MD%p4r0t`}n-#>j0XzVM)YmOBz8u&n1-#Eq0{=m=m~iYs@XzBv}5l)qQO}u~~UU+ZMPfOBRddjthr<8g09mY^!nJ!8FYsizr6QjBJj*qAxy zA}NMNS8`(=YJZ35{{X0*Hk*jbHl_a0?T-QO2U$a3`HZqdk36{Wm@!o%mPTfABjhZF zSw#l43beyxAp>`bHJ;Vhkdl*lBT_d?Hs0@wvm6)2)oOh&rUk2w+=%gX7j4yD;y6mL zZi28rd5^B+=4p`z#l^^$D6yvA9vqCAr49o!h1lk3nl&u@b~sT*$QEgOiOMt4+CZ3w z80HxfS$*6*uZ^yHFJIDqCK|+&T2#yT##WEF@!Q8x@RKraS7Q#=9)?y|R8AjK$y9te zs1nWe*phuw6aajje-cn0nR*Bwt!QNQRe~qtE=m_x0{<5KWOJ_4-=^~88b2&D8%Z(sg%>o8n*=` zuIp+gdWOEN;iSJ;PzMJ42{_|>a=+^L#r4lkrJ_uUr2}p*Fo@FIdrRBz%HK3!QFNxr z`V^jQ_sYnTYFCzbmG>1=0SwHb7E;7lh%5zPJkpW$;VDae<=wfxs+E<`=f*CwbVj@j zc4@$g#YQ0*w_A?cT$7upIIgHZM=D2vHpv;tl0v>jZBgBgZG!T)q%HDpfG3`%tEy>f zgQ(oNDm9c_ak%kVyTG?|^n{&TViAmSkW&}PNvGM9?){^jesZ#|3}GZ>$B@p^i0QV- z4#am2V`x@y$lC0rF(C8~uDou!o2O|JiTER%JSDhpvDTB)uIq|!sy^H)&CZ)D_~#~g zK})5}k&6j_>da-DNc@YerZN;cJUuXQcG(-1X@&GGr+SZccE~Owfy1_vMy2-esDI3a4rJS^BFKQe8h6!x!U`>KN?VZz{(W`{3-x`@X zeH|^JqZSqQ7`{i(Z`5KtHIGJ%ARgoRpQ*#Tg{0abq*FZ^P*m|-_qBP~DsS`_T z?WsFiMc(s}mEE2U;_CWD>FN?^iln1%*#Y2dIK@cuo{Tj4F|pb*h#C7!6-i7(6*0YT zJB=-o$R&jeW6>+85R`i+ZI9BKNL?*R%JbVS-=2hHDc#;~>c{qRN&P_CjyO4=9Ucgl zELM2jZ4vKOeX-ePP|S8xmwz*R_NV}`B08YPCc@<@1UF!n7>*DJ}o|JBZ?JSyqu|d?VLiaJPTOkXj&Zd4~aby9S^4%5yCZ2YBj`B zvZ2PLRKcnE)3-n#BC<{o6hz#Itu`@#Cs|yrx`r0-x0q zcpLA=s>bdrkGtmh>TpRF892gr+Q>QH56&Now;$o`dxh?9_;>PB7iwQAK;<;|G(c{)!W*1WaceZolmwK>YKb zIz#-1V~wd`aX4xO%vxSB!E_*Zu{3rYLN?S zvzVsqE02yk+5Z3!LK%&+sMa>M$KAwyq4M5y6DLp*a87lnrvi5A!JpzCLaM8+9QWP1ZMjJj;`D(0D=!lKZt9}QzNpc;&+1al0y4(`1!82U&6gS zVF*Z-M-q@NOwYC5Rs|B*9x?W*nvu<)ft2|(W-O6oGcq{E#>s;!Y*c9sVNy`hY;=@> zSiLO?9W!im=p;1v1(mBo%MD{{SvC(l_Nfy060WwEZvR z^BLriREsTO&3+DES&t*=(L`lsjLRHyWGt+a<6)Oxz?HZ6sAZr&PG9%@-=L!@|sptku1|k81DeA zLV#6BM6`k));w$yG(9==`uc9Jqom2wWx{uD3`)baw$mokifg1Au+-7gfwydpH+2GA z$#}tlqAQ!bdN|BTd-#cc<`K$bW4Y8@T(SVXF;JltS*tvfcqVS`NCCR=%7AGoKf3!W4D;Mgz{B!njesA`YtSI15ut>^0INEpAC1h@656+PZtGOa#Fb) zsa4AYM(ZEd%x_DVnu}>t$-|S%3OD1ceJ+%>SWe^jB#7k)gm-Qm!Cp#FB|eSvT{{~- zJPGEDvz3nGCk!_o%2*w|QlMzlb1Iea{E^bb)Diwfm5fm;f+p-`i_85l<;@4{dTFp{ zozXB}5aZ5h<27n^U-FGdO@eHAMnEx%V#~}8M4V(&Y^iJWbQ@@aWLG_RTV0fhTlCtp zdr32Ww^Xe$hbQSe@1!RvPDmWYYm3JgW8OwFd|*@OY}Rq7Aw!&ryKqDZ{g{NLh}nSP zD6;Yz@^PBt((f1^m_mO>QI<-M?b}*V7tal08gS#P6Y;?;u*2He zu{YeikB^Hv{1aqw0RV6tu1KQmcI*~#{FHd(&w)H$r><7vJI2e+94c-tww!RC5aH=- zfHLLAiJCSLi3r>o5(z92RPPJic*$!P2l9HNaYS-=4{Ip!wpfQgIM3&*r7_zXF}TU2 zA9S*}!q>-FQs7TMTIJ+Flz8d9DPJ;JG6nl>BU4R7+jD2BYR4e$g>w>0T^Sb7nA>l) zVG-7hY|YJDcoPqD;{5Yp9CUZ3P8>pk6l~&(@YTDLdAnnO%NiU}>g_E_4$&7P#;YY% zqGQ;+SCz+0HFSn9>9TH1c&c0s8z{FVt-DtpH2x)lB$>bfRhPV7g0Lj8+E$nw8(4}X z*r8z1GtM}UxbUgGUIgWxxQpNpYs4QQ6#hX5x-#ix!2sIYefLF##lO>6gU&jq((9(sv&Y&ECRK7)67INf z#YCSPlOrPup^Qfy_^}6%kf_89h*$AOnYNEJX8lfD+JEWir#4DO+c>ptRaX}0FD7f* ziR(==T64KmR!NDMDlY)$xJoR?P5%Ije0mHVX|&}gIrV)H@O8Wc=H&SB_USJ+qH~ggLcm5jPpZ%sZyluD8wDa z^v+tkd}^JVy}6LBaMyRsP2G5USE#WiSeBa0nPH~xtgkcfgk!cb!`@VDIUTv(c)#|o4@h-&wIwB#*xH@4mz74+>yoJa z712fxS2bs!rW(w-MqW8G4We=Qb8acmSm}~s zx+tV=tSDMj&+X20eG|q?G^Kqj?EKkf703Sol>=s|n>I;NX*Zr;-?ba_$at)hU+nc( z(nLkEBJsxVOZNGFtkrvBdAlSKss|NAj(YZ_w=Z$0#UT`=v?`=4 z&%OEMqG4OZG1-FYyj9_&i)=i;dZo{Z3|SpQhIJql&A&^g7(-kt4?Kpq^B%ts`e1K*7s9PXn- zp|!O)>9Px^^IK!(iaq9BIs837grN~)?P{4DK=>njiVV_zJ=R~SS~^XF*&;Vlfsu9zOib05#+#>%UKowcV2*wwguSh6s4Pgz&>Z&51w(c|RGxw7Hu@y9e1Na-tN zWgKV`miE9FckUMo0>lB{KmaNAOl2)$WDdlTODkAT3>8PQeCJL4AeP8UXzrC@FdL{u zrn5q~czQ}r78GoXWRFrY>1&OsiN^fQoYRo~{o7c)c`p&)5Fop|i!qNf9AYGh76ZY7 z688nAmG^!mcY=NlZ>e&!La) z3~;$#H+YvkVc=zaGh5R%`BNF5AFa)d6?`dOJAmf#@31>{j)L2Iw$tjN>NZsR8 z8MxUQNnOf!Ib|&6KmZil6z;I^PgH>kPKi%`D>0*jt#BXJ?T&g%>8zweBS~o1=>GuS zU{$@`d+}Xl-_@;KUq2NpXPE&~*rndX@EOG>EnnR*BbpHU9 zNh94g<|YlqZa!M_eiJ=i>so=&&4)~iHCLKLj&lP8+Jg?!;~SJ)G~gwn*+cT6U0QOK zWj1y(0>0}Tt-cFfuLG1isv0CT*_(EbU}Dz*MZ@K3{{S5t{AUG#NOEAJhigbi;A9KD zv)0l3i$!192l6^91trpC2}m~MDhd?&utO>r(7vGE8ZE+r&{N0VjPMn@MK{k^pCZ7T zJb0qPL61I0JdBeatdY$kk4t`RpL&33*l-5X)w<>)ZFb1ArDM&JV_e6VH_yL7=}Tm! zyMT~Ml}8Q>8Vhk~afY6$^qhSBO(Q-$_Zc%z@I+=$6_PazBeX)xt8r4FF}Up%ymUOq zGKo}CLga|m3`X)Ku9`Dk^hBo#rloC+H&uX-kQ*J(7l+;P+fanO7<2AKh8Ty_;^P;d zNuIn;M643qdX{L&PE|~YVu9CnBlLrWl~&nqydQV!l&r#-s_0G9lA$77le#+qQN>*e zi>l_(&sQHC)S66~8c2fnWrw>NAkk@z}|LXyhPNhA0GC>Q;^zZ3^fy&*YG z*|)ihtKA@`>vLy}x9oW9FYBe+59p0cXaeGlw_I{9S?qLom4zNg$l5)s+)4R08iBg3 z4i}dH0Gka&uT1rH-AKj=Q};gyvc~fN0C%1`TcfCp#l&kA*N$mzs(crBo}o>N9Bcb( zTlWz_PzeRLss$W90YtT)Z`~e%^${TofUHs|ZW6MUAuiB4uivSfuBH@d$felvZsqn{ z2gWni?vpyh^1VMHT&q|o(T)$jdWZ#>KdD%(s@vPP_| z4YK4RiewzP+;;G9sx|c84Ozx6B(e&zjqW6^jy_*M2SxgQSnFs;AreGGP*8UbaI9!b z_pdKZKZ-iP(#a=wMvue-Sfg&RtGuBI>URPMHVu>StNk{lQcc?mrlOLzn_S#nSpBUL zE2aLrEFz3{*bM3Lq+(pI3EkeCq&8G z50M`3QzDP>2?uwuFP$DQR!BZW}F$Hj{TT_4~8I6T(Lj2mR!hXToXs2B@6PlW+}LnyNcuzO5KXFeF+VFH3hOVktDK3JR7pFoHbZ| z+CxV$Ue)1^;{;zPKF=9WtAwiKc{NMi0FFW030gk+Kbo#<@=Rwj!j1&q7bhGNPG&xCDHN=GlVi!+EZh-Ov`>6d0N3NB z{{X~`(<)oY?xIafn383+BG9?br|;7rM88)BhSX}J1cCW;fHR*bS-0d3K4vG>%;i#O zG4jz$TCtk}C#~1yJBu==+9LL_-AAlvtv1T#IYvA88(^`VSln>p@$Asran`TVF~D;2 zv{FbU6e>8rEAx)AFY2Tkj!A4SKV~{go2ScExl5LaB{L{hY-sLy)Y$Q>3_vKgNfNKN zJogBt*+Oy;wS4e(vi=!3N9`FU#4LdvT4qUWj2o@VAG@si7Mq9hw#!qkO%_bi$&sw& zWo^lwQKe8ai{u59AL`|JM{Np{tg#~PK%>*uiaSOX+L~}na7AoJQ*+Hzb<_PAYU_eBqM2VSHA6HR^5RPptXQFkn30(z zJ;DtJqIVtDf2W%>wlR*NF&ME~S=`;+Oz_a+x^JPT=#phBS33xdO5u`L990Q@did70 zjjiTLP(mIXJ zxtQ*WiiI551CngnZH(9I2HdXd3m5J+K5|wC>pui!M*(MJE8X45sUgqgXvvPVN6$0= z0IXwW;p!}yZPE)pb5`;4zI)BfaVxytT1^BDJ<;kgzER)k|3 z!uYIz_XJmu&3Q3hEt>DsiehcVqcs^&ilkJFiWTDP0cb!>Fz zM`T5I_N^5zco!jgT=UR&U(29qX2-^ly}nP{D+|1eKnh)~6;0mJO&dE)4p*vmH4%2q z3(9uNA#TeNN~?=6&yKGD08H)6a<6j_=NpqhrT4d^4~uG&Y6ct@#u&ljjp3OLa!EXh zz%yhj-_z5#ba#1h))vB!xuvVUBX+#9UBfaTf1D#wp5dEjb26!e`kil#BJtT>g>R!&RjtXHfx z3Dm_FQD{dVPBCUm9P`ITWcSHr4N8Y_UlrJ(P+~`~Tbuij3(@jdmOEfa#oc7wO9*jw z;=X!b84IgvaOU3^hnv3v)z&_h8_yM$c=kpWj^-^Zjf_D&k_D+GaA?@BMU+XDTgpu% zhs?R6&MC9quB&HOINCRl^52@eG4gfPXx*J+7?*LZoMw}H*kxJbzDXCsCuudnQau4% zpfe^?%WZDAg#M7X6?ymLEM=?N$y;2Fsq@Y8`h4|Eui)ooMUG)6OsrOq3VC+g3`}nb z!m5|rrTETBDMX(BX_uv2iwovR%~(8 z?Kv87i<2rQQCi9rc^N)A#U@``M71nqGbE(YW0wkHsw~gTT^8b_&nqq=nEt1(!L z@&gjPd`K3@iY-gYq5a?cJ8dGFq;Yw!8D-t)mjiz{)@FaqiMW)GEn*)RRnH?|Jxa>| z08@Ns-L~3}7C|7j-C%-2zg+Wv{a?D{v4!yWQy_emSUjd5ie9IsL;^!mu&}u0`&@RV zatFsf4QoSB5ONW8?(8ZufpNTOUS6P9i0d ztfgO?OtxKS=;(WU$tKcH*%`cc*%qe#S))V`bU8ljpeuB?#ke<8X{Eb)gYRuV4;?kQ zL@=@=amyDeMf>MB&&72C=Iu)$+Idq#xC~_bRrH zV{Mm@bE0AlG457cRyn)&ye13&^jfAuG!d2nsAhT`i%Mqx2tJf?Kv_I<(0-|PYk9$a zvhH~sU%MVRX6!7uY`ql8YQ`FIaX4<;d)2IXek9dq+!c_&QZ($`eJ?6KJ5Q5Q)O9%YkqO9>2qif9 zYc#S)l0h^H)Op}Tz2cEUwmse!>Tu8z? zfwi-A{kGc%T;C^H7hBaPO+!%Abs-!-Rj6crPMqPGVGL%8aq;2EP0&vRpybAdfynYD zZ=%gBvNx#4GD#83X_T=xjt($%(o(IP`&pn(T#4P~B~50c7k`FEjVzzmzB!qIU+LmZ zkRw7I$Bo)v>hDmtX=o^RAT1P?Tj5QZl(R7AuEre@wZplsLYF)RZ;15R|r> zj6SB-g~y$|8}F4o)i|v!@c#guHdd#pX!?pGiQR9ywGf{4m{S#60_hWkA2DWqH%d}3FI z-j_~V+hVklQN4t#kV?GSgO4|!mHIw@J7q_w4*FzFkfusKE6)t88dL{+q}aI8qavwt z;DXEtJrnfGz0$yrY#v3%(oK6F*{bNNn_8M=?TFr<4&B$ei^Z;AcHWxWUXU}!d`gja zrgz+A3PhN%xFa!dK@r1-UTs%^K&nl!2`vYU<&#`gr+4=78U4c4)VUnB0LnxVtOo0A zjMe+z40QJzY(q?m{{YpNM3xy%#W-jphH0gC;Stn#l8q}d0Nqq)Ymo^ggk%w`X%_x= zxqR0`%53syW!i~+wHzW3CMl}-=-=X#cQicsbKWqb7~(}xJVA+)T9Mg|l34?O&kfWG z9Flb9**G}uyJJh|aDu+YC;PF|zgA1@Y042oR>-p2@N;>;m-9zTkCerL`Saq^{XZRYlp#4k(bCOVUmu!Mf;l5JABjiX%M7!kgi`hCoIJ}$?M z&~9UW)yQV?how$drrI7xp`@lpTr$Nl$jO=#Ot~u@(4d{9?Ygc!Fi9-z?gVJc=D6pv z8IkP}k6^VLr=6-wUff8kPKnZlXCJ94R6D7V+VGidw}&lOIz9b9*R?EtO_nTk{UKj%LP=7EFA6RGmB1hm^FEO4w-TQ=D~-9gmWd=8xacH`S*vDDDc#v(1JGqrs4AfWq``!5I zfuUgt5FD0J$g1lZYh+SSY>{@m#q2H@brQb%x*Ac3+|V0d)V%n-G(28PtYxZ3GA>mZ?3@#E4030yp zB;-06UE|!$TYOv)RY9iQ+m`qWZq1HCkEcyt`h#(}$&4G6d@FC;ixPyoF>}}TB=qGH zdu)gX?bf(^E1%!y%jn8De56&~5ntK{$=>WkvlCQVV>BputA0gvT(p<$1LrE?R~0B?_X19e>&XmV{vei)+&j|XrU{%kXPQb(ZQz$CTwWk+ue zXeg`3Oaf;vc*S&|)#dO|%JWN_!9{;+a92)TT!w-W(rprKDoEXIKnSFff05=$-~+++ z)}lJ6(~e}*nKHzXtRqo~-3dsg-$}MgO0EaQYuo1Unrf>adc48QRuS$ZfOvwRDk1qG ziYI8gC&Y{9`Rd=SG2OU#6>+7w z?z!Ae(Xzg)*#xMte5jCmA6Hs?Slm`ikYy*BhEr^!{oW{}Cq(GQiY;J_i}t&(Ha^Mt z4ym!AHjK+f4U!a_+)uJk9AA(5JXq?jBF^d27crDZN)(0FinU8A9C6W-U9}Z0T2mh2 z3qo*Ti|Vs7Bxat6J81|$qrX7#IRkMdfLMSyJwi}fYD&!0o4vTJ5veu6(`D7)OfT`zS=WLd1ch?jGfJo3PR7ts_HZvK5&7t;M%Qrlektn=FwcPArU zJvQ{AD8;(e;xe41RTSJaZc6c4bA2V3Hyt&tV+KVADLzK+3d*(_wGAf=F}5k>qRHmu zSq{Y5HA#I&v_8I^S#IAcLLvo;ZFb!a{QG5BMd`HX^tB}&(R89slxj8N%d4d%k=5O}h5@VJmXrbUHaF`<%HWbPt5 zhCR6+Rc)+}8Cz-T4zfTQMy^*}*w!}Gp609dbB(aku< zF)PCwFW%0yKBC<{G%c%~)~GJ3S^JFU%vo-K7otW4bDOi>W!vPNFxbw^D*YrANB(g@^C(2Tdtj7l!5zSjhlE%uK!{asz9Et|CEHaj9G3?g1H$zCbu@#COx ziu|t*f0RTOTzx(~abf2&F^J&EgiV&Aw=eF@>XDOMsGmdvW9jvwphyq7mZS#nHyktE<0kJ#B3xPkdM*iF~p(EDTJru&s!3vT>u9 zAOrsZG8P0M1{AC6`U74&^*cV+Fw`~`B6wJWQxUfTMHH9PozORoa}7zs`+1D2o93~c zHaD6&i!Kz@S@Rgsu5C;SlSN%oQ@-p>I zU2{apLz#`JMS(V*I~0^mM`i|Si)}e53cOOV5fzXqAGzZVJ|`K*iSCfZf+TA!kLf<_ zM;wnGJM{Wz(~bFYa1$f##Gip*7H6rtOFne}09mWa5^5Q^QsOQm!l&vXS)(~K52-0x7zM^;#iZg}c7)7bkW8a0X&sbbayc zXVTv@Rmps;S?0-|G4XQeS^k?66pe9UhBfejDKaob1*0H_b}Q7aY7CM*+PmV5Xha3OtPn}>jt=S|kygatT2DeTHz=%19LoOe?pTMn7eM&y=ia|-IR(n3 z^HpBdmw@^6Ty*}^;(?=fF{lPKgfUVX*#TgN*4t?;z?Le$TSu2JV6s{xu@Kx>buH11 ztAByVJ!ZW`BL;F8bfrvVa#+PZ_`K2Q$3*xT>ZW|RKj|pQLHsJgENnRYm6*gf*A4-# zzOIB?o}skZ5^COeZgM@L<1PEOYjvhjL|yl$szoldB<+%O9v92h6vPqZ#=WHyoSyQ;8+#QSs>U8R!X_)!diQ_O_MFei7^tZ?4r&&_saB9sK!-siMRS%%{ZO0&+3Q# zbzv83MBdGEZ2{`RVw?gP`=h}NLeyQ~JjT+Nz_N?1z0t1?oc?juGnDsJw1TxriEnbn z^Ub&Y>#uBD7K};`)be?kfDE2NW)?Q>6rw>(VD13%)J^vlq>bE~x~?6pK<5DGJykY4 zLMJs`RpZ@57G}S>)ckzzz-CaVxOXoiwy77m0yld5fb@AZET5yR7|E|b*}Pvks`9&^ zgB>r{(v+Bppe`!N{{T`iH(}y6o4%VzEHROza_ctID#{@sZXu}CGh1*d4lel(%~0J= zH%X34r!^8eZ#RS9s`^X0%_i8@c9pVT>u|PHOm3{NUSukF;TEwW^Sw#S@)&M|p?>znTRD%*i0cIKgE+Z)YLp+Id1 z`;Fb2_2Wj5UecX3BWr+;=}xPMDN0%WlKQcN5wnt17z=ExqwqdVV+~%Q+Z51kjKC;g zN02}@XPvfgfCj%jLswOdB@hkV8)R;w7(IWa^t*pi}W@m4=YNs`m{CT_a(~m|Ho}4kcl)Fp?pL=#^ zguK3dbcV~vhx*^ii$)$?Jx5KN5?5=pRu7RxA?sgsh}eQg(=c%!F(5>U|tz7)w#2yLOj8Vs5Z% zw^C4Bb)0pN{{UJ-ELqUGY;1Y);6q-1JaW>?VGokx&;i(UAg|FX^v3`s348_;w%+F~h#5$8r07g*I zC)C9Q6n0P?Osouu+z}H4Kq)5=$I1 zy9H=kNw(}_YFK{Ir*Ug^Yp_}sC6e83>8YXg^&LhM)!(LEqbw@MPH~N-qya1~P+FSO zHMF(#^>nnh%jwTgR_akoBN~K}w%2KX7@6x!d|TzX+3xLyAlV)oV#2bk)Db}n!-W{J zO&&ESXyN4HJH5Q}@zVBC z)kJJoH7tXS(Ml9PJ&ui6Ep*?HX5)ovGVv2KI9emN%-F_$>N45i`=lgh&ho8vd4#5r zP9Ar7?i31+)aRVyn&p88TCtnE#h2nPC|0A4GPaa24_PDR{{S1CSk&~rXH4IPCO$*= z*Cs==D?17&k|}4#P+gqBypwJuP~`1UopVZLBE@ARZ|OTh8}4|%UVO&7d7|xLtraOm zl7>u@tBQ$0I1C0tcf|FKcF)5)rZK`e?U$(HG`8a@rC8&RC|L=Sk``Ir<6sqtR!St1 zR;HBP={31G$9HW%u9-x(IKzJ)_sdUtXrT&=7_3=J(Z+1zM;!U-&8Or40Mu+|R49n0 zo+giK_oR)xMO^*jr4QRQs9kT!5!FOpA%I8AC9c@eScA6y2lL~gHKgc~-Z96DIKf9d zny&2g*G&^kk4)84e#@MgW{VRdad7f&(!CO$uQ@*Q7c=OQFXYGIs8_7n2^*4 z$zGTZRme|cZw^YugW{b}O}*1@Hy`Fmqh%LY_>=97o-3;iG~P>#3IRk0*p;Fxk2_cK zT-jsn^;}Csw!)EYN~@s9_WuCqs#v2TQE6EHwZ&1|dnjH!bJxzqF-Y#Bhb4vXBg_&P z(B$ppjij5eeG8~UGVI5NEIC%kcR4sb)(d;Nk+qrGM-4g827h+{0DiuxX<6h?+#~?; zi!7Xy%*)AStG5bNaIHjx*NmH?_KiyvJ~8^ACDJvQp=Op|+FxoL60lruyp`k4^;axL zCI0}o}ay0BzBntp%OzXwG@&E4GfXBG;>8HZOU|PB<;JE zG|-oqkd$J9o?Q5>odH%zcWKHhNR3f3sU;@ZwRWCM#dKMRH0N?S7LNNy!T^m0BQtU? zh~)8BX^%wjpr%Nrwhmus30IFdSI<{Q1h`%!Qs!HKBkzuPdj}+jlDzBtYjT@AihpGa zD@*K?&!&aH-&SyZak_HevYRd}y~zizz7K;qS?5n%IR z`y#ln#}&Zfb6$p|tb4EH9DTJ;>jtpn-yL<+i7FzYTTIe9+MX%2Zj&DUd&-d}gl`R8 zfmK^jc@unoD*XyK>=IP92*B)II5Og&rdxXZ$@;>PN5>W z9M+ImXWCAWbc{(0P(`y18DJw991Wtlp6LSIFQcbHpmmtJczWZBJQoM=GK*HAtk(? z$>>OGM@G#`V=*UY*!Nu>t5VJ?uCBV%dVN@uG{$5Q?mRK)gEx7;Yt40?e^xXowfqK} zCMe4hrU|Umr%t^FtEC_v!zF62 z@(9;7@SNQ*Nso$rT0A2I=ffjLR&01BFouh~%qM1(hT1k*S8?0(BJPL=5Rl4SW3{kl z7ig!Qxm2?IsTT9m{-f2$Qag!eG|2cGpfW!AE&GoL&ywi*d3t7M9+t_5($8gsFn+{A zZIy0fy~awQhn?K!=`QW+=xfFyDY7VVQ$&NCZ1cFs z;qo=B=^0A~CKBS5lP)!%P?BdQqn9IWQ5iuV8ujfslw9-|?9GDhMj4nc{2 z-Nb|{tV*b}#^42!lreV=uuavu9tyzbu2iAOuMA=9NUppOqAen+#d^` zo6=};>dOQO1zd8O;Yg@ObBFH`Z~~wR4rO$$_jehHT}P zH1DL$k)exM0U&PnIu%%wIEf6-0?2`^g8h1Ah_Zp(S3S`Mhr=L8@lOJ-I&q_7?oS66x=svL=^NR7{jbQqj5)V;hYh5@bHM(Ek7+^(bxIce%_`Eyg*&wN1=J z5+9qsv!1S9#*8^7xZtqDZS#Z?{FO=8iTyTMBZ4l&GKAQLT?qn-C77Oe?}4AYG^tJq@))p z7q=uzuxg@h#n>6nUXO9Ig6@q=0nL&}l8^$P7lx(-gX`UzJvh;BDmz2&Ba6oZ<&F5O z_)IA^Eam%G#8RH<`I!eJ3;>d*|S80!*kD7PByhz#XC~G zmqq;f@zq=mk-DUxylY7&WUNce=K^VGS z?obIg(=8cZ+k|A*OC8PUa>O(4qI{-6HTwmO`YVnV#XzH;xp&^MVNlP5si@Kv%pL_5n zI*}zYi`z0WzT{^U2@(Bp%!T`dHeXCUZ0D9aBMb_w#Tu|5cip{DG}}nO?gW519a|YX zi55hPcB{M}>aNzxe*YRX= zSNP`L)2+R|w`I3YXO_6He_;_P8Aj_D5JeW~y0jYeZyqn6p)|6fcUFDGSs>k!$Xeov z04ZVU3jAMH$&@47)ect@tQOLh&$OF-JzNB?>bZPj3&!t$e0=pbIb?N?83DJ95Vi;# z&Hex;xhIk?h&>Uc%TSb5Vn>BfouMnMv3YCbuF5nlcpO$S8n(Rt47K^_Z{%}DrC`ZC zu{7>gaj@`*`kC66TZk}lVn2t-n51m}qKM6q=VVSrW|X}1AtGU7t?`RaY)h-YiZ$aM zILfGsDkyxW+%-wr&uS$}<8B)z<`rtuyVMXlafk5iI>eh#|Id z_jg;-`Z|)m@j^v?+k~(vBbB<`KeBWQsbFDg*ykD{96~+_nU$FuLaN){Q?eC;#+|fZ z+W^tF>!;I*SK1ZE>28(o-qd52;x=QPT27zVZPf3am5eroSj2b*kd3?Lb#5!5yc}E! z^UicJB$H!CkjNrZyOnIn(eDd)D=Q?2Xr*npT}A{Ws36p%wTyq=i`z`11q)6ddMb0( zG{`Ji>M}-|CJK$ljB#cD)m=%}bO>ig&XO|H%Z%_;l)=8D-2o&J%o%|!cLgJWXjw9W zvP+%iIVT#b?F{mi1(%xgKA)&!#u1hwJ@Q*i2IzaDX4+M!H7=B2Aki9ZF|!=NvE!(g zX*S;dij6gLSg-CCEDr8JxSCt4x@4hJMj^H#8?zS6_FBzw_#b*rMq07F-N=!}bGNx3 z@9EFM=d8uA=;I?$!;%MPihrn&n28&d_T!CJ00CaNZ6n<%JBTEGJt&)vwN%*}M#qH| zYZTUauC&ngGj!!xBUyN=$xUHDri-i?qF>Y8Npw9+Q__ytB1kgupk{SMk0~sePzpOU z1j#C)ARUIt9UCo4NYd3HT}wuDt+y!VC6`wNHdXudmtG`^!c=J!-goX;%M!ZgmG`_H z@bY%Y8eCZ$KX)1@-7ADvj`tZ^fB~p8lE4xGU~G?3)YWGJ+F2AT$pBRnWwk5fs+7Kf zj+CQ4q-4dF?vPZ4z=yYw)FX^A1(PL%2E02^go_A_kqy4wZc;c68m$@1^ z%&$!5_VrT4h`X07ArbdwiY@{kECA7@Ba5 z9gWgtR-zeYNhJ73Z=ZgS{y(T>=4$6NFvaw+VHiYY5+%%*L}gVLq_k8Fk7NP#3bnhWA+8sngeZmX0@%Bqj4GBx(xThoi1&DG@Tcd8^$ zb6RnAHpg&{RTx{&Yj8H*c{4R|-B##qP}UokcK~r?qrGOQZp}6RWs*y|R&#F!pKEPa z>gf)Y2upiOr6-lF)&>1fgM%ME9B4R`W9hJW97#I@U6!}5!nDPG?x1aGds;m8-$$fF zOpzi^+CZgB3m0*3y5j1&=pR?DzgAexpTt`g2DUT>mCJNhbZdyhUf3ipg^|q@VO2{O zH^CqZ0=Xjp0D#|0R{&D-RaXt;;~0Mj8R;jf9qDZph15ef*jipV@+BDR-KHf5_MzM$ zU5botCcT}bbr0pgxk>8JeZ@sU;dAm{PHXdLgemT;$ozLx_${ww{L9;}xauFc@h_2; z1u#4-2J!>~0V)7I5DDkMpY21k=h&^ytj_qD*gkd+S-hbjw!iU zb*qOooS3ve4ypD0S=RzBP7xu>(dYi77jE|)P>+qOLFktHy*f#INnh(j15nt61vv+O z4YGJGzSPGDn~rb%pB*z$On0_6)O91>7Q7si+kVxB>f_@1iIXJILy;Vk;26eI8XI3G zHOR)3Y5P)KXGx-cyJk{$w}B>pm?tzBvWJ8?cB7s-tHVbf5T-O5U(%%iz5*;yLP zXM+bus~W7HGb5P+kH%%(tw8Q&a*CmU-cOP81p4WKd`BO(=bZ7$MP7Kfu0v8eZd_EY zOD(b^&3o?RtU7|rD3AsOs_r40*)|fu+bGxx=8qz*j#!SXbf`&1V$l@Ejd+V!Zx~-V z;?410#EKT}+QqB|sVW zU8-TUcrOrUVA(!gR^^RYu_PJ)f@Eo1zfIDmu-*`BAyIb-L}_`nR;z# z{Y}#?j5f55NpUBNC_F!pbsx#0??h2RltjTcu%It+usNa)3m3%^cYSAlPLPEI0ZBWE z-Eo-b4=raoIqN~`bt87lCvM`aYb87-=Zu5>`U=zZY23*pBS+j)rC4}?r*W&MbHZ)> z0xQs>t4B?DL_3b}VwUfJZ9%AN0 zb!Qc0+m0>#fhWdrurpzvJaHd`#Gkt%LMV8J91_(^PW__jEni%RrU^w-vPju-oJ&Z` z`A>x1S5|aG>gTBjDV|)5eB4(6X7=YUYp;63tazQZiZI(!INxJ!?rauUmSbg`We;|E z9CS{kK&qFp@HOHpCmf??JyWM5Q@F;q_bOO}{^xJEzqLIi^%9zg^(-eWB7t5sA(4#a zA1Q2d%fE6UYYG&RWS)}GPkyYxqBgrhFO+WSS1r)rT1^M(>FLT+C%&5mOlF*7xOl%8 z)_BzP*IdVw4lwH+{lXyX+FND`53K zE3HUwZHcWJLMz>;cU~=u@kS16x{j?$B%)>#Q3R26)(YmBwBV&Z+ zt0+>lMrSzEFShP&+qacvpg^J3Qkg{-xi6b}8Yp=2j90%^LK16Jw5MVs25QES{IF-{ z`p5qOESmx2lLg1rW#s1M9Ju_%kiv4Motk$lLT&{>DoBtNRRpgcjAtosWf;P$GI(Bl zUAE?~iUOPI@1@-kBO45{?HOXRCX)VE{&8XL@mr9bOiZXuc}bQa%xNhx#0cy+E7;sg z?Z!zCXfszMv(}E5(o=$>SPZv#N(BWnoaVEFK9uz(i80!C>CaG=HIj-ra21z6;|E8R zM$+`nJ%%)iKXd9Pl1R*%0%;tXBVqfCDvF3ImSBnjEGYE9Q~gJ&oGsIKixW;Q*9Peh z=Iza5v5u!0f2WtI+w~$a0VUYYIF6m%Ynu?Z%=4gh4I>L&(sHvD%M0y?WHG4?lPtiL z@eZX%(5A)N2FV`lhMS|hCMqRK?%d1&0H<8nKWe^Gxk2hRBh15Vdei@X@ z`_m0yuCtm1M8sW*SKKW%MPrXWYk$>cAun)9zUi#@nCHz*X6?xI35;yMh59&jim+ zCNm=mZIDG93~heoRuLeqP~!B;df_hVfk$K&TI2sDxRli z-PcqG)8?E~#+nMQZyj>(BP%O2U)qMqUIpy{&^wgyyx*hM%zn|z-YYIF&P&CBW8d6K zW4i@&%Z>^$MtZZ;ct($D-hXjGG_7C)2RzXBZ{3l&SnA_Upct0o#eO!`$f~Ye{{SeO z_>&@%RktY^_@v56bLTz;uCC{FY+^Q^1-{Z4ZWmxT9513sH_5ubt|Gc=w7k3~P1SMA ze*Mo%=3b%-z>rUQSn{pjn;BW~PxDFsC<5LkOG%~k7)H$+$;j=LMmG_En) zSLva*YkYnh>dld%ZYBqU%$I84BZD6uPA}#xFEwBiL2zsfBDYo0v3wE@p00rxP_|1O z6v4TwsZ;I67sFMX**j`DQ7o%cz^oYJ+EE(3bq7brnX&SiB{A1E(#%zm75=N1!MWkL zMo{ihK^tnpzL>@YeK2MqNz8+Dd?_0%#i7Ms4x^o?aAkwFsR znpSce${?g>BpTdJl{{G$b!s{T)vlhLVn#KUmS4&3d26;d%IU(D>Et?=VQE)}s*#QP z7mvs{(!V+a!PXpjklybhyUM_FOIZL8XoK#Q*uIkM)T2ZL3Q5F(DU|uaNs+sW&Vc0n%vI`CYv*dXq?m!LlDu5I?=t=3107kpKX1*nL?~Lah zbXl!x=ME&jxZ|07;l|tZj)JnpeaZ19YmQ{ebd6ny@5hfc%W62d_75thvJC<{mWHR@ zr6X)3r>Sw~I6GUbja7l4%Xe!eH@9OSmynhkX}5>>=|!*Q!;YbdSs5foNYsl^6r(kI zS_G<)XtP&8fHgIU#v+2wqDogMHNE^xqyx{RXCtuVSa*B19;P0&O{=i{sNbY-Wh zB@pK1MEZfA+p+g5YV+d&Q0XEssGA?kNj5B@!h))sVcr3h0YU)VI zAc%}|IdCU9zE$Ap*VRdh8?ID|a=OLKF`x^gzd7ks@>t=;oW~lGkr|t~yGZ?^JD6la zz?L$loU*Xz-?P$va;L)@pP20sv9p7mW#ituap~ta8@E(`nNk(|sd&1+Jb7x~mRhDH zdB|`v*Rzo8Cwcb`rb!0nW5M%R*j0z8P)RgLRYja8OkJ^VtcD(T$vd}sDw4acI%h1! zn8q}A&aC*ucHce&n{4VV`p#BX7MU_bIF(MxgdMd=C&rC&N()`x^O%G=LS$G#YS`3! zsizn+V>U`> z`T3`FDUp2DQA;#sWR^)9#A=GP35+7ITqMIz*%A`tg5Ehcm3Ro==C3_8(E5=AOrmfx zlT;U+yF(RaJ~P)$-1)Ta0({vqmwxAizW)HYriqMAy?iB9`;i9>3iIy4)zNh|BfZ-V z#nD3}iV&5&D(nu6`k=>34(&oQTVo;x=5vypUT6l;$Bu@6KPE0nF|JQ|LxLodX=PF( znrC@pS3D@RXx_j)c$EZ$)&8WOkJ6nnC#Mo5BDYJ8vD;*D4U5Uwq`}eF=TmN?5}M0& z_U28}enkt-R&*!neiYE+V@#%a@^j{nb8<7pC0JFIMHRGg!eJ%*TZt}PcOrx}BQj8g z;=&=hV<<{CmRzKg`Pe&#%e-}(^?HWIyOd+LnC|u}S_cfDN8PxBHJwy*7!c4G~1Eld}H+ zq-hCzdlu&pSubDe5_*CL?26tK!d2rw*`tG|AY6!_$)1#~fK}}Zfn;TJIRr>ZA8zO3 zk5ly!m@JxhFhFD77oJ<>!tqyB9`(~pO3ay(2;=ct6*eAj zAsVnLw}M@Yam@h4ngDcXr_|J82*zN_f$kX9=Iz~l2ey2@2kK&PnoD-eXI2v_p=~nV zg}>s9GA9h;C-PK^H5-`nNK!|?s%T<05%4vDJiSV%fiIA(vp>10O(gO@aYGpTXPJv4Y%rD0Yh{7D}Yn zA99@5-d>dYnWHF@x~!)*m~N$qCI+ycdX|{YEL+%DiB5S0lj`j9!~ib;03?q?tExe0 zQ|z*rK5Mp%9o2&GAoRVGEoE<>0MC~Kw{>nZbJr{>CR~v3A!LPDdI}+EB1BM+WVv$O zowfe}B!{IP`mOF(fQxe_inBIOvHs#gJPSOI1z%8>jNnKmwuE;6oOeYsZn4a0Il38C&$>buhv1;gHjJZ4l3yJ zjNN02H^KgvZj_^jLB;Ml&*{fGw68oU1ZBanIb~&IUNuhJNESs916U&4Z5yr)CokDEg0|$Zqh60oH0KvnRwE&dbqdc}IE5)0i*w0NEKS0N8C@gR8sevv> zXyNePT8~)2^+)E~mWv)j;6)@^nC%Oa?h8C95;C!F+)HFg#BBh0t68yQJ2|q}p+4(I zQk7R}SBZHWao}$H+J6r8I(npMG;SCPJ+i9eiBa><71amCzCkv#BIM*vZgIqy(`%8HOdW>MP#D=wP&Gvsp_^|u`kzPw1fuhI_LqV_AJ}l@ z=GeH5U7j^{i^W92w;4*Y42%IZpzbc9ncewIo_b~IquChC`DCr<7b^Q3PI$Zcto5Gd`4oConuM8?F`Baa(WQh(D}(q@WD6OenvoxxjdE>O~DuISdA9jtNsX>Ybh zDRIU!qt8f;*iHfUE=J-@W0l2{@;I+~I3j94D_tKS5)6E7Hp_}_k~CUY7j|(w_V+(}&=o9rZa%cGZy!jFp%wG2lq7<>XL<($Q+KB}!g;Feq2dd!B^(2|@*iy+iyf_HR z2FkMUF?pswlS@Zzh{i6;1un|I>26s&uI+2iUWPt9@vN*}E_|PSwZITUGy64BxVxbsVPQH(5)5o z;A-$=9d5tUY%E-j2Thg@@&$?vX6}Eh-c;QqHS!8B+I0Z2C0my08AY7;0~rnOH7dgv zk}0p#Rg;^etjF;!delziZgPl*99KR_*`M7Wm^wp8mE8`w?Hjt{g^9N;Y=nJM2O(NX z1J>U!y7yNGzo#{w%^23uWqHFYPChM(l)A2!>UyXeOd}Rhb2^3~MUTu7neLVD2+aIJ$ZP)V>A-HpjVVVuK7w3bl*Q+;P zqW<1%fn`DV?&EN3+qGB#Y_Glv^#oX`(#A}U zteXxA3u^tiFy-72OEjeuS|xEXD(F4dILbT~cUaFv8cy`=34DN#AU2v`sCA`Z%TO)= zJOf~r_hWi#RJPlgj6iWGl&`k&xs6xv)V*HVl0q@=p4GZ99j*m2&n1s1R*__8O`DvP zynd8ml4K_N%AL*#)A!^%roGuO(fmep-ipFCG7^}&fe?0QdDhEw``TS zi((%+u92n6d+H$6QtnZz?zV-^Qnj|Z>!al4MUui0UKdj);-pAe9i-4C2wCrk8lUcg2BtW`(yz`%U$cDsSt{AN*D(s74=ieT4(XNb4${biFYt5;)8X?CY z;0vxl^m;QzK9q0El?uz@&gB=L-1uIQ`ndNzCfs|+o5Pt{U5Wd1(T*-MJWFe|MY-E| z0JRZko(LpWk3gdKrG;H|Hi2lPz9HE=fg>A0rrZ7Zr+mNFfYWT?Gp9tkeTk;1S&FVoUv7=ZH{lygO?33n2|eEZbAboN@&Wi8BQ6K>Eg zCBtSrMyf!+i+VoB$7aBEO75v%*Ri&E_%p(onzU+%879-BzigB_*Dr=Pie zk+DC6h(pkhUD!;d1-%40+fho%xE4z_w)ykeI@_z5|J@pxA<~0q2MB^tb6k;ar zxcslpJzWU|tuh&2*4!y=dlccjqsN)VVGK@o)u~o1?DBVC0>_X9TDP)2bsb5@0~Seg zsYotWA-fBSw8r9A`5za@b0=vk5t0}0&UW0Z!Nuge=yJo#=@V|R+W>wAZrs+kSg$0D z9)+GMW~8G&%_Dx%B(}A7@x}2|3V9kjV+hD1&Ma)e6mr*fw3TUpo~gAQK(Wm$TClJQ zU`SQwuYeei39Gg=Pdy7bF}VTe?~~h)Z#znU8tBbENljzHxLz${`Am_#Ij_e{O;%3c zF3?%~j9@OngSCnCFXKVUqJ0nuzu|7Cztpq{-Wm$Wie>tEEW)madZlCXuk)S4h(0v76({)0|8Chl`P{OFX6*l1L+{+>nk>Y>0r{ zO3cy{WMC{Z-vBR35tNC^+{N6W^4U?mepcJf9QC;LWOR01qL~8-7+tP-zS_rxdV}!n z2=Q?Atr~4UW0{R7)xM&+jw37zv~bOY&=ies*_mf;-etBoh%BCxMms7+ckhV=F!qq9 z(Q9$f!PLE5t365Tlf4@M0H-ZAlre8~XL4VCxc9{@e2C}M@)en*JE0P~D+@7%X;qbn zEIVAIbGTZHCx<3wl=+Tk zO2-uVqD+U%?a3qREZW z;7Y$@jL^}Bt5al0PH~+U8}!B|>%@z0f{#5SCDCQp6E<9niwh4UCMJ?v+@tIT)DjDn zJDSCZ6c))H3-x0T)4oJ(y~iF(5T_-*r;~y4G9)718QLjsKH941H-6)b=r1vGG#K$e zrb*m7MoXrnD@ekBpvo1Q3~hWOM=+T}^SS_{wwjiNwLL_q2~ul8G|1ZmVdwg#d2v-B zs;lp*sx?cCr&GubhY4pqeL_OTd$Y)?gsQNQVJuV;MFRl8ksqrVx|I;g5p1b=RF%qHUEE7E z)bw>LQ&&@n%WWe-17R6bU(Y{|i2f<13(^cX&wvqR%6u zALFX^L5j^6ZQkm`Ue!IfS57L+=s#Pl7_!uU(l*8|_@?8=>ix=mb*Vp1G|Y`Z3RoC8 zbjyKvN~IB+-DP;3ZRH8`B(jFswAH}Uc9EPDcWh{jcHaUeNh9v8m1W*XtLRGt*Eh%*@ z0NgCSDIr3d0MP(~PQg$vSN9D?jAnLl_+i_LAI$d=#@Npl#iUP0X(8!*2A0GjY|T~Oe6T>jcyO3JnX*s3bc zlA&z@7D=t3j(F<5JvBM6aI^!Li_PU}UuODf*ta#TG?$wx5}tlN?4zRiEV`zPJUCVTK|310itpqg*7VGj&cG%1_=nDgB7357b7hR$v)Q_OQzEcP%XB7L zau+HyQ+5is*U8qOo9ITaW5$qWc_(D)nq5M&eQf%g#ODw;suVH;$2*cE(qv()KLzq`2!6<3?wI36m3gid-pMqv`Aw`7Ly z?5m=Y?sqqb$Ks?!K`wz&Sx1U4(dZDxuW=v^s!!N#SUoTLNg~SJ=6`5^ziqn2P zr<$^qW17AM0Bhl9S;%3+uT@&4Z!B)o0*QM`@jI1l?f`yI+jKv{=DMTQyI~`B#a1Or zroa25XPZooan=5uE*RnB_b54Wnzzd)xEyqu*32@^J~?Ipp5g&}5@_6qRkFa30o)hh z4;+#@&1xe(v7J>)u|}nr&3LQ(g6i+BN2cwD;xdzJlg-(VcGX@uG3TVe%(UL@W?5*g zV7Rg3tcXBcP(3Bp*zrT}s(ncr!@e+~W|Yb-OU<;BUk)w&^xM$uZqY}2 zt}ELESu@tTh@V1J`g~I4ywFT?BoZ8>8!I`*L=vVuC{Ohak(b(qLxIOj^&=R=Y-1Tn zNp6b8i)J>j({NQ%MfZBt>2BUh)s%GNA*NQ_x@B#mxU1S84p3;^#hEngi10CHHr6&{ z?AZwMC3hJZorJ4-2IL#)25Tp5Ov`MGF1^k}IIo^79UB=(VY+tr3U?RHC);&@*fWEu zUptdK`c{k!ELkVxtJ;n-Sj*bg^_UJdDcSd?se7i0FJ*CYQ z7P$Etu|Q=pjp&lh1i3|lW94pFar>;3Kv>3%b#*o+ZI1oXi%1u?H2M3o7mQHi1SYG>Yz@q@wHsBnWpLTZ%E)Upo}8`sXjSf(oH}x61XWDB?9bM zH$$Q42>muzWX;n}mu6%O@nM6{N6H+DNSj@zO34{+3-Oq!c`fTr{-5Y`4O0&uc-0#j z`-t5)Ar{bEY;N(Q3kHKu`*(5R%hArUsD@Tc4I#Z6j0bW{PIX%NFbgE@kjCs z)6-==%79ibw?`DGzdU%%Ty(B_!BG(29GbVo2R&aAG;i929uU{`l*pMdXo% zpaGBueq{!UQ$UkeMT${;{(5WaeI%n9ZWMMj1>*>k^KXWb=gLN=rA&bHl)M$;+-J*& zoEhkVVz9?J%&JyR=%f-J$XWyK0hLInKao^NO@5gO{{T!xstmQyaIQHFm6>%TP-%>$ zgX9M9{qE`;vo-Oau5p{RJ7~p~T>z0u5)#X@=vx{qb-@K}5WMw%k(;9PQ4Ocz-G4k5 zH+9zwcT0yc;3J34w=2tSXO{8RK8)v1)OD=_M0Ab`hP|dJVYle@xu$JK80b=_7PSs> zR8}Qo)G@#ctfQ+z?}wZs&-6Eg@Z-kbEaRw~ez4R-RwS&s4B!!wTdR$$c*BfzPb{&N zq77{ucI^PC6sj$hvl;@)Blxd%>O>{QI78ZwT&`QUkJ|3x1@7CQ82MK;=iCnuRZ_^k z=_1=0-1|T^KoNc*@<;`|K(JJT2TL{Ek+!94O$30AvMDaB6&2&{=c4rC*vMK%`$Ft_ za8mP{&N+JUyFw^lJVLK4xGyXneV$0*@O-!<@GK+RhuiQHDZY69Ps{IE>UK2{sxCC+ zp6sc4Gg$V`trn`jG9Xgn)COP4B#&qL92PWvfyY7m%`<{Ex-?c3!+XvJ9( z-S$DP!4>!0g5vYE_oDELn5pbvE5I2Gr}wCOUSky<_6RFQzBvWs%6 zYwjuy3g-5&1DH?J)|ow>)QnyV@f%Ro1E=vh<@E z)tHotJ7sQJV=9~l;)}k6Wcc>ekqiNi5_0W_vljTCDOpsj#}}K1W)asmI9dYEs#>7?bygS2?8WoXtBBs=(?gAu{cURa2Q3gm#KlFk{ z8{#s8yj@gQxx*;&hpXLdW2nx7sYQ?K`H)eAwKm0mIz{}a;Rh~!xQcfIO$@Lsz&s3* zC_5^Ek)2NB2scFgE6|Rc8A{vQMnDqF>@Gva)hGFDqv{7wPr5RLDMmvmxoP{YU7xCt zj9qjXp9O{}=IqB)U}L<|h`>VXjBNyDknOzfUK9dKn>_VWZYC<&b|kjP+nR8`aq(Rn z4^;~0?Pwz%8oQ{*b1qc7i_{LQS>sU{?Aj8oFk*BPtD6QH`XoQ51+srE2)Lkj3;TFUJ~O z%wMHM1{QHH`A*L6IASobd%RkP>Hwg7Zw9!LQ3tkfivS5)ALBn)HAa37XjmiG`aqcSc_Y_ zOB!vMvYp#rJ*AYXQMK7T?1-OJP=w(vvO8E6&yB5BdEA`SeInNSdS~-tCOV>##vdR) z87@iId=~W6_`WoF5lIeA?IvVXEV0cC1(PYVkhvr%H64%~5Lb{v6@44&NX74_QEbRE zw)on6XK;bT%hGROGg9TGRAq@myJHY(;=lG|J!#*LV>CFCD(#UG1Y*A%(E)0+V#xr3 zeuwfp)p|liTVlnNvBZF`?0~i6tT^2DkM&cJ)oLlX60kkCpgE0s^V2U*(_>JxY*udA zCNeK?0*Ub_y3NT0fG>6a4RlGDS4VAltNEm_4u2`qxq6uCvZ)s$v9#e#{MJg($ zu`=WbU22 z1LBoGKQ~PkMHN%|UC+L#KT%Ep$K)#8iK?RT4ezVY$GDyRm_cGm2GqLHYBbfWn_#eNC9bihTHD5SG0{+iFv zKi@r9sXrEEYjP5-xi8xI;=2CsoMmm?k-1~8KWx2nMGfpKuYk7P*H)-l+@pB~5MBc% z9&_;5L!l~aJ*sx*qru5V(P?+h(ba||tOQJz++qW8!jx^W1<+Qo3BSkkI@UrYQj+_V zF}An@Rn7jhjxgd5+c#}k4KHhzsDh5`_q3x2A%tl=#T?AaR8ej$o&NR@{8o^g^lY2z z<~bUz!6b~SZkv_hYQEaM^6|!X9kE!W-9$|O`}aIPUUD6OEV6f%A`}MC2iQmZYXwUEKf$5i^(++3X#S#8KM zGme*>Xp#LdTkT=*kS`U9t4E~H7@A1T=EmphQYvwhk9A78sa0KFq`c$fsL4ptTccA5 z(U1P2YJ07;Un9YA(;@*KKXNj5DKxuJ8(FCE0Q*4P4GaY;Xd;-a4r`LV?8#o;9i!?sBVSG1B$npOiIT!r)QiUr`<4S{ zVYIRanZ}lefdu0@OqIoZ@zMGkm}!wCZaKSsmc(<# ze^*PNk>DYjS~UQ9Ga{e`=rcKf4=e|Vy|e&7o|AgLIK%2PjwE3%Mn~=oZ!Oh+I?(z} zS=2$MQjS-aKdMd+2Fm{cj+YwtpOFisA;U!!D8T;!Y!OPE%O=CMnYSj|<$wy!L4j4J z>GgE>#w?^r?HN<1P2^)>wN2J}i+9s)`ck<|3paaNoR7D_d zV$1tZh+60oKyk{gLSIr)k!)oc$eh<0#ir~A7|RGhUrR8_aZTtP*&)% zv!HE9+=%$%!3gVdbQV;fQlCEQ9vhi2|mMHik>w zHn=nh2cUH3y7Pv1%Jij{j0R%RXC>6Vx_hSvdT^3T;aZR@gtj&1?QooV9))xt>Dr9( zPmaC#vSJTkafO^QTak%Tv^X-yR#0vBy-}|pquDBB6}q!?gu-Aio^WN2}vFiXfq+#+0nqErB~L_)WWeAqWj@2aAPM|5N^+1}Dz zc{fQKthRKw)yR-Z7t4sdz*?)q{5Yhyr$@xJ_r=PZO*bw!Iaso$YD|Ex>_fU4O(>OR z0jGo#ShA5~mijN###@?x=-i0{jD5Ryo1Ov*bRzVF)#^plcj?M35s0k>xd((i@#e0S ze`tDQvqdQij3c z64rRD;-$4236BY0-fNr5SLNh++i4LwKV=XvliNQpT=o<9c@oEQ6ccH>_v(~#N3-Yy z&sIjIE!%O$EYQVb-wXc$rx@zC=(O7#+{k=>^^>0mxOEP2ipT!|B6bi++Mu1oietRj zBIsY_1J#j^-1dWMDM?TN0MYYVfto&PSxQV>IN?Am7~L!9C;pY{ry)<=z_%o+HCsu( z2j_rx@O^*f%z0G`Hulr*Sa&D2+WCBST9Jg86xC0ft8S%K*ws;X^&3mgT!|xOAg0CK zrM%I>Z$OJTwLacG`#o%REuF7pZ@&@y|F{bb|{9JP6&U%ERw>GrY%vu|4F~Y6W zUTf#B=2*L1(fLxPm{1!*6ba($g0c0%2i=QwnBUs&%!bX?<+qI4Zw_wp*P|naODu>n zy263V^6;2Cr_E&4F?00iursl8G1Q|E+j*mr5>O58cx5rpul=s0f_m)SA-(fk7)z|>bE8zUzZ9!!jNSrS3{Gl+WK-e=^%{}e^`jyK8YZ3g zIH^Y%FFPw=L|gkivLz9(b@q&5f7)5pJJmSGuclD4T+xbQa)6w^24 zZRq_-Y30+G{YsVMoO6yJkZ&G3wjWj0VY{^8tX5RrMQ1m7=cxK#DakP8%O2K?X$a!G zFDivoUQ2Em?&O`sqZuoyzy68&7RxK%o_RxugYEKqQg5n}J;o>pc`5BxZe1oU2S@wq*4uKI0>F3seSBamCfWX#Fm%bxl;%Wgnv$#GN%(@m1#HOVZCx%+4BXB?pf0ki_go)^bXdS?Bs?o6ZwE5>DQ z#b0&em!6+`Z&+@OZ|wt4Dk~DZwxEU8-yBCb)?>iZwLgo^scG>-@?o>Xorhwkn+{?g zU9qLq(KwbAAKb4Ujpq8Z)Vf-RjI8>UMnKh7Jfp$k|DpmG2p>Sv3HcIRj{^BH-&O2PBc z928Rq@<&%&{cn8}-t#f-sw;87x1VAE_=y8=2aLv5f*Bc7RhEjcwP zG{z+(QUSJBv`23osmGqNp1sSbcz)KCll3i}<2kBMdeJ%tpO23sv}(jlut;0TY>)#J zt=*SUqDc~ka5x6u=xN3i-xS+pR<Bs&$J%ruEAGpRD7h#90Kc5^Mf9g$c}T+> zQ|*s-(}GcP?nuYCR=u6d4=Q*GOJF}6Z}^}|yT4pl9a`=h+3fN%F`c`3J;eEW4ufU- zNS^qm4{N)Bd#l1**K$lzL>TU2;((2zk0rNzB#(S@Jb%dRrs#p~&)S!ZQxy9cJ-zyk zg;aC+vOddA9>tIS-FcRGbSSi?2bgLqwfIUP4k<%Wre+_=>fvCr3_Z4Sk0wVp-COwQ zp=R5e0JkejqaIqTz*1j6I{7D(jnShPq8xxo4Z@N6U7#L6o)7cY(y|T&oK~4gwmxDi zsB+yrmDMXdBYSwGnMyaq8=@gsPCo}hpDEO%(e!OcIh42b{2a`oe2E?yUP#c_Cwz*r vC0&*re=(Ip5vDQRsf1RTkv)T(DEF%B8lx!7Yfpso%ZB9VHV<|Kj(Y#u8b&R{ literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/85.jpg b/examples/data/Skin_Cancer_Dataset/benign/85.jpg new file mode 100644 index 0000000000000000000000000000000000000000..63ae63c0beadead77d855654ef0247d94c2fc77b GIT binary patch literal 65229 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�q^bIO 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/86.jpg b/examples/data/Skin_Cancer_Dataset/benign/86.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3af6247a0489e17b0e22227dc72f4aac0c54432f GIT binary patch literal 66978 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%0DjozMsiOkX_aKHX%d8sFz3ilOZ=nY$&Br& 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�|;w!%= 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 Cvzv(k literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/87.jpg b/examples/data/Skin_Cancer_Dataset/benign/87.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff94ca90bf34cf190d4b0268a60145c025065258 GIT binary patch literal 60094 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 Er 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 Ru5cHP!Cuv?et#W*|JiL+=jH$a literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/88.jpg b/examples/data/Skin_Cancer_Dataset/benign/88.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06295087696da064f1f29a9097d40bd25d96f2e2 GIT binary patch literal 56634 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 OQYC5gYNOm+eE-?XUD0j; literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/89.jpg b/examples/data/Skin_Cancer_Dataset/benign/89.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1b55e2773f945c8d595a6d5f1a046333f6da3bd GIT binary patch literal 44517 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/9.jpg b/examples/data/Skin_Cancer_Dataset/benign/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87f6972e2e21ca66e7f30f7a8462173bafb1b0d5 GIT binary patch literal 53012 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
DD#wM1!kqpAv= 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
I9o-t!_i{z11?8R9?Mo_dpK@6E*)rOQ9(-(Ae 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/91.jpg b/examples/data/Skin_Cancer_Dataset/benign/91.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b88796432d3dfa03ae92ef78b7efc9667651576b GIT binary patch literal 55547 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/92.jpg b/examples/data/Skin_Cancer_Dataset/benign/92.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8106900bef40db962e0424d1475a1fbe8e8e40a GIT binary patch literal 50555 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

L8+u>ew%Ij~D{K!1SGq$eFRD4SUVyjsv_ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/93.jpg b/examples/data/Skin_Cancer_Dataset/benign/93.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a90dd22f6b6d4a94ed97611dbe911d2cc87c014 GIT binary patch literal 65118 zcmbrF)-m0Z9==SQG(K zkPf~5-SHRPbFTB?T<4nCJe+yYobz|}?-oF#udSyIfIuKX_um5kt^*qXbNc_X|AG8} z0shDN?+`#s0&D?W_#j#Uj~0Ya3;H_>umb=d{{LnJ|JMkK@Ck_VKmZBpziVk403X1^ z0}=e&`1l0)AOM7iPe4mZM-MP?^APb$NrNFW>Wpe;#C#g&vKEd`|9sd$!2cnF{vQ&b zfDjKv1Q7oZ@&3Qy{~P#!n0Q3^|A@47+)@AmJ&&}S86mH_BSV0Uxf4Vq7M)Eb8yHvK zW-&bf_ai{@FFGDAJ}saM{CWLUL4NcHI`d1oFb?X{&Ks8ReBkMHK7Vy31Ybzv3g(Uc zJ+0K^1dFwwL)-7IOK$)$Bb@Gl+|!L1!`^XeYPRVog#I+@Z-{!~5q)j_wM4^?p_Y^0 z+nZzUrky{-MPd4!kX6cdlbE^heev~qTrzu-Tpq0Ky{z1cJc))G+he+7Iwjz%GDTxm z;k1Nnh>y+jmo7oMwI+gf2mFr{Fww$QANLH`^1|2q5XLHWgeZUUYC6A}4$QB=sALD{ z87r<5xKuEM)NSxG)xw98-|kNsa)-llaAs*K|FWbKd7it{6eZlwpVVsg6%l#wJbn>! zA}_JWPOOh--v6SuJoMoF(SD-+XR{V!K2mk z8ka4b(LX++bj@?@M16TdHC)6KTTCp%5{aYDBf=Zsa(T8E9(6h3NztjtM$RU+>);shY z=J|wFbDE)S5485?K3DkQP<@`UjK{To*nt%tdw-a7>ghQy+{41Vw!v>CJ-MP4!p!gI1Rq! znVNsKSX6AhpYef0lKkn+XoG(_NzWdPgyCUAZEA}f)Er~3)vb&NYJ4^)uV>3;A5@Pi zt5)AUozHo!{#03b$LgfF{a86zHvAr+)bUAEx}^8&Y92l}a^*-^x%?@9jnly#Qpc%L zCM)YR0Sa?qIh{wRQ`?1asePbHKUmCFDUHUum;#@F+-*PG2|aN1p>>W^)VWQ)+CF4N zt)RI@^G)CLov28lr6ZFn0kG3nId=!_9CkFMvukSp2->HHH*|AxZuu8zW2UvYzkA@w zbq@{^(LE+Ykd6}AGU(UIzfPj+qhK3tB_c=H2u^b2~#(V!eKS0g~DT}#QHW6R$Y z&sy++`TZlrEYWxYuX5NT$gk>`*aut{warf4#Nqf*0j6s~cKR*h4R+j7(zsFOYcs{bkyVuqhdpXmm@_OCkB%=0wj` z%KWu;l39)}$1^o`k_Si59916Txi{GjaFuB<{-39x3B$rddYz9v`Uz!WasLgnz zklPsiXRzjk!jHfwaAkGbfXj<&%MZNjMV~4wjQd{mR_q7f3QM(0;ykm)5wu{hU03&A zd)Mbh{>si20V!Cli|0n>v{I}Nn$4@NX}wqCI-*aesP`?TpDU%lF zcdxTRz9ihv{|n?6r`vT~Y;#UjQxpx#4@*^+)H1D?&A~rM z$w7x6V6IdbNZuUpp7DQqSkG$teu6_o4R27x`>m&{W{Z+qmw)VZDU#J2WQ!p;uz3-< zHH{A58;HYa`?S;ZbGH*38ilrDhSWh*t+oonoL=YtQ^`Nt7x3YZTPd=QIU6_HIg#9x zxIx1GmlhpjgF9Z)zGVT%dR1rmjLbA1Y0aRGCl3Hq%wHfSQI`aQ@<~Hb?v%egCiu)n zi!ssS&gK4^?gOe;6xR9_Za}AX@0(XJ?z*Sp+&^g{4|b`@^i7%f`zj(%580%QsRmH_FwLOLx6na&;q?79!oMaPKMNQx% zN4=?6tyPsA^6Pwa{hJHksK5w&8wj)*Ti`mmWj0kj=@{ab!U^@bZGKN1%p;X{KTu2l zD1XtO^DnT)y1$_O^Z8eBBlj~^>W*Uu&*q^LO>RMcJ#)@+Ywp8|Hdc}xshnn)bTxSr zuD!T~>zt|u(>1@EP=XQ0KoGCK2JyRLE`RKpPw_p+H|6RF^@HEm^Fm9^KRt8{7onp~#%%X!BcCyDKpmNAgz&_hXW z$rF703xKTPgGdUV+t2K`}tXKJ9Dn4{zRjS*0)%62smW1Tj|(;k^cM?>Cpb(*pE6oTI@< z&_bICS{r7=B6*?$Ng%u&hc=rsex5uy=P1eqixq$6WvnQ^_-cxZ(dG5{=u6U6t>3Ff6uL7@wB9z_l;>#`Vy;_`(~j8 zJg431aOzE1qYNyuhebW0dcM^Mbgs7F;<}m#CwZmVYS$;YvE;&pQr)9OiS9U84QMw! zRA9b;&PRoTU_k5>aJf?AzzyaUp$d(a)*lyhUPMy51bZQ5B@86Iv@k;{uQgjU=btrY zR-Ug;#JYK;4+CM4@A2k2O{{EY#D{m6pZO>r!28-4`L)&JWr!2tuIa`P&GQDzUAMSi2P0Vv&Omk-}-f3uRU@FoD$8VB)`m674$LBUFJ|FoFLV!b8 zVtxQt8VY({>u9O1pZndc-6ffzUw)OhsplxkS z`X^s--52o-saK3K&uDB#-n_KUy>@ZoGfOCT^O2{&Yd`Qvlj8DprcJ^q*GN=ZKtdiW zBm&j%CXB+QBxD1x(R6quG9;e_{q68a6OBGFvbcS#4|_iD?DB|MdU#T@*raF9tV@4> zDa%GVYlMGd;tZfsk-lp*lj^D&&F@PlTgj|-p&I91jnbQAm;R-tFGaD()b44-LIG%t z4kNGZsj(G`UOR8@A7AX8_y}it1pcBmZ|Kptw)sz=%Q9GfPEK9_4P_ueyzL%RyFi#Z zb@|h=5ofthiCW2*?`|IGTpak;?)h9gyB?!HGip=EqKhGD!$=Pmi&+1(?WLaj{eX2q zW~1%6FM12COM?|{_s^g^zFJRWSc~4HnLZG~gZP29BdeVnjk)p(a?~u-VMwAwAS7b+ zFHkc<+(VG9rq&!A_6M;BM)!bWn!9cDvXkx{`1($6sX%k{xRL(r44ceFk`Rk?l*rj* ztcmH6_1l3RifRlKcLg!oXgn`h5ZT^5WW)E-g;_ z2biv1l>^d(%rTGkNj!PyM7m&j$qtnjUdhcRnSvFmsYGB7oA-l>D_oc6QuE5Zi3DzexI^Y*mB~*Mg$`aAIun(>3B=n0Zj+f0UfBbr9aWNWKz(SKWm-a^5 zE4XWzXB(NWu#Ghxb<-RlWo#L_yya)>-*f3M6O3FkxJRhKzW^3LLLJ$9!`F>(FCO@* z=JojEo_W9UWnOA@lp|T#qi$hX(Xydk9ayINI%mI8m?7>sUFXO1G}FsO#JyN}8J)af zywwNx7T*%P58735E$5KKHES}Tg(Ux0dASK#4E?T-l0yDd72c@i=X%XAIhH5K^9QO z-m%814P-Jezuz+FsaFv`k?ORqGL_$~ zcy}dlRQht<_M`6H_GU{Q9UM7FXo<8vM4HTjovw>>CPO9~8!TlljDM&}IxzqnDfCx{eF#>@b~Su69hS5W15r$k{(5O{_@4$!CU?H%1!ZwMlVp1Mrw@bTIgis%|xX#TTMNBn|iY5@l=ugsX82O>nd8`oqh*8#^TM?J!$&AWD~*7)n3X7dK%5i`A?}m zlP#BSG-8yMz-dwMMXwl7fHF`OY;fCu(L6Q4gS&`BAHmB*&>Y3>OtN#opZfaP8@)Z| z1*l)1W3}ltW>cn&qd!(?&}g)+*feDNhzh$oUz@6`o>8Z^6ik$6DlZZ4pNVw)I>9a-j5_LtpJVcG6;Q9+NTIRME%Y%~jn0Q?V$`4i` z#QVnsAfoST>wkd^rJ^Vq?NOO}?5>|B-_w;f(Mal)N7k!*u-}>|V^_?xZHt1|nhGy+ zMQ49tDZu=v+(nCYwP0!l^lZqn5S&i3sxa3%R9biD28WU^@1d(+Af>u4IZEa-2WqfLau8Ak1ozGOllEk^8mvx}9P=}XF+tq-vOp@U^ zNsbgJUd%mMf4666%T1OaW1wqaryeIoKrlesR)Y~tEq93XjuxzULSw*TY*^7~J(BX~ z;Ry~K$FD&Vq7tw3954BdtT)T(Jj>{=TH{(l()UnOHtE8Z{=5}MVKxpBoKxjl2&MN1FW;;*1%L~n$e4b~m z;u+rzGUrbV(~w@6tAk`o_l(AYrg<&t{{lQ72!C-98}jqG%a#7ScO88?nvIkD ztZfxzkIs2gNd#v|Sh?X51cIEjx2RS~u0mmh@%0A;?u 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/95.jpg b/examples/data/Skin_Cancer_Dataset/benign/95.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bc0fed2b8590c8bf9f9448455aa5a7261a9dc6c GIT binary patch literal 58624 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 t1=Bv$Sx(^3*Om!a-SldoCgp@AOOKK< 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 -J%1-8vilcL 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�i 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/98.jpg b/examples/data/Skin_Cancer_Dataset/benign/98.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2edecb7630556dc4f1ef3fc6f763a9f246344284 GIT binary patch literal 73011 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/benign/99.jpg b/examples/data/Skin_Cancer_Dataset/benign/99.jpg new file mode 100644 index 0000000000000000000000000000000000000000..438b3cb9c5e3a42f52351eb4993ddb2eec1f0fe1 GIT binary patch literal 57256 zcmbrkg-=}H7w$c{Lvb%MxD|)Nb#NJAaJS+HbzZ0O7vS5%20az6=$su;aO1{xpKm&^O zQW5)>VLxo;r31ql|BSNdEdU|Lf2E`tqyTxqmvtVb9u|X_7Q13PE~E=UH6fHCIlO+m z$DCSHveK_XSSC$qzT4K;4)%HTPu^4^lOxf@?Q(ztqJZ`K%54uv3r5}s$qI0GF?`rb zomQqY9q_-_kpIv%%!F1%S$8xRjlR@7I(t=ctQ%WTZ>AO1oO8<_FLIsUbH zlX7jXv6xu_nlPkUgSqB4&x3R$eU#FE#s~7^9sZN7XlJ1Od`tMt(lb|GsRu9ZY39t}&H=Z*C8s*@EDyohiN z&>!X%A*buMkAR2eFwN|3(+mHM2xcb4$OsLTBHO4Rpv7l*z~dyzgfClTpkSiMB90nk znzi8^mjX?lT+Rc0J<@|eYqh^K@M6oP^}Y~9!#I93_-DvgSffTX=TZbr9h5qlD@pkC z?mZ2@J_a8d#fR2nNy`nx62#lU_z`LTKNt2{=U9e1Z(6z~jVtr@1#%u*{a)@_o>rKo z-ezB=kEz5bl+z$Q4Rq|k;mh&ipHB3M(rn|Yi&xGj@8sP$nwRdk*7m^ao6IUr9hrZc z+U{e&YIQ91jgbo;DY;oHvP?&yT&9D77X;Kmy%pspjYr>1hVmw9j~16dX9wn2pZ~DZh+YD$F2;w#n5R9g}_=xs0^3c4rg@`t8C3Rj2bQexD`}7MEF94nMTPfksaZz;{r)H> zW-IL$>}Bv#(w)X!5W`yLm>-m*@QvAISuMDn*|Akvgat@vw<-wvcd$W-k$K_xy>3?> zm+BOL*xa!hbNPpD3n<$4yKEQU!aO?3la0u(GgfJGs|fe*jVZ4-9x41O$)z~ViT52W z$!M&3-W#c@JK8&RlrTr{F3*6qTj@Hh3#HfU%I2Cr>%Go2<7@POTmNXIrn6n5FF--Q zTwXM|mv#N+tIJ6e$d&sshHIIAmkf+ra`%fSJEAZ>4Ja)8_eZf1S;JqxJ2M*)1yBAk zud3N|R=olj6Fot4O*lGj_NC+p@*6^!uMB!Lf1(TQsXjVYx~KH5-`@ow=y(Qp>v9s2 z!U-$0dhfaSZiZEpgf~ZhV{oNH^NY3ujl6VPQ_LKZI}XWxo3P=LP+@q0*jag1$>q6b z9U+Vsl6{f(=7(mhg#I(gW#65gZ59QK|sZXR8OC-;>|hAd%9%Db7=Z9?(! zO_?>)9OdbBgQ0QAu<_lGFo>T2N`AW6+4-p}O6zYgC!1ESegEXR`O^`~D2SfYDH(<1 z9Hbf}6`vZGB1YT&X?c+$#@r1R`bRJLtn9sUB{kO=C5BA)SG9h?O27eEJO7r46Di2k ziB;YRdFeA;+wFzgol$+#Aky@?Kf51VLeg>eCxe1=;gwj zEoY4!+9p!IIKwa8uCK4O9U7t}c1CL2D5v>6N@<0U#g3F~xF(E^QE>+AWWl+k%t%y^ zmrpXb;!7&$WZE!r{mIw{S*Hw1moX9bR5^(=v}~GYsJ?%Z1}#X^nCTYKe%Goi z-1?ZwDsxdUAY-l7)7UDjq^lI8aA?|U8F(?%cinaDUM(bQWU}2a$QDxL`OC%hF_JUo zYb^kWAS*-E-Vbl1(03|A;3K1_dV`uiS;zPUJIrrdE8m(N5r-1U$)94cs^J$^aiXOr z>7}YIK<4YFT6|+cWa%$`$dvr5Jk_wuEn5Po3dvHQP%N_6$}4-K&|{pc!&<5 zJ_VCA_NDBy_4$6%+!}eM*Hc_n#84Dj7SCGf}<~ zD7@=tj2NFy+4f(YkhH(9toi}7QtsWVNXVOWcm~+X4l|^EL(LXaNp9j7E8+|KkeDpL z#}ljp@p<+TAEuV>lAol1x?_{_$77{8fMs0S5ETBN2qkeVuK8+jW}*Qk;HVo~+Nd$1 znQU$K7)^<0>Vvt?WnHlzTXnaJF`z?n@~<8Pnr?r2Mt8hdb9t{fxv)?C#vN_a0L2Z- zcY+#g#u@n-Wm)-*o4!sktdV&JynR4POm!>$NF{1ds>MaPzLYs?&=CWYLi@Htejlz( zN=_D+8;-RJbLFm|s;`H);MXE0k5WRW*O{&!zV>b^P+8=yzBkhwS}725y_p0LFcm_X zn}+&s;O()DIE@A45JMh;5m60h$SiffmC;+QtdAm54cV4(ab$6odn@s^)oPYK+)$Z* zf$%rqq;Wdz;G{F^6$adCuJLccx?7{`=VA?Dky%;#%s06DJn|zMp0N@G`A`4!>#EWg z2j8yWH`k|yOhV&L-<_gVjWN0z zrUl$AAD7QS3K--oyv3=Q%1`U-I$tT8Z!<|s{Hyy732tpzyjs!{N-5rg|4x~*#dGp| z%ktTH=nf=9`rDBN(LgJ-n%*f9WN%<^wB6H0b=)I`T|O0-FeQAryglBYH~QcVFVQ@M&q3Nr`Z`$_r98Q} zrxj)ZUeN%a3yRatO^jd3-aW$4lhTP+1C6k?7TW;--OhXG`Sp{!4}C{b2Ymqx8MEy4**v1E zS3P`rJHgL@jBmuZADJG=IREY8rf)rBe6u5=W~M(_2Wdss_(sDh78egmaGt#{MWJK>ReC!(K-;~qcjK|4C+Iq3HPto z?wt0BGK8|I%yQ6#%z6-@2YNU2CGj6ex@>{tTXlBaG6(+N3@@d$^Rw7`Jm^W7^@*Wt z+dRh(+dO|`O!oi1RZ4VB#tCJ2JpHow1$Ax07;0WiVFn2+KKvMB!Ba0scxN1;b%AQ! zzc@Gk5>EXnYhYE+4;QxdyrwNpO^vG=Yx94_l7VD%3O4ZRRxhCUcA?K`b-wE5uL-&j za9QYZCu+7DV&P{4i&?Xp@@C@bhXr*3FO!{!<}nkoJn1w^iX?4J4?wnaO1UTo=?ZoTAonlfROS&&vpo5dSyNdu0TQb%7QDlC~5S<;w; z&)%t9^=Ho1UDBTwT{AobGKVH`-N!^8-|31QLSz#+l8{E`Qqq9qYFj+ZA~?HI5FK(pqCz8=UiYZx-XXn{Ias@X@$30_rJvO zCK?6S__kR(MoFx~{97(xdAF}WN&iXRp%8^-4TdP|1qtn4{Nq?Boo0M}jpTLac9?c? zM5s@1`WUSy#FdHhi+Hi%S$d(;JhBh7c;{gu-$I|bb*296ttvdcO++ccR>#}nZD2I^ zIt7fn>vGS$*QA@@f9Ja~@l{2BPRAGLi~Jf-v22zyO48G$ez?1S>yRlcuNnuNf`Sto z-a@GVQlVJDa8_wYM150NO2X%0$N=cHr!r>%p5iHMqtkRgmA1B9Rr9ZsvC%Y6c7o-A zZy^*&ygbd_W_}`zdKr#;65}Zst&jG%L$MSE`l*(~55V`x6?vo~s36 z)9N#(4it~kFxpKY{&eX2O;@e*j!rl^rL|wyMzW-Ptkb_e#oyAf#6D=Z?9t~kgr6Fp zV4l~~uE0IQU{$2u#M_Lv$bchcf+MMnPt*YnHlB<7Mn~6M&Uns&sx<|4i%Lv#@RBI6 ze_CB$-mR&sA>*4cB`UA4;Say!)ukIKaVvUn>%wT9H%b@BmZM1Lh;5)@9DoDjd8`96 zAYOV2@@IuFUzIFtLaDkLM|ou#HKS?B~8 zh{e&ceS8z9_g@IXZ#&8powE7IJhm7rjQy3KULQ3O@z|eN+)HP>RE}>)JuL8z+>Yv| zkG3t}@abnz$kDDi*#TcM4cb0T(JIFX8f0yNcfUs^KU}DtCe34{yDs?93P(~M!J_JX zPt^)%(NAV>1?a|1^f)RQuUaJKR3?TCK#)TB)TM`Swo#=S-Beq?wl@gu%ggR>8c`$2 zT?J9`vxHW~=s;!Zw3ij(OryLBaHDL|!hERvg zJPcc4!31~-4_(g8Pp5iCyVOGi99RF_xL$jWtiF&j?2qFQJxI>wyt&F;CwlWMQpv;W z(*%U)(dQQ*a_;lou$wvs5W&Q?rp=Q)xNK=%d;z;HsrXA?{+?_0SDyZ#cd=L|Dd%Nw zuJ?X!-mF`+^R;SF#Bg3s>(CX7Tj(!<+4@QxTE z!=_vD3@eWZ6u#b%Z%_c`;zJ_j}RlnuVWN1fKb^*b;JQPWHf z4dW1s%u*@GrU^cr6=!#!*8#h|P?r@>o4{0Ik3NF=*HyIpi7fLe5hoKzoL+A})dD?h zUHe{qm&uq>&$U7W=YxN?GCA>e(c&a*rZUnLp%Q65nT7jiZVIM5j2*~?el7nQle8~a z+@4>Lu1g8Iax#oC6Ki+4I5kh;OV&;v6%WKORpX?mQlf$X)ZC+$i zFj(|RPy7a%yu4{ft;nBbl{}6=b5*qjD=5u$4jI3Uv1t&4-f@SuOr-^3u}fluh}(kl zDcQfQ_^lIF&N-IVE4(f(*iqT?RF+3(pY;e))Y$^rivxB>IK+ zjBxhVX`_I5C)fKXMwQZT24|BlE?!Z1T2^?jo#mdfgJpRB$HGjyMn7CAKKj0GiN|qC z#;9dB0A_4lpnuTcWmLQ?m05qmN5?nMt8yMRSCDig4-P<-mb9FKlFx?6iy1Wxf(11_S9)m&{tm~j4UmWB_8V%MJAt|Z zh*Pigx$`uZlaPvUq77|hemT-DPy4On$(0ZYFts6_@O#1!fwuo$14CBFN|ooF&2hpH zSnTo)SXzEvT^{F|oI_U0Y5~iYp;=tMQ?Ow7u6zdQ7Z0HReCO-!5h zZzbvnR`u|RjYJb*X-3QN(9GbNeJP`N9=lk{Z{eB$ZE@}O^S?nzR-}B^1gxJm*h@IJ zXMLH-J0a1!Vl*XMBpZ|x;O$Y>Gzv8L%35drjwY3qPN~VYK%+&_jE_zEM(C$sgmrpV znH#p~UBF#s(g5D9mRHrr6YO_Xu%o^O4Ji6+_m zf!!T7LvOy~7gcLfSjnU_R=;aVQzoE(eY;cr>$6>hVvCyIYb%^Y{GK`-Qt>a(y7635 zLqKXh!%%c68D0H@y{=rH8S`T@N$AoqosJTrNS*%%8(=Ln;YjlrSH-lJ>)=t*q^Mlt z_e9B)J8Oa&40 z?^L^$+9?Ej85b^tEH$scgx-qD$|Sm;yXPC`x+75s7YnaeM?EsCRR;&8+Q08U1Gb-* zG>EKXet31w^11OC=Tu5$gBDs9<{4GANjvCAx;@~;p=N9Fb+>e-Ij@N@aM6ZWbI57W z`#+xQ&MJAW7Y@3azJEKZG44$p9uTBdxqw}L3)zy_r zudqS&8=x-MNpQCw`nWSB@C=c5Ixz?Z2Hs;CwMx7(05A{09Xb)Y1#z1D^ zM6ozg`G-prqB^xg>^qcLtQLKlHg;=yWM0%$!<#2EDPQUNvHNtLxgbce$Rm*h^*S!w zqq}2;#gq*hIQ{!oEcUFxQ0$!B7$KbS$TBwT1T?=%O1E=qeOO!fR&4YczzALDWYs4A zv}H}68&KGJWrG#a8B&t~E4M@gvY43WGJo$C;$2KZBP0f3wv1#bFy|DWc-Re;|1D5> z<F&)pH=`y&BTWA$vklN8LZ3l`N~MYYEJgq_;)y?f%gnh-pu;TV0%oG zeMefQf61SE(CHp+X6iKm3>Y+WU~}EtryD#Ra8G?(+_SdxIjIK+1H#b7MbD6?)Z+2y z48-P}K3RKKe)f%7191bJsBxFWGE>TB@ZXJ@#|`5_uG{3^ge2YvY? z5E?7Jpb~XiWkZ7-5vwHZ2Lf@%5MxK`M@x?CB+gH_IB|;k`curQ{g}VAdZjE~_?ulJ zEeNx<(=W5IFP<|Er4xPDD5_9|3iKIe{y z1G6u;=kTyz{@(C2ojEp=eavc1*R;FO1id)8k+|R}%V3_B4Dl6}8YS3ur0+vqWlz9U z=-}mtH&~6BO|rnlB4A^sQf0!~D-JFn%PHxl6^2JG3)h?Y1Rq@oe!A-Xux|au{Cw-c zJICGg^LvGg?%}$OxLkA1E*sNt)eI!3m1#_~!Ei4On3~7!*torr*O36fiq-=AnONbg z>K23Z7EqQ`Dl_DUI&-E=%S^iW8L-3J@=J^_FsygHLEJ2VEeHmMW~@V5PEu#}byZbV z?6imdKN&!(=N#}Hi!V22{yLpDQ(9JO^sl#XHLBg9Eug~U(f|9d#?yw)v$L@)kUv{+ zhy?>vnu#qwq4a1Z&(>?=kX4e{gat7&n$~W}o5If1Zsk69ZQK zk=TCdx#cV%4HMGy)}b{mkQ2vglrbwtVUZ2pCzMrFf1A>DiCMASM7}o{G>{FiqE!@|=R89A}65-Lm(%y@yo8hhHR#g8IarCjbtbB2TGO*mgw7_DV zNclAGQ&!ovBqGVaUlY$mT40wTC&BaZvce3E3v5z03T()Q?BJ8#SXxI;4PPY%Daq}e zG5yKcKXT>Cc@>~)O+Xz#DXR>D@QboBW7ATkF~UPfG(Tc*zbsXp0$?$dM1RgfX#E1J z!TM)kQ)mAPmwZB6ZnE08WAkHc+KAyeulD-i9Mg%YC%4rnH(`4!?b?()?JJIQ)zw9;AW&V) z%4$-6j{zs)q3c^+m=-O=JLs;gQPD?O?PUSh=lLM`(l6B<^GA9AZKQnsH1{(gX+X?7 zNxGhw$diC;6~|?=O(iQrrGK77zrjZDX*_wi z;))h*GGk13wIboHBRjIB!AJ71w7P7?;f9T`c@@03+nj?jeM}|@dy{rcmRw4!GR)r) zS;(jHTF$HBh|}n<9q(eBN;+Xt=)GeTDXGsh03`Bh;UW8L-J{g)7C6n?@d7msV13nk zY5F;d)5{N-^hi`Xn}HrelPxLh($tYd{u0$m>KpxX<;eHy^w0cQdk%k3j|aEIU^to2 z0x;NtA-Aio=W9Hab$Mly6pp8o;Ao&#Ru^Js0_9j%Fjs!wab;r4<=JhYx zFTs~D=*@2Ax!C>*lq0fZjI8;Nd7ku)J&%mUT6ApA!H`WFe6$aqT%;IKtFYrf*Hx=p zE2+%Rvf$^QL7h}Q$QZr5*gc{}jk>TSVU+|QlVVH@UqB2WTYXyr1kD(=Mbv(1V0FRYWOa@on4b=O3q1h}Z> zrnqufobOm+o-fry;w`+AF6|BM(4hp|Alje|89JKr$)%Omv$zF2rFYsG8Mu-5!nzcl zPj|s{@dY|+F8&E!lSEGYtq8+1;dD_rQgT6pzIL=|Gm>T0dGD`|#e0#7^kputR*`6y zF^`KnEE)_Jp$S~*Sz+ua*osH=X~KvJU0c#dI427{U?CGimzJ2VHOM^He4~E)J5#Q~L1#%@j4+JUS@^DwhT@r+QeYGn01pB1x9K!+C;KH>U}WTW zqux1gl#xGW9BMYGp{L9u*zG5(o;Xti4M}?~H-l#P3&uRvqjG%8^xXE!}3UZoSc=RvnL?rZx6( z+qk9(sI$GS;XSU7DGOoCYlGvHEob}BCMah?3AF@49^?x`YZ2o0?T*6+#_c?*+hO&r ztZMAV)JXR~YMRo>{DxA}=EJuVH-WU4D{EJqyBnXT)jV83%{OIGWhWMuDvT)UZfE{= z^q`@nVLprg{0z{!BVWmx3mp^XG9{6G+Y?r5N`ckLD%eBV{-Y`JW z__A?JQ^VreAjp2xbMqPSTbOtZ4nsE8apQ0NRUvDMo6i$$^H)^P z8rad1X=zK|ex&$I1CaS7bGxlZKg}q8k2%`vs}in z4lU8B4#*XLvs7`Z6?kGHz(qk@UDE%0_;BW2S(DZ(6~&R=vfvJKPsJ~k1t8uWU*IYj z)m?h+@fRgs#cs$eVpNu;X_1+Uh1SKl)o6Eh)Hmn{HyB3bs!%GtX6Q zrmtU`qH!Eh>fRLRqkSt0S=a^FV>*58Znr;`);!Gm&ll^5emFSq)a2&$m?>oAW&&8v zFcYzdKi#R_$7`AXF!{2OIkS2{3pd$DC(o8`-w~db-zuHr=_qL3;r}8ALQs_xmNKF( zt|W?szew-TEEftLPMoKZOP8EWDgCwy=vCy$av`1y^!ORMKvt?9X$H!QTWt4?`cA@)wi zs;)ydHti&&(&Qle29f9PKCq#oUfNMh*5(Pvju10~zxid4!%0hvfg{UtrmL=&pRHjs zVe*oj7xnjcU=0(y>B>)aYJg9hKXTB_AH`sBZ*`xGaw7C*!!KL^a+@T=ZsYYELopBv zxqxopbU9%%Ui=UxK%voYjUj;swI5nb7v9gZ7Nm8$+x@*OJ%0w^xjJmGqGha#-qmcB zceIOiz-GqhleRZAhvtJ4_IUE_x+2#2erjb^cUT=D&b4pHh0Q^mH$NkI--<(Gvh)?mMwodSH<&MM_pT)*o~3C$|AbmmUHP{fh${Q?2lIX@s_o(98A)I;jvVxJO3LEzO@Y3mm*1%7 z_iV5{{Ve9$_qK8DL_)~?wNZ5B_Vnru2F5U(h)@Xj6@Vf(Cs#j4sV5B=3@?e-)sv=0 zcJS4zgws3N|1y!TBjGKfp#%Db2<~Rg9jlTwFrCl3RTW43xfq2=Tle1A3Cynt*Eb2}us5 z#*3|Og$TSU?Gw;C=4*g0iJ^89yGE8DJW0k3c-?1fxvRyg+Y*z*z%_nYGkrJ3)KXkc zQgi#d<6mh6#}B|T_e!@wL~=;>;KSFjj<|x?1vJ?5-$W^rs=|3St1^u4bnuEkIgyF1 zC?NKKF{ey7?a)nUB0fF?szqeQAN)&eD(WZ zv?jwCpjKnL^2TZ~y*!nH%qGUdVe~)q%?0(EWlPO>-)&f?_+={fOu=rC$dIdUSf0M^nSrIOb#~G#r2OWg0g}x{e$V2 zXUyUv$C!>sJh;HW=n8=7m7l;i!vP_>lr9TTxi>EM>{p*(*0HOvR+$65zB|YzyF3FTjS!$eA0z06yuv-)KZ&unEJs{Ny40_@#oMc6qN@d^=%~1dzWPF0EB&_jdzucl zk9qMAFH^W@V6(!qW=)G@e$OY3_XNVt8Jbo{ybFB+VmVnlbB_C&8M?&&+FgAcl8ZvZ zbgdKt1?cB1jtO>r7rexWq9>M&n4Q0fYM%l0lkW8uHM?>4`QoIX6}JDBw}}L!Ske_% za}xC*DP_ZUT48RiTgNr4&)d#eJ=w#em&@Q>@EH7c+#zpV*2s@L z<%P!!VJeUTa(&Z3+u1-+L*@lB7Qc$Vv|_TI$)i=vGvMl|!a=2SE){ly;1zP*RDa)k zWi6Enfim2J%?j1ngn!T-r_%$(EgRoZ91~%WE8^e)L>zGIL~YP4kGuql!@u}L|053h zZQ(k(9Xc_HAc=&zqqeD>+oqrxX=Gki6~a7(Iry|9M{r3COOvrI+wzS-BXsr|@UoX9 zWFIptZNh{r*9!hrmykV>6 zbHZRJO5iEe1oAN{*>fQ9y$9;xqnOislw(DToN@BVZ?0IHrKNy=-LgfmtlRsMvU7dT#m7N2cxoipve#H=}^38${ z?>Jv~0-ZfLlv)n^M@EavN}L_F8ub0eq+fR-t1d z+Kxw!&t_|&q~-tAI6Wm9&X6J1XTsRBLv3ikoz8mjs$lUm;TW)7&44t|HQfo%vXCd+ zj*VZalZit~@SM#%k(Od=>GD7qwwa+MD60$DKej!Kk}7|_qw1L&p#3pslQ{a>{_X3a!c@LxQ!S zYuBnhfcj@8{wqYslWd07oI}U)S@-_Lxr#_oOw00JjW!g-4u8d>T-ajl; zf1cUR!z1@+#z>@YE`3dSY;s~ie6$-7cW*>9MOan%7k}o>Y83of&(~LP=55!pj7Hdi zT&Vj>x+rW=XNd+}Q-0vKe&$2^|G| z=7;r1AEQ76Ei9EQ9r_Nf!jAJhhQfp4lkL~~COR&v#Y`;SO3eHkge6xcvUWde`}dfW zO0_evDxEQHC&(NUIRKPw-)Uj?uszzpsg{Ga{hr5p3(er~quurr@H3$C%6h~Ty$Vfz z8J|t@{zWR4l@sCFS-s9K*&#f2aS0y#mXvEnx7Y3Y=JJA=(=S*nm4?7GhCHHf_Ss68m3S&eT&CNqw*Ot=U$g&*2$Nupqg)>|f z))q|Boc5f`dLc^5EFAK-*=Y*=11v~GLV|l6+t-Jm4Z>S+r z=ot}evYxKeb{JV$?-Dd;RCIkB`hHt?HJS7~incn%`JH9P&He&2oc_JoPSf2Z_%BY0}u6t0}gC?^Q~}x$(0KelJAQ>cx_)>Se+7c~KphwO>89+nXfx)~`!6 zuvCMxON=b#$oG|p4K`+9C*aTmX_#=3U+3$SDb=?ofw180h%MgyMJ>;~B?X`5*zlM9 z;U*mBK5jJt1g1WAl7xql4cT#RY6AN`1A}|UP`KUhH;?=@dvX4wmt6l*d6J8J;AQ+> z)zb-$e!$Qk12H~+W2_cXR!624iAnmk!YJOGbbY#MN`Rz=fiVy$P0msI_49gAwlWZ` zZSr^j&)1bGm96(d&<(F+le3{+q7)c^&E{~m_Bjn&u3cJ>Jbb?-ftk=T3=jfBv9rr- z9_Tt6hj?Vze{McN{n0HFT9xOi;AVoqj=dHxk%)jYuG}7V{AiVRa_VNTVXsI!(_B=x z(wr=ugla?LlFn8;{-P9Ck4h(m*4Qu6#lhOH#~)w)`*>ETXKrp0Q3?5z7~JzCZmfx_ zpzlj)^<#2#*fPCmMC1BSy3GZ(rg;zT#qK6rzDYu(cvUuYuR$IPn(oL?o9(z3r@di^ z$cf-PqF-L!c6jPn^#Ji+H(gc6BN;^g)i{uuJ7xecUDa1s+1Nf%6D50g>d6F@Y&`u6 zYcpG3|6+xFQ`vRj?@`np)MI`~{mt$37Q~h^bH&iz22hQBG#`&-R05@G5WF}Dl`HPM z9idBm-NB4f%^GBV22hpD@r$_Zqt2?AR#_xbYGA4D3K~=aXOMw|kOTSx+1%efy9m*AzkcF&bRL||*Hq$>mV#%nIffVBqI-8O6a!IkpZ%7gxXJ=7J{{5+d z86)U}t!OWm;~2B?p#UraVX*%}JEK-W=;Z1;@r%7>J7>Oai|k|2kHFx*JF1Q{&39$j z9>%FclB*oeS{I~2Lo;mgS=cXYx1t+EDZb;byeB;z@{@kcr1bW(NC}N!M|!uKz8>id zcOaSAvgU8B9&D5ygao(UKLh+W*oA&Ez25uKV~T>}dUq9L$7phsNH6V_k**ju2H1Xm zW5Vbd`t%8pJVnibT`1`^I;|IcUE!O{seGHUjiNGlG|}}fG6?|g@{1xq>sah`3-krN zZVgL%+beC4IMHci_2z4*@DdAyjng_bme&$v@T)Q^$@BM$0HyOb#A zy_%{rr1I(GXkRXBNufi!imCFmhY_wgy5l^MtfE%8jZTJtDq5Lbef%%YLk(9g&n2YN zzycewZ4T`zha&$`0qU&F7WjL?87CTsSZ@3hK3h(1?&E~2aG!-MssuNYco7RP^+A8{ z8XRLYb8KFSo~Zl9Ukl&e4y&%T4Gq;&R|3lpG^*g4GCCoLTcU+G#W>JPJTdhRPFL4C&D(@rp{>;bbq zH zs5+m`PG}@}b5RHG+|F?Y2s4Zo-St11huu+9BT^UQEiT2=YylYXT6Lk!4D}H>p$`t= z&Kn8>vtv%A^cJn=DzbR|Y!A2Lnrr6?GXo!z4jiWr(~P(L>`-YLMts13oz9U{DJb@z z1AiW6^3a+IWQZC|r+2{MnZ(!+AYwJRXy{Zj`w!^e8I+wf-fQHo5m&)&b$Ymj$7srX zQl^`SaGxwhs!m^646gpDgwd%;YjrvIZ(wg=v`HV7_gjQZ6Tt%?-`;73F=KK@le46n zhdN(y_05po!+7|*`g0&jNSLps!w2u2w~br5OePqs3as3c^stF5dRLc)&`%wEcQE<6 z?aHefV%$yEznhf(fjroFf1?)}h-+%7ge6(uy`rz3`a5RGGG)~$Rbtq9DCA8&>G{br zp*7s1&_R}}+gO<}h{l|av|OuY%GMY;wTvza*K=r zEXl6}MT2e@DKot`E9%zf9D6|sfIDr|pmbujvgJ9&?EURL2YlFpw^j{rEs@3el^OaY z9*yTCQRX*|7i;j7z?z8iZqwN-%@(*Ty!Ep8Tji}_LV1T4HP;2)$Z5w5giPQ-uts$_5U+ zL&O5TJsc7`IgStG8U8*49w%ZF%n=WDWi_wv8+0?lL#Zd~6*l-$XbU*Gjzji-#75+6 z<}8&XgRCN~mUZ$(X7dMUg#q6h8oGaVhIts}dT~c?&GlwHd{{K6?{q068z&Uz(@k$l zEQq>5c6?xXmq^d;@OaNamX9q1O2M0Yn4k+T!J86O^=!`nIrCZA#KG*Jh~ zH5F*C_)0bNc5^oYiD5&w5eQw~p~!WNN-eks<{S6v{KGQ&U!b4<%jDU+^5ff)l+S?V z|9)Rt$#x^hdI8h!m=}Nr%@X5T|1{qw8vf`eK!CSz&*&C=<*V_dUWSyb=w|e zlm>=`twtF+cSdmIYGb-oCWBoRClK|r(iS=G1DRN(3Nj5 zd@FO2hV2vDGS=}ib{O4&vJZ0muSbx;`(#wi;nl!g=>-< z)ZUJETuPg_e-*)8y@E#=M-GKA%_Gta6=%c*zSg+KY{J_*jQK))QMbRsIJ?vlM39|! z3xoqu!1o!@ShGDwx*>hqZ2@S`zTmQlw5cgWQ$?_2x(PQTx;`vRY^ zmdk2240v)=FX~G9+hU9wt6bbL{&Tt5{=2Q8QdM<%7i?r*tDRust0;2cal7%oSK8@` zG>_()w~sRCd=_%J1)jgN9M{?&8n@4@{LJ%1q(uh3jk}PmE1OLta$nnoqZ9ae!(q+b zun}AoofWng>7?Q|jS~6t>T1kpP4-G$A(s07Gk~nN&%WW6Vf6*a`JW8k@wFA85FLhz zo|kfOc-#7A@u2KCR8i*WlYeVN#Gd8~Wp(3)+i7WCI;MB*69$7gi}b2Sx!j)%eqMrX3nBXO)E3<@A+xfrS4XnUHvd}g+b8mG zT)NtW+;-4~s!A^joUEGbo4;PY+6_KI^0kgp;!nNcK*|q%><{5~L3ts{o%k-(jD@9B zfeW~M{P(vyj5Li29mVyq42a{83R=EgJ^dZaH^2Rhb1wRa-7emomtNB0qs+p9D8VYk zscWrW4r2C;fnl_snS276;-__veCPXjDF!X#{xQhX(2#5*^*If&;A+yPcPz98dc#_{ z7yUJ~M>w_roJKoKjI-gK4Y8>@cdLf8gQly8XoK;O;OB!UukAi*mLlZ_)2u^Y?g%lb zq0s_mL6q>SEiK7rUmKyi-}RBbS+8m4+4s=JF>?~Z6ZfBf%k*>Ec)+qX7)RFlC>UoI zoJH5jFIP=?MF4k7o+(+1DyU+$JF58uHQ8z8;tdsOkm&u&QM?99`#z+sC zp`rIL(YN~B!wu386Kt`!g`tYFCqz$LJhR!N2SF$@Ce_r&$LI3eBwz0-pX(0k@l=Uw1b8kjfNT@b2`?kf_6|YC7=J#YNM7-0J7%XXu|yqM+AL zy5C8vi&?Oc-E_$F*M1%fJe?ZW=bP>A{~rKvK#;#UK0HHyqne5`aO)k>6|h;lf74DI zr>1I1oa49=kr`>zdCjM7BlOYNy<$olTG4;I>2)_r$oqPonx!Y`cGBXlF@0#Nc?gOc zs7}t%D!P)PRH;;uk_S60F*qNhxE)e<$?kLcM7BBPOp?DA)w%frI(ud??rRs?i(u!I z8LZjy&@0`-D5)n&vSgLY78oxiXak`n9Wc$1Hsk^Eu0W%z#wi%m=X9tC$AkC9IO3a6 zqE33cN8@!-!1GsBrZVN-;iIgX-`CKnzusH|!QxAaRj_>$Sx0 zwr*u2qV0?Ec1F*P*<4ZE{{T+(`-rj?C1qjlHx|)ca;K9nI>=qc+&0>E6mzedlr*p8 zGHbb3b!~q@$Dm>`0pKnJXRdvewKe6a*9*0d<&HbBA5^9IthLu@>9mr4xzM(58w`Vv z4EP#OF_t@{xDfYEESB&RMM#lMU;`{KA^!l5cWAN00vwIA`5wIOjJH&_wCBPN<*sU! zOTp1Kr4op!;M^w3c}$6u!Jib+^=;TIss&O{EV3g?(M1}D7}2S-B!x*CT*wB)@yHx? z=*xYL%q*(^0AlJzUP@C23h7zPP%Cs~Zp34mW%EfBi_bW5(=^@R6jd~I(9a`llTgbb z!5(HTAL9Z9SV&`?$k#uzwxJo5q9b+qgn%jiJ?GH1U%fx00uXa%qk3V*hDPsj{nZ?C zU1^V{-QE2{T0t|&=1IIWKES7ucu5go;K=||HgSm;@dPL~^j(sfDMjtDWJXk1l7r~l z%LC&2%KoeABONJAY<5a3x~+@xelHZ3_`LP#=U~^rWH+EThzX}-Q^>tQJBPB9q>HTeX-aZFUB&T&okXu(?4 zvn0`#@e-1wpJY<_9EBMGxNP&b!A~oYUyR7%iP)kFCV zby-A+Uf~Q|y7Q0S9(YbG9TW3z<#!rM>dXhSf-rN&Km2v%kO?>kJxQp|;!@lGREzM* zr9z*N<{{OgB#$4AkC5HvAJcq(o;PylVpYQcr$FUZFojhyg#$XU!Q?jIuU!7lPg*(~ zCl!<3fer?|WNq^D{8e1)>P&=*-q{_p=IOS}Laf53ar8gCZn3X!*3zTLv{cPm7BWfu zdE=?zH^@&LH^CvZlk$3UalIvrB*letIe5HPRnuQN>3t$({mb1_jh80t4oeJIJX4;I z*x?^+(n!Iisg+fbF=(V&Hc^)i~m?@m*7YSFM#4eWw-5nl_f<+jX>^&q9d4Nhbb{EVEqcBMJy_zO%_+ zMS-zpokt{Nr1fDfNRl^hfKA}tDCYj0aCk?aPoXV0)DlpMjaxIeX4$e{<+&2h2GirB zl=4!~M?+OXBFRrRJw1Ii`~fvROkPwO*eJ{<9oXSQ4RA@%OU|`pEloej#df}LbrJC3 zetFLhz;|t9DatDhcw@B(lwGV{Id^i&3r0{K+m{8y&o$Hu+{I1_KkcH* zeK$KHWC@kQB$BuzlZ*`H5N#brQEAOdkxJQl9NWjnDkmgj>P`;aVD5{@8I)YP@NLhI zt2?c}+jf?&D!MvKnrfZ4j;aW!k6A%kp(`@TqYt*97z6@CC?I-~C)+WO*r+mPZwXkh zo_si?rX}d&#x@T$gBq;F-D3Tlufy@ybF2CR^z*tbS4(NO&uFfWdxf=b7HZm?e5oXC z(os~H;g{{?k|!{{YSDr;z{bS&lj&+T`t>2Lsixcrsk=Gc16gGxHlMdb^^w$%{S9qh zHc*7%lI)D*%|>^$Q@d(khsR34Ovlx`R5xoPcU=wU{o0eQ4bIKn^jgVsp(KAyyHZ_f z%ymL4_y8rP*;1f1a%8%mnq6OZP>lBHaT!b8C3x(O?%HP?ly520TH5BOhMumsr!}J| zW~AXiYgQW2#Jgj9X!92gyyqQRl6_!%O-fRC_if!fMpK1bsYbc>^v#eEH# zz;OP>FA#R;c~IMKR=UW=Qp#ksU+lF}HB}4AC-Wo~5g8$xmT;ucK~%F+R1^G=c{O#- z^zwuKv}LC(*2vsseEbUb$OH$*I<&NPbmu)tlGB#Z+#91fw(Zo4&N`5@1LCTh>guHw z&`zrP5Q(BhA$eBhZMpndu=WIFIU8UScl9+t`-1M2ov#67Q44PzzEtC_hCbvBm~0!o z{2YHD`E%1OR8xeknB!%L#2+V8l1cmw06a2bT$TLG5HLppbs!hrY__}-6EuAO_>^tu z%9_%QC`M5wzXdIoLlNgZwkIwYWd#Z|A)G9$s>azxBgrODm;R#(9yK9|E7S}sU52+TbS8WUEgLpQu??y-uXPM&?3Cw-SF0Z7V6w=Ii9;??0l#8j)u6+C(axt9)1mIq`#z zyyWlR>=IN}QpS8s4MjwTL9}F)RVEfdTNxnffsY`;0CCWCJLb+$Y=IZKit&dCS0GjW zXRn*37$pwuw8^J7xTMG8H=3_KRrYYT_lj`RY9&^whDVo=1H4KUsBD>GktHN-7vN`{ zHN8xbm5Tlf6(2Pyq*TY6JoAA<5Yr{KWgl_h24S|$Q*EwpuEF^_ylxkYTQx;9vokN|`h*?6bQV*O7&ZB#lIhIOP-!vFWJBQH+)=x-?v3MqYPY zZ<;HfY9*Z$(`rU?NIOkBV=BCP3$VL)FM@*|Twh4LuBMXcZPo0wu*S_4Zr{jWZzjn& z$pvGHgla=G7FKmu;YUIv9XUos(sWc!w?gCbOH^MR;~fvx$<-KaciR$NWjA(&cus5% zN3T@=mtM@4u!Y&>cEh83tU8j8>5|36y9|3A3>F#3T}Pz#TcM{2!cp2pp&MvfAyJI5 zt_PY|9emIFmYfZJMnT%B#|p^ew$S|J6>-lxa?TA!1T8Fl@2f`a3nuI22LO=3vasWV zUmm&TooPg;GJ*>zTz@5hEw|XUd|AiF7PLXQvLsdsRtmahNP~_^c)WDsZj;3pn}!Ne znkckl3LyndgnCD*!9Yg=So6sqrmt%e-t8Xj=FB@-zm8m|7G4S>53`o~)OGm1x3PBr@7 zxg`0&IHb>Y{{X*Gkst=!Y-ZNiATXsPd~tlPYcPg1`#SeY`JFO z;zBq%&PE$Ny$w=Ok+*K)DqeA1L=1eNzu!RZfhZ_d%%^uh;s!zGS}UnNseUhQwf_Jn zCaAa3vCk?V7>pGPPFn-X3+~xdmn;`KQe8c+oyq1qMDUohr&PXI1|8j2dIV&xyH4h| zo1_c^ykwwHyXm6p)VCR_$w4G>E5zx`EREyWLVp4RvlmjN;qXr*p`?vDJejDJzDE9h z=ZdGGMmr5bn7V^mr}@C2I9f|E*HsT>*bzie_v9B@0xp>mPQfg%CU83Tr52LV9&>)S)QjI%AoSjJM_M{uC* zFEnxS(^8Z`l{=<@g|n~KDsMd6hIkHyTw|w>j(Uin4IT!h5YiG^cLbeDEWj>X3aYsS zE7Y2MCPjB*)f=X)8ZdKbi?^a_NS3TbjmS4Ul!a0BeB(E3embh@X&$82gCX(>US0Os z1&aZsAK$5WU1(yjCb}0M5#9<+J+Z~s;uJsioUdUq-n&eE6IZ7W#*5(-SjHT zkkH?6w1t3qmfv`dc?e9P($zRDM!{u`1~M{uIKk^Ci2B`aAz02Z)rE@~fs?lBaNlrz zJawDuIgdaF~BaHBu&AX!y%IOvkA-X+9&iQTl$Z*}~%`r;d2G0!n%5DkAd7BgV?=KJ<~qbSDQEQ=L!N+w?GQBRybQnmj8ORZ4W)Li>M z;a}Nzk+ocs+9hx4RT;oPd1a9Oo2vqagi8}2-b(PK^!vBb+fj_5PCBACD6X4M0goRS z)257}rx!<6blcsdsk(YnZmv7GN;LU7yTAjcXqHK9RnuV%s%3Y`V$4wG6$V!*0Bn|D z@s3z@+~>PZCXr+KocCs_#amQ6qic^HKPrx%=a!?D$a!;*JfIk(9Y4}mFM-V9y2z2i zpc&yyX(Mtnb$qsSrlIk`=nx&0ZQO*X;oV$!3RYi(?)pwaCNY5?+iFR+S-Ak+_^i|S z(JE*e>3oA?7jVxR8vqpeve_95$^&Rd2EX7Qj~vHj$nL;Z;qyuxg~hq&9Vw{^I)tIR zFXBVM8E!X3pUUqz`RP*ix`N;O<(HnpX zt-Z}v2HZU70ADRnd4@-)cmAPKPa&&7KRT$0Dpi13*`^-l@(3iWDfM8-r-JLl&X{o> znJyQ4S{{Yll^7Y=APf82v5?jP2Hc@!zy3fe*;>?;u zvwOyUp-(bJAlrTl2VkaOV!#v|V6C0`ZQS`+lg8Doqdth$=WFD>k}wj1mI^ zaxwtf0e0GH%qdly_vzlgRLL+O^}WGK!W)rK%Bf z$gQX;omhdYuncx)2Pyvm9zR*=(a?-^)3kfy+lx;7J?vK_Gk=P!=J<3zO`~ag34yIL{=x=@3FBw%ryD%D>ANoVeuA4N0qJ z!C1?0_+8dhCFXzzlzJU3(p1yS!KCxw+&i{Y0w3znhz#_r`+z8s=Tt8Wtdh*S2@=Z z)uB)a%72{n#*VK2ElAaZmDzUZoPV{YU(Zz4)t9nH!jn5HMOm70#cuddy0Kk+4v2&U zkvPD~V=-_`f^q|pq@VMUNF0cin1oFI9kCbTa$|EC|uQ)Wm|~uFzhTa-5D|g z#yRS~t#e@R>m|xpD@okcQ})fp6@4DzN-8e)NnGcKk}-6nMsIKSV;mLEZo4UKLR7{q zSV}TZR>?O(Z*2-3W25fxo|qK>0Cp0K9^I7*hETYo$1dSO=b{AC{p_*@)hYwT%j`*x zQWc7ha9C>F9kkSY0yXOLmF>W>Lk$=*GB5|kZ+2H9(;e}QL5*1}P|3kASe&1wc&>v_ zZ=MyBIZ#L&WmR2tSrq>O8#1vCvjz+ZEEFjR3`R|Fkxi-Wp(Bwz%E6n&GhD; zyh>zKLAeB3wID=dW0(H`-$}G~cc+ykk~L%R8)~eq=*5}Y*MRH*3d@7;N#r*xOI%7M z?%J_xQltuEnJf7C1kX(B`iSh5B#nX;B^am{ZU>eB0M&G>T}c%mcG`T6v~^HiEx6C4 z1`A(C7~ti@M(6-1k*~nVNy>lR)7G9HLDMmHd7?!=E%JTy((-jBrL0B@ZH}a5B^xog zYj*0%;;cL!INojIuGccEsWFAfWzUisMzXGruqeYDj2w-L`M?{iD9GKXvFX#}cCPH`rLurIE3TqppN0|xyNPcmAAy^LW2W4cA! zV!|@X!Y}RALtHy!3?XmoD})83a^Wa!yma&1Uv~vHRWzv5&k2#EkcCxf(~{~2Oq(RX zp{~fwfJd$MH0An9TyrZ*w*LUg927Zm;}1{k(K6R+6n9qdi!j|7v=b>+(;XaUSQ?z{ zlTIXJLjkZyW9r-h{xh9UPC*#J=@xr+2XQC?D3YupmhE*nVy-~rf$2w9QI_bvt~NQV z3&ajC^SH0KD@7X!DFj5EiTr101Ql?ZRv+;>7$i0varz07X4}wvWH5)Ev(1LiuUEWm$J8n3q+<(IaoU8GPa(EAsCv0&$Cen(HS0WT~p7rnGncx&mtco!%$A)x!!I zC#>yS*nY>ot+`NlQ)+1M5W&bb)@pK?ZhB;~q}!*f9g_zX;v514#%`ADt7>{>^ztJm z)i&#COMsjgX-x*=;)fSW)T^b&8L7oWPP4&L3{OuqL^Kk^JWDM+>cqCt)I{Nwt7(Z7 z{{ZtN)#+@8v9^?AHxz;Zo@>oK{`_?3qpwly>XlPtE_h5PTf$U^{)+1heO;@g2CXDW zjFI`0ILos+r{SIQ3;5W&j7RWRLGr}oli0JCn#m;ErU~6gyDNwO(8%9kNB)@zdwOx2 zR^D7MHc5$CFfGJt^VUM`>gq`9s_pZb=a5y!D(cDvX(lldjf&=8HfG2g?Y9T5Z%G|J z#^+(Uj_sq}$PJWj<=v0|TpM06gxKA?w^V#Z!Exs6B4_rus*~%*e1Fp5!G<-CN|UNT zB$#$rAOX6z195DTO^ml>jn2qec{{ zs0@e3`!eF3;H<2k>ZCMiPI^mUN*f}Z>RW&-HfFbDP_I5SZgbZE07&&ZkV7lFkV!{Q zQdKZYGC`vLm+O7~A`y2oMLdq?I)ac+a&}jwaM3rhb_(&3_ylAhhvyj|>10B#N?T6d zJ9!(o$0Eir7uR2@>WPH3`?vo9Z(w8lcN*JmHNwp@q_9{0i^n^b z@={GiW>uaS&ZN{v;tGteWQkF~vmFi$^oi+0gHep_Rz}x>j_F%zcFXUJ<-e-JI=b3g z+vHDAbXejrLBIOE<}?QNp~L4tG*JE@9qTc|I^=B8y{Wo8fx3qMaT{CqRRAj#gCsa7h^d z0HCKKvUmjNpU9q?p>ayC;$L#5u{MYOqjq$>#N83Q%=coYQGXg9F0ol!mpwn*ZUDei zDOk9eqi}Kf2P{uJF21Em*dOun(=2LGLCDHGN-EvUnDX&-`O9<}X~;KJ60Tkro-*I; zc&?2s-bk1g4l);F6yo&R$ob)NDsK&;<`X z+Tp0@#y)yaxrK^xAVMBkn94Je>dd$q_B)J@dCHt*fzvEcX=R!}D8}8~*%ZgpO7VA| zn}kiNI%CCfWN(DB_$5oiV=8u9lTF-Lh1D1MZMFK0s(~yL(8@qLCs(A5oNRLBkCB!A zJmU#!K$S{cWf-eZhOENXVoqsq$h9JSU9R5gMacYjQj|Og3FAFjBT4I`V&rZXCQJuk z5p^2_oUzVWsW||1!t`BDPWbMF8=}^ouPO>OpW}l1PA1s93`$SSRAk&3yw+N4o|F6H z)l+e?T0JvZsdcI)rB#SNx+k~YXt!bNbL2=S0sDyXlP>I?lTCL4@2)iFo;7==Lc zNlpg9qs2Ft84&0B;cfmnFv?(&luy;PLMfD$9Qe&u)((rQ7BXNAbj#ev>QSsoiOaPq zPML1nsw9K)GQ12`gRy9uPa6zpb}6PuJgy1II1@#UA|Zn^vpLJdb_d5x5y}O}4Ym+3 zE<1a^3QNv6JTq^D5L?c8!jEGvfx z0q}I}H8gP+LcrQxQalAy$WqoiLhlPal#ttQvN9{%uGBRo9fm1nsPHtoCm}>KI=i+N zbs!8Jg*Ejww8%v<4QMRHlg(UG$jI{>Ii-2(bhV7>n^IbHg|)l!P-%_Fbuqqa7dO>~ zBoV<+8XP#0b=`(eI1W^Q#PgB=0ACo#OzY_^cTlXmLm2r;$>h!B7_#$^2XxrU+=97n zmDBal#Rd+ux7EJfs;#vB<(w>i&)W5ieeKzl=+aeDsd=a*Yz)D3rBg{Nk49q)9#fIW zM$OUMCJagL5RAZ)TvUR==FXWW!hZc!VHp~bDyOF)jEZ?vBgvnxxpwz>+B>titlh^( z;xwzYIEfAuTP+N_1j_-R!DdJ`FNf67zDhAZ;@uNpGHq0a^ z8NfRdIvnJ&d#qNRC@147d>PLv#xc_xu#~3Bl(h*11!{=mQi;YI?FiL*=)1tMw#pHT zfMb$2Ix!$Kk8W7+`X_;f&IUS6(q7pSMkJ#uc=5F(R9(e0np6=AfUSd>+_h9(_ zAG&Fk91Rqb|@6bC9J=crfJi(!E)bM?E~z`2Zd;Sb_*F3J`zkz*ZRG9FlMeiA;=H z>5T3AlyjY`4Fy$xCOnO`7{%|497TUE-OEVd9xm}86;;)7bh0&CD)>Z{^Ldg;dwd>Q=)zBol#AOs?YE{%@U%-^c z@Nw2rvO_;>+SsDb={)9EFXUpfM} ztJ0RPnW=YI3Fe=4Dl+^~B^;f&k%y6{+k-oEc z*6Mj;rZqImQH-B&Q6l4jh|)(UPqEmBjhK)as{H4!V^`9#)R@&!uK2}JaY|EMwdWb@ z=wH(HWi2aY*lrsJi3GPLvL(q_`Qp0sO6h%?*MFLz29kMRR+dQ40Ki~mRoDm6Vb1`P z7yvQVp{KV;OhzP0%kVN<_PB1*^1R=Ui|Rc=r>sx9a*%I#8)IHlT+x46qvT8ancOSf zowle#Lr@UPvy3yzEC>*V91$BUI+2W^Dx?xg8a{?;>P<+#wiKfA{g& z%TL_WfH7Ul#TyTTUL=2!S>+7%@c4ST`cGHtCn-vEmDIH5At!r9TN}ckj&pf>ySo8o zxJgSBE68M)CqaOURF=t*)b}SD>P5f=t-Q!8w_So_+j{it=zNs$nCRVnGt8?zaiaubQ4Y?i0K$c6cI1uU z04UCLg{iLy>qwCon5EzbvohIP&lFeJUrUae4JJww6_rG-yfGu5TC}oUwJyCL>>I>r zu`);=p~joJ8#3iW?2C+GlgR*o-cL))9sA_eWf6>{nC-W^I0V~R{Jhd}gX?s+PEsr% z-?gN1M1q_iR-QW7J*jY(t{7f{DYH+C*&!} z9TpH}DJ)}~3?^>BFfaJUdA_rQQtqOW!Y3B-J$d6Yh+aQi2&kHse%Ex1jVd$iy};@R_w}HaM_5~4<|@Po~3zrZL7SdF2nuub9~``^KhEt z^^+k;B&nx}l?uQr{xV3TonJu9C?g2vU3DCFSj?WQDLhry*#J?Mk?`GS{@Uri7#c>L zP4gnGt*W&tkz}cE^Fc>dk7Lv?Z(T2)u`30ntAG8b#~U3&(^k}lyivk`4A9+N)dgNw z3zF~=PgT_HnvU4E?NwxcptSAaaG5-G*0!stFrb!|LQd_>p)dMq;7n6TjAy3wtTi*V zB#mTu5E49T<&?aU5Tk6CCk(?~mtt@_Pt?v^bjZ7LvgnR$4O90^!<7ULKpc&w&jQffqLWk_VJrn0%ZYR-~7j7=gW%NrLc0}Kcf`; zp4;8f#IJg_#f+>=ccs?h3}7O(sOpN_9;u_LsA?O4C6+BW+xbP~>;so7Urp(4)YH_^ zoRWG`-=!{PEf*{zR%52*b7ej=u<32?l=SikW|^s^LUH++7x<1cNsSIzM%aCuVa`WX z)RwESA{t2@#D{dYf?!+P?lJYr^VQ?2?tTyelZ?5u8zB1hOEkgK>?VIGLmvZc-=`-NY20DWLmK!8)OnlqNaBgmeCFixQtJ% z^;nrok%j#++MkWot&FK2FAJ9XA1o;>p>c&tGD^4d7{DQz00OZjjBIm`2k##A+Zgxl zcEx*32f-!4FTuqqbr6vWNNL?@L>Q9W`201Sx-aL#! zvN7;>1QC}@ zZCY=(R^-~h0{!`?rX?-Wi~Y?R8rnHt@J0^oZJBZA+`ndW?@#Gn*V@$8bW#esJIxAD zZ=OC06)~A$e0=VWtaTAStptKZbyq{yN3Zm{laz#vHfGW*TyDkOUQSp1sK$Y&EjH1B}l8QEY`)jW$`}4Pj9p0>n+9ooHd@7-Ic$txrKqNPj_hP5<{{TGl zw)fhM9h#bj>Pk`XAFc@vQ@S@RuNmu8)_Qn*o8pG*0yVg$X%uB|h5fFpti|0kx89=1 zQ1ZPj&m^?YH4G0fh(hwD{z;v9^&Fm!=teA>j5kz?dxi6riz`l1mSe-7IdAI`)7Gsi zPEvHGFLOyY)(Vs_mPwIOcn+w#+9ED&!Ad|MX5i$oEy+{ta=d?zKP+-OpGm11XxB`q2R&)N!R|YqzOIT|N8FjCnQ9Kw8J;IXHNo2eVG9kH zRx6AXj6YEwD3g>JvnIulAGC-#mHDvFOd0EaG__JY(q^;Ws_}C&a=%-ACLHzZSJR7< zRSF7$VE7-D*33@ z6#`n4juTK(+dw4zGYOX)Fo^4Z0L zbUj%crKz=W3_|;#4jfs_D=^^cTKtV}xORnVfXNSW#YZfk8%J@ao`{DdfIN-~2O&to z_~bHs;VP<-U0kF~3`fm*L^*RuaGcdl1Xgi9eYD$r}$kPhBceQ_a(2GhCkZ%2tskij+)2D z<}ZQ(HlH+8cYQ7QbtOd9w%*{jMd!Kp)kwM|Q0?Wdpw~;qsTD>~-rLNE6d{-H;HD%2 zj7O>?6WkoZWJOGzNV4AudE$<35BhqujJshWhNk26$nBiK{St2tR&S~dJr%W?B5xDY3J)@Ig=Zq$1?emhw_Q>2Mvk`1Na7w;pc4$(vi|^s zI&iI76PIZd^xFBhC>Qi)_~;`6rDeD%G0Sb(1%30&@H>YO*^~7tb(@Kf4@em?Jqi-Z3&t%W(+`Ibiq0fG3Zoa z92W;+`DS%>3F?|;bk>|?zH5T5=Wam0dc36?WFSV9ZPj1pUR-(oug6*E>z8Cy-@9V2 zJ8QY_3v|?1+XZ|n8Z{mI*xz+dhD8b*I*81aQ#a%M#Y(tU1h0Hevp)m7GK^?ihjUVJ zS&K3cKJ@co#&L$T4R-R^0pe>tWWhH9}~b#l>MT1ew{a}LeCZpDaYW<`}38tBDC z0l8unvjdaC%@a|L?}c|Ik&LsqY>8GZ;yKN5^`W=g-h^ck%uIutmD|O9_&M|5X@1ze zuF<2J0)#@RWOdmj!t$%mI2;d?!0PaWrzufNRGBX}xDaBM+x6os)SlZRig!jgI!ANK zdB5=w;`5ob{{ZSJVU-GrVs;Wm5dc2&E2Qnl%*G@O!N4d%0FZhd-O~Q&DTZCtxWF{u zEtU1>uS!hkAS` zF|y>0YC-tpsW(AJQDWEc7M0r}?c+OQ{A4;7rs%9#$}KtC6>e+HdEqYpI1&4T-3X_s ziWv}SqvaWbxLuGT9Asb(um+%HoMWrcz5_22plO#kOJ{Es)#m>IY4nq0uN#cKX6;6; zme%}*Nc_KUy!`G#6VM2jKGN=sl|^N&fvqoZcU@PKYWq$;A)vpJC3USqREFv+ zDHMgPr%_FETAFcTUhbA86v}!rGh2{lrYjI##g&Zo-ji4TFR0wgW`?|o>Z6G27>wIW z--yZL>AdxZ{{Zqf*05YEE9jvCD-&v#NYt!#5i-j&#z!mWTsyJB1>9}H>z$D(>c%mg za>}p*E4Oln?DELrIXdmu{Sh=~!x4W~B97}-dRk@v5ekpsFb#kzPC$JQvmZ+7`$$&f(c@QG6w-hPdp5rzaFREo}Z{=qpOIi zvb#KFOGdu(uLcA9e@Fha&}!;>%?R$*BLi$(jEA(MH;V<6XU9!;YA22gmG-BS8JJ;~ zG7M>gJ(uR7A+-f5oSsdDZ@vqZn!HX?E#*Nmwd^-OVS9 zpu?Q;)`|L6Zl0>)PZKQ4W7NP~Boue_mMF;}5{guRa8iKqM_BstHY^i-m631<%LyxB za@`xh8tbF}pAAVa(9)!vtne}`9a!q^D>5I;*|jA~ zj40gYR2&37G^L~JNWX&`sM8rX(8QMAr_RvEF57d}R;)e5q>;mYrWM%v{t~NBC~#Uzy@DD&cvB2@u*cSTZ^t5OD|8kPrcI=LqXpG9 zZ7^RX@?3m=&JWHHPE9H>l0hj|z1iZ3=i@m5qt8K{b{cE9^0`i=PKv9u&P(xw&t0v+ z7^2G^k-`)JslY0eUWGTV-O zstE zD4G22l~>XgOc_*y8`y!WB4m=}?lv3_2VT`pSlbwqsz7dEx%imLgnXmY5_IRa+Gh7f zTYvc@UD@ErC)IgM{{Z^ua-Q3$dE>O)s-(GglY(Q4o~~7vs`1+{;FV=UB)ZyS8QPud z;8C?89cE8KhqY1v0Padrh_2hajH4DTi4Df_^8AVwD7P@2EljJU8sM$Yq%4fDnA71p zwi2~!VwML}h~W~FNOg41s*D&g!jKedKNmkNGtn)DLP%ajUEFbXjD1mj^s*R~k#{i~ z)E}6xOxMYlvQg10TdLDg5i~?jgeme8KipPk3^G^n7})+?4mRr25}3qgW=oWq=I+Ha zXTyJ8Ew2vbe-`p?cQxchK3|Kva&(I_!&Q5~SgVmFx8JQ)7gJ8;v75xNY_3970kMuq zdB|)8k#NcnNVD1NHKOg=tD_famALJl)dhv)%^zJ}FoWr!w#!3SWtWK0Frgfi`^b1s zzgliJmfFZWa{mA&N8K1)SuXN~QQQ6qO54e{QC; zC4%E9v~4)pmwKW3%Mq+qx6mc6sjCgTVeZ-PMUWpX;9nBrKrCdQIYaJwgmqF=xmSR$ z=tCINM0YYmVUbjkAT6sf46TpHBLa}sjC7?5xow8oJIir>vE=%GWR;x{PR3AWF4>X> zCQ@5-hxCR~OXV|X=xSa#Lb9?XZL6?gp&eNUKsY|ixh#r<5$=#C zPHvaVU*0pM>9J35^&G?tiFa+}RIe6XO2DPA_+ zg-6Kh{Z5$z1j2A5-3hna@@;t@P7~v;{*CI2f2aDH zUZkTadU;A@ef==W-AB0(FwMlW%=PEx+Jz0mWRfL)Di$eADONB;#*N0KBmt-)n3ZyQ z>b{;No#dTCm6e2)hr)eWr;bCc&t0LX4N1V$6qd-&sUTx+;v!p&Ho2y;I@d)FYtzRa zDU6MyKBvU1zMzC%v6%wo@sYN9JveCW(^#?*-s5z$miKuBwoHmL7tQ?(?`!Gldom*p z)EDjW3nD_wOKxhj;OVN@*|J4-k}2a^QK|tza1f?>wmkksN zmXRbtu)7Cr9Te_-cq_XW2RwC)9Y1qXQc{gOrm@=E+-Dgnej{s7$w|Ix>1o_zkt?|E z{Db3i*U+cM^}oKF*d?i|fXhoHYbjXXBE*6hMGuhK!xhT%t*Im&^i3a6zgVdLGP>kYY2Ha>CGyU2HhhKCD&QOd6+#DHv7C}mIp{TUiq%KS#Un*UBwcc}{B*Xf z80lMrJnff*joW`E@?yT)>QxFfHMN2Fnkj=!jCcymoZzo02+kJ+8*mBfgHAGmBc2dz zfz5Mv))w)`dLE?XsizIOV3Mn1mB0@?-CE=4ukAXtbyI;h7vg*MC%^Ao!RRw-drAjH}5_-t>kxe~OONdBJ;cSg0qdaqTMgIV9t)&f;izVHG zib&_Q#TQreTq%x;>uC7n!hYb z2t^W9)Qfh-0eI+=2p2gRx~}gy2Fgq2SNOXDSv5VrwvKTEnWG7f)mEG+D429)A>EYx zHg#qJNF))VxRv))D|>sTPc{pPwN!EZ^uC?DqB4l?+!D;ZgmNFc16H}q+B#?|C7l{? z55lsq&T1IAkz4}WusGR?Wed0D24*pRsUa1y-WEP`e$~Mx&&qVRr}okm-si(8#)}r5 zt<|U3JuY{jX;R(jswroAk-W4uGX$=SZCtWApr)dsgU1y}0&4#~UATJ^Tu#BjmfHe!_b zNFu_)RRu#jQ{HF?0qu7MjLRI0pSGzpQA$M65LGuJ4N1w=iW-rM@0XaQWX9o6L-BC3 z!_;b{3(~&n4521Brr1gzar(5{Ml|M{VybdHh)_$UWVU^f>A>0jK-YCBtjt_HVD#4B z#UoK1_oH~a;c0(`F^g1VJ-hohvY;1uU0*b@ zQBK8KBwQ6{b#&nD)t^vKj^ zC^DeE;rAPqZ1XE|hwZOVs+yABvNjW+fpT5*rS^U&ARQg2g{u?-+sN6}t0?ybD`C}& z6~im88`%zXoG9w2EwYT{tI4Lz#WiJSmps00ZR?_D!V!~YMJb4!TUAKaRZGp#Hnq}~ zOLHPHGSbwoK#yO@g(ycL<$(k#*E?!cIXx>ol(%HRH?XFQvlVs9*CFSnqOx7lk?s^u z{2Zm-7tS+jb=P^nia4bT2n_PLUAcJ%8`R@+RsR41j07hfjC=Auxlf!%I8pN3hYj*( z>fVG(QfuL0b)64Fe-e(k>ce3V|eRvW|8nl{%lC6~RBgsig?T zV$?Rc+VdZv1D+PM%h4c8I)wORBNDx}BMmB2U30eZX9heFeT5t_>gJt?rJJ{ zWeB;9>>{ah zGNM?#b=3MlPo?YhW$E=K>CBe>9c?v)^d}l)sRd#jd+Ik!0B9ik* z2zrR(Vj-`Im`4rLh1)(zCIAYU&SayPF-$NKm@ych>=@5LSj1O$n?50^4}*&hwasjQUO9yw3?v^R<6IrgZ(}Jy#%0U1aiWSJh zk&yTR91+jRC#@|lQhIm0Pd}R%CFG3d`4X=UTb?QDT|I4YN$cG+X&JQ3Cfq1u)vwA~ z@%&qTqgK~-O1V9eCP*iRnZtu70y3364L}>NHBs~O3RCqH(bsfmxYL($Du^Cx&~q%k z$|oFk)@W*fsr2TuZkC(2QIj>h!)f@-!x~1ep0^j$iYX?zQqfadR;TX&0E$|cWl1RE zNe7S#F^0>xE~GS!+?B^OTePDL114?Ai#A*-$au~d$CBQ!)IcLB(Cx*=!;RS+!9uuF z#CY_p>BWHCW}=Q%)d=vNwO~lWkCy}%3+lLbE$~#Z=U39{M|~aETHA*Tgleq+01~+U z&L8@=yQs1erIAFCIHLDI^GkNuTC$Qjg*uF@0H{=y{zN(870J&7f-rJ;9Am8+>Gq;F z%C{V2oLisc{hRBW_c!ZKB;S~ccxm(D&2#hP1nBMl7m`GfIBljr+{C3rXZ}MWGpHmV zfCFc$Y*-SUN{tbj$TveByJUFzEIxXFbG9K3&I~tcocCe#bRI9qPIiKcRTWW^GYv#a z3}YYeHnG0gI+n{4oDA;6jYm_b5=8WiFE}fMzzusRa0xMc=3k1W3|skp=KlH}-4trJ9^lcUD%NYKfn8T{7K&F`)xp6E z$j$M#4l#f_L)1deMys)tOHm^g9of0!{9}^(si?Y|Yh;YEHY$r7D8kS8w`vbath}^(`qcGWI@?lti)uPyTN?n z=Pr6SzMSI^dg95P#En-j5|eOcaq*mWI{R!c(aA|Vk>J&12&GxFOL+q;6_D~qLWDUO zKdq?BI}=m#yNv58krpl@=bmpqEl6sxcQ?6O+R!dO>CMwm-zQ1%&oae3)yC1aJmv=^ z4NOo1(8xj)z8H{GBNzu9aqS1cWG=@x1s9#UD;!^s9T(I@me)#3vCX_olxsilmWJyD zt9|x4MAUN$Brz@mx|dg{Vs&r`CEX4|Ao`&sg;E%MTYAcIV(zjr`>q_Bd0n^1$!X3E z2p}?VUOvXgZ93r z_T|<)x7^cL(;IEpjy*0`d7m@UxKe_6T}G9b>dhm2ZFE4#P!PnzDbiS#XnKjwkvG0I zzdNMnt8~b_Z}k+{HiuM})}0bw)`1$V~3S^L2Z%l}?sy zaZL?R+Pei~{-PM!Mxo=6I6;i;$XF0Lz$Z-bdU-KT(RC#s%XCra3`skk*yOBr(t3b2 zlv=#5NsE~$gwM~9o9e-%q>i#$rdd1>;|5=27{ii?@i+q{us=9u51)~afvBNk%QOxc z75bMLuMK>CXR__ncSmey#JkE}*|%t)T>k(ad{0jP|`Oq^o4NGR>j3CRZR;RIT%09ab|gGL14MuOO@CP{q<#F;{iaxTSb%A~B*ZJd2}h z2m7J2uaJIuDC1FrFbjUGG?xAD*@fF&a?)TQAI*gwG{l|UrfLA2kJEn~yABBRSgxW+ zSu9g(6o9Iz(T~Kp1w%PMhzdaC89$CkSJ6qvIlQ+#?weG0-yg{T0MA7A8Zq{6GQM|6 z6570jg|{h7W;#m0*EHSV*^JV#hN73c?4b!B%{?^@>Kw2HvGUpED6U&vw!E?Eu{8!! zugg#IV`2&6x@hv)IC{%qUXGQw!t22995}Jb&!6l*{I2x zLufUYrDJV?byZ^_#(((O90CU#;CpeOIJ1K?GLx~{E01m0;=67pLkWw#*Ij4yy-iCZ z#UsGiX-O(%(h@40e_`v%pR7HpOLm^Nh^V*M+a!|VPjiJ2-BQTgf&(!K@XZ-tyMft~ zScnA)3d@L1(bQ!ToHZ9pP?Vjzhr$U-U9Rk9KKk!f=(K;TXgXSw*{uVAr}a8iYkF-+ zRZcUirowPs$8h1sA`4kjdY*>9m_cz^7$Jvv2L*XtIoZ>U zG_=h^Z1j|69YUoBMbwzPnxu}R#w>UYb;CvVI-b5>gV#nnKDdOm^fff?)Ai7UjcqN? z+po?8z6~)XVANkltP;s|j*6xiYAIjs#o20ajog&siindL`#8$A<7OB**q}U<$Ry(f4|;g+(;NhnO+{t6!0uTLY2f4FZ>0YKsOl^w81f2Ss-;xM zv2=ewUpuaz($Ga}$U?Pn!&e;0xMh_cym>ovWk)&K43M}yj<)nkY0C_r-^aG3a^}Ax z?qP)iYRxy^ihwiTSX z^PyFBjZikgFen&hcKKIQPvR7fx%@|7oOZ)&!enJ#&+7A0U&XO`#~n33#guz^yz$H1 zc&f!!qgT_-ih?vgWnc3kh`O_^pl2z<95Rx>0Ohj7Qj2Xt>9yKR&~ka;+N@-RBI)^KWFvW+`I zYsqd!c&GNxRBLRijw<7Pytts;Hsg;seN40nF%0o+;6!9mu+^kcA!6C(fI{?9kIgW3yIZ2^z^}*^v|gqK=%nEO{y=Vsc9W&ylFu^_S{u8hR#WsqI2&8)I0? zz@{;A<@=>N(f2}g)0c7YPFrp!Zi>731uSRs)D0O zOxKdIscaEYn>=8u`(@WTBh{4ha7pRtdxohd6;^H~`bw-Di8r3(1=dHUnL1M2DiGZp zq+=T6Bj(?no+wgUIcciHtwi408hVm}nM8mR52vUFPvE7sAYkb^VH*qzQ`CFiI@Hlp+-G%s$g$Q%VhGzVV;U+2pznzNd-cqj6HohGmM~0ELCM9ozLQJ zXkxBLBALEAq$8+mLpx(5Y6=r_(wkv)tYlP*=A1#W-|e?CQE0nU$87Eaty_$5MRZus zty62BTpF0dk9t;dTS}y)k+{}Z9U8{jEM*B-w?91Ylw?LOC7PZ~z~$+UQb|FWpCh!* zs%0^TFYlhCcGc92MNOfq7GLO<*9&w?zV5Ij{(4y=QWe=6o~ai?eGmq9z-H=w4AVwh z5)R#2$8)sWUB&kkiFn373b7wi>EkU}Yr+vFI2-4JOryAWHG5hdHu^Kyx!?XEyOZY;r;q+(pw3E z-4;x@2nAVLym`8#F~?u0j+QIBR-t#DDl~v0CJ3>QDr$KvxDIt*K`n;;^%_%Q32E^e z4ZA*U%!T;D_f7)3XzLQui~x#8=OiUh+P&9Qco%Kjy*5;DMI+R-;zN{RLWD@E<-~zA zfEY66128PO1oEKtj->B)pW?+O`2#x4al%N(-Yl$Rtf;Wo?b}IqX64B3i;dQ2JUrta zrj$<=eDM})c{SNNGip(FG2jMe@rEcz3$X|P0LryE?X_7gZ$K5}v8rl?kAT0CkYMSR z8{$RnN^B~*f0w1&ni`sVGb1xD&xi)3g$`6Bf0k^J+#CQ%InD`daVSyWhrXoK`4|B) z;<+*x)A32lSHM|*Lb$ltVz%YH$DW7W>t8w`NP&(vRza7UfmL8g1%TNYxllM93=`M1 zW3-fG-JQu;idbB$`EiS0E2Fz*77^4666si`QOkn=09858an)b-0yG5Nl8*2DIjo9miP|@k4cI^Ypk>xjH2^-W z%5^*_AxQZHGt|IiEjpE}5eWeDHdfKdwZ>M{u8YxX?UZ6lqO`X_oJ;iJum1oaerSDS z?8=&os>_uR@vF>ZopmHMVL}x4*?DGfl^G#bxb+;v6_XM-Oi_wlT&~uw{{Xu<&n5NT z`Z=E2B55K!R|XRI9k1{4Tx4${MfAC6sH}#z8i$fOooOl|kflWnsoFZ|XI1_=W6z8Q z9yv>tksLNUZhop^8A6`I8jz82pUB37Tf7U~;!$3K>OZAudV^LTr*!u$^z}67TG|ti zW2vX97?RVGd#)$Qjkj@j9R+`7&Xj%E7A;cLBhdGBF*4iPnbi^-;-*cStTKSowkRez zaL}`9)I(2C)VsYpnu#smj$yhud$c8zQ7T=Slz$O<>p1m(xB6_Sqy0;EzovHkU({m? zkq!gaX_<_H+wWaWZsHrEmQ&vago;m5_%f+mbySA&MYengoyMi*?maa2}0uDSWL zjO6B|HdUO`Sz?CmpaZlvm36}W*F9WzD`x)y)Lmm}$37)| z2MiQ34!~%0A;HHOAZLS{Ojrbpc(LxQ#bJIj1!Koh>Jl`?FC%qkae)>sb9T5z=;Z`1 zu8+REO&XNn0Hk9rr@<04obrDWf(}PO)`Vg~*%@;89(d;R{8{(osAU@mEF&gDd29mf z4mneIj1NpT6wuYYq0oi{DeI7-<6IA3axg~O#zEKto~P65{*!6PnBN#H0iTnLthioU zvW?0#d?gJ>HI6(UZn=8>1QOH7DuIWE7{)?+>lrH{!smxxS0EBpe71TPytc|tEpV7| zO{!Y(*J)oTN$N$^RUDSLbw)OaHu<|T`>VapauD{vayXG@Z|K*A-JAHpS_zSXEy%%; z4fV%7WkKm(dzO}?Ad<#S=Np70+u`tDLh;nYN<{Qo8Ft3fOlsqkw~;a3VsVbS(Fp16 z6j3Wk6k4sZxMtkIiEpP;h*fY#2HzPCyAz%|RW|5G;3F9ACXV1RG_u8Fj!L0AJhyw2 z3u{tUc3RCXaYqev&>zbv{BAypt9U6n{zJOa7)&ZR9fdQ-Lr`N@5< zHf`X%jH8a+Tk+3LI=O`2=S}WBNNVDvSX^S(`>hr&Ej&>p%^dqik-To%GM&NO@hi8O z1FPeZNpGG;#*&0LU9{pYZ87-g?fhJM1EqE4x>YixxR^0&BUd=G&yuV8ryWA5sftRf zWQaLh#c5+KNd%^MK^P=1T#ZzM@{E6IAh)LyG1QYo6_SpW%KGD#}OkgPyp#3C*Nl1bbH zk~9Y=kU8CPoUTuB8+8q=SqX_m!xT-qP#-zz{{YWz#c>u_OXlnl#x}_AD?KJ9ww_j= z-*|y!h2xbw^=7TJ#a&4>QOEsmmbTu_OH?W& z45@iRPc$cZyj9*bEb-1pN~GtfttiBtjcCS2NQ|pYBaPHc50uny{=gcnJv_a`{+_8) z+BXUFy2i7CFF$=5NiEl?7PgMInyzYP(8~~UBoZSjXlkQ#9MrR^9`Mv6NQ5DD_V&J{ zBkCI$bT*Tz8ueNe=h9MZu z`~pbV0k&e!q@eZ* z@)!(;&OZ)tH8?47Ll_bwG8|-Onr}3v(z}PL^xEo@k==E$m0DOhygZyXR~YF==(1v( zrX^V#pJ4GR11Tm-jF1TNkmCe=1CV+wBuY|+)7m~r?%}cG?+w?;S6Z4Hg-+@$k&opg zn%a^^ubda>oFjMjJJxnjbkM}C^9wC~Z40Ub{{VGv2IER~D}nsfv4Au32_P`&nuH-A zaB~I?UhAhQ)tB|UkK(~CKXSsm$!W2Styz`Yt{;fk7oQz8S?l5M8wI-aPva)O*+X

r&H50)eUJfgoayE`?E!DBjYYxuhg9@=;V>oiq&>VyY7OW zqg0vlTHVq;SH0mZj}p`G{5oNvRnPmQS5dG8MIwwK7#aMC$RR&bII|+MjAu7!;?LED z%(HdNjMDYcdP^!&%F`KV@r!k}$e6q)ZyqxDdiE?)iHgFGDh6CBRuGvb@?u26X2%?# zhvPUWIo_*E64Z>NCP^K%nUD;DA~KhDd0*chbsmS;m)*=_fgu#C!qDUAHEH)!NA&iO z`htI?{{VU>iz=$SGBN@HP<9LIK69~S#xgPGr>IVLBzF?bWYyqSzLuJ0!Y^9i>f<IJZ}_=$jcxl@gO2Wvamfd zr|IO+nG%GQlwwPEHwq+W9^CE<7a1u-)%vn=p|ZB$BV{E8wdabmj~zSq_tTp0(|U>i zm|Y{WqsV5Tvo7sDUuay&A)L|1yH|F#Y|WKgi%UsGu~9v;RXOWQ9Qypa={siq zNmtta-ssv{FHAMLswpOZ-MdHrg8u*kDx|F}i(LwkDrjlgV02n>_jF{&WcI>wcH>~d zt6l9;WA65tCHiTH0S=wMl&w?Z>>Sta-^NPV@>doTj}K0 zKxY0>>NQX^pEgU7tEeF78SCDjHKm|YMwnYHsZL)bTwnhHfLi8ttlb^;wVut@MWKi5 zH!t6-rV7QUp~H~!yc(BKGV-!81pb3?>~Vld$@N~Dk)A#)o6j`WpBG>F%5h2R#>rKY z2&=RxY^&n19!qld0^e60g(W1&WAY?Oj#M}bg*~~$I9A#5hX?#;pz3L5Syt+0n`q#q z=jN@v)nleLf%3vSE57`K(Trtd6E2$-Q%R#^)vWp5j|41Nn?xhu}V;~W4| z#1c`Xi{2mq0Jd5xzMe`;=~3=Nw@_Tz)8WFH<;8y7uR1!Y<(jcn;K-PZajO+l00a^U z$Rv{7<%T{0>XDb3EQs#Ssh0@kzuy=y=c$&SBQ4CB&MUU|S2Q8|Q0DLFs_W`=n`dnI zIPxf8=+zO%fN&b7HHsw%13&I*f`3@ym~=VBkEfQYaSQHR9Mo>wFUyGZSVwg9_kmLu z&7}LQ1|wVncGsSmqqk-%Sy(AZspE-|mLJ9<6dwsv4w{2rwu!W+4aLhy=4 z)D!+QRp*|R-jZ07-MPip1lx){@KDyDQrV3kqML~sCmNxcPkP{FQX?7Rw7EL~8(OH&+>)YO^W(YSI2)6H`y!I>xXfz_1(;Qs(k8%G^P zCQze-6yTCqAdOfu$fdblKO+O9=*lrp=H({K@`EkNrax*tVd!iJP>j_IknXBEF;|{3 zb-)f;fp3fT$}<=M%9+vjAq6U^yC}i(JDxc@ zF1cD*ljLewQNx37cKN@obWQ7HmZ--tX(fkONp>I12cyQUnBQEHk^sYjoUVFNl`(3| zsLL{3q1rZCk04!q^nnPFH3Z)BMx@Pbk1;CS{{YaBOE*~==frY5K}rOvAs*UkMw-$Par zl;Q+S5uterZE|OV{{ZH?Q11JPw>_TY5^O1Mku2gSAT6rmrr%s#507_889Qbka6P(L z)an{i(v*U<^#$C@;~5)o<7zkES4B}(O${k)sXK=4ImX=D)Zqd&ExFxPeA$>SVy2$+ zSyTN=u9m0nRjIFbtkKtqWu}ib*9vw?DXu9Cw}NU~^slE688M$={WGZ@BIO-TMPjj6 zZc#!N+*U3&#k^U-^!v1;rpex+I7+rkLd2b5oKl-=QGT=2Wu6wPGXddrD-`jw0Lt*W zSHx~|vISQ1h4vb3Lu7;2r>fk=u!3A3>Mkd0vZhCtts1NF{Iy}Lr>8A8Ok|UcgSJef zDo2!ZbAyAxH{fZoDrW5RwC}bk=&P7ynx4W z)#Pm}6!Zy2k-D}G-{d7^{H&3Np;vU{4IKoIQ%zChktC8oGsG7f zjgd<`DLMBD8`}X~p;PnGbaiJvW-^Sim~UcdIf%Y4yLUWN=cXg+G|upM#x@JvljFN_ zd8qJbCtWIHK50LV4J_f1I$)MkxCnIxqm_ZqPBV-v9AL9ijFf6v&33YUUycDXcnUB` zr3lM$@^@JNj&{+Q-CvsU4tV1sV5(4IDI^o>qr}wm0-iI1$J!YNcK-l#cE+dRiXzDy zD1@)_tnDb{!*ugl>hO`2yD3JA$y=1L{M{w5oL5y((#po8?Qv*%GdF79Z~doIUt-S% zy1s9)b_0`}eN`(4_`n!CV&0ur@G=9V!7y*>XEA^F33;WM#URA@{|75gb$V{1S0GLAvhzX^)_lTWz0-PXdAjD z5l$|+cw8N8XiH*)Wv*p%hZqk7&M{b{%8h-7NgvKuHi_YnCPFX|3d0`6k5(aY0mwKU zk$pWmMcppxZk06~BVDX^k&nZbb69#itYSBoSS;kv!9e1?A6L@!wps{QqN+Hynlutb z1YiK*=10PTt^&q`+w}44{=-8-P~6CTctFS zp-88QZ3R?h0ar;lXyv4=jj-_5(#Zu(OrerMLiMwuVFoeTEvdQ^YvC$eR~cYpzIsYT zbt3Q67|GhgMeaB#TmD*0vm6e!TYLMkXkq^V)n;z-?Yb&;f-47bR>yAcI!bsz{tI_? z804n9Mu~w1H*i4=-vUd^{zF8T{WJSNK)JK~%F0AIPz#4#;zsj88!SE!lB ziBW5~)gy3I)SkR)NmmIF{86a=pOy;1czhXCRzxOy+Eet>%Cn*pc_d}M6hxj3OO@Rta0g^T7I`fPIJ*#)zf|2;KIez8EbjLEq<*c{;Ih}X;@otR^O`aYN_JgDle8+M zz-}{sGt+d}2Q(fP!oQ+7Aqx}=BT=?>^LW&-2a}ZwLjn!HbG@;_yJ-}lPynSAH+c&4 zc|vBHsL86GySFG>cBXOrVZY0zs;T^umSeWzVq>-grk;%2j2wc>LlU6saHQv@WvD`4 z+{+~{+a+QVu|kS7V~?8P`ek9MK%hcENLOcdkNb{HzC}jlMIy!&_`=G9cXCV)Le$gh z0-b}EkZpxjM_q}>O~NszP1tUZAIPRQoR!3ke9E!ZYDa4pGVZgwH`rH=#b(Pk{{X&v z6$mL*)e0H0zzyg$P|F}YU>%7eK=lfsjOPMpF4FIGqkoYqTt=|Gb9N}=o`ESz{@X7% zSZtRknmn(I!N*aq@gb1}Qe>)x@+oCxg};!X01(LB0!DUW@;-X3Y$H*-;y`Xc?vY2u zc8y}_=x~b>60ZAWkwFJLd3%i6X_~Hq*1wLPd3Pko7>-2+LrDS!3S(zJ#J0<^=MJh4 z0X;9N+-#1gbek$cPnkqo!+w7*P0v@4e%QHp3RmMZ%_OiEs9~m?I^joIJcZ=CmjTKl^u28hJ z#%RFGr;w7z0F<^{BQBiR1DmA}%r|{Z4QPAw?wqPVppDcfN49kSnexa4mE!3Qr3mQy*y!wI={;LLPf8Li zOIXjT^kT=h)z#6am`Mc+>qO99q+%+jKJKtER3HT0Xkr5gi89TGBr25|WjtliN-{sP z*hjiER(!eJTe$pMj_OR?(-VdE#uUSRZI$k)@^iM!3|r3`wmGV!gf`0|Rs_cJuv|sB zXuO*ce_>8G*bQ-<6L@-gku^8&S!@Q*&?{wI6yq&t;@+#Jr0PmUCPZU(x#q5Myn!C% z6uxoL_TH^tqdxGmG(dxsg1q66woXnnj5fz7jdv185N+Qu&xePnimDCLe~%OiOJ1Z8oS@#%sYB5k#1!6-60$6nHuBR#UU zREk{U+4^zW@oQM|fmyxsG6#c({4{{3+=-mmp1-d~Yl6mrBA<64;JSGB7{NS(0`PDF zVm?Mr${|+&0NojQOqqFAstZcV)gw5?IAmesRN0oVf|APdlG@m>{_W#_gy$TiiL*7;|r+r_g+$M}v|Dw4R7g8N7t*bII+ zQI2qYdsiaSyW4>tZ3PdqSC0owI+rD6)4=D4@%|dDc*1ldx|7c4He3v{7EsHs>yfJD z0#t%B!wN_te_dKi5tiGfBkk>TfByhYrPZrk-(HTQMATzX5vk@cKn;yZ&BkrzM#uA$at1&RaQTzYk0@Ye(4%gQt{hr zzD$7QG-nvwchrg=*YV;yi6v5wvUwP)$nnU>bYJ;Lmeo|@03m_(*ROw~J>pTu)3djQ zwH)S*@kQXrQK{LQe`ecfoC#IG*B+9v{ zizF6}!7)5q@$fKtIT;yj0oA4i$znl8vSZs>zXos>oYphcY5Ie4Or@B_i0-=wxF}3j z@)bh851_fcH6LLpECgN|9F1ZiM(SlM0Su-yqie&HjB(N7DAZBg8sr?di-xfM9COp! znna@+rE;~22;C+^GOOTUFT^YF)9Vj+Ti(&!77KOy#UVy|E1e`&(7w4P<5yN{TqdlN z)4X#j_E{B%Nqxa($ggb6G0t|EYx^(p(Dn79Jt>k2?!yL>S9qz&`Tp@x&|2Vvej z9UvnUrg=MmGk z0iK>o5m=|^6X`O#D0K&pfe_P*M3)X_k^ca?vMsG;&0csel%c65+ysh9%MqW#OFN4q zh*je~SDo#05?p&`hb2wJyRCuKX26EuOIdL&xFLy+>7XYW3fvM7I#1NwJppVcJ-1aG zWpn|7lN+|r+pP^KJ93ReY-Gi#*;L;s@lTq`eK}FQldPU*{{T=XDvE$M&JnZ{h9f$L z{D}Nc*$0y3H6m1^F&oMl9AZWD%?r(Aq&-HAW3y_=#^I*qnWSwj;aaYGBR|_wQ#?@Z z9YfQqJct7{Zp*SRr0O!n=0Tl*N1XLprlP66jEcl$eO#njweeYey)P+hN=NHiVV8nRU>@U`dsx#) z&Hn%)<6$5!cmRR%!48W{20*d}v@S~R+C8p#<-0zuLmi}ZLjM5Vr`tl=UT^m4dbW5} zX!}V^P@$341c63Wq`w7^wvDMcByFe-&E)`+5sWO5AbfDera?;X?QjXz^hA`c**KCc zlM64$CH;*!{ywQr!fJU+`Q?qBS${V%j48&x=uvc2^4qfH@qorLltw!tvTevQXONO5 zxd9?@ta+!Xw@!hUK0Y$=m3Z>oC3ruDFvew&IxLthtQSlXmLZ8O_zj@gV;pr7 zl%d~olnHKKuNXn&_e|vE4w8(CrP3IC3-Fa;oPAl%)%2Hc&9?b_x2azZ&J?~-0tv-L zrKqk^AkU!_#Z4;^bBdQBD)ZJX$wyyTOpYZ#eladiUgC66HG!-6dTuK{C`ySjo2KrK zMlnWElYqWQDgOYTm3!~9>N}Q_+kEY-g&hZec4cY1_Jzi&Wsa0rH94oacIDp$vF*O> zx0kcuqZwFIYFnHO_mlNE>gkEV*3*4Hq@@VU zZl;vVmZpZZbEmHaMcVexE+?nDEss`zV0TrUzATj2yJQVPHf5u{*={q(9n-h3w)gv6 zw{P81KaDG`l`7FZtNb-|#+tg8N2IEO-7Q#ZXzF`$hV2w}G^Kk<4+`PGgCS4b(z<$@ zvSp>}0v@Z=&)e65NXg7~bV&D4PgJQwPASQ8uAke(I7m#0l8H8rl&qO6mH?Dv9zo#) zkPLuvkUA!lsYTf!we8P8pu0KAmiaT&Fq;-lk7m`s@}j$AU|t)t{I}3+h>i(TSlY5# z$r{oj@Y4i*6C|Nkq>#rVSY)UN1SsTy9PlxX4H(|lOdDyX zvNm(@S2pA7kuloIw}hrjW_vpo}5{hmu`N5))Qa>&Z9_HTfT~ zI-OlRp}LnHmaTkMAY@8nUN59&JC<^-tcuzo*?GBO#q*V_>W})G{{Ykb&*_(Wq)QST z0hZdNe5<8}ktLu327IS1f!p@{@_3n=O+ z6}C%l*z#TQFHjmBOKI+^(9hcZF1W4;TeXw?>ujBUkZzj(G(6eA~reL7N6n)C*)t zrQVs{gLlF3bH_!Yp?YMIkUa0XPy z#nc8QD;#GS=#tWo-Yahn+Y1jJBC78BURxSKfVpr;odF{TleOy@1R@D1c-Z6<( zV~p`5{{ZY~9TTagCOE^>Gw55x@tD<_mn$aNDUa^t6(=fB0exLYRVyQL%t;$icnanF zrQ!3?p&*v%xo>taay4#By1`s`V7l!HQ$*2DvC5Ho5><5!KHRCyZybP$V@B8#Ln{Ug z>+lj(ff$8h+LoF9EJyF+xZ|su5uC;s8DTc|s%32X@!eNzUTC}b(C)>myVT!1T5G@4 zZtJObmOK9d(~F~aw|Jq?zjr!A)H#G$AZD{dAq z1+{$Dbsy<8wI2BGnJ4?O-KQ%uUZf;$`)9c4er|LA~RHLsiZÐ$M<1zmBh~az-K*Lmf!rC>@hS}PWhtlkEIvl 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/1.jpg b/examples/data/Skin_Cancer_Dataset/malignant/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c73d797ae821fda7990fa2b8971460cce2d77dfe GIT binary patch literal 19075 zcmb4qg;!MH7w^y|NTYNO9n#%B^w13wN(>E3hjfE5bTbS?gD`~B9fHD;10pS@(n$II z{@(is-oESZb?-W7f7ZU|u6xc|`}4Vfm;ZhTkb=~;)BzY60073n1Mn9OPyt|K{Ad4p z%>N7<>pzc!jg5tki-U{%zY~uD9~X}R4;L4o2%muPKl^v}goyCTe>eYu{NGSa94ssx zLOfi&|8@EQa)0{)WcYyZfbUostN=_h3@kE?zrz4V000x~f9d^8_J4+hi-nDckBLD5 zApF;^KnlRX!oV<^C zw`~TS>`(mF&XY!d^H2TJ-ZFRJ&EmgN4*EjlX;U)%BMafhch{q1?-8He9NQ9q0m(@# zlCjS)7iI1o&&NG=g%vCa`pdCS)2PQ#rtAyPycv%yl#APEb|joqQNVUM#LMxw zw;ii#GI70t0JJl*3ijJr?N9P|v$T?@e*yLRWPXNJl3yvG$DmIKpUGKAg zF4~=BInTPhi^Vaklv-u*NPOy8gGhjVgtWGI`oTJs`HIs z`h6aD@U>8_$iYqE*jX#wxJUBt9oF*basL1lO**q^>GGVSgpg z?ECGFSvCSLHTU($CLl|;{}fAsAY?Fd=#<%@4Fju)z~UW9V=Tv%aVBo$(rBJh{%EyJ zHfYH}$G{vgWEF!Qkky|aE7RZdTsvMouqvNJfVV@=0z5JZH551lt7L4Otj{FbAcHQ- zKzThV3sz-b%>2k3zBC~FgX@c3+Mj5&yU$NLPwq1RcU@O&-*H@TM8|p;?S<#Q(UNC( zR8gj$gfG9ZeN|J0bWE%UmqjHwi<$Ez?XVImkLJ{wj5cn_z3InC1)&a}>bc@5abskQ z_PYE9ByFH^Y^xVIR0M#UkbSl6VhP%y$4{r=3cI9oVkk7WoDQ=Qdh|#yFtd+S4K9Xb zO^e_<>+-iEzDA=yRDb5U{|gA!lFl>=8>1JpWsWK*G|9q~YXPT%!?I9IvC*X9hOUkK z{p55P+)Wxc5GXN7OIvBk=S<$mP9M42st*opla{~)?iD2!+-o@2^3VoVkI#8%$&CsL zl7$Ky2hutZOK!aZ70HnEFKsXYS*-%7Xxm(}3dV8B5y_Ft&n6zDxcTu>a=y)MA@|4KZ zHBB^7IokSDcEbmMijezl%u~l9_U>hfkQUE^Bb-W9x&wA)LHAMDw&D}PpQF-Np6v#A z6`8cRvpZwHBC#Df36e)oDL+a3@~knMuh~^g{RPPH;tU7qwXHWSJ2uU`VWsHNZ3Sal zQDa7w)i-73m8lZGJytYekzmpx3lN@#KJd@~NVULixx4N_*OgT{2btsPeLbLR?@9JDf$xiKK?;SFYg0i6TE)HZ2f#VA>VY}LIz?)*TAkIhx~9u8?(f{U8<&Jv-nYzTosx~r+2WP*C+)grd9wuT`AKv09H#yq=^$2?qmJ@tObB5G- znOzh8(Eya4bBF_p6ssXRkl1x_NESZZdNwT#hK?(xk+k;tbTSZk-EUn?_ZbwdOIIKS z`8y9WhFMhHt-@qB@>n0g-Slp(_yKF_5+y)Mq?C1ZRaU2g8;xjtlSN$0CnO4o^dG3# zi~hZ@N)ni5vYgQK^lM#iEnZ~ZWzY3;_03)0*>;mwzNstEM+Zhj#WQSAkFcLFzJIe$ zYTX%Ws}eUk1fz&MdXVC>y`3_TC5Zxg=C4^S8_GjvR@Y+3j*^1II4*hgPx5+Ja}Yxq zLP=M~fp8U-CV4Y9(?;5i0A|eacl(4SM)1!CHSKDe{G$5bgtN1MA#)%dq5gg)3_b_n zY(6`D4S$A@!*lX*TC$g9ckBJBy=_j#3HV(%Qesc$A*{K&Z}Vru^BYVd*b;2GZ0F&U zvUehDk_{-Z(k4-7awW0smB77)+oHGCYtkyc&3IBAwDcuAHZAyfseJpni4zc=PWg;EC1kY|BB4)^LURkMLN+ z6|oB@FIzZVq~_U;U_+bysd_aT;NUe+pXi&y%@j>p)ecH-CGoCrcNe|VuZE$8@4(Jg z!phkzUx#SbeqylS+Yttx^R!E6xBmgqH}l6vYu#RsHCTSwc^jim5BT=v{_-?;2)h^E zSRs}=tK&PC)J3e*@WrA%5ziw$`Rz!?4$_9p=~fE|FK?q-%5hZxX_oT3imA++--s@5 z6=Heb^0V+E_ZsI>)2;50&DsLQ?hLKhu={-3#ef#$F~0?}Gq0|Z?>oR-fY5PAw1coJq;N%+U1 zAnqO}k#>iPWNj@35O>IyobDk|;;0w@gK#@Jd??TdI#nMzzqA~%qqq3XUAMNPWla7- z@o@2|Cnl$M?QMM=4+vzvjA`<#m&eREl{G}bm~s$`-x^JaUE_zm;pOBrtP6Glg>n19 zZnFvjMlH`+P0^Z=IFrB=$C}k4C|9M}@Gs_cat9wPEOX{RdH27baFZd{{O8e@+J^!C z>jMT|`=R{CvLxm5P&Zud4p94P@n!bA-o@po9uO1Fy7O&iFeO+y8?4EOyuq`an!J;- z5+IGG^Zt?=4{4YpZ?`n2#~IJzUR)owdY&IzU#k1gM5l&7Rx*-Y@-^17hrEIZU6i8g zO|Qd#HlY#@kK(QGK*!lm_KWGi0G9eOo7jb_<>auy;X23@4WH;quvyr`{Py#Cj$`OE z3iMBbGAxv0PA**{zn8iasy$pF{$QT81LP|bszHbHP>##=68x?j!YxYbGWGu!f2=h5fF(?Mq@(ZX0&t;qy(`p*7u%U^hY71zq|Cq1lIQg62 zJ$e1U2rj*nRsAKq%9XIWuYWMj9vW|J<(y5u(0*aPQ7!+*pl5`#OY*8{b_;5gD<&WV zjE*LrG;Me!ks2C#Qb^A-N}kPLm{lx!qEF>pq2p}q)E{gPdZPsd63}1Kp}WRpZjv`2 zr1<5Gjod6Old={j0Dl4EgZ}LZ7r)_lqsj%DKCZn=A;N;`Hy5G+zA_@g-si19t)@%@ z-160l46&;^`*GTBALPB6xIU1?wa`o=1{}H!*sD^+jLyXb#2`Yn+OFOh9aW8J-=jFL zI&3;C&Z~rtPN9n!r5tno${;vBy zy_`0 z=t{PRX)%v0NzDOU-UgJ8U4lgO%$Z=ZA<9hT<-buBH&Jg8?{K;`O*hnPAE)U$3`8Hq zRqu*fIwSbzQKV{%ZzIXNXdYgC2{2v_A*D^4`0)0}UjTVF$c(^qIH3?5v#Jc8e;8~> z!FMxXFIdP*2AIyVg z1c+k|q{HD#doxg7heDt*%&S_@55bC-l#5&2H8S=#@}bLO3jD?i&{gkX3$=vyuD<}I z^m>ShfV=GT%h$(nwha3!DI;IPXI#20PQl6y+L7!G*WAc|t2}P+ikr-gF{ld2^Oa-9 z`Uf^?S;=>GO0gZy{wpO%TcLvU2Q-^I4vfunC|HRIO0|}lMc$swx+rkX1`o>Ue zW>7Eu@it{KH6`KsZIN_A6$c$55yVu>CX1T?reX1ce+utR=M^JN8lC17U=8FvOAF)g z_|=QIa3IJs1k9y<6+JPxLj47gH}VaAGhs~8yg10N8nyQN&kSAclS2$TYxWxSUqCw& zNk#;bh&JPtOc8Sp;Pj#}fXmMte67mZZ1Ew`5|@iT6tCRA}l}QuKC0m3x{ab|O^P*kEfjG=r`o^1q-CKqR&habS5VvMf$LjKBVPPhZ zw+SO+$dX>ulHz=J11g7Nl`%_U(^Ahh=?w4B&g>Z&Ui|pT_|0+3(iH3NFMyQFCE=J` zRe~a6zTeG;je~W`mC9qh8NoB=Pq%1=*RN#?U$%Xd*oWuYW9AQmVUQ{m2m{o zCS9{58*YaQAOhLZ`MaHHG_9CB-?THqS%Q`_Sa}X#n&7e14l(TA8~-@!ypJUhtxA(n~c=Lt_4sM`3Jr+|h^FPBPnfou+H;aMV)&&y#>d)@lr)b6|QRs-IjXE?z* zb*5&O;vix$aDh^X%ZQoA3NQ1A9+6qKCRxg`F{b4gzQOUe%Z`X@A>_=YIogn*$`b&3a{L})<#{NIE%dw9W z|E4qrMonI1bZph{@gHHca(@BVCUA8r)0#{9I?hytgD$@-UL46#cqB!f=2soc4%T8| zM}TMmd+9;A1~rf90o9Ljh*BDDP{tRYKI76*#saD($v@Ta4QSro>M+>`@VZDvXTwIv z%_tcZqs~KxcG`v!pVpvGz}MW&$o6HJO~SzvQNZhkU=N8Leq@O^Y2FWQmmTZiKy=?c zg@N%7euV2_H6QnP>O)Ix1nyPO)r}-6P(Wr_s0md`7~x2J&My@!+`>wp*glwyBw)Ka zy6D$<7SPP{X&z~%rWrsRMBMgMLFrw>bawD1cN+_Pcj0=Y>YGkUI>IdU(--Hn+*d2! z>p4uC|F(BtR#;z(2P8=vn+zOe{{ko|*;q3k60F!*UI>p@qtp|Qcv>g%87q++UmQpD zvWLiILp;;^18EwC2?a0xXAF$gQtrYm0tB#`Em#dN|k$ zrE#O4zZkrM$P3HsV}+tnO+8v68;|d;3CeP;PwGAg zSGON%fz|7l)9f#iggcWE9wYAev>6Gtx^orT8I(`=m~1BvR?oQ0xm8b4FR9O2sTSYcP? zLKe8enNnvbJA7~PM)FQQl}NziX3D^5ysv?KMWaGd=IUl(HC0@@HPfuD$7M>5&{d(C z?P~aW7_?+YGhe#+jiWfGq9)6SrM36So0-bZqoZFYJAd-2b1QoRhsO2##X#u6F_nhL z7zsi*-LfY^Hoj#qrWWDa`eIcg?fqN~yr>WSw#OS~T1VfY1C%PZ(m)%TD`(=nO2Liv(Bc|pW z)RaEr)Ia9IxkPk*Uc0)oce!LQFW3hc7Fm^RsSJ#u=Jd&A++-g+!MT`g5-wO^`bG^f zrIxv&FtnF;2`0cB0!N3%@tEz`(z(5D7;!ah>A55dUoL2pr(NNy&W@GvDYuRv>!oo! zw^kLRa`WyQZsE+=qrcZ|lH3yz-5h7v+;tJ_oLd}rYBN=w`&eUr>=iY?rxYl0-yKD$ zhEiH9!f9A2O6w?b0Ftmlr2Db|0!o)KzMILS89^S`1)q|$OEO;tYlBJ$NR`%V+y`jRHgMc4&#l>q z{QyEB?rrCD$y7~bSOwcbnr>h?v*XTcGt@_jFQ4WiT1pm#;MU5=7+`{)Kkp)m5IyA8 zluk{c=x7ig+?V*|%ZZ1GEtfBz-|7)M9kwKj{2qKQr@l7Qa{pOvRkexV zDCPUzMHMw|w_?ZE8E0+O(}h&f_R1s0w2K+4ocONS*uFGmrFFiItQ12G}!9@BC1$A7{HfQ z*mI;5q&zq*BAg{2W#Cr%xlBOFZ0CN6cYQVbadX{uqg8CdDYqyHM@v)VL2jo1a!d?$ z=J~QvyupqRm1)Kc_t3o+0{5hq2=+ytcRD1rU(lj5czg^}q- z?+#|4U6WHvH8hr)Hgf4zC+_xbDo8E}e^ysb2%g)TQUb(OmBd4rdtk`9KH1%NR4}u! z_Y)Ct`7lB>aooSKimopA(VMVKCGr@15<*D-!qA?-u6&?LNI=Ku6$lI$AP3{i^%gbD zypY|#Xz!-gj`xSLOxcCMy;^Fx8P2HRj9eEXjO78@5i1w8xv~Sfx*sKETRiCz{(JM9 zHR?Eu%lsTWkR|dSg1i8nbpdhxJ}fH&XuTI_5JCU8iaXp zPJejsLivyn?nY*ylVCMKGYO8z%JbM-cIjAKqr~tdjzg60prSZZ-t3&!(yZWYQqj<$ z*@A^RWQ(uerbdPg{!;v_5rQRDEoQC6`cLTg>ap_8iw5oLqD;*F8hQfE1G6ohU6^T4 zyk{pFwebtpajymzXPyr+oL(W2_$LF}MaDaX(}7=TYT|7STE}VT-j8oO91`0z!;mWu zF;)eE;BcAmsTP-SxFWS_<^d(IYS#j-c>-GCU=M%WvA#biDT^H{-%U#DBo1Bo`C!$< zhwUxp;|X-i2rxT>1=N~Etq8d6JBqFEf1u6Km0fWKA?XUgLs9gevPxhJI;^6xg82Xf z5+tcq7qpF?gykDfXB2e$OhUr7UtCKsNLvQike#`2R-BOrMr>&6WNo)Qx{wc}a++;MP1z+z%W6rTr*vb7%zx*mNJGTfU zP&y%SsGQ+;tIohGSc({j=Ndej`V)Zm>p8i%5A(^L*A?hsQAOaimydW&y@Z5(N9G!4 zN?7vtKFwRvolWi0TU<9J;gf#L%}!Ub5x>7dWiJ2>4q4-5aE5K9fcLJ^zpuvR_YMN? z;|>LYTZZh13U zp3VLfTN;ex#=N@c$6JvKS3e4^ELym1KA@0_dmw;|DEMQ^ehGo|(va^w_YX@`a?lsO zgM(fyBN!N#huUX`5)W8jX<9TN#nmJ!1Ern=xH|qQgBrZ~`}k}itI_ouwsXWWoY=lj zbAEi>gl>X)+^(%4Xset?3)2jqMy;3tn9gdz6AQs(u&%g)SRDe?5~Eu?ic!}C2LJ-!ct>3>Og~;9M46o`=K|hRM8rDPo1JUh(c?NreL*AXFk$&q1M5OFL!xD*b;T1$SH z)OJJc+o0c8*a&@!j_2dj$f=#NhAtA}03Mu?as@Nvbg7*cb z;K3!B6?U4{n`gzZhOz_3WI>h2Gtb`VJ1v8p{wPfmEN#bxsV2Av_W|( zu>gZJpOanaH7GwMehDD(Sxd;JVs%D$H}x*%QAts=&o%lDo#yLxQ(Zgsu6 zbn`DDF?;odX3BV*rv{vOh;QcyWor#;TZQ+%3JjF(tXMd#1DQT@1VRqx{3jPUG5zW2>A z3^;B|{waQIKP~pBXcFZwn-v3ljhfW2UR<%VyzZN)5wTUQ?q1~--pk4|DX8F#Fnl1i^zk#%{Mx-omdBpQdwJPbr2WB<29=)jN!(CO(o` zW3n-yLc;b?AN<*WDh_+2H3LhEYtOy_jIdkCLyISomlmu-Bnr4ksij@J7wj3d@sDq` z)!{m(Ue2i49`1~z3b8Am4c8!*g1VvhbVhZ*R>26oxzHP{%i%d~QglK8N=v#;R)XG) zud=7qbSEIqXNuwiky0VsGM|OBDvrnpl>D))092K0WT_OwhV1Z!9T!?2{;J!0P}6P1 zJ3_GnSqYXyaRHtyux|W$G`hNXU~PflyuW}ET*!@ZJ}k(Bu3>Ni$c>+}d76!-EU!9A zI~p~N;AN#IF#V)PUk+oOA%~>|a5M~1S#s=Tli!BOB`{VJ&+28WHCe3H--l^+Y)b5> zm%bsopIiVyy=1lX!<)>vB}mF<+LuXNJt+CZV*9MM^La+d=@gZr+f>AOA|@_8Pb^a6GRh3uv~XzXqSm(c8mD4+#*Qpku8S~8 zWz}tHaX5?zq@KvfS#yDsavI0Nt=7Ee9p<0dQi-0|CYq z^AQ#~BBZ7rL>Q>PexUN`V*9aI%O3G8Ew#D`^JJPFl#6y(bBKsGh(GAA5wkm3=^Ss_=LvLMOdxe zRm+hl+;MTaqv9sZ5=}~0lKyG0{Z_(cifk<5#CW?>oWoHVl+{7*bV?2KKj>JG^hjoy z8NK^1;5I4DEFs)BqG5^I^t_GpC8Sff`#bdQJMh$TwG|md34Iq|XEXjXAk%AqgUpCW zP@t$5qKG?n0R9CxjnwTpO0g!ZcPnJR#?a!a{qgqDWyLb&GU?r*v7kW48FZ4--13)G ztle^9$zt;cV}*N;p)v*kNO$~bHjL?QWnILhj4$J|fAM>6)JsH7<+`9$U78h6KgnOf zgYGEaOob|yx?5%;zF#;iw2s>qE9^ExN4rDk$iQ*COVc(*%eGS900(JwRrdxm2exL1 zbgip23B|XvjwJ6gPw6!swq<1O#+;h>gF1XYId_vN_4ck#Voqf*+aFNqNs5Vmte@!1N&P0#9)oqTMO@45?qN z(^!>=VfCy^7PJBrtfgQ#PxI;ZEa|g`u?pnc2bP;7GlE>@tSWH~a8Fn2UqCOJb%RFM zY;GC>v~8UhITzU6r$ch`3Q@!L6r5I)au7Ajk%Jj?;AwE}@7DNS-jlqMiUqL~wS>+PG|eJSAd7y&|r zK8eofNu`0_n8R#{-Q}1({p}9Q2UWiSFOzd9*_;u<^;k*gubNOn zm}CUvu({iV5Er$w6=*WlVX>AXm+qWI7a9j)vNK@?a^-m;-^~(k|FIJef^~LJY@@5DG?K$!yY18#dg-HKoT|E#K zkrYkW;!z5Uy>1=|=EoJ$FOPe>Y0BIX*t@ZWEnM#e+u$9+mgHO3y127HA&a!bcuiB?_A-i5wc0j9Bzgi<@NJIg=zdZk(+8EWlGhx;oh2&?;K> zuUH!4;c9fCtI0LD>`|P^X^*>4w9WtJ)ud0?*XX&NSnT&O@x7;)1DjGW+ zf+*#bw!OqOaeWd!n44g+bUz)@8pN~In$6`NS!-kdK?hPjxJX$&mw~~0ZNMBTfm~GJ ze44WwK$4!nGYG<(Fx(o;F!iiLXUHkCE)5zTO^X~M;#gr?>#C9!8Ik(TZ%|4bu(43z zf_^J{zmfsn(q3?KyJ z&u}bw_m5vJeeuyMW~*Y_$eI$96el{zYv`vQPJzf1&RJE<1)#2vOZle&u#xSF1__6 zo{YEG@bLQvX_~5<603DqGqe?8ZfIUL#%Idlg1GxVW6B5(dL=hg=UgyY9+c-5x8q$T zO$*AP%q}tI%+wG2?ItKj|I+nBsf$6kw$2J}>fBRYGc+S^r4v}yrl{mqP%pK*v*BgB z9!Fz4y%KH>cmITEaPBff2#U7Sl<4Z)+{n0kCYbqp#r4ytJpa`!<@e6`hu-FPzDf*A ztLrT!_LX2KwL%`5P*!Auxy*Xl)6WxD)F}1 z$c`jsgTQ61HTwXgp(L5z+V~=$7>yRNWQTSgr!&Q`DXiDevkDE*{Hw|TZ9?F*C5PjN zgnOA&Ew^^quXJoIUm`BWQU%%LvU9MZ6RS(~&AKKzA9qrIV=qui({qpIKXH2!tOhwA zpe7>W=YwXQmGBTJ`*tvU%8Ng9{yjT_f81{(-9pAU?(wh(BTj!AcDBj zbxbMT`RhGtZwr` zKq=DsmM^KgZ41ceg^*20p|5Ksls=2qe^zWC0tdPlM&c$5AUu4Tz7fPH^BtoYs1NL} zd{X={SMv=`nm>}BXoNi;7$UYt=RYm7ODOz`!x~x?pd(Ib3P*PK)nF_^xtujz+e0Le zlD4>8A@wqtmBa!)e#0i0*q6Ve6kg49^QfG%!esTq37RwtIvTXWGnH=- zjY9qc*c^VoM&+(0Kr33O96mmZv@k9UYBmVZC&hsSU>lmCrn-)Kf_B0>pT^(j;6Q0w zHVZqwkB&RCgR5@*TG<`svHUEy>0nAJtdn@txfrL@{O|LHMk1!hi*~QM_+YOk3^4x! zkT@<}!fqri%fEhT!$B8-KsxgcD2~yGLN6rJUee4yph@?!L-L%u^=BW?@fdw~eQf=) zzQX(lUH4_1z0y~BYh_;hR)bK&%y9jmSA?6bRXE=!eDC9XuO+dvD<*1oFBjcj6mO41 zWjk;zvjey|cKomqL(mAA<}|9kd?mS+4ACa>nOApQ{_bKlY}3TnSwjk#pWeGJU0|$4 z;wpX8iIvyYxeG}cCJH2WRi~G*ySpeB$jtkpbtZo*ivLJ8TPXF~x2`_`Nq*5B<=yOM zpX0w~eMfJdOEvj&aqV{a9dR`|O!fd(_I>%#><%*dpm)<_I@4U^{8Tj!CMH()t*VMj zJmjaB=R)jw5|d6c>uNlXEIkYmcUcYISP_@m!LxH{m|nk3BRVb% zzGyiJu_DURxf76GP<4&{K*fs>B2_YdkL)M8ZtfLZi+RA!JIZ0_=F3>tZln$hM9EzC z$x7E66Zh0ZY^{v?~2Ns1Vdxd7MT6v z%Rl_3-RsNq?6;J<`_r&|q!flW$k;y=+LcU?aHw8G+kpbXqOl$jck@Vfrh~3M%P82tr1CG|%`BgPu%DwjmGqb}F5-jXCClWzd!d$afmH{mX)%qK9PW)t036u6 z%*Pqm1UjzcqPrUU2-0~)#Xy`juCZQwXV>2QBDwUC|I1DyndL=i8EI5cBn?lW_Sx;W zWp|IPP*&SjF67+-j^4C-$rH@^Ddi#)s74Ll8o7c8_VcI%y&i^+ISh7wZE^W}N0Xp_Q1o?o>OEKtgF`Vs#4)_%xcd%zJb*6_|{(eO>5(piPZjWBx^;?4=G5X}aQ>yqi zIVP2(!z0?8gU6qCa|Z4!ix4)%8Ux)n50VU2k`0?}*RIyK(rn;eOrq6E=o!tVWAJvX zb$}{+`b5{o>ed*O%fbf2fQGeXF1rU(h0HmZpl$H93h(4pk3(kcDlHk$iKcgZ`^iMu zZ3DX7LzI34om!wDW-n5Ml;Uf?mcmhW>5`Li$T=`yq}~Mew{?jjRxHx**okZ)4*?08 zi$Olii%hxKP~?gLGKYkW=ixV6*^>{}fKWYPz0KmUUVn2G$J=6ekye3(68EHEZczqi ztG7>H3S|KVcKtjPqBlY>n`4PYznezR)u!jRB`UJ?&OL?dhzzVu>^;6VT8;~h9C;PUz#pV4tFY2_A3-nt9UWSm8|# z*o`+*%@S5iQw>>&l%tsLOv51^kUyKb!yCA6c5cnkWiy6k{*3sxj+*4?I!~FCxExo6 z5~uvRp1^v?zrPN$=1ceu-KlnVSJl+5@t(Z_ld<%Hle9J*Tg3ZLQloA^M+iB$OXk0d zIdbLE)NO~jI~L{toGI&AG7ZY2^#wfu+W zcqoxy(7{TN}`ru)5D+>%b@(NuDHRWvwc8v z`E?f$r8ILOF9Cn+ve1LXw;@#EM%e~Z0lHY&z@^-`qw?i`8UHkgn~ zT$Rq%pH9?v9;qSii3I7!##^QSUWB&etNeEAaXysN+RSo+#)yU_Q9^*foG2Tl!`oX?3H|3EZlMT-^1 z6c9G}-ZR2>*|%`e;$T1X(dmuV^EZs?r=sFO<(fHg+~)}sw3$M~twUhDR$z!buW9G1 ze*=u@e3>i4!vwyE4PL?3w#Pv$D#S2;TV~%4g3gclTpY{?V4z7}=qlf@X*M0Y9s^ai z<8^|G4e3o@L*PBMsh7kTC-Y3NI>-z8jnG8q{tQ}Jh<%4-i*N2}L&lvIYrqWyah?;e z^HBa4^IRdVplhQa5;VG#u}H#`rG3&#fs&KrG4NQs3RC@^u><*&G{Pw5400ti!4$Sv z+`kd6Q}`LwRfX_{*b|z4#AYQpJj6oy_jPKjdYRxO`eJooWv+stx_&A;AfDPQ)JcJyPpak4mz`$g`YfC zP4^`ex?}_eUS^~Yc%teD2rS}cx*0Rm~)8uO0(k0`36mo2XxV>WP#hj{Cr<};F;veB( zoXH5{SW9>C2&py|)Aojaq4zlQejlchGwZ2nh0Rzqd-hq1L=t3L**I};eH*$x*5CoQ znsKNL;TFv4s89Bx?`TUc}h-XkZQ~nfO+TXzcQxIhlEFy2oV=%93q1#4T*&*oD zvWuqQE2qKo{_!$ET2AXMq$pF^IJnW^4RBA~piM0gTtn!WWcp^)4sz$;E4oTWUYP4j zT9Eg}c^~Z|n23^+ddD=`U)R zGu9bpp76JL{Smqhy9cm_m;+-(K&B$l`L7eAq{2hrba;SSTK4Li&& zK%YM&3+P=?uIwb@+bP#TlrNEQfqTSX3w*ya8|!`U*QgU^5yQYw!b;cMc5#H{o;zpY z;vcp00RYWtnz0#G?NdGtFt}norD&kWu)?8pRC`VIj;!aB|F!%)$0Vv+-Bo9DmlAZA zMn&d_r`8lPtbO2w3gX2rd^0)U9x7q8W6a(krM!{2Da>QpQ&GL+p5O{=2gZsjb{l(uHH6B3 zMeNgh>i(`x2gNPADMMWl&2U@xb&W3OtKna!clAW(GcxhLNeH+&{VN2_*k!C<+4v1L za#7-18Su&ETX>Cm)>gHPx=oy3Tk(MOm5J8q(inNX^yf;bIHiTT-Q=4YEo;AnaxI z>v5=6Ag70~e$Y1HW<&9LycxyYdh|`$dGq!uM)lV9K_o}XfLEA0)kuubCG->isSskc zugLhH%F)2gCd0pMV@ep?g`7BcG%g9bX9}66ovTf#;{mEAHj2-ovVpBqcj29yskuKO z6DmcRF2-3yUqt>3C*}&$$`u#zOZ1p~4L%-^W zi7OwW&o8D>qEnw)QsMb_`|)Jr!|c(TLp-y*6!eiR3A**h*>O4b_v1!UoyJ$Oet5Jp zTN&%ZOC(@~{0 zQ-?k?@ym9PCKZ<3_gCUc1cd|NmKdYepQR|VBFR#L{9TVPoF(`@K#P|0T_-P6QkLOU z;4uywTi6!bLR(6{NKO8@lgBLUSIIeHa`KFJ*IAcQg-fKSN;S5rGNd-j2~EbNq%BJ$ zZIE$#rX>K+8N{7y<<8;H{zl3yS-y3#;7#-V}IlIO1>3 zB~Gp?bq&V7jwR|ej0*!SSF0khF&Hv6Ar$qkx0^gMbnW>~?`wAH@^H^vW{Xg!H7Tne z3ixg%B>Jv8`(w|9xneRYZ+*ChxTlsuTZZHjeXsFuU9fGMJr6Iks&ZKi)Uc;4i&%E| z!E{ww=zzd&KK;eDI;9$ef^t2gQ*=c!UVdD9a#R+ZBI>c*mrnP@U;1?#r&kLpb&}=O z>12?k`&@G*;f?acGhB6<3vIPoO^p}*J7Oi*-fCG>3b;yjJH$x}7bDYdm>c{(8G%0W zk*T5C7{qQ97> zKdsIqiQ*}eq6XfQuXC{aU_N4#C36#2r@m5#3VHq|51V6G+mDwV12tt5_aq7V6Vt(g}?rNcDaTi`xphKQX&7pD>jLt;3~B-pSn9`(jGPQPoUZ zCqJwt{oT(?b-}5&v8Ta+wzg}s#todX-1nPWb)mbv9Xf~vbxp@kw#S+ULF&@nrMn>s zWwnL0y<~>d)PB8v@k@-|TA*UE`9^>goi1B{rXqnod2YDOCfG>hsYoYpQ9Im&)8hfC zqcF(gYQ}NE?mE82S7o8`AwxxiiREsVIF76nPh+Kg92EkH{??!>1{f60kW_@saaH6hICg;h$#voDYf?B3)3r3yC==AQkTEop$OS2 zJKNmh5Y?-YqXf^K*?;OhLK%&gq)GciJBm+Im4BbU0#vGw!)Uzpn}VOh2K>6>$$DJG zytn5Bq_=;({KK&AjPt|_$*0F#0$PHSlVhuF3)9PHE;0IZ6MRz75}T6iymP`gxhma0 z_~*|Tyg>~|S_8Me^qb+g#eCY^3^*K?RFVlGtFAeJ#jN;NrvQ6ldkf;0k4w4t7~?V} zd7b-~yhEf1kKxv(&M!tDW#Qby^j9?9~jv(e7-b+ z6)}*p!Ad=1>jWNP`{HJmy?Yp}e&5Nc8Ls6V#}YFJp5BE9P(4LIgkbdin@rBKXti3< zSX~;hDm3tiG^NLbF0_KNZ&r}<)HzvNPeFvLOL1VS*29WY&90^FKkv3Q9I#aUBqHD? zw)fP1H@8f6`T+0pKZ(m~m@mu>W`Pkj_Crm8lC8zf?Sy>ENUCN}9dh+bqXmCtW!eQs zOLDL1T|!FQii8fONRA|^?f(Gp7-w)aNY7QZBh z*=->sVPo9jdsf0j38%5}FmVp$Xfx^TXo({1B!T$IAcMXC0PTwC&W+aQRbXYgEX!3k zrsN8Pfhw~y5D-?;xZHrW+=FYIbG{5plNl{AM1-ZakRELu%6iy!IL~|;q}Q@nf>7Vg z(OY7_QIj&USYh?*;mVgS*)BAql5S8OOM4PN@3u3sD66@Zy{xn`1E0QOY|$-hZ7Z0o zE;@BO5}(U!AFYN1Q?o@i>PMYh&RqHmRGVr~F>{5l8*}WetB@;RBh=YSW74TIrM%9& zhf>>1T2co~kQ3j0D|mMkILOP?{{Xk%WphmyD(cQ9MF~^or15mNHUuwKy{&|-cMKf{ zN7wKB`_6`i4OSTAA9$DRnYu(usH#d(Qqv$Pwh%OwTEppvDpg8$V5g$6`v_t(zXDxF z)v@;+x$lG~*vm1hg1_PobTt%JP{U#1P|IUlTWvT00CJYJjrpkC8kJrwSWpOv5{8oA zfQ^N{y|9&4THF${kZ5Y06VPK;tY zQWP~_KPanA|8)w7fh#41$FSYo+9;yC1Z@@Z=ctxQVz>Mk_sBIzRjpM8!O{8z73 zY5Ag->=Z3v$_XVq0Fpo|D(P$A0_#=m#3oaprPNw+uQ(fZizO;kO8h}R)BwN0IDE`d zsT1jGO4?IkkdUi#>^``1qv}v=Umj1Gg|-Us7C$-T_Jm@i&aIcy0zpVVqt5;D6>b}` zo;678Y#S*qvVqdy*YwAlV-aJ%eJ!2TqqV#H;;XZg^Xo*lH*jyLY)5M! z;{Y>eZwij32ecHX*Fo#?h3>&@sOBGW>oCS}&JdY|T#V{&0o)#V!F)~eH8WJ=lRsC9~68<*}`AHKDg(M_nTg-%UdnDNWSLy>NKfj05Ja^!23Et3IGf9pZ(`y|1)^F|2zUb zJRCeC0wUu73K9x3A`%J`A|f&xG79Q{_OFJHhKl}Q<3Eu9Zz?PT92^2F5+c(7hWtOd z_dWm)GGGU=0|!F`fW?7!M$&3Sl{f7+?2Y`V?_}|(vumCt5c-#+oG#nBL>Sk{EoVyxf z|6t$O0OPX%>saIa?Tf>Oftzh_W`;wOV65ompst4=-EjD&tHkQtj-6;L z!4JZ2Nr_;ePeuXSv%7hFJ;g@MTqFFbqpj4nB#joloz+P?(&V3Pw^khiwkCUdS^)iVxVRD^XBywe)KH|cvjt-xM zktvu0cP3@$(^=IvIV(U$s(XQjtbv_b`YtIO(0q{cj811PdyTOA(`DbH>omxN2bvk^v#*_M)6o<@TG{1h&sNX*LzsY4Z z2rC1B>e!Um31#{@8^-o#X1UOx{W0F(V}kM>P-Y-ZwA)pq%*d+kIyp*{r#}n?ms(R} z^>Sp}xL6#FrezJV=tl)0jp!!4&2Yv@vQ_J+DQ zqBdNzp6?d#RlMJxb$p9OX+rhZ7ku|zNKZpE6DXNJp}!|;3`5d4>u-XSbF4<(bT}TH z1&v|-#M{Toi!s_}yH0yllvOlHxW#quur-NAS&n#cdx?WToQWb1*FkXJ$f$<;W_@;7 zRLC+(w~+5HGh2pd<(csn5lBGp)?ZwOF*Htmph`fxrAkLcjq_S9`w1hil03=(9l(^& z&2m@@z($7mDY`PSB`LPtAioZVHm`N&fATP=yWUEzL`+}vQOBpaHK|&%mmFU>=<=p6a2hmNOj)p32u!&ty8nMpLBFUN3?isDpgM# z0icUiJ49=<-i8|jlivZ{P8UCnq#xlRg6*y7@l$<@Xt3<~7Uc}5~=bktz&11!b{9==4y6EjdM zO*raB?Pqif@h`IYc9SyUD0Eoj9h)$TQ-9rQc8=swziG=Vv@q^A^attc`89nMt7DOG z9$ye&sTk1N0onNhgscaSW19IwYD?Gn`SPDW-gUi^9`$HwO|ipU2NPM*G7>{=lI+P^ z*w8PC=?N%{F9_!Tyd)R2k_c9>GV`B-qw7*W;}`+V$!a)IfTQn#qyroUFWV`lDoS_X zcfgBITu-ixG4c+0vW{Pwy~Ak#zK-+2R7%%c?5EWhReR*F9Ps-EeX0rzsgT2j$CSyJyvOujzlp}CLgKWH+THxHwZ76!Z$OFEF%k2QW`znVe3xp|8* zR#LexiPM#`Ju{%2ET{vDvz58N9!z8QL+&^?)=n=K#|)%IgTZs)o)Dkpo#bn##GNM) zY%BppCr5`3Sf=8@_b8o9BG7`(zq?%1mJ3^*@f*8P(lsFNTG=s|D3=EEeV(Y6FdJPc zW6xH1K-+*vS^^;Tcz7mTIa>sB5DW0|eYb9vD>q_y-FSejBhjkY5+}q6H`OI&^nNNw zC&}evxR9~Cjq5mwFG9~EHa=U&x0aQHK|8G@rnq8$H?J#** ziYScZANg6TqLNQMlgvDXF@oK-->_3p>0i0E7-FLKQ0J~}$j54TwGx~xcP9?eukGc} z*Qac>PsNcae5<+#AC0}*I7LjUCVczeLe{!EEl@M9#BzGD0q`g@rj%yl78@wX-XdqM zc^{SVe{&^YDMIt49e>QHZCy2KjiFB3lDkP4kb%jha)x}l=s8GF9wvrA zrgytgA1up}&o<%m`+hr0Qo?qXhAKOA*&Tq&BLKLJ)05e4LlDqS#0B|yj4&};0rN_o z)E6jz=bTx0i~-#{sWcV$b;NZvOemx|xiYa~@ZjfLPY6Am;QZlI)1mYWXR39rJPrqT z{vQE;M2WrjF}nvA9=t_FwG87V{Td8iF1Q=^DbY^FPCp_tH+`w>_u%sB{j6XT@eCW? z+(?CI!QxV%B&LO1B-;`BZ@&ppd)K}L2A<<4oltwLQQ1)rlQ`v0MfX~QKB;v4vB<{7 zL@F$BvCwL%btK2aWh?WS%?#A3bpCA3@g&1vqB>or*EeuS4QccC__&np!*_$qdAY=h z8Y)Md99!MWu3@=gI+d#2+SVIt$PWdPiM-5Pi?M0PlP3>EsGsD}hVWIP`oJ;;vTkg7 z0!<$%Dpvql9k?p{P?4@k1MG!}co2ftt3H$X2$_Z@CnH0|ucv9FhB!3yAC>&Zt;$Pv zo^28$1B6~sSWLfX^YkTHU09ytk@L*znUla5&#c&C4xA#d!_&J(s6+WmJnn2iq6(uZr#w}aY`FZi&I#yp)B}8X&C-p5PJhWr3 z?Q~GBTZ>M`!c>qlg8m|wNVOyU^aw4}8SV!c`6* zyenKhX06wN6#Xr-xUa3r11S}huU_@S%2h^oq_!Q3QruD6YNa;e{x{-w!K5ic!6F*> zfh>S$0uWd)WLZqBNCAQE*4JB~1^si~xv5)`I68nr|xjr!BJ1WB9 z0>>$ND+MeSuxPPqUn^m2NEX_=hiyhIM2=K57< zjswuGFofF^h*NVT3Ez!2vH^9}lZt~se04?_fsaj56rg;h4J~EkxZ^q8tjJ&*#Th|T zEz=NxJW_N@9k?|5xewxyoJKac#7NDiRZ*@tkYQ0JU-rRfTUrg3*jZSNuhs5Ce=+X=DTcaD%x;yTu3KXI&K}T@(9PY3pK@x_$#JZ5-iOg#&p?PhNv}5l=B2%>w zabU|TJ{bqHMV2NZubA5WmUfi_DgA{xhhazbpnm*P*#129=Tw6_TTLIvu~Go)wgO@{ zz1FFrHHb58LA^O}rXZtuOG`2I4L;La()dFbLyg7799_2NvtRiR5U9i3ZGHV|lu&B2 z&L~W)P?z)$F!CO&XyGMj#KP4bV`x(J6N7S#2p%4*O~4#4iB#sr2oJ-ipgt=DThhw9 z4Sk91iw4u|1IimxL0R17umbn4B#ZI?jV18)9L+Ps$oweN*jmzlFUv_dr~~ zz63*!7oER4fM2O9*Mwa`b&vUz2Ni#m zVm_qB*@VK-p1LhS>vRWwlvsleb_h9aZem_nMH~);@P;4WD0^vDyl><77&0SKhmsT9 zxJ(ouQH;+98_(}1fwXk%^dh$xUx-FJL`tTP-V8w5QKEF!K(bg|F`=2M<E}+B+#)tK;g6Pe%y#-Hbm z?#-RcuBL2uF;KzywvF|XQGL3h9N;W_e{SCDwa|VBcXp023118K@csj$&($QK)f!2N z`-%fCDs!BK7$mSx&JsH-e%p`aP^pvoe^Y-QraIdSuDA_0zDu=dR1JhyeB4sa#flHj zQen#5jR}QV@l&&`LkR9dgQ_pN3JTGeMudo^kGKW(Rv%FD~L_iDC885Y@+KwP~75suEU55gl~R zV`n+mjp|d~>3!&@sPWp1o?kT2oD675a|u|V+!;kSyTv(Yzade`Dx{ETFp~4H#|xVt zq=wDCEVg<#Bx-PI2U5AcY|3)PKUFyIxC$V>RpzWHenwU^jL-eU$eWF>Sp^c45Kt4{ ztP1yyP{}_vq;pipg-hueEHBGm&^)JJ$L+UzVYujfwxPw=ZUKWg--)cir|Yq@+c)^+;b~TJ$`xM<(bt z@mT%sb9x^oz0~#Z%H7O=xuLHvwXH8vtqTMdv5Q(MRKH<_p`#blXKhOc8hO093qQb-*9W!kQv#frh|$j%H}?GO2+q# zX0Jvvq6(?Q+GQnDXm09Eu7{9C^R~G0dM7$2`UmX3127fQRmqhPTO#=wD8q|-;lfbq1dgQ)fEONGN=?lkL|^V{j_{ z4H2bkkoQ{xh7y6W*aD;51o|CaI5mbFc}-KDw7sI=+8A5kig_GRXyv^}zJxLj(j&pY z1El0yYl=vPKP+Z{Rx4N0P24KA&&5loS}1};^edOcmmW!n+Ryz!oepQJl5w$uS2W(}A83I`ZTZM}ZmON0NR@dP?M+;}S;i0htvzbW@uX zot)L-gxEBrdUm-tDsYOgheWEvPcuf1{vdwgf?uuNyvs!3C(bk+R|U|tsvQA17iUUQ zXX5^Vk{+iUH+^N@wYO}9(Q9#S-JC&XryCauG0SAo$q6+@RzyV*%&J32Bx>omD}d@B zQlMa$m1h3CDDgmjH;y5&=Z3FB;QpxmM)^+tWELScD(f#DU>c#sB)V2SM$S1$@>a8~ zG60f)aDL2x{IQI1Q%?HfNE0oty}jzww_3}_Mid$brz~ItSubQ;+980)E{`^0;@~L= z<)P?MRg}Fg*?H^$6kZDUY&zQQ7Z@Q(Ak4nc7xB$csV{8;wZ!rLa{1e@xeXQ&-S951 z=XMKWpsfwW^hXUJYR%n>4hlk+o-MCsUsp+S{;Wm}iw|m9^!jG}S^nHIFalq>V%EyK z2J1Nf5ap7oA@Epz(WW!$iIXMRaFRR^q$0Xnhx?3t*qoNnsj?8-iA1dvu$RO_m*rF^ zN5-dwAN=-I##6OG0wtT*hX4bTWggUiCz?O};`o#mX)QJo;wq%gHDXL^_@FF8KpRvv zpCej~Wue|%QD=Aa<;$knj@*u)Wp2G7|2>a&b90>b!m?gxTB*)g;srRc+c?sxAf(8} z$O#TnAExEl+h&%EfO}JBVzWF}j7`pp&6rTA(U+gv)blEvYWEQ0tq~)<=WH&WOz?f@ zBm3m6=Gc^%}G>f0S?Aq;>>00jHVNU2`$eLzc1zr}*ABJLVY85FCS9N_pkCDTl z+Vz%jM&`c*B-5IJ)(2?Rt6wH z_Z^VckS|Jj`cS^HHN<7lrq@>iLMG4EX?5H0(!29L-%$h0M8j5%iOe7c7nJdQIg?h3 zx5Ti{?b)e(K!QM(6$B{O_CB`7JTQ>JGxCovq_8VAW;J&1+lS}^yJzPc}uFkJ|h4t~zYtOLwdg=!0 z36A;K^{i;-QG#m?P;dq4^i*`mO_{JVYUu<9hf)!f_$AR_?b+X8kh|S7wd4DUNBoVB zPyoFtn4c_TAyiOf(|~9wxjCg5+MBQCoTVt#_|d_|JN+H-31jmreH0!bxZl22_rPa< zr6S$dKMr{NT#lDQym-Vy70%7biQt2-mOhM zOs(8XQu!(-&_)AG#A=EU|Z2MCjt_ zHp@&@wt4%ssB@T(V8v2eThpGlUsNipXxCtOOZB)p&=;iib3vo0<8$mI(gV`_Z|^E*;Du!kfY~OEZ&r80E0+W&d&s1&^`MLYtTulJSfA^iP|(UPcN*uXLfuhrn1r zD@|)mcYmsa?%ZSMTs zyIIqa9w*JpK!s4$elhokeOB5%tigY|Te8(l+L5xD6#i&YjhCD4E16HxmWx;AL15v= z$o}|rAS}x4c8`WA(DzttsWp5}rB*32o+*AP@=M3;(^7sQ!;fEW?Oh8EB`F7z`$sm> z*d(!0>je+!chA}|@(Mo!ql;RV!#u_dR045s=r)hvCIXQO#Rd~pEAo$@bjEjuU_asN zJFAU<+)?3bU#Hx#ZlVfnbKBlz?IxNeW)4l|6_M(3c_W_BQR>o1V@bsOUf^KK1#)GC z#YnfgS6WKer!ipRhNf?^e%xBWE)C)2LqcE=>PeuelpxG-aU&R$d>n%l(lfPAYz^PC zyNJgr5VF>mHT7ShkQ&sn)MDkcZeb zd{ak&-6;J8RB;vCv0{(r+JMg)&W{R1LQ#_wg0yZMKVWBUXTXV5kh;|KO|B(<^)-4z z6vbTdxRd8HN7acQG03acfa_G%&ihaj@fe6b2)_?%aVnia`9^)48czxfzD6PCwZaMO zBTpS&euCU%ks4u4p_t_dB>Gp#j|ikX8y&}N&bPDd- zMFgVP<40Wbm-;k{kLj>v#9t;-Eu1qf9b}@0#vAYPI|=t~h8QiH=tG?8b4OWxb$9hu zL?KR#FB?+itZd*?L{>=hh4`rt;e2S5jml{HFYk4QUb5dw#L!r3jv8+nyd7_ggi=dTy&&97A(nsTuqQ9Gl8KLeM9lh-xHaP%5i+$4dsGD%Eb+LzXwjE z*Kv98N{-|t{Fi_wB-*I zreawp4mol>nfJRGkRWVaV$ipz5PKSiy@k(f-}eKYFdEUX1>h)tJK2Mo1I9kvqr{3M z4z73%v)(Mn?SpCb?o&I_xbFHzU`pY>qN`S^tF4Hexc}O7a&xLL``NE&1+%BIK{?u> z6riKJH;exSR<5W$9bs3kXgVusQ1IEmkbD;5pRP6vrmgpuO{!HjWeR>D;qof zr99pDWH$aP1XlVu{LjOk@*^q@uY&HG$2XEL9u@%>@ zf1b+-Q7XI^r>{8Ms(ST>`DG2YO7Oj-C$-LkeavU&F;6IoVx8x`{V6%6O8i@bpw1Uf zf1#T%2gr%^%K|v|R?@N0vbvMcF7l0n8FLXzA^8b=b=It+YlsFaQ#WxtBGzMXfa4^2 zrjmW+XT+_H(}EPPB3R(gIIY3%Sb#`xJcaIu_q!kp&+fS`*QJi7(eUJ*9A5T99NS)Qa<>gxmcX(tBDA@~|ghk??f5`AP!zfPJ)UC@2nP9kW-iQB~C-Biz=;hQi40&Dg? zyDOIO03{G)@T&??$s+guSu;S*JfSp>MJz_u;G|_J649MBEX9m;dI-0_-FfM}FJu^@ zqQuYI(Ui~C-2++)RcHKA2b;H#$jkqHpf0G~owWXx%7H1vn;dpu64ASj4exoHygh8+ zL@{}I8)c7dzoZsUC*+;l+M87cwPj;t&F3D)EQOm97h$Ta)7v1&#oezK}pIka0UnS!1imXRVT&E-j5}r(9d^tUb)18md*|jKd;JT$6@Tza4fhd zb&ZC?mR%o8SN^^3?zZq%ZKqT=!$@Ls=w8=5K-I4J)*9o;lURh=i*bZw>SkSd;&M}x zG1z`rsy2v3wWgp&ia%4BUrV+@r9O`DOup9ti3U@xHVE-&<*Yl`WaoQ20B|X%9ckP?Tc$B+eB_&062o zFzWuD75ot_xQGbjb%PP}?rz*ha~SyB(4KGLu=GEEbj%L<@>}A?El%Q0Pnv(qVv_<; zbp{$nXnCU4Gv}8WFT(N~@jXXfT4{qQbY6{D#qoC{W%$RR7rY?{4pHssWq`Yz@pnM= z724CP1e3>d9m{DVSzQ*)-!u^ynYKiA!8k`MG<3*@}91iTe?lI=)dK4|&?MpYdJ(?r!mzGGcXBCfJ6W`Mfq3hofYnqfBzlZyp-Z zk3UdR0`?=WbVbWQzI}vrOIkrFt&%@aHI+0?eC6*y_s}?PCrvA_vI-IzQlN{j0V+Om z#oOc;7;q^rUbNUcnfEl~8BUUw+DwvY4DEyVMNTJ69yLD;;%&Yr*=0oON0YyVEYgG~ z$1L$o3?tX^s3M+%#Y4NXxlr#RfT_Bb zs8R^2$oCz6{l}UfEw;8LQoXzmFOhys#%!?sv(7T^Av7{Slw~>VE(FtGGkAjQi{WVI z>Brh?ScE!GV@1$qnK*fOqSTA;>oAbdeS_R_o%cL7GJFXiTL^rs=h&v!>9V@6A07JX zC>U4`mY`zAtJekzy?B<0R@E!v5!#;?HGkTE_L^g>V;#OMvV;R#;6)7DoUF&L6}D#k z?x(88qkNG+E_WNY`Gw?(mAs%aUVf|X=Q{eQlKl2uNT;=EMQ@8bN`N@JISnJ;XD8M| zUX3xabLur=uv%}Vmwcg~^}<}S`7siocOiFwE#GkEQhCCaYexL|N_DA=^%^aR-E8Sf?$Hm({rnvN>_A+o!aKbApR^$B?R$`%!{Cvr&&J7!jMiCEa2B zV7cFeqp#ugceue>uLE21sMoV=(9GuSE8Xs*1b-Eh+2!c2r zg3cAuf=Ok3V1@378NQg=cx!&x2nky*3*@cHYGv7@pZ7)>Y&uclHl?>>Q9)GJK3cSB zr!?q%?M|agk859MGi#z5upRLo7m6uOxij|I6R=|25}8bBg`f#=%7<4_2%@Gdjxe$) zQ|*4=F-;jsu_L0BR0bCH2o)glbN9QzcbYJhWqkM!t!wSn`=#h0e$Zx>+2T&zN6*}` zv#eIb{HX$Ay8_$;-b`C;woRce?4me<#)#X!nsG zAr^Y3lyXAB2k;J?QH715vv2~-PNMHWRDCaX<#tPEoKf)))3+LNL#{QPs`kwufzJ;z zw<}d%k8S>i>K3khSKF{B`pcV3)FzAe6iCdogf+M|Hk(04s*tuwxL}(HNlo%g#HAM%Srl3G*q%)WpC;Pe zSEN`JzQRA_x0oIyA_?{eym`9`hLS%Qp$?35B36NMLjeN@Js)mC4Ze43P5c#o&t zXK`M8ja2~wnod+|-8oYFg+HxhfG&cYv$XKX&)`SuNuNqj;+>fJj>QYQ#taP(l;S+a z%67_*PIwDpO#l1p#G!(S8{d7caI~6ZL)+EvKY4>#6-pKr>ua@0#svnwI4w%?rxyCi zhi>6=ZzfB%WRY9BgbTNu<#TEvq)z;gP8%e9&EWp8Gri=2lna4Wbn&DF&7+i=3M_-E zjd!e9hF61$Xoiz`ogs=C6{xO$N8Q)kU$?+hM6DW@@krD@qXu)Y%q0n;LrJetkdQWz>x8POj5;Sx#i->+%y~)Y%2FN zhJ__oIftIVva;FBJTl-&o)=E5J6@B{8#|A4M+BWFc~is;!-pP%0&d!pxSm`gnMt(=U17j^lr(j_>CeD%9<})Jkxp+=6AL&Yy?R zcg)1(^tl+ltwDf{Qy%Ga#`j=+?CJ)6IAKolMOy1ME%iXrrw!u@P*$(={Phk1##&j- zEG%WN7_Lvc;Ixi>Y3CT>xU2pVvnjUWjzo zx^fQ1dl-*e09&>b2`GSs`~SVXoN4}?u0v%|iRKZfQy8HG$+ zzVXa^rB*-9jleSj=z{!WhMP)$6O%IaK zQ!q><_tWbZSw|$=BT=A}{{?1P@R4e7+Cp|QhOfqr+)wdqZo)etC)eUMq|CR_{ynrT09q19^BSAk2A9WwYxZ^NWBZ15 z^)e@j*o?m%iO`-htm5u52c4z}B6pz9;Me7M%;&m#sHlcn_O@J_;9Wp$Ogya9Je)!8 zWCOfH97vo8YHe(dZm;g@_nH$Y*D!r&3COsUlYaN7zMXC6_-6W``=+)+lJx!TMrJ2g z?k^;#Jx||!vXcD6R&=vlCk7o3)+$+_l2xh7XcDzL^N_Ph(AvyR#mbqFJ3gSAf_nzp zA1{l$@@g+K(@oyGJ!U+h(|#1YvC0)-AJclV9(ucqc_^MRuH1kYa7ch^p$E@#S)-AN z-N|CyY~;#Z%>TK|hddz1Ka?stEn6199^78G%v9)#<@Qg(RpZ4;1?0uQcf2c(@vZC8 z#MO%r`gdA2s}#)hvfYPhteW3Elv2MA=_4M0o%M{vkxs&Eho=l)sSd7d*j(F+p0d(v z0^k&Yvslm5J;?I=L5t4iHE;CUK?)vzjvF8k(D$DE`~oCIfr?5rp>8=m1ukXgYKugv z;~qdDbM2(43s56^w?uCJHt6I&2bJ>&!pzm)sfP;dd0V0!xsOQjT@kphP%1%F$A*+* zDE;J+6Q(u5rp~aNgKLvMbCj5JBfC~I$uD0Kgfb&*-(*{4svRw-?H~S2p{N`|1zk!@ z3TuI?9!GIvQ`N-mv&`f{x|MoZM40%>7Tp3M1(9Ox@9$1vq6LBgz_eg1Z=WOvJp#5P zS6)c51tS7H3bOOA^8seK_Y0LEmuQf3B}Y-5I$ZId!J<4<^6zsa40qR%tuYtUWw@;; zY|aEdo0o4K!^@tkA#?I|G5I zh5Cs5?~7_bU0`&f)bq)$9+My6?^STYu1uBbQCq`RJq8babkbN54UCCF7Um;Io$h4` zsoQwe_<~A-J*Cv~y$d$BB7VP#ao_(N)eB4#k8M!$W5w)IJWN9eKu{U3?- z2C0KMANqpqpdZ^wNQRy$mj{*vWy)MxTPg<_5aBIf^Up<(KXyIRUAH-@j!fGpaM(Fh zs?(xdb8gCA7&gQNlgrw${)%R$#-I_9I=O3+rG*dJtN(=@NMcvI^15#~R!e+75UP5% zl~SVWlpPxN<<}uogTfbC`sn@sH^Sz*^K{56!YVPm)8RJ{< zRDQu^Md1AXyed%nkO9iOaD;VnSNVy1`R6}1>;~EODyBgH!Qbi|DFckulloV^wAV?3H^Tb+n37n z_{^4)MYH^-!HYkWlLf9#>l*b!Vp!AfS`w!LnImYZY{WXQt}FZDi~%MioL2)MbsGETeYeA`H?v6%y< zP!C9KzTMQ)1EMtDI6NbTw4&p6OR<_fL!RN^mC;9A3#U46G@3qK{so;s)~Ue{6uM70o)1dwf`~jcd>%0jVeSzra0;PRRsFaBV^mecL`+HMbenE9Ghe^-Nv{LmCv( z_!oI^IyJYB7wuqZV9!*kC1pO;{by%e%7*f<1rQ`ct2L&cbdMXoO9)!~MSRq8laFF^ zF2Indy-PpIOu_$$?Qf%LejKris^?g3VQ`j2JJTSsX#k#*C-jdv30w&Li*7W4-vn=I z+~}X~kFC~5UrayRxFzB-OG^%o!zQoxljhjYdojj}atbUK)EE~hG^_!XL_{FBS zL?HE~iLS+1QO=M>4tPhoIDIP3ec2SBKI)vSr8djb9*=@r@l|t~xW1lVuV4Z`r3C(X zyYTOCdOIUz@mea*nmxs{9Abm5E&8O4R}JL8Srt`<%Sjcv3)-NsQ+>FdyAE|epFA6x z5&7_ttVNpcD?=dlb?QT`-|fU#h;rf9&p=EjW3&NF`=iVT6~{y zBZnN3sWHE`a?E=kH6wCRn$vRdQ;0?t+pvcktVSE{5_Jk|+FHw{S&UI2ihiHgu78b2 z@*ep>>M3N=PZ8AHO5TQGiAfR#79V}6sw3a8GaPdir*vu_|9V>R&%c zAcAt1EOUy+T0^$t4pt}@W4Sw^)IC%D!5ZPy#66{Uac5pfueoh$Wq!cS4g`731xFR- zKl5;Y%7iQ0m@r5m`o#TYlW>@}iyNuvY3wK9xL>gVt*W~)wxa`HvTW3Vbl0;D+Udk2 z?ID%}`;fwpwzP|FYHZ!@iq~Zf&W+LA+A$I$2!Xr!iImFqzJ=YjKF!(#HI7jw?EjQut>lC%@x0W?_|5au7#8q+O>geWzQ!Qzn5cd3!B$eM|PR za|NaE?rs#n+JbecewvI;&jW-Ze3jjY$PyQaG6dSR;-Jr;eHvf!r*hQw@hIJjnjr)G nR@U>_n)w!|rW=bRcG?wX@5tkK@E_>Z?3j|2j|*_QSIs$}ze|5N00as$@-hGc03jw|1F(UD^ag-Th=f9j^tTT{0{|eS08sv0@BbAVItnTV5;7(L>tDAh z0RRaF1qB%m83p6tic$W36EX@a0F4lxh=EfagZPcw7ZNBVS0JfGe13h;Ib<4>jEVdA zYZK=SW_8nqe+E=Y|C#^O|FZ|6prRoop#w1fb#f2_kdcv4k&sc*(EfJ-5;6dV5cNNA zVzoD4;?L1Y7@>jxoTo3i{w@Pv{hJ?|5QPvR3OJVy$f2S@Dvk2lBj4;)`TdggoW0%f z^+Ul2-;b3W+F`w~$Z+Ci#bel~Gx($#u*6`rcwAUCvCUrkHN!%ab5=My!&&>4#8qI8 zvOf^Dpa#~_lw0O8c?V8$A!@h6h0IssC&%h$3<^(ume)MyC%h$w@?V6Nw>xqmRo9Om zd5-o!Sid-b;}0mZ1{RqJ?tM9}s1;c|%F&QnpfVaO%bB~KlUO6ry$L+rD=)GgC4Ot; zUyS9%TL($b^S~%Zix1zBJkUL3qN5(U;2`?!rly18t*~6jkDdmalKWaZ7jhqYG$^hO z%0OPV#~oLetUUC(K{-2gd3o5$Avng(B93P>3EW`5+tJkLv-MY8R> zRZX6|*J;gV;N&t*-a|s!n?9AZg#FD%3rS~ybvOTt&_*4Xm6YTGfAY2vgTa|8`_tzd z{O`JcIQR@4T)BFl*r+hSxw3D?M?c5KR(F@3n%e$EFox#cijpkag>=}lkQ7~OX{>E} zom%@FeJz&Yrm|&Ikf+Cf7+cB(?@LodENHa#<7Em5qi=fL||jG?VM?(Al(hlElTUw>AelQY95?3OVpkLkd9 z@aP`-3Lg0-Bd8?8{QYe1j=zE0;0`Xd_Lxux>36Nz zBQ8-VC&7r?n-WVohZWv8V%E{&DrpGT zA%z(t?ASJ8TeT?%owHjrJ-rBPj%G${FXQ`~M|O-WJh{Q{txk2vo^RSGZSUD&Nn4=% z1M38&_~DfgocF%`gJRYd0bi0iQ7UUX(hM-!=f<;}IDT6`M^luLr_f?MP6(m|pd`p| z_#SaxWEnQIe!VWqR8tQ``wL(S>;w*Aba5_r+4{{>YD{|djU`jyk@ZUAHW^+LL0gz! znLWCl$d^s4I(np^8I-VTSOICpF9YlqRk4%-+pGyPFqBCH$nER}l%iyL^3Y%O^W6vC z7s}zUzoOZ=LoqIsnF2J|bLNPQLi{F%vkvU7vo`(iJUHAf$aS zPV6OYH;(61qycFg?m~<*WRr9*YBy9-aM!A4|A+a^%)zMt?kf@Zus~qjmF; z?v2YABBFXQfaZnh6aLUTL#>iJ^{CzazFo(_ zf8VDV8Ht^NAB@7Z6>D>~7zGpJI{Kz)h&4!4{_t+>QZ&*!7}@gRbI5}Z16)tZ*nNY5 z-L>Ul`zM_FOGASyfXNxi{Zp9l&B&JeXDb4y*SB}ozA|k2%+MKZt#uTdqcK?Ea8fgd zZ9u2=H{Wq<&ps*5FGB1wO$(?=5ZJI^LFX2sbZuxjH`+d-_f{<|Savtbrp=-`(1NK|D$R){RZ3oJZKh-o zv+ZRq+Kyf^3L&7&BXWlr3WssB$TqdQR93>1nJv7n2Y97O^;3AQB*Gm^)*k)snmeH^ z0V?;)vHBX15rvCcK=>!Ee*GDxyrF;TTr5~sSM@~_J$}B_sC>xgY zi04o%)tr^}JWGKCSVs!5>;b*jZ+^%5(&CejPwLlwlJCyK&#~>yB}GS4ECyO)E1E~b zwVrCIbSdO0CS1;RoC*QdvQ1T_cLXZyPO7uVa^_)r)@<^>dkLeME(~8|J>&A&Ho(I& zT|h(OjY)E{uJKP!-s&F>`9-Li*tq+}`V;gtGNoHyU{K6)Okl>$Y;F~w=K7C2r zjeibBABRQQIcsDFvqF(2Ps$abIAYB7wayT1*SmMe3PM9kE`&y048K8{d%bL% zaE@>$t$I1gOp4!gR^EDe_Du;@BLYim*Cd&#)`}eOy^RwIx{NZXB98OY?Zw&MU%;C) z!|>ycOBnwV-PVe$g@5ID?$(3-s^QMBL}4ROc@eC7JrX0DaS70&kChfP$I2a}@zAyb zm83ZRFknC9Av9M(1EVNvFM<0?KPw`Kz=#Lufrk=pX}W~8+2VVPs|%|u&pwW1PEs-$ z{W^Smo40@N5!;1 z5Vis?lg|4>aPE(MYc4sbi3~ zUl|8L)du*yi{mp{n+Fx~<(T=?SI4)F*?$N4ag8riomBvdp69hVVzz=1>Pcg|_vW@?l|-=K}?!?C(-@ zm*h=@tPG!T2&W30t*I-6r;yGjNiM9~5W4Djo>g2^s(%6HF(bh?JzF!}p-2gGhu+@v zLniCI=Z+`6tGf*Sz|WZz5@BqA$N|RJY)5*%t$l#@abC|YTHj65!=J)8+&*YUP0b{E zs3b+fixdY@(6dN`MRx=$`aGU~bStHC86Ka&_dO(?>x*ZR`63&B_#H^Jjtm>&y+E`e z=19>qd|NdO+3#o!>4bW_pfN)g+5`bRx-|7q)>`js1G#m12@Ezo@B32i;2n+ZsTM6j zEX7O|^Rc9|z~HMK8%%fc(&`qRZwr&!Nkk2o%5zsa!bzSKx8p)q2-i+x;2?9z+gB&$ zdY_d&F&L!WQP1%)YU}eT$LH4FP^M;?(TduV?8Ox{a#vCDf1gP&bLMhux4qMF?)nSZ zH2-oV=mep$FEF$>GST1-j31&aRlZ66(_a+bKWJoKCnk4;y2VrO8EV#k@axdsh^)92 zMm7_OvJp6YqSzksZqtR>=GchbzL$P zm(MX5K1{ABGlNu{pHdAKn&WO`7EKmi==intTBCZ%+Q~Q?5eM;z7Vs_BL z#eV^>kfdLeHa7%SeUS%js5hS%esFm0?vh4iF%R~sfBY%f`KZC?!)?bYA*M^6bz9JA zlHWx3!`ndyHYF_g^OCnpFbcpM*i+qj5mC`?^47oH(r@T{@qPq7J5nF(HhYW}Z{u7= zvyNf=fN}mnY!P9c`US)@-lC&>{#ASD5o%Fc-nqzMz)XNGd&cLWZ?@q(4i3Z58|auX z)VoE$T+rC(ZuInQU8@J*K&>xou7L94M}Z(v{SoW7_k4##zSr{?TJ}&J>%PRZ0cZU4 zyh)vRax=5cMeK(&BO}xpms?cOyBDuN6*+YB4_<^j287M>_QvljV^(rA3>}O|C<3Xo|8cWTx-|v-1^3r9wj~UuOS@ zt>9!*^DbP%5DMg978BY-p@FGYOBbJVVQ*r}DNF_ZmN^c_lBVgs@*eqA@paE%SA_lAl_wK1>o z&1c=e?y#*rp{ujXQmv`48QY5`$d)oD-HP&Dew@g4Mrj)X7`--OM@qaE$%K1f;Bw#!}S015j z9(t8HxxSRXTqF%&A-THLNhm4Amq2$XQs&OVK&8FE-K{VxDY#7T_1iRS+(qSU#$qsa zWXz&fQE6HJb}0OwmP^w!k<>w8X>^dq8C@J(&~x7#B7Lw#WL|MxKEahbVZaeZPo3kG zvw|mlC9nSgqP00{+@$-QrF=1{xMCsuRc9ep-y4ssk>Q(jrsJUoX#mNAyiWHP)}VT# zVhS!!iK}7NxQRi_EQ9=eQ8t@(H$}#B$ecVqG$uF;8+IYU-zpW#pdHKr;;YXa)iGnC zI0`(R{9z*#Pg63Pv_L;?Y<)ww?i*qvxUt6vxQJ7xT)=`+YU5hZDIDZ&? z+%6|e(Kx!8-xV1(CTem?wiGgfd)fCgnuL6+KHK$+7nsFEZAyv}h?=&wbCZ?jaFUS_ z%eNDAH<>9(K>}_^f*f>lO9b0Ska~pXG={AA(tOCr(mt$om8}nm_v^ICK+Z!89gROJ z+N&#rWP?<_`t{9A?v53lu_mDXyusXPkr(gbSC}zzO+^H}1cg0i%N7e`JG?WzRk8AS zqC8`j{%J{P)Xd`kKH3(WP35d{YwC+LviCFT7%1Vmc~KD(`)zpbCgoUEGRlIHtt*<` zR*=O2SSe$%(Wkoc++^-3CRqL4qh`doF9&1m!f|OQp==`V5eI+(5Ys#Rr-!*)5ZUPy z+hM76b3uvbK5l|mV-NqqU8&pm71d1xIdYL_X;zy@LG7{${inVi$sm7^rKz(WOr5n% z^q!m&TlZ{s&Gur>`%83eXLRu3UGcY)q(qV9l~kP-6J8Hq%snR4n`-RoQtJ9aKfzC= z?_Rl1ocZ4sfne9Ilu;GSh)7V;YoeGv3X0n@tq!C~mj$a|I55p~&c1T5rXF{qtub}` zdplC<_YPtdgSXE>Ww-fIN$Xa#Vnt;tC}V63&A~U#gHDMj*J>Myd49UDGm}7BvBayK zbr=%%Ub@AZ8t;n)>T0Sn6y{Xf!L^!2`wUO;MOF8K*A?m^Ou8oQVEU3|5D|BaXd{}sChvW|CY zH7YF!dvV3QdHU*otw9)0PFb{GjJtJvztL9Jv29XP5Z)Yvsy%8LmzHpqyXwzsYkvV& zGLqG6cr?~ZUN|bh_l%d5*@dx#zJgB_$R3|C7#k_Qp_%Q??|=g&;`-lci>Qg?h=Wvw z0*4EiMy-EJf9%+=I^7eUJp#y2-!0l#wyv0t^YyTR!Y>xeD;Bf!y zvzHWCIvP^wJBQ^DV0xE{<4^$5SI=mL#sCx3b7*CgQAHI(bvelfNf5wOmhs$HJHm>3 z_qx`FNWS}aa50w~wUI-(z;q#*^Dh9>oG@DKr5JJgYZ8_C8JBKxC>~#-!|9uiB%3R< zAeEZT#awjZ71CV+W$Mr7_j+#;JZ$Fopadfho9tak-d_SIgYy%Z#yHXr-85K!cj5luT-jeQ!IPPEOucGM2@|R*^2NgyS?lVU@RkR-jGHR`& zj%8=I(p4w-?(QmE%w*lZqlS6_MIGh~lvglWH1%cP936bwZVmG4q4zzoKmSQA>A;So z2By7+>CLSU&vWJeTt=6*q50VTT1KIvfC^BC?*@U_ZKZ1!Xh{326I~wdfB1pRcvXg% zr-}15z6EiDx5~kK^*Z1;gGeDF(yOZ;S1g34L!4ZAu#??rO;D2l3>BuD<4HZEm#f5q z3j3DbjS`W%=E$B1RtOo`jaeiJ^)rXYHb4<;K}z$yH-~pfV(hloh>n=F+r5@f@JQ77 z#B!?>19OnUNRqD(Ba79b9|j_F%#qUmNV&*;hlkl53_<3{)^heb8RS82W4aRNjkc~M z@T4~ZukvJnKS{Gla@d^yWIgF~7?9%OhTKeHQH`*1)>EX#^FW zIeL^^PhcKNf4og;7deVoO~@`qQY7DS9V9Vp%LNP^k{qxZic4SBiv!4vfR3*+^}E zHGuKWGdo{Lz3WUDJrAe4x4 zD0!Y(M}bO5LSHd$pyy>yi4()MD%0R1$}39yKCaZ-^V=*R(a0)p*c)I->ULWPb=7uK zF(UvP<5@!Pq3ByE%U^aQwfKh2pOCP4NJ+yoSMiG!vpi&og(fjR0VVIgP=QtjYbe|NB)p#EmdHD&cAT)9kWlc;WaVqi!G0v_5DnXfe<8%#vG*T?UJ(fIxasBC&) zDGlQdXlMjTc<$DS;|nt{Wb<1y0nl9{OXgmiqWMyau^kLvRl@(+hS3aWf8KnT@ZH}= z9B@2Ivg0Ioh247z@yo8CEnTj9mrrgE2#L?J0tKC?nuE!>bak*%nm^>%3yZ4#u)?~| z5VosAr`O@iG555U*~zO-+5&i#aU58;NRVvE4SZ7M!q$gmM{X!Y!fx_isuwBx=!8fT z_>fsUvoPn8_#7q}spVgR0^%-Zh!>kt+t%kv!?HhX{ZY|tvuydAx&!*029p!+SD(9$ zBnqXy*3+*4GgBz_K2e^^;*2{Gl+{arR8HWt@}j zgmhcMV??2asaj`Z#qH05US~S*=xAKNC^e8-F!?*42Jwm5ca`Q}A6NJ%TH}aZVwIsu zkJ$Z51a0bl{gf?F1M6?iyGRdggUEKO+KU?|tC=OS_`#F+XG)jFh+{2tlAro91fNvl5vcPxJ!L}VX8iT>P zYM=Ilml`YP&|0B&RBw&mZiwcG!GeC3;~kaR!nQOHm3Byg*B0G!6CK&dm*N>dH^iwu zD@k5!0G@i?xxDCdQt`pRaz*KZ>M}_(JWEK!bMnXi(yVoqyJ58Qm(pOd#f`(#*^zzJ zAp8~W(Nc{iww4qedqZb)xI%u#YAw5S1io5PX=!V~Y-$RvtBWEafqa6x`SuT(pb#b{ zH3fG{oqO&*AJTlPSe~UUL&%0bq@003%=#d*?h*(lJ(`@CeN*Bfqn|8P!ZGp5rM0*Z z;ln?Bi+TFdr{(N!XUx?DW8`Z<>{MsuTk?&>h(&lYbWjwyd>QVM#D;p;W4&-2uqY_Q znd7~edt2E~+g}EX@+JIIgxY|qx1v&xQiHV>zZ`I|;81sRJTRZ|t5put_(n?ZE4R(w z9f4Lud=&neOVsR5%1>ttZ@x}GW={P?e3MyR1JdhdCooHp%j`{oM*jMT<&Eaqn8vfY zTSk=;2Q~v-WS8KKMnH}6Wf5ae1xu%U%e``+gu9s=4^&Q^^)fNa8LAjO_EhO7!zp61 zGUr_IHAvwvfOmTCaXv)g$mx4gmK$IZ7wnfMu<2BFwN?OGPdHap+;U`^PELA-HI~c0 zIa<73uACS+bRq+S*KPc!-^LRz(=1Uih=Uu^gQ!hORxM(Z1}0qMd&@(Q-rzmzf`cp( zvlP~P=-A4BH`HZp?H_4S68OPKQfJcaIx0RIYFY$=!3c`mLR5@a22*>CG0c}=LYJh!hx4Kdf&sff_A{U`jBaW0S% z&Rqz_k=Q?LP@uS)kaw1PbBpRv4?9Z*XaFCcucn1z16BO&E`X1fH9^2d=OYeDK`%#f zO82%4;WfrrC`HstONN3Lp)hndL7a;$PK}$1`mePHY>a znsfrlx*BG}*6&bAWL`A#Es#JGiJx3+k*LOL86&N=C~vs>S5k|#t<>h*_;9Q1rl6)L ziw)sJnrt0(%owd9?9(h)9`YE07Srf7XU-Q`hsnu zm)A5mk?YS|UVVLhL>QvZ@guVV7?k^=?q7bl?T+cywwPgRI$>(6+ zeX#4R?4=$cwdGcz?tE|W*XqMaND;fc21yp-$wHI{D2({*=c%nV`o!j3wp{tyJz^?5 zB)3mXQ1x-4xa|}CH8tdx^*1)nqc-t%R@nCOLw5MTy~U=&U*M5+KtoeR=r;e5fUu2B z-jHiIpfbl6cETP)z1eWlovnr=`l@cN4}X57!ye|flM+#{L%kLb`@9fg4RqA4vHy-h z8<;pbPHd_aGH1!6%P7zH`E-8vc?^aqIESp<3Zr>DRs<`3u-?TVTfur}O9h7Jo;7vjm7UsP@B{wW#>TQcUg zibhO8ZsgYcc*?>pL0RXR=C%}21?z9a82-oD3^7|sOX<7G)zeg-hAC|{i}ceLzPC+3 zN~6dEqD~=gM>7qv1orJQ2kq}XN4@goaYF%E1EO8l-sB6VH0k>Ckfm-u32PB5Tk?$j zCi!T>d9FMI9Mx`ZhaWYz`hhg*T9?YAto*t!n!CB!H^-wihwJ&xIG=bs^Fm*pbFN=k zpY}r&-y*4(vSOgIF`3~x18LYVT__i=R}DO`n7Vjyh7=95SmT3LhawSm$^?9NI|{-g zHntg2X1o`c9_axEf+(}GGZm{2AjVJMo9GjFV6o82x8Y9mo46Xu#Q2LD7Q;5*g`v$2 zfj|dR;3DQvv%9KVwYQ}6m{Dne0kN&A*)06`)gA_tiZw!SL=RYzqF{KILTTAZ1@pII7~`joh+*#KZ?exip2INeM={uEMdzIHkT`N%Ej7ruzV_Y^^k2b-4yfI-E{2J?0W_| zc{JV0acNlnvv&-mW%;MyY&3Yl$QwIVuemDJ5EfSYZL@ja3>ZzBz@>ZDwXpkisJV=g zWbt>5&&%d_)o*U8O^*m@S0r3|)Q)0vJ8@ci4Cni#GE6{9f`8bOh$Kh^%9$mDW41CJ zvmOYJBcj^1ek&71?P0WhUi>qYovwP4`njx~DDPB#2m_l1ZVNLh^Gu$vf-TXV>~d!M zWwrMkygn;~ndrSkyFWxTd)Zfk#3^%Oz|eQI48WisAA5asd6BBXmZ-;@W1Cq%3kEso zbv7Kd7A!q#Rk=Zmr#~y4F&|{F@+6JK{XWk~J5?)Qmof&w+(-#5cx}E-HmZ?G@VOF> znym${LoSl8`ad^|GT?v;v9b1O&_E@yr?@SK{y3P=qdIQy%Y6c=*0XbJzZfJBqgTL^I()l}$nggQC2kZ8t|{ou(q$^v%0pM9<}ltADnM zUiZkINWX&5)5{JX#jpw(yvr)AJ7gPNc(>);fKRdbXiLuK)^q#q{;4T zk!>t+RKdnUoxs_2w^@TMRGh>>Z%<9vsn$BlnQq?%C?-vA3)CB6P)*Nyad`@xn1VvYr8V^)xP|~V8YJ;x+cv<$f$}fdp*u%KZm!V$#ab8+ocSq zh;Orco0h(5Yc)|T$d7wvIA_}?ney(O0QOt|I+bsR> z%pNahwwg-zjsgM6$)vv-X~O#L+P&5I8FtA(M5^ioNb%$!V}7osRx?8iL&x2EYtTst zd^<(1y+0|3-Ru%8(wcap2#d^%w8MY(WWbL&48X&LIR<3AjJD~^>u*vVTUdKno-~+} z0wlt<>1xkQfHeZE<=0$QRZJntrW92ri@wlnrI;2Zs3L@nng-8FcD>qG(`IIgv27e= z-XpSjM4{qZLnH-GhUMq=pZUEo53D`|f*c=;5+n8jFMjQt9#w-5uIvx6g)QJQtt#5Xf% z3IttVKPe+@$!V~(rc1TkFnv&h57lT`=SS8M@k%-sH+i^)!uyr6z1B9-G;!Eo{6}{c z>Olp}!)#P?vZyih3hlkfsG&#A(XD;`%h_!PW-`eK4qyyt6&#kx(sEq~Dmlb{ zeew94%Sp}0rVy`~hhDKE;qH%gTGs49?OAa#$qrulVf=RnGiuhTsI3?-Zl$25%^x&M zUZB@lcCkOyC3%$K#@~Ndz1mstr#rmQo9;IY9IJuzw_tmviW%m?YN6>kJ;2^ zuwcTBx1XMqJv}yW*i1Yn`8{+b*>q{q+rTU)Wj_y#^rS0V6M0LR{&rcE8C~QqbuzC% zL4f?RwS!F2H^PSGcMd`<&h^3SeeDAKS5&S*@W9;7IHW4DPq*nTDyQ&ELUc|l#sMUM zBfqZ7XE*iBnraqfmy_SM)XFzC4LD(&&WlBsI;qXb1rCR%kx)m*@;Tq=xbM`SdM{X=*Ni-x>Bl8}qJOQ3cyuLFT&MbogNpQ@XJaZU*FuxO1{ zXS`L1yrLs&N{n_CviRBLftKB}d51;0{#dmjSu76_b%#FZy0C+Tr4R^VXC=>wE>ux= zdSe<>ZjS*_#&3bWy&kB-(qEV&+F*))`3n%O)}6UT80FgIZF~V!+*Rleh#=mqL}mef zUL$R@J}tg~X8RUvjn{#*Uf+2^L2sz-RgbkMuh?IZz#ZoY)#>W^Azp8w9~BV|FADXl zjR`e3B=H@j8)*83RzYQf0%dN`KIoMg9@gC}KbyLeTVvg?d?h%#$kd|)-Ay{ep)cpC z%2nV*FlFUDX;d4oHDj-t(_k~}CDhJQ72U9%5x>T5eqn=X?oz|*1W*?L0xFvB!U)cw z2(Mpg@0t5S3cA~gOVhX%g&=p2k!{3>2LklIC}h}%zshfI9-0Y`%;2|&4f; zp`y;TZ&zm?ILQZ-|Ab>sW=zwiZY=yLGAkIgv|xlNZ|5O5!0>0!q-MKTl{aC*PpUi_ z;=0u7`6G&I#ceFlI%@?rc&vtNm)n21C={?Di6OBt>3LYe)t=vYgp)!-m?*D5pD?$w zfCW`Fg3{SLptb3h<3>gi&zn&N?WZ9Y8P^*O)2tf;4z7|;8`uIu-=l4R@-%0A78D=S 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 V)fbO?^jdoIM1}a3=!!_6|JjuorPlxe literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/11.jpg b/examples/data/Skin_Cancer_Dataset/malignant/11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..077a2c528be7d49e90d77dfaf296b372351c6f02 GIT binary patch literal 15981 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/13.jpg b/examples/data/Skin_Cancer_Dataset/malignant/13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a47cf5294eb3297aed01bd16468dc7e23a3e594f GIT binary patch literal 3615 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/14.jpg b/examples/data/Skin_Cancer_Dataset/malignant/14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bdf815d326481cfddbe6a580526d5ba95d065f01 GIT binary patch literal 15678 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/15.jpg b/examples/data/Skin_Cancer_Dataset/malignant/15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8573bf3b1fb65b96ac9f86059f88ff717105d9b GIT binary patch literal 15329 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̺_F5}Bj`qi3mczPU2OsH1hq9T=_NjXQ=)eR$&FJT zrdAS}Mfn`Q3cMq7!Ms7wqK~hi=Dxg%B%^%;c~&Hgt#keWIwkvgRV;$_hKu%JO&|Z( zqRR`ehVi7*mg~E){04DO*V*$L!JM(o28*M9M6*P!%hy*{A#YmJ!oI8Hsntp12E?s| z=?blK$!%{$oZ)c}VIB-Q{Tp7mwFza=kZNMd5(MgIj_c|E1$S*BPc(2bcUN;KYw yk~66rER|zz)$$a-$y!RAMu~Zc#xz*ej?9uet^pc7Ti_t=5wM{MIYZ&!rT+u6bH@At literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/16.jpg b/examples/data/Skin_Cancer_Dataset/malignant/16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83ea997ceb101b2adc100377ad044d95dbd93d50 GIT binary patch literal 18946 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/18.jpg b/examples/data/Skin_Cancer_Dataset/malignant/18.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b75bd28dcfd07aa8fd9e561835e6f528d29877b7 GIT binary patch literal 14487 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/23.jpg b/examples/data/Skin_Cancer_Dataset/malignant/23.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a346e41a790de64bea5266c0cfd19540af01f47 GIT binary patch literal 10793 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/24.jpg b/examples/data/Skin_Cancer_Dataset/malignant/24.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c3d9e7be2ef4961c8bf0b60fa3fb2cbd1b214c7 GIT binary patch literal 18835 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/25.jpg b/examples/data/Skin_Cancer_Dataset/malignant/25.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6bd74dbf4ab5e813cbe15dfc427a301593eaad3b GIT binary patch literal 18616 zcmb4qWl$Vl(C*>{hd_cukl+Lj?(Xgy776aI!2$%g;BLD(fyD^~SzLF4un;sMKyY8| zN?%0yXR^7X#+r{s;Hs}KtTZjP@WIK69OOyKt=fv|54Qc zfR6Sb#Xv_#L&wCx#QfhA>jgF@)(b35Ol(~27dZdn`3esg2k*a||AhP>R#Xf$Gz=Up zOsxNX<^PL3^#h2p0ULk~G!zB^DlrNgG0M{rfCd0SMf+d%0RI;lm}ux&*r+Hk0MEk` zM9<2jp`oHb1M^vFGyn=J8af6sfaDD(?@I<59W2rho_wFuN*QIF2e8R>=QdB6_-#&K zy=L|*duFFX0sOzh0nf~+m?!|O=Rsa#04gd9ItuFZlV`!tKtTnd5u=m5;g!L7$)NMW z^CYd5RQ6Nzz})63CL`a|3IGoc6esVFQ(~js?-5q4 z5oTQ@6v6^RVnL>bc#cfW+EfZl%Hza8^gF)pq(zF!c*S33dZTprD%iTkj!fCA16!bovt62p5+oU^QR%THbm-iCx`GGe>r_-%M5g-%T94U|_&XFY zJqli3yMBimF2Ge(CCwWP#a<%Ae+jDds(O|4IonS>ax=5lFU)8#ThN~ji70rk4IE*$ zV_Athsp;1FRbV?2=MR54l9=hFTTrkoGmVo}En%qkKoI8BJ^_kqO#hwFio;Q?2Rd9ppafsdlygW z7^x`Wi|bV|PL}+eR&8(S(~se=w|$eyM!U7VLB#**a$BKpGk+58t+a%+fiK1qUU=M>hKOXIAUIG!gcXC^`&&)gT!>ReTu zU_>0Ra%#Inu>QH-mDh)C_)&X6qe~%Oan-y4{GhaS4HvyL)nKcZ=hFPAmMxBwye?B_ zA+)fdJ0JHK=!=E^K2SHjvEf^lqS=5IQG0Zd<}ptVkyy*BB7u{CyxYqmeAM0M+`qQF^z2m@dp>h>gaAlXF(Of=B{06btJpa3QT_?xtRY z2DSSgyB6pP;Hp<#UAXt_ZS))Wq2o~~B)gJoZH)JG=les(PXw!+`iCATO1Wy*iOHB^ zg<36YVuxg??Ao8F!$V(HwAC96{z4O8^&&hE{cfS(VM^SLm+Y zz&;+|RfmU~L2xfx*S7j0J#_F#CQbcoo3QQKy`rMXJf_vR7DI{nonte=N2KzNvz(EW zZ_M5gJr*&e_TTlQMe+U|KlB?W)0OP!d?puXJE`OFrGI)3Y>ayhimHRq$~L{5Bd9W; z0MosBaysO7RdHWO&zdMkFX#>%e@8FD@oT_wLjnWep8!n3PH?=JTypYqH|~X%0hbp~ zfWEF3HviFl#3#;Wu;YQaXzbTPkN1&LkYD`|KAPL`Hp7G(V8@Sn`O_^5AjPg^`9dK< z+sYKUH7^sI)a}H+D`ieNqw&CN6S=LxB$&CcJ@(rKumL{wGjnHT z;96jpIpaiTtuXbM( z!%9-q@puA^1cb?N?Kt*mXwn+V40=do6T@#GEa?!l>(l|ncDheW;aOKPR{ddZ`CM1Yo4TbL? z-#0e;AnL0{ySZ20FE1wbvBKOI~I4u@AzCx0O#tImaX$p-PvLyy;)6 zwP4Cdv{shCp*j0azAL$XTq`uLP$QrH>SSId9znmVEV3=py=_4*QWCWqaR50{(v$3x zQ1=W_abtaBUF~#@yneVmwdS42dG?EX_LD&IGoP7&vTAU$qw(f)roBXthv%(lNm&6* zhRd|OCYpUT8o;QNczvW*y?a>mrzyK&9Axb@bhjWxrm~W)jY7>%xWuC1PKyi9fq(I+ zb_Z-znl&@cn%jd<@?8==29w1c6u^z7r%Yj-TY~aCY#Z(3d*gz_<@hkohxcx)O%^|r zIilTrGC#2OqfrL~mn@l^R^Rw^DOQFEuDy0sK7{Teo!8XQRJ=&W__9zUaKs*bbX&?8 zolc8SvHfbWn2NR5<;#YG39Q|e>J1szxCEX6yj(H{Dm4E5C_m%pmGltoHNVrVO5^PpZCfPXoTeC4EkP}V`$MstCtMHj$n@Z zkD0I{Y9Oum{i>ITKyr4r?$2E!WUc;2BMJNMkzwabcBDoE&>EHccsnfxQm4DLq!-<# z-)dig((SyJ%h>WWvO<*`PX}+?{VH>S8A-$zWg1!eEYM!K-FX>ot#F-5W(A zJ0r=VpzEb}J0p&<#7~iEc#5^QhWiNtMTpjgQTgW4D5_7F&}xJ_-5=5m?YxA^ERHrK znpVOxN5{P&#q6Zj8`wGVCi!V=P{H%UO64TVK3-YdwT3QmD(^o;dV7OJLmVa}f3mo* zU+iNO7s&`eIK;$Fxtcg;1{R!XEm3kbM4&dl4#Jjyqtlpq4m;CPTO4P1TB|ook_Bp```;pjv;9uDKacvt) zYM7TrOfJrS*At+_uuR{NiZB&&0s*$pO^($_83q=D&Uv0CNW99P{!J z41*ZLA8oV;6knit&U~kkD(cfBCB4uYbKlq@!D5uUNHQ!xU>DtgVTzrg!3{qtNQ?~F z)zecl;!Km#qB!-VnM>#C_l9P?}N<@psovV`scA-`K+QdSXLoBou2@#c!wy;_Hu2wcAqYF4sMZ=0+cOtoM{7$^F(!VAL5OQlti8Y zp?sDNG!n*TU4`5H>bqXxEAq?xhfBAB?GB#_i4KKx;t}vY%`$!g%6{MjLEqK#5i3TKay~XHcz|fCkRxtl~<+cNV-XE z7OAo;b-kovOt28etG1}AuGtZ1OmWQmsJ$RgmWu@PMHeH9?{9gtJW4MPG=9fV&6?R5m`k>ppk6dJ-=xv^e z-_^NQdD{EPX{<$(NFfL; zqz++>7tTt7)jZQk`Jqi$M@)f1c=~uaF+vIw0fUQYH4j*6H~gXzj&zz*log zO_So^T2OKQ=)(&8y7EqCm=(aRhZp(33HY0rv0=qF65mGR4RmK0R>D+O|D>`L;z(hK z;}vZXc_%;S)g|C$oW?l&Dw+}LkbLBX2`iRirHpOxhpGgGe~Wlb=6+EkNm3Md;X9VzY4DHT>B(m zvNL|_l0G$bkHvaTG6(kku#TDV30+?%PYcIi?Zb*MUZ177-2D}uy}4*Ipdby5;8 z9JFE!^B$v@I-4u?HY(ZtT`xyAM0ORN!Rb)k(H5m0-IB)Kh^rZdD8<6-JBjH>*nuby zCs~W<;loHOrB8iKa3^0x+Zukp7rKs_kMYN0tB+L zN!LG4RuV}KI#F^H{9NBUm6zinLHj4>`!F|`I$pp*&asY9N)0RQDd8U)4Vh(5SACc)@Gg>;1WOH!k zKgQRpp90Wn`;l~(E0ajNntSJ3K|5d$cs#&(0u|cs<_%p&xmrw-Fg5)M(ODIj=y+54 z=9AlQ)b)sjmt+@hiuOC*DG9jabncJR`&(6QZS4J>4t5YOT_%4R+VS;cUV$&J*30F; z@52cctjYSP1B8)ROF4#AF)dDDHWL!g`zi7GT{jVl+vf~ID2GLPW9%-OLXV3|r(sCa zF2$(%F70m9;>w6Dj_(cqluDStA0s=g97ZVuo{MI!d|%}6`CIs|P(w~6wncnIm-lyE zc-_wVC8Z8zt*Sh`d}xA#B1hR~1nc{8ts3lPwnBCCcm8BV)b79l+Oh-e00sxY*CKlL zcbbRM_lN4}o@GVSmf~-jBOg?7Ov5Qrrm$yP)M~MNU%XjY87^EXiiBvagOpJOdT|NM z9(8syR*)VxRn(@UcR@e%zTF3lA|iX@-=x)GiBl9VUQ9v`@)S+7e&$~BJJ8cu6Wh@-BkENP?c zrm`J%P|k7H+McwXYZ(?w%UXux%>00c#&``o^sq`zRO5inU; z6aG-L#f{*?*qzdNe=FqX7Jw%C*oU;^8&)nBRACbyV16l1fULzknfE0@EO9$n45>la z|N8QeF$|vl0g@tqhDQ$v+N{CGFGoM=}!z<;P@sz4C{^1{}h8x>x=l4^)rMM8}K zTH@&baL`rd9ZRHLU%!M08gjU*jxm8x8Hvd+(L;TUFB^v_gMF9LnJc-)6*xu+KU|Jv z!<-5~j@?2pkfJ|N%3eW+F*N?DC0PX5SSuR{pF1qAYYTRzs}*?asW*R1*M9i6j_8Y8 zIljmkxs)dvM`X#2qAeBo^;vYyBNW5DvKE3ecBUoxZyilB49N_6?-ahIcjn;{ay3+m zc6BwK#$^h8{5f!!jC|aeO7J@ngamzKJu$)th}Z;2VD){w3mcG`&d|g6z7!PDO#hzFH%3 z!)R@SQ-&(P&lETc_i@tA=&}XgRUlhV$(Xft5<36Xc##nkrGin$?sf~1_#eV?kyT=s zTgqsh;UdOPcH0VPdPI3BIN62B`Dn==LV>3xv)I z0_TN>p8zqbGcZL+RaSIzC44z@^$aWL3^nROAj|d36JW7@j3Kt(!f{zZoBxA$A^|n+ z+Rb6IAUm|}o%rQ>3KwOt&j#xsUqR@WZ>R(lOm{Jgf8uMZN;*yfu!t8L8q{)`?wg^Y z$)b{F^aP;K9;IrYme8t_tTtwO0(`Un4j(yvdkx&w7jVI;3jQ?nof0NVF{46;ROZTt z#7aa+<>ykTO|KRNpO(RWQyiWEI#jLCers}-lZH?MKQ9lQ&?k%zcO(8CS4_Wx4e&Cf zXftLku57=QBHx2rbsv`NBVz+ogUsU#(X@aY(OvzX%Hj+QF7Gp(OVgQNH z)8sT-2~PZ{#eKm-_?w!zIMi2gL8aD@FI@6lYVRekKi40Fwu)={2vTXpCxO;~+R#sl z#UR?xqWr;o-3Cm=M!l?QJ60SVc9}0D`J^;ZDmwIaCeyzJ>jfGsQsYnd-XYJl5Q>(2 z+p<|1_BPvt%E^8^UOZS!$OBWOx=5-H8jbfyhL&ZG#t6!6vONEoYEXO+kgBj029yFu z1YA#NmNosNoo22nq}VT1o9STNUUKsSpecm0`06j10V|SBnE5HF%bo!5fY1_T(0+5l zbhmkv7?I1PcEHRM{q7~~(5|(w9QXG25!e-UsETRhyRfpS`mg6+A%6X5FWlr^20`>18t8|V@LTveZUKkJ8O(#?l}tAJ z?Ps@e3!S+RHNV_<`c*@#%+A${zg%abx=!MXUeiZPxhN9Ni1v2zk6a_^2};>z8k5U7 zR9MA#Nfi53ZHo=@lYH#&;!rG~0MF?h(z2_YNtJO&3jxDMMG>0<;}BO-Dp@NM*MF-5%B2x>2x z^;1`dhl!Nl7!KUapRUV;>b!nw-6naHl)R+=&_oKn7JY1h=o&1C(0#R;tQbPg<__yv zOu_=PN=(&Xma~a(cjh6`v(6Nhm>ScEb8|<>XlAY!T~Aw=2E#GH+1N6x^Don&)|wC* z4Kl6)t>{@%$$7v9wBcA&D%AS>)=%!s*0vW~N;(EwoVG)3r8qh%6fD%l0|SzI#Wizi zmGu6(&MIL1I$BJ6tbvcHU-kwUqa*Fl z=hpcZtT;*Z;98x(qd0+B!bf6>pPnZSjH`>~-Hq1RQ--v)Q3!Fk*I3M`6}5p13QkmW zb1o>c%br&AX6a2P_|@7b#>#c0+lpYJH9k^a_CmN5EB0|S&`oR3n9Qv|cp}VAPTDse z61lQ}l_WA~;__s>OltW72#3~sdkNajBwQreJgWA5BO6Rr<9^!2dv*{>wK?rmZ?#|R zCKGw-Nz63QTu?5#Ugb%hnHR~v4V8YY!(k^HZSiTwzWG2^8KB_LDkfvDyGeq z_#Emg!LbA@R9m2X-#W05?l2h9heo{-L_)yld9kEY0h@=%U^T4)leDUMsDXN@J$yZ!M2d`P+|cn>j{AUhoq{?3}PdFiqm%x)S`;}F4pL9WZw zcki9fUuaTWp}OMe$W~~dI<*_eOM%j%Gp)QRT|+V&m>`%<&2f2)ly@s{QwZvy&|Mcv z`oc<0g5?o-Bo)47Sh|OFJlwMojV*lb9*va=5q=n5aPgxEvl0DCq(m4M`DJeg1Z!Jd z`M8l@#>CQ-&+rfMytsiV=Rf`|SYDWD>(H(xZ8xX@OasrX12jdhMtaODWvF4ZlllE( z2|F9RF*ARBL&0nt6?s+Gr9HLn_Wlk{FfS#y>L@4=2707P#b)yn<`-@4{;1b&H;hDf z^P3uS^6VT{`lo)mpCo%bX4%1s@LuQ9O6C<3u5u62^TjY4- zr;@J#h+2^AO=!707R7TJVTEx&fu>K=n^B`vC@{@@5)NPIH_NiA*nqsCEl4tNHTzK1 zAi|!>D@}DutMy&97v`$=9Mi=qF#^6!s{!QIKfn?#aND0q7;$iD6y0Mgn~Tu=gVx2|UITJiJk3 zcWE^r7ggU8SJcpV9pX(DFD&n)s9(S=Nevzu$3z@Lx1Dxx6~#85<15GhK@w-s8o9h>0Wj)bt(}c zr8S`tl>P)*AP!;dG@4zlKhNcc!P@*2oE#|*n3dOlE34;+u-XudQJ|*04sr1SlRg1L zcuPw2tMiU7Jx8S9wGVG Z!Avdp(viDX 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 O-MEBO=(um*fB)G`-7#4J literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/26.jpg b/examples/data/Skin_Cancer_Dataset/malignant/26.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c42fc10e064f075413824e876864a0c47a90a7a GIT binary patch literal 7897 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 IN_oBZUxp4{rT_o{ literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/27.jpg b/examples/data/Skin_Cancer_Dataset/malignant/27.jpg new file mode 100644 index 0000000000000000000000000000000000000000..046d59e07bea4d49190723e2299c679c1d4693cc GIT binary patch literal 16345 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/29.jpg b/examples/data/Skin_Cancer_Dataset/malignant/29.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83bb7019ab60a2e6f089867b6259460343b1b841 GIT binary patch literal 19784 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�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 CyZre8 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/3.jpg b/examples/data/Skin_Cancer_Dataset/malignant/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3287c68007fef7dddd59a0a394122081b6d7b51 GIT binary patch literal 17162 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/32.jpg b/examples/data/Skin_Cancer_Dataset/malignant/32.jpg new file mode 100644 index 0000000000000000000000000000000000000000..306e049f1eda11813bf8cc0e6247adcad79baf31 GIT binary patch literal 13304 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 IX?R=yAI$BKp8x;= literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/33.jpg b/examples/data/Skin_Cancer_Dataset/malignant/33.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16b20b3618bc170e4c066f73173901214949dca8 GIT binary patch literal 15497 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/34.jpg b/examples/data/Skin_Cancer_Dataset/malignant/34.jpg new file mode 100644 index 0000000000000000000000000000000000000000..905918f60237dd6c3c47649f087fa3d0ee016b1c GIT binary patch literal 15022 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 NYG=KrFD-ib{y(warZNBk literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/35.jpg b/examples/data/Skin_Cancer_Dataset/malignant/35.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5000518f59b54016bb91ced0d69a1a1b66eb202b GIT binary patch literal 13425 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 YcR+ssjU^-eKYWoVvYqq$)c3Xj0n2C9x&QzG literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/36.jpg b/examples/data/Skin_Cancer_Dataset/malignant/36.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f53f9521ddfe31422b9b57a6b7fb3b0b3e55a9c7 GIT binary patch literal 15245 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 RplSsfRclVokK%`={{s%mn^ph- literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/38.jpg b/examples/data/Skin_Cancer_Dataset/malignant/38.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a12966c77211284acc43cc1c61d65517e62b1c0f GIT binary patch literal 19893 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/39.jpg b/examples/data/Skin_Cancer_Dataset/malignant/39.jpg new file mode 100644 index 0000000000000000000000000000000000000000..20feb0755588ad3ce0e937325cf48173f7439013 GIT binary patch literal 13688 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/4.jpg b/examples/data/Skin_Cancer_Dataset/malignant/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..014ab216f60ff9e99dac66018ea4cb17e2b2d561 GIT binary patch literal 6272 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/41.jpg b/examples/data/Skin_Cancer_Dataset/malignant/41.jpg new file mode 100644 index 0000000000000000000000000000000000000000..abcc1c2a5dfde0b7868078bfb7bff3524813d15c GIT binary patch literal 15268 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 Fn*gV1`^5kN literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/43.jpg b/examples/data/Skin_Cancer_Dataset/malignant/43.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b047bb90eea177010d1f747ab813e861e0b3a72c GIT binary patch literal 13228 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 BD|r9_ literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/45.jpg b/examples/data/Skin_Cancer_Dataset/malignant/45.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7524fcc8f3dd22d529dff96f45776ecaafcbf87 GIT binary patch literal 12128 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 VpicgZ$yx%LM?WuZA@{WQzW~6pyJ!Fa literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/46.jpg b/examples/data/Skin_Cancer_Dataset/malignant/46.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c86111e313cc237a7088ef73615a21ac961ddada GIT binary patch literal 18163 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/48.jpg b/examples/data/Skin_Cancer_Dataset/malignant/48.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f96a51c89562e635192d83342f33b10f06b34d2c GIT binary patch literal 6626 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 sB5^NPl literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/49.jpg b/examples/data/Skin_Cancer_Dataset/malignant/49.jpg new file mode 100644 index 0000000000000000000000000000000000000000..125434ec189412a956c6b8685669ddc27e83ea5f GIT binary patch literal 16949 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 Qpe!VR)MwRWSW`d$+1l4F@&Et; literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/5.jpg b/examples/data/Skin_Cancer_Dataset/malignant/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f62e53791ac0c01ade4b01fbfc1fb5aac5cae48f GIT binary patch literal 5873 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 `^eoB2L#_M#n!wu{|- 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/51.jpg b/examples/data/Skin_Cancer_Dataset/malignant/51.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9781199fdde8112edfa495be2744aa99e988c11 GIT binary patch literal 13172 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/52.jpg b/examples/data/Skin_Cancer_Dataset/malignant/52.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89b2748af235bfe188f057d82407088cda2c919a GIT binary patch literal 16072 zcmb7qWl$Vl(C*>{cXxMpm*Bd%J0vVD?h@SHo#3*;2^!p4+zAj|f(HmL`FOuux9a}A zeQLVS)S2$-Gc`5c)6es7_1`uCOIcn?9smOa0KmKtz`u2XEC3efKlx9?{wMHo|7iqx zcsO`O1VqIDJ&-;iBO-l3LPSJHMgD;DpS;h|P*KqSJNeJa|1pI{fP+IoK|)0O-%I|# z)W1FeHZouvunh-81AxVbfy0LRHv}L90N?;{?~wuiufQW9!ondT!vNk_#jxIEhkXwe z0r@>*7=-st!NS2~0}ybi5xJ#-xHOhXcs#Bl__Q)9#f|-c=5~;^=&pDPWVNkA->peu z{@3&WHvp8ycy{<}F0EC3Fh8iyMmmqr?BiQtNdPsf74(2^(IBb91Fc;z}vwgQl(&mq}f3#9Xe~j&|h6<`YUPrVSold!ynWt4*mG^Kx z7H1c-3Px&~_+XCTt};-UbMZ2^VNCm2ouoVmk(uZWz%-z(8^ME6jU3`77~~${#?$V0 z&X$(cmg#Uz-aOr5p*_DqLuI?8aAF1pz7KsIcFhf-ZG%wfFhsE7wyJK7FyFffa0jvw>;lYHdc>)OrBbuAd)K$<;xfVn*3Q zQSZ)C+e&>MPgO0Xx-wJgC`(0hlZ$|)wx#p>IJ)bYH@9YVpk>F<`ID8Q^Hw$E0*)_X zfCqh#WW3VP6FnJgVh>NMP>h|CjmLaWNMx(uXoW9KrB6ic4WW2o&@}qac!XkMgf!Oz zzSc4Ur$fQh7UIf&3x0YMJHBD8HntL<+&AUT=fu0$DsUdM9PzH9k6&j_b)GZqPeZe)^UYv{ts-rEqOW8%W40}X-q*$--U{b=9R`7w zuaFBFHl*1qj<=K*Q1uV#Oa}tZGcs=V_KPk=IbB=? zqQ4SXce?B|=k#h)wZ@3m`UpqW@1DO-(Bt!Cm`X-3G-7DGz}`?63cabQ7#4m)fU!uy zF_co$339esLcddZ>9Q%V74k#f|t=7%EM_~4dYgC@u?%OqVXw2mL@96k(HH$2X zZ${ai4g3bznai~-W=wXp&Pzr6^|3pN%VKkMVtt(Ywx0#s`0JgPLog7~NFvDCASuQ_ zK5t}8K^GEkfB*T1BUf5^}H30j!6);R#a9j`@~>E*zUn_>pmP zt*h%wlEW1Fn-QIh^)g)*i=vhM-ce%2o$$S+FC=tD69=EvdF$26nhQ#hXkZsyy+XZ+ zuaKVimK}Kloq)9Xh5kv9H@MZ-2IdfaN(=NRNdb3vx;G9-h}N02`pi9=AT9is~n1Pi{#Ruv5T1U!?_85>2@*m&rrx(43EL{Y0Pk~*xmLf`k0fU zpZMoHD<1aar{tKS_y{zxRa4X zgX;8|;+Pct5O;r*e}Ed=y&ihVL{nt_L@X-^W^*XH^{}V+h~f^-wlXu-03pt&IhJmW zm(tru%wXU2Z$W>@*4@A+)-KA5R!%DOno$|NWj@w}so z=cd4viX$cps}^+>>5)^wqCCzK#;leioa~AcT*&$20rUFW5XV>%&5a|KV7E4yL(yI}#uI&%3VQSogrWJ! zXgQN*`VSBfhKX66@Ifas(Nf{R!4Ez5hc|^jQLG4oF^rm`Gd4h){4gs-Q^>`#Ff4n6 z&$BQBR)DsnkZSVkZKHvv>UJuw4((ZU0$1c!9@i{ltWKyeqaP*gpXOgOHrBGJOobp^6OU(V{ic<&N+oN#f zOd&We2mqLBp>dZxWF48`1w8ikZhVk=7gN~UdjMJSveO1L*Q=?~7jVq6(eEK_bhoizAssh`1Chl(u1;E|loGHC3Zc-H% zmJ}UVvz2=_lA6~&DCwr_$WNvQUmX*4*PvghC5egdR$211YN%#yq#nrKZ4Qz)34c4` zd8Duv>8IO(#XO1@VqKF}k;SXRrU${XfYmFwZQ-wn6o@|IQCtGmZ+EP(^hBblV6c$d zk6c?h-B|>H`(CCTj=Dbrp7(N}Wp_FYX(x^8v>NA?FgnVO0&mHuU+>^f!yBk9R02Hp z0>{bPxGEw$jX*X$GXDVX>Vvlaq+hvTqRFCW@WOaYs>k+}K=_~HjWco-1>jyS?G&;O zljlqAay(oWNbzIu==?&i37@uqyG1kR{;s7abTM#3c+C3;P-id$A>;hW_>fREu~!{} z`pa;S(EvUWgTIBGMfECksay)(shvi!I<-uJRuKmFn3xnTus%*TOU||(fF#JcLdd`^ zOyGuut>$HVNfKFTGJX&v!N5JYz$;9mNy&@e=rRWzTCf3PQPT28!s?m#@p9aaRfQ10 zh+9t&wmE7RD;5?ZHL#K)PjHSyx;JFWI{7gM9kJ709%7p>77X=n9MtNgz6)EJW9Ucr z`FZrSW-%GA3ZZF1ogD&QVN{(!Mt<=^R*8+F4^6DqfRO}n6!1&X)3EYvR+6@9v=%?p zgLAkTx#%Gm-KjD#%L>!n#K3mZY3{_Eg+t`#^mcGgmQF7Go1E_#&9T}Nf$NL1&Fw;; z3Mj2Ijf`$>4qpy=EqKVh6fIlI?p1GFvTP&9;ame!fk)~m+ok^om(yg zn$MXo(|f}R{Z@!YLBL2}ISxydkw!=}sp5WeanN|5&d+!&O3(Su#Iu^M%-5@)WD%iQ zhKI$};pj!bSC?Vir(9W8rYd)a$udw3AUK2jvkI1!AZ05CQUNP(M-{!|!s9Cqx=7m&xzu1lpfC8qU#Kqe%U*8<@} zZFC0B9h#Y%gJvsZLcd{_YEmyb%L4^x=eLXICOw6 z;{d;Cu51#w5$d}=gKxEz9IrFlU zro4nNI&sJV)o>a_ZaQhkqbZ>p8e=25M*=s7FD)4cI(N1361WB-cpDQKZ&FUjn)yYG>Y(Qk7^3gqTHdO-QaVQg#Jci_}iDVGMxd&ffkY9 zn}?GJ_Y1q{cI5Zz589C`ZMD_G)m_;)qr{Yj#BM_OSN-xW>CQ9|hTQ+TcQ|n~4+2^na^&(a(`h53Uq)GIs6-pnc zLP*(zXDV-rVSpOqC3tG)CLT>?8{>dlW@&=QI`R7C42mDe2Hn(4)ZmM0oR@#Td-X$O zSB(t#PN%zAQx<_M5_cgt_IAcScTy6{Y!k~Aje?N7f&{SBanLH?m3)!eu3Ha@e8SsL zYo{HfhTYS0-e`(WS3{7Doa8Ie7irx(2yqvQrYhxUcv{&8VED|4*H=~M$KY)w48)P% z4?qqRJ+45cGH0y|4smXTmk~Fc@aFZIljLs47BMWe3$=?I-#q>SHgS$}_--Zz;lB<~ zU>uv;{h)oYRG@PFb{x`-kf~|%8Ae!G)EuoIjT?YdpMAqINAujMgO5xbyh3`tF`vbn0I}JWH)bEXKaMc;vIS-jN?7X2_hQGfC$t>SpS8O;+&Kgq&Lmtom6AG8yPa>k>;)DPn9yIRj%akU&Z; zq9af^N0jqdAuwGk;-^|on9u(JRFim%d|C_kiEF?p;1-%YX!SQSKCLf&xWW2_b?d{U zhMb%Vab~e&lPDhe$9tA?oU#YOgVmMC0~uC&Cq0J2>8iMNnynI2vB|9ZV^<52^CQr* z4bnpE1^E0^w#X78(2<1{l5$db*v!ocv05OzVoiOh2P?KnY|E3`#*bYuWhl$prpQQk zMHOn`DL`i{uNhk1`4VM~p?QTfb@CXU~T^Ib@+4kT#(O>fW6IsqM&$0?*q(@T} z!LoPbUy5wCbN@G4M)(6wt>gr;E7>?9VN{tFe>vj5tRcS zPhjy)AA{s^_I<@wKYn2NQ3X$MV0|+vU;Bp+QK;p+O%ZZY+M7gsXEz7hfnj8zobR0y zkw;ZbE(7}KlBJcxw>(P@V*v+^>?wUX=-*)^LKO&v<*ydRnMmIu zReftAriTjJo+_dQ;t7sr)*&iNHc$*YQIbq~xgsAU7##9sE<0=-yT_PlMlPL{@|*iS zJ%+J;)3Y@fYYUmM4LPa^8~(KJ8YDQ8DYONr?MiNrt(3naGnYd#zYy_Dv>J(Ak~+0B zmXV(YkGfsXISy`Tb5dQN%C}IYnut3He{}mhUP|XL#bkM%6Fsw{C-bbj56~izYB$I( zPem0FVPFt(;BU4fHvJ)sA+?=sz+TF2$iV`=oBdWu|7*&}lfO3Y3630UD^9<-&6Xa= zN62M9d}mqCQgnhOlxJT*S@=EJZ&yD5C?IVuo>_pIxAVkmkUe6z@^k~-O0?S=%Cz8# z3}k+y>df^bl@rt=iF=vM@SfZszo!fpanS<^o&Et#nCeT7V(9s~!kyYE>-b^zLJ;!Z zHw+6FACReKykF?92}UME>#|t2Ko~`o7QNVv#UsS8%v{d{Af8qzgadN{#->Bw@?r*G zXDwHrVd}vZ)!o<)z9~7fIE|C~-sm^($LRQhHBJXi4OJbNUn~bLnjiQ{v5Ym>eo1^i zBD)LKRxu_kR^j=GSiGKf6^B;J^-04I$38lxoYUW<<%i{MJNno59}d*6x9ql)uLtox zY|a{ZY&+m~vEKX-_bs=;g;7#c5ZCH2-C$D6OE%W&X5Gq(k`(JrDf}@DWJ1cRhQTNY z>aq%4p|nk#K<qC!I+#(O zy9iU=!Nw&$CCMlzZ5-&RZbC?RPp@?1uTi_q3WLL<8*z4B@rOv_tfdo!q@=??1pb(kuwg4&3pnd%IF zOm#vs(XkOT%(gqHbDKsP+kZ$Qtu~WdFFp^v8hdXzR8Qz;iea+?g%I z?=D0!PP$E#R+SQ5>G8)LP~{~=3kXo%-Hv=Ev!+bySP>f0a5pEo8gWn=QoHy*#WNHT zA)JbFe<3hbN$!fEKv-3%oW-kMyx&WxJ(IjuX~I&wE8Mj4RC-RxEW`r~mFvLmExuew z^^uL{Ir*6ZQo0e+Usi(0LTr4o?A>W7PIr{223!FBiK{E}1S81~zh~2$(#!m8qqWeW zecGEhVK&X$_iZ85(Grba^Eu#NPa{o6s>mbrRnLJ~O(lG^i2j&c;tw9?-4)Wnl#Sy=o(3Tl`lYpUEUnc+7RRpQ6jYP zgL&(;cnW|*3er1RcNJ?As9Q(f#M!)VhcHo>bbK@wfch?HK%K_heH)fuisJIxV{laq&ywbsQZkuxBJRL>v|l^{2@H!vM~&s#aEx8Nc3K zbEaF%Wj>PW-g_|9nm?|vDko*ST7 zKP!LULgv+FqD9;WIESzGst8|?aT8>K=Wya`wVEs+lFR$nrNkQefgz>#bf%(?$lVQS zT8B7H8Mw~j!Cr6q4wEdVCCStAtpuW%*H1gT8$noRHDt&LfgklHU`q%H^hEP8N|AZR zpuWf{G3^BK3E9?mu5w@ff7T@W!`WaLHRzu9z)uDnSGlbzPzCfBB8wKt@H35W@MK1^ zq$^h!YHzo^l-5gev0*7`efR? zgZ2W%cR(wdh}Efd@r@F8Ejcb3Rpm7X*SYq51o01ZD(A8@Ozw4>)0Z?SoIi1 z!Ir4gzy?nW%xnQB+adRSSJDGrl$PWq^h~I(()B&usl#6MKfw3}vO4YfPEBa>@u1pH zGO|b=daKwS-Q7{*_^_^$p)?vqeG^z_*5@%Qd{>%!`11%&S9@WhCNbO|$4O@Oet1@gD%Y5DOXlOM~8~ix)`QLQq;(shn%{Iku^*(!#5keTFx(%RE=lwj(mv1*cR= z$=nKGIgb+P^c-gqEB5ojKc2BFkJHvg{Fk}n&oFfT+qUztz}h$^Y&(>QUEJ_7EmS1s`T)RyvoblvQGJQ|^kZ&21@Twb)6Q=IBa(ZxeKJvuOXBNur z`jawTuRRB=ujgH^QW%u)idE8=P83gGKgo)Hzi4wAf_G6`Cc5o;b|V;p)Z|KV6(q1V z(W?pR{h1U|3<93^i10Vu#)R+mYO~}VK-+~D6{-ucJMs+DEF^iK*8v9s=IA8z>KQe5 zRwSk>Rz|PJRmXovH(4jz!_KS~EtX)r3rZXkXjT~iZXLzEn(n@wk<#Wm6z7nB?)2IOi^rtZks%j1>8bd z8=?sryqO|xO<5*Pd75jy!Gw*p$#CE&YcRga-{fI(Tg%E6TSJCGV~)})`WaEP&30|W zoE|;d+3B(m(zecAqE1oeZM^{`P!?KiHuvXKdHEJf^l{OD0CJa9^&nR={`NhgZ;73_ z+J<%p>)^-BnbQzT9?wYOp}ud`XsK>$m*Fl)o=IXq#f>4Kb^qLQ|3G#6ApWKOnXe^@ z%ynU2d5+iDlRPO<@8D%`V58LzrGcBJT?@i2rkQqvGf}UCzWj@GeF1YG!c3&Yd%SM> z#V34criJPBMTs~VSw5r}9Mu?h)7JjFzl@OPWs9R< z7rZPdVfEuB5nF#wd-7Ck_@jMO%1QuU%Z##_jC4cG^zN#(*bPZk5E-4L%4faq8MVe! zM>LVpj0W*Rh^3#;zDJy@KNqdVs&t;tu{S_B2Ced3c_{|8{;vlzdE>wW5LYfxaUZQ+POV6enebVTne z4;1I_5z#4?X*LN3Fg#=4pGLe0^N5ucPr&L8Y|L0jHM5J=;;LwP*Z~st`guZm?-{j# zjqsX7!(~kf;_CkZUmbbMl`R3R6depd=~`llfJSe0^X1%Z;Lo>CfF2Spu{4?yWkTK6 z5lo4#9!Ap~vp=+3&DV2T-{;3p#>rpz-GNR%K%)eWECmc>ja>&htR>-w?hCaaUyn#Z z_RS=nIuq3lU7kqp?ly46mn)dpXUPjdlz{P6ISl2LsgPBxqQbpkZrq7Q9`zugH^$_W zunVsm3YQhFEd3ehX^gtybWu@tE$BFa-^lKB*?b>2)y8_}GUY;I>?4NO4v4A9fKIlV zCdB`Kl?E+fu;oc|t=JB)~b{WEbe@B$%f0-v3~Gtw-{z0KGa!NB=M zQ-6`4m`4W~`KN-UIMUP%H(_{`)%~dZ&A_%#5)3?a$Qea*ALq**(q*nC@*-$7b|+1e zT|g-vJLQ#xMTX1dKJE-_26c~}Hj3u!9V~kKqTvIUd1;L1i)a-EuJ@(_zX-zwalL{; z7r5sDTNBZ&k#Hd<=bBiV7kNxcLHx)V+Vf z?I=ftcQewaj}+EV<4x>H&6wU!7nelKfLW?rez_OAnSG|CJ2$t4R#MCNJ@S6Zl?Y&x zxPEz@NPm_VtyL0#NGykjrA%(k)Yd!Tq(qn2^KyrjJgN%4$*<#aV8LjsS|C#;_3CJ( zZ57%Yb5UvN4qC+5vrJ`Ffm&bf`sfve1B)1JE$_qg%#ThZ4X04pVoX?6*tqhHwoi__ zI}>Fq=pR1C+B1Q6psXjiV`81y!=nzXq~OFPxzzoo@8R=H)7MOmICb0L)s)9|I3rYT z(=lgj?fqMN>x%J{;`{s&aksLv&(?;fJ1RcvQoYSgzx(~KCJ3AP4vUDs>Rr#w5B=5_o_q>qBQ623wKXc@XLc-mCCJvqm z9AW!S6Fdje70>%)o`?OiSGr5U$k;J;-GE3#w!m6c;f8~XE&%^`gqZcU=**Cod&Ci| zsy|;qWKzc%X5CwcJ>p z!4bnuB}5r{*K!%dX=0p8&j;pWh@3K1mQ{MMB}i7Q2zy=?ZX!Cq>FAg#@ga&H)AV`w z|FkpJ&(^MR+@y1_=S$76D;(5q>&uDP9wXBI3=HDl|KfvxG|J$Uff+*lC)4EfJ3_Lg zJRmeu&6wWIlTbHwBhh_jXj08`{#v?0D7(J?q`E<%ZQ@B<+pud4rVCEU6Jq-Zpuit|3*$3#@W{?<(v?RlB!j2arvBL76Qv3J`Tm0ZVP z0VM?HuriBAuINmVD<+aSgcGujCKILYJt?zYvZaE?48vISm^PQix&@D-$XxU14~YH7 zfpm>!kwYUKD+j^M<;8`7mUEjNxs(>e^oI8|>+IA%8f3|2U2O(16iYgv`I*74OKX>Y z#pkg}@P=y`R<9+={+4}|^9kuNCtf2z*9V_0+?mMb%q=TqY{*tx{P%BR!LmB zBXahQm77MMuJDZ_@+MS@04bw)lNr+PgrbfYKCWI~p3FAoI)*;}+wbyv7*V(1%})3n zLBJ=rv8+%@Z+Yok-R_{vk7N$lwzzgz%ZX2A<;l4Qz%zdG)jaf0gUx?{X-0F0%7zK_ zZ)0qGCiZeNf316`iu z9jr?A<3QsX9S!tInFHIs4WoaIVgT~%RNHhbDF=Ek4hxRtzLa^G7agzJiDh?aoI zT_3YIGFeYQab8tLn`MmQP1`EMh;|iH2g*Hpv^9*a3e`YdF|Das->Uc}|8V5%*@_xH zTcm!}mop`f033(d=Qe?2OXf4^^^VdAL<_oo%_$!I2a;xru%`Nrzi^74MfR$+Gee8MUJ#H7oD^&DORF zhs$suuWm2v8{w~Gvo$%q-)tKeX8Q$fwLEB5Wg-vCJV#=o^vqQHY!MelCTT(HrHK9= z)r!XiKKp6}BA5cFp>AvZv6Lu7crrMGgaT(02B&^ESNW877$42k4}5hRYQUgPXW(?O37kUdHSkA#AlNQ(0Ml;-yflE9soW=0MSz}-ge82WU(49)p& zcX8Pws&CK_aQ^_Of%Wstt;k8-0e!Wqx4_QvKpF0)H=mWPL$h<`hG1;daqR}!=W|DE z9SczMF01e_se=Ibl+}<9(;_#KJfWyq-ZMxO2Kn|`{qPiP7>(XiDG7*gU1vUJdZnr8 zMz~=WWGOfB(`G|58LdxIQFvwqND!(O{XwZszUuSJ@mZCRVis{Pj#$;Hw z4R7_l_vRc*m1~A*etZXo7r;1TPV``MD=1|>cXAu5#dwh;nP~Kd4Cj5gLcIfNy8`pR5qp|!~`3y5LsiD_gJFP?FFb-Q;>R3EGUou~m^=(aW@mDAA zO1j;Q+?syFR58cK>O{@q3%cSDslbv0-wbrO#psD)x+hu| z6;jmHk--L}->w@~sc6ldZgZ*qoaMreZ8rM%owIx;}^@8(ga}R!ZS8HRL~mh-oHA$3El+ zVNtY7WDS3!SUkAW(H}-MQ2jp3m~A#&SCHnU>dkmNin_N38f3@#lraw5>>%tBsgdaAU`#1zB^X!BO>Hm^_aB@+tp7 zd)okb4D6JDHLs_qi{c%?qIBGeumri;zk#u9Augu3?7d>43j!xSfw$6Hg8 zV@Uk5EW?&ygB4bwyT0Z5cBpL)r}iGRu#HVTLm_=d4$a;WWkSnfnvOKi`G7H5aI~sB z)#Xq{8f9rgJX#Z8aan%7p!fVVk@0MOwMG2n9#>@zj}OlWR1?Zhnr)*#Qqr3Z>n@jJ z8e5%4J}Q=B3-q&^Qa9Tj#?;?Sz*I$nmghZD*r$ z{x~Tpqg=24ysHvxk;EH+@W*g*-QcLqLn6CwvKs51h}5rsBI-R9;RG~B4ESinPgbg( z8qjz5@(&O|J2s=>77IOk%Ab&g-jKz*>x^B(xWO?klx^jZa|ZKV&=s>y=<7_rW1Nf* zccY5CFHI!53M4H|rUPHs$$G_hGLyJ@4}Sk{A|)Dx{gS=^OGRtDrt?SU;-fdqb*E>c zZmg9iBo2Gg;$@J3#*MA*R})&yjmT5XG7D3#Op5&Bz7p>nayn`wA)~FPK|G9NUsX0t zRmhjj!LvI1vI5PFn+pzbkSZSlqvVV(dhh2JD(45_^kYS!#HT!coewu+BNqC@$-zYm zH1H<3X;!MwDBZG)_JihaT8?>4(u`Ge{AE4vevPD#%kRLdIVi!+LsZSepd5}=A zprUojH>k}Ug@(|pDp(xL5|M)!eAzm1giRmdnd7itID`{f!Av{bwFuz%5b__GAV=3L zffEIAe*63ClKPExYPX;?I2jLQY3bg^X?`D>FG{wQ*1ydTeJopCKAkv-TKEQtYlxKX zRyGRv<;ADq39+%lyIeuxjW5jOt+q?X#s)j_&qB3mUl_qUUs^%`Vi zwyZL)i7?aXO3^VfZWxuKYPT4Bd`kS3(f$3;vMq zd!VDh%*^LYNqqKk+;@Z(H-f|cEjM2SFH-B}x7l`qD84C*+Rx&L#icOBsVDlA?C<$- z(!9HIvN_2XuW?GvtdXl)s~*jz2YOH6HQJpHvyv(7AWQ!su2EV#sjawqBtFqyprRp_ zehtk2X4R;d$|D~IJe)_*U5n`3=S);NSMCfYTQ>4TPD&zj)tqBr%Ev-xonA(wXdG`> z|Mm}1dg5-fNgoUHX5jbk5X&5FXn-pen>mkTa9oco`<4~iMPglS^oi<&`kS?b=?~Nk z1vWx#wLB4?UXn`(tS@DUKmo;{h81yBK={vk3h{=smqB0aC&&qZz6GVRl#AP0Fk9#t zhe9gs(AY=|vNxXgzPfT(Zcj$$@k@oA5?jU%_q3pnhtOIGuU8=Le4)wXRpeEi8~T22 zq-)!r4j?p28n$kIzQ8oGUN~2m8f_gt@mEJ09* zt|{k?!j)EXgA73BhC4$NP0x&UCw$~lavu;&@oZ9BR^v9vJk@chN+;8QR8f#PlA#K0 zTq#6L*HB*sjOJ>5Z}_do_tVpq-XJ&SrwvZ;c%ZuJ3r)TWsFg} zn*7AmHO#-o=l%9Ek*`|p%rz1enLrbpn>7}^DLw!20@9SfhHu@}gD-fpG;_~c90{3s z?ppB2b`78t2bCptNZ$#=@#^F(>Zb9d8#Rrw+e$_UTvb4{@f-s;@PP+N*?$M1P|uxtL^4U*$2LI^|J0cx*XBTRawr({$@2%*u!t%_l6zp zA-8>F5_ETUgK)Z3tn}d7KFau4+gc4VQGsVLd47W|OJH?bhUNZ-v=6-y-E(-ER}CHJ z8>YD&$UCRldJ^Yv!>CAWXf^U(DC#brIYx83jXde#z=)D}arX;nN-O9O5#L$lWMSF; zF6EvCDi5PD(=*%8e*F>hL4Xpskz>CZ+>@&ZLEc9I#~s7Ny;x4Mmc`P@)5;ViZhQ47 zN-K}YISMdBKjswMRXfM_QG8wBzM#yhltAh`x$7YJTF2e^G>R91pEb0b3tEGY2W~Mz z?b$%QAI91fMb7|$W>G_HDZ^+uFS9A0FSI)WJ$`RI(|Wx^lZUvvvKm1iB`}WP|3bZI zOY_=t<=M_1B7jEjO)iYNgE0!ahAQalxuJCQ9;>8}Keo?8fcCk%tU>)%HTB_O85Y|yc1g3cUm8;q04BoK)(*gn#8?8Q| zEW^jQZ;)bJxBL;8uxjC@w>b&mONAz`-!@7D6NG=+l8uwy^0U&-j-ef3_O*5Qy!VQ^ z6;#I5fN7!BytcRU8Yn^@X$+&)NGUyhQ)!y=1j$;g*=IAf=szP#Z63pk%h`NuML}0s zzu{jf*RAo3tE#L1D9smNR(Y&i4@;43^jngj;y8=$TmjX@i`9@mB_&g>{R7m!wT@!n z^`E^nJnzXplUW9OeNb!XY3}Eg*B={WHVP2?CAUs=Y)1f%QK&RIxUl`cJXef$lfq26mW0%q+=bOnDx7* zRMo2#rW!XuQ_G1kqEiG)qitGjNwg#Jd2;j680lLY?mkS>&iupD<@!2Yi6h)Er$35WP#Fn-?h|YR2%x zL>f2X7KpDf^iqL%DFg=^c^P-70rDKaD(Q!Kvj;k!jGK1c6F^i0ndNpg5ml(Q1&a)?@W|okt6}ym3JOnlJE?J z?=R*9HOgpX*DZY5E_Yg#$06gKegY>okP-{6Zy%t#{qJc+vz~IRT-74xkaFJkn&Z!k zjGbyNNK(1VnIdf={^5dD1~pAG`eoCZxN8@TnGEUY?U_pcEar*${;-G!7U8go)5xC~ zf$R=Mb9G)6U!tC$ca6y2-`K)G!F44op75bAfs9xOIW{U{5jyA-MnjivVsxvr-c=XG zq@!PSO)tkm|1@v{q~v zA8R~#4;u!>P2SK*4gk<6735jUnD5mBq^r1N76thyC=sGOO`$zZgF2ttgV+QPdYw&p z3L#0q0(YtUxL^$Lns0`tb!9cr7CZZIOvwu6pIFN@T%6OQs%F-;%i`oR})_w&Ae9-dvSSY4NE4(66>>}6tXtoO0=NGj# zV^@=fk4K2**oYjx?;)J~1XRl=(U)N1`g5X!UL&yX;Qn|$$W{YDw4`nGN#G$VD~&b$ zd@<4>gY%#!1QNlR&OZLj%c=l{lm97VaB7E46!12x61EkU5;mB3>j(guP&f)iNT}iYe znG(;&W#ChqQ-MS_G>omd!oafBfj!t()ZUQ?%2Xyb4CP^NAn``3>NO^_6)?TH=GM7} zdI|ng8lWh+8RGQ$2XM0MB!eJIT>q^a;!Lj_*>glS7@^Zm0RYaePs2WE8hPY#-bW@Q z3V5mDyrWrLnF#eU^fyf=t#>_KRC`rDHm#Ge_TV}jh9PVh?>?7tyh;_0CpHb!#MNKM zKpX@uHquIew}G?yRu)Cw9z^SwCyO`);;6TC>Eu;84RuBe6GuEAkN3NlRAcCz<*{7H$=?jMzi)-$QK)udh30kN82#96u%ZmsAl zgpvKqR!-Y@Y21?udX{w1=uS(NQH_=76}+4t>vRq?+S(LlUIV1f)$DOzJdjn4roR5L zb?*Xld%J#;=#mn(gl5_KqxbEo#N4rrBv0;W=k(Qk8}qOibm%tsJQ&OuJ&Pk3^2)hF z&Kb@VgTLCfLc6`R@M0b2BIo6su^^YLGglYoK>jlL#pm2avOuSWkB64rtynbCT#Pbi zsLqIWQjf&YQr8%P4RaUFB|lr$*4=5P66zz;DYokjGMg(6Kf-64vt86w+11|vd+soZ zEwI9BsM>5m@KY{Diccq1T0iTg+~rze%D=FE&X8PIDB)0m3SH`j=6={waU-^iT!B~v zd!buaLH$J9KXPe)wWy+|s;UYfhE!&RZD&UO?$HVbC6wC^d?GU}2^Z>>L?X`n(=! z+T#Pv7-4R1*Mmo?Rfp!TZ9B2CiF3HvIiqN4_gSPj<1aBSG;LKLL^$ZsBtz0k5@N^} z{oZLn>!k3XPQX+di&Ycue3jMrUT9E~b61P0*?6qSI5qPMroJS%?K94G+@BxcFwAVc zmaimIFW&4L+r$W!_;_Me?dz0`cBCIL*&8Yvw&l_Xaf!5mB_s3Nb8V?ILjb|<^90YF zvb8Q!^CY0Go$T?$KS_2IZxrV{s>a}G&hLv(-#8*liy!o2+}5qJKFa-0~1N-HBqYh z7bUYS*nD>(qvC8i`75n?pT%hZFpD4#EO)fRPu~zkddlf-Je~<0G>rJR7~8u0cr;{w zm`c1C($4<`mQ&+5PNCr?m-4e3wfGi4yo@TyW*1mL{hcdm$`=b=_Gspw$UOT9tp!zy zG&sb=Y~z(HG%s#%630+0y9|UGZsMCBHumaz9T$83)L+5YDTwxAS$_K#X_3r5_s{4@ z6*;zEV4}6I`q=N8st~uXv4QxD4hw@aJz8aZ@q|BQkH6S?v&*8PCacY9hdp<_CSPi% z_x?;9vT;8|NH>xKe8DRp{NavVLr}1*%nTY;)aZ1X!dZNYv$CrCd?WY;N<~yUw{|!7 z&f`6LK7WiO!JXa`03~RFcR?*?p%yf WZ9i3>c>rOOF#+~+=brYzpZ^2MXME!T literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/53.jpg b/examples/data/Skin_Cancer_Dataset/malignant/53.jpg new file mode 100644 index 0000000000000000000000000000000000000000..216fddd06492736356979df8feffd8dab7dc029b GIT binary patch literal 18147 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 QPl>n~s7?%?gpoi0*>*d8lmGw# literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/54.jpg b/examples/data/Skin_Cancer_Dataset/malignant/54.jpg new file mode 100644 index 0000000000000000000000000000000000000000..93e2f1702b7f48e95bd92f3791653473d3872d15 GIT binary patch literal 17156 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/56.jpg b/examples/data/Skin_Cancer_Dataset/malignant/56.jpg new file mode 100644 index 0000000000000000000000000000000000000000..42c02b7a5086110194f5bfe0e86259549dd8375f GIT binary patch literal 17659 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�V^s~ne&M2aI>(XNIS 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/57.jpg b/examples/data/Skin_Cancer_Dataset/malignant/57.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5fba7ebe353e893d745f8c26dde818095d422ae GIT binary patch literal 17970 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/58.jpg b/examples/data/Skin_Cancer_Dataset/malignant/58.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a7435e0b67b69314c3b5a597a2928aa0b3f0901e GIT binary patch literal 19466 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/59.jpg b/examples/data/Skin_Cancer_Dataset/malignant/59.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e16364cbdaa33cc69789d4b27fee3da426386d6b GIT binary patch literal 12384 zcmb7qRa6{4(C@-h+@-h`*Rr@SR=l`takquyP^?g7v86z9cPXyL-HR5t#oe9q_5a;- zAMWG*VdbfU790APYc1000pF6~OB4;8Qh*Z?BD10dod0PzrB`v4RG03z@|?EwE5NN*5<$Or%w)PGzN+<&?Q{{az* z0t6xf|7{8p2tdMngHKBUl6)4&tBG|A2sq2gIiZA-$7SCotnqcymq%xp-XyU;+{T zX$!;yhy$KS;@=I9>A4`O-@YxouxP!7a1M&~)No43Yz7P~mj{jQ<`m=y#u! zNm;qsVA%{kW!1v;x_y})nO~73IrhKJOP~M@%7Q`{AzNv7^RR&fiiBuHz7*Yd#ZLR|+WFZ4?%gkPZZKvvK@H0M}BO!@7Z?;2Vd zDvy{oxo%e1jk3tBb23Ot&P3k3B?%ud&&)lGo&BEva9DlsWibl*GTmFv+XO2BNwgZu z?*yqlXtea1-fiXDR|IRLh{(Pnc3^E~abNI$1-K%%lYRc7c*y;QC9>38Or_*VzYGq9 z-cj9HHB=}*DY{~-cK?)QM%8w^KUJ9I^Z4Zkl64GP?0OfY?Wz=QB;*ih$cw|?F%QqA9n`NreYiNy6UJg_t5|Lz&+sA2TL# zSIN--gSIGU5+ihgMPyNlv0%EFQ%+R`G`ROL?Qw^x;mnKRSD2n2Qci1xV`)y;dN&c|YqQKo)^|Lp!oXqc4LzpCKoaO1}PCkqg=i#ZDdIOtt z`@c8lusj*gW!v-P{v@jsQ(COs3U1mAD{CVM*3#8Bz0HNAq_4p zC8k9CN1Tg6Lyo3q>iQ_qyLL+NjW}QafhC68aE63f zWWB_TwbUpTEk?a*9XG`FNL?D6$qcRcrXJZs$h_>T6x(w#7_#00-Fld>0D~h^VgFpg zK(*Vlh8=D@nFR`033Crq&)^K|v`_9fHWWoFYgvH5gj4AdOoG#mZSNdD??T%;2P)Dy ztXNRg4Lalw-NjRm9I;u4K22RT(_7xUYtUR|M(Ib!fV6xcfLrhWzL5A29=)UF4QoP_ zc3Y#LEL$g4EddGTuj%rm@P;3>YTC

d@)4Hv_6n^tW3nV@P!oi%Q=ev%C@88~VlL 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/6.jpg b/examples/data/Skin_Cancer_Dataset/malignant/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa68cb09539b3ef4fd6150103b650d68d1b6ddff GIT binary patch literal 5753 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/60.jpg b/examples/data/Skin_Cancer_Dataset/malignant/60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65f951e1e82ec9d77f02dd885fc07e1865e9da5c GIT binary patch literal 6024 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 R7wsi>6@6BruW(m${{yg}H#PtO literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/61.jpg b/examples/data/Skin_Cancer_Dataset/malignant/61.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e0a7735cdfced5d28d9018a340526b824f4236b GIT binary patch literal 17926 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 B(JcS~ literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/62.jpg b/examples/data/Skin_Cancer_Dataset/malignant/62.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16712fd5eac87b74c4dd4b4f8d0e791d9812ed3a GIT binary patch literal 14564 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 UVWdwX$JTFaZKovv0G_A+*`OHW)&Kwi literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/64.jpg b/examples/data/Skin_Cancer_Dataset/malignant/64.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f63c8519f5aadab5e86be72dbaf1fd0dc8c31450 GIT binary patch literal 16340 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/65.jpg b/examples/data/Skin_Cancer_Dataset/malignant/65.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3e522d115b19d8f0f4ae60fb4846b6f7b28e434 GIT binary patch literal 18045 zcmb5VWmjBH6D~YBL6YDOA^70#4uQel-Q6X)g~4rb2@rH}_u%dX1}C@#2=0DzKks{f zz^Pul*6!8S*RD^!ORj!fdfNnil=}ku0)T@90O0-&z}qT75&#ePpZurc{}V)n|1=UJ zA_5{Z5;F4t9+Y>e$SChnkdaZ*QQx8cC;#3s(9tmdoBRjz|80dwLO?)5LqSIQpUMA| zdg}pTp#nAmn+R~90q|IG2v~4$0{}7r03P9g?g9RPK|)4AM1hAx1-$#WEb{T6^YBRj zTt-GhK>TM3fP+Us!~!5;Q?etA<9t>%MZtBY;s{ClQHLkd`|BK4ZHt=I>;hksfW|HK z-+p2^!2i(yFE{{zfQSSShYa|)#)<`ihlfM_4;~ree+F>y00b<=f6)JskyK4xLvYXW zIQ~KRQmI|MtpG6oeI6bQ0Sh1sU`|&d2D)%vdacGv=c-kGl~$?jSs5@eCID{MltMVE zL;v!qh{8qvC@zXlY_i0NqBkvGzU{spaN!#W03c#b{6GP*IE+h~%!Z45qK^monM|@s zvPh@X2=gWByIb*o%H2>P%CC%0X5y|YvQ?4)ejPGdXLyCi@VyxOSS5Ik`^Mn5$Emt% z%^Njs?b$p8<(E*()v%Ho7S~DfhSrv|{mR<<>Q*+>h~4EQJNHLp>^Fd&t~a$eA3~BU z+ImrRwK3K_YCS~E=nZf%N6ckQ@aD{U`I zFkunnLBvoIls>3Xj$n)CQB~WfEz$M{P>XF(jc!7ytmm~te3?Fu0NVV}(nG1WK$AOn z@Y{xjMt}0;(}M*nKYrtQG{do~kLNkSnNE9mLgmnce7ox4L&iAAQNj1F^bE`201DM* zcxFs4Uw67+5}__o`a9;nM6V&D=C`H4O`tRk({SzoXfh65PFae3GEMBKY$YK%RYq9F z8~bvDjM}RBd)hr%0ELh}`m&U9TX*abLnDUByvz(imvm=@VY4U_f$lf6i!$wfyhG0~ z%k9zu6|g>;f)l|8u0VY{zts;S%dg@14ThTFGrSg(bLTKi*V`Pq7M^!Qrl?1|Q13Js zfSNyB>EnArQl$v-^Fk3Otg*fpx%(}lN1Ev+tHB@e-N-n4Wsc$V~NRtRA6MSK#mQkry6lwYlB1)BUT}8ec!B{p|RhjyQjo};I zExL$clqE|k$88v@`vHo8fpfBrj$%uFhjY9aMXZOG1~WCm%QywC-;;2my)W4bI176? zHL|mY|CCSn(nm1aLa1|8*=R+i0mG384hnr?2-K6P#=V3i2|MNOVQ+MQ*W#^0>z(WI zf-z3!Wv{GUc1@pUQk-!Ppgll)2}mLcp0sD#NicXnB0_r2BfUUQt2zr?Df38DXR@;W zmIEOh{q(f){zY1uOp_5=Q41f9J(X(Wab=Q;le_J5u)-pRgyWpqFF`?j+O{Z5r>p?z zna8))eD?<6?_KF-37&C40isZm4yILJRY}f)o!g7h;m+bWt=wYJaxx_a#x0@aR9FEi zzuC!e+FK6)D4X;;E!$>n=J!NVLPlMDZoZB%*&>*uRy}%93A8nq z0Io}}y|AG`NqA*E?&3O>)ePcMRlmuj>PkgxgVr{>Tk!jtG#M1JLVB)zF^3R5YLtW} zV+TgJ9+V<11wtQ5$$bMf<6L^-!?o;H``iwdDGK+jeqljk~qvro9A1kh%

O6Zou;#o|xF8y-KS=Sptfqoh`tUoeXh|Ml#=1mv&axR!q zx}ln7XCIWtjwbue1|-GZ5r^Nn3i&OK$1N9OYoYwXGf8QYqKiTOMo~~gtG@7WlJ*Ic z|8UE~eN=l~dT%L2DrtFXeWBgp%((=xSa?pksOaLq?TPQKP&jz*wAU!*u@Q7`)}nDV zv1Ruq#PC#B?VF=h5NFsmEJc&+kRb%_%fb(tYWRbBFwswKL_tuY7|#M5qYH4#dVZ^F zQ=E)7iB?(d46&G{NN%F=vKedCNWGd&)HKE6QH8-Ta$(K*rEN)uk57)i{txSRD4`-!2(!sQS^ zu!ew#!uWDY{b&m6PyzjOX)~h$#LKOj@+^R>!(Vc?Pd;?Ir;=6`{u*CUmnLIaMe;F? zu6rwH|h zfk+e40E$)i?!*4bHQn`tPmt4)Fji^|6uItghjCYe{t{H@@wo)xZ^lANy{<3tGW5b%Xf zav%4z-V$wqlG%8fgvLHoJ<_K}`sXK{Rjfq~d6j6`MWrj42Al1DqSC;Vm#D$}i7vf( zsqbs-N#9Jlee@3Qdb9Y;XyWDMjr-6@;f`AgC);_t5qXK(+;0O5*I(f%kMW9_`?>rT+9jMlJ499qSCb&ZD}a|Y*O>**co zQ7MIRRbEEILIS^TV9U!hRLy8a8mupnz^z^lOH(Dt3m(FOG+M|@380@#p;5a&o;dCB zekPeHWfzn_@baXGs*I?gJ1ecENW%$;!9{(&-n?{LJ{LR#=ar+@@1*s_Hies z=;H&-#ZfX^>G-f?i4>CNzb2?{vzt+M?M1lX^m0Lpbx@=K%vn*NzWoYbC&Wl%* zBtWzaxVZ0H=}0_k{q-~-{Va}>3{|nl6fk<_L!1qS_?C$w$%--Y4*6vKWK&gNoMdEy zEQ_a_ms=)8 zsDOqS|DCH7&P&f>DD1~R2fX)2lWTW0gY)|){)r=lMQ zzb=oW^P14Gg@FL()>*;7a0hwAxD7wg=*M35A`T#oO=C+==x~1CwFk!u0-ib&?#sDJ z^nDJi-0?Y+b|qt}bctV!u+exHsF#cn!(VHTfaV!2dewbudm5oallJaQ?%{eHk)CW{ z<FiC-9^DxMK5f^1c&lcsiIybSnpw@S=A%JF9jO!R>m67V9KUg|z z?-y^#-T)ZJQB%sr`&F=d9VEx-t7sT}TpH;p0qr%MG6loLI=Qi$5CgHqg*P%2qYB*LX zWvGAzIMt~`%|BmWa{m=RIgI8wAve4oje&@>V)wdvS>44)oP^uN)$|P?)x45;(~9O$^L|+kcw!e2cOJclE(xo zNLLQ7Dgw5k9>=U&(@^dZqS0S^&xU)qE=^)0U-)ZR7~ILeu(*+Nmv;qQ@(Oe?^G2&XRA)Z^IkC;)h!Q<jf$eH%LtF?TqB9P>*z|A`}>rF(8X(+K^RirkTY#n8SkseBwgb@zk1R4qU5J6!!eEvT~Un7Fko#tjPi}IRky5< z7DP$*vT~*uX&pc26v(WweDE0s^IBh!lF<2d;h{Nl^G!MWwOsfU!13WeV?$Bp;I|C7v~-}2 zDTIH)CQ7|1tQK*7e>JZv9^vL1)~IP~)KtZIe<^Fe(8B{kVD7|>Ty3UkkM!u25}{So zG~#wVRD3q9#st5_Kdt&(wB5J}+ajwm?8q<^BiYyMj^gul6*!5yx$f5(gIqTjeC>3W zM|Tb}ud9qa4P_s8*JW1@mC;7a(%4qQ=$pnI`W;_`O}9IEOY=)&xRd5%`r=en(!4fL zgVJ392y<}c{I&=2g|x-r#u4?(odc@ub(Jw)yh(I&d|(eo?is?&(#(v2T7hYJS-1!g zM!Nk{3_HoC7~x~(P81kz>fMpS*p=4=X%?co;6tpV7uv8%$EkkyqiIW#UE%oAc9N|H z)j(s><m&EH$c>wCl`@N9~yD~81Y`|${6ylYrt7cQ{5h0|mdbHF4ZV5$;C%JNoMA`(Z>ck`c_a0-@#h0GNrMbYJPhGHAC1QhWIyWh!D zEfUwksp8gX6H2>}`g0hW>zWxFnI)y+noeB!iAyJk!?$-mk4y#aS%3z5mfhboE3ZXI zJI*zH#YZ~WEa@DojlA2g>UhGyD(vFrw9Sy_-=mwR%9R{{>};NG29oMUlY*No&ZfJF zDRX2vrHBwiz!4Dn(C;Is{eE5>cn$Fx<&y)DD1W{cu|K7!M+ixQa6=?49a5-4N)yR! zqLE~Z7Xm~_9H+7Omdcule$Doo)=`QG1|%WGRAUQG)nWsAC?plY%R0>k)xB{;>ey}4 z%8_5?dF|XFGucxIWUidMlAY3VBQP-dYSb^Rcf)IdpF(E$K{T97{lvhoj82jl|ixbSE5hLfKk_p5dxi?j22aU5xwIwC?B%%=n2%hx};pILnSJ$Z1L#>PB zM!!?Lz{lM-Kb@R~b#l%xml|0DXJpUSB`OnG8f*b5CIEuFogCAfkZc>$zMywppR7fL zHl{>wNMR4(5xz2iT|LF4MtR)fFFRt%t1KxSDJy~qbjB35z^`;G_L7+W{H?ywDJpZh z(Lbr1^X(f*%|DiJ*Jv$}3iY@1+;?M4OuWq0L^yPwXR=bQD#g4L8TXuEU!C9^;I*rQd0b zN@B~)M}Vn$^52=ZH0)Xrl1yCcax_Ol?@h^VKgK)b6~1#T9u-k5B4I_z-F5v|UMwsl zPwfh0Qr--YB9NPytF6U1t!<-TO$uaZuk_%%5PnxoJE;0ASm0nxFFL%^Fs=0YBH^S zS03^?X z#SGNOr$1rw@LE@qz*NjJJMfDdOr)tCS#Zz|f6#R5y@Q*rTqpT{G+FJSZftiGbv0>D zwo$sE%oamR$V^&52cee~AVWx(w9jCu!I_nXO{P&K*0P3@_kCRY~NcSo-gjnY?3TR`?>S+eWyun({>&HDTQ~e^C$n7{S5)`y9wfvJSc;W(e ze0@Ye&}TK)6>*l@;bN`KOle{1_I8MYbwH`b;i7bccqVgf6dg0s*!47kIZnOwAg#+n zl_evUxAu3`=?4c>&w_EZ4>-ryD9SqK`$P|$KZKC2V1pKQ2w&E_FG7goxIMi?5a;nI z^~bRHx##SYEqC+OA52menXph)+1@e7dixQGM09p+1H;rcF6uEc;b_Fo4_eQTuTLTn z(l$qbA|#>g{uU;*;utRWMAAQAZS%-wyi}X;`)Be*L8kRL)ekHzldzB$k^hDvp!_eEv12x9Z~XwR;hM!3dV$dlhNO z0?A&(a9zvh3O{m3(ESvvP*D!T2u>o-Md|EzPvDe8z4}>fZw2*0wrax==h=MpdakX? zI>1crEun^#aATAYc3mcw2C27oHuIet6+?*(1=0KTI5rV#5&S+X&-s7ODpH4V&=i*V zvwTpMskoGLs1bc2wk!R*w^ES9(7}#R?b=1rMY=z0;ZiM=pJRQd5?0FpA9^`KWZ2V6>Fe`7c9Gle|ZBa z){(1ckBZB_*HzrQXEEXe2}!T%1k3PJZ?v}Z86H;`rI-0TG;KoTXyR03#@@%@U0%F6 zhQ9tF^7%VRKi5(zdL&vo>f62Ro6MDb&p3QJRkLmDqGNDm?)1CE``M+COA=TGDM=BU zVOQNLGLa`6ZOT{+mT7vk05$UnB$58N7e>pH|g(sv)N{6g0|IBr|kUnNzS- zer&0*R+<@PIRck3rA9C1}Rx&=U~Q zBb@Yb)8Y;8=2XPC`CVX=2rE^v+L5=b!*n+C z{&!xtptREVvfZjGJtTMXUuGEZ7ehqvNGj0pP{!}KDoQO%!FhdhqcpDY!+1=L-b^K% z^oEs~KZhZ!r_9kBoxHMbUm<0Ni6zCM^v^>aywus)f=F~h{wNdeD-|?_xG%z(QfC<& z%zUaunwkV{+D$hf6oXm)1?6a@@b`hcdZ@aUdwBDnHjNNzQukJ-qsyRG^WUK{#xq9y zziVYm+kH5Q392Cw{IU%DvahD7@lU5gHPs(Q2(?RW_4U8+PhSoRzf%SzepAbT(9l7T z7e0$KF9n)Ta17Yx>k(;WA`J`beDK>IL0~`vSwsK>L9mh_8Dl6yuOkX%lZC(|P zOC8EX_H=g=mI70bVN>%=uXnNPDxogk$jYq}Uoc2I}&#>c&fKa-MkbKSWN+UoC+u2-Hu zxH_;{&)mS3fxF_tS6`;a8b<4n1X6rD5JqoX5Xi58m5}tuM{EQQS>DK$YcPg@z*c#;j^+>!lvDal=Da*7B+u59U3Vy^I-Azei%`zkgjy zX8~8gv&}93^=)yE5PwFtYyS;U+%~AxI!>HF7p4L=PuB-1j%=^p4FZ>!eUkfXD&d5r zeGR(6CA8M*C*(h322Q%_`9;?A6j(e3M$^RFy@0&z1{<(P3=XRskfKtm`dp)1?{(dmI_D{=BPmfKhCQclQED0?;%O`G837R9zE zva_xlgB$dl!UDYkoaI@N0?$qRyxLa~BBR;UATBV@q~eOTJmLF&h`u#`Z9s8^SHS^NS;!6KCair-hGp;{)_cAyn=WqchcC z(8voWyPNbn6YznjhqSLb+|~${%4>o~AQl%kFtjMxIkjNy?k`B|2ht|>3DhPDHk;i% zA6PYAc|CAoiq1wA8m_4yL~!0`yslBA0~L6j;H%XSQ+-Vy4G@ckBYiKy2#)XZMcdCK+o5VyIi!MBC1nmzx-cOjPsGE-_ zsh;d(m;2Lh?cs9uDuk1R!-d!~jqs*A@>u*HMwSpg34jQsq@m9L;g4MzY}zV0iGr)X=N0tEjHd zIZ{7}-D9C;A~YhlvVVv8L~5-Y?+8npRa68ilvKAXr(@TzNXLoWlRVl1m77H>kf)0( zN=6itxP7jes@&T3)r%n577zMZ^ii@}CJTFBR13drrP~Ypef8EBvN+W^#pQQEs(2*>g3mo^C)?Zr}X?{R->;&XF z#`6uj(tL!7=OM=kWw4GBKzs9(9YTUXyQ9+=lT);+yLf&}N0n&3%mr;(!r;14HC;Ua zzrAsTy*D>hfOg(;y9(2ioI+yO3~#;Y6zkOH2BbF1(1$NS)>cCjHa;}?Xfu}E27fIF zT5v6gyEB)MV`HZ1uyyujW411t+(~=PQ$GxT-p6fFllUf$A?|o5w7>9IH<)}Zz=Z}; zS~nFm;rA!Dh7~MlFbu`en1%JlNT=JF)XLOojyA<$i<>!`H*;4el>WIK`*uFVr`c5{ z{muOFx#hOc3#3l!PNXG6U?{>UU5T_CDg#&z^0#^5;=1?+1+!skjkMRqWZ_}LE;g{+ z`%G7e#Yv4w_&z_~4RfkWSi#dT+QKo(khnjXkCd?YRqSH+ye>gzHRUZ5aVh*69h8LO z!#}+{@aCxF-`1Wuq%S7kNh$&|$u1$hxa6syAF!r#CUezL+qz%QKsR-MM^XQd;w8`a z?uRvAK;VPL*4NCUO20Hl3$7)Pv!BIw%DqGtbrET#(`g!Y{Bj=*FQj z&ds+dZ-B3L;&X}pS;r5WsTdZVKTWILl<9K#M$8EmRL3}c#3kCvTLHl z)WTd{n3SuDAH#;Ds+5k57U+k1jJr@~El0&sIlD@JH?1sL0w{b^`4l(!lQiA{ML{7x z<-`*^1;%{Pizedu;z{5YoxRcBL#APn!Ut#Y3+1ny^ZwaRyfn+mFp1$b%L}oh7pyP0 zWETxU;>cpCqJX?1lc0BBT7Wpl!?v-mtJx2kRAD7fo7+BhuT@lz4JB(Xywr=ml+DJK z$9>`leD-RX$;oL~E=0LqOKlp6#yZ?}(Kr5f(JxQZKR?b?lZ# zaTtK(>L6tOB8X{7-IQpfSMFJ;zG*IiH9e@m z-(LLe2zQ3>g7?R|!+%BCd15H8u{Q{kKtL^Yex@HP+kv+3#5wy_MpEpkTfguN%}`3a z_f|;|ult2OjZ;nX4Uoy&D2$dMfhpjU#Qx8OqlS%3Bz|GdxDAp=Va?=KLHS=!55|Of z(++T#8-2LtL0g>1S{d{rR;NzNf@fX#mNg^A6XpGj)|h0x5wyYIg5|QYF{_4A5MP1U z$hNaSMVWiTQU&yxBhlZTbg(SR4VyTzTLb~hCDh}&>1Ff`NMdo@@lnJwQF>HvT`H_? zBpdM?U}|CK?^WBrNKFPPMzI4TbaMy7Nb(eF(sES__3zNWAn1-GG~o0ac1|r#*S}Uk zBPv8=_GiA%!sO{o3V~QTDa8KII@p-^OFK&UlNaym$Iu)~obqgUSO$f*rE;Ymv)=%e zT@^YcVTa%HB81sDs}I^nwVD>ucOLe`ZzXw8B zG|rA8ONGyKBCdO*l@Rh?I&7Pw4PU28{`RhWORonIoso` zFEM<-sqY0!(D9;sTkIb^IK~Lb+gEqajU1J=uksB2i)yQFq0{4ie$Y5{XXcj5jb)&ABSsz2!z|9yT_9o(O{@tDPJYRHXP5Zzl#c85ABlw$s*=EH&j}Xg8chCSO4VKBKk0tY+ z*ve9&w&WI(Mch;YfU=cB0Xw>jFiCX@B{3VDU70_5Q1KnqK*vV@?Cj(W+>BwRyh|#r z%V1Pp4x-^Tb95GCSLeWpuInwotutRm?$YIWDyN5kH4|?W={7*CF35mYCQxyNxdECw zYpHrC*i7`0CWP$x&na+Bb>h~k@YPdbOlm*eWJS~j zDGYFb6g?QU^OPfKPIcpAmA~#FGMGoBCV(YzrdBcZA<^;WT)H2dW3U3@?uLg_$rPJ* zbA3a6?Z98%we=q3+~pLKj_gz7SHxPjf-1-z!DGHsrQy$f;n9}^A2vQ(>LPtsyfUM# ztZJfARxWur2vP(oS*B^CRXXUr0fMRpH5Dq5EIT$LX$6S=n=^G&DK9Lp3dUVPEB)7l zqznG__$+p&*o-#Jey%HTfZTggZ6u;7kNS|hoxJ-2PY+QpeAkbbD2aSVx1w{T&Gr3} zo(+gNK#zSjttcZ)q|9pG6Mw9lqS<#dNZ`rRE=CoYrH_9*mL=LQ0p!le0q&aQb~r#L zQ(Q(yU8I9aHO(c$wPlgiS<(JU3H!`>-71gRE!wv_vnpPpt$ZToZ+(B|2fF<3z}J=? z!ZUf5ea}u|-8769U3^{rAzc-w#{EZCWyCVEW`Gm#naS1#a;eC)ozc&Et*@ILjD4@t zhP>$Z#@Ud-jA`g2b_f3mUDZ)mba+*13f+_>RUyavA{y_K{=8Rb%WyJmEp1&EXVqUM zSt*B+>-`%5Kray5tny2!whl&(wf2tHY@*ae^n%29Yn&&4{82B0#v*%(zaoR?V|jYnw>e&Kp!{ zDgTiQHRnE}@lM`b-+t5|DYajAP;Xagm%n50T%`FhnTd^H2P1bDU zYnpt3eeFhYtZmrtfUn_f24-D|M2-oxuxeI7b@2=|4zWh>y8g7E1QK4Hh3HPXbN`FO znxV1$EM1scgQKh3LbtaFgwB2I4V9yZ*dowLZot{*AXj+C+7Sn*ciR&A)7dI9t?Rt& ze3KB?SP2mkl^D{U`PA>Kuro>*i z&Ob=a4rHx$!N#iMsTu<{Wc;jLu|iY&p41zD4#EkGBsUKFK5YF`;8-}`nsCD}5ta5E z92GcR`P`pKsr^3&O`#OnM>6YBKdlL8t zSS3D_Wm2CXFERc|*+6DI!B4)_eSS=sFmV|~ScN?+6HLWcVrz!Y-e!1q5}8#dk@TtU z@4FrR8z$FGzV=5GWc#ch$XD#qj#F2c?*%^j=$Y>WGSue=udrW+R(9M#J!41nUjY*0 zuC-1}RXG~Z$3NKs>xAf@b=hTuK~1 zI*=0z$%_lZ=h6vIhTZsFAIjM8qYZdMfrKVUL0ik!mWt>qTne*%X(k>qHGtc?my4X6 zJ7s@grE>R~PM;)8ADuXVy1Y`FN+?UWy%6Lvy%M7Dm5RXQG*LQ7ssslw+ECUGO zo2r(bA9E0nh`&5&jb~|Fri4y1uK#6rlzQPCj4kA@1g&JXr^tz;cVAbln6YvHJZ2zVEl1Vgc9$P*WN9q;Q_Za19${kLB8 z19^w%u5Wam3`S-nei?Y6;ejKQ2d>qgk1aJK%=56ZLvXAyq08TXoX(6&Fh8NQl+ z(RdcB&Z{_9By}hTPJhqH{?uCg1{lv_4$RSXI};+37cW!%;vx_lNc3!Vq*QfeQ-6<7 z$uV$}7;*SuOH>@^q(_JG&Jg@E%?CQvFiM;%m}J=g6uCN} zt-4!_ztP?KQujnVK`rcbvsQ&zi1ghs}!M?zP1` zs}dwY8r`kfDUxj8=Sxtq2?DAdho8-zDj)1v!jl;%{}p~DqT?|f_h~BMt(q*}b;h+0 zbR)J~rI)!Gl=wF=HL{6DU-8YBEBG-w2>4MJuW{jFlv-7=Q-cEEDq6WgVxs3ga_}m>_j-lO=TIRay|<6 z75Lb3BbC}ZeV%LC|G*csW8|2)M-(n1lWrL~A6)=M)$obCU3w8cKzl%u@TB4KrEe&W z&&tuDEd81pMPT0sEOI{fdos^0w9dnhroX;KWF!j=%DCy7s8E1NO!d*0#ilyaZaxNV ziV2S*ERuBh=0LIqzj6X&n=ijCqEl095}sJLwf;rh;&1;F8mh+w<~c7phl%go8#IB3 zR^3|#^GZa(BLZr~LV2ugTH_>Np>*skV@%%7JK4@h&i;J|u!(NT%{`{@cd9>RkCyS4uIrr|Y;Jxisc-Bk9~(q~7!zyY{GR?N zYUq(*wl`lRpn>#4=#RNBU*to&@<x^_rfJ9X?wp(V z295Btl-L1rQLzcUj=cM?OXyoV`yLE|Vi9iDrQr4~?d-mH+lPj?pY(&K3GD3Y&7kof zNx2}Q`XOmps3_&eaR|rtH8)l`E|@POyI((03bUIDANMNgy{(P8?N4r49rA8SE#k?; zmg3-Q63qRTtfx}&7m+YINS<0FQ@2!gggQ?R(6**?0v1h#PTAPL0gm+WWiYm%6N38D zUud$r%u{D!^8w%IrN!Z&ma-G3F|HH1u#hdu8*D)L|O zHWNr#jHiGzB!|yy2%KP&ad4N;ptYz%l#0V&AoL4tjpF9k9+%>oH}eY#|s)-mEqgx@*~$@OuiO zQ#+y6VaVGx-~MGjK8qBvru{KyWWzv&!E_+!QnzZxy5Ubdrn4!h(FszuA`&vQ$~={U zHL+FBHzoZPPfa-^ z=YV_s?-CYM94m-S{?it1Bwmj>_WPs@39P05kZ4+DKbSPtVY{s$gOIa>BxGMxchcg) z%O{=K*4%5Rg~zj-3g)+yu9E)g%PCr%bh|xf)MDnvy!WHkc+n`ZN`m(LDaB~l>qa&9 zW%u=7mWn6#u%^6d2;%nNl3qx^+>+6x>#J+RPv9%D#rZy~z6??9Xa}YKkJqJ-fn=7t z)YFDqV+WcuNp2q=n(1`Uk9k6v<}Om`x}K%ZB3}44lT}rJsm-9tZbfORGtkKLbWj96 z^d>|RT{pJ*bHTWFBu}_Pz$x|LM^C0n%+~$pGo_KJ@)7wkZ!H@MK4Ig(0n*m*Cwxn* zI9QPj3^oMf7>+(N%6hZYR$%3?Z2Ek8itB9_H1~a1r%daVwf+ul96{*LA;)fl0Q|)}x!ngcN>RGKxpr~$1F(5Y*`%6x? z1Gv7q3Q>Fm_*=`)N@wDZ|0%xE`|fcc>!7qDOvoX75{bwpp4}~>THS=TL#dzM6 zU%+bBJqbx%FySD+PK%`=oA2*57~W5rF_t#GRMqj+xX%RV+uzEptX1p3^CCZO1k@aZ z+crz84{MSVSZvW{(MFC|;FDdvK3z2DFkhz%3-MT6oG%ZBhoGdl0)r?|z;;Y4sAS}N zmgnQlMUrI_YnWPHeJ{ggFRtcthVcf|tQBZg-^e8Si6(5eE{={qTc*q5t9Zi0o%tEO zMl2%QG?XT-#PhRA80)(QVSJddTWC(<=Gs#GLY%eI;a>MFvlYpa@nf8RIzh`YvCf<( zyjKt>Mi$NUvkpS&aGQP^J#bw*ePCgg5qUKS1!5UmeE~HIX5?-Yi8yo*!)t5Ak(z1; znVUMEy#Xo_EAwULI{29m)R6=egL+)6QCbygy|#))nkP*Xn1EMh#Il`Loz0@T>=cn3 z7?)FRMc}XsPJ`aEo%F%4Za-&zC5D4Z2acu+XR^(8CZ(l41ucI_*Azz^D^;w&ZtR^` zOtfi9fX})WD-eQ&{p#0{ogx@sq>(jU;xN=%3j`1g@CqSrNQ2%)JEYu?< z_16rsL%T}l(BmEf`n~s~S-O(8Ohyl;I3{IgVwt_&r`7Y`y&N&Bcr>+1s)u056yH1r zBAWrl-}B8GKp;jxwN8C+#-NoTkin3LB#^{3IzmV;r*j)`rY_y43ud&Tv{b5wt(OX+ z@8>72-trzKf`o<``DCi=FE`QuBO34SWb6G5`4vvsh;c_ue=J2UvmCxu-NSo32&KWd zlBN#!HWBOVR#E`!G7?Mt2%i@tVKpCy_Lj_4Cv0Oz0Y>f+bJw44PvWUa#dSjTabnxw zZ9}cgauSC|tyUGMsTPCAmNJ1f2Ge`=wo8(@=ALVH%ue^|tkHZ#MbJ_$H*_DQ>+k=l zk6{jaQU1UrgY)u|(0622-6#I|O~W|g-sAyV3ymnmQpJDe)R5&|^)x1?sc87nf0uEb zs7ohIb8r|8%?3XGEe*ThDa)Al`1)Mr6jZ|NV%W+i-${aH&of?}il4>y_Z^DbCjqgu z?nS)WtU_ix=@rLgq-RU$(ho-d_jA36>3U`S#t241fLPI8kQCcemZs_2 zu5kMx4D~pin7TU~Z%~NtQ@n3rjeL>UPZx2+re=~Wc&J8Rear>~I40C~0cTX-0Ep0x zzF2?3f{@;u9YW*&pSiv)`MLEr5>dOB;wESi9+6eY1kTFBIT%uI_tr|cx`Oc@wg{0w z;@G7?d33Z~iQZ5m69tR_wI`lRCvJW;75H{^!A)Q?yLUM^Oy zcVpq!777iZlI#=G_kObvX~x;yiV_v0LhB6X4Z;3BcPM_2N3IpByIe3BId#%IF&5p% zLo4&H!n1$~*me_&{64O3->(TxE3O_p=_TiYgi?Yo5<7ZCpRYce1*#pvEIg;K+KNR> zKcfyjA2(DNk(qWg-<4MBK8tC~L~Z>g{K)Ls>F9nvs8n~PhXJ8qXR5ZflBlMVBGv$t zy9dpLA!fuP+hg?WxZ1pTpXPauLX|GGO7Ydo?47Cr->^ zkCu#rW-)flUIu-g%&ZgYO`BM>b){O1s>5mhpxf<*L8FQqFdCV(%!(YIe-VKDeL%v^ zFeqg>Mg9I4zb&iHx`b0r^w=1>Bk8OEPdVp2($=|*4ur^ohXXuJ3JFgmVH#CAvrRCE<7Hd zgR^aT|6>fRz-OXIcBKRa0ycLYchw4d6UIZT3whI};EH}RJVbm#7CwVMJ=$P+G}DU{y&^36Jim8GDm8MeQG=sfsx&R9_l7O?oi z%`R~;K{OdZbaJy4xYRzo&nitO0jd?X$-zVE?xLn(&|A!6yObgS?raX#*|>hGyD}}E z*RSiRz`2tjK(u>h{K>+NDdkNQ{Pyoo$N3P@{QHkDrF2syaZ%UZ)dYtXfBrzRSuqgf zck%F>F|W6)6s(#QhqCK&+`MW3HH_Z?rXkgwA?)rJ>EZMPYD()Q00L)*my2~veKMii zIoaEbexP4sOEb!DGOE3`k56LqP2Eyl>!+}XovEVGk~+$)q#g)S*bq@A&(p>aK2y|H zKsjcsEsH+lNP%t-hs~^xH+e?wO#$A_;+k{d0bV-CgD*Svuhl@up5ZuQKC!Ji(1r?c z=S7UTlPP$6`LjltU|a=tRN7=k$l4pgH58=3Ed{~m0`t^8t!EfiluA!nOj=rLhk&pu z3@z|icAD?0=C~8JEV0yNow+0@4qTz`FSS*Qr@aw%1WsGm-?b!jwAxaN>@-_3UF}bT z{LF6*l19^*oS42QX}9(AMV(`$*Uj|~s$-bhe%jFk6a4k=9pV(x7k`%1t&wX{pULUs zyB?-C;mU2DF22{LQ1HZ<|05e>f$6y_{}^^Sy%Sf#Af+QAUXWVg0Pd>DLPP99BsW~rJwFGPp0Me&_{$}vlv&bqKOpOgRrm@bO?Tqp#Fv> zr2P@EJJDM(+jraN(ZzDvd~T4)Enjcv!SNNtIA4~5eim058Fd?gj1P#biJdD}S!R2T zGp+BoeN<8d`a1Lv0|_~TCpSX69}c4*zPrS?^A)Brxqs(X4dU+b8gA13KLN`HH2T!- zQUtM|GJu2<4e#nX+WTXfKZks!>KH1L0*>4N0Dr>;IXMC&f(Ry5ua;^WWt>WyRW3n0 zeMi1LpfEi@{ZlB^OOWfiQ^qT2v{cdvnkk%!w*g5Zm<|r$kESY&#u$}ns=Df3N_6dQ zj+WZv(EfPAWl@6)25aIA>z<*nqY^Z53W&T_(w7QCfx`a)xZGdx#TYB+%&B3hjxqw& zoz~;aZOLByp2vPiravxZ)pasZNXX`JTA7P!vku1h1GT+vj+Q3K>6Vq9?HJbOM(%IF z(&x8qcDqG`BdF0UU14#|8Pu8OMHJyCC?ZWo{N(P#%BnfI-2Nks0O{tZ6?GYUQ<6`f zNmZ|M2s_*Pi5KI4sl?r5(>47;o5dV;^3y`GnWqs+=4o%_3^>vS_Tcy95ad))beuKo zTLh)lnPZh)vdSzk^gXehv9lQB6@4|J;PQNaV99h*<@Jr36||L-v|`pFN!ac5z+8fc zq*qkc($)luV5I2ZS>O|f8KR3k%twiT4I|Q5)RBAJz7Q(@EOeennN(#ols!e5RZ-L! z=cLQ}dZs{(rqD>!VvBnrG$W*ECgY;CTQKv_-V{&i47y~CVOITBKk1)i}tqa5? z3LPzb@5TXSvQ1M&>e1_yWrc?~C;tFL7wWuk34ApRse+Pu++r@9qZxflK#Hh=^=)!b zZ_mCs>%GP%Dm!a2gD%M^DPxM6pjWkvms{N6?pbI@%f$+$YxhEph6hCv45YCp_b2*d z@TppDD1dm6*qy-j!EmT}5q4&7%!*j$8H+4Sby0Obm*)Qfnf&qO1Ln)gJKV->Q~kSQ z`h<=blH9MD6UGJPf%Dx}%B3mRa;}b;ZO!)d`s3}Sbv7PNSV~X?(j*7U$J6VG zpcLj9=;@g}st5`^zlJ)^)r(?Q-{q}B_N91Cnai~!`mBMHr9 z!Zlepdicbr8ZzWxsNF-Uf z9+=Bk6y#2&q^TL=by1q2T|jMXg&g9hVA97@wV<<)3>45mucr8lt1hLRGNh=LE$I-nVWC{ZLtqj)yWoECh?U>kwUu*gcset_P!fdAtD<~K0a~>tzR6%K_ETP z<;T+yW|GD72`#h+y~FWhH^1+R>1e6ogwE$sDha=Ru~w*2*3fuGysdL<_V)bnHY5WK zqz4~Jr!IX%4Rhu4)=92;i$YwRGXs4p+*}REt}Iob8mP*uBOwpl#x8fY!3SbJLHvg} zu~U=e??!U>iZqKzHVe9ux|{Z~?}}NS2=L8Q7P5tS6p{$q%+?=z#O^&VZG=jYrzTO| zTM>v8G|Z}Dsh$djmC`~ZV+)gJ7P;GSz0~&HA8G4ltx&MV2$VEBO9vsy0GpHFj(5J; z_I#%@r9_$>yX>Dz2tigMhWfQ~FLPsidfNE4mqk-74wI9h#JXfV6Mwz77p+>x!85ix z00@C8x_TI9rOaw)44xQmB0CnCT-=L)gkXhC6!J&ovXV*HsZIB``+YBqlhH4Pk;LlW z8xy64z}$XEoD0l?LS>jW{^&*;f}{DpF&xb?%qi#jF{Pb@DP9R(L;Ux}+PNAPU5A34(nzg6Ec)VfupsUA9@r&QP}GRBRl#>wH@B`7v#i3F co@rK=Ad9GyqhY_Nruf2xyBVBz&nAEW*-IXpQvd(} literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/66.jpg b/examples/data/Skin_Cancer_Dataset/malignant/66.jpg new file mode 100644 index 0000000000000000000000000000000000000000..708590b051c0998be2898a38791aeb72790c1631 GIT binary patch literal 8815 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 BaistN literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/67.jpg b/examples/data/Skin_Cancer_Dataset/malignant/67.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec82ab26433c494205283ecf69ea982984824c2f GIT binary patch literal 15656 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 M{yU(8c;bLS}i{#2) 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 aF)!;8_cOrzsU=^Wc8_2t0Z-<6`F{W=Py#;y literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/68.jpg b/examples/data/Skin_Cancer_Dataset/malignant/68.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b01e8959519713781d8ded6db0273728cfabb51 GIT binary patch literal 15310 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 DrvDuR literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/7.jpg b/examples/data/Skin_Cancer_Dataset/malignant/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ff0a120ba32c1b70d48193d179e756e0829d399 GIT binary patch literal 12431 zcmb7qg;!iX(Dwq1J4MT)3x#6Ei)(RrFYda~BE{VoheC08clU*2#oeKFp}70o=l#z6 z2Yho+Cds*z-<_P~CX<=GF1>C6@Z_cCqyY#B006?j2k^QIkOUwi{73(B#QzA0^dCnC z0+E0y$S5fPn^4iwP*BlPQBcq@(aDE0CxMTI4-f^+)V%eU(TTw#-d7T8Ml@i3^oGuFF43eT3E-e`BEPXW3tA6) z6CmvS-s;nDJ=ru=K*TJ~rVXtre2A+)9K=BiBgDyo-uxllZ7H@*=~MygDkj1f5439y zR0SJRn(^I}{y;WjW~j#@3ayqnH(Mp|nvC8@>8t-*Rg|8Qm2ct$Hh2b8hmPD%cmdry z6S$*rk>4hKH2QE101EE%T?U?btF>gwVQKU>@7@g%7=XSlICtT@N6p^Q0}zQ;m766h zNWw!6@uN5w6M@G9l~M`?<&OgD(7_xi`Ze2N2LA{wPi4oIC;+CoE8h&sH6|*tRhyPHiQ4 zZqu=$;v=|aG9omnbj?MDjECsB(Sx`iw6{AJcAe)fXBHMmPwwEU5P%}n!ZS!SXb*BZ zlf&|rY4UKWHy>bf32>G1A!Or%%HH-B zeDz!!-S5*r&Az`an&fav{Tq&4k8Ygy3RrnhUg-E%N>4VQg&%AK<9Sq#v~Kxgxl4BM zQL2|kMwIClPF>^5a(8VOh;!f9_8Oq)eg%vioanZ3+D!3(1jrLYy@SEHV?M`ly1DU>z;~DYyhb z(~vdVhB$PWq{qFJK7AP?NA@m&tv8$Cj}+v$Y)B3(Yu>D{gf(M|@mx!i@e z<{g)$b9>@oOws#hy&!LmXiYVOYSCa)a2EohJ?n++K(LaDm|GAhBiK1z)W&#*=neB2*Rk}Felghye|dk>!L9vJ=^jzF!-v8tx_*3mswdT)f9@ko90z`HHp7M^ z83c)&X>=4|n5({e*4mp|F67fVir0M63XW#p2l?B3)8doiJhOhxtIkXOfB@K+94)hw)x>xgy`Fyndk<<~?_*l!&m)MZ05>{g@`w+jis*d#ISw_?KP=H4JV z2(craBlHSK=Cfv*X(0#FNTgDBVgzf47IMV%fA-At-y-}7m$L>%I>gI*sd`xVFhpGt zAul6bPwg7%zZ-;|JC0d}aMl~vjv)L1Bpqq-o#%HM)hw1;Xh$@2P0-C%EmyPdIiY<= zL@#M@c1M29>9|+b56!+;{QzO4%gM|4YR-3xpOK$IDEx1d8!E$NH#p4In==xHZ>9~0Rae>up>oND+0t$98Zxs zk;EaNb@x|bY_SZZ76=1ji&B?$>LB7FetR|@2zk0{N%LhJ3 zi4wgyp!EngP45rt`HI$SenA(2>#)1gm=l^q()gH#p}XN&MgEs2&TSR3?o4;wi?8*D z)!AD5z5v(cSJ9P7EaYuJg~f;#>A@nQdtUj-mr+_(&S|{wPWIGykaL1lqj@%Smr)QZ z;2?}|&yR4is{K?i61h7QESAps^C0k8|KNR9Onfa4=JN*A==8cgD^H-wMPj0p3s>f2 z&hd2>8~I&zRlNZ}MHlnIW;lhKt#_&H_@Si-UGDB;qKF<(1zcDX$6Wnp2_yBU z6+dV-ni7QxTN-arq=#ywmQ$dIGmI|1=v zT>7j|XiaIxy!zcon!yU==IVZqgt*Mxx!#Fu#Ii!-;x`;~ZDil|qY0icqm`8FSl>Yq z<5I!6QfDG6!1@;kfi5g)vXbx#<}82tR{7U;A@&vH*1aoarJ*LqAFsWofTk9{8BT>= z^DV8kDeUWPRZ47EXnFO=wa@GE+8ab`dL1ws5>YoKiEE>-5&LNG@juAMhBd8BP+)kqM zh)q|0_;#u{_wC#DPQZBww7b-|N~S3WK(z>i`v$+{Jan&W z&7L?{UK6E)sjvjoV081%D~G-sYTkmYq3msIz?=ix+MdA6YxmG%Y|5LNjTKBSM$6Dw zz+;bF%w=GPSLOAs-ip0;ylpHFev4saY;1w)<0}CChY_p)Bi{L!1V6Gw30-f4;WU)c z8CSoVn1Qy{i2&4n$uGDMQ20ynp+R-dY|*(@ZHGybNu9?R>cxrY_rNq? zM}#Hv+sy1o5wDv3FB;o$_*-7G!ok)T@GC%DaM8m zPk-)HB<@wn_>dMtvU;@vwM->(k~+Ewo{mz4pW;DhQzI1jxhIZ<95_CGtrUOuL_qR0 z_(`Xy;v3_|M&+KXqZQyM)p$8EBbftO-l?Q)IzrpyoJBoLRb#^bEfLl(LojS6bR_Y} zdYw6Z((PEu(MJW_fRtPie*zgbfOKRk+;k6#;!lSq#x$qM={hLRuB@ARG`0aq>hKiE zvlcuY%=hr3HK?|xFvfWd1K^0~v*pWHUEr=$gz6s_f*YeIP_qL1&T$EG+AXBw%eUSH zaKRSRmwQ-bCv~$o1^x{+CMIVnC}<)_UqyoON@7p%R(oxIph%_7XS|;WLwI!b6(D@X zx=0_VRNwiLgNUiHc7*>Gz+VNf{;FZ=oajROJi{;C^Sds)mZVFn$WFTkQcK3$Jl(>G zOO1abY@cyW;;c}8bvH`>&zL)OO01o>=uwg~mw^O5d0n3PR$2QErvi`wTG2c^(WJ4c?6Ll$R=H>a9n`+%s%rJKp=281Xcx5bZWdIjIoe|6Z?)8%es;n%&NBeFfYD8`gFQ zPnm;LRK0x2D{~wwi*|j<&Y?oP@isKB5LvGYb(|H_jQy00 z`ynmk@PQ|rSE7^X_QZZf7K3vDOqsc;6{=^U%^DB-(fhvOP5cj&6gi*|; zH!$ZL;#H%Xt9X(V;+|iV&CCTw9=LYGZqLUTQrlyUT;~ z>$9qESR#_k5={6NFjd7qOa86Q>1U`o3^h~hqs(DkQ}4prFh*^EtDjD`XN7yz?q3WG z5$hxXZW_aNksjCrF`=7tpz#FxA~?pp$*a@^{GKvp4T=3s#*SP)A&7Tcr}K_!MJTa? zwI8wf;WDR+dC@WXr@{?jCqwU^yN5t>6g6%*=_~fQ1v(upEkXW|OyiSak^=4Bh9dDQ z2lIhHs38z(jorg%{uG1{lWW~PNf)1Ur~(tmk(c2r91n5&EPW2^v0cQs6sgZ zI#Hy4O_~3zh8v!v6lgi^X>JCA>~*kELFzsZS?J$H`udm9IC2`Ksi4TF za`OXk$xZ_|iF9581MSdNwa&TITrFHA7WyCL(!%BE3&zBIvkuF9jSfFsW2w#LFJs~b zv9wtidO+8V4^RrujR}I~wEj#=J@P%@1`Sm-LxUyE&m8eP2yf}_1*}!RD7LePtW?dt zztQc}OgWPSXUlNU774WE&0KRo3fhcgla8hIn#e#-;ks4@l~b-_L0gS3w76XEFJ`_| zbm|7x4U740O|$u3(#=gx7ecIISS9fTf4n_*s)oGRNwFPOF{}dg*uJjUREjK5C#)A0 z)wW=>Gs0H)CE>!RMY>O!BZP5TV%&McKrgzmDNr59&>NEGygg`IW2)cj(E>f zh34R|+&t`GM}&5y@7sG>h(0GMbBcIf-4tQL(=xU#<+65wY9N2EWZyMS1aBxUpucfgDj!H z8Iav$@Q;jnpM;4YV(`{ixV|6%B_N^O#W|kjxFG6$qMO&=S^bNN8y4?nHae-(Y;Qbk z#f@OtQUP<9m~#&#{UVaGSMs%uZZG4~tx_K0bXZCDkGAk{<$-wSB9#6;Kz>LI6fIt& zVhof3MHT)d9VL66ma+*bQa;+@TRQ;k0=AmI{UOn^_>8Uy(ZqYtaaVvr5-Ukja<3vZ zr#M8mlzBiEDjSonX(m4Dd0Sfj!$Da%q7OFt9aT<#1;-LX2QJn_9mm^qvy-@knPs?F6uoy3D6yC?cV>vz{D}~p!FyvM_b<{jYP{X zNBO(r;?I_y932zlZU7(UytQiW&-h$&No1ry9CG6LX5BiM`B?)r80962ovIlv5p);D zf2+N3^3Bu%R>QndMk9-6LZnfX_ibN>6h!Gj+hN(~r7P~{8C6FM`AR}%PFul^mzi$b zg1O_(YbI(+E;bZ%+0O*bT&0;8!Q{Kr5?aP#)|Bpk# z8HzV5owE;b_egB%Bh#a|2zq^B-#UH1{8^WFlvnb@3`M{T2!(Wj0oFO6JAOW6<|DH)KUZKpV?P`}>SongjlT^F1m(3V3%@j7 z_6#vLDL87&6=42bZtKEz_V9z`ZjKF32Y)E3NV}C9=oT)VPyKF5={}$OUUMHcBycgj zS$<95JneX3+r0u>rL|lH;fd|tB8lWz4|=h>JhRF>M>eX++Gkj`z0ORl}k`jg{R!I z1@y@+dtNmMoLA^{Q5JikGlR z-nDZY>ECnp1kK(F6x^Vc*jihby*J4QM-*JV2gmI0;qq8`s!Hv7*kSI|hTH#j4j_Qn z`iLq-FRq=skgyaIkhJ!_0&WmnpaDTM6!rSF)m}9J4ja10z3JSm&{+7G_Y%s{s&Nw+ z^~L>p9Nbv)OLiPlRGt|7IB&vL#k0sqG`$DR zUSSw81B&(wuks#ClqtjB#)kkC0(CR!R!Co@W9{DctOtXFgi4zHEbaYrll-JzS0U;K z<>|Vm3uJe`_^QfTTiq&hb zf|rWC{gu~+_1i&H5 zuqz8YMm90)nn#!fS~$VViff1WDr3ADs9(5IQk*J0gvuzV;|#x@D-~iSla>k3KAs5W9K1ZXxQ7+38hDC>!S!~2-c(0vR%OIqwT}fJDJh` z(eGMCjUa}cjKh@_oc#)*(LXLxyhfh2<6LL`IY1tVIV_P|XEYe#eG3~268ZZ5=$XG{ z`PwR}WURE&_45R?;V=vnUv`e zs$n*!a~mWyu|#0u=%aYa&ufI2*te0b9Q%#LLU@|`2~osH0H8;6D6?`s+?TnmJ+`T+ z+bm4y-3I=E!?uTY9W#t{2z$;Kom;=ReWoOSFaem#`#mx8klj1;Mx?)qa}5cea#J?+ zk#v7Wbep%s%@aI-jb1=}F-WA&^;>&{4$s@yUX4QVpX2a~XSkc8)rylZR186Lc!|8> zMA|NVh61afpSC#;Eg^?6WO#oINBF*KcKasX7FSVJ#Y<7t&RX}gPz6^t+Dmb2a0s+a z0HgAtot=Wpon%s{U1zn4WSYnKeU`JKqhl{S6aT^a%e>9>3-PFL?vE;g%fVD@n!MF9 z8dA)h?T7iJ8WAdT0DXM`bFZQFF}#=TnK>sk^}=o?G@#QNQEuHln{+Ag9TngekbSM! z8r@P8Q2nKI*FNAy=hr4iyYhit%gh@!^8H|CC_lS@g!@ZM*PmFL5O6UsY|ZB|aJJnL z&nPw=5-Q>9ov_iUgpltNDE`>ytd_Af7$b#8)xXoQe`_>SQcI)YJK44-190b=U#3Ml zpgyw+p%il!Nf{b6odx<#2pqGp8Ptb0q&fUWWdLyb30I7LpS=k-n0i|tGP(UExe+mI z7H58<>hnD1YA38ePx&NGQ4b$h`8C%_iQ(W@gggNJYNIS^VdDJ?2r6n$=OlNRb`iVH z^S7P?4U(8e2UY!>Zu;pry$T%r(0`xxgkuia1Lkn*nOSMlxU&JE!HEn8o7Q_$YoKVI1wNIMqpT9Tyh(Lv1-b*z-iJ+Z@%jri z8WS=$#jqH?0_1g5e;dHulaSoG6bs`k`Kf3&!e{1)ywFZyN%vY#7oKPtHu|YHwNZFb z9J_|x)t;3s0|u)t5g8ua^bzds2P%D;Jh8qXK8mCb6icT`!=m8NNsoaBWW|IvWvp}J z)HX<7I4FV{!{3@uWM{6`i3nI6w0z^97mnw|KRI?FL7DOI0`v3XIv0I3UO-m@QV*e| zl?GwOj#Zv3?aiXmJ%mTh16G3_hbc==m8NE8IIn1E8cpO=d3dFb^Sr*{v(%03Xp4aw zIc&6lWN_<+`&I(J^wrx@{_xl+e^mcyG3>0ST*#a;G{|;hQ+p zO_hev-E+rKZ8=G{kNmK_z1yvYVB1;k3?T0HA5E zlz7+5YRPAO3H0VvpMaORlZ0IKEZ$wQ#&(C1Uf;UEXtq;Z3qupQV!jo-OciVR@S*5s z_?Sc4m~8jD^hfzt#@VNFp%D%!{{-*MLlj!^K>b#XIp5w~zbS#LfTsNYI%Pj@2t3UMSuDF{m{NX{*kuK*^~xhyq`QI_M-P&sPKyJJlS z(MbK`zy-C{C7LX&uM#0!E@G3u91~jULW-V6?m`-J2$=rxSnt0cVVGM3|J;h+zZ*r8 zd)jQef1R~kAT*01fD+*M^WfqpXbxVmKa2bzBh&gncT0O`WCD$Ly~{2_t#A*ch{7+b!6TMRYETQwsNm5)#8%x*IT)sl4~tG1VFd+T>ay+D9sln^X% zb0O1yu@vl*`G#`#Xd`Jd?-%>z_GXU0+V8cPFB$rHi|@=hvQbCAVVD#AUJv_wkciCM z=vz)!i+)?od+N9{l`-{--`zJC5N|He;vPNH-qRrz6g>uih?PP{AK8CS`HCGkxsREv57H6}wf=J~2 zj}b>~g3@I5Trm0``Csj)+lIahWmO9WZ`W24$xR)IFyt6Sz8~LdD->QmFNBvJ>Hq!6 z+4?EN^O#a}JuRV=hbAshOcx5dn1Bp(fr4PWJ-3+MQC3RW#z!v|_O<90Hu&p&Yc4vX zflr6Aa{^gCD)`)rz36Bz6^AmVPi-YV=`x?_dIg$*=ORH7WE${m-UzFYc^^-hO zzIG~W{?$D3m4kqv$;@<87+bsDK-mv^_-BDXL&20;-Z8^4)Xa-Hdmv$ms|5q4%?m2-KgttD-3Xc|To@eC-( zl{-x1ysFCi7eTPvInctW0-L5_Wg@_w{N;_N-7_W*R8$~dWuBuD^mkf9CVRM-`x;+v zqDyTvy0R);E*uP+5NEW1l8yosj$zJOs`rNXhPeG+2^rG@Q>#|(=jcWDbh$JWVSJclM#c$Ns8X|z@%JK-_UL-ptV9y3WYmF&qZ|K&2$d6Oex6D_#NudG2qDXpLp4GefNhLF} z3%|`$W`u4>DEy&_JBZqdwqW~g!dSe>F-mC>ev0sXh<+g5rE1=fzt2~;Vr5B3c_^Ou z?u-41CKevL=|vR@!Vp6fZ6Bfe_yLRDgL;>_&zs70dafYc$qeqghVR}febg_>HJX>o zgH!^xnJeg98GN+<;PK?nc z=<*38G^5Kv?liiykKV_bE(zM}UaAL{pmRv=L(LX`)JaRcOIt!E*EGRD^r~Tq?+kD} z5P61^FEdWeaFU1V;MXC$a=;cc`h?_gPH!$V6r2g6V*J!My$9S5h2QlgV{RtcDU`&d zQg}LF=&12G6g4XN6Zs@+Tnk7E!<99(7Qt5x1b6BlXHOqu5VJVu9@G=j{v`>-lK zseU}kQjy+Y0?D#JiGC4?=vC0!xM|giMyJ|VeF3#_D1lT%3Ho=~Jz0j(sQrkd`p!}x z6>5i`B;*p;?jj1>ShF|w5R#0gzsAf~GMbWl&c%ygms5VfeOsF1R28F+>JWBC)?4ky zi9ntedBjk@=Lmo7+-x z4EZ7yJdrlEwSP==<1qZqgBgSCJhf1GBpS3JED3SsUf7We{u0Em(~6{M!_3~eHvKahXb>wf>6hC^d@JYk)}3qx z;RQcuTXdrdH)0c!2h*2$Q4(Gj+D@4C?pHPY(kTr1&6knlLvDNa&Tv1rGKrU?+48Q# zinZyX*k92uO%5!&RXKY8XSa9IfyU{x_Yw8oct#U?)dL`j_ z^H8RV=FicauSEvKm~2F95e}}%Htm)H(18I^vhmJo6#P6Fh4&?B*Ug$0@}j!eNGw9h z{};E5`r&fv80y8Mu7Q|3V06iFT8wNR2B`;&CUIDXfB`hVQE~K{~YiZ*r@yiKGzH=M; z(D`o@wiEU9FOn1f>+R|Zn+)h^)oF{i|CTv7T3m`i*yA?oFRxSOX#9N-=~zanTzvFc zfu|xwH`=53`1CUbp+kagMw{79P-ODHk8<-`wLT)M^Z@DdcSIBm;t0F!mTJ<$F_P_+ zgWF27Xl%aljH8)PU=JJfRW^96sTFX5w9q>Hd#H7!#v%*z1bA~@fs+y9-Z5)!J*OMo zy9H4(bFD=b=A*6nCK=Y5{0iuV+-VG_s}rF0T~A=4_U3!oSMYcl6*3_4Q)@=kMBZfY zdGI_;B#U9hahxzmhcUZy=7KO9atRrooM^&a*n0_-#rP*L5U(w*;k+Q9+kZSbOkgP zX00QWT>5EhtCd?Yc#Hwk=$ImMBP@{7CuVYbDA$q!Uwxx_ycPzH zFRG!Tp>1l7Xh`J?dG}fnBryB^qV|(=T1jD3oLU_-%M6PwNnqx~3z=xBaaFr||H5?> zeW=IxGu;n#7?Ur;U%FF#DVm-KKkPIPnR4**HqW3smlb|~Hxv?|4YhH-c#Ebp8GcCa z>#Rsp7r)wO_zh`7cTL(cniNWk^}9jz>fGMjGFK$rb6QY8K1epr1`-1m1!<=j4RNQ^ zDUl#+b*< zRMGw#ati0C_qDAQ3{fO~@FUz~MWjy5+MhgTonPWI2$EYvS#!UCwoP_z)PB@;Cne?1 z-_hW$aR@oXJM(LFJnkj`Aw-FS!(=YPu*u$bBwEGN=GV~UjauI4b_^v6B#;QU!8FZX}{7%oF|H$!?3a`Ge+r8<^ zM&L)~f7jX4=J@A=g9S&~M(LEZJll0MzIqLqg@SebG&>_HXwN!FU&q(=^O1AO;zE?CS2EKTk1KAIcmmyY-|~G2OFb^V~DPF8`>Hn)JE8 z>8)40(Qg@m^#BO#rKwEC6f}*jP31AC9tI~j zSSUt&t{YBPd7t$2CN_eFHO5PJ@A20|wU$fgd7uWFQBeLnSN^s2QYG=F&`YEPia5f7 z37!vR7fKGCwfQbCoo~}m)XW?{7GYZai4VoTda^Gd2u&Ev1RktpSVsJ^X?xe)an1u~ zmgT_X1Nv^r<>TZtV4?GYE)^U|<%HLEl*e6UikWCPt()1bIq&PqI(8~TH+VC5W{WnO zw%7DKH~h#cHG()^0bg?7c`t29aQ^6kuDR#;I2f$24uYxglJH=wglxJ-TqLNRAkJ*A zU>N+fw>WQ=z2O)#dxKfx7XQWB($)3LHT=8q{Uzm_m~V@Csjejdg?6(f0;+RWocN!P zCbKoVY`kW4VVM= z)XT^^T`OI2k7Nu_)a9E$TED>UxzHt>MFr4ho3`Rw5}?BxF|JBPUXXSG`e+~BV+O`_ z+5mF6T?SmXg|#IVG*3UsA$Ba2zt*8R?*9YyRF=|MRIN2|ut}IE@UWz@}W zTa@l?Ug0?g3_C+x)(J_bZ`hM(uRa}P?~J?)lc-lji;5||Rg3hR@c6EL8ViA33>Z2g zMecXEFS|=y9El=HDYvEbrZ6zM{NTQ|0CKKQqV4&F19Uru>FT5@R1%N1@)>~iDmu}H6;O-^DO{FUT_QuZOiDF!w zEUWj@mR{WMwv{!`t)uLSJT`!QCgj-ke&WNbu)uxnpCwbYuI8XmUaOhSh>y1~IaT;P zJ%I#@B_5~A=KH}JA}_zVJ3blphyx9+tf*frWWSEr_snqb7 zmN4mAXl!1W7Q3hLpD+fN5Z1x{T7S5(X70`;E8itQ;O^h#*I3!8)&ikRl*z?nq( literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/70.jpg b/examples/data/Skin_Cancer_Dataset/malignant/70.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b2c35279dcbd92e7a238790c4c745d2318b4369 GIT binary patch literal 4937 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/71.jpg b/examples/data/Skin_Cancer_Dataset/malignant/71.jpg new file mode 100644 index 0000000000000000000000000000000000000000..389bf5febcfcf59b135523dbc13ae019544c98be GIT binary patch literal 17395 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 ATmS$7 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/72.jpg b/examples/data/Skin_Cancer_Dataset/malignant/72.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54447c73b3621490496f9d3f9bd548c5f752e603 GIT binary patch literal 4656 zcmb7GX*AT0+y0FiX2u}$Lsd;Jjeku*a5$U;!6D4aDXbwSE~WAR#&JKu0|SRA% z=O4&8OfJiM?f=n;fc_W%wfk4Z0*0{up^!ZPq5f|mh=&EtE2Yk7Y!C4~UH~}2{|Vp$ z&H-QVQT=)A187!!B8ClVT8mtDj3qE~Y&}?G{D3k;ic9rOb;uHNy#{4f;}tZPw99H| z46b&=Xq=iq@8y?!@zkGqwbwcT9Psj9&@sh93$dpnIG=VoP^N_a!R*aqlv}(>;7rWt z+^+9wL7}pkODp=zVg|^nRc+9OS6077GR~Kgq9;v*rN1@b> zvD`wmhiR;9JHhkB@B@e$<&%OQ=j5Ri$D)NMva0>f`DxsSa=L~gRhe(yZvu{#(IT=y z5H+`g>&Gk|P<0Gbu&hGg8J*ONP_6pM^;FyyKKlW)>*!ZO3Vt8Q`jZROvzRdRaZIqF9d=p8&n_scBQl@)sNB3h_Q+b)E zAVI!lJP)R-(w}OcMnJv}{QCg}%{FS{+oom<3y$_*wsRW@IZ73=f%Uh0RKtu0J?UlX z=Ag5=JoIpYg50Bb`Z=MyG>vA^&v5AMp&Lqa63}J65_uYzu>NkMINLi&%>b^|!f
-a|8*xa+f5TrkbYYg-CKs4b0~< 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/74.jpg b/examples/data/Skin_Cancer_Dataset/malignant/74.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc8500ba64e6354d0d92369348d31c404ccfc133 GIT binary patch literal 4780 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/75.jpg b/examples/data/Skin_Cancer_Dataset/malignant/75.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71a3329c8bddf3ba20f2aee4952b54a761e277f8 GIT binary patch literal 4189 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/76.jpg b/examples/data/Skin_Cancer_Dataset/malignant/76.jpg new file mode 100644 index 0000000000000000000000000000000000000000..760e1fe97f21a91643fa027599d06898cfffc34c GIT binary patch literal 12623 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 D)Z|p0 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/77.jpg b/examples/data/Skin_Cancer_Dataset/malignant/77.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70ecf1e4851cb1b6840248635b93f21c2d17c983 GIT binary patch literal 18196 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�Lb~NrB@gSQ#aD)hE+#q9w;EigVx&R`tIgu`zpX>Oh%NKL-F{)^m zg>FXHFhi*I@njLfv7RG9P8LGutl0=ujBbnkD+Zs>dRkP%MkK1p&9UtX74DQZ*;ap` zdf;7E$f|rQy7XHW+oB3K!?Ru+BOib_ymdxyeUh2jN+tfLqImPb6+URBr>1$U`;*Slv-6)4re@M5<-I|)Q=~(;GRd< z>fa;P4VuBABGWYtnw*&Y3icce-R6{qzmnZuuFBwt!3^~RMQQD3S&btz;@i1xZ~c`I z{ky(T0IJ(Ylj5mdjIH+~Hf;_^`p8*|V$_qdQDkI#akAe@`UA00@|*x0bTwq+I8#{Y6t2LbBBNW^18hvVsyQ~+`><9qRk-CZ!&DbOSaF$AS39|=eTIJzG=ZiTY`hSe#GQ)DTrYpi z!r3}u(!Vn#Hg`Zd3xqi`hzj@OI{XHan)i?_jN%{KaR!Jn`!sGYD_)OYN=>_rr)Vj&Pt99~mw@ zZ@-#UR~6SSq)MsP6=Iy97^9;!ln%pUTS5VqF4*baLD^TA z@|uSO0n(LpyHzu8RGM{_QD}s6Oqw84AMKQ*<-=$zN4<#V7)^*Jq|}AA6@<*ik~DCQ z>y2+3;Y0soMrklqD5|scVIb=Xp9gIB4BJ8^N-F&kj4nn;U*q-Fz!iE)jV;9;2pD zyHN^X%z(=TB+Fz0v==X;>GAfrtBwjv8B+S6HBN3$kqYn!c~W+OJ-V}aRW5bp+25*( zthJtMyw3$00w;U(mOdFK)ID>+-@mOeuitAjg@E>=9T6TR-a+X-H>ob8xGNqbKN5i>04n?qe(Sdup&z_N`fhin~(bY}ZDy?@k z5V{+;msbOd7Ii-QQgn57(^;{1Ay;P9%eBh&?n@<^@^%7+C|3?Zk>Jj+Wr*KT)Rnel zsGlq0@T7F^#%lE!yYa5u7$cSJ=)7lEBw2kK_Q*Z~N7f|*oy2AA56P*f@W=Q^y$c+y zKc!T&81Al~t;Q>flXREc+Jp(cA5R>9&(+U&yxIXdGKH!Q%*us>)*xUmhK#Fgc_3IPx)>5fu?_zlh zw~=II4)8~Fxhg+sF%h7518l1h+QBU^x1)!_Iox%~&mIK! zqc*XJNX(IZx)PJNC~ zDX?*|Eac1T8^ohMRP$KPjp~|n43c|t^89=NCPI>#LK0%<*lLbV=?E!-QA(Y%c}`AK z-R?3F+pR^><1HzX`S%U%DA(>rFMSEe8dzeZpb;`)cn0dG+XI^X@K1s)**sa$QQGah zu67hFh~W><6Ozxn=eCLM*j#4s>q}9_-$|2_Eiqk8m(sCW^k_qM_ zKLKUpW}g7G+`lHD0QPa$H4^;tikJl4%1^*bT0#zu%>x5XdMjd~WH3ZKR4XI*(T|_~ z=#^>ot$ss4<#&YqirhNmt#+#A*zG5R_*KhX)C>h>-X)saabo&im?)!jUM?wlwc$~fX3mM_Ck5sGBNkda1h^cN1XeMFTTm2MNq4m2sAKJetUU-+$4%NJ$_ZU#a z+@q|nCMFo|5U9#+;64Ep|8l8`izE_GD7O}>wH}5o3o-DPVS>xN-;>Yt9PYf(=61bn=U#Gu`7+Y8zV7x#t{lS~qJA`MInrm+!ZSFm}jnO(Cv zY$?8``m3JUrcR(A%oum#o6ESY({w4D%CR~oR9Ah>?v z#_L)2&@8sCO!K5hq@)ju%zxhXVw)xAKbnJH6qdm*lg6=b9!V()(eQ(-WbbY79VHNQ z?-QF{kjc7L&Yyo)m*0XB>4C;+si32*zI z0YZAL`V%Rf;ju>PovAD9;HNlgiS*`sD$1m1TR{ftt^GP&+B2KExIsuKx^7V4-jznl z>t>n9g@+^mWVS$(EU>kzz`S_lYWr0==r}^ow!$E$I&f16SF4Eodr4nz%cD_Jz-ZeH z&I!Ga#k$Hvl5hIUzkSdH@36KKt7rIR+6jM9X4yc!DRUAY_bY|Q#4@>~4f{9`E2XSV zX5D_rbLcd&|O z!q{wMID|LA*=ghL`e=)iV4ZMA>I$3&kSrj1L%8x9x?ojKIbN0Uh-If!GBc(wcdTZx zuve3GQZX4ji|U4+cAJK)%>DDcXW_SK$)?`CW~9~_9xGTDXOP^#Yr6*xr<5QxD_I}= zL45MI%(~!w#CdmvsF9>APrzONcos>5dxtGse`lZLt}!X9ihQP(W_k4k<8U!~d!jN5 z1Vwx9ZLv`v>dcoG{*d2YT1ny5^i7zA#*ezBaB|X*OTvQETUGxzuGQVT3j4d{04%0HTb-G zg^zh^u0?Pa!?PQumK0gr#Rg((&_v%p_cg_kezmgsjb%l@!uE64IfMb9v zgqGaKO~W)P<%@yl08elmfd(PzQe$$+XuZMyJ)_QJ;x$Wv>^@iBLdV_BlVJIo-Oad) ztmbo^!x#J}hfP(b?~(cA9kjSe-=5Pu&wHf}kdjhzjuiIvAGw^=j`7kc+*Mfa89B`6 z6@F~b{oqzPj2fQ7xyt&0IH)!#|c*)-Ipx6 zVvj4zgIpwpI3D!Vb%vwwOVbayD2X0s!(g8R?y**3tqQ4lk z;T6QIU+41v?v#UlplLS zFEut@9%FJwr8{=V(TS~vVvr!o^GdpRkgy@R94%)=W(dasi_zTiX1D_iJrf#j_%cK% zA6etsFF+CtspqJD=Q2p>B&JFPX}sh3Za8ocR>8sRat*A` z6~SlIIussFnW7i_0JV;Y_aI3mn{4YSe>JeQ{{@AeJWQP*67C21?EM#eyhpXITi)zl zL`rg5rBKf5Zc+&3qroTOJLvm85zKm#vTMvE2e?M)9OcNVSxt4CKx(2fq#xNS)OsN; z1OXZ#bhJGm$9MpYCij^wiZrCs(;e9`T8F`VJ6gL58EzLKnZ&mG@J?6w&PDd;Af)o` z3cp|`N3`w1!;9c;f)f7DreG0ZYgSfok3fe-#$}QK=xjT2Ase2F3WME1e?#W@q zG+75X)Z0=6_HmuS?QoM}$=h+Uw+d|VXt&3FrPf>Q3re&s&2gsv^+;1;J5!K+_TjT-QW&#Hk~o>^V7L5lw<|&EQJiM4 zs7`sMGak0{!=eg^rh^0XocPq{*M@68kHtbkkH;Yb^aC;t9xt}APNeT*w+*;#6T%A*ZSE3qmMJY|Yy z-erDl9egbJBTiVCjnmxt(C#BrGgZtONBIbZ1v zRsXWxmHD%2k{~uiz5bU73_H)~eu>-$cSfUT^Adz2(fKU(mMyPwD$q%}VG7i1v8U)j zY)fH%?Aw67@^aXgXlKj$1Rz$h4>C9jc~NH9ijSJPsU2Ay@5EJq0+iTDFsKqa6uJho z=z=R3JSOESRl|DtD2Xl9*Bfp|CSNDom+pvx%#rMbla$3l4*}Vr))?I0H^K3a6e_~3 z&P>sX0=4UQ)6u~oc{K>auRT9K(gP`xPC9P_w|Xmk4i-$&@r4ArTELF>9dwmzITh>E zTxuoTm>eKec7-zJfgJ4vogyvi=t25QLM)03iX>;3bI)kvp#&lCJ6$Y1SUzR$pZN~t zC>4`#$c?N(S?Ze@j7e_N*n5(*R)j-U1(j*4ey-Nbix~DrjhsX}oSQ|Mm4;In*PI^Q z{hLATN3MNjjp_@xHOOu2@fn>>(I{5r>h^6PLKk~xOZJhj7|wG?xK`%nBeeHwcB}@0 z1QZ3xn#%AU50UeFT9FwVd9wSgGtI^I)~)9TQ6epAU&*r=bBS6g^b0O!pv9wBzmSL3CeNOPeA_5hgMq$ zkH)bRBvC+?eRjbyeI@6nL>eCXWcqJN|I;$k326_awEG?Xgah}XY|rHJ=5WN{hnT0} zaF~skHO)3n!I{Uw01tk(VoJ=C5l{$z1%y^hL&!d{Th^g3ev50N?P*bSw!7CSAf6un z_w_}4%O~J)05<7+7pP#tYmI#uqkQ=>r#?$JNn=#O%>A|YuV7;P@Ki}(X5 zG_hMcdW9c`Ul@OlaKgy^nP5S%-B0?q_-<08Quzcm(@O2MK37Yy#%a1mQsVf#kY zE$0LBU^37r%Rm41Dni5<#%pfb7^m;snZJ=5_z6J%GVN+#&RU5z*9V=uH0SsalC38! z=i7=dQwWKQ%dN(5itO1+cGXI{x~G%frc^d-$$phH1GiwBtRpbRto5gp=O%i;G}Phl`?>RQI$k1NuKxDRKEp!i zH@)9SDEaD?jiXu({GCKq8u~m$@t28;7B76|Y@E&M9K`l0me@(>Ew6?L1fkCCd{;M( zbS{~*?Fa;V85=#Dfj9^IoQ(^3hPU#DMUBorvBW5cSa)FI6ZCchP;B|_U%X{%9^sY6zvg6cK-B? zXvRhuO(P-K*b06%4bWl`(4Bvd%!tHH{-=ZTjzsOo9 zYvBaPgL*~th&eu}HG(e77OSqQrqI6;us3Y)bUgq{z0Q%V;>+IXj!Sr*Bmfk~_mQN3 z0vLefcW+k~KF7hp`&yJ&UP^Xz`;ot{IT6%YaBH;a+Jcc8Ve3#HLU9oVOc`{#t~2B` zjHqoCb9^q2nWHn-dH}-|UEkSivd&Taun~o7fl6Ku*9f?1#P=N@k{%9$s$`2`P9pnI zHJ(uI^x;muShSb@UxrBDepwdyFZGlfFu64v8RCX;VJ{KApX)^C8f?#L*o9?Q|egP_M^oBqcBinw=J6AA41NQJq534xAJz zbHbFAnit)4s%Q^;Q#FF_0SDYBqzCT&k+}0}Q?Vg)miL@YuF684A7)<^HC#s@0)WCs z{#rFt$Vm6zycT*OXA;ImyZ|>r%0G84;Ka7#tl;b01>%JACT8LX0aNBZ@G>x&413cq zY=-Enzr!UNIwvSnMvL1-PX>%9cZtIPxA70J z5gy||02zOue3lh**!VubLg3%P4U=F(Uy;UhLOnrQQCQ~&?C9Ho@)7{`&g0M>Cpc_r zi!F6PfRTX*uCm=9*+-4<$@j!T{+t*6t`$gK98HcT*yH>{8zPp9) z1xQQ-V69{RQ(q46T2CdV^*9;`vJ9-GNftVtpA_33FWUMa;zX`k z^290PR0ET1rZtE6Y${8UHkdECAb}=72*+SzVFeb+oVoc8c~-!9$3#m9#k&y_b^T;{ zBpZP^^Ox;8#oqkH!w5wC9^OyD7L`hX0OwQh3}I!qH@c^TS^G7@+|s|VIjlO97vxiL z#M?8^X1nDf+Bu~-P`;6b;9-0`;tUJVSH&3%9PobbdJj)Uk2R&YZIrRl-j(R1;OHb# zpwFqf-LJpx=!1%i>U7eJa>1Bidy(nS-f=Rf^Emyh02zWyEx)dR2g#cxBruGCzFNfe zq3d9j{saqJa2F^WBLG}xDE)Q~B;^CNO=h(3aqt0ioURI<#+7hB|rwIa>nJf6f;gHmXW#w`FFjaLxgdLM@smgz%#*pR~Cbz>D zJtQw?=u7!7+f!4G%wIT1e9F&&mcUY<_3?nMN)2M|Q2smOKI5JF8D)uv#%MZp>J6=Q z(LO}Rh3j!#&mvJGw271Sh`qt`&0c-!40HE|lpIduzZKX^XUml&0yJv?8KfDaT|NDa z{7rU&)w|5Gqq$V`9^Nb+vav&3K?zi%nbd_whAHVFYE{hr6-v-C44tbKRuh;)Vixwf`#TB=+ndM7HjX9z-_D$np(~U-CC9R!eoIZCvUPT%!4c$YU01dG;Zhb zKh>Btqk_tlB>r*%maYB&@EjjOQv*8^;LxJ2Is_tzd5kek3Ry~j@Yy!eg4zW#0szCU z*}d;=k~M>zNQRO{hjIS+W_ay~B%$2lbY!#^zYdL@Ek1m-_1q#0&5^g0AIkG`)rZ|S z+zq3+tbr(&2K$IT9aj1cW4_p&U?M3i;zE;^(d-|`KAOrEX4-U%-y8C;l#v`#F#g8z z1yO9E1p`?Z57?k`v(BfgVO#-~WC9LJL4!`2B@f`cy%G5Wbs^*C#fpV{0s;cT{(KgcrBGb-U^e@W& zQ2HQ4vZmB8^F=GRqO_TN&`)@${^!S0EZz7$_|&gRfa$KsR>mcnN=TyDY`F?S-|LW^ zREE&tSIMj5-32lGl&YW4FH0_Z+=g3z zH1BDq2bll-yb_;qiD{A&C#XX1mZ-jREm-j13%wnT7%MS97C$5QS>{dB{&-uPXcEamnO~{ z4VI=GfN`SJGMq8w&hRF#0ELPPT8wL}NO#c{ic3W;d(wumvAC*=TQ?DL-OcT4Y!H#@C6!56fxn^8jubdi!<%J3NYjY zMlR_}j&YMp!|oqYG~~3|@8|i=zblB0Bd1I~?DzHAL&`Bj2X^=jy9cpWa+=1}j|AWn zHN|6pJXx8^7)Os*3e-v2WaTd88vsnV{xG0+w$d&2!ZlfYP-<;C)qIA33MAQCL>g8l z8MH5w`~;NaTaFlvVXrIWJem9yly5g{xW9`vGE3+tyuBI1$)1zFw+bjVJm5?e4ZayY zOix4l3t(}4d~JLC1b}d>KzQ7vlp&KyERTJ0BO!&J!AaN>4HOlhfDr^^(t&v=T(%x9 zCF?3lH3=Li;9nt<9)@EMjpu31G~h%nVRfsdN6*gx32O$F`Fe~+OPEg7VEKF80vLOh z>OW(OwYq|;rkm>#)4D}rVicXX>v7+Xm{pxZ;P;<5w6e_4lx+n%u0foy*5H-OQPoH{ z7dHO@4bN!+=--G7{orrZ`3_-D=4`HKsflm?>sc==$KZaWI9R_Jqkkv-c zE=st#Wo!NABkrG$08N;h3dGCv3Zly)wKY*+yxo=U(Y=pG_#O{R?QBCU8y0sxYf}Ir zAdTN@hp6YCy}gbh%&Wm~H_fvs`=_gXFgsONB{T@oD@kkcB(YQ6-}+%oQ22wC>Fl1P zP-oeM5m8epl6soi#9|OQyB>nW^~Xz!+XfTaZ%x7$tj->uaw`gzmAyjUJMoNCKNEG& zi1|wRf8bP$PZc0A=UURHJ@8Qw&3LJl@jTtH_Y=7%j9AUnSN$dGkrAu3_K1)JB#O-q zc6Kj&4)pL5#rTo#dIN{g4)p#_q_kBQnA6!*G}M%e(8Wsv1z6BK04@HnfO|u2zo-2E zKRpL*o{+Uxl=sIzU!TYGX(Cwgw^fl*GP69mTjMy9`fDPTopSa<3eKo!;FJ2IX@} zRZ+F23^w|T`{2CuBv7651yTm~KHnTe0P_|tgNgGpjb??Zdb=gVPAW zMdPxwo10?RTTp93m1Q8F0~Wuh;f4IhC>eweBNn(~$FRrBOvaj$aU?S=iTIS896?DZ z1~d^0an?LR4Ft++qm7Z4+gKjI8++m};)m;DC5zIne=}{*O8|Y2DbnYndRs+Ms6zK2 z>$WR@5-?Om%O>L?BqE*&{{UTaI~Xr83ayiveJjXfWCd?xw;bBoy-!>b08zoWsP*Z9 zd3{4kHMZDZ;J0svFD+biNYw96EThy4D zs;`Sj$KqFo?ZQtIYCNhSI51WawFV?YCPtr)|UZYRCK+K zhAXSE*6ydb`;V-0+SQR8Jd^kzY{Q1NC#Q}ESyuX`VdTwbqe-kn{2URT4Dgq*)2 zqw^j*y1KILe8*8;C4so?2(ZQ4+AO%`?KLb?N)U6pc^kMFw(fiWm@-;iWQaFK1OR2m zsHZj6G|3_L+EpvXi54UEAHFWp!34Q?)#mBt?PVSKxAMZIc}_(|n?+GmmZR?6goZuW za6Nt32B^~|q^8*o98Opb+pI{x$NhB26b;1U4&D@PoxWq`Bhn8^+hqWB7>c!Li59Xe z`IO+6RpiKodY9+WkBIo-9MG8SOjQ(+@S&BGJ8(Wnn_l0hIg+re?SiUQ?tOcdengyc zA3bDUPiRjv&Y-BI9#u;2*|;+DSX;2~*9w`YVMja?Lt62yUR|VV7zMHIf8Q0eQ&P3> z94Z+JB&0^nt=ynK{l)%R17G1jm(~Gh)Nej#3bz!K)HsPxvqlKLy^acxyE&3j5Ds7s zOXD70Syd*J@bfR9RAzAkt34~)m2Lk3>rQOVf<;8#*@;rJe3li&IWxQwQ#R=BUPpMRH^*W(Ac`hi#m z@D|pLjyd-C#TrSZ{u~f9E#{MTnB1M@+Z^WEf_-etLmw?eZbQN69Khl7r<$FE7Ma5Q TPU3&AIkYdjBG+!}d(Z#b5rjO< literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/78.jpg b/examples/data/Skin_Cancer_Dataset/malignant/78.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d08f872ba43faa87f5dd16e29115e1d889246d7 GIT binary patch literal 10845 zcmb7q1y@`>)b7CG#ihle3=YMe85}xDaV?bM?n7~>&@#ZlK#}6^Uff+ufucnQw?YdP zclda}d+!gpPgZtL);@WXoVCx+%1$2VAJ+iHDoV;q05miJ0PQIO9+v>}0Ccqf@SjBg z4;aAzBqjz15CaPn3+sO~HZBepHZC?67S1yqT)hAA^o0Km5C6Z)eDLN()h>3@d zh5f&;{C|nZZU6}mU=6SaL}LP=lb``f&>s5%bN~Pl0Q_%wfd2~&Oe}ODHVzs9_em{A z{4{vre|YK{10DD@t0#d$f=T)ki(i(ENekQDom>DU7mBRa&h4RKwwM$=miJhHYDtX- zK!4)>f2>a>5CaVz6M*%kVJhZ0Sz4hBq4o?!B55{tMwmcZf(!wA^;!w z#6kij0Z0QLSkH*w2=|YqMvYMX&MpYVvq>f=zN6j9c}VhfN9M8e#!>9Y<-OOK`JA~v zG|~7ipxmdF|A@Y`(KL|tw?aLf?F?{$kTmfB9h3}}6J(=T=k(5z(6YdJ%ZMJj+3~?8 zYdU!alf8Mf!8eX+s{b!bjO7~!Whf(kn$-ixL#E3~=raX8Bx){`6g8ZS(}Q7?W&akY zD)!-X)dbbr6!zamMrnV(hDnIV`p0fl8H&2gVrea$dFY)^TOeeiDTnF+E=3?#HGh2D z%m`mY<4ckR0m$L=-=;rveW~ z@?QC(KyTl5HCI7i=8pZ~R6azbiv>?Rt+j=!4(bh%6)l0n5_##x4%CE}`5DvM2?d8J zVDH_y`v;Egre43qrPuq!csF-TAf;?LB*cieDa8qYCS$Qe9PjVGSl3V+i;5v6a%+&? zL}+Iq6r%E!3fg!y0=vB`YxkfP&1#m7{yOR9uF!1*FMo?p<0V|_6b7)Cegn3ER@7MH z&3SX=SiwS5*42UR*{1NckPa&qIIXB{8uD(BaTpTe7%qD+_~N6b+ok(T6)~0DFel?c z6SdzV_~f;dccEyj5S3s(GyOpAe1M+r9Nf^hlOHLET42TF8&~ozS;K+vkxFbTQSyck zZ=xqTNchAm&qIM7#-@hm$^bLM`2(nMwEP||>j8>7SDi`yB%`mienK<8GyxU^NBp|+ z5;wD$JVmI3e;LjSC5rd4Ghpb>Rp&+GcMRZ?hu5G^OLratCHE9`{T}6m;uDDT?XJp4 zz?&G;iZH_N3yLGtZ+kw>5tnS{CcynmS(e%Q3iFZO0f(y;awfh466y3+-J4fAzLawQ zS^OrJC7z898S(tr)z&PSA<>;+1MVBqDLKkb7=w9+MF;3?Q!#RfeO5D)p5IU^aMA4z z%Yd@$H#~#FrQb&y z?ns#U=alchJtkmojC#a?>Jea&=ED6oa1xd=8N~O(7HfKD+T50YfZ%?Bfj%{%$xP-{ zes9hI-K~;D``ViEpR~}$FIBCGbA+CIh>ws1QpG-D5#Q($pt5=8PS=$tF^;|vXLm5F zh3t;zVDTBmnQ-{dzG=HavI)MAg@ttBdSZSmt)nX`pg4%J_!c$-I1kG>4M)s&E|70f zy=Y=;dh>klJn7pI@W>?mOEvyJTeGXz_7*JhGLQS!lniC<$aYCl9ll(vv)I-Z>*xA< z=s(@i>vAUI`;ms%v}8K-$u9*eaISKz%q%+7O2DUa@W30Vp^i@sS3iq-d5nl)iD_mt z0xWC;U((Y90w*x^+eU@{iJzvq`a3ra6+p#Dc2eGRW*ILAr|vdz?{kTBmrgXpFGN1O zE+BWw^K~1wpAAcT0FL#%MSdTni(}ZHaJ)GWi6_+s9;cPFvFywA9KK$icL}+1Kv8GS z3DuF*@CD3{{Y57ir`3I^bYj-l^~pURFNnL!n0`OmUn?LGcug@9l;?@^=-r(cers(ai-!3wIQjrQ>K;DSJL=3rII3HSGt zkAR8}5XD$UA=3z#sld(hTfS)wpp=vtLrjmwUAn#s%Wt1@XNem(1=k5U;G6>X8e6pagvHqQBuBqMkFB_M>6A%EYNyTZtCBO=DMF@2M}pvbYRr-A%Jg<^uIlUg@x}B498R*^Na8MfdEYyoXG{+@aKro3TXmm1 zYKu0)Jw7kZTnQ4m(zZyBw)pAW*qm+yO)Q_GG!ZN{0QxQn`M!a23(lQ;G#|QHk47tE zEs(j-ILGMoxj%3s7*4vYe*dQNAjFyWe(!HA!Tec)>53hD#ppXHqNMBVoH`E)Tb`VU zJe%5-vs-*K`tH!hkml){p?MGgw9>5ZAwhmBx*6@IHYJvH7s0h(7y!kE`oFPr73zFt zgzD-JFvCV@cv~qRcHFUkYexy8W(@y0XRvmSO+*JY5_&bp^XFp08e$bb>)c;UWvLeC zgO%_1N%PGPDou*ujDY7Xs~Y=~*-9>z^wH#q)x}22 zDp?uy(8MOLN;^n@Wa)L~mW@%P%04X|LiWE)gjkd8B;toZ0+86l8)fx|+R&MjHAKHx zfgd-09hboEr+BflF@b54u+h+e?B}JIfPTLi?gN?LI^QvVLu)+z0J@dea1y=A7gK79 zt85MYF>1s~Cdf^p!6R)wn_HixFQN$8gu~sQ3y2U4z-&cC&YJ6cqt$V>d>a{{@3t>; zS^EfBIWRhZrDGs3- zp^KUJ23S779K*oWs84nv z67P8gkPoZ6s2obl91OwU3W@MgrELAWn0z6UiCvw6mKcJKUMGU&@m6X%R&>(g60A}Z zdju?-!#v{wQDGY4irnN*as!snS0yZ`afgrLTBUxqw_(5&jUplM=m!?E?;REeqC$_;rDIeCM2n__1zlWHzX&3<2BHF8||c{c_wv>=G5%A3Y;C zen1o2a}50utuSKZP4DnYZ_+CA;E)NK%8yO{O*f>BK^I*^s2tyta6boMF!TIF*o4!c zZ%9-Bn~`bgKNTt%4!L zKZH&3KJV?f8XNT&9c+776k23J%AK+^ADKm23d}{8sLwiAE$DTFn0oMGJLnXLXu2%x>UHQS1D@?|>lye#_Dvg`;;UKp^kXH-#on z@_{93?E7IvT+{XIt6WcCE9E%~v&tUEJDt*(NcD?Ff8_PRvm2j$cNkp@J`~k$rSF{c zd|?l)htQj&&qt2;erlDh)eUczqY&TSn65 z84_a)DYa1QqrS%f^cFhB`Aw{cO0zG_uGe%ODkBR@rYqMp;7g4UA8L~R?kM?YX$Fb# z*OLE$gc-7#w+6N&i0;&hrEf`N}*C)*zTa`>b&!GLMr=7hlAGZpjFc6fL`Skj6n&grC4}lI=3Nk|o2G zQoE{2G&OA4c+z5G9)ay{19Vv=y3t5;el=ZcZH4Lr4RFm?TQsK3Ag_**3f7o5zW9T@ zZDCscAh98kaFLki?z0|RV!M>)mGsF=D>t9q7%o>v*h}rc>;VApi+MKruP+>G{LJF# z=>>HRetaHaVBGBr)fYWx>9_T!wIVy#@f(9v)^$XUqOE*hL*}6gx{bVhD?hAlfE^aR zQFxwSXfFcV%DSf8FMr=4Q0^xaLny`h+N80${$sXUCswdfQsGCNdU>`Fqm+dsp0tku zzwK3>GvsgSqMXo;*1`N%JBXqZ2BLo>SK_80wV0qot6SusL>)_R7gM6=?S8D+s=z-E zWT#}y2$=DT-Z$4*q&mp%F#K&E4p5i6-l)PFoF`^6jgE+w#}7Q!qqh3GsO9@tQFZTM zlqS!i$}VU?)1GgPxLpV+v#Ezi*%bQcL~?|hlI_yR07|YfXfE{YeYmG3tw5Z#pQug)k|YK|8?-%! zr~l`+siI9KbfUG|Ky3pud7$ScujrHlcZ)e)LxB90Cz&LulK1!7@xQAvg2N!%OfntpCF)BxLrySuP z-EqLg?Npm2P9-mMqF120?;}9k!5(0ksb^{7!M9`=JsI9W?D>s%uCO2-IPBiT9CY-@ z*s?|NN3L#2aqI#`Ss)YFwe}wY8*t;_HJ}kRSP3JAO0zv7U`^*kTTr0dZE~H&C4n*! zKj~%E;3{j9<6BRdaz^9i1U>r!&D*+PAi=$*uTOtOFWPO)+?d>QzV=)7d5n$B(xhLq zsdEm7vZP)z|D^M2+!1KxjiW}04P}svDF+_kpzjs-n0VI7^tr#0ECb_D(Hq5>si*@V zm-{wNUi=?;4BD^hrOl<(Cc$d4nf+cuak`(Dnp|+`iTqsoFi2?lL6=sV5^zk(0$O@Z z6FQRTv~QIiM5bEAJ;>>o_pr+C+H1k|3&QWpj6wVaOUEn4=gm_rfGSLRrmwUypJxw} zbjxgGHu7#7C(~yC5eD4p&9yQG#PbEv&bVqZo>5r^WOx;f;4Sb7U4n#&6H3^y5lWmx zO0geh+5>FCx>=tr6f7+*5e^eYj6SclCHFk~GT;yk@VwG@2sJUzms-ZtY+=Ph6YGDU zyolH~;*FfvaPhLq$NTu9^veRUNbHG~!ir5?J(K(I<&qI5P1p#2jr#NmOjVMJfa_9c zc5nhZv^V2~1La{BVz}G9=rbnMrj+V>94gM`jH;JSA!v%1a+Guz`X=}YP=DaiPxl-J zyEA1TLNeU1rO7YfG})wyEGL5n5JN|bz>K=;zC#LHZV%cMgK+pPR)%VcqlZcpA(8t^ z>VR{@;O_Sp$j}6w-5Bin`DX;(>KNX4SrT|aSO-p?u}#?ayYGo@ECKf=%jzS=4QKrb zh@y+Zwa+8KVe#j|D9QK=QQFU`7TG3dQo$ic%Q5DWMD-#bS%%L<8upP~Vt=gz$IwG) zB;$64b}%`g`I+at_&<4-x7USlxw)sgEwNF00r6a_raxHtM_#flH3AmFx@PF~y)HFd zi#7QwJal}~hdS8|epa>Rp)q%tN3sjwhV!j*0R4PchiH$0S#$4lg%lb+$~6~#y12!B zxzx6~aW^HefPO%4upq_-D0H4t9>A|*WF|7bGD_>iSCtoivzTe}ne()}@Ff_! z1SbCLjE&3+K!=)ty{L!CrL3d!k1$2X3vR*P25ZdL$WdO(OP!^hd{)^ZF=p*+xs!FD zV|Ww3B*sMo-$07~aRg_MneWqnZiP@=ahR_2Y+9$qFn^elA;F$ydH*l}7$VqZv6_)k z@k+!=qk=f34XsBEL$|6Hj95}01|b~cN|mg zlD7Q&DJ3e9KSayUB!^`E350iL*PxtvCi`T2+u}Z2xBjvya*hT|O+Emy1{kCD%q;C( zld5L)fOCT;nWhCeB4xjl28v0R4cld78~L!c+iyFbwO)9X`Olfuj1Ay_PZ<$_DYjETInWu^{l z=l4(0o>%?Dm<;{QoUsFUjvv@-8MSOV;qXcl6mHFB^Yedy`ebv@4}X#RUz@-#%A4VH zAJ%SJ9Agm++JfN&0i;W>-CpVbT~YGclu~q>p{roD1&Lkl!UW1dfz^If}J5F6ZCdQKWr`gaZ#vi^hW3jMX+6V_rb4Juuq~q9cliw* zR&Ky*rK5HcGpy8-nJxQ)bqIOMZM?b&X7B1Ioo4A`8S*XXo=xExzt|p+W)|p0jVbm{ zC+f|epxaAGOZTDOXPoGTB_+Rr;T);^h5NPuEkRRk6JXpJO9+@_pPVJV_fBgP^+HZt zY6bUJKbARO#KPBe7p6BId%y@AzApUrq9W&(|7oY;z_ep=t(r#>HG~z`M)ML(_6QK_ zd0_RXg^YBTwkJb>TnL1G?4qk`W7}Ns5kfO zt*yQjpOfXpMSfsMAqIFg;8xjT(ef(pqVUh`Fpw#eNk} zQTkN(2xwp*J7DHF3%)6n^&l0ow?SZ-JWtcd3y&9P3q=wA(aB_U=Fnm*C@DTzJymnM z;nLhUt$e3iW)oFkDWaPQo%)$vSaYg5h`CGJCS1`}PB-irX#O@d8ymU--7rtlYe%-?siv%vCkxStd4= zgkmFKOx)@2q*k$>)2ngNGQjhusuWaSCSAS&yTd2T?`7cEuWk@$S5;;$N=tqJP*)76 zitp8&(*20Z@2)EOzfW;GvoYe6f`2Wmzhr(1%Q#+)GM}C?7(DFx?ht1jtwoRh@v%%|kl44(GlKc#9wqfSDUlmFh$r$Oh*L`2QubEk-uZ+vt zy@odE$mJhAsZ?`xlq}g!l(t0jQKq0QOvxD3!PU{4Al~?WTzTS*fm~F#8dV9d_$_x- zHM=?$2Hx_JrA@;=YeLuINat>MIYM6MOl|den3U3_uoqlb|8%riu|a6;n8*CXe3t4p z{4aMlsAG`8_fZ~kcW@(3vT zQpm{=2lyv0qJC_LC18mO6U|!4li{xg`QFW{cLlmN(P(;sfV;=q_gai;v+z=UY!L0# zxIBG64i%1oYVnF7UReyjUQjf^2E#pr{()1l_^atMr5m*T9Ufnge3#e|Yb0b$354P* zmH6J5|JTeh+NkRAaQFF*O}ZUg)`f>)EgB;}{x|;Kys#fK6t?*V9_&0K*<#|Q1cHU0 zN&8=0Yjcv{$t+e@z)&iNvV>*#)Q8`!Wy}OV%)F9LDXvQti2I789~b7tcZiui;l8T;0x6)oi6D zR%tfXejI2C8ND3diJm_ATbX0!)3XuQ)QYfXmI8=TRYutIR2fqp>25(j&(+c@ryU)h zG8LF$iuF94fB7ft>v;3U!pmxney4sF3Kyj`s(H=mdtG7HNs{~V?hpP( z$_OXw1w>Gor&n&Li6zSj)Nazmojo*^HsB`9Gba%H3)sS!VSHx_JcLBp*tFUm+Tze>7DEu%t0Xr_$cgf%R z+khim`q}U9Ep`kR#X!49_v{Tf(*k!z*SNqLpT&sUzm&)0Yj*xon@N1p**%4_htyW2 zC=pHAgnO1)Y-W#SMxDG|0jpI?fNO*NpufPyBV(KZJh$5D)RX6#Q+*i&Qmh#kG7A7S*l7v0LB z>ubqvO%!gGN0m>x*kl2w9svbraO1f^^BL9$o{-HdHf}488jbj7bg7@rg*G zP;+vlOFr&-1t+Al$7DD1xXGD@ZjswM+HE=HSo^4lMN3{Nf3NaGvf@-hi!Z(w=T}=Z zE7(JR2$s5dH&6=mt>ODnO3WIWOUp*Cul7yKbiKu6S zuWKyk9~|XO%^#^9iZchyVtp-n!_Ko+Gp-w0F8dA|;`!3k?@O2#^ULi)Fmfk064Uqv z)bNl$^W#&@(ZC$im}|S2Yu!CK{ieP=l$<^#p8v3919zUHrnt0->my=!Di!dWnSoi$ zzFab)PT*h=YjW}9%ppkm-nNMc+oOD9=VO*Wi`B=27#?E~cHC8tC=29`#H^F1ntjkE zsqt4mB`5&@5zv8^=YjF9Q}*9$5d0TpYkCPMo{zIxb+h${_N3P&V_K zaA4wn{_z?hhtG6K#*WY&pk%Ncq7;t)eFA<%3Z=VJAp*xQxq)NTVpPl8bzmK`b6q6)~+#BnaCtpNmAYYRnnC_ILe9-MSC%|F(eBJDSwGRz%=aL^h=R}K%< z+b2d2_l4H)B%7{U?h6o|wUy+f3mip4LMawogLRC|wBHX=Y*bTYdD5Q`-N(#gIThmQj ztRhz}xHbE&l6MT8Yx_tEt&-*=bZKj)u%KfvBo<$sKLTpQjT|mMe7%X2pWdzgHrqgH zmiF-5c<)%{$}tN5?XT=|x`SX~Sb`hps-mJEfS%H(xq52l>)iPp-9W9IXmZDDlWvQe z>CG?7&p+AqlR486((AuenIb}5IS>PWlcg} zD}K*mXw5JdOJ@9ot8caI?XFT$Ojve@9xyHGn3;+<6gpC*s}TEf?8rI^|L+f(LD}^P zqLMu&)!;X@pVK?R)T~^E>RS)k@LsO%uYtI|hc?np@iM0moC8XOcAW!|AjZbISc2A~ z4LKg%A;13GR$f$@9Wvd#oKn27+AFfiQg7^i^E+kJ^v^K_s#P@X0f*}_|8+sXiy3817mrXzaV%^7F4)9-M(Z=A=1)b zev1gWk>Y_9Ymg4|djx1Evop)|xyBe|1l65`j2Fl5bh^c;swU344DFaa3f3;EcG`=d z%&EM$prj5B<>A=w;A@2P4a&1Uiz}Uj<}s21Fm7pK}Q{RU2E21Fdt~ZKI^w7%tIr%!%LQiHB$zfAI`pQ+YvrBOByzc|%fCe`oT$7bnPvbH=JYD^vpcBjeK*Bm`n zSRSF~0K|ljslS&T9FLO3ZA-Y7P!Y=GZI0{ukX*g z%Cc5;u}lcTzluBK&(~rU6mnooLaRsvMup;7r;8(~WAf!FQTa<0PB-?L=R1MFV+~zj zp5{|6elPfk_#w+`Gc0I!QG&NDShKr5JOeEbek%3GaLA^WpHV%!V7cfZ4xui%Q|9TF z$*N5i2=+ib(A4+FN%R|~F(3E2Dmx&&#+N5Z3{|c)qjD6LNN!94P8kKaOu*gEeP6KP z+;?-(jXS9H?xnuKcm&+sO$C=~ox5tjUGU5b_w&3LxoZB^0A*e9hzCfAVu>51u&8xC z2;m#7eAnBbC9+}GOI^#fl-V~9)D}Ccs5VbquB#m(i`4Jw>7k{UeVCOc=;8l5`5?fR z=?Q7f%-?(NClzN&keT^~1GBIIhg8f`4^2zgjhqnE=&gg8V(4x5u@Zof?>UE34?Ae4 zssEqfpuk835->c0OoQ+)t)2o6iLHSN?jcQh+l#h7s(kHa(>;#%-p zE%(mJO-M7)CfbBgX!4mXxGGb(aj1qC3oFhgqjFyfee!b8I9984HL4{ZDrrx087$<+ z_YgR{b7XgBOJ30|7k5*K9VQN3<_hYL&#TGFIlqOA%O`Zw1 z*+Q7h>!`k&i9tu~X8RX*=EthMBrzcsAI)}8IGKrH3YVQ33x3Z?T5yRk-KDl@XQg5k=ikH-pM<;^t14 zxZ%bawi6UPL{;x~YRPMEP%+m}K{R0%y8NUWU8kMkcT%}DrQ5QiKq<%3Y@OEPbJFH> rpR4lhvUk?p)f|FW8C$y@Ziw1n^gFhgrxRnYTBbN%NZXCz$A$j^d5BpN literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/79.jpg b/examples/data/Skin_Cancer_Dataset/malignant/79.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfdbc096094b50235fd3c3987d1670c2968b3065 GIT binary patch literal 14195 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 Rwpm=k5fmiaOaK1se*i-(!SMh9 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/8.jpg b/examples/data/Skin_Cancer_Dataset/malignant/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72b6b0cb99ef10545268da4988aff0726068dafc GIT binary patch literal 13511 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 Ld}CC_kCp!cij(Tz literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/80.jpg b/examples/data/Skin_Cancer_Dataset/malignant/80.jpg new file mode 100644 index 0000000000000000000000000000000000000000..292e4ec8b0d34891c4c072c5bdcc7e394291ecde GIT binary patch literal 16603 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/86.jpg b/examples/data/Skin_Cancer_Dataset/malignant/86.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7fa2f5e3a33ac16dba54e3cfe3aeb735d3a642b2 GIT binary patch literal 17526 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 S*B4d+{{YmdO^8%&pa0p_vh|+; literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/87.jpg b/examples/data/Skin_Cancer_Dataset/malignant/87.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3939579399f6c6382e57368678388adddf4ac6c8 GIT binary patch literal 14559 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/88.jpg b/examples/data/Skin_Cancer_Dataset/malignant/88.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a8167064d89596e9d312a9b8a2458d924e0458c GIT binary patch literal 13303 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/9.jpg b/examples/data/Skin_Cancer_Dataset/malignant/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f0603217c2599492e671991bde86b239f9a320e6 GIT binary patch literal 12128 zcmb7p1y>wRu=e5(!EJGu;2LCcch>}WC%AiXw+$BD0|a-1d(gnL5MT)#+#wL;udbxrk5Pghsf%i7B};EjrcvH}1B0RTXFy#Oy809gPc!hiUWBK`+tr2i-i zGBOe}Dhev<|J-O8=%{EIXsD>@Sm+p-|KYWUjfIK*U*kU^|2q^B1qlfS6AcyZe^~y% z$jcxAA04m_*hWI22O#1jAmJmti~xWD0Mh?x_p0mv0vQDr2@wqefd1Mm_2yM~q*ov! zBcmW9V!ciZ5ea~dk3v9)$}3GsuZ?C&#OE2oAd~)uxOr&doJ2>~3!RaPU)RbzvUKO- zRRRS90P*z!|0n#ld~G7508n51Sn&b>y$A#(6Vgkg@M)i0dZtHw zd4T}1kzU2%BjE!;02am8Sh8%YLG7*TleY`mR32Xb^l6Umy5hCNG0&Z~=90_`>d_}O zP8SuLGfNzQ;~taJnoC|gAT849IM`1@aq?fI1@@P`lLxw~Lz%IN7i zedz%oKmy5rE+pqVB{joYBsuQ1*JlLs+7emG;Y%!}thN0IM2L*iF90wfj7Fpq5^OO@ z)Wn#=(^tKrY7lP}88VwT+$m5ANZH@RJZ@GePIP=jRCKu7m&6=zjJSc7e~ zk*X)VQgx47!a76xydYP?ACch^mHvGSrt-x#x*kUS^dxNqVI8ry9#XF8I{OZyElMM+ zXk3hqiNEC!Nt2FY5iH0%ExbuTfwFH`ez5&B)Ih>u5fKH65(4ZBR zo9rIuwRwQ&h3up~N6Q1UD}w{W(0!Q*3Y6QdMK8av^{vleDNN=|vxxiV$APN(>#sjM zq%#-dGC=&kqaw?$5`5MWCG9~h__MbZQ|&jQ85o(5ME`DG8nl+`5|B?@cjwjbG-3L+1ONxZ_ZE}2ty`({w8*bug04B4UPa7qdW-_A z7?k8XoKfMEMPscg^p;GBcUQal�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 I7hSXe*|dXlnE(I) literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/91.jpg b/examples/data/Skin_Cancer_Dataset/malignant/91.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f948d162100ac3791b493629002b3617bd033f0 GIT binary patch literal 17398 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 CdemV6 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/92.jpg b/examples/data/Skin_Cancer_Dataset/malignant/92.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b70452485b6427068073d04224f1faac188ca545 GIT binary patch literal 17951 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/93.jpg b/examples/data/Skin_Cancer_Dataset/malignant/93.jpg new file mode 100644 index 0000000000000000000000000000000000000000..550a33ef51d11bbcec83cb95934bea69a7d0d84b GIT binary patch literal 12082 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/96.jpg b/examples/data/Skin_Cancer_Dataset/malignant/96.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e24ffb5925e3d759898a3f9a697ea3c41b867325 GIT binary patch literal 14844 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 cP) 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 literal 0 HcmV?d00001 diff --git a/examples/data/Skin_Cancer_Dataset/malignant/97.jpg b/examples/data/Skin_Cancer_Dataset/malignant/97.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b6b8777de53575c16e5588c3d4cde2737a73b15 GIT binary patch literal 20408 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

Kr=f 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�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 )*l}8WCpU;#}oMJV)sF7-!>!ei;2b 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 Ru`{2L*qKK@KOJ{g{tp3PGQ$7> literal 0 HcmV?d00001 diff --git a/examples/data/dataset_inputs.npy b/examples/data/dataset_inputs.npy new file mode 100644 index 0000000000000000000000000000000000000000..c30f0e2b012e44db06dff44417b8ebc7512363ac GIT binary patch literal 19200128 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 ~@50J;te7`7PSjGPy{U7yq7Ju|M9=~)Sf4|?) zcUjm`4jo@Tzrqgr!XCd`-GA_WDSufd5Qas@Hh3~@4-Ll_Uo@B zKMYT^uEJN18-G`j@6pIl(LXUi@+JDS?za)g&PE<|UL05A!Fl@-{mKux`87O2{lrQ1 zm#$~;y`l9)J7T}_z_4(`xyHxeuw`UdHTzJH&{_`mgA*E_fa#&-Pr|?_sRh z?$4ZW>#{u6JknTSubuDIYt~UdJjoNxyR82L?!Gzs`rrFFN1n5QPbcPK?ydiBiR-!D zcD(+9mUYwrCh!S-L4FS}^gEyEkA7G9n|iHh^T6wJUI0GveE1Z2h0mp)ffsmMqn^pf zR`^_HUR_6@x30L3KEJ|qT}Pkyd|3W$eRKWi*M0nXo_e5P`MkV)!w>ZX^L`WOdHvUT zalhV<^rxTW|MDy4ect!pE9+_;`hC=5{9bjvo?mUs%dgm1@8Og3>Y*O!AKGWWZupmW zxGxT0GT$G%T@C-p{(Bm5dBXjUhhNE~tPkq>xXXnv;Ai0z7yW+x)aR}H@cXe&C0-Bc z|Dd<4agN=-AC%u0<*nD`gV={2{V%xk@+`mMLuX8 zq>h)aC%E+U6 zk$#+a=Am5&CUe3oO)M^V3W|+Q>62?=NhFyMKP(=OH+L8oqR5p5RsH z^9j6}CuukFr#wg7uuFew$9{i$)myJ^XK|mm1t0m_qC9q-@f^;5w7M!_!rnkYhAW(nqTBm^r;8Bgd z@9$s>^EaQmKKaj?KcT0xo(p~^A5&g@lP|gc=$DVJ;Pxx7U&Jp5J(YeZ@JYRMw_iS{ zTyeb2&w`xiTMc~j`IqQ{m#*-x)VYzbvJUdA@UE}Ao{c!odceD~?mX}NlBR#Mu8n<6 z)qmt|`U|+v``&NH4=c~>hs}8L`$^(!7Jt_5_I%0p$T=0~L#}tur62d_Cf3z>_I#*{ zU!nhh^j1CLY2^3qgdFy%M}PTC`BnImyofr}@B`m3$~)?a-|zOx_w&BvfZg&d>&OI- zKZQqq(D5d}QXW0=JFcyF;a3;vrQXTowcEPtemgk*7W0St?{t0g`_x(RhX0jOo_aFM zN6$m-bbQt!?SK#Hui=Y@Klc66&vVu*=S3dnxvk?D-{n`-xr|G@_Hg6J`FDN)nQ@BC zU#`KGQ~#&n%CU~^2(BFSUq*c7QOXsbue8&kPadUy`t^PLIB$8cH;(HOdJnXYV~DHh zlV9)YQ6H^-JGQfRVQ5EQ<#qjIx6kXbo#0ot?G580Z<*KDQ^#|TOP;Ub*6WJDiZ}R` z{#J_R&&Qv{^+(#|fBe@vvQl62T?+Qk z)+5GSY>}65`TgQzzwoW_H}%WIm6#O50>-zccu*hHb@QwBJJ9y8p^o#ty4_;K1|1teu z^j3e#xfb#jKM3yv*N<{erT!g$mG^_zp?i#1el=mwo!*9D4R~c=AHHq+L*c{Uz~@un_19`9GyRr{E?#LtNT zAIJ~$;CZv-4=*AvvyS%r_vq0c`!TM@c@uZud`>+N(f3hrt>@X_kw2>OWlKIDdD9GU zTHcdit#5k&=BL>_b;7>qZ@0-m_-`ZcPRieOdHqb>_sQn%75R~0E#j{8W!Gn3l|T7@ zVUI`6udoCEYR7&Z{2BMj>++xYFMQ`+{7PQsdD3J(GCtI!JtL1&{_}2+=T$jp@Z9X5 zv6s5(ycc;E_-cJ*eO7V#G5Kp_-90BsK7}V(2YeqWuWt*y9#pFq4*VkP>omp5dZP~N`FpWf*&RB*l!qLML)-% z-S@2G`twz{-?&Si0k7sE;xzB;z>_!NU9`u)bbroWFm z?)rycT_Df8M(<(3tpn7_s=W9Eeur_9cgg{~sHfpw%%l4B-%?nRnJB>vajPyn5<@ z`<&k+dabQ3)AQr_iSqIy=UMy{?3rktSL5dZ?sE^hc0PShUgvYldG0#a zNBGoATWJgJHniqd^P+7#VGnt{*pjdG_ewsVkYC-;THnn}`j;(wtD|EudxI9 za_rZQR(lKi*M05wis$q%?}IC+o<;l_&(SvZz<=a})|Z^WQ8y~}C~*M347hwv`GTB0 zYE~XR{k~@W)+6H0x+%X}Z@Qdy*7K?Ii;hok7^i;3Iu`1?``YzImy-{andkV9c9&Pc za|-J=;Ro^)>)s45|7rRKxaUa9Z{Y0@-45l;sb4SPi~SDx_EkNAXqMZOMp zE{wO?AM+&c^D}rwe!Z>byT3*qU4P%NoiES3Cf22~kIMS6j`CgObb~+V9Kt*y&brFG zSNzKQW*j&0qJMnR?Guk*;g73+>pqLPS)DKZwHz5I@&$i&zdh~XGkS~@_s{DIyFTr$ z?;(^|uiwc>{webCG5yPZn&(C{>ooGK#dt7JUvzzwxb@+%gWvCX_RH1{^tk>x*P6P# zd|dm&gZ#ezqb_H?m4D06QpY^kIv`J-+~ZgB_dH+vbMMQq^t0G~x9hR41lJz@PdlmG z&3(Rg6nl!ebyq$3W$HV)dGid%FN0&J{_6aC-~F`L^0B;c&>rVa{Xb&<@rNd^KX{)w z^ZYbC>ze1C2YJmiaQkJv*2~!MxQ>Iocm?-bJ$w909yQ7vC)%eT<7Bkc@sHzjzcJ#< zPs2FGjSJ!{=h60$T*Ke=FZ1NcpJw<}rCn(k+Ksw0pSnGb);zPCm#M?vci(Gky(!dh z-#aMpdo<6l?9V(Y-`MCs>kltCPnKi1({s#<{mM7)H}LSN%l@45krOwcN5PBaO{qK77stEUuXP9g?HzdHm42*u@+#xJQBPf$^7B3q;a&LA%DQiN;R*GY`E|by4{_bBPc!($`b?+(+yw6Wh|6a->Z*RZAioTF`H!w|1y_&# zs;APg`Wx~EybSiYTl6yCRXK3^(xl$G%Zsnb$xr1`6&avEfVV5|gBNh$U&>!xXL*}-Y+{|luO4)Lv+HEtxajyEzw%r& z=UT|S{&{bB=z7k06!joVsv<}=5cagpboFZqvoG4@#hJuk41+t1D0 z^PYYEJZiAtcs*M$<%fCj-;FEIulls}5%bLR$#>Sr=l%XBZ=#)P zoysqWDzt#Hp zv|r1o%+KWre%afJapk??|LVBoRo?rPbwR!Y&ne*gwe>>2l>Ecc9Z<~^mnpo+_{kk^m$eY^GaJ^57| zc~rqp{Hb7f>g~v{l&5Z_4pM*h)7WXfQ_n}eKl#+E|Jkqgm%0}|Q2JlhFX<1s=VjUl~6aJm-8q=K9C9=xx+P_mlFP>}TI}dGoKlOMbP; zyWkd=Zm_&&!vB){@`^U9{*TE~cA{c|-B z;Ma*?{qWf5bv1tRW6y`G_@`aY@1xp?lgIb)?Zoru2Y5{ruiQ8Pia!DWh;|3p4}8Dq zez@Wv+ASVGHGiXD|H}7T2m1BgSNq8SEB=x1tfnq+ym`JRe+j=*@0~7x_MH{=Gya5L zzr(5Ws{xnSmqCA#7g@JT@7FvbPm;F;f6(Q$U%$+I&->_kPkvS8SJ+Ybvu$v z_z&}DUerGMm-TkUi}g>QBd;MIBG3F=_tLNbeiZQ(+;NBx`rrHf>XLca4)lB8kbb>y zoM?x3?(r-A-shdqf1qFI#r6^SFs__aiL3A7ATKVD(htRzpN8k${}^}dSK2=#$9y}# z)qS(?aj0wZs~KK3(N_3Iox8r7b|Y_O-}}7ZpU8Xe11j}-J@xzTrnmapEDj%U@^bU% zHP3y{bJ*i}LJ$rmf`>ltK`4F$xN#}`qbAIGeE4*k`j`?=Ihc{5IlBl(qat$%w?Rn+sW`-SfT7xM=3 zCa>8}U9Mds|ERZ%IC;VMZxviSQqRSo^ykI(n~`4yx6Y8q>n+d!usJ%k+Qa_G^Hh0<^KE`IzptJb4E(CXtBU-JJZXJNOMWmf z+nTQ``B#3wp1QsIqvxcP`Ox}JD{fx){B+E>;aTQq{l)eb^Tf6JH9SNdzgdu1PCtwM zRoB;!y{*dI-(|War_&qk;Cx435I!@U^Mn^s zXMArt|DN&A=zH1Q1^zbjr2;Phkryr4Kp+`gr6~llZ`+vhMUJPZnRFcRjA7xV)|67nOB)UH!dN_`G!qznb)C&##D^ zS=@buar7_U4)+`K7kSi(SLEHdnBUDy<%qsVy`4{7)1Ulmy9NJWv_IVR=yrSQ~F3WQV@GJD_-$i>E zZ{)R~`<@qse@tXtJo}Xdwpx^J5 zT_^dQbuau(ex*NY2mKnC(PO{HgV#Q%AA7AH{PaxE9>03XxSR*|i925V7kB-9PM*ek zXFctA@CWyW@`O^m9i9&xPv-RvKIOTU{Ax4r&HZ`fe>I;_FRSgT%bAzuQ8ReC>G#dU z@+jqOH|5Q@oX5@PPyOYZ{>;OlqMx>Dzt>Ou{R-ZW$p6#Zc)5HVPyXk5??=xbj(+`h zwO{1L7wu#`)`tn+CC`)>P0C+kC+i#i&IA3I*Ih30`WerOGrz`X6ZbrV`Y3K*@w{t6 z-t!81*KB`P=*`Kap>km&FVGMBXA^!R=q%xCkHAPUNfg z;0^OR;L)Rg>jCoGQwBWtKks^1`+dPWfzRNnSIpb${9~W*~I4!$0L=?iU((eqT-;#Gi?G8UTo-I7edIAsG$b<4W>+LH3kLZV|gm;l&e4i0L;_RQpf2=?E(dYT*kGY1A z$ou_0q~}*Tr+S3^p||xV*VdDJ{W^XxzoH%)C+^#=xBBad8=t|gYs7QGj_5I-ChSsP zTzTy@ZU%YtM0mv=^x@wl-iVvjQRJ;-!RfcSPml+KTj!!*J2@wiCplj0UigD{z9+wO zA09pOUgN}hEPWn~zu3e5?C%|?xb;t5JM~v_`!O!Pw%y}bKN;2=I}?{aZ>!&r{p!bi zJZi-E&aXz?e$=lYvi{cRa%6rh<00=C&J8O0dotgW|2FbhIStS8`~<%0r_a0GqCEN5 z{Hh-7u64O7ZyhI}Z{pT<>VGw_>POeTUvYV*ZSwQ6%bB-l$LIc(yts&)SHYA2(Nmbu zYQ1>c^~<|v@azwqf9h2H`Vzb3QND*~T&wcNpSb;gO268rJa_|-p3jiK>g}RDdi9%4 zoPOn9vwm`e9@b@&515C@FAI3`AAZr~3HXh5UwQdcLw;4B{A!)w?ALsZKL#IontJs6 zM*mGai3{-s+;|aJzj#H@sNeWdkG!ZcPtAU{6I^+Dp5v{`GhXLs0+&ab_gB_yb)H=} z*U|VLc+~1T5r32Z!1MY;5x1TYmreiFfAGU1Zd?-=n{kaFCccbE^!k3#{Gh-3{rGa~ zewp|pk5A&no99&Rw#$$20mF+tcY1){8F}l*p60#BLK{u-d4_qecvg+2)|zbeM<;ca{L zBued8~@qIA6J_tZ=82fsi+_gC}UeeeS5A&J&G|Yo_Eb{iFU;4Z_bu#1iK7Jj0l-G}yV_g4j z{OS?w>AJhV#??pMXZ@3Rjvbd*Brf1p)x3V<`5F1&(wZNrJJypG+&W?YpV8B9c%Hl~ zUclw?4f$M?=NI*uhxI@6?Pp!T=cHBqQ~Jf9f*+Buy$voO$3Ir}=ttz&=@rk9dcYgF z^Smhkl;`NTQIEp^F8lq|FUDz{%*q>Q)R|5FT&I8Q9k}shzwTp{UzES@cIY>&xcz?0 z{nw1g_4Ry_`d-XKtfO^b|M1*Go}m8}{RBNLddyQZcr`ETN8si~`Mmv_kE?t^{p5A~ z*%+7ST!sGkaP9Z}OFkkVJ?3BShaVaT+L`k##tJ;#7Yf`IUa3@5E2& z#f~$6g&lcMcZ>YMua+5He)XVVhhJG|KI(Yn)dTNp>akz;&yBq6cs!5FIhA!_>iVnv z>c`k6{*vo~U+tY=?eVLex86q|^)Yp1#HlNu>sj~RCzJzv?)7#x9{wZ5nyz7~FUq+fCB)X1+Qf8FKv`$>6l zpPRuwM~FOiGxNiIEXqH_9_-o%{pyK+`+eGK>$^IB)^X8)7*CN0iR%yeNii<;1LCX^U#SDc z-6C$>!c!`EQSU!=Kb(}ukL4rlso&53oBe06@eSMqPZV@E#x>XSiUekG2)zl)GBrfw_Gc&xMQuhGkRf`1Ku zL0f2daLXS%;Z?|&7)%Kk+AoloOxz!N|6E$2@@;kt?&4~|Qmc+L2oZ{tLH zapOe&;>L-%&k@JtdikFJ3|C(NQQy1p1ODTDcrN4ku-iIhzO{~QbAR5rY%lw@`NVTB z_aWvb{n2(l_2)cykVh49>ZtDrH*xbeZ3CBA$?ugGxxgxO%KdgPw|h`Hk;KR&jVtId=WlJLkdYQa7)= zocsGTdGwsg6K|7tT1PLtz6zdsMo)0+xAm|oPyLNO)cxcq*HJ#8KUnvb|B`XRH&*aM zzKmai>+hbARd`)_j-H#|uHc?WsZae?dHgqgMqb4DA`f01xAto%^E7F{<8r>WANySA zGT;sQ&Gj1OXL0N<&-!>Lar6DB%!l|OuO91$`8xi|dgz~t3&%rT7jSv?Eq1`Wit^Tn2k4p6BYwYM&*J3Y zau{&)GrVR}UOni~cUg?b^C9=ad9P>PB!B0;rSyKy@1BcU_uiLZxzE;)@Q4?^pY)48 ziK`3lTc^I_`apY+)^ja!<%z@8P2`*LX5F>Ei>nvB5{L36?GKMq5A$Z79OaAgrhPn@ z^MavY_m}qP?-{Lc!L{FfI@pu_v$*oacl2og74tgUdECJ(xb~wb`w;sTH-5zBvHG|6 zDX)JkFaBt!-yiSb@}gl}@6E5&f1sZaX~l`>ya%q_e@x3hP97A0p^k0jjmG}T{Zcib z{0cp`C$8~R{k4hTa3B4%xctfU2l8j?EYC%c{zaXN9_xYiMIM5j=V0b}^SL}^GH=Vr z$-9fVc^JP@kGv}1fha%dkuT+(3;woXr_Y!|-eul5J0ZbsgE3a@O|YwPdRZm&G2$t$=Y-XadaYOi??T;44| zS@k#kWmDcfs=vMIde-N?E$ExU8~)vR&T}yL&Dl4ge^tN!30}mpM?39LUX=NP&*-Ps zdBbk~c6J@#Az$!|RsR|0zlj@P$37o3xbxdCJ05x01AJ2cn)$?kXXD~iaPttj{^vQ( zB#vHr*Lr$e@4I+ZRUW@I&#t$F9q^@P2XErmhmZR6?nCq5@qWkKjDG9GpV^Ylf> z!=uQ{@{v6rWj^-%c=P=G@~bNE!Vc^E9=~c|GcLyCd5iBeia7OiwLYky`keRW%7f?p z%6dkfG~RM9L>=DaQO2u$G2=20>CgL-w=Q$PnqLO_)F*N5ao=`kr~4M=nV;||uM2<1 zr+U3_e2SO){R8F?$CGt2-hAHg-kO4sKl>^yl{;+NmDnM|tdbpETNI ze22#>Z~Qo);vZwD>nQ#ZT)z@me&W7%eZsZ4`W}Hlpgqu5+Q+oSvGq)U@qB3_pBR7Z zH~qPF=6UxSwCx1`i{4gS^Q3-CyCHAC<)%M3gNN_ym*C;)_*qr{sy{DZsP+qP{a@7M zITAdmi90{=Y4g1K-8`y(`H*d+-+UK>zWNIL%=7ZJ9o+gQk5S)-ymd~#wy4LraeUU_ zXY_yBTkCsc9y34cze1k*nbj}u{zUmB^3EImChqY+`AK+%=TUF^^S+N;@dxen+H*2_ zi2h?g%InwWuMM74&9C^C_=;b8-ld)9b$Qe*U&6nYFW~Btj|68t+Nu4@<(^_;6P zuj1}^UH{ejcO6;Z#q}~DgE!>|UNkEY?)!jA{F?P;9arN^zcP-*&Fkdf*|@lR+fRz} zj8lHKow}UkH2*H**kS&i!4og!$M7ZN4jyHGOI(vL--+w@=t(}bZlLFkM@@Y^>u-DO zILo15pYbT=zeS#Nw4Bq3f5iQ}=n;PiPF?W*L;iiyJNadBSly|Hh}!7yjOpU!^Xp2mPK;kG#eG*%?lr2<|#o#;bmD<4TIr3_11Ab0=KRV=Sb#_#2@^s z-16MOuj&aLKediEarLv$Ud3Gs-z)F=i+OrhKlQ+KqsjcQ zzj(eRE>9=FR&n>6@`@36J*-paXXH}{>Cb$hdZ#`3<%%B1<@s#%Jni#oomu2L*By7B z+V8k_{)uzXL&5_tyWFH6>n8K3J)Vz@JTUQ%yn5sxu1kB}`>EzL);aR#E&5-ur|7?o zPrNZM^UkWg<3(QnQUC=f3iei+zsciT&crJ3sO$^!i-(MR({2dyI8uDec!z;ym*9BW@j6|L54Dobw~D{ow6-m>+TKVa|WlXB=v`{Tf&5mq%6fkGOSo z&|`c%zv1DJ2R+(jyp4LSug<6P)>Y-5AL2gqEG~~4=Gou1l*3?``o(?j5poY`xu1G$ z9-zKA>XUWE{d6TSd46RaiYGqcS?$#O(;rv;*gTBitv6k6MqXZ(e!&a8%5$s*d(7w7 zuT?$z3w3Z&kACsAmhb+yQ~jU3ey64QzQOMog6kLNPwR{R zXUf1YbsZ{Kk4`J@dI0J*h|3lTH0c`hl-)@PY83%YJ_nXTF@L2JShF^H!C2 z{^@s7{!{w3Zos4DEBdAUD!hySSLMw^=$pVj&ne*P7yhliEB5%F*z>wQd{Ul#=Db#L z`A=b9_wX{vtH*U|@+I^rpLqaZTu1Y({krbgwS4#Id~W)W?`N6+x+6cSA3cS*5jXB~ zUW$I_R~}XEm-TbMFe!hm-UYv5aq+Nz zf4ScFHu;`-G>>`i?04VmjJ)wq9^J%^+mE{3GUCY3;^y^>E+0MS0qmKyQ{Lsc)I+}3 z&LZ#P`Euy`*O$FDAEmB}V~4nTU4EH*_%(XaD}MGK@E&q6XeV0h@UOVGK7prx_vQDq(1I6n_0q1tKu$gCxBe)Pp0oFW^b>xio#?Y(`To^;C^z(L-M8PLfe(7DW0_~3 z3x41^=g;#4_1l^+9GCr$JPP|0pFZz%$H7kLyYAp4kCJz}Z}IuU--z$Y@8Rluj6GiK z55|Mz5jSoJe+Z8n)+M;}?mSt)@6*3=BY!)9tIztTU5~hrf5yMyTZ#9V$bHk>nLJSC zRkZV|-e7uGfE ztNDIazxkPUs_M~S9(8@&i0e1%*FN&`EMBn(yC(60NB>|PdlvODZ`P$s-FF^yP5>@{ zm5*)cX~(zioYiv$jz2Eq<_X5Ps-N}toMTd6o`b!!{eFsm=FfQ!-(Y>6A9=a_bafuI zXXIT2UbGW?*Pti%592NRmFvj*PT*M={B2cUJ%XzF-)lzIAo$J@xG(9?c{KKUQ@A@2tr4|vY6#H|-E(If9dzI+3Y9jQn1r33fx z(uymu9`OgrG2Xm49PmAUmGi56=(*F|oKtZv&&hid?JHe=k6+~+!FlmH&K2_BQ~U-y zlvlssuMBwVmi8F*^#$i zYKMBxaGw96xcxsK`gI(Sz|$|+#-X@+j6?m^`{D_#&$~Wz?U&b|qhX?A1qda!%KkbP9tjjKb zLe6{?|8_wZPX8csp8J#gKozjUiRdFi~aI0?62}G>%i3I-1ml$9>8Cs z$NJzrd;>1;`Ve{Yf8JYBM^@^F)dG zRpNU*%Kg3lMgB|lYq$O040g&-{GLiXgPpeV4p??1y}o`O)4-^rO7}8Yjd0 z`h7w8v(G7iK%dVUhl4+RzHUA$K1aPVADZVHap(7p@~q_fQ}0)Pv&{WEaq}zgBPXvi zPA2lO`-b?v^7=J?T+MGk>w4V}1jp~>Q44yC^_2Uwxc)_bXyUc&muFUS>X~_c71v+L z$EiEw@*m~R+tiEnJK&r0`kj9Bs+RBn+)wb_B7Vtzo?Dpb)G72damR(7ZQv))L)KmW zkLkyLwFf}K54j-INW`VV}miQ_l= zL*$R>XMSe&i{lr2_@un!C6DaktLvyd^ON;;p2778<6Qo{p0L|>B##7FkN%^)xa$b6 z-*_I?#I+N@-EQgEyiQ&-uf%VOm*D!Xyg)tr<%6zwo6&DRhDQZg9v(F-Z@eMDhv)Zw z59#O7+o~Sp8apR(_0#Vjp7Sf_*MFZO=U3)?`fcB0$50<~ex;okT`unjoyQM5?*7{T zQpdhVKl38K`~4MlAoYv-m~*Oo=(9fll56Br&!2-UU%39ofTL%RUs-SDd4D#)vJQPf z|Jwi4!5;X-8IO`zjOS5|%X0$fS3CVaHRp-Whk43*v%MPZ(N5#g=e5W9_xZx#`|>N} zYSjO}xN)l0|tb~aDmpcg+r!-w;$yqDHr(I4LE zIK}a=+y~FO3il^*>Z{+SG;#fobzQ~v3)UmJe!+Sy%2WT`cLtYVq2K!G_vOBq+?;>y z)Q_pxrPlKOA9l^~D8J`+-1SYDYtBFUVnyEgwmzp{>*J&Te6?S3#=U_1y!OxH+KHav zmtC*&(Q^c6yv=?G{u4b{$iIVMHRn_Ptj{#s3BETEMSC2V>%W69_UpWj>+bqGpUMyT zByPSm?}#f8zMYsC<;^e3YY*$vlo!XI;I0?`rhfB`ymY;#U+tk^^G5ufINE09jW6o_ zq#pM*@Rl?A2mSe~9_QtvNnn*hdo{tJY9EB`*U6(PMbXLxWu2LN8E8;4!HcvI8f^h(@lBn5q^`pHt?e0*4KxeuWxj*ULq_=l&wM&R@)q?w&*-1UpD;hh|A@Q3 z;_4awO+RE^>IuE#_-%0eRloD|jOUpDtmEe$_uO$of8vpT_W0F&i(dVfeM%KKUclRo zym5EYudBH81zyyne&%^|-uw=M_?WQ29O;L7oz-vM&>s04^Xq%IJsy?wD0$Sq-cNYc z1NsH8FS$1VQ!jE(r960*Uk&))`PJSz)gHdbugX{0X}zPa?!6z}{hi>?(ZlmO=Na)k zUC#JVeFguU@hf?S`+nA`_;)?nk9^+uWnBG%JsxEp8^=|i4*Cn%m$cfWo#ut1U(Xff zqurYS_rH$^J>IYmje5k#evOk+{?VwP>v!SuB-VHLdv)?w_`lB?p9lIAHx9j4zxmPU zkP8p@{V;xzJVw4TU&yZ}_*H{n74qstUUC06@x1TJZ!^P^D~J%&+-Lv`H%CdKe)cguRC}Z*RLM-aVK8Piw`;;f4l70{;t7!kXIQu z<^ku|JXmje-nf9D?BPXu{d_#X(oXVT@`>{3Kf{gF6ZRZwneS#^vTiUxlQ{EkoL2c2 za^=wVWnYRN?w9jD74z$P$sWII@+;-xFK7HpUL(JfkKJQ@zox}L>-HXx+Qaww)%r{H ze?Uu}^81mz|0?~y_2Yln_m2BMB=Xef;Ob{w)*0u~=fbZh>_JcdeLCk${Xa!c{n&YS zekE@?<5xU?J@mKBuaGkzX&>|UzWgftMW5GB^N9Kjf94D2#f_g4Hy%bk;`*8W8lR)Q z@uR%+{4U&e(Ju3%>+AhJezk{_4~$#mH1qj{buwSR=-2sf>Z^Xe{l2#|ZK0K4d43h1 zWj>$LM;=+YuFt_~&13QFFZ=z8JehNUt=T~quH z#_#W}cX|H;AE?@IJmF`t-*F+oDle~K9Kn^xetA^<(Q(UXYW?0^$G69?_Vmo?X-D)h ze~};X*eUM%Xb=7|@`Q4Ue&xq`a2W=@ZOi^M;*{dy~;V2 z^7s1vya!bN1D@OASM>$=v0HvpMjSoiSMn3}e}$d_U!Q|xUwGXwz!{G`D?Cb^cBP&; zkFitSevx-SA9?%#*Kfn>{kA2u!nW`JC`&0Bl144 zJ$1kff97%Y3a3su&)zWp#no?K6j$E38gc50>+1X5#It^*U5{$lIL@c|D6c&ac+NPm zU#}mn|{vK7a#-^H&A^N@3v zk+RkHA;$*Dt7#v-0{8`FIn5T+8===!v}jKJ53~skb@b1wT9IVV>$MIy}_>Xaqz3bR7^|^^3v5PpL!P|gG|A1?M)|L6I+NnK^%Xtnz z1kXG>UgGmi-u2Xe_oMVvwf~B7fv?z;aXsnxwZAwn=Er_>9?N{z6MD^y+Ib7E|KJa0 zM?ScGNq-ylpudVce*J9+UuW!Le&sE}i3j%!i}KjvciHoZlV6*-df;!77a#eR`iZ-< z^C);w-uKCu4t+d1r;;yDj8lFkZr&z8J0A1=8Na%Ro|m*2wBqFTQBT?7QSED<*ADcA zUx{1CULfyyz|Hq#o!Wa3==+V-S?a0Zmju5{e?O=78u_zxD(nf5a$a~Y`+0Hn_}z)~ zZr#tnUu?hd3hPhgwdWc;)nEGc`FlX*tXtZl{-?uu)pG<_9=wQqE&r*=ix>XP%h3b= z1o;s+j|}sWe{W7){l>rZpgq>7$kU(kub>UhCJ!x!3li zo`*b7>vweWiL}JE`=m-d%cE?UfnTj$&$hqo{Z0Sc+s!&b{xn|w9isWo{YNEEwz)qa zf4}M1$~qP|Th~1D=b#aX`O&czw+{eP1juWnKM_tsIeKopa5( z#pZaKFXK&~lk*?#QqLgY#O)7x-|OXjd+%eX=Z^(_tM*)C_v7AHar-5nGoR)g*2Q@X zzhWKg3BCFQ^Sptd$vZCdD0VqNiBIgBv9lfNN1i$2^zXRB8|7WMJU^T-#h+ad@`nEJ z_voI3HuWfve@^21E&Qa2n=joL%-Ca|gI_G-<~j1>8IF8Yo_LUV&Eo2L(EB^Xu_w6s zTl>``{tkZizC3F0JzyapkGv@F0j(F*lkAfjXLybL>Vo;EZmeH(J<+P?1=rSR`tNer6XT)H{_f`;_dHj7iahFze!rTZ#c6{RAD(xujH_Jt=jE5l^H&`& z@T-RYb_B;?)t~xE{o1t0a~tM;6?dJ<&+7@j)*aSw9&w&q)T3XhPkGlL{Z(9f>x{Va z)+2HKedKA5i~H7hznckPqP{2o=zmi`bv@^*${UvtYx({UzL9xmKKFRk0-rZu>fdMQ zZ^y1bd})XO#D3z%@x~t3Z8>#)nFq$3`Iq0KXAh5_iazvD>L2vPAB=C-eOBJ}8sxI9yTkLbaoF8%R!GEf_e#QEp;pi!&JbIRye)W6!OmLsqpOx3|AN1#E zapmPj?}@MENB2vfrxkJ5!|&BA`_}x9Z|e5EFOOPZG7pSLo)CT|4qqzDYtMmxJ*QG0 zd))Vq-}mO6>I3?}gPyOrw!eG*+V>OM7hdp7%a;RA zKlKJ&Ia=$3{n^iZ^Qbd^)%#1Gv0umSK2_XtxxZ4*mbw)Fr2Gz#D#u~G$Y+10-h!PK zdG*SF-o>w!M~~l4#7^~?7aXs+^)L36{%3s>S6*B__Pd80=lZAiDnBu9{d$zQpGU|Y zXw_%^Fu&2pZ}mso>C~TJ$a9TWzGS<=m*$;TxplZ-I8RvU$NuV!-Nqm72A=%~c50XJ z1HFt!%|}-lG4}Z>iYvq_>Ou^&{4AR$iR-o5ZP$ zo^LhvxX$=T9pyjn{qEt>ubzipep3&2+wXeY?|V*>a{%Ryn^BK-89P_yJttuvn*2&X z#jZWPDzAR@c+Qh`q5e{?bzYnY=b3(I@xji_ zzkG&yo^N~qITwXj6!kbR=5rN4@*L|B{q~FBHT65s+9^J)<0S6*Sr_9sc4Gf(yzA%G z|2@1Z?>haZJc>Ax7ftFPaQB(n55ULHc$EGik8(ZOAMf#~`Yr3h^M3F1XY(lgCI7c? z(7(s89M7T4tuK&wU;hEu;$GiFo;z5INTr#@EdK=>Q| z)EngOmp1P|#O>d6DzC98bwb?w{`p{!^49~d{0@(@&W!fwoNBPs`jh!(9+L08rr+eF zABbmvsC?niJT>CRKjT+C-lJk9vj5AA;sR}b-!`P;)E4)$oT zb=vdc19I}-BiFP!uQtAE^}X|F-UAA5go#Mg3g+y_NFe_4t$a zd+w9(ZBN+edg7O}`mHbMS;h4)^Qd~12j7&}zsRpmdFwd(XYt3_ML(0ccA~$E%R|5y zarL8T50|$%kDe1O@)r36^P@i{-)OJ$<_X4~e$5l_z>D@fF6M0&AN1_uv+~-KezwqJ3LUhCf3_vhC4=g8lsExm2O7;x%W_WR1y zwl4>H?YRNxT6^|*RL-fCw{HG)(4(F5s8N3Jecun|QI6NTtbWH$y>UEgpAPe&{S_R$ zi+|$kmG2q1KCk>9Zr&W_%?o3{#<~5fe~(`o|N52k#%J)_?>wZHFWLVduAYhK90&O_ z`vT`j+;vgj@p_*)lP8BCuuhdcxz4@cg;t&SK=JgGGX6^iWmn+0)J@FjzXM9$kE5wcbs)2jnWxUPG6E``}wT{TIXtihLSK>Lp zVm%i1=%>`3O>@f ziEAJFS8@H6`ZKBOCROQ-#NFjewp8~FXs&8_wWqucb}|&anGaFTe^K`=TVO9^TB?f+v8E!$ZMy3 z()W7WqyCXcX^%Y0^;RGCIpfuyBmMHc=YhNDPW4aQX}o6sk63;5`43miUPu8Ykk~sr-TGv{zht=asxWz8}v#n?JStr(JLU zJ)i4-Z9ZJc$L2x#kbJ4Ym&8}D>kf}nZW^9jhU?YqKX!Z8f5T3Amfy`x+DH7!qh@gT zE9*^vKKXX|{wn)Z=A&@FwaoNuoY6WT`5ucnY4lr;Jcl1g{{La`jh5}WjWk_c@{$+2 z&;>6lRwx_{M~8#ct(j)qbT_y}^YExSq9{=kB~x~BTP>^AGM@pDQjda1sYjWy@O{~_ zb2nz~Ep1BYc(^Z^%pZwF0tF!dLe*N!a~0-g*IqpHF6SfHZP#9$c^vJUmyy9w?u~eS z?|45uuX}F0itC4YAAXFJyuE2JFCxw=Zk*0napxiPKH7C%V&Ak+c*Ntn*WXvQeE)Yu z((nBY-Ti?1zlj?^>t_~E(cXR${~~UjfPvNNCKJd}JJxN*|2uDx;EU;R6;jEnf={=)JZt{<-p@iyDlFYQ)w_c`MccYNtr z5qJLGuHO&K48JOmnw?Y4_*Kok>oDRui5vfd{fi+B*IOPn<5%?y?Cn2!%+C+W|01tG z$DZ~gpMM5^3wd+Mc%SNR@G|6#N6m2e?`RJ{aZW|t@~e2>M;zkbC##!hy`K(T{^R~` zex+SM|8yZ9@?_xV>wHe7|I6|#`r&y;To2-EN5(hB8PEHSyYT1w3wv<)O~+09tKzO( z{W}isgW~#kf648-PkDW{cRk0vqTo&)|8XALZ}tPvTZ3oLaQz(cXS}Yf1zi8`N9?DC zdhLjv<3WC`-Y>vUe2&)H|0{Ao8};Q!@}VjZN^(W-3E$C6DsSjpvajlY9_{;iwcuAP z{rVL72@+g><$CMd`+N{t-RIHeSG#`F`PC-wx5`ON3Ba7`;;`SU?-1Wir zTE(5eUhgyNJAdI14LsH#{;Kx22ftXwU1zpC!54Ao6?wS7tmXSZ^Rj$K+&ImX`VnVc zHF5b5{SAJV;xFz*UI9~ zd#|JWrhaS}Kh^Un$A^71_>%km?OOi&7raQnocF}JlRWQG|7u=l_ys@i-}154Zh0~M zd9LT@1>>BG_`J`K&;5xXM*a32Kg6y5l|SG234Y#2k|+B|=XH5a@F?xcYyD~RQ-&Vz ze?prMo<28S1X9rxjVNZeU*7~RH-8c1rieI_@wb#G<{tUlWho$ANH`~*X z>)HA2{Br#)__5#aANtpy_WH41<9C0!jX&mzpF{Whx!$uZoEK%e%XgCO=vm5-)@0w3 zzNh-?)@$F6ek{bbelzs_jQ+U~vG1(wz+JE2|7_si$M_tukS}8W$+OHO@+)M=Pki1V ze%18vdP45vN8(lL|2}vfGV-H5hxM>(e;0e^Qx|uhf?u#F-&XC@e3{`}w#QHScV06u z1Amt|?+n@WlkCeGcE<1gp5Rs7aUh;9?!H3*7V*^I{beoR|Jg3OHo=Q{iYMkXej{&dZ=7Biar^6jBX0a$ zf7eCCkNxU8GJgC|d6c}!IN%|1{%rj4n(*&@pgipDm)BQ*r62rX;6LoU?wj$R(qUYu z#y;fp!r(39@~&mrS8?}y{KWfI@-6W%M!kX_=U1O6{N~W(y>#01T%>=7{VgPUJI zvUlHi9Ag~F1JSPa%m;ZqC;Y11Pwg^p@qUSZy)Nbnb?wD%SN<^LS69Vd|Hh+#*MG#r z1#q2b-2Euy?=lX?Z@ZV`pj+P5UyXil|1qS$7uPxGa{p`}GaksgqCXkZ^Q{Fu z-mhZ4?HOkrH*wb!ausJi1)l{kuBYQ@zl*z`>cAKClFT=m~ z%%=-Dd2H2>^9elsJKveF;m3Ij4`~xWUEDaWcQ(c&K3_(=VQ;(mzbalP{;RnA1o6!L zH{&<%UyQgnamShQ*~RrQKe1i+Eyg?AP2&^(FNrUKPwk06?8W7o z+B;9MuM@mvTtD(C$Ax`v#=E+H(!M7i_x+4h`0;+7cH*4McHvPM_|Gz~Z}1=YVR%YB zr(+(-f9mf?z2HUi8gbh5`9_mR(VqD{z9+%@=8+w*|vRl#pJ)ZUr{Xn)a83*<2EtNDoa=l#!) zpSX{CM0?`CkHxxjKbP0GBkgK`AHCwoc3mIHh{yShY}%XGm>-c(wSPDHcOJnDqF>rE zzh`*(msgM;@4^?G~QZ{o&7oL9x0ejNYI_Z(;1 z@7lXRF;0P}>lN|nhj^=g#PPF;yKm*|D9$)_=V6M!iaS1x+am7uWt^Soex5VVb+p%y z^TBneAN+UEk-U!VZxN6EP2(B)%KH-A^}Rv*7w=6u&R(wh8u5LUZC;Z0H z+egU{xX%?FFZo4%ioNk+Up`DYc{83r7>~F-D&rS;R2hHn`?gy~d$Z?&eqWDqoBwCu zpAh%e#)JPjr?Q{&fl7b1Bh2{Tz3@W;`N23&@+}dLmz3$fxq>oKION;m3JOe(U--pE7?oap%>Y z5#J0iwyPiK>jZb);yoYdt@hS8|B9QJSwE|IigSiH?TwRmtGNEjpBL8NUnHOWv5TZ^q?aj&rt`Ux+(yw@3eD{(Bv> zz2lGn=DN_2<1fF$&hsAEZ}2zTjsChX(vPYi$H#f){g?BH{WYHJIWOUL>^!F`;s?sfKkYfXIDUd(E$8jyeX3+1-3$k<6K9-L>EHODrub}^{Wbg)?4BU8lSjn99C-Qu&+iX5?t%XAf8Vd; zzhOW0cy8f1(ypJc|4%>Ef0+E}&-Je#cvCxKFOSlHO}ISaUlLyUyEnn}d6a(05C1uy z_;EinZvD^jQ+~LvUY9suavY53F7ao3+fDN-K0mCzlzCqs8XcYIyX!K2_;e!ejFdDq`@_zC;_w8Oe; zw(EVk_uuAI=lhIzF(0~qoJZuHz|E)cp6^%8Yx17`&3G{$^B4Auxc<_UYJAcHJ|2WqYhwlaNavsX3z8LMtxgL0&Q`sK< z3VtPii~c^xkAAU_b1HH2OuSE(@ZeVm{OSK0x^akqoN&uCj=j$Z;{7w?DNoP07yRWz z@VAiUP49cdPJD7sb&*Gv@i#fAisulvD=&JO;xWIA+aKyhUe12*<3~PF&?{2C@aKB7 zJ@I?kXWacrT)yG@G#>rTaPx%y(*Dvo@!dt*uJO3PWZeD8dE+>}oBTLV#^btJuyY+6 zzkb|bwX@v(>VBmi^F)5_dp_R3_*^~K&$pxf6`r+!Gj#b$mV4qY>Q(-dWUjB?uv7Nr zH|yFdqx==|Cx2`5x1(?HE6=s$TN~$i``Pg4=gR6jba_|(1l|4r@z7o8+Q&NPzNlgE zxuNG*?*Cq=b{zi9FP>ioUnZXTJ`(1^ChmG-9Y(%$Uc<-2-ucKpZu-%l`4zb9fcd>@ z?>c~Ygn#EJc=&OBFmJ<;>)_59heiM9P1emWt{>`kaoQ{RY2y01J^Y6s+a>P>Khcl* zP+sAB!(SCQ9@@R&AO04&T3=h7fpTn^4zo$RWhm314|H<|< zocR{d2lXSL|AKanpLrhqN;~3-b1Hce{f+n1#mP(UQ~Xok=Wp#3aO#WqXW-^Fr04o^ zer3InlONiNb1MC4|1|l(Idq>77)P9YJi#72@hhKG&3M$KiVhY{l@b<_V0K*N?dC4Zp(iJYe0%8C`DwoxhnaoRkK-mUxFR0wk#Y1~q<%@9UN8BEyhz^S{w=OOc<>_n zY5ojc`vc=3UrKlpH%{lz=ftUh@#o-<%QEyCkD8rRl~3^_&$)>%zq0?}!K2>7PJ4Nj z_Q(tGQ_07kQeQvV2agiRzt0DPw~#+0pBabz=Zfc4v*&%YbEx+7

w;8{Oz2l($j9+>GobBB&t_yb@?3epj_CLelrC<87Uo(Csp69cE z4*0YDF1qXSHoD_)IewjQ@f_;Wux~Ghtn3r=ffCqFUvmhm+NoX ziCa&7CL8s(RDVsn_4@>G;;$G-q~}=XG4ot?|9^(P`_4M_{vkM0o>s&^80C?V(sRRx z|KM9k{ED+)eJ^XFU3K5{*}&txi+c7$9wyJ4;riE3zUH}He2$O#8U1p;lRsy8_%UDK zN#kQaVtsV;xOo}-BJTPzFF6j{;V0rT&yv?-9FqT<{Sa5gZ@c&@+Pki4C+xl70uTT0 ze~z1e5*~57KQMmb$Ne?)*h}Iup6+LiU+^Wbuh+-%zpTCM$m{O-$cwyQ@{I{z#2x3u zm_P1^@qGyFw^g3wb-KZP6L;R+#E-c1#C$6sv;Wi!|HeZ*T^=QFJL1kC@b=kgKkmC} zcgnBiQ496nLW&>Gb(t-F@C;e>^vG|CLWiJ2M`2B;M>_ewFc>?CtMw!HvK0 zcU2zcI?sOGM~vqbFPhokB~GrZ=ZcXJa=SBr<$j?b<9Rpv=X%BGnY9-;9@nYs`yPJW zXYLH$>)wv&UZ+on9_xVo9=zfe<;cu0HuywGR^%ej_=)72+HdH}iry#jY$wY1RIi~c zdn(s{OMX4iDvm4XfXh0@Ir235#dGoYbd+lsyqNu>n~&ZfcJ2%2uekmXM!9(;&L3Ex zVUI4)igv}BKjQJ+@t^4j{VCX6KD9S~*D>o*ei-Y(yl+0uyk&xiAJ&7<`-=7{A9eGr z>*_H26*#)*8^Lq*|Epo&90&IU)_)au-OG<02lFQDyBeqQm`}xN&*x%Y+ILq8L%ry)`z7`>JmPWxW1MDqF;3%=AKEW*{dm0`Px{-$?XTl0?)Z59#hq7- zcknC6nd|TUr{|b4A2MIUKAs!euKTz4wo5!S9#!R0)^}cr+aKo1j7OEv#ymA{^MAZg zwNOs}4BYnMnem>8?K(cssPBBmU;hZ4`nEgcSLG@8H<841l1FJrp7p)q;5Xtv@4JD2 z^YWwAuDJZlyi8o~v+_&(<$JPuoXauwhxTJ%Hh$wWZ`-c;zu-r_p#L`cH-347<5~Fo zb+Q+CUk?8i+{Hd{boT}0x7`_jRX^|2j{XTJ-rqGI+tps&aT7lze~ttDORR76XT{#} zeT@DH$^3}t>F}(Alou@UgMzF`@%`2Cw=yeEA_ zUz1$W_arNN;eD-sHpa0k$uHg)#(NCrmk)-$`-}NE&LP<^#Ebg}*T0&-e7?wh2>!r* zmFv9OuJZ~R`O$gCebEdr`f>iUt|AY*{>a0DyAH^c5vO?*S#y3gUx~{zZjbQ`Kjux! zV|?TTv>)T(x@19`?>N z_)#No#Q7fe;=Wx!*q`KA*u^}5N*v}#q`#Y?U7Q}FiKJz(Cybta5=Xy8Rm+Qmz z;O`yB=im4o+(!OyNcq5y-jV7p*{!KuyVoT*+H1%)$t9I{^bNUBq~&X>uYFJTvc6Hi z=K8P3^;`bJb^LC~mGNJ{8v4Et={bn`#d9rXF@HV5{sW}A`_1El>&J7hcwgQ;QiokU z57f^QocpL|o^l;KAH`kA%;R_;*mdc=e}P}u&AUVI8Mj>j*m>U)_VR~2_|=c=NIoNO z-b4m}FfZGV z@!L=8O>z6>_!yVt<8`uqaj!e$6aCWO@z;OC=Q}Dz2@_0TdPCK6ONBp$w_YOvT_V*Ef zwJSr9^CiWNzaN;jBoc%biYvJ!M zevIc7?*45&+Fup7UFW6on?DxfvK{vkamPX2d9J;FZsX@LWQ?=%vY!0hL6mzw_#yQl zBjM}5r@F29MegK%d4YUDxn^E~z9-p|oqD!=U3yRL=XN&ASEPDF?-RKvd+k>61zD5b zHqm$RhE(t9tL5;l_U~LTWQBKCuHT9*OFPKk9 zr2B$-&~^V?%1`00d-#}f#(je8&32vt=38;~cWGDLyrUGqgPr+(f){algLyyWls9>) z>l)c6_FdfdF3%A+A5&f(&lFF@X}inlU)Y;>&9nNyF5EosI2fnbgYt++KE`#3@e$AC zobc$cIPG5GIgY2-#W)$yll+JJ=I17F@w$))E}T1g9VR>~_>$N0*0^35&Yif9{W0~e&|oUcf>vv=Q*4+T;NwXNBwv{ z=s4o9KE=Q7I&SV?;>Q1Y63_eK+T9qs_nEed6c|D|MV+9zZ7^GfATK-1swZw#^p1{qrJHPJztvPwwvZpyr+Ap!?XUh zcbL-W*>|{aVno-8R8zcKt`%+n&n!|;Bg5W2NS+FN^EH0Lp8V(c4|V&M>@VPV7(e-de#m>#FY_QW;&DGgHpk!n z#QusK4>IC0A1jUDaj>0Jxc>1IM<_Z-4L;YEA>8`lJPAM|sfp0C8dX#Iup z|D5@0KW{PL#Jw)$nJHh=-u~i0?ClrVG5D4ChtY1lH)WjUldyLjh_^l`ey_XuXW+Jr zpDvF|{VL+lx0}>|hCCo|3>o}NoIHMkM`b+a#~Hu!b3XE2&s}EcRIz`Vca7h?DNa0| z-{*6!@{oSYE2uYnU%efZz3pZkf3aU0kM`z!b;db9N2E^t*T%2hf0_63KK~5AOMi`D z9+mBlS9{0P_}$-aSNnVTcb-`9H{iFC)^prk7tUXKl=a9LaXxv(59d^_qx`(j?-5_W z#vW<@H&3^e_j}T{&vItBQokW*cKapU`LTADcCwuLZ7J>*eMxvteyyjya!GbO`i4|r z(Uq3>WVc)Y+i_hNWI?twuJ=kgvXD>PN0fV?DUbSK;GVOam;F4A=UCx~{VDb%{P;Oz zzyGeipgo@>)}dGPpzDVD9{JRDi46YWx&ROV+Os~p{^ebsdx@KOka3P-Ub{2m3_q?@ zWW*z`AN?mk(J%9(<=VSHmS{@9Pu4*D=2L(tgXY)agg}df6}hM1PH& zepKVMUpY?g=~s+1y6@qanV&D1Kl;)C1h3-6?R!8Mc$EA^{$o6c(O$bE-k%ev*TwuR zu7C1E*c+$uXm5XwM_#0#jBBqS?Y)l7qvko4_V|hOEB%wF;`yLB@waEGzc+^-?^!tx z;vZpeegqHRr9JHy?QIu4&ad=CJidP#^GQFCX;(Y*|Ab#%`g;|;zUFKF(yw+*?SdEa zg>vKcIY5rn=TXUj@GJ2f_`8R+y@KxksJ*y+#&!#TSH=$xc7o@04e|jBDSpZ{IOrzCAB} zF5I3oU&tTb_uHQi+>ZLE`Sp7s9Y zx5V`V>HdKXd-ns@dEkj(HT}PfKcw+^&gJKUyYahDX}1|q^3%mV2eaIE%_Hms!3Pe+ z!@dzbB=M`NANLXW8{5^tQd~RhP4MW~9pWJm$M~3+^_Sxz-iT8> zV}Gj(7zdW=G(^2MVGM?%@yraV{>df6uMB ze~G;BdW3(4|GW5QomTU8!XwY>-}|S}sh{@&@jH~8PxLR&z7g%Zk8lprw6{KZ^h^Bq zXeavRer5h~e3E@}Jnav0IZxvIF><@w6K}+coxEd)SNr8S5PuPO9EiU;p7!f7`Wv|Q zv5)Jez2*9G|Hn^#KKw;~BrkY>V*ax{c#eJ+>bqVXcktj##zDKWzKk>Djsv*sHO?(< zKc7?C?u0MJIhEsY{Mw7(8vXJ<-{-jU7w`Ks@2c`H=No>4ciCUtm0yW#|8%tPe6rnm zuhj9>-u+0wh5GsPfbxomlykk~{W10@ulFe)6}-rHZ{pW|O`JGOrCeM&!{t}v%xdzj51+d?@Xo!Ef(T|DTYLhP0jdyyfHb z<#8^_e&RY-F6PB=@rTU$bu+I{WCPD~zb5;RpDbtouM2OJ_>JSb+SyV&`d6N6XJ$9U z7us8qCAGh!Zwc?{Ybvj=n0Ltf9Xj*L=Zs|qH@_v>+5ckS{1SV4mGk=rxa$BJ=OOH8 zK4%p7{43sjz)$R3$Kf~lnCqVXBKUwf>p6Ic>r;Lu-;lpi9{$}Ate5Ta6FdPv=kLqa z&lv~#hIvxlyu&^ed_bK17XGcTKd%qOeX6@i}^R>?7aGE3TVg$)jvnej@I5wY(CyI5PG-`=xYW)34Hf z%6=(l_VO#^P)_h^JUM>H`AEO=e3q}e&)gYyzE={@5!m1S+(Gas+hhLt{T%Tgp6i-* zEVbKcCzq>h zHKE`mm1{3vDPNF&KZNI{h4~o2djg;GIik-8-T!33!(QAxCZAE4$BDB~d43Rn%xmVWiG7*i5oh)zU(zr6 ze`X)?I1cnL?Cr1Z=-+U)Qei_FN^v6j1L%Z>ui1G5==>osf&qMrBU;DVKh7j9+CwW4z+__dt8{C3V|zpHjEod(_Lg_WHNq+UwtV#It>lQ~M+BI#1Xi z;yj9dHu%(|VIMq>e%24c%@@eHZ%RBW&I!m{{Tu3&-wHB+Z>RZivmB}3lP<2@Q@vBV z^|GAR>-f)dW`A9{?PY&6Jlkb`OZ~9?6t3M&_R09K3D>TsI5u?g9equ99las5T}k+& z{%Xv_Y;Sq}H|FV|hFp<;PlWl$`(AmJ@1?qL1`lyxgkJ@pQD+?mzj`p*^*t~B$NuN% zXkTD=JTHS6xv#Ka%lN=?To!j6+{au;j$7tY?~nerBmMUN_zCzU@N|D&o>R`c?SCG6{~8=={@TcE)%=EB zC%E>V@-~q>_+_R3vb=14?X2Huf4gEF`njs?*W8YAXTMj)_Y_z5XL(C@fxjB_rcz#z z>%>0e4ZEJC_@3}J`PFU#_k4BZzFUo|ZUyS#Zp5Qmx`?=)cSHvIBbDTf6%Xx@_{O zuSa?J{vLTMe|7U#%4^~cTs_M@)jOqcsl8MB%wNY(Oa8RCT>W*++}?J@amn#nf9ChH zc=ns?S-zxkZ0H5qk>V@*o+W&21J|x4JIfbv<*D=175j=T6Td#kmXFE9{Jd-VBkPR3 z-C0NN#lQ>q&3;};-X-61Ul#ZMEk76Jxt8Z#J`eC5EcTBh?YXYqhuFV@7u~~79wpyU z|IH{5exe`hg&+4t>IJTU{1pA)rCp`C``ZaV*4d}x^JSOiY4S1hbM#Bxeb;#0pRtd2 z&71NQ<8hyt?{WR({D<;O^DFFw7nzTU%Y8b&r^5Z;cI6@Rj!zkP-kS_|O?pLNQn`2m-;>;up37%?r(TvDc$WJW+iBQWKb+ARs+(6jvxuDx~*yeB_9x_0XAgx#9U z;dy<6`(FM2?N~<(QvPGUiahk?urqH&o_N7Jd_uX>^C<6kS^vSu9%7%)pW6}K^KN;U z`=90V3imT)2Y25JsUPYW{KY<#@S?r#PW;FBI~&j45r0vN&-j>m78&PG=4qsZGnm-Txu;~Yu<#5u!@>pR;YY0r4{ z<2p?CuH)#h<8xX2Wwhr$5xmiUXFuADyDq#Aj*q;@a(Rz@$#o?DYx-@yM=37KgI7PK z{5WK1{`efic@z6B`*~ljish#)=z9(ts_Vn8(afxepRk`7}r~X_O&+TS^mbXbi*3`cB3%K>PQ{N}` zGOm43?QgUC@G1Q)*saOFqARs))GvIGgx??G=VtwV1a{XL$5WzsRsBA9()MGcO{K z$jjp#4F2G}i075y^7Y7%4e?#u#$SvuXi+9Si z)Go_xr=IPuTVIJY%Lbn1p8BP(+)k8hcU{u<^w((rvUtbd`ZKA&Y=2qYdY6^^Brfac z^6SF0-&1;<#96>CU(tKA-_Vr}y=c#R?ca|5Xhk;gjr*U9^u7CK9rk|TM1@~f@{+Q6 z-t`1~C4A23j=oP2yvzOU;i%W;SMo8WJjZ>^`&D^Yc`)j`p9Y_CKW1MHz9Ie_+Lad_ zhwiyn`0;t=KaKL>R~38whke?Iqh0syck$!7ko!11sEK1IFDl}HPrKxY;7jr-`ItOP z92q>yybmvE?EmpRl=3+5G!K!#yzdTvb!)`chnU!I~L`G)mo_*2GZ zNm5)thfyAUDaC1ilvmlmz#TXG<#|J#1JX{s2dRJBEsu#$9s(XbN?rnAitkwwzd?Q1 zkNu_GbrAeYKk_T%cnd#Aq~ojoDcpW}-CbAq%XnQU;Uh^QZVi2#;MX0W?PR|{7S~^vd+OJ9>$CPw;W-ZN zGrpwjqg|Wy%kn+dQ&+B(%eyN3K|$_+V!wDfFrOpi9E^M@ACnjPxuuZqPmhLw z-xmpf^(K91aO(GTZjwwv*2*Ztk|G{@1r z0M80uWF8^^%<$k#$-c;=%wOcGcpj%cd8%{$^0`eBH*bfUZA>ADHT?fIVY)8H!pR~WuOYzKS#Enxwjx+s@b7B0(?^7S?m)FHaUXVNIT{WMFeLdz=`L`h(`_GCj zXW%cf^SsME&vPK}1FL!R3HI_C^UtG!$2k(`@7`C+e~SC*1N>yZRL|q)EBR8BzfnK( zf$`{jhrTtxox&WJZ~|HO^M@+0-d^(W5}UxuCY zKF*2o6Z2TVH?a44nb$+!`+#;GPsdMt=QHy*&guNt?0veeHunU_B|ZhT7PQSZd9t~`a$%B`>5ChNF?XQ}<3%4fKC%9VOOy+07Y z@AxP7yR#uXylX|4KMXuR4+$UZ6q z?8qnPrz&pVLk3Sv_tBnTMV$Kc{Hl(2{2aLbFaHQ`ev|)@xBTAw;3x1EpZm@5>bROO z$&)9aqnWP{Bd)3aQ{qm%qLUYmJLHpOPd)Re{ZU5#m9HS37r`HlSH6_u@jNwn8}@ z-jjKe^ANrt<6}GUBkz~wQ}*Bcpg4bhHsZ+7-HPYhyf5ne1>TRfKT+>&$OYNmhh7cb z_f*}dHp-RSw}h|gS!TN(yCv1{slIkf%hi>y8@HV|a?Fp{H4a|KEU((0^>e-J!n5BW zt8dKv9N%@}myK_ktjCsc{cRIGm#ZsR>ZvPx!nMn?VyFFvF218TWI>9nui)Fnu7g+P z^7WYi^()o^`>Ef1FK_Cc2gP$q`54lD+5Bu?mlqYz$IO=vo?~9{Ju>-Qd7ph78GMX9 z>2rs89%mjynpc8fkw?Ri_Tus%-^1s=zRO!YA3&Pdg0K7o@yci9UC7`?o{u4Cc(Gmm z;6K{+Jj%TNWV9c=MgHS?5%v9@MxWzE{N{Igk@oPx;8C_K590cGPA4A;KA^qlEuNE# z!*haf$WPv(Kc2UU<0r1GcJQdc!J8bn zXa|1eb&r1APuGR>2}2>b`7bntP^~h;Qg9#+kYd+eER>|IBZSR{f|Qy-p7yoV$Y+&$yc`i-=Io|lFE06Whyl*T2`k^el#KJl&?uVgQ; zjrY6YDe+#DJOREpvzPyRo)vsbUhvo#(RJC3$%J?)MESHn;6=sV~A2X1}&m*-L9 zzoeeLNZfJIUjEED1n>8p6W;CpL6M*9*ZJ$bVV+dxZDn37_p=d~=gLagm+P{!-a2wo zciko3^|*mIWI^spYS+P)E!pkp8*)u@N#)upcgnL|!5gwCKk9q3Q&+B(t1J5zaqInD zawFaxch-Nd_-1j;@SiHqZ8B~dH_j~gE6$TPv0oFe-3;F*_A|UE`yKt~!fk&gj)L5f zE#cZJmt?=EdL3O{*}yH|k{|Is;o4<z=C*D(iaiz~IclP~; z^z+Z_cO#$p9)`~|<9&bL$0&axA7bCZXZ97lf?fZ1)Yrc17rA4f+g-p{>ifBa3O{T< zNA+`?&qq7vOW#w8=Yx;whxyk0o8M=9O1$z5->3Qbe0_OO!@g+8d7kH5K2MGJ(VpNx z@r3xCo#!p^oj7+&d?Waq@9p>=H2o?^;-wwWF^$8|rFxzd{E~Kpx9B(XJ>&7bh;fbI zOYyu&-2T$PIMhsYb&r{{)>(>Kc{%y$pt0A3l&a1_Fm*(4+=HW(pN4lPr z8|zM8DXtW6lXWVt)PB>y>lVErweRTKtMArFt`nK5t`z^drSWv)GoIIt z+s<{%p8BEx8E*OOmfMMWk>ktume1s#`n@LIdKqun&G4H1Xs6sMZ^)kPw+U{&Y<~)G z$-nk9-13cjHPxTt)?2YxiZ}hRFKy_{#NK)}m0Qp9uHPg}(zRbFxI9NYWw!5=`tl>| zY1iOC;*I(>;o2*;->_ei>J_~s_f)j`!8iS&@9+Zs`+T^8`~4wx9dXMq&u-*)}{EZy@ z(wlL3GY;i{|Gk+9e_QjQv#++azh=C6jsmaryk&!r$iu2Ujq@Ad-z(@HzNBpE3+2ik zJldh%RbC7Kk;iWGRL_l4`|=>=g8fFnm1`P@J(Vx$%HUP0-iF?jY{_naqyKeVd9$y) znFnv?!JBpPW*>O75ByE;1M&f-JfKdlw{|<_9oa5vZ@mrsCCO8~#rjJ9s4IUe+;)^J z{ZUtn?~`$QgV(>w_4VeuzPYY{o!D>Y!JB#TW*+?Cw+^l-!s%y8Nu-8theM^38 z^0T9FC-9YW<#NKlQ?6|2S=JMN_Ef$lzdiY#*=PKX{$}5Ov+w@jx9`4L_ixtyn|1%U zx9%5sK#?D$_i|kKo8?IL6P`zhST3 zQ~g=JCD~bThR^(L$&Y$ZxOz+Yj=o(H*H5n3@niX({H{s2yn-vmeLr!kh$p3B$dcSqM=Dc+Kwnsn_hD_80(H+1Xwq+8w+e#(BuzNdOy(r13G zSFv9w^|lkZ^|Y(l_f*gFeS%wVy#+h*9lf5wTk^l6EBEB5CVTa4uU?Y9dQG@`OZbK^ z-qF`&x1(<-aO<~;z4f(w-EvQH*xpZt=XTVU8}aotuHtLL8+x7Kd%~|<@5%p`blc0g zdQbMJ@E!YHPrN06;&p=0?E8s!wn_PV0^d^{E$OHH=KAVu@+00R_;v#ClxI8rt*O3v zO?c?(Tw%d3%CnAr*WZM9HOj*deVgF>iSlJqzJgnSCbx;*b>Xvie<*HTSvLBS#rs4TS8muTSM*#iz9+w1(k;(;$F3nQSFYea$(HPQba7<|UsL@( z)z@BGQ@u6m`^4WVyrp(~@^ebp|Lc;o_HA!V@%~i!W!qVaPy2>mC%AU6OU~MDDV{Cq zvv{=Y$-X7s`r51aiQPKE+XSEa*|DFMZUTq*N$neUS@wkQ=*l(e;-0suD=YRLxh1Kcs1f4Ox+v@2R|@D=WHo%2m7c{SnRY zOW=DMI^V}ok$yjU{GJovztGO=c)sv*$cEhcK85c0QXq{(xut%H_k_>vw9nG|8PB?Q zS!%ZtM=ozEKFc${r~2y3PPuwRugEpkw|qM*H4y~Z>b;Gjq6X@C*!jwyrIwVJ=tHop7Q=ido{J&(Up5DSKlUf?TYsL zQ}#*yHQ^0?hHn%54z6tIGy8SoXGysAbAA`!C*wcEbGtpoy{Gmq&-jL&(sK1S@ngC6 z9lLCA`E}uIibwxj!h6!SYZH8#;OhjR+1H7Eo8UA5*JWR5cR|`-P5Oqe+|m0F#I2_v z_7%qaj`YRXvsG{lt3Ney83Hx89c8SyDaida~P3=o{rq?HjnVC%f&0 z-~9)cSL!KSYFB+v{(I83s|mN>c17HJ%08+8bK%ByRk_iR9QO>rtpDuKdNX`Yjahisf0R z>vGDz=KAOhvZwMj={tIz;KpyghMjUx^-keivhPXP-wdy*{S|$N@0awyVW+fS1@GAp z*J%N-=zjmc-)HXk;jf${70;*m{?Eqm5;cD>3BDw+itj0{H3@Dj(@6<|*Iv0M|Ke?e&+Iqsd#ac9J=x95 zwNq-BrQh4__tvj`pSQnvvhqEh@(l3>ydW#G^L?6r&t^+@JLN05y7hXpFX+ZssISyd z@E^XfT)+8y>MQ=VZ$5X^ul$Mc^Xxv~gEz(R2zj2w?>Bl5)%m?4d6nP$?(Ys2e|Ov8 zXY_mE{k$_d}sbTkIUru7%J;%O>#kRX`N|TQn`2q-%~y9FW~Ta z>n+sF_ST!pp4!!JOSpFHYsOphzoXl}`p+$A@yzho9dBctwlsdmqukSYX58{E*`2~q zmFsU!@ilbij=r5}UpuAtS?{Sm?K0jb?OhdLQv5r5_R~{b+LeTBx25xzO}m6^zgmtI z-xHp7?KbSH^=ZdAEN_$-EDe?|~=g!}YM%D@5zze@i z)3x{f=LzRJNZXgM#P8Q|&QtDl?(-h?@K^jDKxF)$;NN5SE9%K}_&vY!%Yn!9zQ4o% zfaKgN^Cf@xCeEk${lOTof18)$z$*CNjNy&j(@`n!bxFZGRQK^HgvJK*ml|3{LK z(dBvmzM{jlJek@^s_jw{||QJ^2SHtw(IXO{wuirlX3F*%-eC4`}>c@ z-wpEjg^tRKTFRZ5q-qFQ3@S1S##aGI^?V#^S?UsaRUHdKB zi7Wf0JlE51P4?G~>u;a5lkuNRpT+r8#j~aHvE9q!o%*L_OLjZ@hFp>24ZS8@yPoh3 zT|CR3@@yyGlD{8|_vBCi89%i?*Ga#^U)nz^_U;F}abQ=}mEawHLuR`L+;}(64ZOeg z{@ULmY3tZO`J!gnK=)O)KYP8qLKmLxd z=Lzxqz)y$^|6ykyf}a%fc2oLZvv&9?;^w^%hX0Bm^NhcnSARds<9CehhxW!#JI#3T z+iYK+^MLU~I_{CzjG%}+iFx1aYaS=>cl#x; z059TqhyQ|feiidQe4r3#@P@w|^^7y)U3>k&b7CAkr;=aE)3m4En4iBUPV0S){ww6| zA?2q<92w_k@-5o!&!{gSay-Q0mxb}`te+Sk{Y-GzVez`qKi6Mze2FXk+fV8RzZFMT z)>HQHe&Brbce(3lqra}x!g}fQTi1&?3jx=)I)mcJTti)-H~KZWOVb>)Vip8Q$9CS1E2UX#BKy(K?;vQt;~iM{22t8$(6 zyG`((aCN2iwqz$>6TYG=cl3tr$$m?^_Db!Q;>wJxw~1fN_Y_aIuap<$n*8;o@8}z{ zA+-}lN@NW zh?|edcQxb2DPK~@Pw-Fun5VQCr(W=`2LV=df~t7-}>?g$3b2pPjH-_C)A7UF5f_QudnTT{hcS;%YU4236FV_#xwl?1|H&5ZbkGSnVJKtWR zT%MA7W9%c2yZ+o))RFBY{2PbY`6)PY*lzGQ?U2Fu?osd8Lk2%Qg0o*a{ulTd^V91V z*W)Grn2(Klw!a$q_Lm_W(tUhm-**4bcunQ%1zdaO2CfwE;7clR=*k^kxhB0Qd-d%E zz9&EGE!9)sz_Z*ZezKkV%>KIZ^+a5KQf?f%e8YZC^%}b6JNhYHyQ|8c+TT)p`pb6W z%ZYfkQ?98!aqnXqt|{Es0k&x1TKs_>qj-?{btNU2?8ABug% ze8lq@&n4Us;<<_Yka>;$$mce}AKc&A{{nw!#2wFT^kZId|2Lm%kH5&XxA22~R%g6}uaGBq@su|U`>lC2WX6dz{GiL@0#ErOaCr#* zn&H)UwP)N`aoeSxMcj7re^tCY&hilRow)JfKb{ZSuK8B`8E*bX2LF^laQ(aUkon|w z4u0!=&|W^~{Gq(Lj%=5>0=Hkt;CrdvIG3|s=5O;nE#W2OtQ+}2@UFvHH=f%R*BAW= z-1WjZc`j6J*LXi=9g1Tg{7pZUw`bU=cH^8%d*TV)aW zPw_ogzK^GVJ?tucsgbu=Wbhx}k7&LpVZLCUxBJ6S@DTGR_tT4fz;gk3ROCVJkr(n2 z`=|Sa`N{pb%a`1j-EYm0?3?ngXxIG^8F7k}XRGn+pZw)GMLfhGxcM77!*~6g$MrAY zNc*t+W1O$C4+kzUrC!&M=Nnvy3pjja*IvGhpTOP!>F-tXP5<_bephk&ALA-6ui$zv z;*Oiw$MLkkjDO8I{uXiPC-^4rczRvL6Mu_&<#l)dI1j~G)~`Iu`41jE%67ry9L08TvG2%>@<@1wl03EX*z4Bq8> z$++uL`G|ItpZ+1Z`}xD6JO4ZLr6QNFNBR2Iklt_a-ws_K=KC8v`KL|tljY_q?Xv7C zukGk7azi#`NA5pT>gTfZ$F}!F>l&bpW-{4IlnfELFsc^qi&&GO?hj{+&dXD>6^N763yuf`^I}SgQcg$<%G4q}K zu=$7fgAZUIdDcA6eh_)eJj?#nj7Puhhco-Y$wTEZ;;-wFKA&*^j())#3jJ%^+b-qd zN1S+f?Tw#(G5CP{Byx4!+#iv5-zQyt6x|Dw&{RzC%KgTuOGyWAk-UFtcXcxb} zcXVBN&;4Q?nz-|calU|Kf58vq7T3}7fzMR^-)DTh&f<n zE5-LzZ-!e>`)ntk?Xs@j{%XvtEwx`$yp~(9Q?8xoSMj|3yW!XKt_9uC7q4fOv+q{s zeee+16ViRY`8_%hNB!!)?Yi^6$2{UbKt9^U+1KPLi+RfZoc(_lXFYr0W;}6D!M?TX z-+0*PW_Z)yeFs0gxciTOj7R^(xrv*1DR1I=zY^D;c48cC7eC=&KaBIjb@VxCffqG# zc@A<1mlr8F?d28lg$sW0ANKca`Tj52>(_WX{yndh*Uj*%eXZZSkI%`07vqE%E#le} z=LJ8+Im7ptw1=HMS^v>5uEPaC#1q$DKlwU(UC2u{&o|b=BJTV&U(2stU)a}-Ge2XU zYOkL!>906`;`yUEeBc7_VqL^}wd?vY{Kk8O*p;{b&v-mf)ZTu{yTs)upAx^k#dtnR zIOP|f4}#CmwSq4t|G}>o+Bpmv?{VEa-~JSThMnWa^$P#=KlZtg&inQLt~^bC7@s(I z@;W+?p8VJLzK@ziX^J6JMfzU2`>{O9_bB`vm!E5?-iNY2e15l*U(6%Q z?mq9jK-ylcM|i=mz5GFW#=1^^!rt}BI&S)LJs+sAAJ-@TBR|@n>stGSn>W3GvmaZw zr(a#1d}+Pw!XqB{EAn{6<9#CI7wyVx8IRpK9Ure3=aQah$y@w9fxJgvv}u38mhb=I z3!eLXUs{f%e8;|_mwFzL&s%|a?cW=A&bK0topH9aVHf<0esAL1)9)F+YA^r6excnM z2gW<>;cZ^`svr3t@r3=cmhb;KR}25%*Wai7CDQB2{90FV*9G%=5jWqNhsB-umdm@u zkr$q)<0szB(l7bHz91ggqkKkOo&X;SKk}0U_2qTq+J8>DerUfx2iKnRChrnQ#`8pR z+HLYN{aY?>zrZh?gURncN%7$S0)Mj|<76L^w@1G`ca?V=kNXV!R-AVkH}UkR#AAF) zd5i6O{huWJW$5OK;BAh_`^o-*z5Gf$uggR1oqv?ae&Kw!-1TF8+Pgm7$5@Z%z3scv zPF1FS>G_3uHB0krmf23dr97;@fos>%mEy`7Zu#qyYl_o$W_X|2TW?mrQLm-?>dKw+ z4cU`@##<`i(d!A^dJA^zgtxmt`y9ag(%1(o^V)U#dvxZh=Lhbqkc22&+w)n_a9`~%g5N~y7u(P z^YC3F*5xDc)=gCX9Pkyrfmi-V< z%m>Gf>(XAH@27b)=DFj~{Lwzv9e(PHALj}4w~5QQ$w%Q|9Jy+5-a>l6<^4lEKl}sj zx?Zpk9;F}hrtjHA{x#3Pz>j=FDUVV&Z;Btz*Ngi;`2qFX=h)dE<-t$1r##;K61Sbt z@FO1p4?dRgc)!biMn9h>KgRV5xcV*hjN>Qxp4U;{p?~?6<e!|~E`HHN_4Y?zG(#5Y^)=7Ko4{X0r>TTdHm8&av z$~RH>1v1|MI~((3VgK&zo3S35*YSNRUkrQC2O^KTf08Ghud#2l zzsGri`9hp^Z2O)g_*`!{u1fplhwyLSm!IH2))V>HyklOJ*LB7rKF@~#$eZp*<`?s+ z`ww{7yH63%rhm^3uW$5up$M@VOJouIMZ&LpWQrtK{nBb37yN;{t zQ@;1su=8_@@%aM!TUjqARzqu(pi_sD&Y?zxrc17Xqe_>A^GR{qV^9B1{_%VLUBQLvN@!!nLjt_B#f9=V8 zoA&o>`Toy53od_k{daNuYyZBYe!_R{<-^1o{KR&tr+x5M_<(ViBkjl&jQ;_+e9(9v zg2M}J*WVA8hws?S?`>y>FaI|DYTu4S@3#AhcIn@$fB6;HN4)r40(-|HcpCAq_Sb$f zZj0lr|AYshnkUp~|Sh#&a?_OYLs*T92!ndij6#E*IOfIh+d3(EC_eegH^+!}Uqe)SIZ-cES3 z_x*_!~ zwx*u+=t&E z{>(G-rO317m*zg~eLL$T{E&Cu=Z(*NAYWREJI-m@@2j}`KQioX7a9I-7d-Nv_}$Sz z=YQ}({0DBk`J6`{gP+}eDxV;4uHuQ$6s}i0jyU8^;YXZtUbL^+<1hFCcAi@}A7Veq z_V@8a-rw7_S`&Ayr{B+-( z;Ss0%G5v1FFaKd&!=8Q8`L2CDuO!Z*AMNqub&TI#0pHwj88@$w^CaHebsjl?9*lAE za|SWby|6Kg4e@dK=gYjmZ@o`_54_!CE ziuba-j>Hw8D>S|Xahq4v8UNz*L9gpF?BjPGoImzk`_!)ci`QEj`_xtWmGRgQ)~oZ_ zacxKX=lu8n+jXT*Kjg#mS^4Y!&G1u^`=5ty{+B1rc!A|D@rfPXdg?!wY_wlf936co zcgmI8sVi&puf9#{_k_>vR_wN~xh`LEJ>0L)hVH&ne?Roy{gZX+I$Xq`P>*>W`|5*% zo7cjR^N9U_JHt-?An!0Qh_iop?cKLCFG~2Xy*vs&Q}nNnfAf_0|H`htd4xFkjN@;H zM?STm#>MsUT*B>b&4*!spK*1Z^?wA%`B@zB8Vg|Ae0u=VmI-%sBB}2=QgNMV=XDWx{HYiFi1FAC>qlM{@^`eWf39OYf}T&X1L!-lBWu#P zWT*Y>lD5}rw@unFDNgOg)z{>wqi1|ixOU<-wYR()mhF@MP?@+jwHNbJ3TmbdKU@(kuz&p7jHF)zrYIOhpmKQq3Beb0T{={oBRm zKl=Y_l*jWC%FTDtuZ&Y)zO-aNcZc8bWB$XBdD;6a$FrE1-y^R3$O+!SgBKl#{hI7u z|2^5;u6`n(I{b*shq50(|0&=0`~5u6k(aGs}_q_c` zx%Td_#DBq_@m#Q%N6A}e_@;m2_k66{uO}l8->(gOdDrho`R+WCrxCxn&oK*l)1H1g z{+sjJag;xcKN#&ff48%tTR-M4xaVb_69>O?p0iHtOZ>VX;X!f#Wga2FtSk0D-}$?t z&v;inPt+biO@2jv^V?O=wdxDv`2~`EI^$O}ynI3ZcaY1F^>cLj0QiOX;Sa+u-iJ^2 zLKM(`jMZAr}6Q9li-KM75T>c zZxOfa#Q5c1u7B;tJ$DvYvi|I+@wX%GXs4{;_|-nviTyGz&llv+UN`rB?-!WQzVCT~ zUwI$(-e^DKdqF(EA5z}G!VBaFCGmtEU8!9IUsJhuuS;$zzLxYTe?|W(uSo58bnRDk z@rs`D1>ACFp}plR#+iN2{cAr1XI=XI-hI`1?K)}NGk=}m4Zm?+xz6${pEG%1-2Ozn z_mJ$zkr$k&%(LJ*?%V9s;YXbL8hJz<-XDJ8D-oCDBfrAFifd22o4EHA$S!XDt{?O4 zefkR?_Tu!nYVUf%-;V#tcdkS2kLUfHujN05@>ToaVGnM*+S^XUUf$EPAM*7DdvM$B zw(CAe|7JX@eNB8HAlXOcC-MFT_=3IfS;$*T!VCT0j3@D*=&$=UaW2}!-|Vl~#pjjs zu7Z8=My_)g=bSgjdxD35<6-=bM}FmX*_uwQu ze#4Ju{AzuPAMPK#U$5f$^?k(|@7h-U$j8V(!Mo&F=A}PkuTCEG^T@s*?|DM`5_@^e zVdyh{<+;AR%{+WneiiRu{et$FA+L*H#rf4c_&*Fe<5%U1=U2sZDtQJx$NUlJO&Ql- zJ|e%8Zy2xs;p<*EKbKeNk9@}U=JklrA-W!JG7dM8@+;#&#{Qvyr1weDu6V_t{o*>h z&ca@td=hb5&%BcE3tX4>KlrA3&hdedxepfeHT!Od7i`EC+29db?um!|)cTg%uZiz8 z^q%Z?^flqyFS#D$P#q8C@|SU4clPJX{<{2W;GKQU^J&kW-B&$d^uDE2FMbF8L;Rc# zSso1OKD~;&-!jj-xIBP)v+7@*dA5r?U);~>Pn;LAPlq4pqwVTP|HS3E1h2xr=|9<< zALD%Y{^)mQoXc_O=Gi9B_(ZvR^LNAEbDPNfu6xQid4=nO^&jJ7oQy-)|3l(=Z^+;q z`X{cicVEF?T%O={HqKb5#2Nn0`?Mc^#A!F|Z~eQ}>= zKbhgi>H8Ya=jwPGC*xDZy)H-My&}F~ALnoQ-<^lHi~m(zUdOyO9>>M`wqfr%p?uHz zV?Vv$aUDh8@P6V?^v`~>9=9`a$+v7RNjCYlnv@0LOK6n@J zH3ol^UzvBvS10+E`F)|i7sz*zci~MdLDEeg_X6IKkeiiEzURB^VfjhpAr|Z`7w}0|0=8fOm5&Yp7=f~l?_*HyP z#_>UVKNRC*`H?v6mwc%v+;a1!@$1L+BYvR1_^;5J&%Sq@KS$7xsUGXk^Uuz?rt@R} zk74g~#D*?U>4~R^zi!zk?Ph$#Zbe$&Q+>-bUa;%(sqe;kY>dNtHuO0Ec3%Lmjwkmg zyY|fMigX_~pZXr5`*1mqcFe!keb~J3e9AcUql@cD{v+-@;yfw%kACls_BZU!AM%{= zkGLa`O!}Iv2A9>F2MtRu710wHzJ<8oDypP)L zuW>Uz3-;z&*T4S7yZ@^nO{m26!;!k_eub5ZP^Eemg zI(yyYI+(V>lEjW?o*Breq8qvKXLh7-#FxZ?sE~Req67{gLHo_;Ta1gceSeJ9R% z06 zEw=C}|4zXAFqy|sef~UG_I+OkFQ4`Mwi9_W{*E7uXa7t7Zph15%8~xex8_gylJfB{ z?k`{W=c50Eer>I|;WK)|V?5VV|8IK#*5SM4lmFC%%8v-^|DI z@bWG4*S(FtL67^)hMnO*zwXa%j!XX}Z?530dHIf% zmw9<*y&R|hTeVYp_@sKuz~3g<-Sxt68-6(Qt0InG<73fp@i*~V`4@eD#nn^9$Ni4} zO1_1dEgoP-3OhxHeTR6$v?!^TYs-5kD@N@@vC*dZHMm}i@4`n?ECXw7JA+H zhhKR<@UZJ`Z_xjk_Wj=G{OSNsyUL@)C+?59dVb4&`b)hXarM1M{t>PEzx-j`eRX(= zb=>!W>Xlaz58)@+Y26rkNcJu2RbIdMn)|6Y1MWHU$bXE>;P?7Cjr*eg@+kAH^CE7X zaD5lQN}Q<2_Br!xzlxKt?ZLL zcV14&`8^}8`K`g9;@{>^_W`sUdaU=h;>p+eL3otwJm&4IZkK*G=6`w0qCMtqo|9kc zzw*0koq}h`TPEtAby2<%{ZFumIubqFdF=PMuaT24GTzmGi8J|?b-aAUbJ%75wQd&T zyr~C%V?3+JeB=2~k+-mpzF(TaQ}^K^;;HYf?}EJhQT<{0w%eV24Bwgm0{*(UzCV}; z`S2#~yzcV)UF?@fecbPhSL6%h+gQi&ALJXj_J?oo;Ai^L6Z@%4EA?PO&x)Pq@v46L zC+ob5J1*vb22cG#-gWoiQ}jG((cgH!9Q*uC;(Po`9RD=F^fULV>M@?h6BjR758`+> z9_3f&WpMr8bFKB%pKnL>z^@i@ngO(Y+Kd1dsZ>P=kQOr z<#T>zeR;(Fo%1X6Y&jrzzqjF0?}O7edDL_p_xp_S7V2%zuapOOpM1uPh{L>Ri70*`)rtB<&WUX*?KOZ9Q~$_4tD1J>VQ7iK|T0=)}K0- z@3DMNe)VJYJf;ff;#*E9Ltyl5+58Qb>1dp~14%DwINiazC+LBF_ijr++b+G;+0#dEaDd*)}_hW@-Sz@Jv}+V#kn zlAm3F?kAsLA%EqM z^cLc51=pYS-zsjMAzl+-ANKx?i$*-^$G*qgPRKo{g-6Zc#*gPz=B3mV_|9^}^X$j` zZfX*@4w(OEMxbOdLi#UF5{aVC--St@)HgWxnHu6X0X;%Ht&=)=CZ{%0)0XHw-g}cwL*i+Fn@~(~fu?{rmLtOjhW9qSs){=9kIxYItrhcD#U?2n%G=jKyy?N5Gn#-rFb*BkotT#P!f$FGX=@-FI0 z&b6>Zp0@Y>Rrv$`{)F}+?GC@%`~Ir&{viBh>Uz%j6?OJq`IYVSn-gaqF~t2bId9(A@3lw!pV04N=wDp_ z_P+5(9D3fHfA>K-`ZsU6&ob_td1Gi-c+J?#d&YJ_ery}~C_nAs%CFp4&i|j#O8%Z{ z%}d$Ga9$;D{cF^s{FH#7x2mXeGX2$g3CYT zC(0*Z!+&P=px5UL{o0>xQ$PObK3zTTxAo&{ow~YhzjdwAuXYyYEAl+IX{R`CrEcEI zuc&*4bvEC)E~|CfJT#oo$fK<9lX|YZovyolsljvfllj{&S6?F!&l1<)R`BQ<&xX{n=+p7G_-k&^bHLk5E>{r@| zKgDmvvD@?D<%Hg6v_GR2cb^TfX*b*-^8GCCzUiXNnfH=6E<0XFdGQ(jzo4a_w2@yu zLeCDrDsOoHA?*X?iOCGLFCW)6?N8l3r|4484v0gmtTpaXOCZ1_dkRE#${0t z`V)WeF|K>Pb)OWT0iJxM9(j$ti}{tuB`%e>{kZpYcFsfH%J))^*Yg7V!yexgL{CBQ z|80JyomV^K5}&y5IGzsI>M>4~bG*jMVR()>%XwVkXI$zJ_Ah^vcd_5Ge!5?hhqY7h zZ)~?6{lb|!^4Tw= zXSQGW0i0`X;PS9S|J8nZ-f?Z>gFQtYI||QL)~yi7;j7el>v7H}zOChNzvL}>G4h^= z$RB2T1$@BgR`rv2^@s4B-}QdXzZHM8Zs=Fye$Oj!+O(5;qCYnDtZ%yhQBMU|enLL) zRj428uh>}~hy4!xt%6&BGG6Av=iPr)=aV{9$@`1*Nq^$XTbJak8|!O-h4^yaT@T|d z{v*%RFYur2*IzJy;scMG^tXXW#m~{}d&8=qzhvFzHR2zF6CbN_jUDbw&T#iJ%71_! z^80$~*TzrsF}Qp#=Sw#{Z#~)LT^C(0JjyzN{5qrO7qrM1@!`Fp-|gn_tseI0n*8cV z=sAGn$G%@o-IiZX$iqkekNMTTuCL0k)K8sl_-nyFdB-aLc(6y@y2*I;?~Lnx`n~3P zuGQbqXgBie*vf;(c7q3vZIK_*)*ZQ7xxaS%ttai8Ynwbuz0{!<-1;WZTEx{0&k7%VgMF`in{~0i5f_v5$@7hQHO}RWo>wibi#$y} zTgA~^S+~XYMQo`uZDPO_@(=aMjW-5eO}}*v+*U) z{-P*PT)8iucI40S+WTo^-XOoX6ZfyMM_vP-b0_NjLLSTawB+qs{O9O-OuK_G_;>*=aq7~48NVvnV?DE9>R|X7^C(YQiJQ!i z;}&;*d=CHiyvg@^@nh@pJ?t^BF@ERAxXHX>ul4E-C!XvtyyfHGPp;tw$+Py${Dfa= zr#$3;qDNeL<3XHpS!dF(_n!~;fVbm-vo6MK#szNt$zO{<`I6((9`T8O)bnKM*Krv? z%4`46kbg+)eR1RD!2N%w)lV+CcHV||o%{W<9r=^j4SqDXW#ChFxSqL=+@E{D=D%uQ zJ7EuTW4^MrXpdCxDL z@0s;guD#@Fn?1fj^iZp`HX*O+NeK%ce25wwiEifKmSL+ zcKxk$d$|8Dih3$~iu%1auHapfqn>Gh>LK-PQr_p`QycTscwRmx?~*Udo8+I)i~D@> z#(Xw;DeJXzKIXZU{K|QEy&8O}7^lSF1YWI6ANToH-ncF7cUE|maVrlm@+;(WervqI zRps^bUv_)$#ErXu9pu41_tkH*Pa*%dQ-98LG|#Cv{loe|9iPN6dF~;t zxcuzU@iTeqz=q$1Km4f6&*IjF$LQbTSJ^k9H~a*D9P8shieDAaXBnsUHg!P!UbkPr z4nHZ3%RIvPwYQ2p58fYf)+K&C%tPTj6#0|yoy?EHsr$`ys`s#u*1Q;b>VD4mxpp3s zXVoLWGEa*;KgNkT^W%3!;Y-TD#J-{5_F}-blX`My|MB)XWB=8F+poBOuf6ga?J4{` zk5bNce~SK5&yxXX-io}-^*tbWIml03|Ah8Hs~+QXXjkjj&~5`iy6bxVuJ^a_+`_fb zwSiwX@_B*p*iNUer;@i+wfS}hPu@Qwr#yao#;=G2{eD)D`wZ&CY~2y3ZQ$-RtVhxFtlLord&cojgMRs* z`khDXp!L+a_x|=R4{Tcarz$>`x zY#j<;!Vgpb{#Vz#unr6QDtL2!cuqdHa=qU0JpKCo>Npthf}Fg`d8p#>F8P?x%cta@ zJ}>WT&Ohg1)~5+v-sQR9LOkYq*3CH0IRyCjO&_22sJTGqE2G@V{?^}U4{7XKUa~JXdhF;{W{7Rl7zH@$6Jy%7}`W*k5&`&+w z!^?QyrM&#=5qhYf>uatb(!yJ;6Y{^}`3(7`9FV`)Tm3zMzb`*wpONpI!LuK5Tm?P) zD|YyP@E^sm3U$o+4Sx~W9>-^#c+I@I-_1NY&mZ-1WZuNBEAj^Q==WaRet;gYZH))@ zsQ(Iiap&(}z>&*38b7YP_xJeKFLw0EqntPOTq1v<)h_wB@{UXS$HQ~#AKLI2c?_*} zXKdw5V>|Mx1wJLOTB%F^{i1okow}V9tvqWbKd;yQzH<7n`+<$;%;OFJThu52(4YQ< zKK;Uc3@$ISod#SUwTVCP`aHi{#Gl>9BTt@}UzyM4RqnrM>XGA-zpUnY?Z)qeJ1*?n zke6@SZ+Mh(gI$~T&ixSccV-XgTh`g^=R8OJGvmjf%u~y^9be6_ulu#UtCH8P^PUT> zH(hR;d%M9~T%U#e@+;SW8u0nV^XOU7BVLeS|AYQm&ka2M%5_Gc^6Ma9&{M#*r_yib z`5AjA@B;352vG6sme*w=v9>1RS=U?^lB_5ftVq9=e<-A8Pd3;k||2JQ=PVT$> zyITEBp6CCEqoF7JF7~&uP`UBG)_n>;v-ni{IB;C-tN7u7_Q| zDDVCo-1pw$6;qejKeWU1pZJ%0tvmV$p$+ui97mRs1;oNBoR;^&8eJ=f(4`LcVlq-qkj37*N*!s<56DR z{fYL7KS6%fBkvjYh^xo@m*_bR{kzXm-hO_D+yyQB6~9l)e4DpU$k7`ABd?lw&a32C zg*t0Jmj{^NjK4}8&VTCt%CCxk5AHs>;Kvj8xgVCVtKa>w@26MgpZ9(|$5Or>J8ql2 z`V74GcEg^co~w?RuaN^+kK<1MH?LbqoOk%lN}XC?p_g{G9w`rRbbhT1@~K(<^ymFe zT;55))<^kVp$<;0qj|!*=lO>GN&agcw@!PW(Wv|FO&?d*|F4X5re&Wj|Cvr5Z`}8s zXT9lo75{gh*I&F3-q2IP)xUsG;BDYV^MJ3&SMWu7)_>x@dK&hu$gkL=o&sLMeco|3 z=0`gUys3h(&KtaI0$;#AcX0k!p7*>^o;IF?E#KDix1Z}(Uia%2e{lVb)A$MXZ6!`; z{TUu+-dXf#>(WPE|HeG(hvxCb9df>Z)6cC}@~JlHFd>F7;?@E1&Gj~~KkV{N+&Umn5g+)K-~Z+RBZB_D z@2^(RuYTP7lka4|gdOscCcm<7QTNUFslW0W{A9m^5i@%UT?_gZ=RlGmO?p1mLBdG|x=cU^wL{m~xdM0xuW*FU{~iJk+k_l>Iw zTzTW_@$Ki#TkQybMN9oF>`N-=4SW2mz_YyHxR!6Mdz?dLtes^I2v=XFtj;5o|s z9?tiBsTbJY9EZH>~%Bx2nwTG|jvA$^6H(jqh)qZE{srf*DwSdd7R@Oy+)!awQ zli^qKtJl514LtcC|C2|R8|;D?$T##Sd4as8vTpiW8+g}@z6vjLomX+rTMO$ppL+jo z2QT2W>x}%0{t3K-+pl&yjs-gxzVvYxyt%(_(P$t>KFP?(I2cs`j7tcs@uEapT@g+Kk-6b7{?XAmCv~^i2tM4 zxY&&MUonrBe#QSM^TxiqnFp*h#zfByyo?lgPzYp`=$n}3)ekE@n&#xxd zKj&B019_73s@BXhS53c`?_LOV%s^?w#mGb1v=y#s+*YGjy-{V&~*ZR?I zyRtvG{y*&ZQ!jsvyz{5u%Nv|e{a#+=IzH!l<+-18D(782#FKn6d`}*w-oj5FWxw*S zU(m05eeM$6e#PZQBhG#(eA4^MPv~=e%J1RMKlAK9EZ;-24(+<@ZJ+hlyd{6Ko#9co z;tkwA(sNMXQ>&aqoHIB(9%ue*t%2s2^Fc*Vo;SmAcyg!Z^+A@cH^z@OiioZ&^uvE1`qAHP ze-7?_TJvJgkEoyWrxpGrj}o_C27YCpH(zYzllV3MJ)gQg`lIavu77!cQo-c|z6UJk zL-M5OFio61ne!fS`H=0R{8hKh_Yu?ATpw@a@*n+Cp632qJI(8}bwnOR8yx%PU5oOL z>%-oE11~)9xV8aT&%}N|bwoYj+UNa6-0vuzA4W-PdC^LJ`MN`@2cQ4@)Nl7bN>m!tlxG$oqEXv{4?u6nXVLWq#H3 z0{h7C%Zck}wB+kayn<7&T)+G~4CGt=B0TEQpWDL=e&F|B1^F3&$@!Iaz;i0|`F-@` zFFB{O4!WPQ&RSo@t;fi(Z@RvmUm;)RSC6@m{2sq*o?kH@d7ybAe8YPB8oiG59@pZJ zxSo2e|HV%5>iHGd_FLpv>X%26zs`7|_$V*GV*H-Jng24b((O#%bl#m$<3pTvwC?5H z$9a%19hip^cYd(fa|rz@JdXMiJJDl33%_!F#sl`nu8JLuQ@)zNI~nEw8F|O+bDm#` z``jMC`Wbq(&w1G6SMn(3)qgSQ8S!bj|9H4opLW`ht^Ri1pOdf4r)K!mM7z;0w3T+1 zhnOd9PhD?QKW!7YUehk(ANS|nr>@|6pT#~k`BT2}tNvW@=lxp0F%Op`IIZ%YPsKkN zSN5&&@>%}#LD%DZLV1q+19?l8|GcDM^1AzR?en|ZNqO@><2chp{|$NTliy`+;^+~# z4r*WF{`?K&`89T8uef#4_c9yu@taruxsAHq$a9Ul>bZ*b-aI(NuU7Lnd09T@_aMpR z@Rm(Ko3R@_egwXPyUx}*`BME8&!exxqx8EKJ@UGG>hjjVJ-$@nMVt2B!I$Kj6?xAQ zCi$mzm3eC4c01%z*0Y)UFUYN~gM7*JDDW!oyptD#zh-`j-=cnT)>l7i<`v>vzx6!J z{YN#v;Op*FT&M8=+WT*;Q~Z{Abp7;y_sPNWZ~2b?;r>eg;<_f@$-nc7@n6w`$N%7e z*7dJ3Jqnl()_xzvwsS?}uHFd|JCx59L?bmwGz#sQcLS2K%fV;6)re ztf%4M*byAR2|p?5A946h({JQ0%8O6fg*}m%2hx9dn!M5ZkzZ-&dtIM(D158*U+}>m z^IGN+JKax&pUBg!XY?oE*yC5pr}pb}uWpY&_EPs^kGzz8J>s4>jCl4Z_V7D_hUYv7JAmt7 z+V6c^^Pv2PJSmS_2R)ziq(=V<0Cw@BctAanq&&Z#-e%1B06RmzkyMcRN z6TiWp@D})&c{};@*!7BgZe@O+&{M9uocmPkg}ll`;>pS^zLC^Y{=fGF_n0(_+zdyrgtZ&VF1HYP1UC#O>Uy7fiugb@6y1aTS`d9qB zQMa^5|F76nv=ck5Px2-8iYs5W8y>VWKk}$z-2#`F`W|I-9g(ws%*;TtqQfGeL?_#^DmpDz2gyspT*hB}jTDxQ}oH2kI<&{KM=--PE;XRCfXA%72fkWeJZi8%Jj(eh{64xp9@nwF1b6-&hjF5Q@gwqHyN-3h?f;hpj(qkN%E`y}c+};f zM?ZO6eq}!w=y6=)gWqSqmDdk_&UhW>A@A?K|FHL0$%}>hs2})#WTVbBTKUxsuaaj~ z^4@A3Q>T)bu6utg?Q&wgG{3-caf5D%Uhs~?B!LP6j z|8QK%tKi{9K98R@>xDS_#N|oyvFO(xpuCf;g730e5~R>Zkg@`}OCn zxA;r0jk`awt}no!a=n8mpQxAfq4~t~#9{KL_`hy^UWg53XP4dHNma7uA}+J@zRg`44+Rw?lT8_ ztZ$LS&OLr*+@#(!&%VD2j|DfLa?Vxwk;kLQdH9fdbY0bNJZK;DUyjI+xc;Ob?>|Le zz4RMDQ%;=ti=FbW%b{Q8#qC!+e~SDt|NgslnSbqaz4zoN^w|&ls&W|m5hrfFpLKcJ z)G#$ z<43+v*uZ@cVOze&j%U4fUo4($_MH{^;P}&|o+J8dZ&&-(AOD5>>JcY@S9y;027T#w zz#UgX&V6(AJf}bJTL+yV?prtG7uGA~e}x|K1zeuwIz*4_$aB{5)al=Jee$UI3B0U) zOMmbud71L^m7-t4E0WjYYn!&_m-S@BVpOu#% zg3tCl*jd3-$K;`o>vf+e^S<+(dIgViy$bfpe<#;b`&hRbJo|g&6#sO+jK@75H6w35 zF&>-#FOMSr5--*V;-V=362Bn6CgQ6Q7vU+!9eU*(>xua~qUUG5t*725uF0F>OT>T9 ze{Oi*`aqrz?^2$9ZTOYrx#-VN>XDCuw;BENH}tIJSH~k?Fz@F43i;-KfN{qD-=p8U zbm-UaCp>qvZdd*C5zpPD73X>18zv5?K^}h%Pe6}xc2)=FSJuJ%=);er2fXRW%4?^% z^|Ew5*|#Z=9{oE!N_^x|;MKgvwdY02kK))9`~lb9OMf8O>d1e>q9l)lIP5K<-~LDV~Dp2+`4G~-^?eR zQ~7sltMae9KEJr~Fli0&}>}OLyxbd)uSNhGoVZZ%4&-zR1H9X1t z6Lo)O9UFO}fm_!-pInqTZ}FVCextq_dH1O+c};vJ@2==;>L*XDZ_}RFeZ7)rzwOt) zmu%NuE03Rx7v!xc;;a3lzo2IU_kGA{k9d(6*{}99u36miG7lA8p67hKUe25Qmq~tw zea54>_Q|6b{nPdOsLxN)e~jN3%o~1~b1M8X{%_qdo|MLaL<(!U-ajD{K@#G zzumtF{3q-`(aL|wr|kw@zVxVHhZlK{1imP5ok7on{?sve)2jRx{lJ5kdFYq-kM3jh z_uvQQia3z4{3dlcugEV?)NjFN91d7eLqo%8|zFZ4;Zg2 z`yca(a)r2>PF-KcAI;MR-29$8EB>lKC%>xT@~gsoszrJ8Fn(6$Q7_PgpNSXpt$8ka z_zHRaV=+I&d(6)>`ClI6d6D_Q9J`+I8TF_ieHA?o`S7@Jc>crQx-XxsYv9_ys^=F#!Z+9`jsf9kvIC+`ZcfCr>rBQH;~z87%$f%rzh@+bS5 zl)vutARiMq?^gPsl_!7Kk&l750r#9sdG!?Q1M=e52gg^3ehcs%J_(gB06W8QB^P+i7e&&0(c7wcn*{4q81HX#Ab%uN${nn+QqE|hG{4{gl z`t!J7=RC^i$@Au8$0LubJ&S(S7D& zG<*U?0>Jjd?gPgUWwb}lh?@6mJ|KxclhNBZhn^Ei(41tf9kOw z;C~g|@7g`TYU1YG7q$HDr~Y!Rf4ltq|7XxVTs!Xf?dEOyljrdp@|idCtNFjEXRH@j z=*KUcb>w&(pQ&HgCwbhe{PQlK^+P`AzUosC<8K4*_weee>M{PXH~dPR@mYW6PX+xe z^;#aRUBQ2Y{p$NO*ROi(d)|s3d4}sNe`xYF{6Zd5tPV3@+~ipT*6`hb|W$^)sFWZ-3`{;PO#9#K<1ijlkG03RAM|^!;C$JyaUAwm$03lFA^M1qc)=#<}<_-5ZX=m&t4%}~S zw#x~5^jh!Cd)6(_D;o0R`sJz~{7!y9nQ!qU>wn~ry?=Sdrk>hyzr!x=riFCTLsZa?y_@HF&n>YEKFBS1ujEnVmKAmTI z&8+`e2UzDt96he{uDt$fJmOdD5Rdx#WE?&3cILYwdz_!Ig;e-&4r^RawSrQHv)M;>Kf z2hZPKSZAg#pZ)MqH}?3Id3`*;+T&5a7k8ZUqV}3`9%!j=p8v}Kl;7i5i9`7k^{&dV z#MN(na;<*rS$GL`);J7am^b5AJ@>(hH}%RZjH~ETzi~C_F|S1r`pr+#1Mc~8pW-t_&oaE-#Gs8LF=BpL_76+=Rtm@-;em^ZNDl0^n3M> zxO%knV$h>K;_7jH#*cpGedV1u`%(Te{dj-mSMUdUzJ6EnC-aYS+1_-0;_@ovr=I$K z^{n{o0eg z9Wf8p{Q zymRQ+Reoh&pE|z&9(n5k@JJ#81%<^yfXg z_3J+U5r^7mzkBCY>ow1**H&D;wALT>$_J`Eit)%7vY$~e_stXGGd}kUd+Zl{mq!_g z?+wrSo<=>isdLJ!|K%_b%FCmaS08yL{E6`;k2_xV7(b3vUSxezZ{cU1vtQ+(40bAS zyeU88+M}M!9X;|cev6hue|Yc=+7sAIe*Mc{Pw!b>6eZC zV_dHPNq$x28`RVGs`s;Bt;MN`WwKDv!>WDmve7TPD_)Q&g*;Hhh#%TgaI@~JO8H>u}2<0T%{{-Q`FYDlJ9T#UlQs0eZ?3L#vKfyQheK`JB;7yx+06);)J$@D3yhVPQzv<)A&$8bG zkAK4#R>y@s^7%H%%M+tt9)+IRFK^^LYF58?GEY_9{Q5z+djgkdy3gEP7kE+pT0Qb5 z*7Hmrd{z(ZVP4q73-aBqTkn+jJZivmPW6E2 z?$Z*V;Y;9mo>LW`r{8zwS1b9*d6Z{W@xjhLeq~=uKcRVue68py5GvY zi65DlQNDsZ@A8~Ie&xPJJ%yk3()ATLPTm%GAELbW$bZr=cJJ{k!;Qo<@IasH|rha%DJs|+4u9zM|j9^{?i6|>+CB2LAOu+Gk80KGf$g# zKEI8x+W8V(|C6`i2lA-skw0MngnaTAd1MoJT=cVmhqvQDv47w{Rr~Q*{VVc=oz9PW zS3j)IkM_Li<91xxFECG;AM-2YZO)s1f9!f@?R0%v|3!R|4~~A}vxjf`zw5|3 z)gsO~clj0mTa{;=o)2xOK0f`=cv-;xe#4)Z?TcsmU8N3JU^aj&1Z z>yEGZrFkIxo8R^Ov-yg+S&4`B#Pj&0JZ%BjAJd{I{EE6-#ogCiH_#(bk3W&O^%wb7 z^10)@!antw-{4tI{7IKH&#&V0Zt{8LT_4tAvW}>Sb(+P^pXk}d^&|CJH_gx7w+i0JWTvK^3Id^2RryPaCqW^e9oJh&+sDk;CJCgt}FdVp1R+Ty`N3} z%G~iZUZ~TFKF6O^O&~Ey3#)JG~4>!-`d#^`4uO8#{amV-gRhxOv_(gtFkMYZR zBhNg_8}t2@{gO}ad=H3R>ca1_XTWoQ^^p72m*n^N!Ao!RzHi#W58&#NUx`z1{f;Dc z?HowzTBaVLSRpuA@@F?ePl-Hk} z5B6R9WdYB=OFh`-zRmHZ-8-i;ZXK8NXMBpgE>}N1Z@WB7e|6pqzjwv0yUwF}Ja=%t z#I0lYE59<{MtOPBC{MkOA38tchuV8|o;<%YUc{Auj6CsSe$D(b&PH71916cTFS$?h z{Awm|C|}@N?bQ48eUSWWBHxPJF6e2mu#%9FsUdJDK*BSq4 z>Un}a8F|O!zFhg>)+6;_(GPl> z`0;lCoBG9>kMNCW$TNSNyy7`H_AcVeGtc!K{>;C5-}ipU_s*&I@bU)x zu}_||$FK5zyF874^Iev>cD_cxbqD$N3-F1Sx>w~_)~(X-yU)-2EOB`h&&xNgGhX}e z90XS$J?kgfG4?y+JeT^!c+!u2NnCmH1O0g4{obPicYmlo)P3t)`g0zP&tY8I|HvD> zZ`^vVo{AmHgZsYX@AF^!??X{(&E!@iFEv`Um-q zb@Y7Jd^CwW|M=%D{%lxZ@#o<9d;COPKBByO@XzJM^G8~Edj-$<&3E8=-)Fpt>!0A; z4SJ1F{Z?H2F1nm~$@h-(k>nHOg!;dShhH%szsqVf_85l``}H*9)X(rJ$A9SZ>mSe~ zj-I{02VCDE?|TXA!XA$b&N$t#yFV`2VLhy0q5pl_(%bMT_0Vs=%Nlq>zQ1xj=xg#T zp10p3zp`H6>;1m#`PKRb_xM$#{>U%oFY7DxXeajUo?pqAhB}_}s6mh4Z{{3~ z=lr{@(H{48XSjK47_aB?qrCgh%)9)g4)Z2XK8QT?X}*d5%+D?^kIMX%{+_s!t32R~c2$9iPGS6(}*59(=0 z?8m=T$DiLG*P=axp5V?8{Wkm69_ohjsi($+d_zCPo}4?GKh&qZd$oa!zazg=kN%(@{LS$>-o%-Hr+($pvnL-r2YJ^$>&Up`SFW%5NIwyWUqpVK zf8!oOzf3?BR)b*OmR`q#pCM=P2Ti-#oa3pY>~=RbKt% z*=5H5fp@Kc1eY%z`n7p8?;jr`r@V2Co$U{U9^}otz6UMnFXUtYy$N|#&Z(Ri>Ok_m zc2M8)?@LegUwZqG`i{NGuToFx=WY4b1LUu1t$*U5fqQ+gU%S5#-=P00zZ&exIhA^t zhw^IZ*XMk{qP%tA?*_1=_!IYe?{j`I@)_$`>{s4AdiXq;!`P26$Gqegp-?*n@6e~(A);p%yeo~gH4 zujk;$-nu_(Um*w2GS9CkUZ7ge;MV`vx#db{@T=2u@n0jar*_&`OFpa%t!2TT;S?) z{XBF#z_TyFAKFdV<9=lCyzev4&NtqX zU)5{+r9bUF`;J{ZKSf^tKR@{G`ntcOT~Ywf}$T`oDSZJLFEZ#Ifb5nTys=W1-b_2J5*%tauo`<*0;?!fmYg)vg)bjn0b*SfM-M`iH{g3gd9{w5J{TAmyXXiz=%gyu~ zdl+~426CR)DKEeA?<>^28pnp=& zk$zd94IYwt#LmcTzj?ua#i^@{d`AAsy3g;3SLL05?AgP&6XTJu>u)2DKhGn6*`Hs) zM}JtAf7a!)UlqRs$IkhNYyH_gC9a=vP8E6M0emCR$VcT1$q&XU@wg~I@SMed$N5oS zJ&(KHlQ`okhXGeV^5Id;qw?WV)(7;2M>#L=cl}j;?}28-gr>I^5(x0Hy+ee`0e4BgZ;|8&vCrs*4^MdZ(I>4nQ!GE zBj6&P4F0hy z?|i!+%IkNm>#V$fI^s{eU7kBF>hZi5zllA@0qeXfZym?ZnYy2IA?q7>x!UPhIr_c^>U- z&ZqU4dDy^5`8{0y@;~`-^bhke+pqJQSCJs@iG4@E7x-`-*(`{s;QQ4)O3P*TcLmkCGRGhewG&K<^t`aq2?Osl?SU zzk+wlAM*df5x>{<`hG&YmG^s))UEqnKHph!?YTky96Ja6>^pY#e6}P1>3}02e&xJ~ zn-|0xmwDlgNBLd)DDS>>#6KGBDgBrHLVtd5Z@qFJ)4m+^XeaS>HqXY@XpjCn;^r6e zLVw1I>mqJl5tm1i4>E7!#)JCB-<3yQVwZaQbQbev=0V)J(!aG|K6XGKap8GD{{1)a zUm&OdPs8=7-}>i#V0ZXGej2_*J~3~ZM@D|Nen-FL)i(F*iPq=yceL02zIm^{>eun_ zQ@<|ao>yUy{~ng#1updC->*Ok4(S!e`t~syzlXcB& zd5E}v%KTULE6=)aH}vOvS;v*vPmzzE;^fgydG(OLBX3=^U+r|f*tLpV$Msk1sq


X9!oZ%y3!r{6Pq=5tbhnE$N1`4WGdPmITPCm&UD{S$u(?!MM_cf41F zKJ9r1PXF;|$BRAX208oXTz3-JPW*Nj*B<@WJYXC>?s}tV&>ua{5A!ge`g7TL&`YS>5ihk{O9!4JZ9&+OEa}91C(r$T< z`+4Uv_WybqSK(TI<+Z%R^C;(m`}un;aqPE_X@}>2)~&b2bH1#8*0EIVb>75{2XV)t z--|16ym_s>bx8TbZx6r39_>_~JeT=*KFvd}tMbO1>#JSrANS(XxG2=Yx&j6`BkMg&&#V;@{4)N{fe#m&2uZyZJYV? zH@!dodja=6%X8S^ekVw~&5RRX<@Y$z|D5}_C$5jQ%+oAh!L4J~5wD;0`>BuQWzU_Q zAKx#^zpMK7Q`XgS`MmjfQC@!;-!tlu)+6QB4<388AAjA$tK%K&UH!U`JA7&6QG5Jq zz{7Kn=%b&ee*G7G!=9!*^B-J!^1`b9$}=Am`lAQ=j8{8Zmq|Uw5BRJ-`U&f^+wZ6c z`ShzE*Hd}zVZF8!^JQK{&mJECQ64=_J^HQsZ_v;D#t%mvzlz`LC+b(;JZ=6GAN(`% zYd#)%m-6JhY1CsL6xaR{*B{1=sKO*7JMM-TWS756}745{fa9uPTtBq z+=ZJzoKNMAYAe$1opQx4o`Up4xnc}~BHUCNtB9(O(MNL$fMYrMDLciecEM>Y7< zOe^kn0k@7+@|pQ=n!DchbNcV@@^t)b;*Y_}Ie1m$ce0UW7D4+MIBW_$`@BDQw-~XIX8Co+SM)>NE~B1tz05bPS5wbm=XOHxz;mWi9zEJwcu(#8sXyZy?a_Y6tA26v z+M+$0lJf8@2_{fPYUvvHbZ9IGlJLD0;mABu|d7gPmow^3M{?S?o!ZX0F6L}uI z?eM7e)erZZ?_sbn{rqOIM_%x2aOIhwoR4Ei_{rWml|0IM(0+N8`e{86h<)1gY_QYy zy4t}jxX*k3W4;r2TzmY=e4)JUlR>|Fj5n|CS3L7p`p@`xenxryN`05~E3UkH`hC2l_L*E90Qf&6Mw4{;#RioD<1&{pN~ch6xb_3Nk4d%xcz8r+!ONhQP1b9diMIQ^h3O<-+5P0-s}0D)m48k`n8{R*&MIy>w1aXuk$Vb z6nn<`G~ci;Suf>@v#hWBU1#4{ns>1`^9Jv7{#NaAT=F>QQ=UdY>35jta$-F49P&u~ z*}RDTlk$WAL|&YEm~YT;zLcNbg*)%&HRbhh_{cJ&-~9E6Yvr-S_hYN_10FrD2l+L) z_QRtl^=K#k<~^W!_0a7(<4fe@J-)PuH}<#V_q0{qx-c;hBd$H<^XPfd<$F=dI%(4R$gP>rDD}es=hk^*Ht@Z~SYY`j7PMJa}JRJH@Yl*iQ3( z`c>Y1=e6rY9zElGPtZTgTc1YUcyoOVzf1IJ|A@Q3&cAW)JdE;(L7)AaN4#&|QNR7~ z;m(hFmAvTtw0viWf0#GS6ODaWg-;dQX@_660iOr?<(ocE>;HOU+;eYp9!$J#;PR{T zs>_+@M|@RYf2VEW{#{|-XPck#U(Y|9__6nAoeysPddhv}ooD=GI`#YEMbwcdt{;I{ zaq~HTv#4L3=Vs;ALp=(vA6;}iqF;XpU)5vWXutK{x~@KP#_xB5uB-oUg6FD>^44Yi zRbFv+-X#wi_{PM0Y5l}~Y4jiaIMcuVx?awcxZ`4;GY{Iy{1oLKFZO3X2Yedmll7g^ z)3lTMo|QLV%@^YO6?zu&TFdu8)^iW9%B!DwFphG*I`%vG!+Jx1+QU4|;`#?XsEzn2 zuRk-cNqOy%Pl@xq|2{(zSN?IgZ!zALCy&k}j(im#^!QyvzDq~XN?z2zJ-;gAKVqKV z@9mvD$~^y|%fB_hI?&JWX+0l%*spVbrT(eoXXjM+k$;UIyt#+w@!e09!4~^?(eJcm#(dRxm@2#jO`uX}P z^7#Ek{@+gEUc-~tfj@0K*UDAzf7kU@>ZbZ<`bmB>E@^|m;(1#0x%|qupidrFeeR|| zpZ$m5XNl|A)^ltEEP z;Mn2&n&A5TMYkjUYA5)aymixl2l;Kp2VUVhm-R}%G2$zJ=le7HX%&|jIX~i8eLS8Y z>d)Dqjq753TYuFfA49&0n}-~?xbh>IS+Q^(Njiw@_F>j->^S_KPVq{T)(6L z$F$n{Tdt9lcZ5eBxPQO5dEcjfrQ>JcO;Nw{?^8K`@b=klz2Pm^A^MX)gh#1IdtRYO zocT2Gr#^!Fe#3Ek?y|?DQYW;>y1c`q@;*p;&s999(mwUP*s=flFhA;h2F|=YKdD2? zmHrEEf7(+A{o>{Y&+WuLxAMD~2|exD_1G5mU!k8mnYvTK z@xRz9->3deC*AAs8~RxP^sB#+k7xTe4$xD@J(u9Q=+RE}Ov+nN zsWYp%{)peZ&c5fni(f7B7I_r?&)~@)^uO7!^5gtyr#wn|^919a#kHS#jr{{JioElQ zo;vDb9)b_^96jc<%Ub^Si@g0Zj`)LiqJO#R&&jLYcWwH=^Wb_ZZ+>+?#r0?GoyE12 zbve_oJ@(6ZJa=m1`X_!ni}SqyZq**Xj`DZtDaso!2j=UKwBl30u73a@c+{QzN_luu z_>#Ox{qiXDHhB0Fc|7McZ?I>OU%vuZzt739Df~Vf^l1MczuMtZ zXXjMd>GwDp7ybMFul&!p9kECLVQbtve$3B)(s3zYhjEFUU!n&&`mV!KW7W=%@PG2|4`>9TAgP!=Uxb`bw(MLb^)UWmXyuTH{LLR?Pzs^7Yn|K`TT#O_ApLveF{!bnY zZvMlcqlfX_#m9>M4sqfBF7Nx`Cwn}q$&2iFV!n3pDsKE7m_KpzHG1;zEhzUM`sGmr zUn=7AD(cDlntsr0y*~T9KkMNagFJP|eeZZ~5FUknh2P#eRd|&Bp}&1XzYl1+Z+_2v zI-mO(x%;=}_uluJ@55(Ge=ht=z2NzGsI*7?<CJG2e~)&1)lWoDcrvdG_DulMXJhf8$tSXIC5Sq{W^}zex37A--p4!H}dLATWL3Vk^HD~Ek9~p7h3PHTyL~(xL$_q znd{{{?EXt{r+@41`Zd>cZxffFav!|B>esgB+nfjUcZD1BXY;|h{VvPa`6$o3{`fue zUVDx*spp72)SV`-U$Z`&xOIp1swbXz9ci05dX0xw-1>{Y^s66{kLOXIem8OLBz|J2 z_D~5q^5bvyMo=f23lE58cwa=gxy=UUncKH0Bv&$##SqP+RQ`Y!H#QqN~` z<cagv4dBNpZ_jwL`{!#oYd0+k7`4Rnz)9-&Zzp}1`Uty1R zCG(@5$J_Jbyjcgbu7#iZG2^-eH~#I^v53c zgRjaPXT-@OZXG91f*VizqxPsD`FX@0uY5`S>1PqYx;@_TH1}u7PwLkm<4~M=^qej7 z&Oi3QE8f)acp29$u72hr^Xz=WLo%PrgV&o{zW*r?Ptk9~V;S$JpF0nXYgW(T57Dpv z%+nrzriXsguXZxt=6g4;{dWs;UL@~&%s7=-595lw<05YcS3mpCYTjTT{r)_BNq;@` ze)sV3AN@)F@+fig@R_{)NO|pHyx~#S0qkjCF(1wgczBe0-|KQ`fA@DE{7dv8XC1Cz zfIpzUhdg;Ubss%N+-v3KOX^48-gi^w6Z%t6>DPNaD&M8kpS;4n9v(tnHjg{b$jhUK z@xC>Wvi}!@{m!%RJ=8D$4EX^s#{qXf&F}Un-!MOl7k<{2x5drxqx>FjJ{skX&#WW% z7@s44IgD5P#pOSa*LZf`@DtzX7|&Vf3-qf;dE-<69Q6~=@ptDzyNpZDr~G>b`BtM& zjjjA$tydLGeo_F}w_FW(E!hPjz#f#5#e$~G1&&l@+_M5lNN7LNp8u4vB&*Hz~ zK748w=i2k);LacCdkghQ9wzVF#C_lXl5vV3`*k6%Qm2dq)-QF+x`rRyuit0uPpkFO zbtg|pUj68)%BvrLoyCotJMieSU;MbKN8W-TZ{q5weoiOm#kd4-;?{lit>W&(z!!1l zu|N8aZ{tdN`~3&wb=1$ef;$h`xi>${O)cO5l(!CxJI~HP{;Yq5w}>mxc&mB_f0)GW zmvuHS!r!oGQ@``Padps}p??c1i)Z;mrdYE_5wf1;a zk^kr)=4o;B?4hsI`lh$edjT&aJ|VY*ufOBI&%ej@h(GAK`{UFX>)vag({Av5m#$v$ z_BrzC^?T`E9(9fU{oAeiH}4J6xA(qpk6-!zA@$O6eSEvW*l8Zup3>#QuN?1)J3o$_ ze4qM?yzeoBYtJ6P;yp+Bp8X!N-{;kTHQ@5Y`os9{_f+P`%tPtFr-L5g{2fv3;fB0o z#LXA#m!FtV#no>dj`$_^IPc1fyDsX#K;HRM-uN8#E3Y1(8{$9f`2_vylV`au&WCvj zKh(eccQ^c=d~7#)&Ctqw#&$+-Y%BOW=qX$`+GV)E?cmCXpYgrc^lhJyg>yFZs^3@o zzTf?z-#UADLSLKZZ{cObVsN+R>`=!oQar?ubMcg<8U&WQzuTRXE^4PN{zlU$?cfRiE zcTdkAzNp`MWFGeVt&Yoe@i}qx7Wk}w<;Qh#9i1Qj+3_-;@{sT%@M+Y~dY<8|&zT*{%wqI!=24~V$$JC(lSjC(4Zot_J$}_*F&@W@{#}0cn;m)c_@Kx77kkj}KKX3^U!oto z9oIYaEB4djhmPxrey`;Zb-)Y1y>lw%wNpLDgSdL$6*nJ^dPdxSjW_3C+&nen#m$-hX{KS3jHJ+6p^&9`%WxXN4=odMca=!nCemn=X_WK2Azx|d;d!qo<=|IkJl`UZRmQu1+Q*qZ&vl`#GxOv7LE_dr zB7Z6$b-4xk{QUQS@SIBhNBX(yt@^Y7V7*e;+<(BAt98)xnI~P(EUv$UN5B3; z-3+c@-%*!0?bomI*F8M;>+i_NPW4=L`!g=(J!f!S*zI{h^cy$CNAz2-A9wwWdejg9 zxf6HZuya!n^K1Q&o~F54>&`sv;gj;tC+kwh zT^IBearz4{64xG|6W1R7L|i}DUrv2JjW7RRB=%c>>_>j(HTLJ6N;}N2@+ikczRml% zffwa_C;TjRTOOre`Pk06Q~tdv<)|0$%A?jV`~2j)EA@Na#S^`E^5v<`lJ+wQY-D(z98_YLw_-vgSz&v?$xIaTtz<0;rd zz9046`CYnpvM%NL!}E}HSmhj-{w-ekJw?wR9{UIR5vR_$-m3RJ`0wN8j(N&)Y3Ckp z9FFqF|9gx>J;tZ<8YHg$%3tuj^5W)wRt3$-|@Gzx{sd7U-tRR_rlt#zf#AdXTXc{Lw%2aXYGA?oY55ICA#dp4^D$mg~$ooA=>{rj#56g#Nsiz=k-Pg{-?$Z8G`IZ0Y`#yMlg?IR! z_{MuQdCb@@@R+f!;A6XikL|jHFW@unC?~!R&yRBDyY5%p|LW~Rn{j>vPFs1uu$ouQ zJLL1k_b2_iLcPm;eoTLJZ~gAdwuryrKJk`wGuMr{3Li7hh@Xa@{M|e28(bbmJ1eih z(5@qX+3kwFdpI2_2vC0@;Sd^J@WU4zeC>V$>%wz;(6aYl;0vR{(ir1ufY$r55T`1aOzLK zr(#~L=gD^?evKY+^yi#P{5|A88|1a~)4?9_@(H-t*tz$<@6PYleZKJ9JEvm5oAaxJ z9WQCsLml7aQF#yOJUIXIDCY%z?TG$+wDN?j9lU}M_PEc^d7$>2cd#RT^68*QdGoUR z3%|F;wcmU+_Pd9hcSd>R*?Cj{9&R2{kK;0K^(*IF`DvIB^&4LY?wjwl_Y(ZqwD^nu zF@N3h`A@x_XdAqv{YS?ut$gKe+mY|wb=}}c%fOR-Zr#CsPPrL5+lA|O=Xv?oEZ?G? zzUkxldw%Ds%pEtc`0tm>i`*x#DIqWqpc!?-r(oj0Ca#hoAekG%7*z495?3q6r{eI2** z@*nJaYkBMq-}79^{?%_@XB>4Lm-dUB&sfKN@1&f0P9EiW+&{7p%J=z?iH|q5K2KiV z<5&4^%6{cJ>KX7V?z+?O8IE6tUolSoDu2hvc>I1o-=904iShiF7W>MfU*~%&u00h2s?@Gc8!PifC-g<{UIj2G{eCK22vG44C zAM0B9nSbSr;T7cF;L5*5KXybv?{i{@{k%Y4JHz7-XK=2~3))k_jbr8Q{|Wb%|Igy)wNcL=ZeDPn?e`LUoaYf&-gz=Ul^0jP z`Qd?{#BoU^Tj-K&Hl;rtp;9RvR=gVq&)i`{~Z%~m+uSx z4lDb5tw+Y6@%I0-_dZK@9ml&R ze5t>ZuP$ypqo2?>4$;F02xTBxy zzbxGNmF=%^_=s{)&hl9BmaJ!arC*bsJ@uE{S>KXgPi5PUWM8}`{Z3i@c)|QB zFK0RO3Hio+;qzR?oqg(;C)h!5=D|nc@UN=A&qJK&4Lr^<&qa}s+!vg~p7d>}op>Ii zUG(cYc7I_fz89T)jL5T;y+5etU(W~pA#l%!{6T&B&j)ipLf>;^zE=O5cv0VT^!~Iz z=QjFp`r|rc zr;6(*^AYpuxbVNIuO0L~FYX)P^Tz#>^UV4T`IYO=IDDEj}y*3$NN6|^K)P2-_Upc%%{Z5&@22sME^}BaD1LhJ7w1UJw!1t z`Xj%3C)x8pD(qv&`>2G+=VcRq_H$Fg6X^d{^C;s*_*v$kJk51s-r~91`E*^(2icDH zv%Yab``S5&a~|Tp(ReLx|Hd`rKj$pwU%%)t-Y1>rynCM!&ljIf+!fc!C0~Vp!mE7AJjXd&;W1v%CH7*x`t!l`r#deC#m`~Cl!JGPn_tOq z;eX1%;ivr?2ehM~+H+qSAF}_(C-Cs!`Da`)-lSg~ul+Kf*xetU`?%I5#oJyrcR`r3J$vbg;*-uS)+apuR*I|Pq1AAW{C?V7(n1*d)7-+YpA z+Ig=Zde{km<$8!eO8v?^=%1}UL)qgb|>1|ul^W+ofqtz zpJTjPU%T4-C+urS{W}TQf6tZe#cwA+ou3u%d9}a7-%8)OW53$hj{avmj#od`cmIfc z{?*sM_{R9Me%}A`!w=B+Jd!_Sed?_Db3MiPP3)(5e)$!4kON*(ky|R4gdda#((l44F3eZj7gyhLrG6uin;*%C&G|GwAw%E1iTz@~`hg5T#mTen z8RPW4U(E7KKjy*yXczPEyivdFzw5>PukhGct{3wZ{K|P_o?;%HH|9HVTD(k8pT<@D z_g=s_;5j?dpYx<2?h|>I_YhB~zUQp{YL>@$;K&U*5>Jp99EmSjwmwViUzHsAqy3)z z&iHu2c+uNZd-au#`ik7oNc9i&I&wn}WI_6#wfz_C@huYG<>z9?4o=?jKFj;Y3Lfuy zAE6I_5cj?-^o<|Lcz^NFv%U9J=9l1G)DQ0g+^2VDyC&}WcAtuyui3ZSkME85Jg9#Q zf8<@yD4V~?SCKc(Umr}pz|9xPW**nR=SP%IBkn ze#|F+#CtLI9T)K<=2QRaXT@_?c+8J>^1Q9^G@oI|xM;oeX&HMlUh%xX;;xJHknk$5 zpRA9cd+`5G`(m| zoc_XppEI}b*GIfd{=~h%cH|r8P4&TpMAE8~(csRtj3c&dHtjlb8$ z|MC0dkN2OyNVq)2`0IGZZzp~EmFHIf3V$!l&N=(+;~1Cu!F6{X^~e41{M}((p6iQQ z_8uYLTi!zNKGJools~4O`;I(YF2SEq>F0P3^1QNBZVRbimLu88^{=YD({Eq+J5s&n z^+Fzhm}T=}ymv8A5ubbxR4?w)pM1Z) z@kTk|2@zM|>5-?1AMVS@Bg2k7N~u5E2fw0EUS8o?n8Med|{}c@Fs3tL%->#`t%>;QeVHaKI5qJCFcRY5WK~CCQb)m za$bzz+EJf*F7hA!c!&L!arEPJ>G}g+)o1*^FAhKD^YYK%&`+A5A-_ug2VbH;`Ap#Q zsJExx@dfsiete$9c`4|9hIIVk!LQVRbLttNf=7WD;#c70$KY4m2anHLiEDpxPZj@< z%{U`pKS=(+fuG(-*`MRRhrYP_CvfdMF7vcy{jAB3^~O`}i~nQNr{DO0Z}s%kIIA6T zd5C_V!;Qb%k$2rr{)np|{*?J=yw13GvOnaFydUCoy=mY2`y@VpMmy*K7XEt9yoYif z?oj^-$-anuNW6-B2;zd@kGYel{l2P${612ix141`Z$s{j_D8b!s>&nvZ+X?9^;vG% z$?{l?!}hs;Px|V$gxjuytJjmBU_~p6h{6yaLoKYXR@qqfkJ;%t{_nss2PvD*_rT%USUW}XCu|D%F>;Dn^>M8GlYgb7e4Zm5J;3w?A;F;=Y{B|0bcEs(E{Sfy- z`X}!)jyoRhkOzVf+0JpfuWYA&I*;-HSH^AX%~$zzp7D8^59j#2PxOA+^W^#2%(q`p zeZP$mI!c$R#tT~2(!r~G`3JZcc<{C^&C@3s6tQuDI+S;iytxMe>-U+Ax}KmEQB^Q`;T z`>yhA`WfH*3-4;?SRG%k?Tg7wV_{C*#_YhnQEz^+zeL|Hiom9`mFB z$kn*2^QJ%O2cOYD<|lCHK|jA_ezoI#%1^X||1IllM}O28SKsloj(*RI>k)a(e)R|a z_&+}Fn=hW?zw`FaEXRG6`uhLtG+zA@*N*#59wmE{_topUk7QpKebU&M{i?@zsWZ+nM!#y|Fh_3bq4y{C=5`02#`yqzzX)c*L9%d7s|!jHc2Upva0^laCzY4=F&Ei1QG{fqCfr}|^jZ~KmY@$Hm5 z^4Mot9&UUe|2}c=-kG!w&I7{#BmgkLM5G z6}ab>`ml4GcGhdhbA=3jd6&3;!q5EtSMZjE7w64*pg+IG590vmJ@|n6Vw-y7OZ3t6 zo@9jwA2VP7Y_<=6lKXWY5)X`d&<^c}`r^pI_0xXUcU;89Cayo)cYbK^{Yvm0?IYt} zNc|V+q9P#=_mQh zbDQtGn)=$;uZ&+z`{P&iW54)c&*9Dwc8d4o_NyKFmGcNs2!18*xX5EA**6XaUu9gu zyPO~9&G_W`k?;6?7HEC?&1`SJZRFc6<=sxXCj6jmz2z)-^cr#?#ShBL z6>j~jk}dgRKVyMgpQZX)s@Jh+{W;uvWo~y4xBi^$X`DqrU(9_{|2LA)&-=Zw-hU3_ zqMxfUFVs(H=e~S8%k5)u>)|I6w;s&;B5&by^AW$yU%p3FCfs}T;19+X;!fmc&o^-- z_=$0a^IX5gFQ2!J7vkDEhnuhAXYqXz%uoEj32`8Jg8BM`=||wkllSpYf6SNW7w1QP z?3awoL$sq^?LDI({UJ{VkCK0K&lkLoviUIPQ$Ot2`4P8Y{V^|}(U18_cAEB`hYQ9d zj$NOB-Oq9FK|UF-SI&3Z(Ju92hxX>HsvZ5YfAKW`!Hd*qegaSPbA?}_AACtW_|hxSW+34gSc@2SfCi_fv^ z#~bwPJr(VPS3H>Yac?5;x({x?$4=Z+X}_R%LW-;JJyq_vqAzYg@(S&U-%0juXI!&< zPG6pOfj#Cq-XGYnxN%VX*4wXT^y9sR=iGLAT+Wa4;5kwM9{#1c8t+AJQ*V5FNLl_% zd-;?9$0g6M>Ho+2x3j(Zb&xlk`EwyVcy4EVapelP{--Wi{;%+J zuln{YZoba`+plqSpW7T3Px%J)tgcU>HZ`tC#4CHPg=|6Nb@~-+>_w9_S-4-tDp4@enGwV zG7r%&pC|LUj7R#Z{tCa7`m>$5_Vs6l8&BO&jwAc;d>WTsNBU_e{7La7-oyT!dgG|; zNIT=VpVRa6!@;wOGvg_Ckez!5zaPC&KFFWu$(G9ESsshLoAJN&vg39fJ*u4 zP4V2{Nb6yJyCI(K^weH^d%`!%FXp~GD66NGXSHvpp7*7GKSX&p@puo!JyqP_KS}k( z#W)A%an6mrtAKmXjB9aE;(4vpe&EI-CH|BXe$X!XgK>g*6yp#lzBK*(#kAw+HLJLB z0Nxe;+(w`H(Bu!si(9k)iXH7~AG_XvN8UGHkq@I^^OyW9^O?+x%(Ju$I|&c}#j&%( zhvPMVVn6h~2Lq2dXnud6`7=IRHm)!5D(?KqALKvsgA3+goU%MB?vd;dxx&x#BK;@7 z6nT#J-^L&Lj5v9-ifbq9yWZFjedm+$HSM^L*bCfsVgBO#tkh@ze69-KrTxsW#6Owi z3*O~Cd?J_^B&r_8JkBaZDl4sygd@fr1`gxju#l5Jw zaq5D4?NrJMkI!SLe&h2+_RF~9|Kr5%m$>EgL)_097gze(AMIpZJMK^Ykza}HkI%>M zE6#h&^KIti)|5VnmlNeW<#7MFFXY+Ax2IDto@c(D<^4aWEXtJs`iog_9#nSq7INGW z*Y01c%;W8g@vrbaZuLg8b5lIq&GxL{=%*uFlIkfd^&_UY7e_fgDa@QVfR^IPyD z`;`x9=Pm4KT>TUE7f5mWmE#1Dc$D!IE8^|pjp%0>At`SXAN=eu5X7A6Gc_p|78g_jAT0j(+eT{h|NB9cR{e zpIEPb?+siR`I5Nv{3-ruhyJVQ(s_Aj>iL}HK9J7@?)>9_`561|PjT-d^jrH6(RZHT zpv?LIfA6or?RZwiui*A~SVnf_Naa20*{+ClFFU@O=i=a;$WP2a<`4OjpVx?U z2*2{Vrf?qRZE@eldDeb8aUO{m+K=Z*&b#M1?z!MWfmiGhH-fkL{0H8CgP!s1A7;6I z`F%g)c};!n81I6&7{{;^{O30IjAz<0ZyFc>RNVZC41bKn$nZzrf(%@J`JVj8IFEkt zA93wxp7Y)ucknLC-m8Tj{b3%ed@T7>v~RzT*Y{}V724GWKIAhOtPAbj*Kz-#J@qXk zoBT(5B5A){=Ss=RKcUPuRl+|-`;yO|F1ai)80hyand*c zFL+duN4bt~&GvC`El==!6@H0*?Uwns;!E)!O8XbIzlU`G?Z1#rTWShzSFL!_TpJq z^bX`^`)}ttYRCh=)h{PrpHJ!Mx_o{ye|kO}&ozZS<2jA{CE~jLYrtpX+#8qWIrnD2 zK9~BO6mgXJ6@1A!DsPgv80X+Q@~()N#v$T}{V4~y`9W#C2|Fj|>nVQ!9C-&^f8=At zz2G^NBd@A&{w2N!k1}5ykL}m|3m*F7w2OXipY3OT`Hyj&diO!(aruM1$UH$lsp94r z?75HPzD54_IrC^<0dL~T{t7SZo6oS<*st-v27Bh4$fvebU%rRF``!QBlothGaz1J2 zb4h$Y%JF@|cwJxdkHMXP{o!22yva9wPv`u+N&AP$3*;M9dJbbA3b^Oe{?L!lN6}w= zf5Lt2CcMc9E>itH%KB+P>We$B6Z#j(%v;3Yn)MMcw3GF(iN`rl_E$VD`t^CicK4=V z#q;iZ`u}yt4cA|s=eKf;_7A3veyo=#TQ8qt|HS|8`Q9PL{YLyZPYm+Jp7O^zye0j^ zd~*ixsos8++EKnNTzfZ_9e=YQEBvPRudBbOd25vWHSv+gaozHf`mvq(b>*sEOa5zb zh1WEWPI*su#u>aV?AY!|_V!e^y|`tcFY1eVe#ifwaz`HDajyA4Mn7l2?-MW2knj@u zSmQa#{3q{MOc_R3g@g5oc!8mf7?c@)}pNNm}mW+oT`4)UkJMsBe>aXy$ zI{RJOQ9thA?j(KVqx?(0WW1G+$#aa)#NoLAkuNFLH@_oS`YXI?$GESQFPTT+O|G{* zBl17{Amdg3BcDJH`HcAcbKZjgToVs|buruPPuLMB-v(bwc#{xhvWC{KsFRtvVzNNDD z>W^esTxq>!o+!y#rxb0q+)P9yd`DOW7_+$HA|5L-W zf0lQ~rQ8=c7yF!;T)(_jKmBN}LFO^%(spNcoa^ z0~z|pdt~q&o+Ev(mPZ*cgO9;;q6{yp@*m^3d<-6a z*Zxo7mfxJ^CVoM^{fcYHaaHt^e#!dutp{r~Zexa&PsG2W*5-6$Umd@OMFl|9)JSB^#f zp9|No>q`C1()K;g(>dJwmo4`+&x3MHxcyphS-HZkzpm8Ib>(&K{#5nOjWhebvo1ZY zQ@iGR+3raC;yy=Jd6;qG55$w_-x3Qnj`utfr@5E9f+s#!v_l-0@7ZsWXW6f1^}Sybmw$;{zCHbo`z84p zdBORWZ^gZc{L1`7{tta|c-dLLl=D~SOXSbsMe+^W1uv2Zn(yRe+W*-c@6f*bwpgD=T{%==HUqd(R^2B&@8Cp`k!{@b%0`Bys|_``)A^EB=K z9)S4V)CKLdZ$8JapW_PtAivU{d_y~q_k>;b;YG23ZC}vyp33=mT-tGdwD10Qe(Xm) z+tI$f$9l)>{%8LhCrZV?J5!3sa~97#{vMF=!h5|z9Fk8d$Mb2=`~GdGpRcDJUrpJO z2mGkYlfIet#??lA-BX+$l&!aXU3nyXmThlY`Imz0?{%f)x~|l2XZ~y_{;K4vpO=Nd zD!;SczL>Y4I^L4s`YV2<^R!XUdMmu8_D5=Od4MZh(ktK1_!0cedokkA_P=JmawiTM zw>t4lKIVN%!87GW@3M{;NOAqNUOqbcWH<5#eI(b$%EYA+M%C#evseD(@ym3 zyk&iH`I7v{b<`jElIw;4aV~v7&iu)5ywCM_K7&vCeDQPqdx*53I?KV6nJ3SE<@ut* zo0P}pY_}123UctASgBX~`)J0u-S|cv+><;g8!s&@SGe`cjvdS6Pqb@0?I?e0xPHAV z>3FXzUzH!))epFw-d|$L5;OZ;S z;hlDVE^K@^a2FVI7Zw?$m6;MS`@QarSr_4>lDxa|(~a`~r<>(^^J z_tTF(4(|uY`U38KSR-zZ%elYf^ZI^X3BKb0KNfgLgEttj3;ExB5cyA$ zr;(?d_ekbLc@zEk{xYO~m~WAO4l17Geg4M2_hRO`$U`T_iF6$Cc`%;)E8_{?_4l*g zke|rIkfEP&=Oywid@bzAbL45-Cr``Mf)^z`?9*NzSROOZ6)tZ?24B)2Wbo@1kJ2A` zh!-X)9%8@pBlm%R(r@q_dDRDmThX>-$3A`Xkv{;aTr>`TP6eFKs?n>%79RJHA!>SB+oS zzdyI$zBq5I`C0kfv6H3x;v@C9!fkg>HtY@Lp31iGsoru0S5LVo+;UmqHQ|l8tn|L$ zINyl#J}>*ePFc8*3SM9y@xDubfgIrSk;q5tKOw&$<9;mR+VS%v@{izq@;`XMFb{Gc zBhQeJnOEg;F`m2AAMY8WKkv&-y20jq_@(tSg9yq=?7JeAt z@1%Y0c<*F?*o*gZ>ce-IxONS-*d%{HcxW$MUD0 z*%#T5vCzM+-l~0D*zE~d@22>`j#4{EvfoqLdhxNSzbUTW9eXX=&3LDNg&)+9g+1HX zML&DO8)e%a3%lZ3Z-uKju%~RPKlQTQ(L0h{;Wg!nVn2MpMgMN*7vE!Ul(+wy`0?%c z>*Z^O`e;wtb^|*NyduxxJ9_qeXcs?*{P1_vui|@D-m~~#rog|@p#JMEB3FS-v7um2z{h8^o%33r z%(CAnIli9d4O!T4dH;xa_EAxCE_|PV_t`Hlv`@I($DQ*cG-TfEA780|8I(4w?Fl?|KC;a zX`eXGw!p^%x1DmO*B0&fgxfyjwqM~r*-`(d_(*nae_i~beM@%4m6iID^u&9@v)-QS z8|6;?RDT0k9_raX>HB|z514wduo3Uujn_V?FZ{*p6u|hg7kjw_=fz8Ebub(v)}jZ?*#1s zLH;&xqc2{luM6D&M>p^9=6&?V8+Zq|T)_2zr+oac=~wx~l;hv0Y`;hPUg|M=@S(WJ zlkdP|n*8uS`trdi*gJv4pHAHS%HldXe#SeT zXX+2;zpx()`=BrOxBKTne;_m7!Ly$F;tf5e^~xjJsg!g5p7d;|zU6`5hV00O+>r-z zBq^?JslHQQ;e+}kN%eceZ>pc|o-1qrx>9=`KW+Et!tFmx{dp~CTzEYXujirsKYy?H z!RvkSL-xT)alfT}<^Jm6-peRA?qNE7M7dMmzMAV(kOO|!DDO!14*8pU$ezkIm3PXU za?x*rFUfo5qmFYh&UR)V)K~V@&h{1DdgZ>bf4s*3&vt$t*Iw^~*Zbi0Id~lhUdMsI z=r}M~KV@62XHR-r-+JYK#?F!KHOjWPT$7za+4^H)N4-w{p7b()P_MLp16Stz-GCT8~F7;c)br^?}OLpz&Oz11ACGi<&k8gd?eXZ+4_tR z^xB`OZ+q?T*R*q>XSp1Y=Ck}M- z`$)1a^1k|6?&w$KX8ZK{Lfff-sE4#(*}!YkJCeTT0p3!*<(leu${X@XvM2pUxt_sS zb~66D{5qb#j;F6Ko_bC_XFZ+YbNG(FGV2fO#k1TO^>u-_1)lBZa;M!$?RU!7ACz0d z2W6#t72LA2EO6`VqJCfCV}Wb0FY2|I>nr-ogK|Oc$)0-sns`fk2j$#;Ec9%j^;fud zR{A^rsCOiPR_#{!54B@^<&oy0r}9eAcGh24=605qeKB7x&D%Nsk;dWsF54CA_oP=- zS^b{yk;>}r30JQtJnJ3Q`~L)%L&DdhjQ;ND&aY{|qNi+&cGe%%59FToJLPf)Z`2Q@ z?JOUQ_PO46O53TYye_VuGPf7slYg%o*N?iGw-s)?Bl#=dzd2tXZ&L^PkX`}yL$f+aIYu=Mn3bJ^3Nt7P$K3OucrLwo{5%?6hQWr>s0EcVtcaZGjJP>yOmV z`W0@yvL$<#YwF+fk@~Yd65f+t>vwSLkAq*tD>v$EYHztEJeLpZ3$iEuTvk8hmX+$Q8n%N=}A_HzB8 z{v2-o%a-<^rTz3X{A>yDseJsv@>sOb{o2n8 zw|*rD{p9w2fva!*k^B_j6Fw-{1>O>VP_~_ArFfRs_cQISS6?YU7XGvazAx~)@I(D< z&vH-p#FZn}AE})6I`vBRM`|aY_0HkeujHVgEPLud*B_~VrN5!KBP+5Y2ePN~L0PGu zWo2LJ?a6MVyuz&?i*`rqXQNz^E!B@yK9XM6uheg;-A-9K_`gH{-|*o70W04J;qNy2 z`z&Lh?~?}K6XEZ;48BKU@O=yMJrnddQol#Sd#c|kS7fdq;KxF$-%`EhEC+g7cJLk9 zQhB3Xkw>amUwkAz@t$z?HgN03Thc!$TW`68@5q+gSw9k<%Lnx<{XNyI-@wNiss44P z_Okv>@!a0BcCxg-r}5kr&vq?qC(Bj+jvwkb$}3#GS0!t@->%M6!aKP2`ZK_-&$wml zhxQjz{VZ*l@f|zjE!h?CN$-c^BiYk_Ti`X}>Sca=pjVQ<_@3~Q%Iamg(p%v@*;TJ4 zT)jQv>TL->C|hq?*^_?gE#9|8eQGySS-V*tNzd{CSBl?McI+r^KW=E>_O{D*EGx5~ zcwh9}7JlyFwpXfeS-HaZWM@#`7wcM*{y}*|cH~G>y$Y`E#xuSrs``Cke%}|os`>p? zd{1ljd;I+#E5GN8@0pM9%Rfz?6~D{p_j2(&c?EkL-_J1Uzo+lB+VQ*LujK>0BMVYo zX*?OJUc4u~QC5FX^#|pCL)>=Ck=ko-2XDxVEXWOcAV(@U%2}#+U3nzC=gJ-ZJ@voB zwKs0qkL{GJ_J1y1zp~Vy>&o2zTv@wWZ-w_X?=6+HotIVi+-a}VZ%O?R%KHL8z&lcX z@s{evd(t0g%DG)dUwo&m6mQ@?>5Gqq@03?~Px_6r?GDP~b)nyl`_vC)N%{xnY)5=w z=y&k3s9)i2pKn2qed||vU+Ay!hQ9SjDi6xy z%8Xl9s@Ib}@s%9c?9cWc{oHPa?+g1Yye{x1&pj?oaThcpHS-tDx`=b3#@s{k^|F|J;yB}Nr)ckCJ;=HZK(Xp57?I+_a z{R2CzdhtE^-zcwe>yK;N?+g1Yd|&9VaP24$+K*&Mye;q}@ig@_-f3Txok3Z7q=~-64CVk7wgL=y?>03W;h}&)@SN8g%p9Y@mH}D-< zSog}kOhX>X4Y?=T;TeZ~gZfHY9%B6lt{k>YvQZv<@29eWS8!#aU%!9e-viSA&iBz< zzhUR#9;hQ7-#~vuR;Bkuysz_jgUSPV(`m~1J#KJ+Pp9%bH4Qy~FEPHS-Fq#5uh8Eg zQqSLQj^8JGIQuK`F6U?0U&ggLU*HY=5Jw)iqueMDWKXzu?N>e9HSN>BXfN5R;Og6c zOZ|4r>g!KQ_72KB()!Lm*^us!Bb^`5MF$_q4Ox*b;e~QfxcWzGm*eVA{myx8l+`Pi zvz>(7&r0^BKPc}v#On?9Thc!$j~n8)`?2N9&mYT=zL=+*;%zbS+8KXhKej(;-;jH< zC$2oG@5qt#tv`obe@<#o*%$p~yj)XnEc86b2ld)-iFZ}%N5Xe-<*_KQ@R9U4%H8~r z?BESqkos?VM}MQf+74Vj+g1C?_P~#Y9r2EyQhWzjiZ^hjxOy3{=quGP;2ToBkw*?C z{+nMac;$P-JD&qOknIw_;QKB=A4I+PG|l@H^?pS=WCfRZg!KM}-=(SkKFyc#2KY!p z`g@4}j$TN9C&u3gjNfC%UXiz)l3jnN&)@fZLj8NlZOX>)494#(gX?d+&-3>L?bqL# z=J%q#=Zbr(pHKVo{*d3%kx%*i-NoNQ z#2aDg9l_z^M;?e}9_ar;gw0cAc2FqCfuL5bNB& znEkjvioX;2oc`Iz1?hQ-bCu6aiU;Zs&Ra|8t|t9KIpaHcTj(F)S#KmAn zZQkFAi{}4MxsbPud794;`@3xBv*zblJ}16=aXotKSzk8?u_wZktaPLWCTpup<#gUS0xd@TA^PyS-R`hy(o`Uhq8EGt*I_5WREU(8d+N18v&S+AkDC%flx>kr!X)StL= zT(e$%Wlw&Iw;SSh(f_`%(-->3LjN4DJ@uOQ)4ATkcksr0lKzKz{`=*W6)EpAUy7Tr zj7J5&WF9aMHu=WCOuNRvW?s8Har1EGQ}NTRk9zjB^Jt~_Z$;cV0^e6Z z;?!yS;q#yOYaw_1B(Auw`{l&l*Pe$#T=qHE_-s6{)EA`qFrFv8CET*IQa@6=gR**- zl`DLsT~F=D!oGS3^(#H=SJHM_zAXKfotK5{ced9S^HvkC-c9j+VP~ZEuzY~`)Xw^r z@Rj}wxBb4bV>{(QFUuV~%WYw|fp=s<4(^Nm+(h^D3h6!3&N=t@ZVP4e=tj8_SK7y% zfAa#*iSn7?8-GXqAZ}H8lzf2t$X~`ix-+O?ck4bE$$7> zZ|ZCJZ|Fy!V0>5K_~|?#o$ufS%tzpfhji_TV}FR-pYl0=Swp%8~xcZFCeI55K*fEa<4*;+3L;G`|x}P&H?{a^_ zJF4d;%}?xq=hO93Kkc_TU-BI7%m2lZP2MH{0T13KelhpW_!av{|HXd|z9HdXL)`P_ z{D^BGJouRU^y58J5yyV}oc^=}?sHnaf7GAP(AR(c5l7E^yDRr^%y;0f7yC;d70*-d zuTSas7fAS*@iN}?QeQtt4}RwRJv+<;M9njw-jWXZ`-wl)ew>-%(DVPdmsD zHRTKO0lp)}l^whx2U2`b?W}JJKT>+)cUgb4AA6dgM!7EV zmHrAJX}(*s+f(^S`j*veNnd;U$4LK67UgNxM$i}&e&+qcN z+)e4ZBfps!JsPf_A`-KM`+Kktv_Yik}v?s6dUV?siaqq2=hq&>U z_#F5@&Gj-)5B2{6oPN5v>xe%q{E8jMvBI17^`CjD;*3+CvWYuC?hA3}OCGVn59ir= zV7!4dU*10y?KuDVxoJl~%=_Z5FaE^-G*7edg3oJ*eHizR+CkrZXkIVc$vn;TBJRFN z22Zb^cd3t^z#SL!+&;yQ<5FMTbw>uj5_g|`j2-tw#@**g-~Y#cWq-!!0J6US z-(Xxq%EzMJF!e1NW@|FjT`12`IT`Dzrqgj%RF^x$GAj4LtH*Uo)0@I z|CX$eo!}4h1ne2de4pogguvxL$l<)n2ax+E>rkik^V)&mP4(!jXTOK`{~0^s&f;io*4@pjkOearqj#ND6nU-7ix z%v(jAyd2L3?nCUG-$GyB;kiruJouaE@q+c2cWtb%Qe2(@KE6cH{`B)V;PQ=&S-!%% z-kJCn-i5s@_h9(jeue$iZ}2N|`W>Gqef*EOrat}@^_`!$@$)n6I1lItzfvFjO?~IV z`cJXr{5qeXfU8G8ao^>>VPC}kmHUKs4n8Dq|4*==_NU*U7Wb~!KSJMqu6&qqv^ih8#&>Ts>vhE6I*}Te2ta=M6jcJF=$ocro{3MecsS z`@4y6==-_v0$wj?y>Z%mpU4-S56^Ang@2_T=PKf}`GS1pIg00Kcum;%yn{#nN_a7^ z$-9UTOsi+vjVD)FM_{`_~w@42|3 zEY5!NeV6AsJ})I-$ok;H$JE1q`yKtrAGTRG9~Sfqc>68-$xeJujPs_SRoCKKhQ=et8dBIM3db z%WuQqPiUV$e=@lLG9Q{J&4UN|PT5o5tf_2$mPfKgrJoh;=;up`YgLCQr9naXmkEiti zzuFF7k>tl=eD?VSUa+a}x#Bz>8K=IQcgz=_(@Xlh^?g~zan>vB!&m&=Md0Yg zeH3=usg^(f-JR0US@?hO)^A^-M;u+^*lGId`-eK)J8!l(?zT(p)4p(jCGP+A8J|~p z*AD%8|EIouQTs*xf2M!-d)PUFGk=YFh`dDp=+4ihsqei&oD0{5^$cF*J|M5f`EtK< zUP9k|N1lyyYF_hvd44UUAN|eR>0>5(K<+#4Uj`INC#PvVxi|eoR$^LKmu&bY* zYvUX7x;QTFe?~jkSKcBYah~Zv-VciF&lBuq{Bgpq_y2;DKe6xKSLzcN;{PC+zZkds z)^?sxaqL9gv7U1|zMFn-NO{*mo-}VZ^X5YC;91%}%VS~Zrg+CrmN&I?Q~iD6f5r!T z%45;a`j+ZDH7@=E2|3{T25|&o~#4rj#%3JLQMp zm&Wb(AviMlkI&=ewJW&10{iA^`9c$yk8y5>xctQDxaZT4$aBP*;}TpunQxePuowFB zH|v?Vc&o~@mBTi7kj(7 z&x6!A@yrv%?_!^JeXeC?8NCp3;mn@{J99;@Fkv1RvAR#ncZzrk!^t zUcbbiyomaEUZnjw-c_DrNBi)K_G@tc1dn?#ar&vhLO=Px#N}PsEso26U3b?@eR+oc ze@?#%ub+XtuEx2K!JRkyjqg>_pSRKbH>CZ!j*r3BznEpeH=e8ql;xbY$L6VEUCF7m1I2!EP+7Cm`l;Esztxv5V%^!11Qt-oEI{`@@l zuAMuz{P9m7$GVpjIQ5}#zj<7D(O>Zg)>Hpu9qIQ9FLK;`E>*tndhYsZe66$p6(05< z;3xd*U>=N*-d_!I`569p=S`e>4cz$6{50)+NWbzT@e?@n5c-VA^)2d)%d;+N@4D#c z4(@(ne|B-#9e;|r{K`BdE{_5q;_4%txb4B?UdwaAIf&19na7dFnRvfXJL61zuJM9# z%E!#7;8omn`fk$CeBig#YlnW%@-FQlSO3o#_g&6|?S4(a;`q7ZQBB_EyrCcWU}?Np z-ZR2~;(eudXczAd6J9^TPyN1_)D z!h>HWKYc!n{o{V9`02X4j^gqw&w=sOc>;4?veQ3TAmuHhN;+(qw$&+Kpj(LYXvx{pNJDa$97Cd;D zIQc#9(orlb$oQG}d1@BVd`GF?{|DnFY7cxH?@-F?MpCRwkKK{ph zL;5RkPk%z+eWiTNxSStkoM-HMuNeG_ae9wue374t$9Z#p^y|aauk&yMH*d+aYQpuG zbu^!P54e9b_4ogv9r7S=oA=G*1H2=5r1(KuSr_$t(o_Fc%iM2Y_?P_{$=_zX7jxcf zs`qno*^ceREh`6ha(M^ezoS27=U&SEGA?KRK|D2n#=SM?cB9_?UO6Y#IDCKF@t!Jh z^C)?Fs82cg6n@Bi#H%>@K%TXU8~>4K^*x{RI`UDui~pR5L;Hy@4RP}e(tM}i%0v6) zMf2bgcYeHA_zFMdPt;d&&nxwj_w}ECBJYda4|e1$`m@qM)Yp#v%8QIQ)XR&4C*bdp z=fGpziE(~CrT6OI*9Tup`rUrzKlC5?L+pWvorK4@w1Ypp^DNG|n)4u!$~g8*wqw7} zpLQNhKjk~IAH?Ok>VL$zn9uJ1xrZIrrGZC&U_Ts}v_GNG`K#di;rZ&%(Q{vNZZ>hx zBl)E7=*y$vBURkI^E33s%{Sof->DZTf5p9)?ZM0M(YO5WEMJ>nZBxHJ`~SAH;#cEK z^z}#nAdk|Yi>Vjy6V(Tgdo6MNiT8=(=*Q={#Pwf(WxwEYenHm^;%qt>@qWg9gnq0$>*;->?-_l+*uI&59OU`T13LIhs(+x@kd}We+2BK+ z{tI$n_#>`;~(?Z(J$iYukfLL^|52W z-tQO}s(i*cbhrMod-;sdg-v@az9jyyv%R0Ia)0{1Pk!DUuY3mk!Iu)g>1V==b{^6% zcATH!b&RVyKiUDW+JA(d52qaBkHPOx8T#gdk0x%v#d$bQe0Lr7(|+{_yY7p@ehVJU zx;JtBi{}+^*Vp%q`{nH4_4fUIoL_ml&o9rXzIvY1EBuQ5v*K6Vjvey~d2@AtRpedj zlTUx}{na-8hW3ikZJrL4c=SN{H$?fpMT^GxP@ z5ijU3+Hr1UzVwIZw9s>WoXgOcU!7|C2>Wmu>!^S>g{Zm3!g~BbARIsqFhX``hVvOZ|7s6*-XNO7VmG9cfwF z7P$4w9X<7(@11!z&daC9KKIQaPR8>M=dgo&U+ez1z4_03RqX^%AkJ@>vmg0~_c{9? zz~v#t?@b)uW4o>$_os1QeR&Ris*7vi=XdeUyB2sg-{GHm>IzOjoBH-kKP&wM{m5(H zKaj7@gXYt29=|u|ubrmc#XkhUJLRSw^u3>RKbV)b-?Z})c1}~OUmkoPAKHHiPCxbQ zSuXOB``7`G&siAnlD_+D*B|XOzVHX!d5ZZozMk+S+hKlo=HK^v?%yu1ee}EIg-7Y9 z-; z80Y2@{Tc@x&koM>htC`G17$zMCo1(j@|^y0#@==7`-|y+=u_U3{XO}o{s3=D-+JE* z_S8P>TdyqI#h;zHTA6R-(Lp@)eV@En9@2P@@&5NPZhy?WJ(;pzPT5XVx^Fso#Ao9C z5SPy&hxX+y@(OYIll;nY$?wI(j{G0{;lKUDcdB^`|Gb}#JezRyoq5;s9oPw8ROfuG z@M1o_%e--ZuIPK-)IXt*{T)1>Z?GqBzAv;};Z-{yVL$70Ze8b1eeZKVob9@}_b}L# zZ^Y+V;ZZC6(2n;!^dI`{KY7dc_3Yn!RPWF9GvYCRR_zm?oIlssI4$p3;VU~G`!QbT zVHbB?_om;QxbYG{3%Jka&VO^?8dq6&_j#kg*w36J$LYOpzhvIrhd!5p+unE{&rP0F zcu;#j?RXBozgqFGV@KcnXYxrGzePRxF7ERb{Hl>Zy+qAQ~ zzgpp|d#(6fmihHv{PbQ+9!S5#d#Z%T`$5M^9>3}Rm2p4#z{T_@?yvMu`=8=3{>eMy zo{IMJpt#p!{rr4Z=*ugZ51&u2_~SXzKK^)agD-*m92mHK$>%x!*AC}0^yOVA#%ozw z6Rv&phxWzqpznNIufF@i^;ADSU-*3Q`Scvb^XkLdkN5FA{6K!;J(2iEeO2$zBwOlN z|CBxXIg`W5|o{{s&R-2IsK6TWLlzLNNiewt6sckML$ z7jNc4&)0BU&TEY?R|geIlRJ8noWE>8_>XqwSLC1YpZyT}&X4=b^W%PVe7ES=_Rh}<-1F#t0{efk zPeXn;^()fPXJ=kw`Nxt29@G|msHb}Ml!N*#k7TcF2R`LI6y~EDmxu@P9CbP8&HJh1 z=Nc|A+eYXCApJzlwb1 zzQ(WPt2vI~PvG6Wc8~fGryS@f?huft}dT_+Q2K=fP|r^8*ib-VWyneb;Ser(nNo-}!X@6YnbGiC=a0 zVZra<`|eNg3E7{qpB)c)(awF=k@Gb?M<0P3Z^7M9p5t-JJe|;o@9g6C$9dnt<6Ogo z#&g%@TSNPRC zw0nk>FKx3N@%26G-$jzQuHNHV|( z>A4-+N&IJ1-#EcK?BeEY@~XJ^Gd`yc^o?8c7XQCD_{o#$-vMtKpUv_hK5p!{O5CmR zDeVk-5pl5FFM9S{vER^l-)X1Nulw-Oj{1+LUz>i4Gau)0?Z^n}^t%>VD>l5?o zc!}3lee;Ry;`%Z#?)L)jyttna_p|GMVqF$^2ao)~`Pjto&-T9G8=PNxq&zCl^*!`C z$HygQ_Pw9WYT!PP7`LnXo_F}p@fzo&aC)VydT7_dGZJI zEAm?Ks|)-CkN1G$@PYXJ)w}3#Q&xGDxORx&`W^Qo8OP2QeubTQp4Ptp$fMMIbNbUb zhtZ#WK-~Vo<2-BMdd^Sq2Kw>yyMb$mb8@9$c~tT<&awUJf96s8pK<-+ycX9>N!$&d z%=jYS+b{F!^HA_k`!zqQho8Z_oHxhkIeBlcNBAW!@3P+KkoVCS_x|^13HQ8l4t<{} ze<+?aWQTto@+~ENMgH=tSE|6yG>^aH;=`>$W&2kqT|13cpVy{T8kPn7Lf9KPax+5z4w z`gfJ{M zPl|DixTC)7>vNsFCHN2aHulrtxz>0pUj2Lr`$#@tzQ8Ye4ZN$k-{2QR9%VcR@A9IA zx1?|U-PE@~<1cu{PVg~s{cQB>|0`F<>;Bii<9FT$^B?mD-*KKJpMZDQOFubJ-Ti|f zKBpA-1AI~5?tV6JH1^wBefsl!HTN@l!}B4(a$kBbJnwNHjn|y($S1_>e#t)2Kc0^( zxc&KgkWGEh*R9#UKc7;bXPn=}i6j30bKBAPp2|EUZoV+j{5$%IU$x(X|26X6DOdMb z#@FCEZ%zH+QRc;rUtpiSdQ*Pob8_T&>fp>vfZ7eZ@teU+VNb7yZ@<= z=S%WkjPsjmzZ!Rq%kUWajPh9U8|$-N>5I2B_OhP(%1-QhboJeLk7s*%k$Js5nE0W-^L%&W4Lo@F?TJ_7aPTYm@n)PqO+Dkkd?wb9 zeh%!oPov&^Bro~pv={k^{cBtw`s2MQen#GLKk{5L^t0k8_RNowU+^<<&Yylpo|UiS zXC?o}`My8u`V@hrH()3*7zTx_ghcvtJ5vQG1>9Vmy{#4Dd$$HvSImG~%@V zY})yp@eof#A6(wI!aMfuPyV=p5B!&R?MdHp=}&=2*{|dE`Ck9E)Aawz9EbfDan4K4 z{=jctm%+Jny$<)S{OXtNFLBztzhXbTA5K%>{i)po9{TV+@y333zj-b;_c`a>d#&zy zVPE=OvWc_Ly}vS^*q@)js+ZGW`;%W4aQhQ)&!@hhvzJFzan7xuS06k2@+`2V2( zedK~)-Sqxy#jjTPSB2-@xSui4eu-Zf$hW3Edw=yV`q=S&7VU_$?*qra=OObh_kH+@ zzVRS<2)O$@aQT=#D)EQmz87~M#4TfI#jjR)@T-ma!A_hL`+b9Yo^OLkfyeWP^Cj-S z&whT0J?%ShcN1>A3U1kc)OR1d&hjYj>yLK+8hf^rr@@orIl%n)9{Lx^TS)tJ{^VUg zkI;|t$GqBz3;T;{C(8k!$?`bEld^tAe@FIY_el1v&$4|p{WN|@d^gT;E`9zP;N$bz zZjkqmOYE@U%_Eihh<#^XKtG;a;V&J$ou)nGrSVq&6FlpyspoUJ^%2jpbA?~sr5*J< ze)?Qp*iT*D{e^zFU-!kGX|IXj#y)({dw^`ek?-_R894nF`!zq_qd)Kp|B)woUlDlX zT}6Fy@|*cuKH<7;>OY}h+KrU=gH}&O#*csr}@j4IU>J#^?cI+42ew`QB$Mvd?AATgi z(r=$%cJ~|W==s~k;d9=L7WZ4?W1&xfoX;n0ot;{w<_=XTh(A_gChlZMIw8 zU&ZI!-^Ko0=*y$Tv9r9_`VH;T^WNhMzrwzs?}&U!zODKG3SQxP3;y#4ezL!VN1^XN z4xD~tAIk^Iv|~Pr`y6o3YxIkq*!PYX|2;Qh2S0;HIi8H`kM-_*?0Tld`=tU>~q`g-!MM-LnF_7Z!?I;gMFfYeTrZ59qpJ0?b?f zzVGWc?C6j2{cyj_>+nC$f#ZUY$#cvn#`hIouQ;$ocoYdCm&! z68VStzOzpn@yPr4*q={WH};YHO}kedK)>(wYd)dhE8pAjK6<}L z>fZ(B-y!8^+bj=xlzQa%)&140=2vll^&bAdh2)%+McohD7{zCtaX~%pT{Gm+T z=b^yS5By#HVBQMnHTWU*o~J8(>@n@}PrkHzKj?e(u!EmBnpf?%k^^KTV_7Ze{tWa9rw5MQ}{FgIsfW&Zem>8|J&rJ{cFc_;W_X*hx6up z{Bnt%B#*>*EX#MYv_8x6V%irU*sVy*J@qHPgZsIcjX2$n%g?8M^HCxHMEoHS6=ZXq z!Dd7xESR-PON~ zefo(!MLai;9O(O=!~JUhD#=dZ*fmdSza_l6KIBFHHUB#AzMnC_8&|BaAUGu!#TSl-d)?c|4e9tQV4hCFL%2Yv1B+Icqn8St;blfL^o@(=t= zKg~bpiB7-X&$`byar!e)9L}5g=lBKgID-d?dwx7G&ZoHfKz*P4;a$yjp+EWU!G3TZ zy*F}Sx$f~f5BCrGB%W`?6OU@{e|TH$Pxm?J+I_y=5RdcwV9ulWyWR6^o`KgKm*{cM z{oaO%Kc4r$nR-=yc^7yQH-3X};&*2IEAJD{1LTR|SLPF*$Nio^-#eP;{hmeNI|lEN zU%f}a{CBJrmP)#2j{_Y%C9_U88?mwe<;}X{)+i6 z|JOg4KmK`6#L<7%{K~u(Jkas-d=t2SiMuY&6VEqs@8`JwC*#(x`|~zQ@z7Z$gN6Kpayf^L1bHt6~?KJC+x0dBU^()%LHzHq%W4|GXIB{Ej{nrn9 z%dWoh9Dj;=?e6Sfe-HFyUsGSdMvs2Yca3#uo_nSC@!N3^^PuPTm(%Wn{bGA~?jT=# zuVj4L&Ev$U`pL9Y!HfCbI0ers#%cD&#=eTrl~CXQYuXz-c6n~^=x^ZhdEbN=@{OMZ z+>`!}ei47hJm@FyXPW#A-25iblBemv_q7M>Qn71Z>EPx)^NQ!G(4Y5G@-gi?uZ?-G zPp99m&*plOmpotcUfWmJ*?nbRGVaT}Y%ky5-B<3DU(WtxKg+M!cd`G?8}4`a`9s>D z!NU&vo{tSXaqmie_q_X_+s{djOXllDzr^XdUUragJXY!KB+v4a&o?q~&DsF$~P0y`%-kANmuOr`; ziMubuAM^{)6>*R7-qa7=e9O4Qj``8~FuvFxKRpNGkA515%)8*`o8X7kyYGX4io5T% zW4})rhx6rl#gl${l=S5ro)hhedrsb@9rNsa`&d`|HBaPz@6kTt?F9bL_oaC$=F@gQ zZ&=o^JKt{~etCW_sCRtwt_@uOe?j?u|T zaKJ%W8jJ=jlgUz2O2U;OmFEFSq1iMtL4qX6LRAG$Q503GTlW>>QQ}eJQQ}eBME}0k zhMg5R38{G7`b?a$V#oIF?)zuCMgwhKI}wheqcXgm1i^W^Q+ z|L=yq<_+U4^}>Aea>yA0^Ras6pm zkA7G5cs^#kGH&hg`@-NnFVEVP7snp)c49tg`@eFnJ+u@2C*PkuA9B`l=hwUtJ;=!e zQ)kH&*3)jiW?ihmsr%Mz&rg0B{kz_t*DvxD^0fEmMXmA{c+`ZyE3Ihg;>KIdD?^Sr!i zVLs(!oBI-Q`P@cbSzRycmFHbExbxmvFY|@_oKBoIHj^(z2KkvhjDPk zuNM8^`fwV0j2GXBBrdD`^^l*z^LIk}z?<^;x%_B0u8lkL?0n`q^m;zD;|G4f6`mt* zo~EAbkDh+SDqj)-vGB>g}##(pMo z<2iC|-M^G}hX?)Cb}sT;xn8-B-1o!YmAtjkcJfB29xR^co`<}7-}>Lcx0`W4@2A1d zx1P_e;`+<8@!X^xr*Z9h(I$TVHl94JJbJ|4=gODN=atXMTjV9aPg%dCKm6VEt`6?C z`|i{u?C?BotMX5W-d+9H3!a;(cd2vE6YCW_;iuN$R(MqZVf3?5zpcyix72&?Pro1X zIfr>QuH`M^EAj~W%*=D(%5V6QJjK78HnW~9_x*eSnb-5sx5&qskNAgtjQQ)x%f~jZ z8~U|p0-v#WXS_3V9X{2;SL8g$TIHGG@~$qwB7PUn1)S$a-o|`RtV`yZ_!9Sd*KLz8 z@qBy9{K&_MQ|pbqE6)>`4gXQjxYXa;XG3q|M*ozDoyPsF6aLq(c@Fu+m;2#>>o zd?7z_{oUutgZg>&pEx`^r+PHx^t=3jpFbG5e&FBFY8M0V_=o>4QQo!d2Y)@}d~c?I z$@9dI_*FCSV~6K1M?C5lZXJ|IVYhtA^Hc4RU+HJJaL=QdFZF~kX{YtweS^4lQrtSL zo#NI<=NZ3t{H-zn>?guQ#L0J#NBMWkVJTkDM1u2(yi{v4O_D$lW>e?s2%yT|oE7CqvR3(mS2mzmFsJ6`+o z{8vBm{$HWrd6SQcUzGmkX{B9=i`wpmA9*cLs%rVY{?r*3wGj$>U{x8EGaru?{H|4QkzhBh<(Rki*ukxtp;OO7PKN-0Fd;Z`#h4Z|9 zkDU3*ar`iF&r7Y#sr#OjkneW+gFL}}4d2*i^l^U!@8^NbM^eZGDozp@_053N`5rmnx?H}d*Pf5s1u zuO`m(tq*&}jdRbPTtD^tUN7?azu#F!o_JAyKhux-;c8s3;@8~29Ibxj^YV!04RY28 zctIC8-(L(l{UyBX;lNk@!1Ed8yLhPs`cck#rlIH7`4x39enfw%oACAU5bKoj%6KAw zgzHaLUVbI6e*DyVl<(wRRe9{++?Q+rdt<4|(&NcpLbpA8Q|Y_7B$M zHhznFQF-6fiK}1Ucr*IRJY#?MAw|9^f5CIwBmM~7d618ZqtE?)`o&)BRd^Kh<9nF! z8OL{eyTACuFTs^#yvE-x{YU3lkBffBdy8MG|8J46^XC3U+;LT0d&Q^Hzj15a{l&PS zb6V@&tAWpd9PJJtazDQp9yN1)#IMY^yLF0oC!cs;yU}kyW0(H>5wez(Y%-~-nA8GOQD8uxeb`8>wI&7&39zh>|T|7pnY;2pe!+s_O>vHlzVZ{Q2- zu<=|YP8xXhA-^Nn(KErXn*CzW%D5Kfy7S@ufIAP{0X~B}&W*Y#AM5ld&yx4b+cwrE ze2n$7ZcVIvzH=c?<3H55__I78xx^{Ba`K>=dCb2b#NSu_ll&0>RQ{9Re*B$AJAwNi z(C^;6^2TEy@~iPqym@|=d}7>@uh;WmoGg;4|Qrg!sSs_o;sl2 z*5#acD^I=iJxAoV^Bwt>`}oGZSm!tWbt>bsK4C}Bugs6w;rHaX&b8Xmr{BvLeJ|O` zua&nf;@U$$kuUR;_le^78HaHqufU$vOXcK&AMu{;`6~qvS>ATX~3W z@MohxpPRqq`ZQYgEa15&A1mMVQ}oG;v|Api9{G@bskz_(kp7FF%C8pd8vQOjXC0JR zwdX^hJj#EkqFvTC_hHt(F28!o^YX+Wm>1Ty!M|pBm%QHnXNM1%?>$cy-)8ic^Q-AR z@YI#UTNa*M;W^ex{kpq~{j+wg1f+$6dJgPslH2 zyqO2*lkqR`D|xT{%=b4N>t+3{-*L%z8|xX~Mg8==O5WwZsZ)pa6Zx6-X4XHAck++^ zpLoa5S9u-&Wc}FDWBoC15-;RA<8pQV%p2EZ{>@kNJpbLT>*VvkubWvv&#}W_#Geek zjeP6+=UfZi^$fpyIG)?}d+P@HEdDp>pJ>J5ZStS2H#|=~=U0F6ww~@e)gy50mG}qX z)Sd2r3H#(lc@KDjd>d_-Uuie>QNPhXd5eA*ocf&lVZYd!b1M7Q&I8_c#IMX-;Sbn< zbbi(3U4^&k?^TcfDxY(_8}%)9-*J&&!+RO`M*QfPIj2X3C3$Z zjQz?#V_hAuesTi$8hOu^^$+=^aTeTuAEQTm=Lu^Wt83)XMcNpQ2qk|7zb2J7(%ZqczXOuj!|shkX1I ze_h3I#{G`pEa35%PsV-gki5ZsY5vq-l83QVej+d5sf)g!uuXk+{%oxmh0mDh!>`~u zyZyp%yuXMe=Q^d1$Qx<9{VM-#%)?S}$Jf7Sp6nMr@+i+2Jl~2u^WUgT$|t@*8+xt3 zSzp$1rjE<2%wO`Z%{=Y-34E;0L$7sykw4&13+Fs5_zJ#(%X2#G>HQVHG&A4ZdGs@Z zyACV(CSO8+0ayQme*Ig%G=b0B1uyb>>!|M&?XMx<=y%gTarJQRJap#G>-Kt#Yi0gD zr)uz{$#p@_I=6s3@8*RLZe8uvtquMYe)e+oE54aes0SPV8UG=EC;cB@r2nt_v+@6Y z=x^Y@w^qKpP9G0B^P6#Pe(?Q-{^34EzO$a`=R`}Moy0r%Fi^XP9O z&-lH1_k82b{TJ9}T?ThQ+i$op?mm<}x`WHB!l$Tn@+aF({5152M~Pn#+6k8QwCp z&MVJ#@bv)S!8iMd=WORO4(;mT9elz6<$>BM57Pdw9oX-9#U0nm{8(@0LGmK&r{{&? zMbuBv5#+=2FnN&pLjCl-K)xhDvu;hSyF6@he}tbb)-mFH($Bf}Jk@yg{8Ybn-t|x8 zv>A`qhhL6$aQ%#b-}g-UjNft0;CWBUIFxtaBX1R#@8-OVI;;OAFZ?jg?C z9e%aJKa%(1GmCYJ`=0;oXZrU(JgVZpcUzEO^;`6>;4^pw-_@%;cFyA1Gl8qu`nSWE z)Z3|Z@+il<>JC z^N@ZU{Su$@9_zLIJ3Peth~ETn#G4`XU;ospc;^eu= z-y8F0oeQo#H{6#ez%Q(Ow|I{4zwradk@q?kCr;8Y`rS`g+;f6k{a$0IsQPqE0^k^?}ocZxN$MrWnN2?#2H}yaH zmF)_@^4fNRUzzv%jDA}4mAozb&qL07-0@5Eq30yF3-a<(Eo1!KaGB^3mdq4#eXutLfFG9G7~sPvZPQJ&WfOpD;e^Z+l5U+_&y8)Nj|_I_`c{zUKQc>%jJE z=v(D8`WgI0zSPe2%l*0VBKga%o;O3@x;2AuJm1h?dC>;{nc+(dyvlQ+{fD8~^9Fg5 zd{Vw-eVUQCKhK@IIQ?0lrh?0N8h9_~QJH7zp6ej)xneK;%5w$dx68-iSDSSO|B+vL z4juo$VO^e&wi_4L4g7Qxmq)?77V(eKb3NMKxJIvWyq}T7?|uKailf)_p$?vX7I}Gp zgC6(go*z_s@^W~W^59)PPtZqxU-dKV$wTgoyN|ypxOM3l1MluLln2+JJa@A`=%-D+ z)-}(mv;$oJ9p0k6yz71J6F=Zr?gOHyjpyRO_DlV8AK-g3dBMW|E%saQ4sh#TmEX)$ z6ZYSu6|Z&tfM1!^&OE!n(GNU#%6>!r z%3qgxaeeh~<;2}TIFI7`tM-WN_Z7dQUvc}9$5g!XDCH~e_%6}!`rd^Uipqa z%3H|Oo`1?`m`TZDI#ns<_Gw#bfwjaiIhi}O{Z=Q&-2EM@teBAIaBh_Q~G7!JD<5e(V8E{jeq#h zLjFk{J{r&M;>wf9BQKAFk9Fn6(Lc}FVV!w6t{3rt;QlX08$H)=KesF2-^Rn^{~COv zJ>XI80FVFqJoRytM~SzgzgPSo{o+sZr0@awdT{iFN6ACfBaafdK8jz^pLN)Nod?z> zyo+@W|1xggLy!GZ&+a_GqF?J+_zZU5;!)@~pWc#}M>$UUNyXLk9J{OhM+Nu3^}}mg z<1h9&pYki^oge*MoOSd&$LP`izbp1Meplf3CvLn3N3QZH`>nWkUGkjkE3UkL<$dC> z^5pz~6ueLTnqRGF=E?n!qu-4-e2Vq@b@65w;!XEHhoNM)HPZK9! z23Nm+sUGzE?=iM&5AvROg-4+;_0D*DHtfB{yQ;i#iG1`J$M7-rSVx`z1%BoF%8Ms? z)Qe$<=V6O=oV?Xp_vwcrXZ~B@;SD@|1;0{$fmg}LR`pOf+z*SVo{--+<%=Hm%iGNR zM|dxKs=RhOzMXlHFE#lKxO{1Io}5qYPCOsryS&%>!+dV87yZe5XXTCC&&GO8;@IK( zuka}Ii0i)N&z@%)kBhkbqZ9hU{Z7lcT#fgC8FKQSNgRJQk8kH8XPkO|wTR>Qo?mTm z-q!2);FGvK=VHjM;_x}oho-9ks>sX7sPo}bkB3~opPIS0{#=Y}_XGL+*5q~fwfTPj z5%RCmW8I)$Z1O1Ug7roG1DW;+%daN%KNziXT;+|Mig)}t zJWV^rFN%Kghv3vz_ZiWTJ)3!m>zx0X*9zXm(JL=A&&5vbICakVf6;ILRnB$!`0ep1 z@B4|W$Nh0|=0E!z?YBLl-+pcNW99T8<3t=g{r)liHh%iI&x>EtZ}f0OTsv6b@Eqq^ zy!d_kzeK-!>|c5Hcpp9<{})&O5&AAh>-P%FN8r@WM&2;)r+M5@-uUgfc3-q8Pkf|) zozbg5z8u#x`Ea>;`~Hl4_&fQ0SHF4K{V($JE5~6THjjsQn1@fJUwL`gp6h|ji?%A? zxo`e2^1Jf--IF1&9{1b6f85mLyq}P_PBBj7Aw0_Z@^r|r>UlP<(+_&`eiOUoMe1$z zYu%J5iFfL$-y1uhslWdFFa3!6p7mwjW^n7b?|J1{8+j<}|HBwh!*6_UMUVMae%{q@ zo~Hh9%D)==~{^)UXrxN-e2%%gs&pWvtZt$wwfhWv~_ zH|mD|ocK~N`{!=_qF3Irorga4%CEY3ANT$L%*=1Nwmy(AC-MKm{SRo*wCaH`?ck|b z*6dgzlEiidYuPaX`p z@GHj;-r0xbJ9FxkaS~j4{9F4x&j`PIh+Xf|ul{}UHg5cf|Jbj7|332fMjPIxe(nc% zT+@&@zUzC*MqH*}=Z83R9@t{47%l$^=)#LkeuEUq)SBx{b{7Sqr?&q}P%tP|N zIBm`y>{t96J>s@U=U2vw`aP$@-<_A{@6W}rk4`DLj0Gw zcRv>Vqap9ShHntR3-3XE?_vItSGCvUdHK&qU9(-z1yH7qmFEXE-|Is5Kn=1Zfj4$|UT&sUq-gV&qLOlxq zeKww(#TlpLvL1P@JxzI@Z=L?XrzQRt`rWOA*yDVJU-@3%f$y%Re#!i?AD+eKZJYy7;EUrizVHY8lSjp`JWqDr z^=I_zkE=L(%`?HR55$xHoc{3JmAFoQFuxn`_@(@6IkUdT>EDj)2|V%e*8^YQj5hxs z5Po6ab6;d0-IUjk%kg}0lXuG$j^S4Z=FwGW<0^k z)8SXs&|_Y&{A%(1>KE8?pMK?0+Gm}uIQ8n!#jl!ib%8zfYn9*{`;DK6^vk^6;#cTPoH#GoV}6oH$}h5yQ678zoWcMi6SrP^AH3a+=k&{2dH28M zY4POYkH&Mm^5lKbZ^YYa$T{xdec5%uBl-_tlg0J>+NP<)zL;{~o=>Yx)HbzoP$5`NFS) zv%aod^m{H&KRbH#1M^FVSI7sl4-|(#=tt^Fezkx3&r8M!E}!Y(_TP{;YISFzeMkw z(Hal_or5lp9pdYZy!-Ws<2pR*@3;@1_kHH+iTl5$y`sGsZTOXSMm_9@Gfwn$@k{iG zlgBH+GOy>{rtw_mQTGRKok+cT0RD>Su+Mt9xIekzKK0FgP7_y;e93vC-zHw_W8y@d zdfJUQt{Xq&Cp?XQBVX&RaaHieIN|y5BJ*IyJueW~F7_wkGmO{#7aaM-n|f@CW9QxH z7UN3$ou_ASuSevs!PTpsNBqioP+tEr9$Y^cz<8+mRq0oG{a(ApiQ|mdelLq2&(p-! zWB=-LejJDU7X8`##;yAi@1N+`JVPGaUV+oPFZUcf@khK(5SO@jvMO?o# zuY+4ZtY5S8gJZwC*`l{pMJV^P5b(|AN<+4ww_GN6F0YT>lgYK`$dm+BlYydp+EePdYy9v?Ah&C z{fr~H`zq@1g1q%!-n)sLR~U!Y20;YHLb_vOLW|5N!Db#IYJO^ieRFS)kPfxDl{IPWn(#x2*) zpE&kqyvAq26K@qa-o&*>obkw8n)^v{Tk~MmV?I@HWBk@Xaa!Mhq(AQy_n9C2Ay3N- zorjzwIB)V3>z=sw==bUse~i82>XCOje%Ixy$cq!lvA^Q#w_o{E^rQEZR^0h9uBLKd zJ^Gu^$q$XYN8`EW#Pgk&`7$m%hjL$GeyIFPyuqt%=QDcs-<=#@zxzI-QD5XMerLPVuk}W}D{uZs z-z49Vr#+!x@zc2W93b)^4%~Ry(Z9fd#8+|TwQENIt@EqeFLoZv%O6-L^-bWO<5>51 z`*lA@{D(it!^tBZJ+5!|Z}1}dmAq*AVa&^>f08$k@FRY;*sssyciLI`l6aRdnID~p z8`kUjXq|^9&bn>RkMqF%tgcJpKeIUb+xgcYCd>E&&U}^0&A5s#XbHxH0Mn>cyF z@6z`f{o?SeRos010dnHjlZONEzvX_(_x(5E=KG0j`4#QISJp%0^MdEVZ@mWuUtS_-y+i+Iy-~0IR{Y+0-h7d9HuMtb!I5vq zvwD#?AKl_J#_fA=kIVgE&ds==eM`09{9(Vg#-Z1?kk`%I z4S$qhZ0a|kUytXS`TPmjs0p9;G6ngH}ve{ zu9tR-J1+cw2KU^-dN)~5jX&mLQIGSYe_OA`wNu=B3LjkIIr0k6o%#=BUOd0|d~(qq z_jBmePWgcTI(^Ul;y?0g`H%i&zpL`(SHG*@!E>$(zdOQbqIb57UY`D&+O&!jy0TYkRl=fs^nKYsoZ>w~{9 z%0B}q&raYA{Z$^N9md&y=6U_lI1^`IWF9pC$lE->S>B+h@T*zeIzYah#PNH1RPvs2 z`oYk<%;-0M9**l--1=}a@bIXT?>BkWCHlyTb<>cDzco(A-`h$&7X0l{o=-z;}JKmDsKE#-1yPo{;T{-9;F`b71s~#zr?5C zH=3UkUyu42nfcChl0NXnk?}#h&*T2~E$ug>ZRQ{3JSSMeE5BOKhjM{GEETYfo8E>#XO**3<9@&poJ<>X*la_rV|hUilVJbAFkhP5b4+ zPscb`ar^yn;IUs`QROS|!XD3g^8I|(Pn}P{FGhdP$EqV?6qg{vZFr zpC{!Rr#xsskLR^R-Zg`J-s<<=<^j*M{GR9tU&s%MJK}T_H%`fu=Dp<6hr_<6ym9)A zfzRUdy~`qR9+3x;R~?VvG2P-<6MFtk{3`DO)q8K~H^1i`rty14|JEVk@Tm8=-$v{E zkLZ!7$*-(y^qcp91>atxS3B)r+dnr2X2-xHshsZ=4IRon1ZpEqcTqSEJvZ_09WE@|C9_vH)^VaJF9_9BVIR~TP&GRekm*W-p z8hOvb!=teC*0~nA`~1jbXOl-ce)xlRsmceR%KW_G+IeQ4a;`<4$h;o#EB9UUB>z7| zo+D)5n5XclI&a2dnK$#n|I1IXTYpu)@+jw5Tt60X{EScM^AM-sTk_z>t$JLq$K0>@ z6?p97nmD^P-b?OZ(5l}!E`DDB-AMFRe&srtH?Psp{4T^-|7PI*)o7EKem$-ex8#jQ zeq~&phg>WCY6Fj->X+btH)EY_;?@QD)hccsr#?*NZR?!pF$?mZzxZCGi_5!cw>Q20 z_;a1%L6LXeh^O6pA&olJU|1R#jVDAL~@%*Tr#&Zkuevc*ZZB-BB=vCfv6x?&Zoq0$e z!k$|=dZPb1_F?CwJ>uwzJbo!ZU$jTReLD0-zTmM({n+C=#(w5Of0IYXUtD+RpSbSg z#EJ8BOTY7D9DO+K_S`6b>$=Np^nd0{|J=?zk6wAo4z3;fyG`n0{L0Vj(a()Dar3?L z^@e`sKff5)$z$ee;&fKtcn8nV%7JbEJkcRYtZ`8!wcv!-!B-&uLi zb${UbI}GSeo+mHM7p=p|)7oeK{1tY5KucW;?@}In7V3ff#+b0fbR9>`H9@Vh7;&`9}NXY38TQk9^6v^7+Q^7XJY^-t1TTBiuZ}c=Dd{2saM3$LEaOieL3%LG0n$ zJfYva?w8!ZpjE%Pap5|a_)Oesr}1c9n`d2z)9A-|lxG=NoxI`u{Kfb*pAb*JA8cpr zF8pc*ul#CO{)Xp19qq1u{f;^odFqJ%x2xwgo|i8y;vJlJ64$?M#a(~b&-`!xbl$CB z@+I)pHJ=Ax)uX?_i&DR|gMO^1@Fe&V_yAKpd(vGW=Bqkqv(^@B%VoPIau^&k4ZB@bTZ!_yD! z43Cm`orb-c2k-@acRr0v`fb{&{p36SNB?#m<3G=sAN*JUNj`QS^h5PKpW;PN7k`R= z^2>f6*V!M#BNp)Hc<`S|oc{cGe2I7C4t{Z`ym_7cIKLV8I4|;oN!<7)AHFM(T4wYc z?~lgy5s&K1Gk*EW(f3!&Z_sbvrfwYZtL-)N@-ga3^0f8B`eXhs_z}Nyzn#DTb3uQv zXeV0xb)Rj2ZQRfMjU$}rQ~$qwTW{*x%YviN_au?KPrsid&$WDGc>%6H@(uAKpYtf~ zWL$nPEUyi(sXR)3pZsb2bAF{g)P3t)=EeKQt$LL|pxKa<4Z~TnIivPFy6?Pb( z&X@ff=f%#%t@e2TG5RWg1@64q&!3B5U83K0w}0#ZL+-=JT(9K>emz>_xALfsyktID zem&%quU?JosQ68SH8z+%7dHlE1&6Kq1XOA7m_a>;nqj)FE7z!U8BwW!S~<3zffnK7x_q+U#Y*1 z=d3r%`Ce|hL2r={kJ5hhyUaXZhzWu{c~N8aQiW?)UW(c#nodRYLEC8;}Un=@5-;-&loR`kGKzSR=@o| zqW_E0`h7;u2VAG$j{C;3aclnH&fF&-C0~6r@Meo#{Qc#)zk+Y<4{Uezg;#NYHG}7U zA%3a6-#0ssZoj9|pYI1J@a&_n$Nf$H@+g!JFWZj1HXG&l$UoEds6QhhwGkmGwQ$*K2`n9PZww2^S$uD zGLQP7^8g-xRd`qBIg9$Ap$|RjSDg8by!|>K>N%l@`Hr5aZ{rj4i}L1+st14BS;xv( zH`iA^u49!)&#b)jiTn{hRXxR@V-NnYof)V4-4}?Pr&-@yadbJJU*Dj|{7qae;>HE} zYZ5o^$Xm0x^NajGqo48k{n8P>ReAKU;*4KCv$*;>?>fSp^5%hu!@e%Ae)>J)S2@2j zzg!GG=H<$-+OL@h>%;rwI_Fo|9o|uS)IH?Q-#jnhxW%uyzkN-=%0EEQSK!uD^~@ zM|pAOZRJ;v%W*$LkJrkdz_q*a>)^_XKe+>UT*@1Vcj52Kqm(Dl#Xq#yIIQEn!hUhb zZT#q;>al(jpXui={DOYeXFSWl9*z6?&Ix`UzGWUh54nkU|6k*Jw*BL{wl28e>c0V> zN89kTw;_ zqdn#Y@Fq^b`m=r_FLhn?8^14dU9>~qxVTzw5&MsDE*O@I&BlW^nT>aTIyiPrjfY<;ibd zT>bd%5kA|m`5XO5yy!^2smJ{AaE!-u|N5P*c{6;8`WYT2Ujko#&HRW@=&v~aZofj_ z{Exiff5;={UE4RvBWK+?TK$b_FI2%ut%JJQa8mLa@42j7ytO}@!#TC+Nu8MWgf)kSJrjSD(0gE_?gW-zHw_W|u!WE}omk8RxCM#4hjcfCz`^o6>`!42Vao)63 z9s(X7<+>~He6lXlQ}9_mMSoY1IC|a{pVZ^JYyX*fF<-Kdleqbhe6gwL8PBOt9`1Ky z++SQrzY{x+=T`J*-smTMMn9*{C$7!k;KpzG81b^r*k^uyIIib6;OcQ)+VhnA&IjX7 zU1GfH*L9(v#eSVP?Cj#&^Jw(5{g(dB-xuRL=TX>~y!{*G$rm{&`K|FmD{(|qK7wlR<41NNu==J&|A z@iVTJ2R2V@hp_w6j7$C2v#S3HH?AVzM;BMLj+b${uXUdgyR4t&3;oA>oBf6J`i}fc z9+7z^pLFBySHs>;T*;$0p|Z5#MRzMbcxXQJ)oz50GI_|1?{Jw(29uGP68`OlbF zz8Bo+C;mtsUhVhUkk>Ca@ODBE?Q|a3nIHJV3Z6Vqeb~j#*Vb8a{n7j?E-#{9baDO5 zb+z8PyU|Oqdn-^#kHS)T*r*}4!pDOtq(i=_g~iEoc}OC>d!o* ze@Bn&l)sxKenLO*p0GF4}p>XI$7bfoEMD?~H!?m8bm{+<3ki*M~exdEz|Z zvCE?vPx8FDJn8}c$)g@|ZQXp$HRpP%BjOLakDgoKUx9~TO>fKJI=`as+k8NM+niHrCp^J@TjpK<@Nu!f zas9mD>T%zwe&q8#g!bDShw8OGq2Fumxd!)nar29K<7d98xbaqT<3#(_FODC0UUw(& za{kqGh5h1=&p538lKkN;x_ASeSXCAwAL;6mA1{eCXU_z$e$MY z(@ZOF+riDxZ65t5?~wQM{+zfnuh#Rcru@y&lmCwjc&evh(UV;DhGjjSD>okeGe|Me4^^42#{4TB>{uKTCi+Ngm>{lM8 zp2tJ4-w$WKv`4-tUo!sW0~N>K@GIrP7*Q`EebYzZJaNne{E>nv}nO+y3Y;{VE?naek^E>|D?2HP5;3%4<@{KNB@F0P&`ul>e_ z^7=pgWu39dI0EnDj_2W!TYihY^8(()u_J%~=>Ye;iM)@XZsa|nd7HXmK9--E=d&-? zj(gbmnpPbB`Tk0LLhf7I3tHs!?*!ii$DZYDu6^D*RdJrn-?LJW<9+#dfAX$d-&3jQ z^8@)81xMbx5*{UfgM6{a^Y2=h!>_PAyvu!^dK!AIL&}SLZZ7V6S%;Wk*EipliYsq^ zDfn`tf92>mc}+VSKl57T!Oa)ySKfH8@{jwFsJL-eaqC>guh8TC*st==v(Fiyk>`2! zToirgkw@SYt@TxT$9>6t{oDCdzxjpM^F!y`)_slVR-OyXpKMon)I#fZlXsE-&41=c z&zEu@{ME2qIp6Pi&byEg6CcEn`iukpUj0qKem?XoFTb*#&&(Tsoqsu0`yoWC3WIKS>^7I4p5JQ20_@h71osRHXdHohY?Be!EUYf+sTb|#D8zReuaE^lzOa7zhZpyE9*w(SK{9w z@AKH%z6PJl{ja$8d7ew&$G-4~m&mKv_KSk^+^use^ruc}C+*QWRl6y6+wZ5ve(U%r z;M(8Db-q^@=e))5faQxhw>jWf)}_d659jfjFYK|7-;zHSJGK8BT)o)edci#}GA~5F zjo%T!G7hV}@m6u;U;9v>_jJyuxbpgy`mXwraNX6XyngO|?J>XTzs9-O>bXR}{W@>* zu}9puea5x(ZEJiHPur^@x67LfpE|BQr!&|1um0V|nHTHxEUw?-XG_KLvq_wKsowaN` z%=50d^;bRmx48D;H?#ffNBYNi=s(du8LjWvoUi6QDc_OD-nI6te;>#n@u=`6?Rh-< z$=@A?C!0s2=PC9$|JtLSjC&KmMjrjz@4EV3dgje_p?>b?xBK(GXG4E@9ehN-x{!|- z^69R;@drPOJx}S!^<+MC-pu%>IxhTT(oX#Zzv|-p4gQt!;s^5H_#yM<_t)DS>~ntb z&m(+M-aK~)znYcTZ|{&d4|q=JcN4+&OY&&)fbm5>oXro+m*+`2cQ<}6#`ybhnFsST z_$?lF2Y$$-evN+f^?O{4%a^D>IlmG|-u-gUyO4L^+_2C3Y+lZ}jrw2FzjmnSEAWYy z`m=m_Apa8Fx=5SvMa0qXemlH^``ZijXa{!vWFF;n)RmlT*{?jx@!q39P~9^!sp zybbwV{L1l~UzJC{^~d$dxXl;NkFEK_y085w?A3ndufe^>&i^*QavsbJ(ci|;c&_*r z_BaoSC%*o2x5a^w&5#SxFH zc)gzCW1V(_cXjInZMR?dE4Joa;>q|iZ!b5)-cD+bnv_}EkK)6c9up63uhUEDZu zo}D+>h56paT}SHhEj_NA^6Ft8n*Cm5C+jmQuYT5R5ij;{;NgMjS(Wd-{rGb}#a&0n ztDoyPo;%ITJ3r`&pF1w*A^z#QGjGB5L;79b^dHTWx5?AGIC6gXHHp)o@2_|B1M}tk z!QjRV{9;x9E*yT8{GfjHI@Z~qm1AI~WCN57S&*%N1{Z8Zg z@GI zJgSiw!UG-GO|cVuvkx!!n^&}3dv1NN-q35F(*8Dn;ZfqAUwKaDJaFIlB7P2xZOaz~z{{pvSv zl^4IHU&nP9uAU2?Q=j?8_)(wnPyA%QuXvuk5I*jFQiq%`-)no$YP)?m^jOCxu2=Zc zQuvbB8@O^i*E4PNn)9sfJo=ew&13FkY`1yH$)n^~?ajdReh|KBUQOJv4~ZV*gZ+m2 zTz=K`Z|rI(`k~$JSAV3Ab#dz^>oKXvIz?Tc#jVrGZ|c!6XcuwiX(R9YlXtuN^>_57 zU*iLRn$=(O`BwGl-|`3b>zCr{$DT#J)csjp|HSY0zq}vhe(Z5Rv1dn*JlOAdcI|gv z(0@x0^RsEsb#FiZ>_=QXT`%>QadmNd2zE~5+QYmp;_4yqMBaX}Kl1t^{t)@Xm*OY( zi~akX-hTY4pMK*Ht|R?U%Ik;Ne}p&X&7;nPIC|w#k=Ot6$DKSNFO**y*TKn`OO<~# z#(9KK%In|C|CaeNF4SLn(KO_`xbk=4w|Er#gKLj`@7LH<@ar429_~&oSrEXW8y4_zOkA3R19;D7`?+x-^J1+lT zx_aaVpA`LVT)RK7Ji+~X>Mr%&^XcG?pZu!!`w{&zFX_knqkZ0giaho?Z^?I6|8>#t zbG_j56Z44uHh$&{<;2YkRo;4_-O8IUDt^_6g#Kec?jNeWxa(WxD}Gt@I}h)QJFZ9Q zn`m7}*N3)~-^@2@3m@A5IP}PuY**wqT5((N+s?@O-e-olHQJoFe>wUyZq0kX7i>4< ze(dL3-nGq)8(jVsJ-%;xj+}X3zouQCAN*854z8bC$JC=g;!nG{b(T8Q&-8EIq0Xp3 z=RVY#)p1#mz@uM1`i=Va>srUP2R*m!!Hsktf)%dR#AY?ZM9J0N?Cae_;NC7yYr*abeH)rnet| z;;ipdas5F*aoy!7$`|`*?L74#yYcVHM!$BdPd(-v?A&X=*crbyk7CcJyndyf;>xqW zNAkh-d;D`z5BB-KuUA~&Ax?k3XG~u5Txh>)Ji=uaNh7@T0%0;66C#NXWM@(DQ&+J)al6jqBw_ z!L{cGTzk}afFGSxHTf0e4?pp}jkxvNeYm)GKF1z$3!Xe?pJnW%)j87nfhbN4s?dKb2oucf8hLV~_QS z`m?F$G4@b5<}=s&7kK2kmS;Jxyx+lJSM^)}SpQvIzZSP&;|4op&ygPa3VyYz$2yDt zBfQB&j7#LhPdq2mzm?Zc`d{r=J;X^D*B9MO;1f8$Hg0bzgbytm|0%-IP~9 z>wK$UdC{BRe*BewTh)V|v+|A$e5yF(RZo4-xG~S!e?J>`EcCma#->Ex^ji0icvQYi zS1Zjl30Po_~edAW#aZx8Tt|K1hx)7hSNBn4h zn1|S7zskSq?Z=;bsLz{tu|NK%JbGs3wV!??FK%9A{{0@YorWFu8$QN!8}a4)SN*q( zJ1*=Gt{;HU%4-MqF9&$!i=M5@qd$7|%SU5eO?mpe>zwL{UoCg>F7vnjDqrk5;#c`D z-RB<+`}?_gKfTk+&X!FJB$tUxL%0=RB?A@R03ucO0Q_&vpKV@9v>bVAYy_E0Z&X4n8o>h;y=K@|gexBP@+`Mmp%A2R`SKK(SIQc&3 zpY}r>$4}H_+!lZH`_1Tad`I%e;nas_$KiM{!5`6nG}`1t=F5N2YrNXd|32j9HMa7f z72dNHp0pL*Yvp(D&*eGst>DV7e)s-8KgXU)68F=-UqP#rocR`|*ceyYkve-Co3rFA&a>kpF7mx9^I*ILC$DwowTE$qw_vyL%_6V=&~NyR^8+8=Ja0j+wz;MzLW#&3H8{vIvzNBEsQ%6_S{?vqnz=|B7A(yw_ve9U@%z@vPR z5qaznkGjve9Jl9D;@V4nh#v66bEi|$tG@pBJci#M;l_#fHGc1k8|T`g9`l;xJi?u4 z^HJ4v)yI=nkMZm}sz+S^RNrOMqrCC2yz^n)s^9h19^yRT@mXJe?$PMae+RB#$d9M* z#{JsLcWNu&scn_>dV?>mg*Po+AKl-%Kl>bfZ~0-^yTP~S^SExDuX}Fpd4Bd!pAWfZ z=J}h^dcHhUU%Yl-v?HImgl7deo@giZByQkWsYln?dm63%`uCgs_XQ0-sYm!zFIrxsPaOH>SK#F9b}_EEZ@}&E{TZsGQOgWd2>G9r&ia`l(k(dfIu+clfH~I?%I-8<*78 zS=@e!zu4n^qJLFhocTM#dzGjEpBta-*LBf;{6FVB%)=tCKUCaxWPZBx;;gT6nsXcT zobu*%=3y2$Ua+^zqx5t1_j;IQ8`C?gugr(ZI>6phjLz0@%PYQ`I32ETs`1N zJSyi===J?ncvQiUzDsXkGoA}t#bhTnn|G8~&m->J zkL%dM%|l;}>%_+w<9hZSsI-26UR(K1ZRc{{(akm47y#^Bhb0#FO!3U30y7Z##>- ze#Ap?`e;4UKh*P>ao|s}M>*>0uKm_o>e?o*JbWhoDvzFKzdSD=i@bFiJzaTm z>h%#GJ?bY8X7w01ckrK0dHE0aFXCmqNBEJRSv}4_<9kU&20l zM0ga>TW|et!t<{~-28pOqs&X5PlXqJ!}!hPjq$$v(|D`+J>=w3MNcFDJ5JA+@?E;} z=;<#@ztpe(1^9ck;J3b~5`Xch<+q!HYrnYjD6f!5DJTBP+jca5dEbB?^3vpSapj*E zJ?a$^kpYIllw@KW(U|flx(BDV9h;!}x!5!Rxm*xNGcG4c>gLsI% z@5`ur>i6%Ddk)dnum9qIo49^Oojk&w=jg}pSM^wD;Y-nDd{EyqE^&BQ^s5K??mTFJ z)nh!+Z}h02c-qzDym|k3tj{&;#eA=4t~)LBKdZ-itGv;?h5ku-^AqDc!guFWd3lAn zJco76{1yq;&p3ip?o>Mtq z`ZfM@K1O~Gzj9pDSkLe)^^41w%)<{@e{uJ};J5xAAN}T>$~=yI&Z+3ny1cxip9@;$ zE04N2?jL82Rz@O#~$RY1CG`4=}o1?PG54*r+<&>rLZ z0(s9V)MwqHeuvL8zx~B{&T|<5u7}^N`yQ?RFy!PdwO!yZwVl9gyMfnsFSyrh(bKv1 z{>1fMaPP0+{f}cDGwlXXbet3Ca`MX!zSX}P&zW}?^1u5k=doD_KOORZm$l7Y`+nXQ zJo^}V7WzHUa@|soj2r4n>X&hYf3Nmye1I?F`U`&F#jQK|>m+VH#V?~rf5h)+<<)~f zZWTvQ#usmk&pg@@5&pO#6@u91^q|(;`*9D9PgR+?X=FTxa(qmQIGR^ zIi8FC&L?>6@pW4=h;o)!kt^DFOet@5;fBP1k@yqvm#mV>iZc0A$ zfO&g`o(o#=yaz0JzE>B2Z#)-%C61n)U)itnUykSezTa_$UpX$G%li-Y&`l<3_u>Kz4`7ZrF&&fAF;aa?n-w}@rUi$UC!F5XgeU5(Z=efL}P>;CpiNvuh`TZXH zXqVI5*YclyFOqQ~XB>*F&-WP>H=dPi=rR7av++B^%`fVAy^e76g8G#=-~CkFyoq1t z9M3qc_K3S)j$1vC7{B+m)4ap|yl-`U);Im_`Ou>u%-@ac?RTS{X*;}Q{lmaJt$d}n z8~mlVD|l`910FPk*H-!M;JJ!>UE8@l?|sKRm2tQ4%e*i@Z60{?3VElC7k;&Xd){n3 zN8bGnahUq@jDGrPgI|wp|9+!-a(?xM=j_)w1E0m^0mM)A=s)=1q`ZE2HS{0hO?l+3 ztI@AtapHYua^HRu72Z1Jq6#y?Uy(^!dK;uW9$#^JfLS+-uS#6^BH;P z2fKnh|JXIjb68i;1&?@9Q{MbaUW+~I!LI1nf9QWhPx6h=Ij%BqM?9)4Z+>OG@$)i2 z`98{dme0tS+%Bp9pJ@`vdpy^n}mJ8+(zLpNOkpea5-h>NoF;tLGMvqCe|_`jtPzAM;#Um&5mf#($MJ z54tY)dxRUG>T$frvwFns*LXDkeu@3wzvB8Ct@F+N`hAe+Q}I7|)BGPiN4vvAR@zQ0 zAF1um{r_&O-l}IU_IR!Q@)P_2sd9VKxBYR&cU=f8^yA zjAK{c`6s_D@+I>D_h<1w=F4@C9@m$CCiUAdV7rA96?U`;Pckc$DLz&TL=NulRkg#V@!Q)gnv@xslV=D{qC*t%X>ZTv0gt%Pr=Q{;ZNH65%Sh+#&yJ_+6j5bqn*9r zjo%S&oNI^r$m`)_;&<^VR$R*1|U`|2Vq# zx!NAd&!wM*>#g8EuY8sBdM(dw<$CA(NIuX1am>?ByPlc%d9>CK>qUP#@SJZU*FFQM z^?X3y<=@3vkxzUZ&+2)Kp3`XUH@xe5;MPHL+om4RC5T()Jr~P&T*@1-`rB_tKl%6d z@QCnC>(1rdc1E6h<^1_~Q9bX9J;oXO7VE6_&N```^yhc-kynm5JHpei`u}p+A3M4B z?}s1ZU3=tL+9mEacBNnQ2mMEn^MJltJ?06XTg1(0J}0g`^BMc)SFWS;T=3YbUgVGP zX1`@zi~i$0%ZKe(dFCnd`W5pQ{$u_m?}q=l?i2p{n%2CEym>P34av8gd`UYm#`F1( zz39JnPDQ@ozM8OldGQV7UCuKop_K(%yi5{ zc~)?El{{;n$Maq{?^~zvhr~1T4L)WY{T+Sy*{*){G}={Mf23U;r{^k#HGui;q#SyYk4%yMkNq;5(_m)-USg5gt3OkJQ`Ee${_j?6fY^Pj~+5&vS^_iG9ZR z5x&%ZwTt<$ywr89=Y-K?zF{0k_-4PZOXW+hBkRz$$2>|uM|zI%X20f3=INF{F#nn7 zBHul~a-LlWao5rHl3$_M^~!rd=YjbTPqSb2hhM4Z0{_43oJ#+khWt-Hr=p&0@+j*F zd?Dvo;>h3n&Ptqm;d{#PrI(DO@Q_A5N!_|XW?08gIQPTP(i$LTyAol`w2 z@{ZTMtlqnD_g(he`2D$X(hZ- zkNvL4eUS0D5Qj7Tq0=_njdr13Y4>v9>z})wO8+z0z2Fb_xX^szAPu6qg||D2I{DYwm}rt9dVD{8`WC8~U^L_t)5Goub{ut%FB(mb%{@m+_=N=god? z#g(Vc{HXVG*ysGn=bClfaXn%j)G_Bj`y%o|=1o3U`JVhqebr9pV-|Owu|NFkG4?Re z8JFw9__DsvR~>JWj~?fd=Q2M<{s=$Pb7W6*o?RE_>6V{3uhoB?PjSbKe9pV{H`nF$ z+w~%i0Q-9W8=f}7<&Rj3=J73Sy z`)st!iR)LRP27AnuJ3x^Cm)a>?1g7|y%av-wfBFnc0RDD7kuN|^P`FDR^;|_?Q_bn z+`kLoi=L%CH*>xIVXVW-cWnMWQ~%!mI*?L{hGK+oic8Sljs+>RnHaUqCV%njB!D|iXL&= z#rd&rs?Yf`Ucn=8y+%*;8;8Ve=E3--jXd=@b;)sAcW5_p_0t~ecU+9$I;o%Jz10!_ zbeyDNAlhAYNvd}dDA}lRnC!=V_ow8PI=euHGZc5 zF#nNvoUTiK56C)(FR6bTdbe-UFRovxr;e-2YbW_U{-l2L`Ym1|enI~aMw@dg?V#># zUm{oKUl#lxdcG+5eXhl^FMQy0?u*lJ&acGZA9C48a;=_29_2Ze^4OWb=gIixQO*6Q zIQ2c}{^E|8`Wl|&c&*D`D=#mqdMfUHapy(+m&}{j_VWbX>&CVD*zwC-%*)D)KQ8)@ z@W$^*-u$h89%VhcKlFNDo;q}I;5mKEnd=f?ndcfu*167e&ZGY3xdeW*PK%3r-bUjKi(z6adYub#^xA3oqUZTgkx z&@Sq+?%Qfl(PO;lJF9BH^M_qMFK(W7yhphF=P~0_zVS0Ji`&2Q_S<;A%G`u4&Htk+wq>*6!G zt@sAMm$q|#bic~~xvtk@hy9D!*82<3d4Df@D!y@lp>3tj-(dh(zP3B}ZRc_=o_}}9 z{m8+uKgh{NE0 z(IZd5oT`dzPzGygd^!!I+> zPtfD~s?YI0;y%yiJgVfA@L}hV`jGGL{P&%%A90~yyHD`{gXiB5-@YIHTc5X5mshSA z+Fq{3Z8z@krR`kLv}?Jp@;~>r{nyrhw_<
vIe8opvj&_xGZAJ-GJyD(`hK&xtR8 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Ά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�{JV!s}7mwZ?k31!K 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
mzdfI*@R0b` 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

kbKv3$Iwpnh}-Vr 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%0Aw$Z>rV{}_jf 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

w3Bht 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

hh@HU=Q*zZhyVy1^L1G#g+$tI6UolTb{_> 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

bg0KOOhj`LjR8Q~$t!wCCXHY3M)xL{I;C z^bPgEuiTgV`CEU-1AqFSZn%!_AM~fV`=9*S823Dnn8#ShiM>hLymw+;?RKAg-rT>3 zC$MjVJb30+_{qf1l!ttJ{NgzBlK~#sRr%ErXTIk5v)=3z_w9sl_?&R~cHvk4eIv&` zd=Gy*?r>h!PVvmRf6jcdN4_-i|90KzH;ps$&wqOK4EF(kJG}Lx-MB^^JNt}#TK(X9 z9bT%v_-9%7en|cDCHUuAFXF8Ha51ldr^#m)daMWYYvR<6Pun5-`qcrqdnFwXX)43zqP;n-TSPGT$q13 z2ZMXBbKgQ7+QuvM4)JPo?oNIzajel#emAIZ`Yqz!GH!G3ZSTmNHxoOJ^NT!dTu9=H z_LxsP{my)e6DMvMcZvT;-uG+VcQxY@e(>)nh+7)pI`azbT;3OAr*-p;^G^8>aem^j z!=vC=`s2(CzBlT83m^(~=m+ied*EbT{VeZlSKi&C$~&&|{+`;p@|KRR|KLT# z_^dA+;CmZvtK@Vx-Q~tN2^WEK_@TFsy^VM(6yXiOQ#rZvcke9>bwBPwG^ms0Uy6^qE^Hq*qZR+F2KKs}9 z_9DOey~8N&jrSXq_lSPaWxN`kThE8_**xI+F@Fr>0q1Vh-?%k6?}PS19&6wY-1EG! zFUf07d%(lI4DNiCH{YuN!IeMj4n98^$9eqZsk<)b=lI_q-0_C` ze+;hO;O9GY?@eg;-eY06_Z8-`K>mDx^>wjNp7VzXU)X)xzXTIov z!{uq}aX$VXs*NAb>t|eX-Wz$ZJMcr2XUC^!UK9Dl)7Wnt`_1EiC)uy3pS&Wf9`A+V zCmlV;5!XR};{H$h5&8!_!0+Z}^(XR2zvqzerp|ccK3B4D+z0->bNzYzK)-1mfaln+ z`bR&Bhw%kFlX@>cddrSR>KYji)Za4GFe|z+7 z^3N)HNZfML-b-GzU(lW}`o?GU_s_KN|Ha$a%l!XG$LqR}mwC#+c4=>=ZhOTia{hi| zlzv_Q0xwJUdE-2#_fVW4dC19E^dFvM^38;Ac)mT432xp@`gu-Io+XZWZpAxz*B-{x z-mN|G3iE3cH`04K;?+iuh6+!s~8q`%B}!@M9*`-1)#Wx)ry^E6+JAHV(l zPxXZJg~vAZq&V{Z6p?i1E=upc(~nFo14m6un*-x7Z=?fEJCv1gfQ@z0V+ zncvalybgc(;?dLezw)0Re2Jsqe0}DtJbYkYPrs1Ap+7$!{G1c+r4xDgmHzIWJLfAO zZ0HGjh`iTxf`2{N-F5Wd=AR!sI^(AHvtAAVAKZC}I`4?f&K__y9)1^c3*_q-1*dBuEWxoGc2Zc>keE5Bd* ziI37x+;V=VUAZ61XZ`iVdhy%;D0t;fgZWr)=T~^Wc$G`#OS$O33O=b%o;R#-aK9@_ z-Y<6W@I4;y7aP265zjX5DmxolI7V7`)Bd`9$m*7zY zJt2=O{7V0O-!eZQeMb-XTJD=6kNWFJ&iO3wk&qv*pYq(34D>JT@jk@oj6t6B_t%tH zPJY$UGkC8gZx?sH2l>~1?Y!g#o-6mi_sWZN7Wz%T%{ff@)i3db^U@FSs3c#WdHwAp z?>;_x8Gft$;Sa2@_J#g|FQw~M@GWlMM^D#p@|nMX?Ae|Z@n1do0N0Q1!zj4#VYM^W z!~0Oj^B|K-)l8>hVAK7K%M ze0uC2tnYHZ#H&ERcF3a!_N(7=f=|Yu^!GcHL4H`2<`K*J9r5uZ*I)2e@H&p|Z~b@a z|3m%RH{aI}>&1`%R`@9POzM`KdM|R~wTvP+skg$<#N}O8 Mw;`0TM7u@rA?whF#^GSB&Y8RARc@*C_l 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

eFt)tEnJ@&cXv-Ejq z{B&eq-)rhPeo+3yml}^c8h&&h6?u6=JgM`qaC|I&t+>Y*a=t4L)c>{*c+p6n;BR%i z=ckgFKg5~!x^EI^_y`_~U*Q4m{p5VP&qvK8pW+$D;aA~B_=f$!XYelkqwvhbzjze> z1}}TayB7+ts&V{_zs272~?eJ%l zzgmB#f27sd&fva}^=#vh^WM+n7unae>Tu=r@TSUpsaG?3T;5jaV$e49>Q<6{+z?r{gr*2jYr`XWq0EbmRWPe=9$#yNxduuLy3xt#`^NsRLD~ zKUa_awqEfTe8xXxgR=)u6YtiAA58YQdT+l*v;S!FwXUp}{DC(FpQ(F;KND|5J;V=! zi?`aJ#BJSQWdG}YrS1-Kp7W)yAMw-TzgF+r>+iw*2adJ@lD3IJ?Skk<%}~#E!C`A3Lv#|LXHf_Q!tvoOYhKUGwX^JzG6i zpW&-LpRG?GPX64;UBR{FW|Q~)+3@eH-{&{aYV%*|e=bgswvU6)HV^#V;4Ap04KFrM zt4=&W-ur!}m4}D=h>!F-FTW=rRlUvmUU^>m{KGvD{j2e-C4Z_5$&d2$fG6+laPo~_E@iZ`Pt`1`;O0)J?gG?HG7tM zV-Gz$+`7yw9uDhre$+jFj{f3T&7R3l`<(b!kHu#{7Xv@QPw}Fip2Umu>w8nqSMe^N z)3eX~TA$a&Mb_;;s(6F-r5-sS;)VRt)~ybIDPH^L{J3|r5B!umddNTI!*k%}SA0M| z<3D_+;dmE&4*J#W$n%r+;-SXTQ}3PRFFYXoQ})Jw`g~p;FLxd;9)TZ(hZN7iuYwmZ ziQVpn++Wo^NA#PA-*>oq$>W#iH z&uaLU{^#P)HolMZd^S1wxxrWPOZx`DS|9KIo7&_@pX=2_bxeI$ujQSkZpdHwgFOG? zp65s$7VpaEK>2p!QFw@a4sW09N{`QV(O-Jn=X&>AKCjN4htK6#>bUzW`Rq`?+%v=v z%XtefUk>#buTY=(vGFT)4lkCctL}#Enj53hJv)>rGu=YRgIxODH-&P~<5 z=o#`#f|PRKVLkHLFtzu6;i$$#!m z+>clv{(|>p9qcdv85h2Rf8cR=#w#A>UJFlQ2YzCG?AY-rJSOt&s(IzWMiyyFGuE_D_G=s^7bIHu<%y z-;tx|N`E!H_jhu$jU)GL_;=l38~q)>BKNuYv+3>QJinS8dmy!@X$BER5oNAe)Pu+%Sl)DiZ`E19?CK8hhr>DY`8xJbe)7GX_-Wc7pTk?+ zxsSpR*z0$D__gb|Kh`}{uXgyb&z&#DAJ*-Cob%Ul=Woe3>ikCkRzC9%ajd?6xbx#7 zZc?||)8*|mc|2xB|Fl2s4DaD5b-&_Hp29ouBOm#Q&uJ9uMo%l(36o1jvdC}@|qHZ-i)sxY9j=IJE$=e)JsdE?k;aoVssXK@GvJZHgdLP{TKKa0Y!Uy@ruf~Tv?@aTngFZjOUv9bD zpN8|_5!`)|I%(Zi&-=XUt~?=c?dD}?{5P!+uaH0Jp+A0|&Pnu$m-1710iJ7plRfx= z{AFJHyzl$*?Kk7-^Y?)8;t`SWJgRt0)?r^Kp40KzNq^^8#iRJ;xb5^Fau{!2dH#xb z!Ofp>wLbf#joy z+_f1GC$F8GasByoqxXl7TSvEZhm+eqho8+K9iQ#_GyV0u#KRx%_DCFD=iOhw2>#3T zlc(@2bw(apc!B&OzsS$>OYjMo&oi#)`2|TW{^_M*mFxKHUGr53BQ&4|m++UCTX{b@3-W@)L%gZ?*0<#2{&^wm^M2;YymgM$UHjkdvA^(sF6d8PU2R=ePujk@zZ%X<<4ex_ zXt;PR-WuL@WPgtMTiq6q{8!%x3XkFsb$!Q+)WecjpZVMRUJ?(TFX0~>{1xA$-?_05 z_)YZGc~HmYKlZps!CUEzo%k}p;v?>x_yfPdABz|K^m1>*(WO^VkQU2b?eWYtB#hVW>;`IX}P6yP zepYwn|Czi^kGwOI@6rA~_RDlV#?vorDTUgSvJ*&qB$-dN&So$LI{J%n?H�f- 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⊂>#i-~9W(@#z?U{QJkJJ=2cgKK=EF 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

YwI2;pV;GvG=|4^qgAyJ>Sh= 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

_(5$fs;9+0op^AWp) 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�%bR!?{9 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 z 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%0A*z_}Ljd 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 z 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

=rZ?ublDJJna?BVX)R~r1NCcjZhKzKo&7uh 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 X_KKf9urppPyRx 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ϝRxjxnJj;q@z{MG9EM}2y(ZyfiL-fw;0 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

hMSQ=b?Y}RXsCP_<~-(n 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ⅇNx^T7j+4`Q(CO=!BUYGYi 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ᠵxWkZajzA5d`TTKFM0f`)^*?^{I{IT zes7TaxYaLqMxOqyJ~llIUub&x_nH0e{_6X^__52M>UeN`Nj#YMA+E$nlOKt*nR&^- zXXj{knpa)FGVfBK@q^EabAA*D!TFaT*t43Q!@7cx+~bU#vz7Qe@u(gC@uY{HiPz2k z=-JJ0*2~^0&-b`$@iVjTk#&pb+0F}Iv~sV6ca3(AwsmJ->mK-3ctN)pUnza&SJyt> z`y>uJkFpddkjqn71Cx7Bs#ZRMW#m;Kkg&(GM?=xoBrNvX&leXsh$w8i8&#jN%|9X#O zSMjYp$Cv84b>NS96TR%@Kk;aP#N{*gruClG>#@4r+pE=Q&!53P@9oZW?dzcDTk-1$ z((|qJ{-yH!U~k8-gWR*>#&vo4EAsf&XyaGnz~3Jnzq;eY`?|XCJ$R~z?*EhDjr=uO|=h)F1U)5y=jG?*E%IAkr9XP$c-@XY3qOqf^m`6Y%!bUzI(Pr-vVB_L<*@^{4LhFMp};{10ajJ!NOJ zf2r5O*-5_hu9N(*uigHJPdumbjg>f=k$;GH^6|qXeprbQJZGC%+@I#ndM6(4Ucvcj zemL>2;vdaUxP4sCN%T9P1Fwrco&OK}f>$O!;ds#ujz_V#pCfTpydeIY&grK+pG@bG zKN|0u?CtkE@`rjBed4n7t6IN0+2*Ob`i;1IFz2e~jh>k}!@G*F@T2c0Ff zPpTl&~>$E?uzT*k%OzlJXl{&N3v&OsBzpLrDPdoTFuR0z(@s_17wtJ7N%dL*H zM?A6f=!eEAH9eD_1HZB^Ja(y*ZNK27`zP|-J&*Gut~zfQ57yQA z7<)#;XYAQ{UFIFZPx0yeid*`{?WQO8Ec?ix;ynIa)|GfEUflQxfB2n_dE^`4$@;le zx9k2a`=?IgKjI0``BvQb!JT!gyX$bTReYt%kA6?}G5Iz8%K8Sp-(TTBcohG_{SK+! zQ{hWx*UY^AUdz0AkMCQ-ts9RT=EYy=`^l}pcoQDdaCYHEmc`RxN%(`{))WcUp?FS*Yl2xSNPTQSBVq(Q~gS- z{;R{47n5Ih^0EA}l5bb)+f+y7M|DX(YVyS&@S^aJMLzfrK4J&H#7_2XJg4z1JdGYa zYN{9XdoPThx(EAo`;9-`1DJR6OX{Qitq!VR*0tjQULWz3Wk2G_^1J;CUUe?}j8}9$ z?CE;cEB8Nm(W2kFQh&tr@2uG4Jg^53TTuZ=bzBrw`vv&pODznw)X)Q`_a{JNi$0z7;pG_B8%#>moOT zuVyd#XTx6yJ@DSnHh!o7Ond#|K2MJ>_x+6z{5x?XuP*f>^+&$j?s-z5UjAf_{w@09^3fFQC^%SUd01Hupi$T+1DL;_Txn_e#m~~QFs^qi=Vsw z%|G1_lOGQITXDip^4UjmY2WE*k9gxx{uiJ0I~VpJFPZ$0&$jsIKfg~J_=k1-o|66F ziR3+pIhNr$-H+$WWy}{idMUV5~e&u-Ib>LUE?$|r< z!_0$66@S17@VJ?Ljeodzg5xXjkC8v&(Svu@ym(3W1AiLP$6t64-c|Qe;XO5uz2QCN zi!a6g6YgFMPb@ncZ>oE@wr+f|cpg6K{?C4;KgCPVwK`SrE5E+|`bxWhd-v7bSF5wD z^~vpqkMuh}o80Tr@8if_-zaa~^DxfyAG+P|%y;E^mz%*?8&Ce(@Yg{PytlKB-|1i4 z1HV!y#^*ae{0>VVp6a9eBkod%n#w!8cj{1JTEZ}qbCDD^URzw}#I~7cu3<3=3SY0Hao?~*W%W-@t@dl-)C_A zWUJHG+j&~>9X*@<^jlZ-(0}4l?)SviVhTw{!mvzY_1_rs`@0rOj_=0uUKH*WFKYqN=pL?nid+`VM;;+7|;dkz-;KgsUPxKV;z$<3*m3tp} z_)5vMH}a(qe+^%Pm%VWOr|~PitL9;kdDumdmL7ilN!Ec62Dd+T|CaUDchl^D#if00 zaiJc*esRw;@T%Y6{b%Z`di?z3jjO-#6UwE$m_Epg;4Tc$a-rf7Jo+X?XP!w=azk4Ex^sM({rGCXeqv?>JN6 z*dtEu<7n|IP9}TspX}qCdF9c>FP>9%GIqgA~>=-=Y4?bo2c@n`n4 zv*N_O(PQ38PjK?$NBp~|V$blNqTa;LCC-Dd;Lanz)jr@+sl)cU<_Vv9gCF>n`v>cg zKi=h0IR`@?a$jTr<)L@@6+h8~M^(L+ckn2DMSOouTxTBpR6GOk<6k@jpTL*!jPMCO zuI`aKj^AYd;v4^X+q0TorKjWUp$Fe>IDUoi)%x%s@@b1-Sr^>=@B@!>uZ3^oRrS3u z{*)){o=$$WZ|?g(&GF?A9_{xsuV3Bx^EYW*y?v>(2V6ZSr!IH=c^FUrb$I?Bz7ONR z6@PD@zxMgbp7-=#S>I~wJmK%@^L$6&v+0Fjp8w&Fi;@0HJHpF-KYqCHOg?p=FrWAM zop_vizLH1fovH)k);)xJs7^J0vg9Fn^1S)*7I}U}zdF35e@0Kocjn#ns~3@<>K$Ge zoP5=tPw`{)@Pqt2gO{DXPN`qfQ}w3RLG`QnQj?#po-XsUU!GPUBk%qA#JlY0>ikW; zKHW!kJo~ZS!`R>G8Nuxr9);JbyC-|z;PKB1p9h{Zg5$S!Z-XE3L(`Av;1xBmeTn~f z(_eAI9{Xay%-i%7?;_8h?63H&`;6$R_(?rs=N2c?BmOIH)pK!fKk&K$ zwa@GgKAcx^O1|@-@DFuzWPbIWU*)0VKl~~m;UDsW`?fYO{l0_QXZrg+k$4^MUBVOb zK|F)K;%tOBu($XU{?qvyo?#yQfwz#){P@!Nc;~I+S9lBDe$bDXHQYLi*V02CAB5ve z>^)vYqYw)zMf4lqY=j)GmUwguL zlOzB4_Rsxy^3w_L{yWL7uk`=bHF ziC_E*|5*oq)pBkM9ZQEq_LSrvBj->ed@P^Q!OU`3;Vb?fBTksd&J<#B+F*I`6!!j>`l5q^{-MI0x$Rbk4-7IxJp-*ZqTd zH;?-d=LQ}<_D4RT2alXqv&yeQ};V~SL`aBemn~Q3170#(vSbxKmD}D6ZPri7yY!${7sL0tra`? z3BO`j@mzdLJm(y^C#-sq_)#aElk2y)U+dpj|CjXtc(>}M_Sx{A{z|LgH_^s9&htHXY(uh)mA4O{~4)Y zQ~gyxT3s7(JPLnn{EDB|5B^c_{CyYe;-AXj(O-JPE7U)B;vsMF*t6N6b>r6|_lSOnJtALv_|1Edea0uU&*m?lV;`LF17E889Qooi zjTf<3y%oRYi^nuQaB;figV=w<%ir<}K9V|a-1vCM8@up3{Gj}S54fkwxZ+Fy<B@hf?=>UDTQ@u0-*#6OaUck-}2 zM80@}yo{&Olk-BKJdala7cuf2`n&0>b z4)xRI!@&0`<@r17&c@#bP z6@C&PQs2wiljnZNR{HZCAA}eG!E4#6h2v3pV!x-t%kU-h8D|~rwhsQ)(rdl;oB!R* zHLG zTh~?}BY(noud~ki0UyEHlIgthtc+Z*vH^?ALV@DYwiPb?(kE;JF;)qQT)gL zSa<5*8~M~n_hk55eJ>L);#%E4;1$2}h`P-m4WF@-Kdfscuh?h%Rs57a?8kF64&T#y zKk5IkFy1!)^POk#KIa^tp-21`zp*~N!hKNV8w-#6n0d0V?xB27#IMNLKHxEUPv=W` z)jveP`5V5>k4JTWg+F=DzxJJ8Jl;C=ofG?P-|eS!u5LI7^3lKE_CNpaZrAVccK-2h zU#)$%zWUhZt|sSs$M-?*hr-Q!YOl=S=X(!7>HD$p+5EIy-@GT>^Hcjg=(`%eTc5s; z_x_b}vyETr?_b^V_V~@+`g;?8m%N`hKEA(ObphYPQ}CK4pUdNEN9xXYK0GHMe6%_u zKf;Sw$oukR>We%(gKzcd({2BzKlaG8E9X=F_5Q5hEOj&Quk@5X$;;;LbrApT_XeAP z_`!XGdd7adi2d-!ukaIfPF=B2^16Mj`ri1!#s}iJ&X;^gsXC2E*%#~i%6lz!QJhr0 ziXTq+iXWK}=kBA?B-r^^9Vx~SUafn|v`+a|$ z!L8Rmio+gn$GFNlV;3Hdv%caHes`b!!)NN=$@@uoN#Xbs{$YLO!#~JZ9OEVA*+t$u@Dldp zHR2dA>U<4O21CzNOtS;ScVe)MIw|-PD#BWA_#(_BVc6 z!SQE&qxfFx*k(U|g2%#}e|C?ntk=Fz^ULpjUy}d52Mqpr4?pZz#g%wy`?A=t-ez6m zs_M-Fx84yw;?R2STYX2$KJYhw;+(C_Gt}>#r4Q0dHg2p^j)&}k@^4gZAaZ>SwG%`N0GI8Z)xSJJa;Z;@|t>4 z`7e1~eUbm_IXwp+r5<#7_bM~)wW+t*h);e;TjA zA7=be``CEYui(zV%KL}?buQrQ%po3*aT0m!vhPD2S}(sv zeztgXZo~!qof~mfb@S7Gz6)1B8(+dR?B`(b$9uf@73(XWapFZ?f17vH&!6FS^y7`* zhuDJ`IQJ|2Q}**;@($eh#^QI@#V&aP&&YG<5dT@m;ThpEaB+!86+bZ#{*!sik9eKu z=E3XSYvHfPcX{~Xo~o~df9g9Y{p?LEe^q?M&&$4fFS8%^H+k{#{TyHZ_6^uJZ!xKn!_=7-P2Iv&5hs+013 z&PnBI@5#aCxk*0tqUu5Ls;8e~SI3i=E6=JsImh&u9{1Dg6rPiO$=+HIzR`G&_gC}I z%~Hde{lUp^e!w@He)WSqJ@Vp;JU`$$C%o%n|2Xg^ zde}*RMSfeC{W|FBepatKj~eQ7^7-~1LR}Dt_(|lue*3%oKC07QkA3gF%f7&yJ?zKp ztZPI+``I(B%Q>^&oE!dDAMq>uRy@Qx6L;!o=S6Vm#yURU=Tsf#zv6FQk9yqBvHfz- zK@T2eeu~$`v-p&6 zUjKUA<@Z!O_f_iGD|Jk}TK`IaH~g8t=dUIQUu_&Y&-JzYAn*C}@ccU9#(itM5BfTO z9pt`szHgPEhk4nv56@5dEApr3C)~KNZLh;T&*1Z5H~k~=>;2&MhdaLa=ewQ1x?BHF zsd_)czx?}=@}Rn@Uc&4B`cw4goE4rtI}f;gI`9Yb>KdLCezn!3hF4v|_sBP1QSZa* z4L!McvaYQz<2mL%;H&el=*M%^gTWr_ZTyO#VC6lC0}lS;5YYp z!P!H;{LF9BV_tr!de+u!UHrh$c!hP9p4dP5-@OyQA+8!Ot~#Gt;>v!h8{dethkolS z9uQts{6YO`e95^O_?Z0-pKwoA{&ddl8(!4#;tj$1yXs}mN3BDhZM>-D+qtZD9q{5Y z@oVub=Q94F$9>cYKCCPIGu)5(-X$(F{|N8!o>BaYJbm~*KJoF+TPx?V_z&DX_zit< ze1`w0!#L}`4$r@K+a6;>)C2WS{rVLB@+LfaQ5`Hk0MGed>Ui{+*LzW&_tcyE{w43KbM8-q(^Kp6 zp4{x0cW3OW^(G&)e`a0sd%x#VKj^_9yeINAKj0f(zUpkVhn_AES6?TdcHnh*)X5$= z`>mHB#D~0mk}rG2L+aJCuEv+(^jp^nH}A$J9(F z0~(Jy$)EI}?7=e@e%0=atQ$XZFEq05y6;N7n}2-FIdwkB)8F{mP?ryU$-F!M6Ay22 zd?fcG>?wKgJ@G61oew<9J&}ELud=c(JkdEUo`Uz_arg?^8GJSSu7mum z$?ewn{Dgac9rSm6MGpRYr~k}z<3{?%RU1C_{QZ3{@UZ%K9)5A-*Dvo@9>-^P>e5Vp z*T=7xd`ixFYW~Ao)lgFaOBXT|V_?^AkQG|3w~8P}lflnm6+FjE1w5ym~XEpFEsAUZGyUCy#H` z_Z9ogp48=in3sNf*h8K@>MuXny5j$ZADB1(e}lWfYH>$@`ML9%#20=1Q*lk+KHA^l zeIEz@mUuAl8(jQmedhJMm?geG=KLObRPhY^fH!o$6#L!#(qHzg!}O5vI6kIMvlD+i z$shQY_nzWc)=Qu7Sa?O7e?;CohWR5ee$7*S%yatOFX21%;y1p>8Q1VP{K|7Y>3_NR z@y-1ey_vuC;8~ut2Yo>qA3%2NNL$NM%r>wYPDe^{?NuD+``@q_nmJfZlT z{MPk&uMfWImj^%H`>@pIk9U9aNARi>_`_G?*0sr}Zch6gd+-qQlYH{|w65UpA2vJr zTmFwcJ@^$pgMPe){^%jko|4C7`I9~TAA7d-;R*akfA@dqIjKt(FV>a#;y?T1{&moA zUD@9^czDCIZgo5Hh?l9iepkrfzN6t|{Ayps`=*~gofpBwOXx2>2VUem`LzG>kMFDH z4}No=oKNd@KJci<8?3MVkbQ&WR~0Y(7yWPU!|)yRSik$D6Tj;Gr}HJ_;O4PTJn28( z=eu|odGq5{+UQxy3$-uS#~9{$w0^`G7n-R`NG{ z$a@cG7ya_?&OAHw7M^ukuR5{RA^a!rf3+?=#Cst<<;V%-`GFe}DJG-d0ty;&qVw zJAV7~e-=ON|DW&k)#6tFv_Jj%&iK{z7!TLio^bb4j34SUzDGWKioYfA;scvK$y@M}Prm+E zoF8hv(XZ~-yzIdr__5hv{)rwuwD^qr8^0DF`>XEb3FI^H#!phW)ZLA5;6L%_8$9!F z>&U#;ySo0!&ER-x`I&rMZ`aQcg|jpMTlfqf5<4e9WWBSk3$Lr+RmWbubhZ7#V~Zb% z?~ge*>OH=u&bohT@}1|nw>av5Pmg(HPwDS?>=Z9`emzVYfK2z7y{G|7`8m&WZIs z+qv24kA`2Z|4Lswa~|<8_g{YJIDdD?m%pc2_0spgv`f7XPf$PA%@tgKsDF4)ewU$c z4mjTR>9(VIOK|nEcu49^&4afjU;RJqz0I;_xs{%WA%_}hpn(U7j0#3YM@0oCv8A@v zmQcwmvYJg+Q8H!I7G)z(|F~Mew}4B*rQlL<3BClg4xVSFa;4#u$u9m>>3oBOz>60z z7O;VZwXyg2owxY3 z3&Z%qeaLZ5crnhwPR~JN{Ee^N7uC7M8_^HPfqgOK#x1t*b2RO5>ZfrtF7i3xa(uKi zjgR{7N5%JksAs$s@s#E6!^REFyV&=QXSfc=3C4+@OZoiEbG{f~_gn4F?cVSdhZwiy zb_2iY-0X3jj9dI&O|MVHcg7E{8^=T3c?X{3G{?d9<@JnlbN(1_&~J6dOZse3Scr3SLW?611H-VN^; z{c*wl-ME_UEnl7a*8lFL#$CoGo@;rIRoMT0UKVk|m#6;nyu$s8)HqJRI}%@iFCOuX z`%vQRzud>8UHv)j8W(!MXuP34u`i%6-}p*?v0wU8^^FJIKkPSnJXdlYhN#khE`WNKVwT$RtUjH@hnT$1jvUG38@`{_7ZZvX5D<<3{f#q+1}*R4E${^q3n zKa>A2CpDgG|MldvUti!mrSFU9`p$v>)HXrP7PAAthrvuz{kvH9G9>|*s zzwt}rZS$=6O1_&uocTBZ>ZG1qdv4|PMc)$`o^X>WocpEcAra^3 z$IuB}KW7|ZTmf!eB)^~&ae#JaedC|ZH=a@7e%Md_FZ-+KF>$}kzGc5XcPQ*z!FOMB zUpH=YpL9HF*ZRh3LwnqZu~U8bb5rXXpTzyP?Yqx7PU^b2))1d3n~;Tk)0q`i<}SJ3owz zoR7vq#vK>jc^Cc09`p9g@$@_@;#T{c^kbe|Zd~Gd681(sqn*Z6_Q&`sMw6N z`toC6gkRKgKe1n5o^dMfE4d$@7hLd&e`w!*(ReE2H0{srK7mIZVn2*0b3Oaz^)aq_ z0+0QexW#zM^P`CC@^xg~;(C#f{%VJId;QhXKI0|h0QW=7UvhmexbcSLZCns`8BeL> zbdr#;3|=2N|xXWrMaz6)_wP4SfHPx{e{pVg0U z@}}aZ;@PH+54dpW)FpYc|{{(RfVVWoLye{Q(te{AW^-i({i>AsA^4WDVf+<4*( zzNz@Qw0pz*h2Q=o^O3X>hn2rMxc}Fu{O!rd??L>#llS|L`Z3R!%*Vd#Igh{Kk5F5p6wNJ_G#n4;yzCOcz&n8`?~R!`&ll3dHNlC^uv8F+P5F>XSOf@ zq8~b`-N21AzD#!9aK^_tNc&>nwOo6Q8%&M6u*Wzd;seLq{?T9Ci_~~QyG@N>$Pd$m z7p|M*u5K|dbDSM_Q}<=RICs|Rc*pfxlOM32Iy;rmzrip4?MXZ7;QN7#^Ddt^8ea|L7ULu1 z4C5&GPxtXJkG{`0jIZ2hW1n|_*T1q4753L0cZEH+=RWTKoA+z&(O&mm_haKl_rIrb z^^9BG7v1;WM`%y`?XUgvd0bIXJG9er$>kZhTsySiym15dB3^Ku9Y1x&jrUBg&vo*- zZp3+xyD9A(A1|+$@u0f$wbTBadR=Va^drm)=tP{OeObr( zq>l9yKjIR%Qy~K<2FZ-{){ZH+`#ZPuRUZ#$B z#Gz^a#QNy1eEpfE{{OL={Gk5KbWv{pk0qTKyKeX&i`~z5oO$>>4&Ux^aGjYxbv-k0 zT>MT4H{ImrXWa7r*JnJ(-<&kgyZnBj-(&Q7qt68?kN54}|J*-KjRV|I$w$0l+$JyU zxL+AJSfBmMecp4CI4@Gi_{)9R)c8Uj_e<-!?^$mA@{;ko=oI*|ufUJ<2>YR~`rjm*e*(^TX8ZWw|=`$9T%r@wC2im)F7e)pMNf zx8rJ@;JBE|cfL4&;@YL2aff;JpW<6i`queQ!XqvbCk}e+oXCC=7e#q~58Sv(9p{Uw z<+f*Pf909C-#0wl<8}1Dz;*6@l77L|`?tSp#WuFg;URauv&`@fv)X}M{KXMU3(q`6$&bi*^f;XU!>$M5QWb?mEu zcT)FdpA*Hoh38*BXEb#m)jzvG8wZ#-9&rD4zZQ3Yb)R-$wcL8fA@Xg<{esl{?%3b5 zPTr5zb$@!vc*t{ql80WjqaBWi_L|x+^YTrtXTMETd&ZrSI_{nqIo{wAuhNd^4W^#U zd9LXD@DWF1hxx*}iu^bSb9|HC5w{pG7!UY;G{;+<^PJmxQ9f50={iMR>^#V+{G8hU z1-G3@pW>%}IS=huPQz~FBvaeTDdVYbv7cTC=cn_5@@SXqpH-c$Jv z-}*Dv7nf(+;H}L6&u88h`qS;#e>`~qPbXcZe*e+ulm7mM?-|AOGyS~r1^GC)%KI|= zOT-b@Gu|+DA2AMae~~Yq_49t?e)jV8FZOZuwTE)!s=TlHo=-f-v;AaO-se0g8}!S( zdXA^Mj$51`=J?9^)%c6{ecl)EzgbSa9N$Z|{ugIFjK?AluwUBib1CuvgFD_?)c-<{Oog{lAHap@=_>Z-#p6Xs`QoDu3(T!S;ObCO)D>;zd8N)doHHK^+S9#NjGU>J#Bcdzs3EK zX<@ytlP6#2kqqao6>*QIrHav9RB+nhsnCi*Zp^m=k|VI`A&cBpQ-r1jEDHT zlxN)hNbT)Zf2MNl)px|L-;?f6dCNz_SIS#&;QuFSmG^gNeH8YOM(Y13+FzaWMLI|) zspa!;53l~;CvBz=)F<7fr5}8d`hM>EcLy*3{-lev{GTV^{;!i(>pzhHtCRYEO7UEX z_ub-mH{8!ZKm3SeUXpiTH;&<)qVSy7=eB-7%l_DHmVlTS_gj;HI6t^Vrn+>^YKYVI8MQ>AWjGUGFLV zrto*Q<`T0bW}$;vCs0I%D*W*>*oAQ?OOi6xb>dX z;}5>8fTD*Drc4;p)_cZ}Oc~-b}bWQ_IaS z_>END^eKF$dXs#{_Y-)(l#isZ&JAzyXR6mzev`l9zTaZ})rq@&KiKC!!#Kxyh3{=H z;+^F=l;7i&_r>v7mdCl#UxFK#nWE>p+TfgMpl5tld`?BY7x9hH1C5uo<0r&X#(6$J zdfMe@~k8Oo5FAHe$(w_d(G$6cHcFf zY5dIR`r<2Hhe7_E;@@;`_`0^Yweae&six=Xvlv z51!}2cXu7EOMKPA2dO;Mo$B?Jx7@hFb0N=*;<+91O5t2-5HAhmDbI^6=e)`HyP9#2 z<-V`<`B}Gb{hmSte|ge~zqCU=(#3Pi!t=V~ITCjHK9>C{*xfkSvOo3Vw3pM#d0tK( zzno6SIj8F#uakNmeoifaPS5pv9*5^~D8KnU&x7ZA@H`Km*TKyXtoPi1JyvOACBK_WEyl?*F<1c*w$>(sL z^R_|SQoroyctKdtpVI}N)66r!ldgHob87i>`n+#E?;Fqi#xq5bbtiA6c))UT^QO&sigO>|D{ASS%J<9tUfJaR^Tqq|<*(2DAEfa;ed4Nk?~3yy zfB(VwDW2DTa&-LtBzc~z4d1Wl`;RS+&m=!c?dJ{e@Y*G{{=23lwQv4bf5HFzrZ@d( z{Mj!*`{i%mFF&uV=XLcy>uTWV^SoIXT;8pGUg{0-T&_;L)LVS-+xi<`A?>N&BtH_q z$v;*8R6TV}S86Bc8|4`U-$z&>rL>U>@#2e9jNqu(CP0y@Vs)6U;ciEaW3zJ zjfdm^I{8iB_<4aF7dOf`_G$l0c8c2%^E-`0O?k`bW&At*b*Xp5t*7p${vdT+Grm*5 zW@^{^)-x416*pZ;C*$=}Uchttl%MR~;LY+&YW>XX@C)g>)ZYo8DQ~@Y!F$3t`T3ss zO+Vx6o7PJ^<$|vZuHK})C7$?7*J;7)q~>?3|C~Sm>bp7)HC^xij`LxrdXA6v&6|!3 z-|~5Bw}I#S;?^_mshySb`_j&hH{P+nx~4b1iJqza0p3!3i+q2gp5;5$FDY-i`_f9~ zHRa`x3vT(ml;7%!=XxETlJuH*@?-LcaS1&AT_C4PT$@%xyAxTSGUXMXaY zm+{Gbb^Jp7z8G;&;5;|=+;7A8J^zk=7w6n?gZo@`a1N-w886z&d8GdjYWsVizW>JW zcn#tyzc=9bB<1^FoA23aU-LPz=aTC9yK0mV;=scA`nz2_U6=S>5pmMsrM!5*;O&Bs z3$C8&OuR+DKY@?TOY?J6K1tfM7_rwz~7kq+`RKB0{Kmo6ebJ3oc@a-4lRsPw*3%K8F@c%F_;xxa{P(C^Q3GVxLgWokP z#FLHZw*F46accaYE#vI`9OzB1+fMUld5)LnSz}(UH1Djhe&pq)`D}T$oV2IByqj*h z@F)1Vlv{66ZYtk=ztq3s6Taz6^+(EY^8JF}`0G9S@2kI){!Dq>FA29^1D7Xm+AsBP zeCt_0Q+@HC@SXA_<#YLS{`i~k+Bnq9bsq_zDepM6gs+sBm+=AbhFkBJ&PzKb;fs8` z;QLZ8UQ#{rdciGUm-3!)^AmiKuEg7^+`Q?HZ@Fnpx{+sJGY;|GVG@sY_T|aBh~L+% z!~>oE((mnw&jXa;!p4?{=>spr;4MqwbS2O1uw>F zoL`lCbf&m*mwa@LqsqU0a~%8~SAXYX8owC_5>I+=)i~Gk`wJC*$A056L` ze_iq!?}@iB?L39wbjn4)UU1vFrHgtc)xY8DO!yF=*o7&HupBG-a;O&C%gfH^qrZ?R3eyLXyuFkmN8(f}w(~;`^ws=ElCcT@!Jkx!t z*Am{@pSN)gsn35Z`&h&eJ{RL0V!)SI_}#0{z7=uKCudy@+k3_S$T^AU4W0JNKRx9e zei8q{!L?ic^3lQ75Bwh=yttp*F8D&fi+}K@&Ne>zhi~Fd{+}FtW}Reb=+mzXKXizT zjK_k{_&EN7|MSzX;~YBhE8`#b6CWM^Gq`b)=UuiN{C{=YReu<#wSyPhZ3*w_ z7jfb-?Wx-H3FB$JV?6dh9lWU{&Nvv4#d)1}qBGS00v&MAC;h&w`o51g9^f;72JIW? zxz1cyHLb7pMBe(Dm+_f&EPr2oTy)+QUzhsti}#C8x#0DJ-`d^qEpMs5c)8#`)!&IX zQr_})!7b0}jX&N~C+j}v&$|7tj>BYrtTazi9Ugs+s}8)IRrgl2{ z>OM_6jSGx>$PeE4(QjA$^z?gS_<8q>#lGPG^>aTe;Qr1*LqGOk;uf#-a^EcHBOW^7 z8=Z^~@MgQUJ=U{(oPF7LLm!>Ocy{^3Ei2o}Ig;%b`JDfFefq0b&gY~J z{TLtOF74U!!5i%cPCW1yUXK1-I{)C{+B4NB{_NOO#gDP2fJgiQuKgwPm*bQ0qW#P> zw>WQ1q3s1bKc5}UPDIe~8q?>f$kA06xe?B>Pa-Zz% z7lrqi{9W;_KYuv$%l|vP++W1oDevrqQ~%GtU$H0faz0+?q7Hb0-x6NY4;+2>aTDjaeU%)4L*h&1UPLppOmD?@n zqkixczF#$vlc>KEzR({Dugt%e@OHts{YrdwX2P5ON_YY93E#|zjH|N~f50yZcm8kV zE3dEdk~nc@asG=FUsdpk)4=6N9K}_b@Q3GJ;0ydUzde==aoc5{8+U2Hznkmx#{O{X z`+d#EIBeoA3+8KjR%cvyOP?t5ZY2JvJ=AiRW>C zb$EsAqE1|Q#zB0@e^f7JYUexR1%6L_@vJYt&vG1m&p-6_BaBByC*m>6ck)w< z>#-8<`pLNbtaHoHq^n-P;O)1>)!nInZpZSGcu(Q$!nfXUo6d`F#uvPP;qPbsacO;5 z#$j+hSGuk_pZlB3C-ocYWW8H&sGo4lC*@0CN_)y%Z(Q)1@Rjn`tKdz$^so9gQr~y- zd;bmGy#F^w|L=RY<;%10E&RWJ)$g@!_L1rSlH!&j&VDhlvpgK#f4i{@zH(p22yz=ifW|Gsi_-f7jue zT5eh?U!>wA<;9;$*QGu6>Jz&1cH;GvxBSMp{Hb(abbr_QQ+7Rg{OOS}gjI^g!FJ)HW!_iMja(i!xBixYQ=7j@Vl zo8u+UzF)wXIQ$A;jW?3c>-gl@tA6my`P}f$_&EO1j z@xteVH}w-=d}${#9saoBHQ^I}j1M{+d_6RflXTZp(s6yw#8-BshuAQ9#8==0os4(q zdD3|+zH+_jXA)nXnec^v#7o#?+!f!We9<0DDsfl5&;RMcjk_B9>z4 z$Dv=Y`vf=5{k-9wdWCc){it_YkL!Z(i{8L5d7tNf+vGkj_FsRW5WnZX=If2x72A;<=?0;x5PqHukdBN)i*Z!L9xm{oR zE7>Ezi$4*Mb;f7EYNtc|Ri~;0zTua^+ha+iU$MSucYxQV-{rf0(J$a5;e&QFzVIg* zZ}3;rS@t*K6TD^|{pI-;{qlY=;wyh|#PfK6pXHM?KJ}}UdOunCJy_#3&+XU4;puNX z>rDI1n@;^Zu>fy3*^0 z|DZiKY`+{I&yhk${v*4Tp?<=<*F`&@;H%$~PC;ji(_hCeaN^Yle<%LTIQA6hlYH>a zb%}V1xNc^gxU_>$#~FLXm$>_T)}dYX<9e0$STf*u?PMIpi#U9BVxI6^OuWiZI-#HJ zT=KEgcE<%T;^^4!csTv}&3_1bR8psi!(a4wzmoq*fBpPdKCttrCfxZG`tbWjzk*NO zW!wt*5a;^Juj0x6BA)Ebxbrr2;D`O{pzrxu#Ba_w?;nl3xW1cnEq^~h-mmk#>(}kH zSWi0s_N4xwqwxjhtfT%F<;-jS^P+q*UfuPT(n@|MTpiPy%H_9&%M+Kk6K|xvfLbbJ*Q`$eb>feFdr7_Bo*J}TS~=UXPt8KoX$&myWo@fsOvBAC+=VI zKDqJL!?`~G{|^0O2QPn4IsRbj$9{Nl??b~Mesu5-zo|ofwZLP4`S|cRcy-^wkI7%^ zB>x=y*M~=E;=hLbwRVDUaenX7cDp!sif`>fe`NdJuhDPvv2%b=?JwuEGauY}F_TV* zU$irw3srH?+29ZH587$LcE#BrTh_;(;{26Qzb4}l`tTjMF8>L<(r)nC?@G3labAvp z=(oofv}ZYP=nVKVp7i%AyeA#oZ3*A#2hRA|uPPthan88?&GSS&))C{WPOL}!#klQP zXI%W=X!rU)fTN>+NqBdh#j(GDS8>`ko{4syhmODYz@O@fV^7u2ggegpTuVD=Zz!BZ zdm_GKKIpHS{0~mOhCdv}QK)%e8o2X{`_$$CQTmrh$MdWPK7M-eMSp!>;QRH1_0>tM z>y31g?v#r6gb(XE56qLcl;7k{d&-NC3vT&S>AckcrtqiQe=cW!UarF*>-el>Z%_H{ zJU6Ahk&cAtevYh1zOr8RJ01Vfc(117KPvIoz|Y5h7WK!&8F&9*Z4=kO@t*kvpWyy} zV8j06KJw|&vtP}9FzINI_vs7$rVf70c9(X(IQkX-R{vieylW5lm;V2|3GR8F-$S(B zqE0`ZZN)&39Rqu+hc zisv8|d?kL7FaF}_h=;!8lXc4ZbnvMT_{#d=h520MvyX4}9f#5$YYg=RN9Zm7!58DU z6F+opH|d8x3D5IkYR^N%5EA+o^TfEz^_=+8--P#ze&Da#Y0&c-`QpSg4LstXQ!Acd zXM8#j)qyWw9~#I>-o{V4w1WzrcO(E!Tz3b`MaO?kSP`WBaU)j;SY;^;y};y zzgN*Dtug>=Y1;u!*c%uk9OU^{Qqd!6LH87u$TTV^*;b-9J;vv5S^}mIiI)eArJN5*QPSeiNX^%A)c+-CP%XW>6u+!^b<(H!~;fD_U>Bu;Cs*}g9 zz@MRiDs=FwJ?taezs0e~{sup_`gV`Jop;6655Du?@w~L##nbf-Jk7(<2j9jooqjoPo?rPr#Bx5<=YzbL1zbFbD!iZS zePZ>wf#+JjN5T8?&A5yAE{5amc^K=!{lR@;!ds-4oA$Ji2Tlu`y zyYbb_>5V_pH_i2a*ZEt!H~d}gS(kBps=n>!`W?M@#nstQ*pc<*-|FA^88>gbFZOTd zeWiRPd;6_k;x+TE_u~6f_}22anFCypX!wJ(ax6eX}=O)X*cXa zXJ}92i|2M5{4Jk;sh{J4?f4iE(5^Zw@b*|DKlHPm@)+@8}fyoWI#_vtNI5_!Ir*_%lz`>GIuY zwI}d$KC~M;z_uIXpT;?G=6^w_YY%a+_6%|6$-1;FKXkBX!Vewvt2z%2=1IhR!W;Zp zU)BPjubRkX>UFH|hs)U%>tTknx!3>cjcRbIJ8@PCe}`v_H^wADQeEg;ac} z{Bl1@{ESb^Grm*(Te(9$|6t|vf#@EH3 z8-CMK*Lpd%p1Ap2T2jAm_3Fib{h#Z3vYsk_cUH^gH7bfd-8hGH z&gpd&|DWH~F-{xp;M!xn6iSazWx2Pqtn6TdVO?o`xV!Ves%h#e&PJncDwrJ zd~7##z$-fIsrf*BII%OdjQ z5%4ekh+Dub_(=R4uAN!O@oz~-`-9K;48}S5H=K3XGoNwuesgvDi_SK_N#|O|SH<%v zbQXR)o*Qy~D|q2t%lYr`-z;>-FHZX#zVmi79>aZxeoW#*{p50g;d)f_r1DHR_#|D4 zZ@KBMd|v9^aP>_4rGCBO*86>>^J2#h*RFM`_rAD#zim1%cHHou_=|kT_XU?fl8*cd zE>GMv;}iZMZKUFxd?D43bk?u?S7RN!ZpOn|Z>~H2N%)!1PWg1bxeh-)cm;QT7T#0R zzb*6&`_y1vZt-$H-Sw(J2bbS3_)PfL4=3DliG2tC=6K4-Uv2tT-5>FX1^ptf4){_B ze1Y%4+bN;l(C3_I!f)z>SMV;L?AhWezB1nM_YfBSTJni+?eA;+m^o;780Xyh$)0GJ zeSbQh>VQ}9;L~62Y4Vv@&hy6eknxviJjLBl#?RiwJLh1YyUMTPpB{c(FUQB{&WuA9 z|KRXT#<9PHPx6^IX=~S#rg_+#6Nt~&MuCAqur5k+YLVUSM5xE z@mTN72le{{cBFX{egk_#=M{W#b*4Bv@`pHl$ERKJp76;$3?1|bc<8(@?sZ2e$5)m3 zWu*AZxXb_JW!&C*KDc~tNZi$puYSe2`F)?SPF}w6Z*10;=VRkvAD-h`XlJs{TrZJ2 zze&ZXevMT8mddw$UFv1tQ+&&_>F(VCps(XiQnq&WXE!U((kb@D(lDlp!smt&-k||E!3;{nb?nEPL)i!b@!4{E14I?eG+_=cbNuK^zWo&HdJ+}G5< z;OfLa2!Fv3oN>^ep}uhl{F(3uzQh@a3ckhJ-{nVq0$$)dKm2`l`Q3Piap>@eIQBaq zqTRG_PWhgnFi%2<{(4_ur`p$ozZ^rd{pnf@@ z&N%FZt5enSx?pFOuyJg|u{r;fuWf>0@pa|dxc>IX_2T+4t@`07(wWK^`5V43{EVCL@J+?1?a&|bKUAtcx&0e1 zZ>8}NAMc6Zbkw_*KZW;;9qoeO_!It0^`63a;&<|mbfj|mi+Rzw|CydMvoH9&DT{K~ zN#pr@r~Z66>&ox_>E9}N`Sg@8*4@@`=(o{X^6@7F+;;T?6};<*+4n;~;oJ4@K7!w# zwkyA!&j#NKx82z9;CJ+6e+QQz`yGC@p+B_;yk{Jpp`G%<7kF-WzJ<5P8a3m2|1ush zexqLzCvaUH&)4`dNd2h}eDNX9^_pH6@p|mk{)j{H=WpSB-@MSTtq#utTfQ#DEnctf zc+#$TTo>Zch0c=C_}FgXw|F)6t7zwkr@uq{)n{Ea@UVwCvuB*^xE)V*&SfbRe5U!l zvd%}xo+>Us#kWNqeaELI+;%g+pr7%U@iaffKd@fZ2|t59+Fu?{fBgLi^~3+b*Us1R z%qfU|y+Q}R?T&@)E55)h zX(QDibn?^n=={bXSK}!1i*qXd)z*K0an?m+y^IIe$;*>=@bI7b?Va&*J_EnHA5MMX zva-Kry+?nvhxIIp7gLB>mVQ)v>?oe-C}_ zasNeUfY*di@LRh*@g4uHBcAz=TT41O-0|Fr{}#@;)olL{&Nw)4XL|0I@$%FEZ+`jW z;0yhNj=%5mR)3j4;?ZB?CGisdI{N)GuSUj+PYU+Ly!znihe z`47i#ars3YecN5H;i3 zbVfhCqf(0g-1j+*Gq>^0uixa0$NO52v;1GdXZ^0PPCnu;*6(zk@chx=f8O?&=aAk% zZTF?LZ;3B(^QP~MTW?Ujxp7*DUwE&$z~AER zFWM7+vYe0h1|PiZ-_*g6xlY4xv+sy+?L?nF8S|CDtuc=$8;)$5-43;VO3j$7dPRmZKXV?2re5XXM|yT!3bot5y0Jw^OQ zJ2kTX?cg(w|M=|S_N%J%`N1pep&Fg`9bN#CGXNSLC zkH&SM9DLDk^!JAccYIxHF!?p`I2#0@%e>u7vntKH~c*Z@Issv=Uv=K z`~ITuYx(@5!ru>PTs&9nTo>)KJ=f86ouzc8y!@PI-lX0Q&-LYt=e&4-M|2F4 z^33hC=MgM@V|Bt4Fw}dzSq&WM+1YhFie8gRk`hfvI>_JC-XeT-y z{!IAN&a{u%-!1*=ZF7`LaQ$9NKmv}kts^0^DG$;OF@DTqK>_p%D+w$^F ze582Eeob|JPT@Kf|MAh8;Gy&B!L`50=YC-^KEvzC`&0wGh<}WojzPJeAT z^z*rj{Bl0(O!36;;;f5ByIY)nP@N*~z6n3p3;HeNUSIIgq1}@C=r|u@{ic3Z*D3sg zPVmv!p70OYQ{_K2lusf*{1T<&^`VJ8rs@>&G|m|>wEH@~I&#jRca5){SFhu%qvN>M zSM31&?aa4$FAKck|MR)lGLACt!e1@#yN$2FH*rzCXN8}6E533*e}#RXU$v7Tm*<9# zPqUr$KD_(fO8cVu?Rs{-r*x+LAfM}J-cI$*cks+_7uIQ~s%Pb=pO*CcRDm#Q(U0dM^5N)<aoD`y+n9FHOcRbnF*)Mx4O?spD2W4{?8o-^6|Ii1G10GU5}*4gWP>w$rlXY+Uj2 z!B^Jz{c!NG^Mk|J&ZW-x-^8>1GwTx<+ldWAkZjzf;4I{cRS;yJ!jr({0y)$DJ!>$z5Z-w-=JzbgJtDc9Zj z%I^vKdxMpDX#EQPk5B4*S@GPEb+K5_o@@Esup8Ggf9&^S{1^Q&z3qz~|F%;)Q{MWf z^5tdRa?_Rc#5;Jql*{|3(v{koDWA)2H}k}Ae9JrfBel~m_yk{xzY}h`spX~ty$HvItg{XNDF-o=TFM)qUu zr{YsSe!I)pPnPp(;3MJN^>x8#!YBNlaNB)y-%0lL*e_1OKz|0_9t&*u^*(s;3csfP zap^zBvmX{`JRSdHypiJGzi66vY&$n_u=xq7G^7{pE;>@?rI2Up38IHf}h&amrh7SD_ zuj-&*?XNo7&V)NY;jiF#bOL95)ZY&c=1J|>2%KVc>O11ABw3{6W@5GB)l1~cz&gj=UTsR2XUOeZ}<7&2d6yFn~bkMI{5tRq{H{# zxi6cn|MkC~^7y~8o@)^YHtJ36th8T<=jLT!>}h{>A06N;)ysT&8Q-bC`J66zoivw! z)A^CwdDnJls;6By-11Jnk?OY#E`KHdCNG{-%S|Wze$i>*@^<3gaQ%ww$93mCTllli zx@h=w|IerOnttr3%zM|b_>T_0na|^a`OiMP;a73?FYRmM>_@iS#Z&w+Y`2`x(C_J= z!Pmt<%b%gs9&3c1SqJ+aFXT%@eZB<@9z8X_XE17*Efait!cmWcfVL`0B&cj|m>X^FZ9yh@*;e7wfUI z{{24V`10r&2O6(+cUYvXx|#3J*JU0*?Em?69uE9l`{kLRuE(NZ zVm}qvzxjLAuDktk>KC6wv3{30`)0?#1^(kxZ@{1M)fW#x$$D)1N$q^XuP*e5eAasf zkNrab55ANCk9HHjuqSlN`AqOBpSYsPcYpl&j6?9n)4tHfiCg3k{7Ct;qf?v@`X}&a zf92!HI=FtTd~$T0U*YHe^}!eV;`+C3f6@0k?yOH7vNE2YyKVdXDfYlG+W+$4_N$4f z`Br_tiO#}K?Js|MbhLk|^P_`L+KqUIbHBH6?l0`u(ti5eX*b3he$gKJ;8ngj@!xeiJH^p=e75VcoKJ%vIPGd@ ztY7#Ae!u9nz>l5s_XGK)qyG^OdxC%J4cc7^4?6=dk00^=j<|N#3%?|MaJ}ZMR{q;h z1J7|(@w)dn`J4OYo$v)-6JEi6@7(WQHujzN@6gBJM%?9lCm&GGc~iXi?tPj5%lOLs zLFREYPW$ZW7{3kXTW36~{>pyaPjLO&CO=5co8Iu2bSC-!o;v%&|EBPo^b7fw@Z8?G zl;7~Im-8LHTz|f!Jy~z3dhKGb`k8NjP;W9%TqlFPal7-YIsch&jdRu}AOACmqe54l zd0XL!fBW+@pF8^D$Nu@j)ek=U75f|Zj9(tU{R+GP7uE}YtjPcL;2V3o{u6&*;ZJem znU(rmSib{YdwfqoeABLeL%&ztr^@+s+I`JGcmuEU*IDDCZ}KC)LT97D(D8R}orhEXFW$6A`}6k@x7X#9!!Oz|PP{k3 zbANm0Gj8fQe~hCh(s*vjeadG3`CKsG6VSi#9Mk8D_SbU=zS!Cfs(1xOQSs6EEj8Gmidn91_3h zcG0QeTRwiNp<}#Jh(jvlU-4(+7w7gZ+e5s)!MpyC`P1#Man5I_ zUFZG6p60xDo`5gnbH{C?)Bf$7_AlD?|1nMNF^;0YJB^Qg$E|6<=UwQ;_+Y>Nb^P=5 z$HjFqPP5$@AL7-4J?i*>ISY7K=TpWFdm4CQy;S&9ocKyyoszCsk)P*}_(!MRhJNtB zfAHn_xW1Ur@`pJ4>_DfAC;m?BU7hd)tatG)zwkkSKOFmni{q2<3ckcyzc>C3cRmbt zX!wRZZY}W#<5@0vj;}iW@v70{Nz~~VJjY#ColATbzn4WTJ~#1sNi@#B6~C87!SMN@ z=UT*L)Aj$Wc9^~=$+}&fYZ+g~I^^6;zp-tXdYk#R@h6>h=m$wHHGryPd4D&Je6Xy?p z&w1@S(qE0ApLweO(Eo7mIvoE8=5z9s`m6Esl)HW>^L26VG_h0M`;P%`yMs6?*01dv zzqzi(%lT+$(+`Wox4*zezZW?EyfDs1o!TC&#Jm$v@l|twd2#rSc8mKjeB0gfAJu>J zhjv2;d^_J0zk6L0KEWeiVn32!j33x%r{js8o?FWA@;^WQGEQ#x>%)V4-6J0O2L~VM z2S4x2>c4!GKegva2XFLiz&Fm(PH~?PIG;Cs=l{Z77knrD50zgRJ8t+){2Q+)p7ln;GjCH~5^s^0 zZ@Lq&rM%_U>&-lMUUu>u|K@XY*JJoA?(4;?ehk0eTrc4I?Fk-!iFLPVx9fj?bmqNw zZgpt4qZ9t>=Z8PCKfw?8jGt8%?~z8k;6=Xu0@r@+k$&TA&rpZ^rpk2*{6%||ni;17 z@ud!Ufgk%9c*FkYK1E#D!M(o9Xutcl-_u--^VHv@>pR@vf7~9WrsL+moc2xqlkIvP zmv&l^b$I@zoy9oE_!)k|UwUroe4g6*#j&&6FY(X78P6{M9elxWzkr|g z%a`ETIpCL{yveV&%lvnIn)r_oKdz%V{Tk?Zan^-89s9i>FW5Qk7w3dST%C5>-3j-6 zGIX4u#9i`>`ad{23!RwH_<@T3E%6(873X|xpfmLwe}bLxV|{(_X1l?6J;Gn=U{3)L zKKrtE4*A4UBlFAoOzn}M@X!bE@O$DH@cqzWo@9Dm5?(urB!-H@5u4|unZ20;I?-yLBu6Oqf`Rn267S56MGh4iz&(>dQPdXPW?ict~^|!b> z+Nu8scYHE`((Y6TJGEztqa#1AOVW@1DB07s=fn0`vaoZA!>^75`>D@yYLzZ@O$CSDId;8$_{fc&L@K)=C{c9Z^)pU$tEcsU<+YQk+d4|w_a@PRAwRs3ES`0%-*=U4b)_e1|5TVWnn)^joL;@m#gt??W8eVukU>(O;E z@K;NJMp{XCO6BEL-h`ja&CC0Jr~T58Y{yDG%QK$y^2R&Xm!H#_>YE=4x1QyTdFy^v ziDQiO_4E3h#{4uNzq_Um>)PiUOFx5OiuZWocm360ocZ2eNBW1C2XA@(esXa2+r!EG z{k3Yl;>IWF5B1CWOz_wK>ga8Cj zyrKOazVZA(KkfrleC2&&A--Dh3x0I){)M=FpC>fd^o_HGT`PFLS`M?5AT>yda#oxq86Y`3U`-)QJ>*E{ip z{O~8NQ`_zG!PRNv#9iu?z{}%D{(d<9JZLEcdus4cx%|+f-2#89Lx11m6Q4}3OP5c> zj@xVewA&pY`NkpW>{o~9^U9{aIQlodT=>KN%J_=$EZ~Fp%#knE{p%86#rF-h$NRBg zVL$yEUyon)BKDzoORB;|xC13p4XZ#%>{j2X;RL2dz@AVaQw*6(EPyIi*ao2=j#lJl5svqNtf8Mma z)c?!FAK>y`k1g}Lk1iM7acJuQ{OC{kL)?CW2mkZKS7$kIKRbA*zs~1~)6miW(%#f* zuCI^4wO^e3pw9e>c7J&I!*=B}|2Oz{UAteSAO0uBV?+M;j=tmE#L-cIJ{(@*GikRc zTz36FBb9sa6apoI3Fm^fBcF6XW8|h<0#ir*Z&ZAHS7wU`6)i- ze|+ZiTlz1U_vl0%RS#~vOC9_`x$ryqmhZX-4?my$Om}?H-})1A_|dNW4*Cs!_nqPg ze9A{h{px;4f2Zvx+;IqhfM2S%tDnGcEc=UJF&=2nUvcI`PwkGh?{EFe=jXa?b?|44 zb1HG?r}50ho=v;$7XRQcwSVa^!Mpth_x{!KT=ologI{fz^RC?AM%*$P2giAQar#@) z2|xYi!3+50dby4^>(1*wULL;f7O(H82Orw$IRE_M_RF}%^Q)fQl$OE1Hd1`0fAKyI zdeOhc?=~?0MZaKt#W;&MarQ6QZDaj-t~;535!e0l^dtO~ewcNzxbB;@la_?bGu^4& z{8Q!fzNs{~x16uZzLxUVn+f0K-xs%@>AL8?D_-pf^J@}MZSu?O_i(PSc=$2*5$7}O zI`#|J=@S3!=(yfPhx=UD-J(7BYuDEV_xD0O`r*fZeDv+tz&|&i2hm^se__9?=uG_* z^MC7S^ta`FLOVI+C zUA9YHRPbj5{?ty+S8aDN@4Zj7Uqv0_DDNX22k$#~?ics91H59VzuVBjW1NW_D|UAK zo8r%6f5qW9`9EeHSdT^g({x?H%U>LPqcgMw1@pczB+l`ZS_-}Ih>zA zdDG6A=k4H*XUucHzYy2g^+g;t>DLw~j&hv!ONIBQD%YjSPk5|r_Hp~W^&8(icB(TH zUYsZ5 z>re3H|9#Vy+R1jS-!hNSbv#5B z_NG07e{pc{3ye=ZpRr%ddC&dAz#ikP#`~wXTj{U!t-U1xm5cYKUPoL9x` z@+JL(zr60?E4AzSUQM{aW51lw*lBz1Ls!*JGblQUmU*n7x~;5H26(Eaf0^Gz{}%D`-k`kM_)U; z_=|%N`Wt?a^Xdv-^?Tn#$8ml*`NAj0SsXu5&>7djvvsTDUO|QwR^R* zm9IZ<@v*aeU0xmDBl$OfCU|{#6Mw5;#xob4cEKn9r>AzScz?6qTYTktL!5&%Pj>Pb zejjS<7uXm5USZ68?i=NI=e_tpId(PXtNUy5{DJ#D=bLe>`}{PHaGse@=}39&o2p|f z{<}&?vZtiH?e>JPl$V#&8}EJb@kD!*a(RR6U_8~he$D+6zv1tQROWNUMVwo@E}DLZ z`(M|Q^TBvYouQxk(V17;v%o#SYR(sN=NtVAKTNzI>rVSUPr!cXZvmIDoyLbtzWw^M zW9M6VIiHH1F%IApTz!9c{f2k=%XX7a*blzsyN}=pD&tdK#~-&-1AL0NH}TjXe|+%C zI4t>}9^7#Y9rm@YACu30bi+>lP~o~e4iV>kar8Uw7X8_mZ`xVBzw~^aehu*9^>uvE z@mzn{FXIjPj+^U2osEuh*RWmfREPMm+F!>3KdR0KH@+&`FHRg1_NdRgYhFii?~fPl zPI2Q^@Gkzv8Bh5`ob@~4H*o#D^P$N zCnsI3mjRxC|EH_-qr_iyepPS2>@- z{Eu-+c=&Vt?SdcvpXU)1Jk}q6po1^%`Tns}JodpHAG&|>JhX7#w>lpj9j{C1aGzCa zcdLWGxch1TJxTqI-|LsJ|L{G8g?`1Km7gDbNv>%?AYmeI^VqRE%Wgk@~iXn&ySA%8sf}n z@gn}w;ZN-E`X%Bb@mP<{e|4Jt?=#MhkN$)>P5Z+SfEW5zZ5 zc&wfFH~fzM@w*Yu2cJ8!pAY?=?R|vzi(=L>de1q`zzU<^R{!tN2)LX zhC9!XW7XRU!_@bYKeW9o${tNinS@f%)zuE3o|AT{f=Y{-oKH}l$@vB`s z<+Dy5hw8q7PIVn6e1p3W7Jd(*V$XDae|GF_@Ef@CkK-IVv|G>#KKsQ&$NA&;xq^=$ z@;uOS?zW3P&dVvzIhgjycmK7&6@BBYg`J)+g@1MaI1c!y={V?*xR2=Y!;do0t9;x2 z@{H$zKa4|ucJPipn|2pE1AL&fh_7t7Iu6Xkg8no<`Sj@TgnRx|u(QkOJW8F${PA~D z)bYA6_5tmm*y(-8K)*Pi#Cr{ULjNbn&gylsU)Zy<&R-n+WA3e$mdP)4^N9r#cBA;6uMbT&GSIXJ1yQiGT0dBR}Gq zaz5K}dpJDcB3|DS*Us1a=-IENQ!-B6GO%a9qJB9auh(n*lxydf&p0%%yEr->yo)nF z1$?v4jc4>T@qW8}{QT?q>eyp^_4@txgD=)Y{Jtpm4Cc4%8Mrj?W_)G4;;wW2>UMp4 zAI19{vEGRHT#p6&^;bpv^gk)p|ICDM@|K(bU8nsUwqsrNazAdo_qK=eAH+?|{lqv5 zKW4lzyR z20DQgw-oT={`HUBV-r=rxc8yYzJ(4oHt{h>a%`jdI6{ql|9 z3ge)i#qr@fs^h%%dkuyDs;_@oUN7UBKY4SWMBF9r__$vF{O}w4!B2R^QRr;#v0c_t z2M_=7g6oByMSqyibN0jG6+Y@@{!l;hoAxBUfY*fA3$A|n!_vyvpBU#?C;tfk=FgyC zuj8dt(!pEei`Rs!6MV-9oz>rLw>h5be2;SNkq_>^))MY{Lh<~Hc4MDp|2w@ZufIRY z`zYdzc^vVTai%!)-sg$c^<#WhkNul@8Sjby>A|bG?Xq4xe;=+p=Hq6bFH-Zv`JZsh z=M&}fzNxfd>=+mPsdm?;UdD4?-F~TWx#@)G{?du7y3a|7ue>hx;ao@g`UihsvE%1E zyz<52i%0#>4qln(Lw}O+X8h9*e`P-Yt$M@rwOb=c8kf zcsGvv_~4FD?2p{nH}&-s?C*tdWUXg974abrPe*sq_S zadW;E>{Kb?{ycAvvFQu*E^Q`Dt(abo;AL)w%7SyoL|`K{IXu#YdKV^7upnb-D1alWIYJrRFc2NyaqugR~PxbaH9{vgh}ANGj<%^7#`BJO&v z{=?xFKj0uf#*ERc{&sShA-w<5B{mAfj|Ae z=)o83puactrzSmqHgUxJG4Wx%_(KyqrSXC|<#R*l&oIBjA1d>wus)TKj^4&EbAF{? zn!m;K7wYZ!Nqa!Yc}i(~Tlep2JYS!WN7BpZJ)ZC? ze%oAk@DKeb;tca<>W9WR{7C;d&iI~&xZ|6@mn7f!rsP-r!RJ2C_hmd`9p5>g5XXk? zlFxH7^`~+27suZ^{3=fVX8dXD{N(V5@kjj4!5etAi+QoMM}6Y+29G$5j{IVrFXuDh zZ*{;6^~QLK>rd+N++o7+;vclfE7Wh|wpaVjul~2g4}Wl7`w|@fG#?;OXtvk*@yqA+ zPU3-aMSq_7r@#B6|8D%%{rgS3%zp;o@3Xx{K7PCL=W4yiKk!YveBYs>Z$9Hby!}?? zyANYOgWIk}KSVxo+b_aDwcohwyr_<^`q)3T)BZQ_qF&qOeqe(?92e~A;7y%ho$=b} z*j~S%V!dJK@8F{|(J}w5;9dL4uf(T*_|5Zr^?%;uM2_5+AM|}9(=k2P-6Y{8Gz2g7r@U>?@oMWGJb@)B-az5bY z9dYek#C=ra@2h59f5`cj{nL_8!JZ-hqxM+EU|fng6*uslUv=hbi+t%^Fr3#3H(vR@ zEZ=9V>i9k}_PBqw+`j^^G{HhUOn(?Ky$4dr&?|q2xy*nRVM}7Zl;Kz|) z{q*Qe{BJn_nZL%th5w9)!{5XW|6glD(8!JTR*^m3gc(39r*$?7Bdyc#Q`geXSe0AdfOnvM9~wwbd%gvJ)ce)pSMcEDKMlNSC;D4``vL!Xfq!uHo!72E<;}r| z_Nc?}WlivyM?5zd4;}npJBRb=!{_>er}z-@r9Gfo{>{%DQiu=3_{(h@Y zdHhuHlK9%cf`6`iXPi7x{i)86j*jiB;*Zw+=^y(!@aO!U@}foml;9sB*Q1&E5$7-X z(>@hCtarma>cHhienmew`0@Qg`1Rl0ii+|tcq8>~2^Raj?OS04Jmh*)3 zld@m<8+@em;+FY*$8Q_!OROjQ4{<|(?B*fh=HpeI@$)%CQQv&ySI7T$#=ktc^V+<{ z{r?F+;!->O0j}Tp{;KnLTQ7N0cU~J0nE=)seDDc>sRO zANddM3Y>ZucyV0-S3l!ZJ8ds^j*P!)k4oZGefa7O*I(j8Q-^ideaH&l#aX`!xa+d- z+lT(Q*zwy_R@!Uc;&Y;f&Vpaam-L5fy}v&?#$oMm#3$?B>hN5$q3?X~d8PcB^_h3U zC!cBH1%2}?_0@47sZ#GY?*8i7U$n>m|Lp%C_dd8%ulkKRz3I=X{uf85>u>6VFX|n% z*Y~E>-{4n$>~H8V*N4wfz1mZHnXgqrUbKPi${h zhxaNQ{LuO7b9~-p3ODB4C0ILSvk+$ANM)6^Q4$Z;kQG-G#~qi({I5i4*I-) zr2MMlN1OQ2FQw;KIxpV9J^rD}MLm|*laIx7x%6*zCgn)@0PmFQtaL2T^SSJa-|^?_ z{X6TxW?YOLgZFzE{wD7G$z4Au&X`|S^e5x$_n54AJRJWpkJ{Q}Jo)80Ka)=Rl!R(eyWZ4D;n#d`&t8jVf~HYTcDrKHyrl` z-~7b&T72M_?qBKGQ@b&GWZqsjF97AuoISG9AigFVx6bltQgv|pV5x85nv{>ILlXcPkmWfW}Gw65h2|jt+2CwSdUhttl?NvYW8SJdoJ5%0Lz=N+n z;7xt-1-`_MSIn2JW4%>AI@TNZB%PM*Z0I-hCG9a^O85qk_pj&&ao0u7asMjbGvLH9 z9=U%-{B%AH;*`G!68>s_g`YS4*nMRG9^7_4P^Y!Wn%y_)59io+Y~o(0Y{o%K&qs-$ z#PN;yJ>x6sRgN>B?Yf;GNzdyhc)#d3@Ors^gAd9nA3q-{zcO!k9ryPY^-uF3pVt)p zb})|S&jWlVyiu<@{{Hg-pTswR|Fb(EjeGxe{G}Nm#EBabXT(1^`~qKnpU25B`e`}* zs$Z#7&S!wP;Bx}}N$23|)Zn*sBI^*Jhhu`S9p8_(R;hOC52)*MMJjaDV@y!(Z}$bM%+?6X(pw3iF^C z|A=QzzWLr)N2h{^{%;Sij`@%A&wi`sbx9}iZ=Ux^dIiCruL_L?T6)j zAwFo&7U#XGf==+0-!}O_I(DjG#eeeL{)i{cm+81X9A4pLzqN!f$4flb`yvm4-`_Tr zPicDtPxoI|fP$Jn-Y?^S+-RJp7fo;P=pre*YEqetb&( zICOZfy{Wf9z@r_TxYvz;sr0;M;k?Ixt#YM$E5{kv9`Tv3^ZdBrUe_=B;+8w9`{jS|Tz`ubm(*F}<$O9i)p!fOu|IUct+yn;`d!@nMD%CE)!E{y zUgw|HPVA|!Q;FXLZ;xjh^=@(Ezy=@s2kXnoeD)Q!bE)(3(Xa5kI-eX|J3}A7_?GYQ z>7moiTYhnL2JKbH=Z_sc>iyz5zoGB`(z4&I*Zo-Po$|jrI)(YAJ^J&6U(D0+XZ6+b z{^Et5zdQOZ>kyCSSMB@)d*Bao>fPWSd$ekWXBd-^G(o#tS+n@nii;cFOMwmtQk(9_9X(`5w6IA7&QwtGs_T$gi5;li`Bl z{QrGB2;-~YFZZd4pHu()8a~gvxA<4!#82_auRcBJbADz1XnxR{PsT4x&s$b_9{;Z@ zJ9dnVJ)U2e^RMBR>oTu{TkfP^i8GsgNB?UaPsZQzuHc>V)Q{wM@(rI;4ERml=QRm0 z>|ZYM{c!wXn7=!(!OJ)2e8>K(J@{9&OTKw~)?t5jJ5SA*$PqWO-@sFOjt2&P4Y1-fArg@9^7-zVWK? znb<$nf!}PGIQDGtX&k7>PU~F{91}N|^@_WWTd%nLz2H?m=|>)t@|LH(=+tj}M?c4f zPjg(vv1g0Fg|9u}Rh)LIztursoh?7v8TQ)`FZ7SlO<%mI|D$8?WPK^go(^uFftm3= z!D4=8{_`TgI{FPfzMrfR`IXhx-Yk z<2w4;Isd--)h&Ox;W^Lvp^qnVf291zdiw?U{A*?7`jvEgI?g&BzwP*i<5 zuzKw8)PnB^#@F%GpN%ubfBm_FyWch7FLcDKxbx*}`~-Yh?{C0um-sIZKAflGtdHWM z^YP&?`PyF(UUU4sDk1f#W_m<{7yBE}wW+&z)2`F%g@{ky|2=udI>TPFS1#A&a17l&^@H|@ti?T6@}U!8ijKk}cHH-`Pc zJbd*F`tHkVzx8Ik%V!?F;L~p{_dom&9`-OU@~8cPj_oSq>@Qib>xSQ3pZcfsCC$4b z{=xHpi~A$@dC*x8hZpxj#L=nFPtl=WRh<04>JLdL`akgU__4i_ZydPTKUF^SOMJa; zhe>`?u|MZai#S<3{Bu?8FRj4OdG*T!{2!lE`=|912h@MkDUYA-xX35Zc@3}f%c*x} z9me;HyDr!+;$EyT=1a%SB0dtnTnBv)NWDe;kHW|{?i$^$~ZLm#dyMgXLbIXhqzCL&gOcb15W)D zyfFS9oeA!~X4EVH>sG$|4DESn-yN3nWqT|Z^HIBfZ?=I)T=IEA=6`&2oWI3(;s3^; z7xCG+DxY{#z@y*5)oJ#p_iOOC_+zU|$FSU`18Vk z-v3d5IxZh$kK>i<9T|Tm?`qk8*6|I#)F+=@^38wRu_x@5|HZ+Z?S=1rnc!0$_&wo% zKUdtmtC)Ynk8z}*EBL@3fB(~Vh2NrMy8{^P^f{_Q*k zx8K&o;klns@z0{pC(m`7Iv;Qy_3pPEm-Df`5r1xYjsxnDU#Zi?S@)N5*t`P$8$Rtf zb!vOO!uGC*bL@Ud)!*bZuY1-Z-`n&<=s1q>t2)@P{to+3{o2{((+>lk;A2m9T?n1W zX2p7u^QaC#_OHyxT&MnT`T=~qUYcJW`69mZ_XJs2bAILimHP|qAJ0_Zt^SgD+A$J7IbI2G>Dcol z;ge&_@I&(|`hDO(#;b~->WAhP>%TKj_~$Urkaw#;#lM1|@~#Gdq0{A)cRBBhI69sA z74w&Mq2d?g;ne5-cym7LSFG3K4ZgqIHsy;G2bzATJ>*>*e%KFRe8~qd=r|7wAMKyU zb8vMsuAMi0U33C}(;jP3Kj!OC4j%1wUHkapL;L^j9NTZ&A3EM&!w>w;xla4Hc7ngK z2Yk@aMSIXM=nrxE`n`6NFBR}2-i|%mAN>h`IlkIS{$st-pJ^W>aPqx{ol`rhw}bD5 zTW_?B`&RMLq26IX*e>?Fw))`yUdjY-;$NJ8n6x+Qb)OKtYA5Sv&p7@wz@r~NIr{Ru z{RzI|&x9B33_jy4Ugg)L@AwXJ^anaIAF*>;?*rE-zlu0h&UxEa<(KoR=uhJe>vFSR zadfnQBwTx%xOtcT*^eFWvl%~)*O*hL`9tu}nTby5*Q2NX<>4GVuN(ZTJ>)r^cD2N} z|F?L$59&#$q96GZ{bRjT`^lqj?cJ;|Ige`eLrMEo#r|=hs+`Zr`4#mxaKGQ>_n~h2 zRcC#T-?>76GvC}tP^U4k8v7LSo-nxk6#ni_%)_tSQ6?@m{Jyb{`W`}Mov#mvZ(g~H zhr_r?xhOqPPa%+DwDy_nCizD#sFewE+%2%I?6 ztyg|IALGwZpSZWwPq=*T_jgW;b{hY^KSC$^je6xT`QQzmeZgb?v0i9TaeYkdOXz^x z&!Lm}O`SLG(V`dnKR&p22A_T|_JcYpZclOQbsWP^^4oUlw~l^S2Rp5I+Hcq?KEzoU zCOTCe@*Mf0^U-N<$DXRr2L~VM40U{8i23RMkN&KF@Y&z%+C!Z7`$YE7R3AIT9&z@U z26k@j9G@LKbG^oA>)q;bpR&>E;vXIz?NQ&~k!#v7pMDb$KKMdE<`LsQ&?%{(wR1Wj z@i+NZoN-aVJn-BwSNpR+uXhtaOTq{EO8G;( z;OZ=OxbIV^i{ILt{CPcKC-bFYf3;oAYugp=HIKEQt=Im+{wj_=MSXGld72lce5s)G z^m|rEsDhW^pLV!D2H&`3{^q_G{nq~dT$jHm*uOovzq@^E{nPUZo)0$PzbahMe2DzY zxCHKcY2Fp{?VEGG`&Y~P@OyN>IOW2g{cw&a{kMrf<_U%4Md|rmdVapb%h&y-$GN_B zslQ+F3hs67!rKX->DcpLzc}CVt4V)%#@qaA6MytC{mpUlx$#!Vc=Z+I2woZI_#HxU z{#C+7APw@-&AI`D&S?WX_V;?o-~<4eEw2m0sZQ+CJ2 zeqi3&uBU!D{1^Q|e=ggrJ>`75cxqQQzcT;1@zHPSH1jLxDLN(T6!rgj>_)x}^Q-iH zuw3@97VEA16#84tTlSrN&#*CX8kf_4$0yeEiDa8>`=*{%`nCV|<){1Ab>**8jnH zIq%@R@8ouZCC8m z5;wxmaz666_JB9|Gw}9!W@BgQGk@iW4)eXB6Z0eMJ8!^;eAi9%CwLeC@Yu7oQ=I2Y zJLBXnHS2tg4(+Pycz*}qc^~&#;3M%{)~6pv*1=Bw+kGD2uah74{L`^>V&}BqSl?|| z@afM&y<2{H-d_D#KhdwA_(w?n=!c{qIDTlo#s2x(saO9Aee;>zKg?^R7I8 zCiv5Qe2!Q7_^tM|hjxf>DAj+8p$~4oIS&jwQ@_d2d8YiTJ&bQNUWxzs z*txMYbnv(SB9A)!ZXWeN&T-*W!58l(i#PJClHYIt_FV5eTHbK%JpBDRE+3sT=KnX~ zw99#w_q7)D#NTiC@0n^(_xuC;%=bmvDF@}G+^M|bnfHAkk7U>4*wXWsJMlB_`CGZT zzEfsi#tZ(|8UM|AZ~V$Q--s*D_v*OdM;)DrZ{*8MzlCppt^XVM{66?VXA}4IhfaJ8 z{IlZ^*4yz9_pgfaP#pi9=nrw`b%o!Ix8;0{w=3ZbexY5^<9FJ%)9;n2Khz;EwbU-} zU*y}*zF*O8SJc}cs}`T)=&LitjWgCO&VA4Vk99dc7aOjpAD?;`{Tb^c`UM^R$KRjd z@B^pg2KdsRgopi%m+g&u$)96<)%oDqsebei`sxhZg}!!fby!brSJ+8EG}_zM;eDi< zarl+_Y2H%)<=E+b^*O!w7Y%+h?tXsw+7tc2b3^+f?Bw~Q{SdhMY91Hwi}Se94;_5k zKX0%<>oD)^pOX4#&_7`h{?4*8vWjRWA350K9k@b!*)#U$Rg#5dk%JmP%f7j$yH6})J_ z4Sr94*r^Wf-RR_g2!672Xivg>*71Hb^NCmTm-|%pjL&c#6lc7AzT@u`*$v_?sn*}xPMXJpqFvK*CWn*((Z4>de6M*tV_n9MZB4m zgVOW4eC>SZe_zKFyLz&3aoi|JIzKs14Dc4H|L}MAkKVOzbD-OalFja#Dkymu2=_| z?~Qt$-{wmNJowme|L==EOPqcV`(1y*7vmK=-~)Un9r3KMongP@i%#(A&%!(@<}>6! z_CwXqpSMRP+Z#IUn>F;CcK+<}wR4EWw;$AZzsP!r^`bNFf9)hMQm4pwpDK@|c`5jo zPu{h%K6%ay93A^DbikYXwii1m{Zqv8!{{I95&pm7cX9m9_BL_GcfpVN0N&Iwu7O)` z6KCD;+Ap5$34YS)<`4K)r{0$E3Lbe&$~T7j1Ng{!0`-=xqd(_*jWfnu?J4b1$v7PL zgHQM)@wMlPe+*J*%Ez9DJzL!P10MRu6Y71+_nzCC`$s#Q`u0CM@f6|vJK;a{vGul8@8Vc|r1O(wc{`o=IG@kQ@+|ZD@I(B< zytd+3mGSKKe{p^}F637`<0-##oWqacS9ILhtl&`}@1+mtqjr3H{9%LZAO7Cj0uLSh zxezCVUyjZIkGNgV$GCdKXNu=j{e(C0C;qATh7b7Fb%%J~wNsq=EmvFhjFH2Pm|AhX-^IOjF2J6+!yuZXwiOXYmTOTw%EAWnOYw@p0d2`fDxl%MmH zj(+4nv^VP2e(KfE$XjeLaXWC@^+Jbne}SXl)v;aZ6!4PT74~F)ZWr~+kN%GEkC9E7OaaA-+2EjexCuqYRs$1m+H|o&W>-;|Bw=X-Bz5Vyg3iAAEJni_h~2drKtbe;fs%l zb8LRq<%=_qw(~CG!}zH_{06T5g^%$+S#dX9ulX2sc_Q+>F($0}^ z?QvfEzEDRe)(?2b@3;wNt3i{Lj|Jku;qEp4w^T)v5?}9(%vyR)|7#IA%5TBa; zKzp@kIFIlj@gnZLKqu^>-Ufct+2%{=Z0wJHD(0hjk&pe={^_T`{J!uozL^iC{3O~~sgnIq`%&%jjO$eU<2iQ!f0&=7_t;m?ujn`5yNUO#evBUZRdJu{qk|h? z{9Ofqzdh!OzuUk*v-2wQv6l2{ug@np{osCz_L&!K=7(iT$KsajmGknx@6vkvrTz&% zF6X^|r}HT# zJmNp`t*h^PggxqSb(p^;^QpIjJO6--{HZ=C?4OJ;{Uq_#*$LnJgX<&u&Gw4Zt_j}7 zKWdLx^vwU@IUao0P3@2NzJZTDT{}N{jz@bxKDhSJY!5nBoOQo~ht6%^iMVIGLZAG^ z{u%1i4>k7>@p)vN{UY_7IzKt>D)5VV>i@9k4gCN=@U*Wr)Zu=4!f)c~x#Y6{v8Tcx z;^a%i{?yOQu}A(CXWTnFG4Ghy;!S=zpJu%eM;AEWOCQD!PUu&WM`2IXuljSHPTY(9 z2b~7~uKC0EJ~ZV6MV*8XapN-eE^+e^;>-)2cp{$jpRJDVO*)a!ypoSibe{Ipj-j`D z#fSErx4h6f;~>9kXYT*hZ_&?bKPuM2gx~Tj_b1F_yq~S#9=qcC&6{)V{Z-^e=3UI6 z*r#$I*m?2|*Z&k(m?LNS;_(|114B@iXyleqhOb$@t>@r0nwlN~QI`R`2cn zxY()gPUl-X_WGXi!toNP|EBYYQonHBXpF-kUM=%__{K4xGdq42zWY~2eQ=)-u8eMx8CBs zA#UIBhR)U=;!Nm=&Z$8>)-Ng!oy0G;*Y#0DFSz}@lFoo1>n}QsamoA+Kh|Z|S?#Ra z!@BvxPWT(0DW816c`(v`QO$M|$0~M4z4Wv7R(0^J<~$Prygjyfpue;S+OZ_eumcrkB5r_!!&yNr9_O}wP+c z3BK@)>3jkA_eh=Z72N!M=oj+w!va3UKWgQ>kNow}zB??1_`Kn3kMEyv{HhtZi33A_ zduZRO#AkvR`JB;@BmSe))R9jd(;oXdDuCZzk30cB6K=ihf)=3SQ;AKde3C^rt#o ze`DTt_(Pm=k>AA0pC{uI^X1Vy|1^Kmna&sRBK~mNBP`w$ZoM_|b6xn!+jH#mppHGu ze4w09(|;0Pz?=Di?IP~wzyI6B)AJ_dZSg*q{W{}n{(MKgzz-ebUVWj{ z9%~RUuBXY)cEK}WJ7c{j{-~dE`JqpIE7%$O;EvOlPQ4wz_6+cr@RIVSrcQb;8Tij= z7dnA^zpS0=&_CL_QhT*C{O!%rpX$pePbk`-=8^mn_|d8G*TXq3e8l?&FXG-eF)saW zL*W$FaqQ3WNt`JOH&4iUj`1_racY^o&(l(V<@*}(eKh#S&&a#Vv1=1QBj4~o4m-Uc zMkf9qUrqKG`0jVew_VX*`wf21-_#i?&#CGse5e!nY1aaeb`dvT;N&OvLkpeL0`bU8 zY1pFQT(``xd=41sQi0Y<}>je5dBJi zbDe%4`P*0E&mf-fgtrSWU;p;Ge1~6LU!1?-Rh)V&c&t<4);kmb z1#Y~3q0=6f-(J`t+yzUHp?%ul*2waQi>_^#4YGyAEK#xN*Sst2>VJ@v8wo#mOJ!w}cn@ z57>RWA>K1IZU`^??d@~^051uz_FKwBjC;4dBCq4dxADj4^;Y6x&bwlLPkGl3SEnWY zfqvvCbVN4}$G*@xvA`ogF&-LM-FG5h*$+h=zW6OqTPgpk>L*-#a(@>1xj*HP)Gpim zf=_-M`&9H#5og^Jt~tMAKKee5-_tXX+TJg*&KdtVaV_?pK4_0sZ0F%O=h%IN0&bq> zIylw&ABW%m&r?pvm;A0%ZsO`lc|lFbH=cMd%jNpa`@WC+JJ!1{yw~u_b(tsLFS#M+ z@Ft({F-`C)&idGhpIzMhql}mHG0so<;I}w0zq&3EmzwKB!qss;IZwr_^N)HfI_({C z>ka-ZdDlQc@{qI+>JR??_psBvDA`#PzUk+w{q)bG-q2?pU)b~0_E^KVKh@{`s|FtR zeth^Z@Q)7O;Wu?Yx#+w9!#s-n(a#RQqEpoQmxHg|-k%-3gU9%OaPR>>>>u)t2HpcN zk01G2NBtuI&C#FeI8WWzUEoXqB=40!#M69f;;ggkRPkeG?8gRf-blZ7`RLf6>*3h_ zVqS=&U(kvDZSY3B>RWUY?!LS-!~QY9vc1L=aV{{R>@?Tt8@@}*52 zj{O$&yKy!6?eR;6jX|47I3Zn)pZuhNS9SD%@SHy^;?HeAC-O0L zBJP=QfG^{rIQ?1BFXm~C*T{Uv-TUR(H=|wMyo-2kJ}}XbcKO_j_LjHwC-cts7W>Eh zChQ42>E{>ivj5?)lrL5Ark(J+{Iu`4a=YN0N9E_U=21R(@x6{_-u2(xQFwDo-=kUX z7tqhkdCPk+J~webyN_^v&x+@OgL&e5>F;uD|7Koqc$;|DQz^dE`k#+)ylEUv*SB=+ z^*?mkFZIrZuXLfAYK^nmGGu>g(tJebtHna9ln< zIyb)dclFtSTeNE?yn+{Tp7%BIu!nI`C-lvi;AdR@us`Kd`+@e9^ReFor(SgePkt5i zBH`_#UlOi<;Mn;B$A5u2clzWx9_?kmzo@sI&x?A&<>&Tl zPtLE3{bPPbKQ!_G>)3~UspeM+FYZUVPsIh(b-m{@`FL|)zQ?(oNyqay-1F;lop>$_^S9xrm2uT?H*vn=2hNv>^UULk|F7&X z&TDY@Q-||K{x_|B_i5M@I^Z3=KeX>?#ox<{`0&uaLyPbIF5C6czC(-t--)ZX$NRVe zULM+a?BYKEHa9lT*r*q`=WmVERp{EYY9uEY<0@B)7% zees^~0e_3L&bC+V2|o39_){Hlb#lGpO+NK*{Axcm6&_3Ro6b^)tF&i`vreh=q<=10 zFZ}sG#*6*@&<@djAmjLz{F?aMv)(?}(Vi)epUV%Ne(Tu3Iy%RyvW)`?FYsI7=emd| z<{Ri#^~ITAp`UPdmiZO@raj`=Z(LpGMbuj|pMD4(>vdlXe&j{mN4#h+`&414I`Flp zX(!{jiQAFaB|C?F@M)Y+?P}_{f2E&@n_tl`b(VP)xa(B>J{9%uZ`=7_%A+cH{4OYb z_Z4EFO8tL3I?KF>{xOg8d5rg8-p>U7&*ysQ?ecxCUmx7{)qL3JnbAMyS=c>T-)CCq zJ$8NH>HH0sH{sWGT~EjIzwdITdS*J#=dC~U#4|r1->%DezAhhc>>SBn@yUD~`1K~w zT9m$jvW?Tuch=>`ysY3Ap1+q>zzewVWi9HP5692UyTpydvCnF~@XIgGbsfBmH}tGm zoOoiKRR6lK#e84H)zBwT=*DODiIeIFpLkd@znqUcOC9hn-+l)lFV^w)cxGmtcrJga zgPpE-fup~uH{cN%YVwRP6hHKKcU`+Jw+Yjz*67* z#QO;F$WNSi;7@rJ_GX;^@9L=Uc!5{#VZImRhIq1Pr~_WJzB=NOFC9B4ar?F(Wu8E{ zl?wmq{ivfeSYOO1yl-u;KPiuLJt}{ozbZQBA3oQkV)Lu~yH%V0D4(zRUb^etF#o}C zecm^|q27;AX?|7AyLjKg{Hmbi`|8d^p9A_kEz9@QAJC_C9_e?^hsip=(t4hcUEgy# z({-Nj;5D5Wm-j=JBh{PhS(o!S{I%=nMK9ww{fv)`-Xb1GymWnKehu>GNgnTfiTw@c zvGcSO&%MuR#sTAe`n{~KKjEk9598|B$L}`tw8Af69K09@)cNe-%X+~J{=dPO`X3&C zrQK89xC9=2;?D%{>c4re)5MLd@B=UB`(Oj1#jTaZ{tbHeCi$4 z8+`BuUahyZ$20T7e_vdC^dG7%+CNjh75j%c`S8Y`CQiS-wExu5;jf2gm5-%(^gn0E zrM>EBzIN7R&&c)@&u7LzICgdLXczXVU(^RL@S|PygZ!|QeruVJpLg)!v#yEvhhv}b zpG^8E=27yKz^T{%Y;V!gPINZ$#b!CLN5Uubx+na`7Z1LEl6AntPW9`tSDj+s!hEdg zL>^)sF#foobHk~(%a1(g^u!RiUOMQ8FZf0K%dx+L$G(&G5^sxks&BrO@R@Pj1s?D1 z+dt-4=276we91h@cnj|D0r~vSJZk;^vZOn zrT;y;>@T=a<@c}(xH|s5l9>Or%Y8EQOrJvz?Axr@dEIthx0Ls;<-Ftp9ekzpH~vn% zzw~&#qPH&RZ+N!nHT}%@cwOrCyybX>*EwG(jVIOn3H;UkXW>VcxY(IT`jPJy%5M+H zF9-8rI3K|q{@$FA=<2`4H~_!==IDu6aq_Na{6VMu)8P+w#6LOs&N%V25a)+{?`vFV ztvB(PeB%lHCLi2>?&8FO34e;0^Vu1PUswl+{Dd!Y;)(pcE?0EgWxdY$vR#QUu0LS@ z%in`d?cLf*eydK{N&nyQi9Ml1KX34`2mKr0eu#P*-=6#D!}i!T@zDRte~gc;^U>iq z@X-13!EJAh?_;ec-Vf{#hX-8bx7Tp;9Q&cjr{4oX+;DliFq6j(sZq1RcKz6?qZ)Qc3yM5dQ=H zMtsjna{oSd*gE#l7etz&lyo={6zkvV1 zdHKKQ*u0Cp)b-KvE%rCdm+^d@ zbv*9aYrO5ur^vJLgQ1_|PZNCWU(Czp`~q+6UrlrexcU6bIC+=+s{Zd<`R=ow?+@*} z!{Yry=osf4=Z&l4JU3k6O`LUYXZ+34sjdt1Ke*uV)hQ2$=RQ(HrzX6E2cP&q-VijWl=FF!4 zPaN*_&r*kRe}Usa;?drE+E>wO>afl(+8g~)&S!#G`R|Rl$18g7&+;7aZ_ly*DL>;) zd*quZXn*7=?*ljf zw6ve2PT=@kwO;x9L&nKZ8u(LQ^t?Y;%Dei-e(hY=i~WQ6ncp+t#O)W~<1?P8@9{No zf3L@UrpPys(%;Ap@^k7~a^$K?$;&(|VfGQRyAyss(C`E2tXap$l1 zhvKXY4ZipPKJV-B2YHn1PGLUC_wSXsKeZo@JqzA24mh8jpRU7{uFsb9g0Bmnuajpv z(sklH;Xl-IuK#`OnXlNnF6VE!^}lw0UUXl>9rw+AH7-~d?i)6Fmh)@kch39C{ObA@ z^T~NV!Ogo0_34N1cU9wne)-k$Q{zTMr~LNd>P-2+ICw)p){CDV+;(l_|4*Ltm-w55 zFLWCEzQ?t}hdA+bWZd;MgF)e=hKr@Oj}kHAjN&HCIZE9IiRt<#?0@GNh*=V#KFZz(Syi~msNUs~Tx{gCav>EG~t z{q4A?dev(Q_xhRe?lJ4uA`Tbk>-2uZc|^W%oF4eq#2?)k-QW#ee|&-CpG!Xe8_&au zZ|aB}XJQ@s{P_9CZtW}o_23J<8_z#Fct=0@AHug@?D6mQtc&x9Ntm?(_83{Z^9?|Qilsx)(77&blT&Yk?~}I)^C@3 zZ#vf7A5ML~SKrO+#EHZ5hj=-kMZHft2fy)exH>KAkK7N`Tfv{k@tkPj?QMg33i&nR zMg4^9KTAKS{}+B0{(r;qEB&)2osQ0n=TrKveEcwUQl6uZ_h~lzhQHJ~{j{hz@+;=u z3qJm!{xH7+ueK}YQAIrEImVfI@5ufn&cwcu^ASAW_ol%ee5L)O8(!2;{OS50`$(q( zi49+3{WOM-lhMi}{Gp-ONjUZ_2!g z{ir7XbvqL5M^*AD|4y5KXIb2Q%=f7_^T+3a-_s8H-&d(U@2l5SJH37;e7$n)b(trg%bxT+-!AyP;9fVA zpEUf$JgeZ>^8vqRJ{J7i`?+quB#(L7%+v7C;r)vK2=0Dx#6xr%^RLP`o|9h&Oj%p`ZG#q{n?4z zCFNJ++ta?{?@CecFpo06({Jum#eR|f$+}X^uZ*AOQQuI{$ETd!=X<~Hee`&M_a!C2 zM_0fj?`r4#*1x|#$K#7rF7RQyXvebOXm@wNigmT7a=o(Ny6)!E>qff%hTpE2pU?lV zI{tI*X{jHyeuGw)qut zS3flGYTQ?uUoF-P?+>PNhIt@9sDFdUb8q;=`N4h10*`s~FK51N@Gk%F4_?s^ocSvr z`s`DwANZT2)6j|a5xj%P`pEh#zO|?I_`|Q{43w{g!b1;i=yLSjTo{{TqI3*T~~Y zKd4i*GvP~rxZ$+dc7=a3F5*?4)IUWWzV^qy5d4PyvHycT&aZeM30!`Oyy%=5FLc`D z3Gv96u&2V0ya;{g<1H_W{U!L*xDj~~^@5kc&jn3>%73c-ga<$EBgr=oVorH?{;_is zZ{zu$z|Hicl~qyOyx?) zvCbykbvW~D;(2{fc)reK%ME{|>%{+B<$9(5$@$D{m+R#3%XQ;&-3?dAvZd>n$38Fd zIF&UWt2e=OxzOvz73Vp};g9&Myk*`++-hD2?(=!$M&o+(sAYW*XI{8}C13yd@0)D- z=)~VQAwEyn5$|ijo4E5Ayo-N$>Nn2s3m)rZJ^YSN;N&OH)4+){>%!mQm3H~NsjkaS zyqtRFkHE|0NBxX<@{=N;{HlU4+ne&Mz=`wP6Zok%eg`t+gLX~z;m-?hyLRGhXVre} zx$(ur9{4w%7dUplhBxg={Sf^OzG&}A?V8{{;Wxf`P5g#V-ggqu`BH_S_m^Tmx-W$N z{lXvMPx;chz0gF%xgYggaCCew63^jyJ~&t>{JS#c!*kt!;QHTD{^Kd-$NN{@cTf1{ zPd*2X{LS}T{q>eSJqk2SM?IVrQ^+UPx!hV&xDV3y#LC_ z{Ze1HQ@d8;k8~{WhI`(!U#@Q#T>j#`<>1(Ir|Vnd=kp#>Sr#|D-blv%{2RDud&i>Uv zXUHcG8_$E!e6RFJmyb@#c;YYl#6$J-`g_CG4||A{;$crYA9bQ$@PVC8dsts8xZ~$@ z$?dqvFQ-2{{2@-e)Su!%I{cRT*kiq2KDhd!1HRD7{Z@#RT|ZIZ_$lss4c^3QSNOfS z{R}_Xt3BDyft|Ts1^lU>kD(2`UizV3@FI?#6`kgDJ#gn&&acFCUNoH-DZkSGtfQY~ zouU6EoesXtix@BY8DH>op0=}{wD$#$A1?bp{O0pJ@B%;bC2`}Y`I7qIw#Wa)? zC_UaBTZ&t@biQ)z`^3w2ig|2a)tIN1c@XOfJm<$`9f&w-9!1=3-Z#PX`@0i-gAeBM z0&n1cAEX$!#XmjsaDuDj@02$1BL9=acfJjA_Q5v%Dh^+~iU0WMhkN4zc2VLZ>i=vsouI?p9*9}*vgg*VrJdORU$6o%^Kj=U0FP#$& z{_;H~`NoHo7ghDmqv#*=F7F#-U&#C?>x0MpPSz{meJ619x7fd;UgKxvOY(`&zK5ZF zBabo<5%1<9z8~cYapJG-D&YQ(xzGDH_ur9U8Gp=|zHUdEIO#eO&kc#U@qCba{appu zo9268o@YJ`_t_{X>m6mG+?4Wa!t;5LbGa_py({mv>u={L^;+(CwBs-3 z-RfJZ{(Nk`Bk^9tJ#RVF^^4>Fp1690>t?!MT%P4hJaJ3Um&BW_OUAo`-&W?U&ksBE zx-p-Y>wtNb_Zh^eWj^+B=3T@^_a8hhNmc;3M*xbHUdCFL=!7q@Qu^jC_gwZD^1B=8fX+ zgK_`je9Z4z+1_DZgihCf^CYN} z;{txZcz>`se>~4|WBu90js9?S7jZrG#C<=4c-Wa|&3I#e;=1l} z-z$M%S1( z9lvhBQGxm+;o1}Jg@40u`Wt&@(x2ch;p*gi7yKUl)7~5YLZ5ZyrT)>8zw9^o?~8Z) zKaH>T=6vbKFX)7S(*Fy;%K6Xx;#>bTpFv-Hn)cHV;!&@8h3z%}L8pQ@@x%`tefhp; z;6BN~&b(i=nZG$Ny5Yu$C;l1tfzB{rDhIFP=0(_P9E<%Z?S~)F_3F`?-fy~3^|#>P zQvdHy>3)&>PO)!O&S#P@`TjO=F^?+l^KfFBN4ZZ$UfRJUkHXF>pM4_VkBWThckL(> z_ZIQp_n->*o5OYBxA5C3zM1?0=LY(p04x! zd{2B``081{D^Gqd=cS$-p0EGDju&?HSL~6O>m8TtZg{>vAFub+vz~liKAz}iyuVVP ze6Qb0=f(BpTh+Xa_*spA___CAlX*7Dk0$q7alb-bk9}O`nfv<2J@YH?3p@3={zklU zzPT>^=FD4lVqN?7!PSZU{c(Mo9GA3y zt+f8-Fd$Pmp#pQ`l_?{QH92Y&$-^z8l zZeH*Kp0CS%k29}dbZ>aRey8g_Kfo*Hz`rB!BEC8AJNsMX+cVD^d6)T7C(casE8<^8 zXSshxylmhbe);{;-Nd&d{x$W9yH0&^@DA>}Ha>fiY*&9Byouxh2e8bgQ*2}tZ!(GR3 z{IH*XQ|Ddr_tjsQ_Ez$f@E`jheCR(ZpUJrPWSw`%PyfH<|HpWD+#MI}AK=UVC~*19 zeP{3rKc3TpZ|6(oQRhVXvw4wum;96$Rq&GV0v>r3I)nKh?=@kMcyWIT{xm*_lSj#4 z?x)vwl#Dat%O-j#;Ti)<> zsmJSX=jY|R0iLhB9cSF@chYa^*z^5@uN#h^ugg4$xJ%qIo^Rwie#9H&9{VbO52b;-4>Nvs?5Xlu2Yugiio5PK;)wCzb%*%V!Q(jy z@p-x~$S1G3@oUy0{;zCLIiKdbrat`l#YbLeiO&$N8b8+Mq*K&!UCZ^_-dt}v z{l7Dxez@V0Z=`w~`A;$bLBHpG3Hxt&eI<`t7yZ1?RB&n-pI$WbJ{=Zr~ZsQ zE#WWPtG@k1e~#SG_Jj56Z{XW`k@l&E{-5%zqMxUHX*f^KbFin2o6mr+Z`j%rms78u!d|IN^P1CNM{ryt!1edoH z?{?h{AL;t6cROB}>u&gf-!Io~@Z0t6a(-O&Zum`qqf;m+^TG9~6Gx4A)B6?YG50yf zCFi5>UwEG*?))vrH`bSU&Tsr=UYmCfl%1*9TaE1*!Fwqp9|g>Z&@EZdtPU$_a*<- zD<1uZ{UhsuPw?pfgh&1czAifZqGLXjb(;B={(!#z9Q$M7>O?;CqxN{ldUHM#?aKPv znQ-}8XV_lzE5@aPuh79B^PIp>1D1J?{&V0WUc}AQ)X}dTcX02Qe7{IP&(H6|&&{Ls zTjpcDe~CTLNB2R1%Yg6xNybOyKj)0|J>mrycz^dI&mmrwl;;?);yD^R^O8rIFU9Yc z%O_td=0D((Fa2u+IfZyh_%x3qe)+o!+q_8rPmbPtIAy#~^$+KG6OSWL`#HFL`}0e1 z^v$0N@pXCM@$ZM%C@1SgP3y+sc&D;)JQKbyxYuXCc)reK&v$e!GhUM&ljD(aud`g2 z^Yen=`0D+&OYO9@{)PP+_q^q}w6nh_zAk+0d99q6>u-2}g}*N6-xuHLuHf5<1_ zY8?BXc4595e~nA-Q@PJ%TordcT*f{3sod8h-Y)k6jNjB(%;&(HeAXS`FE9>UU-=br zf;=bkgp_wR@8AE+;k%BQFZz8$+gclF^M4{`1Xji<&tf9F};eAPT_lQ+e9+276!#(7Xq<2|MK z-P?76(&Hg7;htX?-0S37-uRyH=w)65_xw)B8K0aVl=9!TT$k(K7k}6K{#@RCPdjrx z<8pm}PyD8{E;>8mGaY-rU-0&x_)W)pEZ0SMCVY@Td7b4*JaNnBb(FC`K-@K+ZsJ}g zFLIy2xaz)^>)0|*y068)wfq4-i1*7lZ=Ob6H}6un{D!zCU)|3Rz7t;l<=~5W(_D}K z{@@eb_xp{L9X#?e*M*G#r=w#$E9x7!<%^f|k^l7lse^|-vUs-p-j9 z{DWI>)(<;F=g4&If9juumrHxspXm=R`9njer94XikN27|XD~0~eQ)sUd`Wp!H~(?{ zmJjZJG;rz8_rw>E=WFqg)AHpgctj!oAK z@6!_=>kj)`-E~L)2S=x{ei_%wM+cX$eSV*Mp%d#J@%)Bw_$#fC=2uZK@!xfMxy};* z#hW<%k=I}BskY1Zmh+k59-sIhMS)Zb!cxhpRv7vd-R8SnmG1M z^Bi&Pd4d1v==7`uzvgSxD2{P57r4KL`lq%-w5--B{|!OQPYdyp?x ze&kW-{4!s1e~Esm;PIRe{pGwjFQNk1d-I2=*E}cXMGZXmow%T0_~sG*uDJTcyy!Pg z=&|&9Tz-Bx$d}5O@=w_^{^sE3IpuTs#0T@J*pKo)t{vEmvcRGK=N8;t{ zZpZ7-yzZv=uK2vv`>yt6o_aTYTZd$xgST}3y5Q;*&KtMQnCFXFC8|8(rq{#ft+;o#~t*LUzvz039P>|FPw4yz9rGOX z0rHBG@&A1I-St;H$*(s0*`8&+_Cq;6bO6?+1wUGiJ-kNq!j?0;vR z{^|BZ=+iFnmGG5u>>S|5@dZ~ubdsG#ee#e_Kj%EBfVaqVj-3^JB)nxD{ed6Gb2{@Y z{WI+&74WBhC;C6*_|{`r*VSLT!ES?=pc-bmgzjDO5i z=Y7OY+R-VEzqvH-?n}I$;QexbTyXVPIxn8D6Yq&HZzVkQJYN%Ua@;Ps=Qrn9;*E4H zuU_ze!M*NQF0Pw@=Jhw-*Kq62yc?c*`FLLJ?-%^W&${3D@y(ugvGaz{#9!%nbNs%z z*I7<=Eg>#zGB7unF|q9Pk+5SMm0EMQ416c@FkB{Yu<=&0EZ8tQS0So-q=PqbpPzYAduWgU zbv}!4;|23pJo2Akp6h(yvKnvXe{#+baqRT(+81&9!Thd^<5&921dsh>o8fginsM&W%?t*Ju7nyv^}U_>I>S&+Bh|&s)xP z{o=SMT>kf6j!Ql3g1>A1{c?T#f7yG#oy~IVypxAI^nnj@kOQL7Xf%XILCGi+XT}q= zt6Q>SOD)+}VvR=wuwDe2o**;Vz)Rt!@KSgw)BW-HTZLL>&R5lH*+Ee6L9zJo;lstX z`DbnJ{l4D?p9xWebAQ))`GK=f4fkc^5cWawCeHq~-LJ*ne~C9jAAEpE9QC7P z=e*$ZLkGTiwx_C-;u-B+m-r;&9QrlsR|)>HQ$H-@6ZdibAYS-@zll!{-o1{$KDyG2 zxN(IA7u<1D((|th|4p28+PUGIaT_}Ld4Y${pB|kiuARn9#xur0j-QO9Q^4ann)*4; z!OzvW=r4~Qx~GVL^)@~pCm-j?RA}IFjs$LeQhs*o88;T^f9Rib@4G_h#ldSoX`EmE z>y!6AhKTEUt~WSGFUD82v;01T;{<=t2YP&e!S^C6>sVY*#)0c(XB{+s4!7KNP=Aq5 zQp?511(!E3^~G1JKT>{^?+KS@x+t%Sw=eZ4xT(CH7hg#?=jDyW6Tk5-H|>}D?SfnH zhe~hlk4yV2;WOno`SzZ;dOh*Qcfx1NTYkgWg>SuEs$Q=Dp}6|vVu$)UwO&pKI{g{F zTyG`5`I&I*S#I7`d{VFeKWDx2d-grWVU2xqvaf9SFV^+W`a8kR$NC8F_v?+v)bo9B z_p!iz&d7Q%K8R<=7sqbfjpshx7cbj2-nikMgBAK2=PjS&7vluuje7739`OnLvN}zE zibH~5&SzvD_&2<3Pl{(Mc)YiR{(Ix@7K9KDD`uxBuz za$I!7r~Fq(&-)1HVfpfHd>Q|Uzo10q95>w zR+-&1zI z^ZwB|sIt$+`p0@%*bj`;8uzcBS2g!vpNp|ScW~EV_e0|=asR$*W8W{vIsfxnuM2p* z5A*VEJkDF#U$*wRFYp{kJmQV=woZ{>&ZlZm!iV;}C*ChQ;>M{o`{wVp{Tllyu-$lH z#R}@DxM=DJ_eJC9qt#Z z{8#Y7BmNQp@hSIyDB>aJh4a(rbLD?Ie05^{{2W|+xDRrkRsF#CRpU9o*YR=c7t;FQ zPJZ!xuW{dZTgUSEj9lMtxa(Q)F6-n3&%6#ko+-E9y68VwZoP47$8vRYI#avyN5XTx z=kn@g-uys2Z#wF>o8JF>#)rI*>HpaNShsQTfp{J#AF4Yp?cMO3{!BXZ#7+A%Jb#~f zv0ipkpJ#c#ve?%>PjEl1?2EC#c;D=OFXhHj{$7pe51vQGzRmt?Tr^&taam|T;w$&D z9B=%a!ym>Kzob6G2Sq)uwCMlZCv4b4*VwH za~1SAc$~vvr`IL+*>XNrKd6Jge4qPxZc}VG*`u9te)R(XczundJ^_E6G|o@(^JE|Q zd9&wHi+w-i9X!5oM*M7iQhrW5;KT9v7vP1DI*yx4x$QRcj1zS{hb=!j<-_Mr-x=6LH|r4zB&4BNfI){O$le<4xaNiubSn^5{(LU%xx~LE0WCAJ6?b=i1hFZFRL^qpdExhj%WDa*=DAOq|Lu%ZpI=t)XFKb3VITIqz_`r)#P1C) z_KU*(wfoLsAMp8_`;NL1cYVoxao^`To%^2qPQ(d3Pg##sFXEQZ=#M(=XT~85JoY={ zpCDC(;NUp(TFNiS-aGs+ zPb$BF$8#>9x3ZsyjyUm8;MiX{CkZoHZNG04~V#I4^GU%Y{vj-Ty6LAp^EsW#AM$T_Py9i?CVY{X@B3~$@oxA``^HH1)KTC3f>#pXd`r5W z{2;!Y#Bu$>I5X}czAC(L=Duls)qH=9eYnH-Jk94_#&7YQ@zrUk&`z9t7+(-C#d}0P zx60=;p7U_tlHUu8I6>WV+Vwe-@9P*}`JP?i<$NN}N%4~LtbY%{-+hWW%DAPTc7ree z0^IMNiW^V*dm^t6uMn?B9A&)3`+G}1&)32(;~U~+&p(YP@!7Z0>DsDQdZ{GBV_X}Tqq;m0@aCt4^^4n!RRPdGR$*&17 z3d1WEeqYkbLIVC z|MB_Wu&IL7I@paR& zoqo|P7rb8Z0X|84;+dbxPVsW#?}X2kw|>TRy^r~Se13iO%SXSIZ$BS84n~@X)?XLg z@_s3A;JLp1jL!>Se5ZD9c;?;mE9uF*;g*};cpr+_iyi%f?`QCNDZk;iQ&YV`ex>z& zgBQzFJc zy!B@)&-HJ4>vigzFXUU&l{XT;$*&9kT=~4zyW#4Yj!XT1!Eb!^OlPWZz9(G%$Mj?T z@O|QkkK^Y5f84BR=G(lKyN_o77Wi3LopI57UtFD)bb88f^73za@$pRktg{mTR=+3S zHlO!5@>yrX&uQpT-qlU1^={?2>o~9{*K6u0`!{&I;OfaUE$Us;p79h9`8ylqamM*F zPT~C?-#_y?=HUIZV*JDN!zHc`&l`Qt+2F@>v%fm+#d(vz%fb8J#W+fw=a9Zn9`8x< zewp_B9$dpN&&NEs^1W^SHIzzv-xFI+L#T`g`KJ{-&Nf=1nu6^YU`K(*8ARr(NuPr+(s% zl$W3N#LEZrSK{C5FW<+3Z@rfA*w=l|W;y3Ko9Atl_{!f=@cUzakG?<7yzu?$O}_A+ zxZnHt`J4H8f64dKd2g)z^yn4iEzhC8IQW3yGS2(qq0jqS@qU#2pC29jVcb_a58L>y zC4bkHmluA_WwH{TO(-ttYkcq4DQsraJY)bf34=Z4S3SI0Eh ztBG&<4euBJy5Q>FQtS0g{c^!?dLQvKKR^26qaVt*pZ6UHBh9lyekEMJ8~(oK^P*cW zcz?#8ajEyd_`K+g?~A_px|HAQ%g^Nvossl%ep5aZuUznb*-vY#udeC3ln?NZZYTa( z|M!`9#rKR-{4+R*F)kWBPxJi7^O*TKI)m@!i}%+D_xopy=Xw)dexY68i}&}$jJtgP z=I=%pXVw_~ZuyYarRPx35$2qTx^Dw_}_;2VR@BPQ`KDC1zzp0~t z^sn!Ab>dC^Ke!In>q0uyb-cx0>oQI@cpeWu>2Alx2jbSt`tOU+XWFw|{R-dwCO2NdF*hW&%*h<BMxl7ABB$3A-nM#?`iov z7~0|YE&aWO;d4ZPN8(RTfA{00%kwkhJ+E))dN%whJ{&*#g}mcoCtQ9(FYB~~FZ7!2 zq;!(+3Ev4{sa(FPe0dXoP4(oBi=7i(9n+C?#P=VFTYp}3dcx)3aLfPDbY9y1Lv=sa zXTE;)Z~5-?aXg&yu)gPbn5o`P=Y8=TZ=`lM`47c!`Wc_-XMCmgdBZCgzU6~*^O2@~ zK)gMp*C}_uFs^X__x)$%3eT1NeW=a(kMYvr_e!VueRRKC0@?QxFGBSU%6d$jNgiJm%nd7e;4mb#qXUO?-`HryIcA* z`1C9MDWAAbzeT(JzJhUS=AKAu@J2ckZ(Qb8 zNxV&dCcLHmB0mzoQ+}qr<>i9Ap2#!J{7HRNc{%?azAkoH?_+w#`A0u|^uu=x-VZen z*7uxu?NaZCXM1zIIWPZ)TmGTxO;3DY`qeMEeCzMT8!4a5C*_m<$8(kHb0GGy;eP6S zNW=@({S=<(CsX`!=8L~Kh=WOE{;**x+pC28)clg9D&3>r!^6)!&#hyYu zCO*W8XR12le|mHVc-Vu&t!@24*CqMiT#=okkMapJ?4`NW4YKIQ)cJBibp z{q=kgd_E4(_^lDA`8~}}z0G)Y{Q7*^Aq2pjOA6J^UId3~7@#dv|Pdw|3 zFUkk$O#GbR7oPY^^)ucsADg*PsEzu@iY#taOV;7MOFY{B@zEEL{r&T|asBJ>mQVDXaY8x#4j%Ca&*>`omXAL-{W3oAcSOa< zYwRfJBVNV%{dV=2`v3CO6AydvgMKUW@&CY{Vm$WZ=oI@UPQOOR{d+y&#%ccjBl%68 z6b~=)e~10p6FT6=X%qYX`%9g9662h6vxz-XkNb?pJk0ZVUE-^Ho44TVwF~d2E8qG% z)$b{9`HgS+q+Uz)t=AJSefP{m;g1Wx5}xZ@ zUK4MU&wTNI;ScbY%J)T2T)wHeXj*3%`f7A@ix9+pSd*@GoepB z*@!EqeC(XyL)_~K9y-`lu`}>w&(i)+PrtOMiT{ZHqF=uxex$thGw*%z z57krmmbQz1;_Fg=!}o>%5kKSWqaQx{p?v%KzT====2!nfe8HcWdN`)LiGIH!VNF6|EE zCGElem3DJ{RnaNhBOje6&hK4x;w$m-b$hB|yT#v&rQV`l&%wqwhrgMRlX0<3T_2pU zq~n55a8q?nZ}__C5Aa6XFT9%YP2PT(|Cqjgy+8Wnqd&e|Fn;iH!1|GO$7P<%TbJ@% zy?)`(glFAGc}=_R{o-=@l&J(*7`Rj4& z0|#Ej(Fwl$>AyJjI{Fb;5dSpok&ll2h&RxYUsJmq{}1tUKJKR(mtPWJJmMB~O12+d zd&cV~^C_Jd{s7PV6+G-o=SA&-zJ7BYi>G*LCVQIWGvNb#8n>YDIIrR_PW#T6k?`s~ zQs3*yJPP~E`SgoD;#+lY-miY3@1>Xt(m_OJ3qaQx{;k$+64;=?1&99#FE9Gsk zeIPy(-~3E?N%>9whBwMPsr#AxS9RTG-JIl`?}xJwxGxmq6Mx^^b$%GPxIVjYigRw` z{#~Wvwm7ZS ztOLHCr?#tA_AB87ew?$xHx7*7G0V8|*iYM2Nj2^Q_xl3PelcJCyWra2J^x~UOxGjq zE!5xOIh|a0>seke{BgmT?ULsDmiJ5j{Ski}2Os@#=EFxn{IGr~X@0Gg*Wdkuj|*-+ z)0KFW{0)zC)*<(s=6dUWr|-MEp7UIwasS%9zkVFQm0#jNbei!4=T4jUx;W2ks`iR| zzYl+jyT716#LM|~+f8wf{Tt$*OQ7Gx(b?#fgg5<_@Or`5Gj@g_Xt%=8xc!=`zXSeC z_yo^<{qRP=J+<8RL+BiQ+ONQmq2lXtcn5uRP8c}ngf;7Ya_TMYtm=c?-@wt4-{ceD zwu}8Ecs*~!g*As5NkLejtAN}yr58uuFA8H&7=37hi zZjtY#=6B-Nl(+nbTYgJj?>FmUXT9+~*2Q~Jn{}@fKg8cVas6~Z`pp?H#r5q$-rs9- z{g+=)x$9i)kF4|JOFno-C-8DU+jZVJ2fp}L2Yx}P$_H0J$5#!0j<4juv8Np+_|Y!? zl^;6b1^%0MkItZ9!N<-8-jn_6jD*{6@RL7l;`eMn`~g0bKgGK^{Pqt2^h-SaM!e+p z%J`(eLw({R`GJ?CUuidR;sNapoadqPyZVk#$CWtk4)Far?G-*Fm8dbJxv@t zJN(t#VS;Pt7Dq=sbimb_>f`5ve(*ha#r`56yxQMr_t@202WsG_;Q`(fuFgz&k?(mI z_8WIaJoedXw|#Tc@%xkdJ7)gQ#C%Zx_msQ7dd|*$qU+F7F@NXFZRq ztb5D#mN?4&CD!e~IM;p9-g=yT`N>H)>$B^g&-EsFbN?!Q&?)ZwX}^y6A?*t@>DX@Q zAg@20`rzRoarQOw;Iq!#-)*~mkG^An*puE%4?gcvm)zgvhpIiv{*mx#S3I511mAs= zcB5bDw~IYD+;*3Kz;6YeXgBF+e88{T4`2PRKKPWM@CDuyu72oXr{g5}FWOTJgYg-B zu9xGssGs7){y6oYM85sUcDM70@vNO)JjFi|M}fB-=MWzj@R4*DcoDD1uAOlV?fOkV zxcruIrh`W5>k9B6GxNExpq`1rbzT$gd__Gr~iH}$G7kocXz8RO% zU+*g`=Vgoa((5+KSJ%~)PIPv{Kj!iO|KNUceB|rBp6Pd|d?eltpBMg4^;gPUe#0&A z)XTgAZuw66k=mOV9qT=puB0bF<2gT5y+OVv+u@Zvs;&H~@^S)c9i5NAJfeGESP zOTj;(pW?S=yXEw&x_*k=uJ(%)w`}k?I;UgNFQ04B->y!==S9bUb=!S$>~x$&zv%D8 z{@~Lu{jk+Z_V~Rp;G+F2@dtK>4*t~sk@zk9lLo}6d~_=ODy~7`dHmR~7!OH*IZnX) zMMryXIvLl_lJvLN_t8#^Ij$3D+{)j^C&bD6bBQ0dGSD9hUm1US+E+hxu%~A}`t~dM z;KA=l7dY&RIO;RX(OsQh*u50ShaKv5W_|3R0-V@_{kqw>wIPDG2 zyIgmx>*nRWtFjIc#*gcAq!)Z#*7K;B$|w1i@SgIw`WcUU$-af2<>q&4XQX^Czts~j zm-^!4Qf~cyDW4bo#{Z%4Tf6HSdphMK@oxBpw-SG+{H^?kTfblQ8~8}=$j|sryjy-< zcpr+ZKa-w1{eq7RzQHSLVV=0&P2YoZU10riof+i)`)r$arn}C3an_s0x>v#dUfysW z7I&S*j_Urxy4}F@ex%(?emS3seu@3GJr!*5;1lP#zJ-2@fAYQ@eD$$&YNz-ov{q&8 zVdv*Z-+ndQ1z*@7_>03=Kl=6KgKydmzB=GVef-(MyLNJYL*Ma({qkd+=zny!eB$8& zKE=!VsNWN={z$kwO`LWs`s;D}UtXM4+<8|x=TSf74V|Wr=UU)Zyc~VURegQ({x0j} zdgXXbd)|qov|pWaK3?}_{G(WTLaZ$u+@Ll&jzlz_x@O<9$ zF76XOw`#^?U$rNt!8um-I{xn93wx|rSzkNzao{KOrkirpner>;<>mCo`%rw+UL!TH zP6ao=lYKW_-b{RP>-9^y__&l?e}B*NTfILNpWo9S>#bD3ksk@~@OwjYme(TexTVm&uhf7bE_lH zzCXZ+IL`sKvliQny)IB|tKF<+AX{c-&6@Ba_`E6#P98Gmu=$qya+ zi<7aguzG6Oh^jlZ|q~gJ+Vezg$_%xmgom0@kBfc`u z1dsU2@yxon{QKa{_rm#9;Itd>cNur_eH`O1ue;xKblvW>(}~Z-7xQ>r*8k=_Piaqi zb#}rt&+;2?xoPG#^v5&ptW>@)^~C3eZ@KBX@NT&E{<+e1vG+N9CiQat_JO!M`x!fO zJM#b7xb4h~ef@&VU#VPtgInIoSJIK{S-x1$8s*LPka;`)OM6-ghVhc?Ip^Dhb*4QI zulyycI^zD_+l;fnyKWEppBT5rL z_oUOWu#>oDaorT8cW;9WlU7x1tXzSlR}CGM*5!_WRb7x1Y+Z}Ax8 zO}`EKDPC&g?3?nppbAHJ{H zy)NSLqh0aBNB-+3@|4OS37_;g;wWl~&xmu-Lw|_ZgWvewaVQ`C;dM#&RQ;cD*SDgM z?K1v{=TzX^`0DrAO}oqWQ$D!Q1tU%q|AzX;X|GP+dAAu4zTY+Vk9N`CW?i48URQC` zmiC90>dEVgC*BgiQeIw7cqeZvZ_yv~rY+SUDKD>I@Rjge{ftlQWqc>SKX!h-XM349 zsh9D7!P^DD@prOorM%_y2f}aq&$ZJp{nDxaDhIP-k` z?4;_57xwYRdez|jyst2Ciu(oo-N-oi;~PBok#ar_yr}~|Z8zcd!dHJK{1Ez8$$e$S|3&r*jtYKR+GV88ki7vYDn-}r=c813KUUmSZn`VpVJJopChwo6>0 zJ%Jk+se}G#Z|e-(Wjqx8HsybH_}bs)W9K{eq&RBpw_AM3c~|rL+AsX0J>h@+pgp1g z34TK-@PF|(KDCGI80{w9cBkVi#WPzx>Ev;Fz@jGlWA1ToO zEjrYtp+CjxuR2YfTG20Y>?!C(+=b2+#}Cc8NUOlB`U%hW7|(Qd zh_}Uy=T3$G8s8Wf*)Q;t@a?(Q|8eR=FP?Y#-fH1K&U39IpZO@iG5+V{=neLTsy|%k z(>_SDlRSq%%|A^6`QAf`8K!m$wstyk~prSbwE@-8}QlbIP35fx7{xef6{IhM`zhD-v99LP*?osdm;WkU+rn?aGt6D#2$a| zQ9RopI@(XXq&-9Y<*|QY=MqonX>q+iJ^TVc@Xy}H=jD10@y`!G>=aMunbYz1;_$Vz z$OrG*FQ0K$!DHN}c%#T?e_xKD$7#>MKe)l0IO9$Iz=!CQznESh=L31mb1FaM zBh_2vP38B*o8(8rOUiHZ8J`#44PO`jPWVW9_38!B^?&I6O6{tD!!3U=tW&-=FPz=Qew zGg5S`_{)R4UKMfHPuI!j`p-GTX1>RM!9M7EJLR+fs~`MwJ{_GdAAEv`j_ZZfy?5Wtf9fzO3 zjW2PoyE;vr{deK#`8f4`t|#8aUz~FBJWth+c!}{Z9`O(DYJcG6e8fYCdAGdok7I}T zU+?Inqn-UV{DhZ;tFw)B%Bk1!PfNIVHg#SczB+-s{1tIIV~q z|5Vx~j#|c7*fWfy`1|q3$u~UilmFr9`kqELPGfv7pHI4OVApm(0C)W`T^Br;kHnkg zt#7&$FXJRb?}l5iQ*T`ATQ1-9#3GCxlI}=|!W8deTP&>Q)KR}!*Dm-wHZb~||Zhxl-SPy37g6+dg|cy)BDI*zyW-hLj>@&hk#`=O~* z&PV_3$KkpEiVt!6yY#2{XQ!V0`5GPg+7r0vD)vi$IUjXgUpz-@@Y@4@;aR|_<$T27#A62^w43<_ysLvBB3_E;gGZ-l9mZ`nzLKw>S*OeI z+Yw;gcJTOJ(-)__=C}*~JGk*b>w@vy_$BSA&-&oFYmDcKzbmQpcT;XUQeOO)F8H^4 zmRtYE%lN$5k@0om-SD0GJ>_%xA1l8u?cVU`?6}pt;p#Q)7|9;-n(%$$i<^#1y#+om zAyTs?92_vN}F&c3<9 zr|Uoak?YJ5PwV*>cb%c#*uQ-KXuss67 zov`QS!R2@DA#M!+ixb~gub2L5*yA{n?>U%$c08B!ncyqowwv*7zY<@3K8_upYl$~; z#<}=1KKaq9CmwN2IiK!0S0~{^oH$4Ot2psV*AKRfj_q!7>>RY))JgL_>}OuDi~aeH_FWTkzrR#gzGcWaSxc%!FKQ!=~bSHW1?Nq+Vo91%!{laVNu|CK*t&|UWDHWgKt`FYd zROVH4{<^>Xo_WJO+03Ky>w~+V#CrAT2d~(<;1{0X4d$IX#q$c+G1qzSo3wL?vmP#W z#5sqTA92x(V~=>&Df&qr_hs!DN8f(MK3>j8dtzS(@AgZ7vc9Pk`?dGWv|Ht)Q^1Qj zeD#+&?>lY!)w!SZXQJbC z#)^Mz*Y~g7U#2=gJ9esHjSs&%_`p9~{;PxQpKW~d1v<1_=~~c3MbLdXxBId{qlg%dSZXKI-i{KTfc0#%RkM= z-*cSCMc~e_lJMzz>v@#d5xfQ;d!46&p9UK1^PBhN55AcHi*+1xit9o#zOr4|Vt^;0Y(rrrlCM_v1zCI8iAIP^I)0XNl@)?&u z6JPwl*K{R&-`D;dZzR1*-m*dj&vBEmM z^n-C4=WP06i~r`d>v$gDoP5K6arMO~c5eLUeSx^~jN`m8kBa{M742%L{{Q*GCwTOi z_||>}PMp@@$N2pGZT+s_m@f_chdA?Mpfenwjw|?8{=dXe`awS9xvDRo=1U&`n|56X ze4bd;e|_33d^&h}fTRBo4!>nS_yDi!fLHK{qrmn5&>s3LKE-Q$sv#bBf|qO$ejfTk z9qkd%@eg=Qcma>|t8(la&PU@e^)L9o#8(5n`Mwr9o4709drx@8UDz|_d#;5)BkmIS zJ`2A79F*&4+uxjj^|aqPpEv%GJiHr!U36}^y0>!icG11z^TOW=Un!r<|5*9lZq85a zy5aj$E_{nebfC{4KS9L8m4CO1>w2r@ZAu-1UKZ=Dy_kj{Ti^+@0^P z8?V~a%xmEDaq>R*aeat&nE55X;Fp)D-a==He|GSOoq@CObnSQj|Mc)H_!1|+D)QZ5 z%J~fNDIa`-??*cb>%aWK;fu%q1#Z8>p9yz=_r2V%pWUxH5Apgnaog2z_RDiN$Hh18 ziP?U8(n7zyzbu?n75Ghldd@p-_p760zq&Z*Gei5ehjXe4Ugf*qf){agnsyq`@LYJq zk9J=jdu-QuWBk>@ZMSRB-~8kJIG3Z{YP(+_{&wDgH~iyu4}0KikL~(inf7n(;re=A zmUxPzf=?W!e};VUs{P{37xjxc^F{v*$3Jm`{4UNs3Vm_*)5UdZkK?c62YdGGxACE! z5Alou`cC~+q)2~6l!X9w_RmEZ6UZzjHYPS<<# za=kw^pWDs(j$I?!C%(Z~DinmR2d!Ey1ciAq_p$2%g%XROxyRhHiF{|`zt3$sAc+-B~ zBbxSCoPKFfQwO}-uK3SSe;4>hXBc0h-_`#bezGU*S08@+Tlm?|q!WH?hu_g3+R6C$ zI!^I=`1(2gLw`5zR_$kg4eXraTrd3@?f&%WS9D_h6L&TH<@jfQ74Ra?eDONg$I&f( z?ALnzHr~~Fd>GymUwa}hD(6$tUtRr^Ht?oBoa4#QI`(VIN54Cs6W+vaSHFQryhOX| zN4&&!pYU_srGDV7ON(`N7+)Eufj8qT&)MV~Uty1NTDhDXr^LH|S_cv$! zR_7P%u)k|Ez&GPO-g9Q0cW~eLa2*)p#0jngu?~BG&AKt=zij2ZkL%ldwC}RT-w~a( zTV2mn91=KjRDoaIr&woh_{jVh?Yq`X&v?>b+VjNz)_(k7+}B+9(24!gbqqfQZaj(q zyE^}_J++{nRh)M1*Ahpk((X1+`|9X)^cVi|_ZH-bJ;Wyyo!FO&i@fgPhtJW+55sm} z9sC_Tzc~294@3Lg+x#NVxt8-G`up$E!OrP*2X|gH?fEPC*r|WUUmv_;&sOIz4&J?9 z`t2_dzQM!JuMTd1tM+pp^>Y{h@!R~+VZ4QZw8#CCcEkVd%VCdv=H0+QU7Yx;gIDpF z#~%5i|Ki~CyW<~wY&X_{az5H$9;ZHV%=i8JZMD|u#$Ak0@9TUIzWnO+SN*|!*^h%euU&T+*H3&o zze#ic#_O(MseZfY%*0bSr|ZJI;ko`lSAHbBJ9$&>YTzsJEjJyP@*8fwPQ4p%J=6ZY zv@34?op_ducgjtN^Mbg_b$v7b3+v?i?HRYz`OY{VuMWPzC%At@V&ktPjQYR{XQm-wD5oe|m7&?J17_KqvOc!iVcI z-A`F>hkjNk`A5F-kL!ncY1qknxYhZygE#O&yI#jCUweo*cH$S}jplV%|JBjg&*7iX z55D0K`JceYKh-$rOZfQ5=hMC)Rm44i`#W^N3**^yq>a9Do$uS%Y!BZzT=chV=f6Gr zJ=v-M2kkEH$8QCG*Pp~=@3hPKnb;H8i~VbXFYR$(M!%^4@@+fA&p$nQ)qZst58^Q| zQh$ql;#mE#oJWk$roK4++SuP8#}40rw!b+JvA_K_{K5zQnegC0;2Rg&ZtzdJb{28s zkj8av;^pwS{R+H1eJXgivxAq%sqb^N0zTB?{!aU6htK*W-o#l?I{kVRUp<*q9Jg`a zb>Pw%&zWDH*O#~}o+sj;sg8Wdq5FvOmF>EZr1Pr=?%y>mj&tKHpC@`h=(+jt@DKB7 z!EcX)58ByW$L>7FKJh}idDE5fe#zH_7xEdOiMLXIlh3>xeycD4pE@0>Kb^d(_7w1y z_%r24%5U;F-0}%;UFv6^dDC&JH=n_m?YcfYpG+BdgYny0M<;k?ogD06t{ao_?0f0W z`R=;vyl|ZnPwRPChxNR<{)ngdcA{O@^G!dteBz(2J?;xHTlwxYGtT-jz+-=5ee2+{ zPknxL)odtdQuB$_P>@Vx*^!n;&`dhV! zc&4!)N4xq5Tz-S^xvT!E>T`}X&~MtqdDq0wuFlU+zbg39|Be2Fhab>ar=a8g$d)h8 z^U#GoQ#(IB`s#!}^J}3~v>$sWI>Y&hJ@UKb1ipB)UHnkdZ|Y#Deyb1q&wOmQ`x=~i zSHY`zIUnuJc(-2y_$9bJ`^+U&g(Qf>HDD4*8{r%~G%y;6e zX57VkJ}&W9tW(VA!nk!EG!As1D%jIluQu}_*3Zknxe{JezMJ>@l3(Uc!R2S&txn=) zd?wy=I=TK2o$tw>k@B`z6JE%#gpcGe%Uj~jlphzp{S0oslJute?JbBfcMJUiiJg0e`x#{`o0)d{yyV9L2mS*i+GWzI6R9PJA-JV?8%6vR}5# zd~fQDbAPn4zleWw?6=(|{_@}x{t#!skiXq`*k2la_bLBw*J8d0PP_7BA0(b!_Sb#< zua7;$apC^^+k@M$*as{2qqEXJ>pEGD2Y!V<{Q1qvyKXtIe7|8nPPsbzVG;i{>@=P! z#7o+_^jkTfiQlxx-`~(bT|4yyc2@mkyXdGtzQRuMrXLu$16+N_VNHIE_X+in_Iz>l zyzu42jv;74;$3Lz!5&vM1xbqpfsPl&3o{B2^MgQmr@HcVP;Wy(M z-`ApnNqiN5_mFki_fg`xA@>Wz^R9n5y2W!m_O0?eaL?1c-}`%T=EX+Gb$f8G<~rv3 zG`X(Dbv30oe8C%}Gu6xaoyyJk55%qa&y|j3Z_aC1O}s{aC4Aw3>sj6tZ>IdX=2$t)bH?FjeRUpn@_vtO!{3j?cb}3k?tQoGN#MpC_-~=(e&M(d zzRzXgH`jm9ZNR7a3+&2xId})RU(QqQ97#t!_L0xg#}A>yI-oyeKYDriO}_gP_t8ar z+l#&)$oy>GAm1N{zv%g4_Pd#d()dF&~+E1&Tn_Uj+UVRM`~ZrOJ>I$a(27yQ%p z8~(T57$@l4?oyw4py`K%N4w&mz3u1npr6>;(Fr`A&qN$j_`uKj&=2nW=uhx2j*R@4 zaP6tDv9p}i{uXiU)IWivf5X+E>R@M~Urn5L)v4mNyXe=Oc8{GMeAqAe;&1v(|KPug zqfQ50Pi}En@i`#e(J*Q1Ot_{F%(IF0?x^J|}{ zY~r!{IJ$*%vg&@Qz1SzdDBq+d<;9;%r|pogOWH5`*Qdc8sO9M`NbKh4Sb8Uo_Fvr z&bsY-5<36t=xq2y{!b3RGXBZI)roe~dR1KKS+6EKZ}9T;iFOme!*2;!XNr4n2EV!w zGT%4rXYAv|hw2pf!I!6B+v}tbaaYj~;++3@y$knkKIc*=?D_H0Z`c#@3D>u4r#gRs z_!WDMHyjU+x5m2F&}sU?ef-tYS?E{v{aw(oM?d`X@WUSP@s|hJZ^kDj={uhNduQ^E zH#~Q$*wbv6@isF4;JM?^$&DYT_W%0mbnxwU{Mo_f2X0)gj{HA)o8QG5 z=M6iDIP-3y6MW7^i~5dd_)|N@Uz~RJ!w_fuSJs`FFT_{+bG@cM^K@yaIQFamCf+Dd zp9Vj4>@Rj^eh06ec8^T_Zf8mOMt^D#{o48=@z({{{;Ce`PV~1p>x29^_8)uIFY?vN z?Gi^-@HcVPsW8A@-#tH+AAUfmz|V1110NAz9XnlTJP-1{vcbAhI48pV(!F2vIUoh@ zOTK@goyKGF+_0W@i*cIq75K{W72|xf?s(3YpBr}Sxi0RskD7O!n}6SQp*JtO;ysmH zZzO!Dyu6J6vGemi?dXZu$ghNFy`10hZ@A^Rw59gsP4MxI{z~P;ap<^ny$7GH!-I3y z&OEBDpZ*T^aGpLG-`rnM@K{&*-u(jK@>y?PPt-5qwmamr{f7HJhp(M6K0ir1@_n9;f2#OT4}W=mZI}M)x9K=%J}z{M_>YcG z_~CK#J|7(D&)49@hw`g9^RdEz6K|BKPty;Hubm_C!&kqHr?_->>^bz(osSQ2{HZ#oxqB$I!+6ig*e8tNO-Q z=*Vw5jzTA&UoG~X@_YP@zVT9=Q~rpC?k}797Vpnu>7a zaLZe2PkgbCj7z!re5PET!Z>%GpN}(cyYZFlB>U`eeGq?j_|EHCS6PQQ{Ee>rX>pxY z=jG99;IVFhe(;4(mCyPn9_^wt(OL36PXOQI>?7JU#JN9JKXjO<6`k0RnC~5Yx=*pc zs1tZOpRGULztGX1D*p2LA+E1+$d?D#o&n!;n1+6|>-%irO*_$Vj2riNpV;5^&o2%?{H)H;u@n2%FPtNl>>qS0 z{VK#iK2Ov?OWgP8(Qn2}#F+y;-cKWr>fl3v!r$&Y`t7T?`&I2P?_V|B75}rt*Pr2k z&$}`oot1H}SI0j^dtTsA@alYF-0J@#&i-D}uMg~FeogQkCp7J0Kl8kzgO7x7>}lfV ze1`UC{G#8~>DYsJ>}Bw6ek|2*we*XH?BD2vp%r%lauzWgP(8xs`@AOSG*Z7 z;Rok+j+cr$iSKyM{KhyR>A9h}zgI=GWwRf}`&am9f)CHT#EGxQKj0tjCte!=JNS!} zI&UNH`r_c8TgAAdoq?YV{ixcuS>c0Z|VF4>)&*r!`CzR-t6k{ zX|MHnYUhT_^ZJ=L74J#Ua?_Q{3**7@=<{aBZE=6(K4UokT_=Be#@k{Z#k$J*Ktq2& z4$t>eHvA>-d93qMeV!X?XA|f7;5+TIp3JNRZo6UU=h)@?qdt7wo#JVItN)q$tcMew zCC)k6$T;mb{ge3Ov2ViH{w<$4aH(Vbz&fBGLWg~J;h*mQi;n!T-*_1P;J-?K!ye-| z?TPV2T-0e-d*s{So$PnqR^yhxe!JZwAAR{#KJkBJ+{b$P>!UO2m+_2$hk7Lc7{6`! z>co5a@F(+SdEenWub+vR+%NQx&q>#RJ9g=R+jZXcb_;lUkWX<}#^uMp#(m91C*l+0hfTlA zYxD~r_%-4Bvp(Q|LaLqeX;*tfAH2bD^6`WGciPQ-`{lSwan1r?3BR@Lyz7Zy^iRT@ z`YA4|;5ojMU*zit^`FD>kK??gb1mmZOL155J=fB2&O76)a<1d{{3`JB^zmFP;x5Kd z{pQqLy!YVmB@WgX-v@KP8&7TK<7D1DAE)z`w3AwHx)R<}y-B_#-u}S6I_m@LeP}!K z-?yE4u}A!-BW}8%(aGhVd6?@j=jTOFoter9!k0uIIpYg zC-=D<{&<{mT7E)`y;D4|+v3D&3!N?Q_v4(uwo5!?yG{JF)2=#UXMGzFKJ#6jtq${a zV88oad2w{M*T?-xJMsH69{A$$3wU?`<$0XA^V9Ez75$(+Jjbcvu|Lvo)z9h^FUeop ziQkI-lK&USPW$Wl@OymnhdS85(5c4fU*aF)hpN7DHTYDA__=v~#Ti!>{b=_WM_;_D zPh6qj)Q`U-b7^>o@oUpYU5c2P^uM z{&ugs{rw7k?A+o!*XZCq;r6%d=XP`o{3_1;Ri}uv9}W1!@%b;0&dzumZ{})7gLdb|&L&QrP~ew@ z-|V^JUB4wiXy*w0^h;F*sk?gwZ&I?a`UCPBx_l4IlxbrjDYw&ONK0*u+_HoAXzk=NCQmjVsWv*i(qpmiCDM^w>4Q zV_$F|2Ve4;MUjTW+*rNt>U?%|0@ohmv7Y_; z*R-4L^nI<4o#FrF=fFQXI!k-(FXP1V;QH$MlJjU`fBa56?aE)AUv2PWoJJhAz?bd* z-9K)R`ptQv-@K0K#PwzUpZZPxzrt_o=x3e}cJS`_VLVjyV_Y%*_1k_NUH{(Ygx@YY zu?`RyZQ32L(JANC^-sdJC&wp4ofId?uc33=sg9q=$(K)0YP(Z@iUW&yIUn22ao5yu z@`+3B?;CrLPSbDle{}5mP<-Ntnfx%&k9LWN<+tFUb}KqL{%PP5cM%`D{^aL<#p_}` zmiSr6b?J{4U)BGLUwuA!++POq()v%Q9Jn}dUdb@Ngao| zp1h2k&*c-nPMXVee#84?rQ<#I=Y^N?m3TS7Q@Qze!I$&%Qa&ztcRUlWGvA%R`*kZ%ANU1-O!@4C zwmV$U-Iw794!>rcePn@m_Z{C?!OyXuwqut%RX%ZDM`w#Cd#d}RxYtWQ@kY@e`NWx9 z+;KlCukds7kKa%1+T->5 z`tT?CR{wYCfJeM!JVrb`^bhBg`ZM~Q#>ue1oKG(7Eb4fF1RnE+@m%qP2UP7wxHsAAas9U;Mmd zC*>I@t_c5!Jx54;BL2b7qCN7_d5$0P6@2Y4$^IKY84rtnqF|4F_YZOBMLwr;eJI9P z_-!(tL*MlWyruK2AwNCu+xh%TKeO-U^Q$JF;;RClXi$4tCMKI8ks%XrSWRL}B^uf#Jy6W$qz ze(zy3J~r36vK}tRgX6qD7(d+qI^#lLpw7bx+uK(cnYl*W@4d;vd2>a1MXUKo~wtnn8>@VtXb-)+b%j*)q zyQQ7(kHnwaQ{Atzr(mc1spneau|NLuZ99kd;D7nmb~%r--3e~I5%%i`_#1nozwE#I zzuE5R$DU4qr#SKO2G{<=b?N8_AOFwXZW<5Gei3g3Uw`s^t)kP6f0!53>#okvj{O6C zi=!hx)cN}G3-i{vuDNf}uJM)6AFKNMC&j(lKLee>dB0Knx7RD-Rej>OhRzUYzN;Vn zWKYb~AJboS=4yl8r+wP}dpXWidFJm_ZvE%*8!y-Uq4Oizd()qZx5#Ha*Ow=Lt|s+6!`DFpCit?Eq{u${)l(++RAqy z+YOxkx4K?E+IO_#-wjk}KiYR_DKFZ0|GxRVHtr)&=o`Exe9_;Cm#}Amcln>SCnfny zJjDae{fIcQIgiANKL_i~R41)hOFp>%nO;}?qaV6B@q>PI9C&`UypHmTTZ-dboc(me z5B*oi4;}wB?I)fI9qs>L4_`aC{FevUpHu#)2e-fB2XJ))N2lg~VZV0Dcbqr*#y@{` z+Eu5D|NL!xHvWm{hUgeCm0zQSKb?=`w+EjI_j}|6ok_dCPpg0QzrWvG;Cp>bnx{>F z5-+J!60RSHIPq}!L7Z{xbs1hq?;{uw`}OIk-}|%OCSJ}*{TsgB$KenCqYnFi0UzS< z#p|OTgnfU)4?DSkk^jaX>cP)=1@E>?9QBS4?RNY#bHBjHd*bt=qkd01;^jSY^{agP zHE1_<@P7r5bFCC#Mcjo>#6_35>vn#X-@gi-h@;N+8pKP^t8?+cJ#7Pz?+;QCxbI(q zuW!&ZzWU_k7xT0I?&SSmN#nVp^KLy(`DVT^QuEt!nDCbJ!N2KT@OibA0u;=ej$OI^!VT2WGx3*NwD4Hu>%7 zEay9T{=Fvk^Lkt56DMqR0{1+YaX91?&$y0lapDmBW&aBw@z@u@2kmCOfrk$IuB+93 z=cnySsbl97XP;^}Tz&a3kB1XU8*e~A2jhCE1te5e= z6S()EKJS~fyVUvO*g3$reoN<91$}?#LH>mA`&t#9rv5LFzWz}^?4-XVwY$;rx)=wl zqo1Ac1)ZXwc|N<)iFr{|e;+4b{J@WO16+FoXP*_1_@toccz8`7e2YK8xnHwipk#Qm_{!y3$9jp^Q(im%*y(uBc4y)(@;%|3eCB6-rF!y5!mVezF69lpkWR*J<@&o$ z7zEsA8?;&sJkvRMBbl!<`zpTy_XT6d?#Bb+U?7u7Pr}#?yJ-@1q!|r`_ zZRP0$9_!~pi~1SY&Z!Rkfjxnz`{n9>#QpoE-6>9-<2pIS=~ste-5=9AlKZL8#WwaV zbzZb5OW)DK|MoZA)6fZfh;Ows^f?E!-Qd4E?GALd_7I2LZtVNSMS;tAUBwSe|Fe$S zuV@#)*>2Hq!~;`%#5uoe;L~=A4=3%0&X@EHyrE+pvegl9hu`EINAWyyfjb|)&zN~UDutz75#31zdkzpLBIJsW*xqM@EmN=ucrSQ&rQBK<6l3-d@Sd) z(CLq32XGna#5(ZFDGxhe!{@rIKgDTxW}QDh^|W)#r(tzQ!Yk`#f6(ryC)J*J;v(AZ z>M(8>{Vn3Od&39(h=1VQuKO`?DYP5<#1HDfuTJ;6u-}Ki_M|v!F+N+ujdLO{(thKj z#IISO>!nWUvoCbp^;`=-2mbqZS~QOG+~6O;v1b!6-Oj0Ue6@(9%I}iSHzyzQ74}T$ zxp5c!pz)RCZT+98{${+nUpxLb*Vl5>D5svd=}da!%W+LQF7@UAu~O}LPJdqP>j_sc z;~U;29jTt>{eoM*F69lpa-Ev%w(Gy~Gvly57(c%{>0ta#J3*B*>+SQ)e$62>4{Nldmdv*A(YmtLry$ z*29VZ5+^RQ-LRiHM?2N`T*&^$_4@Mov!g$fe&G0L{N`={H~GIh_{M&9{5wbX*X!l) zs1*B!-+W)r^+J8|;5$C?+e9bE?PtfHg*`DJ%lTB>eH@;D4@I3R{>drVZ|+Bh`DlOF zYjoJxhW=ECacjFZ@bdJT`b{17W!sIo<W;_+EWeN?eg7!^-n*%C-S%d z*sm&|f(8G5<0b7MNq?e~3mOd)D17_4EbE&VH_pSI#AV5 z@l_EwzQS)lmwD$oAp2cO@3DJ+^#(uv9hdlOesjtrzM@^955;>~t~2UzeSNQTyHArA zQpc6$rrq*Oy0Q*=@s{%YqVvbXwc|Pcd9kY}T)i8<;g3{Lyk2n2uPNiM8$XeE9rpgf z@xLBtyp&&^bU44niISIsSesSWrnsMS5b(;IQ>%aO5m+!vj_tX~rCI4kB-+dPSihYW8Mth=N;;w>DQRhYb zPNv8Y96zWZexP6P=zy=R|D^uy`w8IPcGG!U+_(LrJ=JhrRpWtI2Un*WKYVd;?Tr3< zeQCGauJ$``#M5<;cCoWNezeE-`}Si@R#~upMDMXwNwAV z@A~0aZ~G_k-yXc8Q`G+reDJA0aiHxEan9?sGjzZ^{c8H*)zP2W8P|pD)xl%j;?Jf% zk5k{csK8(1<&-nVP|8cIj_rKM3!1aVU#Q8PgmzSsBvfYF?*8%aL z9KQNpydGTrCjRGd^Q*Ye(a@jbpCA4Nuf|dAvkSb5r*n@X{@KxyANvUNUA(w|mACmz z9oAvj+t{aw6U4hZtj~k_F~zY*e(2!;<~Whhxne;l>_JEUX!iwvL#JqeIiGj<#KRST z#(vE{E8dLerIbb)VR&J^r4+X52RI`47iV z=g|=V^}&bZ2Ymbu{M0YM-?!x(xBTYto!8#)w!b_0R)=}({dWhiwCnoaz=wYR1$Kfr zar{=q_0K1?i=9*dJ1^9S@B9BN;pNMt<8@z;llT6j!jEx9Jflv`--H)+3LnNpOSt;` zb(8s&dfjX0)8F7TPrY6}bdKJ{{>*RsK|bq)_Jq!lj*j|O{*#s8{)0{vXW!TUX*`qo zCGi*idN%Gtf54A8D&gIBvA@G_33ndFc@#R`{l$0*`)_!2KFX(EB4tVf);w!G>JMk6$^8NPs{VV$Ae(U@!tn)E%iRs9Qn};Gc-iY^e6?6V{eHu8 zJU`Aj^Y4SiJazv5`%}J|U$JhmkIN4{onKY;Uml%?&J_24(D^IQdpq5B#n~@r)?qwv z@Fl;t^7L`siPLVZhwd-zJ6*o`r$@Mgck>2+Nq9w^dn9%KH<6+_ecCt z!DHX_IjlN~Z@Uq1{Q0q`U{AEm_0|4p7e6=nRek&>zTL0O`RJeEr}M6kj&aUJ-|^|X z)ach#-*EyS{d#%&C13m1ukZu^^6)3P>tFfm;0t@U{pDQ9{xp3vrkHYJBw{-?r0uY=GOZrq16Ue$Uqn`#1A_=uf|Q06%c9*TDWQ-}w$c#eHsQ zyN>feJ@(k&D$f3;ei#4r@SE*EPTs%!Y=2{3v)@hHE%M9xi0{|vfG_wn@KfHsUgE49 z+7o=nVf0JB`>*zh)2=#096xAJ5r?lm(JuZR=to=xf7&nOAMhLh9X$Cn;;7P|lq&l9 zoXUM<7#Gp*4WEp|lKA59oNIYL;Q5vM;GPQ=u1j~E|Nht=;|F{Z=Xg%#ds*&_o{xD> z(L8Um-EWR=V;It7rqD_2!>!J1a+6D+TCTBsgz{Pwrpu;)Lrf= z55U~rsL82m%ro#&_$Yi7KFUak-?t8Oogq%9rL?PNa$kswKmPc+$RHR0&4_(+rg%m= zHr{%`8@Q!>%W}BR^D~{VjGsk*zFY?!pX9O5?@cHC%Kd%HUlsCC%~6y_lfe0eDd2xyNY=}<<(gC(U*U@ zzI?FjsrHZfvyETeC)eddzb)gm-n6d8ddE80(D%L;*0lm2`f1$^{?CY$dW-&{z8Zfs z{uED>pWc6qdOzGcwkzu_<5wR)DZknecU#ByPWklnB>uqJZ&80a?myi+1O8AajjL!E z?}>T8^f^8sjCk-f{@uahJY?SaJ-dNl=40kvH-3H57dy_tiGSkXiv0$^`#TCapURc2lV9+an|c$yTtJu(cZv!y~cBir#LfiyQ+NjPdf68{G`8H zwFmA?;~#btGPk!md7Z1L^F6)Cg*RSNS26(Yv?&F0{)nDoJ z^<&|$b_2%0)cgO*zY}zy>d|{v&S(A7d;9vx7tYUT8#h0?PhEbwao6d=eXR8Na=l1p zH_xPUrepJtI-Vbi*VD25w_WBqPW8ZHW&U#m~n-PjR1LWd61F zXVuReaS z5`V?eM4d){Rfcp?KaW)Gv`QmvMsk|846G@Fs3vPy9kYcHYIl*+0A* zXWW;sH(r?Mop$BtkMfUypW*YZV?LSmr~7+@{)zjJzgqUQ`(wREsNa?+{9S*@3L$q#*f3-ykuch@tXz-!_+QWd}U`AJ@y;*9@`{-5T5{KJ5M zx&E?VO!J0()(hi|b?0u^yWnS?lJ)7I3csoUKJkki&j%YfPS;KMwJ!M1Z~vadR7c;! z`hF45QvdnZFX|W%amo*UeXs3OpM9Zaz3St;26z$o{yI<8!H+fgRX*cwf`{Mul=z)r z`mQfGu8w@)2eV!F=lpu}C+!;O%s*^=*l+6NyDr-$|9?gYU#Gw7&o|zQvygZFz8mvh z{F_(nHBSG|gZ&Wq1^q=l&3;S$8RHEf8+`A(->2+{gjeFf)Mp-5_(lF-?f8u|<|*r= z{U7-OAGOeFw|#xNqZEI^ap40V`9$1tCI83!x@fO>*?7b$&blmK#L++DjsAb|Ir{?d z?`8kcZ}vk|pZ;0sEY@YJE$X+|#Jl4`e$o#e{Oy2$$p=?w>btmK1^!I_%KZPxM=>wl z|BZIBPG!7+`}fj)u2;pGhw6ww{7!J6(O>yo$KPeRfA!$6>iq@Nd6@iF1uyPj-EDp` ze~DLg$P4zT`)!VgWtl%BWD_(*(@+u{24XU1o$FCQDv3HQ9^IOvJbbl&UQ0r!08 z{E(+#;y#<_CjNZf_I>ra@x^$K`TN;E?|d1~Yw~a*Uj>f;Y0RT4-{%PE2cNt>TwjPs zUoPuj=4`8afy8+n-ZhKJV3E&S&E!A9w1V>U_21?C1>R{1yFAKg50c`NoZB*+0%- z^zDE5wHy!LFaO?GgC9EFmtp^SUq0OR7IEt>uf`wqy6n%g|8JY;dbiMtd40!u@W?Y| zf7FS*1a6%31=r&fsy6xPT3kJL+?{pCJ(z4Sekr~FmyU*R*&U-4Yu_Ym}B^mG2Z4d#{U z_%@GG&Qz`^&OgP^*T3!K@tW~J6^A9=Utvt93!Z#;~X z0Y0qvm#^}NzQx}U!Y|^?3+oM?Pie37RDJr*_+uWTGl^e6)_=2gjMI93?|m|_3;O!K zc4$||^+nzOF;4w0@i*H`{KdSIaPP126#Q_ZU4f_Z9OI;<_Ikg{{upPyZ60uZKU(6< zFXOqyxnR=X$V=eMet1zqD2TrYzRy?iDXxF;K8ow3z=yc&HTBN+|6XsEpZaGd{y=9W z+E6i2k~fE z*?ikO(`9qZx?y5t3&)3{HT}lu#%4NQ4iwOC;0a^3;bvo<0o+AOn$qHf3V{>p1|1` zwSSg;_H8Qt9QEq=h-W1KFu=qA=*Mg?{PM|;M}D(j#%)ty-0!X4$A8|}`@0hP%Xq$i z^?r5h{oTep`tr*c#6x@S2mO`zH~Qfar}wes`$#_&>vf#u{2=bQg@4%(jL%7&O@7&* z3;bc8g4>_Bx&d??|3!SCEghZ6OW;xOiwd%fOMP+HP4%0&J^_B<1iyBvzjD3wy}0@k-Zzx`G1lF9K4|`Dp2z!I zRODj*h&)RM`&g83#PaIS=jd`lt9_Z<+ZW{boG) zdDn$v-a7az^KH8^PQKWs^Y;=be-7r?FhAgPoR3{R`Ku}J^Bw1r`e~gFeRUXLOC8qJ z3SQK?tL3|o`7LnfV}XC&>UXr_ez@)JxB4CW?Wf-VS3LR=9s8l%zvOxGDen9-PS+RK zon?Q@PwUYTzuWON`$3#M(9nr^h;y0`t@neiGZ-(0d9P2fe%Ur_Y3^uK3?F)GtoCrf3Ir0;{M_@ z7xfn7`Hc3WAN~9VxbZs%)%sQ`+?{*kZ_EF1zYqS^t;P~wNBKos4FXH(f z_yn)+JApUw@Hya1-*WIp<#loN<2@_-Kk79e{7j+V;B((E@EQK9?nuS;SLjsymA?lr zcbk8`++{o;e19Lif93C0{C#W3FU5Q8^uO~n_;2X19IxipTn^WNO3%-9EZ!1+;>mwo zWj(|_4tS1ZrgnJV>pixdiJy<ccm`E&1Rx*UP?*{Gtx?Ws>)XIOF_;clgEp@BB4?isP3$ z@dTf|x@@m}>b=le;`pd)oZ|Q&aqnNbtL3|o{ZQp6Ul)AhY{V0M@+zFZg7 zVO*&{#OVk5Q~Xofh0X%E-beheHb45)e)!F+coToVar?7d@8=u0T}|BQdbD>q9-eJ} z178_8Ur=wUn?Doo-?5MQ)gccU&%EvH{X0L4dW-z`_xTI_l3(^mJmxRB{SbWjLl{4i zADCYiyuGLh@6z}$as86xP@H<@5ApZ5&LsXS4&U~MKKQWz^*P|`l&5r_@M#VGmh{DI z;5&ZDXZBZ>@f`b3#-DNH0S|u#KJ+c&XSUD@pZcOd?)a!S{@#1+M{&P`|G&crujo{9 z?$`Awo_(Fq4deYQ$4~ZGjN9;0Jn!+}L7V0spAV`79`9cf=f!*r-^KTu0pI)h)c%$0 zelDHA86V7Rae3{4%lmVcl{jXK$NEpW=f~l?6Q1?*@k)A~<3V{b{=NUj{Ox!n@A>@M zdADwi+b?$+^HiLCZhlzi2mI2bd`KRy<{9}v+xmkzLx=UwdIQJ5sWa4J{15btaWbA8 z`LiGJb-*vz1^kKmwuv*3mibNG`A)r4{Gz?~gY`Ne;YYpru3`RH2i$fApE!+Ys&79~ zZ{YaGo^gCmvt6#^_|-V^CsSM<#)Q2gCd=Nowcdg~bHMZLcFK2p2<`zIGV%XTqejHine z=g4vLoUwoh|DzpGr`|jc7yPNdd7gO0-N!SYxWDpk*KOD5zvEzgn>gc5otSryE8FGx zVcbTX>fG&m7I8*AjGtjYyx2T{FH^vWeuH||Z}OQ(9e%N1=BYYeexV-tRUE(Jcqrm! ze_kKo`i*|>#;?x-&pt|i;Iy|m9%BCree!VLr!qf>@3LO_*eh{hsm4e7tTP*Ih<_5NDmexc^O@{O^1(;*6_l zz2f9;^FZ)@uO`RC_^%l!pA7Jbr|i!HAJ)r!e1xMj;m^buzwEc1Z^g~qIUe*Y{TA`u z)pGv^I+<)e!b%~oaZ_&Io`yXM+5va&Yy1mNBD=d3w~GUdX*nI{N?zR|M9E*7!UB9 z{M+Wm_j>v#^tmtgPf`DFUl;YNQ~02>9G}3K`r?cS@$fl!_5O+qKXAtR0B`CrzdCri z?dyH+qy9*I@z5a;O!}wDzmMi&ANT>^^*rWpyxPx=c+e5Q#K{8%e!MqjJm%Zvud2Au z-O%sg(|sXyf-i3V%>D;k>w|{9Lxf_3}nK?>M~hSLSuct@$~|BlEG6_riCJ-}ZRw&ndw# zaDNA}GS0eS9$4lX-s5t84;|JE^FvXeJg-g_XT1{-eeysfo(H_#e`acz-)lyWf76Tl z5f6BW-)|LU7t4AB-{;N4Q=B}%%>S-C_?8Nu`3-!j!}>D8V_joj%MTp=Nu06XeMp?S zA3oT)@i#3zp#Ptk9%j*C0aeecNm(#?y%-Svt$ z@h>-Sy~F#$zSd>`h|@ol^(gv*b}jg!<9qwe+iLvGmkazN9{-+Iv`gRk>8t(L)xqx> zXE#pndn2AEj=yc(m*_Y5@xV*c@8F@&JT)Ip`Fx+UU7Kf^%nKTiBtT+N9_}X zaah7fy^2qL6!jMPu^)wgbv)~%5?;j7x!}(~R+;zZ33ok;b%?7PKB_$BugLQgzZCmp ze6JL*>VQ}I`YXoCBY*Y&Zbx?=P5W0x+~w(yqX$@R=9+BFX6y{;Yfz0ULN2_4TnuJl)pe5~&> zzc~+<^T>RwA7@^-+a3qLkI|j);QFh`8|EMKYUBZN_6Nj^I=m-e(T_Yy-tHMs>v-hP zl&`w=mi=*Ehqs{fV!z-bBO(_t9<;% zBA%A;VVvS0Y<@VkEOlcZz(_&RlF!qutbKSe)}hi4nVsQ2=I zu`j1i^fP$#e%M58LYGZzQ+7q0^dT;i<*3t_=CTy_ZJMtXZS1XE#N1Am3>r$U-ehy&l6tZhYtDb zP5srv7rDPfcb1-U;u+xa?+j9J@c*#;#eX;CP5sqyzUi;7t+$+?J|Fy$dYnJ>3NTHIg^g(#XbIWmxH)Yah!1DJe?PB2mJwlQLaNd6R!VXJ|AQp z#CRj`IX^DOzw4d8dw@s&`D~AeO8zM~#trL58kkI6CI}E>6B`=4bJ;Kk7{JyLx|O8NWF3Kf=uq z@I#07#d^a(5KmR#^^QEy9be{&Pj)=^L$vEY%5VQ;|ClH6Gv>)*{KPrA@1aA##dtNI z4|ly4{aBapHa>`dS?|Xiw?8lA{~0*#(r@^82_`y4o#&fh;Wu>L*I(fN4%^>nH{x9I z`|r1o`cpq+{)9h_^LMZEt2p^s{qSArKkA2HZ5`)Pw?EVOn(#9|f2Up1pU=0>BF<+2 z(4UQdi~IXNeEZXS84m^hAwS#x_7>;+ zA33JI>(TSUecp8{`z7pt?=7alJ@%QVT|BRoDabf;x&L_&t`J2j~jt9q+(&LtRo?i+7 za~+QqXRdcX5!dOwcsuBemnZaBI$xOAgWp5+my8R>`9=Qh>=Sp#|84VJUt%7aH$For z=PUe``6u!i&jG9PsDocx%*V)YJU5XaI6BRIrH=a{;Dz|h2RlylXW;l2@raXrUdY=~ zZ}L%>`pnZsy-mFAdavBxvOn^xeAWfy8RB=feD}GCCvf6v;Ne43oUzW*u1-9G(+}!& z*VB(*tvC3to7CG}H_iX{zxaLhrP$te+qyo7?Y2w)hx`1rKgFrHfnVape}RWS_obp= zZ5MvtdaK_rKiTz)hcEi&#;td$1HVvj=>KfY=QHX>f7t&YzFP0R?PK4U8|cLRLZ?~p3;6Hv z@)6EFGR`Ky?9XL9;;g3={hIIv|GMq^Tpw5FqkqzAwu|)-di;H@@JpPi@LS@aaP_-< z^9=XBh@)@*?CxLD4-I}LzZ>TxJo_K_qr3nepH~S_pWpql3f-5kBmJLV#q~@1IpB%k z)K5OD>X-iOtNM#|u8N=h75Oms8U7I+^2vJ1@qeKtKTmzsH{jeC=dJ5yLBBEI0(XDF z`TU=^j=wve__uZ2c%^h*A9;OG$MSl@^L3uT5^tvC^=CdF)OU*Ggd68m=PUX>wX1Pl z628*$%*W;*#_42S7U!M$-1!PVy}#^VcJKo3@1BZz=EWWl@mwk6_@WLTzJ>8-K56I| z^8BRUOPuvU8nKdHS>5IA$KH-^AgY&tn~A z9dTW_{ZZ$k-i_O?6CUd+@mJgBy#J`)3tiM(T~FB$8IG&l=G~LO z{ZEX?girO=;ewj=lYd+C@z0L`B2Io&zovSxT<=xyYwpy0*$Z=bU&b@-Pwub! z-FW<7W1Q-||Ehj{fj;A3{YyUc+HqpN{rSFbq96PZ!MQIb^vnIn{P4(cz+Y`&@9()* z#)-3o5BXa@{8H$!UKjW+@x^PxjdSXM&_Chkw~}-Qc`tla(#iW*MSk*27x)xU{wki| zp&$G|R*+qs{8H5yC4V)=)k*bM@v`f=;CKBJwV(Wzc)YJ={$$+?-}R%d-@)VG86*$8 z4-tRoiagWtSJUTu#?SnW{VVi~>#O@$>>I~C$G`deVtt)?Z!j-ozNGcNq+@wK;p1>z z54bvSyPTw8^%aDC>Bufuuq%oCp}uAYwNS;{wmIZu6V*tn0*7uWadI3k~1`M`~AXvD4+Q|!E4~< z{v%!zUdaCs{2h;YmruPFe!0P8-d%Yeab6Qo@KZit>Vtb9r#SW6525pH*FWq}PyQpX0^pXz|O?60U-KU3VlVx0RNu&}@6-)Voee|1;yYw&wc z|6lfT?B6o~!*@O3=NGu`^6x`*_TQHI;pOHJ=8L8C$8vJsW6KI&()pS6^7)ncZ~NGI zo~kGF263Kn_40Y~acF1e_XAHIOY^(qzp)?L$bZ9ee%tr8;IEzUo&4tdJDk_%z2}Sv zbYflRxuN{XpDC{{by!c$pHuw9t#3S4{O(o!5@(*8CxZ{Z$e)3ehsB#ZW$PE$yM)iI zW4;BCc*_1%blMHw6i?vPD}Twq_H`FJf&X~pO?}rjd`Q`~@i~Rm#^Wr^Q z+7&o?-hQ}l@ITt+a2}9X;`hkvSTBBHfai62qBHarpKkqbyU=%krlB*9r|i!KzgRE$ z0FQoPU1;jd$5&kFx1?XdLm!<59=`G8dSA0TOMUi>3iS^04>!M~v#j@S;|)C8%Q#u+ z6#Iw$-pC8$jE6`4@RO}?oN?dF{)p#sK5g%deZ9|xEAfO5^Un4b`KkW{PxCbV74v0T zZ=+sxs(A80C;WmRK8JcwxcP0WPaf#zNpbqEGM@X5IPHJxUB=J6uIePe6!nUydSjo8 zdW|RJ>c6hPs`{MdXY@a@k3_u%{sX?-Ex)S6{Tc^yLdZ z=CwX5{=WLPdE)h(eXNfv`XTotcz@XWrtk83{eZ7O_dYD{d$V7;-{wzC=j~Ia{FeN| zG>=l|^DFV+_ObE2X+4cN^YtUepU*GOXP$WG_oOG!a&W#-Iu5}9cClVqZ|J!ZH$LO=U4`@h&;##_m8a^D+x zGyZG$(+MxesFY3^5)AjzaU-aOYcEuC_6VKy_M?CwVlkajp zDyd#|GTx{+^c`2ef2_ay>)oF|zX`uY|9AY)bU*5D^DB7KM?FJ_`5*6D@qO0(<$LVz zR}bHlcRWx!-YVnHpgay7`fp z5g%S=L|2gUEx9pGo)>{SHh4qev zcj_%k$9lWC_m}ZG#F=;MEcIO<>4zdtR0BMG4!ChasHw-Kbt>J#~B~y-BeEVP{O_5>-yomyuWnW4)N6k zJ`Q+p$9zp*Kkyp3=hds^H|Nu0TwcrGS?-@_b-^KO)R~sJ* z_um=m;O1M`Ac^n^F#7q?yLch`6NXE9D6R2g3h{K?%R17HQ=EJ#K3$K>{)qR4&#WV#c#8Vq3;w#*jku13M|)lGz^D9cU)R8g zcp6t#{MqIY``P~dWaIY#@_kt5k$6wfLoe=Q#KS(G^Cd(Hzo(>r(MQ2A z=!Z_(AM;O_f5I78(|YBLGr#iw(xTpF|1++vx2nVVZ0Ls{L*MzE{Zf(t$K79qAMb;e zgb(7({>pWsC;#JmlJ~X5!*|&atUuw?$XEUzFm&X*AEl3?0lvRf-KRpQzufJNzpFsM z759k>H>3sLSEY{D?_&0w#UM~29 zyytjyK3?GZs|CM^f4axt#e8qz1$>wX#DBqf1y{%K3lrRW%SW5PGGCtn9(kTb17GT(FTW*x!f&^_nd}c-;1Lh`C*qXKFA{2SeX=q);#8@v>ca8+W`n<3YbTeiPq%yY*gMXA-~T+22#I z+%D>EnQuQZex~(ue+&FB&U!tGa~KcrK~?9WI6kDpU+U-|j8mL;UDliWQ#^bWaoRs6 z=@jA_;?&!Tr-{4n7^n3T&mf*D&b;dxhhON=?0>qrzM|~=*w7j3d%wIdzK;ZdWZe4# z9{!4XAwPUe*`E_`KNsUcKjM#g&>-`1RJJm`0`FUTly~!^{9!~f)|Nqmj zZ%0{*`8@lpW+{XzXf47SJrEiJ%)vw(S{Z;>l zcHQmLeWao|T~Ox98Jyh!3A6zf0IQrr(;l_F5Px<7lLA#duKj{zo__4+Mb=~S_ z{&<%cc#+TdzCpXH{Es%@@fv={{Vw=j9rW#=OZ;x@RO;=<&w6csx~%s@_|6mk7`|nq zGvz-^`r^bhyg^~ zgJ*u|8_!+6zhF@B5NF+qIIWj>s{NVjb$n*ORE$%fu)~bMlbQE(F6U$N0}Z^U=VJAM zPw?c#~%F24oH5Ef2g10x85AT{P0Ek4eBi^e)}i($1dWe-iU{J*TvOgzF*?0 z-zN2TeG&cNjVIyF{?RYNua9uz#4m*}qP-0~o)3ao{Z%|q+&cA%eX5!EspMCFmsRez z&c%A>{*k!*S5?3C!R8P4seGR2?`5j<9DaA5A}_darjHx$k9i%X`OvbFN6aVUBdyQk zmfif8%9f7h&jX&%k0*HYzi&BTvz~U~)r6n)GM5>y&uepX&PJx&uBA{F(LPyWX{1-3WQLvEDtx(dj83>m7k_y^H&N zalguk8}E;FHg255b|s%+|N9)X*)I8I>n!k<@JhRKKil4jpLL|z54H=uW_@t$o$|?_ zmvM@}|7t%(y+7Hw@$}n1_TO7Ho+^&cR9~F&a~Z#Q*`EeK>IE;(Z{uWqR`8*uXpL+hqJlCJpMD*GYMT;DkGYQkqaRwv{6_{19rJ#ou<;AOm+=b2~DE9af>!Moq- z{2lr$#+P|!nxEa*a{iiczu4o``98$?UeMt;aQ_{FV*Zi;D|Emw>g~@r-oTf9-wy$g zb>ta3=3(P^T>}q3`Ov%_@t6G>nP0a40&nUke2SwlKXCIZI$b{XcJPsKb;@nW0ln0` z?(18`)yexg;`E#KPWzb(Cht&Cd(zhrTV3_N@$j&| zZ~XFp$+v&Nquw-5;=Wv4r`Zq2iC-13x6SkKVH$rEN5_6!>JZOmd&OOs!6P1U`>iCt z^+vzZpT=42hq6E2d6f3A=A-`H{0qD%ep4su5AZ7P_&?}dZ|K9X^nc)`?ts8cil@j= zKFxjz9mj)l>VLL+G5+kMmVEUc58~=@zs!eu-{~Sx#&b97E#}+gmnQxv`y%sw>@T6y z&YI%h_OX1AYA}y1FYe=@|E4ALaj`DDPWQAX-FLfCQ&M$p< z#ou4fQ^uX&^BhNu@#g#R-SI`9bpN&aeTV$!{+086ivNc3j!skO*BiH9*M-o5-{F_P z-~8tI7xy_k_!57%`4{@>thk$>hYZGq2IQC@Qo+wN1Vhn8CO+4pJV*)NBO*u@%G3^ zaepW4SUey6>8@|#uPXapzCYaEMb6kFOY62mB%rN4@0X3O=lt_3IH{_D6im2cPJ~`YYdg?Yc~U z)<4XIKhiO8qkpP5)>G;&#*^X{zY<>I2cFjVA)kEM;Wu&m?E=s1^~~|0uTKbl?#m;b zei*r4+S|Y*e(-+4jVI!Vzu-qa;1#^vUi*jfR>ajg;02xF({JK2o=d$~TIf{$1N;*n zI{FjhysTFp`gy9K_|Bv7Mbz8m>qCr_c^y84elQQ@=VF&S`WDAIcs$o5{tiA(wvC^E*zQ@X5YY@p+#@;N9na37_Kc*ZVV9_Feyes?}@9tkw zuloQ6oyoY>7Z3XLqCa9iOY5-fYdPR8t-F~w)A_}*xX0~)d;V1RgZ_#Ceep(pS!W*b z%o~Z9kL72)r|aakgnK*_Uej?tzc@bds_G7eHe8?wX4Rn_AkZ+AA z`hoBp{4SroUBIIs@THG%`c3`l&$9b}*bm+p>jgI-0>}Q6<4ycgz3SL+#t%LY__Dnz zo@sj%u1-mKC;spo)H}hu{=|6XA9Qj*guZ<4<3*g&&-8yae*597yJqleJgoc18NMZr zlM~*P{~5MRoc31xK_8Ov?7O19`Xa`madvV1d{IBuyT~&&;g9(GALduJ-~Mj*oAJ0# z`~Hvm({|l$e%0sbi)e2V*Z+WxOouX#A}Bi|;!q+f{Vap;@3vyU1ti8uKo@dy6q zE&0}~zxBD^H=Cyq^m$yo2Sq=3{g3-s&$y0t$=~()9MJu!{x!Tx={}VHiu3L(RL=L? z=DR*N?(?F&ST{YtIBu?|sm#23I6n^f0?#_)PnDhPEuZ3l-}9$>W@_I^$JU$ie0<{d zgI-B^<2dtc;th^x!t-_V+JT?Xn+GcM!|xjtAMZFE&P#*&H|5hhrCzO3H;w}eh2TaBR|=AHUFy*ZoUnjAHB*C z+In(u*>x<)#yf8dwygObUpGE&q{+rCx$@<%wPYoT{U;oa7`hovu&!c6%tUIxP zCC>Wg-!Bb)^Xh-tIvswjJLE(2UgYNwH{U$j)xn=E`XllxzQTMS>ma_%{6Af1Sr?k? zj(FLh3f^6(z~#?`cld#u-@uFd#B+hiI!>N18K>TO=~Gwyin z#tFY4{E78OKf|x`?VsdZa(`NH=p>&I{pLDIKZH)YzY+gc?;~o&Gwip!jeEZWXFPac ziu`+(Z~rcR9&ZVc@d>U@_z>_x{4xH)r}x)!PCo=c^=Fqa&Um}j_de2Zm%c)M>aEV- zf1aeP$4U->?Y@2g*~L##Lbcjyt1`}UoA=J&+KeIAr8t&6Uo{eXLZ zaz69KTe@C+eNQ}JpO0J8&*y)r<9Vnj&}-OH{VwA zFTly4)4W$V-oZQmui(2X@x(gC{GG<>I>LMMh4~ljEP0@V+kT(ZIbWyi&U?g}`DK49 zc=#pocEHt-ddYhWez)Fh*IQWki~UAk?T2`*H*|@koTr0ekt~& zezM~m;$Q7!^R_;!fcyQr+%_-#8|z3Xe)k1juVQ^;J#3VP@^oH&CSFTAndf=&T+XDI z&%f?*)@eVG?o;*WdgW()9OB7%Kkzc%4!n_kjQUsN=j$ius`bT-qmrP1vj3oV?4!r zlgJl1h=<9X28`r_4i$n#wt+eQ8?;6)t2QNbVjXX_8}n)r|K zviSwS6h4ReJ9vyY@Cm*gZ^YBUyExBP8}VG?_{QbBY@FyVse6`Y3RHPP_*tKl>T*aqwOGoY*f?|7E@ZzX$)bPc-%Y zzREZkkNqX^iH^UE(-$@MlaIROC*1w0lJE;370>mE-+ik19UpjMozNHgep<&z1^%q= zEA&_Rq{8>#>T|%a;eEQxhJNKfx-aN>vwgNFuXDroGp)<6i=Ov*rghTuE#dOS<>j(l zf4Y9X=COL}cwKwV>*fEc<@^)tIbHWd;ki90-F}F_f_vTIIP=9<(rM{9!oX4H{K3Tu|ulGC};6?m7^9=o1mp=nHpSvD` zo455{`Z3p+*w^}a>$tvzzWeRy8&BcmyspHV@vI|1)>HCK)NB0aAJ;o^)*bn=j#F`$ zum1s;U)2Gx@S`8V2YC1>@Oi-7K}Y>uZ-<}bAK=kH?i*yB^+la-d-VzW9R1H-y>G#F zz}1=Rq<)TgsP{U=)4+2)13c@?4}Icaj<cl<|{Gz`5Kj4*om3@); z4F9t)(Ent9H}8EzJlx-De$&s;58{3=_3x_9!+uc(kNq6tmtU+G{g(OMm!iIYhB%9H zruWY;`M;xGd>;uPCI91ney~2o`|3a6xZl?c_4!0T*yqfqY-0K>AdE%Bo6y8!?>c8#s6#t)E?@8}X@m&Au`j+}l-U;uCKhp8y z_;h{7JN!ynSdYxFm-&}@H~Btc**PEMpFF+DGd>@m%zN|I(4R102mA}%f7d{r>N@zG z`AeQGtVbQ(c)~w`FWaHce?&(-t;-cW_EpOMH1P0I;MN;)maQ)y@w~rr*Q3Bc*!WW4 zb(VZ6e~MFYWgV}ti8uX#eDm-DFZu-6W$GRFTf(RPmT==Q){D+59_x+%fp7oh_MZ4B zT%DQXkstmi^>cUpxIWTe{XF#e_u#TG>WBUr;Fe}zwJ<{$U3$a5XM=%bit&HSd%`GWcA{1X2a^A=qH zZt^`ebX*7VX(xPGuYC016jwjuF`uI!IQsgTZhKw#>7T%JJo3RC`ZeM8 zP_Ot&Kl`_3|D^sm{@~Nk{SZ$PPyM_chso!h@C%*1zZCjO=Y+@j*Pqaz)?1R!2_M8C zKF9k7p8ZwL@iT5ac(H%*A(#DTJoIx>U)*_`|fRUmOb)O z%$Fz8~-te;xQ4AFs*F*S+cSO!Zjr34cmIUnl>E!qu}p>GssFr}&P`GukIdWXXS`ak@vt6U;1R#yXAk@iUL*c`AJGYK@FSj6{NPi*ekt`^ z_C=vDADs)G9&zpyPvPaDlX2^vp@Tc{nQ?m|n7V=E+={NmP_^5=(eiXRh z7tKe&rM|59{~P;4oVdV?{s14?vX8=F>2vDWTMwD=KN*jFn)u?`FLnKuzQ{P;k8*#B z`L2%%fAws~6@E#b4>zt~^7rBXd&bsb~13Y}!FZX;6KJ(V+jFWnO?xVk2;_gfE-n;R{I?nH6y6cqd=?A-B@!~q= z_gVNk|I3ect?Wa=l8^ISHz$0WB9$hdS7$1 z|Gn?vBi~2-iSd_+bL$lNoqcEDqkhCsI?)gK4d>m%d*fTbGVk*9xCY*Rey6V%Hy-+7 z;&UGPDDku(weUal8`@d;$k#6c``qo}Io-a_eWci*A)dJgv&(#gN^To1oJ@I^)6#dE!O+i{1F@^?Vs!T-hPO?*=LOxj)D2Xo$e-yB!m zhe3ZW){~w}@#%V#%9f7hpYW4TzAp0y^<>=Z`Wwb^;;T2&8%fveTEf>`I<`Lb2ldQU zpSZkJnXi-gwsGsR94UV5x0Gi&4t&o)Rp#qG?nzhNva_${{%yl=UCg7(Jc|56o}A1- z{gnCqVji2P^*^mKpZ%WXdf{`!-|X}1RQ=fJuj1KX4dZb=BA-}qtfzdxTjmGzhTrd8 z*IcLWs24o)zj-+GSw~zSi~41M#ABTWuj(g$2Y=Wn+3}q4$2yyT8K?Th`4nE|ljjRM z5AE9e!*OE2(XMGf2fq0&aF{X?UGOb7*7#@qTW+H>P+M0{#M&7j{d^8_&f->i0AjuudL(v z0e{$cs`pX@{hEAKwcdEHw`KWWZq%_r-*;GdHx*({ZjZ7U;2$Y#Hqh>A8Eto5>Nctj}oU|eNOoTecDy@KfeY4yIq=pyEs0o6!K8^;+x@z)dasVC2J zrh3IKJwFn!b6gX?-qNx4sXwS^ruxL?y=j^Cy#9y6)w6t4-I3aRx?cTLsZK+$Ctc4^ zaE~AHm_L*G<9jNT{BNG~`&i^#=RLm3eA}4c=2!99zv6qIc;&f?|4w3~-tIotr+Z!x z^Lg@Dq2oG>k6Q3!{r!mipnl?8Z>+OCFIe!aeDbZnCHoWcu5T&(qs~nDG@kE?s~`31 zXYfl8_3nN!&T75nd3B=Sz#~rkLH|ko558sV+yBv@^uu)h)jtsDWB%4D_P>1k|Aea( z{zN}^sJA;#lHa)Gza~BoI>z(R52yaw_{=)?|LfxPPkR*q*6%MVlb_M&#QWZ5f1K|R zzGz=R)d{}@uK!^jN2V0`Q(xo>@OVCjFY4&Tev9`J|5No*@9lc4eun&_eE2AF`$xZ| zFG8n?|7Po|6Zo%R#V`5djA!?w{5$6Qx^CY56*~B+@Jqi0|M4#4`GN8L{l??_uJzW9 zSMx9J^>=^zI(=4e)MNfxS!x$0e;Z;_Lt3di`*I{)zZWuN~qW2Yi8_^iKFZ z#I2s^N8)vkTf)~{I<`Lb2ldQU-wF4+r^>7+|NG)zZ>jF79I0JiXPK|-sXs=#KJ(x7 zSpBDTJsprLk^d*W;`cD-c|7m?eCt(k{aE>A zJ5pf4D;*ouZC;5D1S)*L5Ms!@8z^HBQ$f`Su$+!~2{3iFiC$Vm-D0^M1=CzP?U<*LUi5-GA@{ zyW@uIxP1EaLZ?QY_5Ms#Uz~d7`~AV^aq^>Gsei&>`P>Kn;G=K+Gx;Cu?J53hoPqE7 zAMw4v^h5Sh7kGXiXTLqfv-MASv7eK_YUB%l&+q%{GyA3c-v9RR=i^)Q`%CkH>wn_8 z7&=w|qrak`7kMl8uN+t6<|FT;_5NvOQ z3m>Hq%`l@q;@bj4f3*IPR7Nq2BOUlV`bxU!zt{ZP1ie`@(d#c|Sk zDz0(p_mf_Se|a6>cP{t4n77sZOn$n^Bj(BOd+)3R%{=V$LB7{E=6(1p@{0MO=*P%g z7ku+cVV}H!htDBj1+E|9eTHc~;&|Eo~e%OzB=M%f0l73d>;7M zBfqrc)JGNL#J8v)>wBs<@_$~gC>KGLc87c}s$&q@5iw|ueQH^qzk=on9aE*9TY(*BQeKJ5Q&p^Nx4UTkmn zKj7i79JlHiC;LCf8GOcD$4B}6iDnhwJBZ)Yq0{s&Usb91!xwSY%)Th&`l9#h z{h2P`dhxv%zNqMD;D;~Lcm2)Q3H&$vxcp?7mwxGU@DC`(zu@>k?K1Y0te5L1`7YYa zzE{&X?uStzV$cmch=3v@-yyxT(Q4}-*R3L)_>RI<$6lK9OSRz z_gV7<`#|Px-@kHwP%oYv@_b;u-1#Z|6~3#B>sx+KJ|mv+A%C~=k@-JHSD&D70k_`p z8+>nVS^wHPT^-|jZ{xuiFZ(lzXD0t(z1fFc)_d?X+20rp!-{np?|zuj&94qoN6&ep7-d_}e1_lT46+>>w77nOuh z`N=OiFS0+mj5Fz|@A^tNlqOr$YNLp40iBt$Dc|*7=;@&HI-9aNP-?iJy6m z^Cx_z>*b42&Y$qi^Vo7GeR0dv`4jGSmYFx6sL$)ZZ<*^=?}U5)|1agKAATs@e(c=u zk?y<4GvWDoasGslbiU)i7W-Vj_v3mI`R}&#Pa$t#<{{ph}!kIhFCq%wQ zr>SEe2DiOg$9kh(iQf-88L!5f_$PcE;(UzP`-nRHsF(gZ@x3qI{=Bx1_c!hf&tS9qlU2$M8$w7kFnLO4tAB8{+S`>wokc@9p>tcszGgUtFJ~|G_W$?@YvV z+uPRjJtSmG_@!U%^WuxV6MX!({>Q%$<-adel^6H?Rlvm2%=Iep)^4M}7_?~Zv^Cw)r!F4@d?{$`o^ZEFMPxvG0 zihJFue2RBEpYeRWh^MEx#NU;BeE(bNhk3YoI*20erOY%u4kGkJg{eJ3xIX-BzE<`?Zo!9@6uO{n;d8*3ed19kp{a7JSHudGR z|G!+1zS-lZyuZtiPLcn?#viTY>~}5e)u-KU{!~Z&Z(h|8|A5W~e_F5Wqx#}ye;RoB zmiM-PQO9<{kA6;gw;x=`;fp`4`}@RrT|V(Q`~N9@;-BzizX<;@Y_C2Fe`TEEqweZ` zpfOI8&k=V#?N)vJU*nW-{~M3-r*?%OJK?lzsILy~dQ@+DHU6SsBGBPHO8%#TyWU5; zy#%Acov zTMl`6alQH4a-R6$?QmXvr1R>D_jJA;bmgza&-hH|<)3iRzixTb$#_0iza8T9{M#<) zTdM!0`?m47-CsYHe(r~HxDVo%`MP$vt{m{|fG_Zw&g;V(?-97a?fO{A)8<+Ifcet* z=qKOve1E}xnv3fvKEZrh$!DGCfUXbbyX?ozf3c4L2l6m^vg<>@)ekl0qoPdX>O!H;##^<5p~q`gPJ_vNcs;~(zNqy77S^rw8E zANgGJGS1%}`)Tn$0Q=YRoRNAa`$qBirfA3X z@4|2&^{4ia?|DwYhk4)W5BsI!qbhl-QJUXo%5Oa#%RAu%zNLK2dC+@PT)ls*<)7N# zap*tslWsp;xBg7{DXtTq<2vz9ct5o3b@9RVSzml5{kMhZ`mOg(aj&a~cAfBc;H&pk zIS>6*zdiz;!(dV06{>cn~tUp&@pzVAQ6U1wb{T$juK z$PfM3#G_vLUHz{r$S%~+{3T!C!c}jI>)*OM_=HQJCjM7Dt`k1(fBE=|W}NyT;;izY z!qJiMy6)c&782@qGPL_)2>6Gyb-YPxZ|d*Qx#!?}Yb*?(5=%>$AT2O8S3pJjZ1` zC*1QT#VuYB?QIF49QUN-vF8`(TjGg#@NqcrbtRn_@A#;d&Y#{lP{-$x7uWgsVXl`u zzfQ{7=V3i*eBZ8~=h*MV`mxB*_%GM%*pK4(jFWYBU$ov1D()WAQ zIveW_>tKanT#w${*Ee;<%l=%M4?g5uFZh)2x(5EpCxGj7rtOuF&#CT5m3n{XQNO`o z*>8Y9>d(ZFenwxNj1Tp{swnKDf``BLta$RJ%YMuKBcA$y;?Khup+9c*{{MVW8n|5G z<+FWWTwj#&$~X@H!v(RA^c)@hkKZ?ZA5ne3Zv?Ji@;O*V=dUR7DgGVda<_5+-GYec zCmYv~=`(G2{QiXRGx|RFo#Hti^Dg?$eJSEIU--Ri`u&T1P$>tc{41Ro&!s%^!F46+ zO^#c_*Wozx2E3a1@XTndsQ(o=qdUY-5;ruw@ncok*^#q=E~ zq=AQzLSNq!KI+=n$q%2y{)zDy^$Q>CO+IZJf5zpzkAaN!hL6Q}g^qsduHIkazNPQy z71~vA`+W4gSI-{4nuKG{5fuh;cI z;`$l(i~RRg%D>;&IUd7DeTbg#Wk2UwzR%-q7kJ@!8jf3^<5hf+<2!sM@x*z5pW!|j z&*v(o^V9h_lCPM|<4)Nq2W3s?7sr+@9gFt^KL0}aDIVi}SMKrpt{>j@L;3deZXE1! zFvwTAoZz`!hy3=J#;b9W|2uxbeX&^oTpxYTh+mkl*X;AS&X3#fC-=u(&%3yO<2gKW z{StnxfyX+>{#bQiML%|Joeo~q(MQP_XFqL;yPtEnbt?T}dkS~~5BC$I7= zKBWBYRowlY@J0C5DZj#hwoBhD>d(P{y32TeX8b<~|HCe0oS_%b<9x3751Uu>{+e%C3_dD`_!mdqdhlcoH@`Q|*MoRmEsFOCOgqZFSU_k`#39{;(@`L8UVKUcfo z)wAc#yMB1r59Qm>zqWBO$V<8GDUW)*4tcDA=kmnA4m$ED=SSjso$H7`K|khxSZBTN ztYh(eMAonB@0xzU$E7|l_L11%8tBA+5$ozwUw^{yt*#eaFZ{-b`&iuPI{Kw1-}U<9 z`r9t!`O*9PSie{FE#Uf`;Pc$GpdZhh%Ki-N{dDUB7vqV28&25X@*F-ss@M;ofR|mK ze38%5vcCIHy{c30KR#D}v>)ZZQ1Gc&+;}eZd>`rWImX|*-xKxXtBd}Jem36tdnI3? zgD=)c`JSQsj+K4F%l>ZrI>))=xu$Wx^iP(YZqi>vU~ye$-${QoeXiv5GS=aX>)gjEyoaoRE6=Hi zeXybq`x-vCQm2UH2bTK!2Xulj&i+#9|AKl8AKS*D|Bd}6`PS?6IC1(%pA-Fz|8zg9=qLR zw8c0osTA+v?J(Z1gb$AE0nhvnFXIcmQO<*2Kj4|a;Elx3ynKAR?uW)t^`3C+e^>7L z_O2h^^}}~5`E8GbLH?*Ik65qg`{Dcv_xgFb?u3s6KjU6+xwtMLKZUnLeb)g$@vX-) z^M>&yUp2wydn`ZWE5+scjC(v2UwphF-r;Axe5|hcb*QJOepv8Edaqc#9dLcB^~o>j zwL|@$mp=}Cae0>2c>l-FQ{(^IW%-v~R^QKO|EAr*@pbx_$v%<3ad5t~4`qFpjecvX zUB+`Id~lrc1>O>0ydUrhZYe(>KZRch{R-X==O_3`=f%Cw<6L@vrRz_)yqWmoUN_Qt z@tW|-aiQ$#eB*c==EpkVC!Lk_YdX&7-yQFH`mP_|^+Wmg^L@v`Jj}NfZhiG|T>;P6 zH*m|9uJ7qMpPz^G;|=kX&Iw-!eerfUFFw=x!EsOc;yClgpDM>eSG}6*lb`doct7NE zbu3rXE$P_vZ;JPW&H%Sui8l}D8+f7Y_@MrOl1K1EgMGZ~zioW7pB3+4z1Vp1eQJ2& zi+u0;wt1a>sp5Nc>}%<(eE;2g^i>6&j(=Ok>%VVcyL)QC_xb{x5AA!-r+HX^U6*^(FC1GgjtAwH_@2+DeDQg>F7xE~H{_pm z#4YDR_d4M1fS+_0{6SgL^_}Bw6b3_0A0N)q$cZ=h;ukZLe`_KDYQ$OWn`7QCpC-^v>PxD%SOL$zL@ZcwX z`Id|G@;!dtawL7PYj23F(^EX^ST4>F$}81#!o98~zPRN)oF8w9t9QDt9`wBKUAgDq zyMB1r59Qm>pE?faVV=D%J`UG6@T^mxzP;R@_SJfB$xcj?*-Xrtxlg01Xe1FRKk>C~H+pqetuhFa2gWrnZ1^Awq ze(QIeSA5@z-`T}}7VkYZ_Racj^9OM+`lTQG_y1w>p2&DjJnt_Tyj}2d!Ph?%@0a_DR>Ai%{3;%}S^litoq5A=!yr!pi;om_n?C{*j z-`O(niuc5SbJ{nb@$cvS`^drhn9u79`H=Q+?5Uhv)ptkF=Xvpa82&D*dD~})r@g-a zKi-0qzYW^+`JsN8_^Fy-UdE|h@SXBp$Mwd);WwQdJ}>R|i=E?w?-%fu>bhW^fk?`f&y z?-0cEN%AAlr94-Q-{buKv9tJhg1_VXKb_LNOZ)tt(uLof_od&@ER3i9-&{M+lXJj~ zXZ}z}zk5wtDAk#%zNdP5^@5iRE`O!^!F4Wo;beF0yoUVg?mypj0gH~vfY-ZwA0 z?R(-q@zvko5zoAj*JnL`^utF#ly5%&+<7q5I#lob;_ITL-uEqEYX8<=z1UGM__*LZ z;kWx6ysOUT`}-{qtf}3Zt{2yZ(tUEK_q3OJ1?Nhh$8`5w_U+;CV2P72jkjlgsb4&& z;rEfubIhX(xcq7U^V6eaz7#s(o^LGmIp3~7yJ8v9GybD72MxlXq-dE?|r^Ke9z6|Jgpsk zlLz|Vmj6DC?e53ndCn$2%*!|rvtNaC#RjfD^3@r%JJI)dAGAju`&a32^FH!)=WnNe z(ErW+ZE1dsd!N^q3;v*-l;Y*0*AgzjU+|rD#|ym7_qwP1#LETudyu>ZuO+_tyx<#r zqCF|>>f6BL?kMrS&oewXqyLFj&6TGK-`5E7dH`2BBH{AM{%6ZZKq455K{<_rP z?%VK(CHs%(Lhe)5{gC~=bG|a!w-@_W^LZS9cjkWT{^;|lO*@gF{D(8I3VGl#Zz%__ z;63nf7UMS`@%Q|Lt5Y8B0QHp9d`X?p4sKpF#W|-kzuE~O=mh_hqtn2{9)2gv{x)@v zRYlzV0Jv0iI{p>!7d-5_@Es?03OY?bdEf{3@V?eyydtk_?MX`9{LuWZWp)6JXES^T|ZM`t`}kN47ip6mQ}+$QTG>{8ctLfI%g zpzxfUVik$M?aKrK0nkv z=xJTow4QAz^TcPmf2HdiPdxJ{_gmh0;+BK^dTM`hU0%TD<+7*yHrMk~T3@`6eRQ#Z zZO)f`p0ueSoGX(=R(>OI=%-^yZhbI^><1){hH$Dhx${Tc9(t-FXtm3`OjaR zc0%8LgZxK3mpJ|PrD5~bo3i|wEL4|XYjQLe`-$=e|`8}|Ckr4 z@A!(>=Y0Q8px7?_$oDw6wB4Z&<5;nO_&XKm&*V)VJNl2 z66gJ;5Agr|oZsbh?lIA+;yxb)&vt6he0Oxs_nP*I+pmn@@~E`$M}ETjRo5Q#jlu_f zisK*igve*e2gHkZro5twW9MMpqrc=o<{L%7y=qSeZS&`Z7j(Az=uG%w4>}G0uwNB@ z@FJe_tH_JcaeO1c0$+}cc~s&z^~-6uz^{Rq^8pWg$TK(VDfoYRbUNQp!f$-pzxfetq=AM?ZWUn0}~v zP%i7PU+{TZ_u6B<*Ou#|C*Cjh<$^bG?;Bh%%1SvYH|3yQ32$8cyvsb({m%DLeD6E< zN8U&~YnaBXRQyR_5O{gZ3?`*JP* zu{`tUqaQx{;oHFS&z%P?tw;6N1%IjjrTgYZw_WgciF5M%<-U5sJ9>?{z9|=RINode zzt8+KJ`dj$_Pr6}|9l)?`Nb*KGmrB3j>M857^(xE3p3qoV-PQw)-+VQ#;i^t;hTA zHR0-%gg10TKj{qHeF0zS^u!mR37;4HJ9tfYmJ44$FZG!x;?ZtxPd%87OW0|i<9Mk< ze~atD`~-Y5&qv@#zdQfM&EL$6)W;sbcU19|PexuuySMzRpzr%&n!j1UVW;PfoOcEP z%VU4_yz6nUo9i0B?=fnxX{Uo*?#v^e4RGV&cE4~RARZd$H|I|7OO?2} z9%nxJ_w@t)W`6S3skfcrlRxy#FNg1b7dqv9#Jl?B8w>lV_)m^bvtQzzlc=-BUmbqM zoDr%g?Hqxh`)s$1o4;Yt4S%mwo<8bid}B|> zEBe)Tk4(I`pYd_w-|(63N56xw)NTQv3D<93-1oTXSH>53kzdY7o%ODPoMON?pRjV9 z&zMJ1v0PUPpWvZGURN{Dd87Q9bktu7@94CIH`Z^wzlfa^y!jlHysn!kiSxZ9{w|X9 z=<>EbDam*K`#xB~Z=3hPTz`vrq+gfu#Wh_;nuIq`kfbCzV(*cw}@+lc-zUJs=r%gJma~* z_%r?j@8$`=J$R$vRowT(?Y}trOa%`e;&#nC?1SP{9nNQ>AL8h5`WJbT`vSP%uM3}c z!PW2PSMbG`?SfBrz9Zh@N59Y+;QOMJ+tvR)@kjP&X-_S5@FJi6T0if{;T8DyEBH?; zCGxJbzQXwelxEV#~$;yc;8Gr z;TQ8RarA@#v(xV6yer!M^}#Fr=KGekZ@(J#>uYp~C&s;Ee4*T_9Em?K^%<}5TH^1I z*H0t;(GO=ne)Pi+>xcQmy0d;<)?vBe^@4BkmFgSUo%m}0w2l9s-*f(CT;1jm{yQb+ zU613Z^4F)F>WUjD*&k#7BA=Py%Y87Nt5n-1&NuXz`sIAwM}|7D+NprQ#SdDvGxWh1 z{ETn#qCN1WttYy6t9M|3tn-v+7iJ^c(h%$d`^i#)&DO@~ij!(}4L^Zg&zlR?4rM zxPSkMox{9KoO9+*-sJbX(T<&)__ZJB+J7Is6ZZ=3Ozt;MPU?sA#_Lqdzm*IAt^Om< zIDPa}`S$a1KKwBAVP59bN_f6**0b(6*MqVr-1-UL;Z@2;{PaA^IOX@f>HfueREJ+4 z#}DK8r!+oCJooS2Xm`T*@7E?e5%`@=Q z(Qf1+>ew&s^f@DV*z>wQDJ}3N|JA_<_!ehh>luGiDMg)4$p#Sb&h2m8G)xb>a-k$5+JUidrRztXk!H{ANpeVJFl zt>5W-r1s`T$NOF?SJIQ8@p0kF@0a?P@X591=DH@HxN&kA|NLG@9O>j6jXX-;c${_N zzqexC?%@7Ayp?#^#LYv%mv}j!E#H03^91?g=onXHes>)__1G;4{Z3` z{hfWVflqPtZ8ziUhYtKfyE(6`=vVVS`wM^AF5lDTH*x-+v1dEsZ*-P??CIdyPVx74 zwx>J9r#i0=KC+$V;QOLK!K*qyea;`^%lU{G`QWzOE_j|NMZY;un1`X0aQRi7 zb{&_JaL1)3Tz%IUGVjk(9}S2SJBzq^n*M+HoIfu30uLQpv0v}=v7!lFaJ~#&>zQynMYY%x-;6Fe54W0dJ6~ z#MQ=q!}q_y3uU)tyo|q=>wnHX71)lsLsJqn>@xt$G#s%U>G5#1&`2FY2eNEn%C*Evyr#RLh*#U*f6VoG&f=YaYcu zrTvl5;J1o?mrwlfjBnw2tNqD2(m{;!a_RIMLF29MBPj>k4@ze0IU-Faw zdbC5tKk5f=zO9||(>$r-eD4_g=N3o}kpXMFkC7$gO#~$q*;^cekZ1bffUl#Uc zyn(O8FW^%gzjfkL6=yya@b~9hr{A7KMIPn4Chj$#OTIb$IPX&b%Y!$+k3P<||DKU{ zF6t-ob+Aq+-9|i@V<4yt@pmnYuq=|{hjN~--&mt|Gv1o^U|)kyqC%w|AxP$XMMik z>y`Y{xgH5GTuyX?ecr1(|JICRo)&Q?Fs!C@~f5Yp}!S;YY%?Y{-XW-zLxwU zPTp1NR~IkG&Y9bV{{jBf!w>yr&vIUgWB+~ue?NcD4eBrF4|W#p>Aq@r|5@wr@exm z_UnBf_1vDEM-A+(>R?ZE91}i>Z>`g=_JGIlvbydv?)Ng{-tavx+O3>V`MeOgl&@*e ze2l-x+2&P_FYlvn$IEui&s@JRl&qs9qhNA_3Xaj@61%=*yF?r|6M%eWW;CAqqh3+3;Uh?Ax@mH#M>oK zd|S3_{3+)n-V(mmNqECAE8(^~#PdGl{_F31qaS$!@m70se%0JZB2PH>_l%>{9Z&Ng z&S8r7t3zHf(1|?cv-Z@0{c7@){{#Qo;cI{7MK9zn+7s=*IXc=Cc_Vq6_RQo@@v5EV zfrD`mJLy-Uzu{;1LGYpu^U8jOJ$YVfkNYe-O`LpbW6yS;JbC$>|G=LKm*2$6pF8|6 zp7PHsj-C2vKaPJ(nr}_q{2V)rcsZYDyW;d${m>!L(QoTrI|A_4nc}ot)E7T@MZOpL z75K!?X`TbFPT;N!_&xEpGv`;KpX@36C*huJ#q&Y@Kgq8mk7B$QadQ2+Y57w*!E=7) zbHTvzoA1RJ^RzFIUZvfbKjdAGmv&X!+r)=SIT#Od%TB%5mNVfi>D_qZ@^9DTxooLj z>&pe7;OkN^Zn+chhRd6YFWxV>^*?mEzGHitH@Pq4{erg(e&g?C*Gkvc&mRcC>A%!Y zzw}GHvaa~%KCfHq$I92NGvmr;Jr>rl&xwpH9efji%%fbd^>Nm}|E`?zu#2bXGD|$= z1I2yB{Q^5;N(|bKJEJN4(qqBJzpI= z#W(Gaw+B~e>xch*aP8^he18`Yzk#b0{Yw1MXTOtQ^~0yw={VXhxb22LpFFpJ$bWUQ zpLwWGm0$SSuJe%nbbv2$^u@b4<6G2uv?E+k>HLXxSEz?yA6%F7kzc+izTTljf3-7k z)^F2J`Luh(!=4L&b=sxB%k?7eIt4FDXMm4{S9KCTh^F~D=0Er$aDR6TenBVa zU5&Ww-zQ4 zl$XnS(JS8*S9furrMTt1=-%*`?&}vl@B5+3b!q4O;@O^l(QPl_xm|TKzLU;O*Vd2k zi7)s!J#l$E@yB;;PaW@H>AuRfab=l58E3ve>(G5;m`4%M+aFK;gkM;<=26DUD*oBw zZ~5*Ee!>5TYci;LMQf9^u?F^qx%K+n17c4 zbo8|+bZB>~pZ0hCFvQdM;w6qwXIuh*ecDy0n&+f^b&7L-xEy!&#j$h9|MKW-fAROo zesS;yUwxnd>i>zWeV_q!HYQSvA`c49mZWe^X*sY6K5LhqN1vQ_;x+|T+h4?JkFhr8{+9)Ynfk}N1y(Sqdap;qbA6|NQp#^!uXKM;*PCnkUR!2-UGASh5N^Bbjif6s@5d@v zYS(sdxb-iU^P<}?cmW@&zFqL0cr#sFKQ8!%sM}PH9}K;QoEzfIr1Kr<&lA&+wjAb-lZf5QifkiW5&d{n4Jn zN4&}>zNs_BiMK1;!#=pd^FA0l?t{ePXxIH3eRY<6`XztLH~*pC$Sc^dW4z>l(w=(U z94~S78~)kmKVKaF1dsPSehp5$&V!N0*Z5n0dH7ww*)HFg3wZ9=2Ykl8XbI{sarXDBJ>u@yj_*5k3Lp3-_y@P$mG~R}l8^rf zco$FWF6)H-NngB(vmPDy-PN<8FfKzssDpmh&*F|Fc;sELPW#n7DxGVI z=ihmV=LY6ojMpR|GA^Iaee)~3^1FveM-;A{Jx`(^LAj@bbRf%`JDTP`$;Nq z`;T}}{LOWv9I0M@#%JQ~%k_=-eesp_^R;?C@x*t+f9UIV(ZAs@wST)$d|ujX;3L(G z_k?e*S1QFV=jFZ|?tPv6#^rwNDSTC;Q$$D{LUhHdrKilSA#`E8^K8+`j zb6t3jW4u}kH!ej!<35=6Q(h7K$fvY}{Y!hmZ8!FpdidQqDL?HaVGr?e8As$3=e57P z557A3@{LRWet4tZ$cxJPh>x`It25Qd{tw#49(Bw&3j6rR{-r+Svao0P_eJDUj&Cua z`K!|}=ZE&2&s6l~`y6mNj<);R(V5wvw4V;!C2uL%8U6CTdUV1+>HYTb|C`fp_(y+| zZ-^J|bn(B${ydJHL&~r6$tNfL!1?#q zukf2X$ILiqTfKpt!ge!W@J~(r4nD-4=d6n&UQatCvh4cpO^Y^!Eb!^EN}PMi>~+mSmnC3d&6I{<96Q-SFd5mNcM==gzpPq+;Uv*Tj29j z-@z?+;@xn0EAa={!?;4}K3Km#>uM9%Jx`AO_!msM*I4}O{^sB(1?z8OUOFPBU z4|~)hUs9*Y$Igv@GY?_ERww5<^1FQEkxw2azl+naiTzES zJZ+#8_R!y%_4yv5PRv8{je-71^HY0f!nHs1JMC8a%;%;3kK@Ne-l9$w$DXE+xcPwn z6))$rz?b+<|AuEjm>0p{=uh<-_wbK=?5y&|)xi&49Q*Zu&aaw&>kTFac;r#Uf&D+> z$$xdO&9Az+et_S^k&pZ;UMP3&+#nwR}3<16u+`_={T3Ey0+V<~PqFZYcLzQB9Z-(1gBFK$_>_xfMET>nIS z=H%IB;z@Fo89=eRn)cVyh#^4ZrW{cXm7bmR|l;)C(6xUZ3SiC1yr z+rrMN4sqM~yv57;Xiw~?#J!=8`tZf8`2)D^wv0Qz>JSe<(D`Y5QgZxb{QlL=>Ov2Q@`Pd{Pzx9|L~l#Vds*M ze)LN|_Eh>?#W@#kw7d25+hk|L)d@cHe514EGjGL*IC<2@o}oS1x#(BZZ|q;o@siKD z>$f~V2mEHc<$R`oNO%M9X`UDG@i=}dtPAlXp3a5#JNWF&>Nol2d^Y+s;q!uj&@MUy z|L6Rtq7(MicJ9ddrw4buruMV$Y&US)ZH{|K7rcXygjev$ui%?s`S(9QpY6tBby9v6 zeA_iXU-GMx&b7>UjPH)G`B3w{EcDHz;@`36d!Ogsk&p5HYibYk+4yR_8jOSSqB8%j zx3u2t0dFRL<$5K2C;V1FFZYRC?!;?J-}(-2DQjSGu;|IN>^X{!jK<_lM@Xc(kXLHGX@_%6jkO zzoI_jJ_j`Z$oKh_>uRG@e7?ha3qE+EKTCc(pBe58Z?K0r7W+$%|L!mB7u9&HPC1_m zz7oE{r#i$vbz&b^2YWJJ(CO}*#H$7#eB!)uc*y_!^w)U4eXjS%gGc;?-^{PDC&v8` zhrh+)dma_`*k7MBWU`}YyfXYFr)OFjDf zXZ-Hqp>MmtKX`>7?cxXL+tkm@^DbZfi|6`V|8TD5xWqinf0rTu&C!|8lY}quBL4b$ zyH%X|6a5k|=QFTBbij-KO7mQu`Dlm9Jk*}`4xDwQ{X?8}vC$vuz!wkw(@MGF+OyS% zFCO-QYiHO)y9Ikf=hOCdN5{`ied5Lj4?g&CyyVla_%bg_cs_S3=;VB95?2Gqe&cX6 zj{;xBZQqNc*)qW6eJv_FxbIoXFSOe{@1noeeIfF$_H@e!c^C1ya$Ys{5BDworoHeg z>)rJorQ?cxA)H`h1Z`X9So$*z1oslVa-QZGJ| zzW7RbzHZdl#G71Ozf=8pz4m@f@2lwb7jy^pQy%lVFpr1(nDd`F+c$7gi5>(qUr!Ux~t<$ToXY2Rt;Cw{r$ z@@LXff4Tp%9|d1LotqVL>^J@t&oO>-`qiKme;~hFjwAd<9x}m~`iyVE zZ;@AglG@eIHwU+0O+WBltf3S8czO;P{o))+JHv0D=V0fcUH^VC__q67?4;eQo&WXV z6~F19f*%&RdD?*Q`jPLyyQEIhp0`Ke@rwEI9}hnDr*`@t7kC#pU(Go4yg2UiKRfy@ z@m&;2*qb zkL?0?@MsrYeouVy;FCXe`qkuvf6y=dJmDAl_*s0W{A#J6@Bv;EUciTWl=`fTBL1p9 z^|*r@#|wA`&%X~Zp7XB7z7Wp=8Lw@g7WvgvvnBX{I(B&ewun1%4)&{4KhUqlAHTnL z;(v4Baz9Ado9jurUf^Xt@3-`RuPtx5^_J~oUr+YQw;Y%ItpBmgmDZ;g zeQ@=6!sT!GFZf%36F181c53KX6Q^Gjf4X1$e(4|{MxH=^C4afU|KjL7?v=Q;h;vJO z%*TFr_?33m@%(Tbx6MyHm&1PZjbfgFe)u7sH#T*^wP%Qba_q5RMVx(nU}xyiZna>HH1PcnopL_p9sZo*Ca3^WAI98*Y8O+}FX!rT&KR#8>CL;__C~5&xGebNeIN)49%g zOT2x#&iBci7ryoV(ysN3dP{N3m+;B`mfkm#T`OI?PF){`_YNoXzYvH0{kg{an#}X@ z8|FLlZGe|{aQEMBoH1V_4m9Jl`-SmA9rzL7#Nl`2syg3sU+C^5#B+6uIQz)Po~l0a zME(*do($}XeX1NkEbVk(Bkrja`){&m$>%-lialF9!EHD4grA>w)mLY{J$UrX@ip&q zTx|Et=lm(2&X>Y|@}I^$3ws!^uv48kM}Og;=+~zQFX;5d7Y}>L6B;^U4|)3r@8(x; zX;(YRC;eTB3ct{<=V1CR#`i1igkQBYy~nOj(H{I9IO8?IhvVz~2k+u3e-8Yo#~$qr z+;xYYTOFRu=>OoS=jk!e)ki1e`hPv}3-ftlf5d^pM|+G937-k?nNPma(OH&-s;pi#!T{%3tP1#F>gt@Q?Xr z5x1-Df=}}$b?~QnoOc=D;1`}-lvk%8&3wuH>h;0hSK{vtZI?VK-pc~->_6kbo%_pY zl%8v$@AsOGPGenf;_)_aP)^E4IVk1jawfj@?Q(y=;Ocn)y0rUU@f%P5f9Z0h{&cP_ zwWoov#JApZT!mYa$KRcK?t0%3 z=KU9^9K^jT&i*35iJK?Dujm)|U*ki<`vor_}lTt z&%P&CvYmWip3Z0e@cGd%*i&gYzYo@Im;7YV?s9zT?*};JyWof4SQj08hWd_Uwm<2| zJbZKP4?j3wt~+(KlRR*N$GS*(tPAYdpW}hQ$Or6iwdJ_nHxs_NmT$f5x)|?WZ{}C-U&Pl+ zz5AxW$J>~v*bb?16t=r{Kf z;>HAz{fKpKzlQw3L?1uLKKSLqhwIq=%kTT}WB)DZqklpNeCjvz2mD;XE92$&ILABe zEXN-8yLm!8_{JW;UzUG7c*CCq{gv|S$bZOZs^jRs{}vtnpx^LA1CRbPPaLnIoxeId z)A0rO-|tpOI|qN~WPh7}Gah4S#U6imYk*JfWL_2gGtHwIU+2lRzvO|o8@Th+@zNfi z0}k+|4&$r-)}C}8Tjjeh&}riOQ+;*7H+bm#-Xr}T@co^W2Hw^A{ESOMXFj-Qe7oyN zJgu+&4t_Zw`90xPeR0o)v|pTcI-IxSpPhCVc+PWL*2f?3-M#glC@hJ@IC`wqE|e=!@raFkUn1 zZpYCw)i17l!Yh2gAGrS*->UKR@6UXltlvtWFy0>Ab#30|xzmC_9*0-RL$>ijoO7*) zJ;7&x=^1AoE%2!h@qA|d^=W^AH}f3UuR6v4y58|u>{IMt`k~2B&sk!Be0$p6#&h}X zr`>p%@MeGAA9?Q9Gmam$XQ=a1pv(XZxdjJxx&@jcRbTpdSr%)2&t zSD(D7;Lq?6{VKFOwV!^eZ@=8%^@H=Z{Py%$Kd3)`@!bDi{WK33xcUQowBNjIf^Yie z?@vR4V zPy0xB-}&_LwX?ZDa$d3QuQ>ax{)~N){n7F4?$@6meRYcY68We84;}0;^w)9qJ$dJa zak2b~{_?$YVdwgrgHP<=e(xi089!~;=Z3aB^$+$p>i?QU`P)zQyyk4^{I5B?6@%=Z76!{7Q@onIc@@d}+U4nFADv|oI`P=D(; z@*?dIzr8s+j!RPqf5!X~C!d!eI-fnaXV|WJ2zGYoe>orR5B!s(Q{cA;*RP-BMVxil z;Rjy$fRA_FpYWdW<@lNpkiTh9>MfYiah7f_=oXoJ|FbC zA@k>h{0cu5&%4a8@Mr(}=*D|o%>QM4V?KMnWjw5``{BIg+Imapt=E?8!nb~2>hpb> zXZ^U`zyFo-Z12s^n(XwxmGGXfbN!}%UU)bD?LP5kTu8c|>v3s!8V8(T%*(=hiT&Dj z2EQ^7{rw-;<9e_z*cV(!Tl{CIzGCkbCl4tZXCK+L+vSsQEb!3b97%pN{-ZzC5oi5& z@Zhsf)gSU**YGp0PTl`-py6?qAqxyIq|3Rpb}99Pvg?jiSsM$+~EE`*v$SR?-DQC!}o{kC?CEo>Illqo}CvL*`N7 zo@*^}@>208j^CE~nCDur+LO}w`jmce^m$4H*G_*2uVJV6d49i)OQ{_CIpgVir|ZeJ zrS&V}*5^{*PP+fv*V?Ha>tf%y;NE9B6E9!ic;YXWJ?YDD;PX<-%k?o2J%1p+R`Y-2 zWIW$-T|AhtU!8KXz7}|#yJkGa^C|z;(J?**PJABd4Eb*kUp(3cpYUT}Kwthe{u3W= z_(o^Te|_4WtfT3El-}2k{fqT(d<*^yd6(@5AARlYw)=DZfIZ87nS7&Rf9%Wn!TA#T z%(6(<@fl3c$n?9-Ksr|qkafGJ?FvxZeH}8qrb2xbbfVk^%s8dymZ2E zw(EHy^R|e$=Q@RU<9Q!C+8NIW!MFZbpLN&p&-la9@8C7X_3iwzUHo6bhyMTkxgVlk z{JFJLdpx*@yPIbN1)2?<#{=hyy^yfS5{)2I;S7vBjFu>6d=P(jaq}qSDtP=ZmhFG$q^x0L5~ zE@#rSUfeR{>(ZV)>vL)Sk6q3e?6dv#9eMIC=jFZ|zTo%EeGOdR=6WW6u9r8wpY^}l zABX#b^9MZgivN1%)ndIw{QUgj9lc^)&F_1Nx5GC+gbwjvyva}JSHb`6xlWh=lY>|6 znc}YwzFqI)IWCD8KIl~UmwI%#d(^zGMI2XEM;PWkJD+u!E8AYan{h5d!|J^eZ1`#Y-}`?W`0|2Q8! z@2Yv+zr-H!rTwfs^~3+n6YY_2{;7YaI;_X4|DFHrJK7oRk-TEsFZu3Y>O79!{+@vS za)0vulE-JpZ$7)Z*g>NH~3lwf5y8Ta{J{JkOb(DSb1Ihga%{K|7J+8w-?wf=PMa~`^GJ=cowQ@+Rb zfRDY+{T6#GrEz0hZ`@4RxqeaK5>LEe@SX6NuIKmUzohq4{g2(=y7cEIyj<>U;FWSx zuEfvRh4t7xZ*ZP@O}vfo4bF4p=U<)qHCZpq`Nlr3{uC!K5+C9`CsHTkc6+WL`4Z15 zT&KY&o~To_le}ePXBAIzHT27Ax8k2Izno78ALd1`4u2Vc#8Vy^`3&cE+V6f^eu|Fk zQyt?5?RNLU^xj$(_q`hJSBHE?|4(uDP3=+N{XOEFe4alJ=b3p0^Ff{H*XO5S6aVN3 zO~=&$3*Jaj$`@pLXaod0PZ zP4QRBKk6`_9ru#>w!0ta{({cN{{0U8-%#R*A)eN0&O^eV!7ooA$FV=qB@Q(G9Q;$S z{j0+-=hK`g5AaV;*|C2nzWvSi-|YN=Z=QgD2|JHH@&kw8;OG2GJm*o`Q?=joA9R8b zUez~G125Vsj+vYJALmr?wWlP$c=Ozhei@fm%A-2_S4;RLzbfWe*i+2Ad@l=qpZ~@0 zm$F{w*Jqr4ZaDt#Tvz&4s5hQ1=85Izx>9<5D|_NCt}{Ntt>0YV@Lccpk6o_RAKUxB zxc7b6QvIIV7cU9lT+1JqdU-R~GY@@E;r?v?zl?`}&wOJ3tjD#kGn;ap3+iWC3U4|~W@j6d6UU$ye>r(%ETu)Z4jQvZql&F>q7 z$9_ayt@wAiZ?^VyhvPEbAAfQ1M!%N(5&6;pcRb9yYUZbWb*uB2=woN#zTXZ$<)fqD zDt79B+wJ!2^P}G#7xR<12QSVu@n0T%z;CwuUk={D!yfE6es=ks%PslpCw~t4UmpDm zU!BNX#O)XMZ0w)rE#!?cA8gm}7x**$M&6~4@ixw>&~L_R&Vh&Hr9EF9`**gJ{%-ir ztMU88pWwxD{Pn>HI^iFlW7_W0Z{$}Cohkm=(b500UMl+VoBWig#kzyvu%|xG{ra_zV3dpL}(K58EXllizI@ooO6KXV9+?`uoLcS9_wr=oi{8 z+Vk1-el6{>zs%p5x8x56|CGdU&Ik2rcjx}%H+8a~Lr4A3kDc3j1@8M=_IK+y@-FoQ z|J$Rp^7sEIaZdUAHE}A z)rmaqw9~;OkJ29bp^shS|0mbjW8M|#SKznvtI9dm2fs(^xt8Zw=uGmZ#`%JO=Qvnb z>yOyO_rU_+akqb)aUYI9rSrl1C>a;8JAAKK(#g2jmh!#+*D8DJ$9J`3rTg-=IvMZj zK6&MWH}I88?;97~c|OSN&DWiWlYPPSPWR1Xoc!IHN5-Y~U|x|wxK5im`}JmB^n@>P z=b`5_uDkUPea>^_hYtCM@h9RrxOR5!=iIC@Z-+Si0p8qy+20HPjQtw^cK*v}zgB08 ze}4MmxD?i9`GWr8hpj!tnTmdQA7}qswkwYR_0OhV-&4~5X1kmtna6hR{OPf0Ymd0+ zinQxI(SGAwkM-v1E7}Fu zo~3`jIy&03@w4Y$9Xpr)|M}rh@Ft$}w2FQ{UyA(jA8FTqY0n=H9_`XE-!~JFelf4Q zI@kNVsE=X5L1yQ=o%hs`*? z=eMUj)X90*fM1ioIzt@4$uHux`vDHWqVK+9esaT&OXem1PP_O>`PCpk#B)IW(=O*% z%{(eSA9O#A-+M=Adma_})v4&j9si!t=Q8u__C)CT$M@nFHJvN{h!#*OZHE6N78TUdUIVa_yk|6^u7V!(*4W4%6y#p5%Y?;>UpR0 zpgqof$^V{O;OwW{_$)u|J5`)Gyx@27H>aHsbl8`TKf(X$;dka?F`lP9D&l;~_lA6Q zY*MDEE zqGLV~aSwjzkPqvh$UlE|^b0!SH}X>36(4U8zoIX0zSqEq`4Z>AOFrw+@6%iR<^S!a zzkl`I&hP{F40MX~gmr4WMSn8B+kMJ$wY3iKXveD`CU$v*2q5sAI z-NB3gR0lr{^r!Ybsl5MpmPf)j{IDOs{>eJ(XPu5tPx>p{Lms#@AAEvWb-)XFiSwvq zXw0`b*E)DNE(PA6Du(kjeK z4ut0e3*3Biai9Gi?7!w=HSN>eYv-relq+2a|AqQ|-*`bM>;6#J{nGBb;I{ix{p9|U zbQ;(B{*rh*UCW;dmp2mbe5;N>ad9!P%r`vmY_6lnnV03OQ&z^kiZ|+w8{#RR4{_qK zI!ipAM>X-3Uxm(_R=)kX-shuzds#}_mowh!*Lt*X+26c))t(CR=KfL+zTj_h^MQ=B z?`u!+$?FFE*w^5zzuc#Y!>-5J*Pg5_W!kQM^o`rGpMH-0ju-p&czf`UPILb?FJj)9 zpU8J!$@jVNM1ScY@=WJt*u%JQ+U@dp(`upND=`8$~ zb-MmceC-+HjMs!8IB{=heflfEs)L^^{5X$N-+U?ZsN;zWUIIUUYVuQlC4c<+xj#L> zir;OZUGpW+mGpmgAN*6&0WZFPPtUIy|3X|G;#@Dj zUw7Bz4*`$3K^$I*U)s4Z>-Zk~fIrYLxA;svpYWS}@+jL4oqF1pA2@l7?RIri z+}q-Xk8#p{1lV>XA0Yk|_{05+yv257|9aDo68!4^2;TIwI@-o$Cw`8379Jnh=wV!P;1$3>j+YPNg9!w-z(Mkn-%&o{iHKh-BcpWs9LKR@={ z-@t!Czu?EY6M58D$9xG~KXmoKd_FFr|I34GXXIUf0H?pUYaEXLs{hxAuRTS3etYnV zog2RYPV`9QGTt73f#304JonTO`jdRPfk%Gz*>jy(FN{~T`+!%@N4$u;&thl9lXC8} z-SzHV`&?;ZPg93=EkAVJPvM6S>$Dm#)k*ydJLy-)&K~xZr%wZ~37_D*w?pK=>w*{k zpLB-(4gBa0bRz#je_!-({06@#J1clecn5Fd#81Buj&x3?PR_52`iUQTl=&6oeZh`s(1GSMA5S-uQ1b4IJrRLK7)<8PcW z@0yHz{JpvB2)w*K^J0KUydu96@A7#ssAV0VJIEjM$*&6h&`Esl^gOm3m&||IucvWI z{F7sU(;wm~K38$#bAdm^%lRz*knm}L-KQ$;+AneJRHwL~{_OB8?Z!S%-m=jNKIeP# zm-=sx&a}VkvyaGkpY`{M)UWE0kG0%xJNk=x6?QW275-L-b1mBqI~n%{KiV~JgHLs^ ze`G#>8~RN?c9w*D{-%!p6z}jO|9Sg-T$=t&=R%=FyV|qm|B7+Regp6HYiR$Mhrg3O z{`)@KxzLZ_eN8%^vz3b=bw3)y_`8 zLI=M3vp1yRVh>e6Vny5Pv7geCy_2e>!&fcdWjDHPZQ&`Bmgm%!h~Kdc}eC%xK z#6F(iGnbEl^ncj-`njEf*Mo1{)ov{^T+q`7V{_K%G;x_j(8zY)6S{= z*wY=~u;=Jh{IKPdN2$}qe}4GRd->)|`m@Xb{JEX_dAvo3b|?Mycff|Y`4aP7e5lX) z&xCLOSt5f8&pQ^LowIj?vIPpW155B;=xa(K{sB_fb|NF(_?#u9t zI@sg9YTEy%Jt=AbNIKddd6DgE|An9Pr3ydiO9g!OV+Zo_?^$QO>xaa@;T3*M{LOkV z2_NnwDIY87;zcpPB7PRnyBK%R)i&#~rqXq4z2$)CbuO*1iMP0Jls(n&f1zvb zu)X;m+r9B__)5AXU2m@I1-E{s`sRJi_sO_+uDkJ;`72%@XP%f}P3J#&d3)-`yEywu zcO50Xf;VyE(f}XgpSAMsN1gd--(D7<8;S?tdJo6ijwc6N1GNBT3?7xSmUkM&s2XV_ooA>TU| zcGkzSyKqjWP7x>1spvHEaz5&>z}r)W`up9vj(wJPn>h9~^rt$n&wV@hE1f?_e#Jg( zyG8vcYrgs27{{e!54i1Sezo1izv1fV{A%WQ8LtkW`6Kh`R|Rj{gU%)n6mj|`{{Ecm zRHzetbf!AySF{`FQJ!C+FTUcOiVAchzbfsiLVkNGzhb_1_Rl!K($24sUgTHkZ`QfL zbLVrG2EUPis^`3F*jp{rzV3eS{=P2t6TGB)`Qk0r?|-H1nc7|HTDvmu`{FmXSha22D>3nql_s5wp=2y*iM|?2eiWm6iGvYJh1)U-O)6 zTm>)UpFQV?KKb5;AMu~_6Y*u7e{*!ia~^WTC;C&JdUQJRu(=<7a&Y5e6=yvb#%+qH zI3ISRU*S8B{(Fuyw@be9LA&_Peihr*&*(?HDW4hg(|KAmZy}Ge-7U^JkMk}3%sw@; z{j|Hl!_WA$X{YwUZ}6+_{^jw1jFNMVOS4V&Po>fO*-1i;__E-JGx^vuP{@@?y)zELhICkpirr+AZ z)i2I}_MNa_yqwR{&d0gm=h5;b4lvKfr~FsvKHH7;Ue0H^9v_DXT$os0$xqhjvZ=$o+KkgCzB=FBr^cVo`f9AB`Z(9)uTJT@ zo32Ol6W3kfe4mxS(U(h!ntHw8RbQXBK;Gx5QYW%74-?Z}Wr{TB2KYfnR$GI-A zPU*ahegE~rr#kLa-~&7LXJOsh-{JnkI^FP#I@nnlwKC!Y~7?vLPw zcB?w(C-iH||Jmv9059@iKgYvApB?;We^p0)>|gppJdJzUNuIgUiFUE4yH2!|b1L;W zxaTv?cFl{vVtm1S!bjr!Jha&_;~@D@w2Myrhof)1=1YFx?dVL~{o~==--^C}pH%5@ z0WZY$fzHyOzdt%1`}IS?KNWoGxAZ)^s>6Ag?FRps^viZ1=i2AL_G^oqCuqOzmh-9T zRM!jmO-Fvj8TbvI{jPzWV%pz?J1$vA{VCsl9GxmoEAo5br~QsSp@Sbj;Ir>H_(L7| zJGYBH3%tn39{U@45qO6`Q~vV-AN>J;B!02o3!a|?-twp$uAPhT8<=0*znbS-_-Bz{ zMLtHH7mvIv;qm?zab}TUMIMD8eEu`|UZg$a>vsN^btoR|lekbmIlRuik8>^JPerFa z4$tx2td~Z)D8=)&xaGX?Yr^IC3vT_7U9L;}H(YzHpO^bPxaCf~lCE?8qP|g9@~cT4 zo{Xz_H;$2CIiF*E|N4ycWF2kSFZ-kXCGI(f>rtG2vw#Pmecbg`omZZdzz>{rn3na~ z-?eAh?(2*FtfOKavt7Q28V|!iet$7;>$mz`e~QCbzqyZSr|pXC2XM#9^Qi84rv1)1 z9QycwpcDBO_{49akDrI*qCG#QU)dh)pBX0)T#lDI?8~-0#5q@N@VmJ2C+oaE_SoOh zpmZOTVYuU-PS> z4*ebESN=QNw!5)&5T~d95l6@V>Icu+>{pkMe>yr#|DDc(+hcN%x|)o9oG&%EmJ zBVS@4oa)Fge8BhPv?tu;i@!Sc>PI|bJ&I4`0P9+vs!m#`<$^~%DSWUe<5fFt_b=MH z0lbN`U(4^}@VDbDp7NZP@)_qzk&l@-d^qkGozSP<2ES!K`^)z}kK(x)W)|ar)~U9e z@~c9-@AIzX=aJ8~m=Dvu>(7U0o+BRTSL_S7{HpPMFy3RQ1CbZ~5q|{_2#~ zb;WufZx23(c%W*PdIw_(Zo~^vea` z;ES?(?Yv^#9M=v$AB-#c_;%hpzQ3a0^(fB1=KPO1Lms70m7nk>PQK*&D%exttH0$Z zoi5J4U$8T9*B5x`6K@M~Z`m&Kzk|P+U%fj1+30Wgi%*~9#r5>&;7xt;|L~l@)Zsi~ z!H@m!=Z8PRmpb^fX1@8G<0v0|GVV9~n|%DK{nh-0JW4-=JzpF<3-%0kI8PhdZ;ZYTG!LtI zIiIEf6K=n{c*={y9&|SL)JHqWt5bf^FY{8`-R!&Prf>eMe{8oLouQu-|Awm*cK*fD zndr>WId}yxfq!Gmw;$V0d6aRcB;0io@39}1vYCgs_t;y?yDIzIGLK>$8@TV0`(B@T zJO?!XbAIJ}QNE|QSm&NQV`kZ`^Ei*9!gU+}o*enS@yOpl^6zfs>u2*v_jmVoOY!wW zUNA59{es{4`@;XH;_IS!!)@nQ|6TEMX}4bR4L&J5hY`zl(o%_|)P+f#&!Lvoxbj~e)M>3`;f>n`Rw<24*#bzG15ImU%~Ev8M@j{GWc^ApyT%?|101E*ktU{`%C5N8I@L2iKm!3wrifopL?{`%A(X zcuV+=-|*Xd&>r@0+O6WRPQCUI^~ncp_q{!bZ@VkyKNCCM$BQ4@4ISd4`oRb9_E&xK zu@7){m~Zd%EBYnw^FHlSKjl%AeJ$r*?rZTJka4W$SO0k0^Y{5Zr)sQQ^Qg@^Rrv?_ z%)@!fuO{o?^JUF<-yNP`;Rn}$@%*ZtcFeCT{3&MQ(w-XlH%|EGQ!}4-?QfCKIfMMb@lVqp^DFG^`dJ;nCJZZ;6okte{t}sKjr`O;9Gm}Tlw9=EBHVs{!Rq{GANv(J z``XSr%&P{z-yQpqDYl#O0zcvyH-sM^&vh33CjReEy>_NdJROZjbdCzMw z|NV2r@0ec|^R7Ri{-|Sq$J%yA8W*)V*Ws!H!d}C;(Re)sl)d^@hx8XWPRev)PD8Z-|bfw|Fk^`g`Ms@ zgd;OPl|6-d*It{;BU}Df2xoFH+bx)Db8nnV^8ROcJvo`RiFH4 zqTj{M+rf)?JvsxtiPPT#zU?o5lOOubx2=wG?yryj#LlJu7YFb9Sw42kuj0)A0YBRP z{OH*3g70&^i9JJ{yvub_v?t|t`+`q#`rESqe@1_4S9=O}7UGDw-?M7+bNn5#_UnJn zvF%sPH}_fW$?Hykj>oaj=Qu+<#hF(do$(HSIUns@30J=-yr5syM`wXIapu46W}Oay zt51Iyb~bVKGj6`2e|kGiaCJ)PocaMj@*?ync+R6bcvnC1hd6Ok{osSE6Zru7Lq$K% zsleTjM#`6p`PH9Ke=w&E@R9J&{*`g_D9?S=Y3_HPU)f*sE8mYapBy>ABA$4T?E3-! z-Rm+hGG9VpJn}2|9lwvscRy8!{K|aL{k^#^nP<~$N_jn9i?77b*Yf_QO53-+j(y`| zzr0&HFZbQ>mH0hf?{q!5Zj_UGH5t!N{2R`{it{HnMv#EIuE@YQjh+OGbmzuFV?jdkaERdvew4DEcJ{`h>qYL7Vc zM0~!3&pzJZZ}DSutyviq@FYqC5zC^o?cH?`o>sou%NqnD6MjVjO zy6Eu3{&GGGyvtAcNcdDooH%1VkNo7bc9d8L-F@UI2iMN6P6da*C5|78^T~Zsf7-4%`LOK{b1=Q`8=GH*M4^AmrcCA%Wc_~Ww0p8lq`wt4)zQuS}}n-(cz&z)BOy16g&zZ1&=bN#P_Z2S{azkB8zr+ zOrDEE;m5*{1#Dp9-`M+{toX0J?>pIUv)#`(e|3E1XFd$@q5qt_7TUF6c|6row%fRl z;^iOT?$=8G4Ev=&th=S3_@j=Jzo_@TzStLe7`I}-oF`>}7VTaMx4-SS{l+}ri!S1> z3wR>Ve6s5~&Vk<@@UlM>p89&*0mu8{IX+bVPxkUeyAnB`VZYnaKH5bmEcjcpAK)e7 zMSt4c{>#6_Sx55pgd4ZJ&!O=Dgb(I_{2qe#2R#$}%OBqMv&fV1;P+gMb3gkV?V@Kc zc#66X`)F4l#@T&Py@LCtqObD%R})*+o=!7FiZa(=a#x9!F}A+A=}wK)54%Q)u}!DD>jy$;t=#FKQcb;(csx7{M1 z_d)TGYx(168kcVMkJ&db1l9Y*`8aMn?>Wz8o)+Ujaj9ke1L`@iXUbNfYuYb4u zrT@WiJjwnup3U)e96sGVOMBxJ&(Y+Mc7MO^y)H4%%%2L+k{`Y2ybb;EOZ>;5O27Pl z2HU;tFYW4Q5r4ILY*%}Khst#!-m!n=&u5#*@rm(7C)Ye~T;I!hpg-_*aCMrxZom`c z!1a>9J8pR&7ccwM_2;(z29Ea?uY@=317|)v&Q*KXyW=@t!|(j(`c84yLy9vLvC(d;2XWQ-Rj`#?ia_q0bca55H+I9U-^$87# zhi*yu_dSogh#PTEg+Il3@(22p+KqE6=9~86kModyE$rdObQr@$m9~QXQqA@bv$LJ@G&8Tg2HP)nm=;_+NItmGD3sh@GnP1_UgSifRdnYZfe&VDFv{Pg+r#d=&f z=EHAxDqh8t{<*|G_n_T~Kg^$bz>9G}9`5T$#(%Q?>H2A0`gr5oFLC0n@iY8q{>MDE z-2%VyIpOjw@ua%~C!SCI9Lc^J&)tvkQ-7*B_iGjV;Kxt#qCNhc+P(0n>kocb$5Z^S zmOp-$xcUnF=5@5)kG8%2n%aN1ap&U@_cLU3B9`yVL8E=6QjqF#d5}|& zm-gbsD|zC%9`p8O@43MvouC3-TO{+dlf%=@^hs8I^?x8 z)y{mQ-aOR54){v-z`gH|^(*c^#k!ux4d#z= zAmi2eAP+jNfk&Jqu4*4~^26=tz&>#1xp6Fbh;NnnR&BTJk9beGJb|aUI<+T0$Wz=G zJm03>r9JD~{uc4FKZ|}vyWsY>CVTM*`+8r)>-fO`HXiowN3^;lF--Vp^EA2;t z|JmlR%+K!pW8Zv)e}X@>8$9^q_$=Gyd}etaja$FiJRSU^UEkC8Iu3c5Z;nqFPuC^Z zPnuVuTloHh?N)Wm=i8s@b=02<&iV>}(mZe4!_(mr_jhP(9=8uS|7E-O>*I}UAMK|5 zqjlSM{+)#)zxYSHd@#;Uey*c&Xo>%H+h5qneB=C3e9F%}De{Xmuf$`$m;I5azOEoU z>F`W(u44tiZrHoOg9ktJVLATt5C;bMB~I%x&gvX+dBQ%;x2`?>7yR{^c+BUdqXzRW z-ap5m4j$)1;0?Sd9VPytuj;O${U6BVzt2rd!qsDeGyVmh_}wb}@jNQy<6m}r8K2@w zUp4Ul4Sv$D`l|b0@&&JYNqxoodZe$Ip9|gP?+AOJxLD6|4*vI>KknbSzV>4gKV46g zdD#zoKs)Q1&V&64x84tx=60L=MDlZ_{K+5rZntvASD=ytDL=ekyK zvaY-MtBuEc7iXRrPl`C_UD^l!v$uHyCk}Vo4V*aKz#~qw&(4gq zFBj(HdcE88d$`8cs-I8Yp3H|Oevdx<4nt)=mAiUh;`|AoWZ(6Nb}#%d;#{wV zKUJLZ5C3f!d&e#ON&3zEMfH{Ir4s+j7x?cu$j^MM?icz)zZUoqCk{7wmbkhLyvbj8 zyI$X>Kb(U_f7NNcZ)Sgk=hf!1-SEeAD%$PIAIHDz&u5#bJI}@C2akSnuGNe;+WVeB z#?f!~tKD{c{@vT<_=tZ@x${Jv>)!O|HFm6v@L#;_&%(YY9@~w00#C(0aMqXhO@8A8 z{txy?nvLJdjB^S7!M?~teDFGkzQUh^edZC*@2j71*L6O>x|q*dUpfCDbky#EJaMk2 z|L}x8<95^PT}^#8lfC-N_nAD$tLm8pmm^7kVB z9r(~uJ|86Bx}NKQg#Xi>x^6>vz1sL-{d;{UI@EaOIxDQJZk$i)37^>IbfxL7T^!wI{IBkJ?8}dM%KqqQv_%b@L$@eajv$jKkf_KgLm*IPJFv)x5&f%?9K;p z-}fE~&+|X}mGr|Uzt7X@S5q$~9o31i{j0afd1?RKjaSz>cmenNcJ0w)&35(Y^Uc%2 zhxn_FFYqbu{k1%4JZHukfBlT{zk{FgjQO0dZ{Vzp3;yf2>-!u~Jl1>Jp9TN*8hdc< z^Lmf@kn9WXR&nG59HwikcUT^nDluc|$|SNraH7ySyo^auQ)-4kBmcYjhBxvzzeDw|IomCwP% zgNJcA>8nTIAH3WA!+q5AE9SYnD4q`*_gv5FEA}trPUZPv#2M_p?vCqXy?0XAm3hle zr}2Swkcyl3WVim6^ZJq7J>l6d=dIULKQi7^`7+OXkG%LH9q6cdZ%%!j^i^fPSLXA$ zF<-x8Ub&9I-Crhn0rx%U!upLkmd>vNXFrms8^``)w<}M?ALgfVqiO%iw(q%J*1K_1 zKZ_s6GvgDUB|rA^2Tpt#*k8B0Ek7g$@A7ber+w9)^&atGe6z*xC5GMrulS#F`@7_! z-D!W_HKefPRJZlA%=xOJ|3f3@*~Kf(VwIQH`U{oE@54LkO=CBN;mpAPVt zhs^T=eg#jt|19`h;PoD_*ar?z1D~(A-M#Ufe=hKvaP7+t`=pCvokHaJm&Bu=mpD8n zw@ZBJ^viwI^K*HEpK-geuj(TC9e;HZewG6s>rwqA zlKkv1p>rH(@O(}+!9y?6uDYwI=X&d3w!g)5D*Oq(B(DG32hXk__TRv#{Xg$~yx)F@ zJ^ISHP{5~gL>&d*!Q=eur<=z(SUK#rk$%zs~$9Nndr=hx5GNwtZo~xQ-Ur-RCTw z^)0p_0eRx@xnz6v)da8b7tTq#@kIP5_-lOAe{@aJ0z?b+(n_oQqhu?ND+coadudvVh7XN+TR9F|rx&CUmTNCc{ z!G@oqL(oOV@zfvYq4RT!bA9!{sf&oK6Q0X>{5j*0@!xLz0?+<*$5|fF!Hgf`@Z0Xv z&!27n0e|2=*ULETE9`H(zQ5-q|0VwKcKOo(*Vr>38hEU0?OE?d`?5ds&xCuuGVb_v z?bR(_UvcJJ!JkvR86S?1`UgKB;pmEreM|NYyo)o>m*XG~f5ASVUp>a_eT@o_=OEIE zm(WYQ*s{_g zp^J8fZoALaSJQJRc^pr5lsw=A`}mzJ{H*MgaZUwZ&_A9#sk=JsGoBAJ|J7ISqnSz0U;x*o-dM(+@ zyON!GQ}>0!dUgFc&yCyl#&u?WUFNy|llslL_uFm1un+w6jaTp@Pkq}y+T(W^V8zjnLgRUYn_3*#L)`|@(Uv}ZkvFa0d^>tNsDAM((y`_U9n?FLR< zZSZ&P%l?RmJ$_E?>uvkz-z9Wj6!&YMXVuKlzTCy-+07Q)9f9w5I{lsQ%jjgU@6vy+ zul7~@zu!F7d7W_k)ou4f+QrW$UiRm5J;?)Zzl>kN@f>y}dwEL22mHa4bj9+%*836r z#rS*Q8vI_D-_?7U8us0I?DKKjt@`uPwjYecyzP9}KbQ8bm*V(nf4A$&Q^mbchrfw) z|I#xL{y5*N{-fKq4}ScK>-&29;r^vRMVxgf9&v;Df5I>PzheEC`%kl9374md7V(@wL#n#}vo^Zxz{d)8sqAKF*f88@1|!~xe+PABCf z*>&>ufNNh;`TAGN&qF)U#Rv7XeLe7&gj=sAe5AZ~E8*s~AH>1Qy1STP5x>F5ZO;RL zcg^+HUDv;%9Q#Jxi~DHsh#NnD+kP1*jkm;;A^z9fUO%h2^BnswPW&-0HSxR6WBd#r zbWVpSaN@%RzvOuWUzvxvR2lDb+kW_7ZUb-P*Dlw7inD*|fAA1DF0ZHd#Ek_$+)q6Z z6xaUW?{?*1uXnznujG$*88`7u9{ptgUGAq`NBt?{yx%n(=j3OHr=U;#yLb(J$n&%9 z?}TUR594rwH}SIV8{@ESm-*Ad!_SYl{YvY?zf&eYX z{BH9!`qfjr`XB9nvh9rnF`llwe7%?_(XRYyz4X_c*Yi5Z^U~h&XFS86@hRX<9{9zp zIO}N9-y)9v3BRzf#;dYFo$DC72)sH^lD*eA>>USqiux+u2Mu}d>U|6HPjSXaJo?2v zEcg@l@HFG9?Gl%Y{-~qwTP^YT`+Pp3UUeL@zN+$v{@MOdb&k3Pesxhzc<3DU1NP#l z_o-^MyDJ2L!sW^O&F3_sqx6$=s_Jt<=i9e+Tl{BI*1I|?&Z*dU9_c7?;#9n6_3`F& z9nSv<|EryQ-*Y?pm!$>V&*UjFct{cGS))n5I;I%xlOk5~NtFYwTB>U`R*+A}_mLzn+< z^Ev)Q|GkfvN4)Hh{fcp8JPZC`@^iiHR}<&DIG$l|{Lk$&{~P#xUAH65lj^wLz|{lb zG0u0pJa`)RWq;%u@}t8G<9yw)|9Gd`$Gp8ZE`OIljprp^_NOyHLl=QN&L#O{yo~Gk zx4YfT@lnsXFN1e+;|Al?@RV~vw+7sGA`kNv0v~PaoeR|&NugKb+7zg-NpD% zc)I6Tsoi{jb<$Ub{h}m&wb)-y_)PZls5AVYpm^3%;@SS9-8dI2`#Kh%8+uMfe|_Jn zevRGTPSsKMKY<&6yx&tVu^x>h^(*W@C1rhjuI2M_pEFM8L*+U<51Vm_bdp-0(^L7N zUQPA2@8BhsuYcvd{^WMw6}SF4_}>zK;?MPas<%>Jo(g`sF23FKpfhjO|Kqmtimo2& zF6M*t#dX@SkKZFr_P&2rS=Y`hf2Y(qknxUvqg}tpw7{46Pqx1o@v7jD?>RT{uqVEW zN4xAV9s4eSx<75=Wq*coGVtxs1ke21U;0TL5O3nNE8fM8x5V?_UvE!S#I#qU-3(v{lfV$ z86N8jvL_Dem3KNFs%?&A4fkzado{VBKIo_~LQFrP2| z{CJml+I{eU;{!bR_Yux`UiM3V=GCO#={{cer(xf;XFO+a_j=pUuvfn^4%cnl`TL5F zfAov>sGsgP?z7!?_0#dsc>aWy|@l)nUjYWEL2zgvAXpXCqy?RICJ7j4}5pU<6&`^Z5r)r5QQ zlz9faDC@4SUXsUnm~rQW=TzU=-<|rLrg%;Tk2)uG6g-7${>IgD*uO2$=}h*PclY~4`FNsSo*z1$2mjs`*Uxd_%lLEo zPj>6j&SZT#-!JDS^Va+K?sa!vGmj?ctgh2~+w&>jCxL%CzkadH8@TbdzuNe6ono)< z8rU~+?kkOZL;Ruu2<5xLwj^=V_uD0 z-PE7#wA0_1C+siHad7_lyqI>U{LIgyKWRQp@FlLU25;i{-@&skTJo!x7zg>|oM-p0 zIIn8xmR-=~N$nQf73aFhGjqGl=c2tjK_18Fqdm?S_Sv5*Px#4oA+E+b5B)0GpK$N1 zHJ|Wg{Zri+)IU_XY&YTVH(7V7qh@-Zc&WR@8P5Xl^A+QU?}t~-wKHKwcvEJqJ_qB#`L;JezjboR%IsyBL!}&Rmaf~=@yF~{m=<+ke^XJ)oHF5yquqkk&% z!0YY%SMpT(c`wNRj)Zskm-tV%UygH(C;p5)p6oBq%S)b*;K9%0e*MYD8|{XlslQVm z?_05N@|4YEf3JjB{0x7}{)or*#ec7Fvt7^qXgBvIbRy^M1Qfrz>D^*uOp7159c%G{^R@)9kSuj`Az>BhnQEPD|Q9( zc>V>C{!i_h4=21kp4!7BfAAzc`UQXRsIRcEjzi)vj;H-q-(vsJZoOw}>YO-_q5PUS?n)yeg!_%OX@Mk&F3juM?J!gW1bWEp4GMe znd&R_jpyo~Uv;1NInM5XU+wyyGq3+jUi|NOe%*FD(Qo~?*rA^yo^zd@500PXG7maq zfS<}&s+aAo-;-SX1`KSC`uS&aB+_+7<-FDG|@{HT|+xONSx4=Kz z<;&}69OWFwes%GmZ+rde@-sf-;Xisqe^&Cp&~6hi`*SfqG5%$@`)EF6-?KgA)8UVH zIWN-BVY_#mU!It6N!L~9Kl8`&3>-fj>#-;OU>u0|tMPw%?%{hu;PT9bSNLnm-~BJzCSbInZ_m3Wt?$;CU2Zs;HHgyO}OPV;XUQG z%XmB3)dMci`%32%?VQTRN2)Kr5}xzVwafK#{=_qAzmaO!SQpiK{q3GN&fDVtV*J3q zF~9tKn66Xz3!fVi})#jmj{0q?M`vxl72RE?8U3NanF8v zy|AC)F%I}6Pw-#$zQ*EuUGlS!xWCuiwksd*^kRI5_U!MrTg30#-~5Ap6~|sYc!;+Z z|HGd7p#62*e)v6$Du2SYU$*<>UGK{N(_ihU_GN!Y=1;iyHJ&Rj{BO6qE$Nqd@Zat7 z27lmboQwW=z2NU&cg8dL)hF(E*oRKoUX=m%r z8pHmE{@HkwC*eKg#)piT?N@)Kmo~oKSH9W#-Rhg?>EOP1lJU?{%tQAhpQHFYx1I~c z-v=ZvsiWe1d^Aw=ITiEm$~eyfeg7)nr}{1ZU|;n4X}n+m?JiemHF&SX{_lRg4(0CC zxjf?+^+(#@vz_HDw@18qglD_&neWf6pZ%QFJK^gIUh6+)_f+{)Jdeta1Fjp=!Fq8% zdQRXvUFvhzcZ0|H?|fXYJLBFLd;Yn8W552*#ux1ej=gcLxi2K0Hs$~M=DF}EaLzY6 zc98d8dZM=bp zpLZMY+Ut*T9{jp(JHIa<{Nl-qa?yA^Fzwm$A zZj9&V>EKzP4DFMyDDa0aO7pxp&iF5XTrd17@ISJ5UCRT10grZ_hs2p0{VMk#{lDbF zALB#TQO>s*2d^XThCTjhAGq_x_?z@n0gvZv+sz{Wa9*?vrg1x+3tjRbbd);5=V&dr zi~s7V&_DE7y;M9$!p}##DB;<@pt}P1dVO2(Yle<8eyWRj4+{FCzVUs>Sa&?XD_?Cs ze=pAGfc;DGzu9S3NAaA-_pmxVjd|jHiSg$;G}3<1FYP<(g1nDccru>zW%wcFJ?Qz~>Y78|8!b<@Yeu;m(()z9NolUvA7#-#2uf z8n3=&-ZJlupZyE!Veh;xzuvg~OCIbW;jiAdAKL%b#;>fGe!TGtKDB568W|_fh=)I{ z_eT7W{VVMk-Te-piv18T+n)};#EmEN-?p9iaqbH-{_rp3ygX%p8hDHk_?6oQ*Uu~Q z=x2A_uy;Rg37_y!ar!0CO1SOTXt&>1A!-tZ@Q()b4t^LAn%c-CF| zlh#W~<5u8tz5Cvvc-NkBaD7d6n)@u{7J6n6PyFsvv`fF_sfpk5&-NF7hQ0cMc8mU` zc2CbS%ai9(`#MhIUOd;s{|o%NI;vt{)lv9g29f>M;YHK zSl@2D?)UYqaIlvr{@x${cpl|*H)(v{7r(1OK}TPOj?ul^Eu!J|8?7Tm9!aWNQ?XFL0=iKmUg7(Tgr=%gqxoU&-s(zBi z9G+k8`55;p#4Gic{Kh?T<3lr^qq`b@x?lKwT)b+}{m8)n6907jv%rh^#kwJ`1`qp) z@i}nf;lh5(llINPll{`Z?2mCi_G|D){CC{_K6`ava39BByoeLWdbVdjy@&(hXQ}s0 zL;K`s11|};-JbA*eemPYWZXvB?{**IjN2oA#@YC`^S*>KC|v&VzkTxcv=Xk$I9o*J1qiza03Vi+8Te6+HFcqv||Q{)j(}=eBRz-s>nH zx@Fr>*R}fOzSTF+mB8m8wjFT%{y;om(;ogFJiFcm&-$lppZwAP2cF%)rT@vFM>zAd z>c9F2KkaYzxgP7WIS$&xbAdnTuHCPbUNSz%d*iITL42N}qc+cF+zxy@sxHdk*BjsN zdRbqIt4}t|o9l>u#@%O%It@Ro@2hi;WZawTD9^9%wjT{075mLc_~&`lS3B?DW9{Ja zJMI6t%hgfpYQHz&xGnsu^v8X4<$d;`uWGW(^=B%VcO=~W$=-T7)&5F++3tPiTWV*J zp9eg*tG#%xcfxz(*RCae9Q?_46T1_>5^pCzQoZ56>b~f@W?ngu3+u7nn772Ug+80a z=lS(6Z{Wsx-`8rcYvQ)QA7Wf;#(C!dz#nmc&rLk|>uy&(?oauhqG`X}FMf=l#?OQs zho|`6wx8La`+fJ{s{du%i|c>kI`r6Gy(e;B^xMw+y?~{@ zvR~-Q3SQ(_&(Lo6e=rW=&wZ0R~F#ap^s3)D@ z(e54($2s?F!c)S2cR>D(7x*9b>ruO#$9A*6lBalG7`GFyKV5sqP5$u5{W@Pq_jkux zo)7l;#5!{P@yB%(X!6 z+%EG?{wY8E`;;f?s0to>$@xq?%=*XuJ>$mDsxDHW7+1yZfc)vX-Y`BVynttYC0^oO ztL_%C@8a}pp+~}=aU1L_elO3z*E8}t74xuw$9q=9ZO@~8p6Bn$OrN`We)ZY*Q+%T9 zD&^|Hi+c06?JN7_WZf8N#aG&2XVO>Q`pK@P{3JgTZvB;T?K6JLYhM%3$^QG|J+(8) z&jW6Ixmo@^oD%cG{cQek30AkrD^I&u~42USb{&_Mgi7y_lDi z^XZFqr=91!6MOg5{<}S&oAC!;zYqHe|AP6iz5BwejbGyK3%t*~m zzP#S`^K+lz$Ny!&OoQd14>OpBOjCAG|qk;`D3iPmJg0cVBiM;!d1v zMY|R-4%vTsdg`xuoGZfPIOOry|A%qd6(;jG>w$}Y#e9a}{ss^G@5doI8b%LSMCfPW89D-NpV?IS2FpeW;(*pZGf+PjsB; zS&MzrebIbN`=@wM_(*x}YQnYa37;vy$e(b_Pw6=Do$S9W-cviaI}@JyPv!kkZzTL= zSCZW#-x5AjUb~v`NnYH1P8W9K<|FNwt-^Qo$ljnx&x-R|~+rHaB<1@NzfXDuYz8b{a*q4d7(|GPa zp7yV>FZLSOJI2P@S!?W;bBwU`r-KXGh$$lPmi1>q_ zyWtaVyJ1her*W`fVNbt`V#sv ziu0mvZ=4K$f-*?D>d)~1+nrYZ#D1cq z{2o-?mx-&d(4{^n>0fQW!Z`a}FL2+da=*de-$6D5 zVSj9CzjfctX||ixyAtn6_)6vGO(*5%2l<@#gPrw$sB|9M&3JDARNfMw^?Jf{Uc1G4 zLgcB}QvH$go%~4kCwL(>zqBW9q~fL%yu&-lU(CbGdRnZL<$83!yN@wXaGFLl-KnF9{b&|Hh%~2#>2m7y=gDbxmL%Y*w?^U#?fQqu`d$`D&y1j zlQ`qJ1zz??Jp2bQ^0^Ni~ccpkSRf7|V09`A==3Af!QPP>nA_XYc_|JXNiuM6ik;&C0}8Q52OILB~2 z13&T5Zk5M&9XIgld`4I3Pt5;>mt?P>?lUJl<2%fAFH7f#=HhnO}SSFW6_@)#Xq9t(l+eRgE*>R9f80C9aObf8%7aNqODc>j9WbDp>l#PdGdZTXyvetAAL zzk=uEoqA5?dnEp@UCrlLe}(;x`d^ZAe?7gQXJ2t2QSVjuDbvpWHrelL%DW#f@F*ug zNG+e_uLJ(v{a&8T+Yh|jo3>;(QhxnFdE1xYb~A3d>8ZRO{Ok$O`9*owN8(qiKT=-1 zlJH61`O?S_(n@-fu0yK5<(E2+_%Th1Kdzh3yf@BF=QDA1VDCC8oZ|)``=INh8n4)= zJnwDb?rXl6rG0Tf`fRViE|2@m&%pIZ`xE|?ZQqQy+Ouy?@a}%fK3m+U#ECQ7$39#3 zXJsC6dF-#S_Mvl#Z`udWdD_IE2cCLQb%{GZHX!c411?YO;}<+xFF8K)I1Y?Y2M<5t zAK-a>)K^^|?3X+Te5kLI|4W?l(Vwt)|I&Z$)kW$+=R?`!FdYZS)9ar51;74Bf5G*q z%TK$P{>bk*I6u?%(mu{-urKl?d-1G8#6$l$p0u0wlJhfkk^3y|20!yQ)KExA`aU<)!L43%#x~QvX9B1z<)iaKRxOxU$9aS@qo{9IalYP;iaVzR2&x^E& zC(e<;oBYZCq@&bJ*`J|a^8Iu8FLBSKZ15ANcV5eP8Z!|4z-yI*R8A?jJ?_ zpHk0#1)XO6k8?2R1MjOiAM8hAT-@Jg+6PO@Yu69B<)-yuR}Of#pV;+eFTTKYUOel# zmUzPMJ>y4zo@nP(?}U#7-^qR@`;%QycGhbN*RCc!+bzm7KEZ3MuO4jZt;@LNd}Y1G zdx@-rPHKF+ZhM{ho@R$f-R1pOHJ-R{vYu==_T^u1zHXd%KlpMZrXRMc-bH0!*|Bv@3~$0tNUHruTS`i zr@<5FDv7@){_9{be~)pf_e{^m(IE@|tXsrGr`>J-fqh&@bWQ^gf6!wmyxOk*QZWvwXW&;Cm8?(nC*ktMIS)Knws(FKH+^5o=V%q& z`%izTMO~Efrq1ELZJI3$+~)-1>a?j|@_vwZd+4RQtH}Qqd58u&D$b++Y?sfhqrgkX zc`k6FuR=%teDkc^PQBmu_k1StH~gm`4SxpvO_A6Aiqw6qr2TD?cmFd#lAY!C9r2dz z*E93Bm+kwZ{&m1}{r8=p@44L*-#D~$vR}#mWY?3O^)f!NdkWXCB;HB>N_Zz{GrEZ=4h_|3E$X3+u1{V&f5S(P{qu zooU=tzx^%t`Xl}y;0KR(i4T=_WB*P1s=Ci!o5%5reHPv2`1PbirsI}y`&HyG`=dV( z`!cxue&W%e?`!XV`mm4hcB5ah&pr=7`SZ}y6BNTJSY36pNU62*6nV#RP4Lw2Hz3CZ16}XYne^Bs?qxmJyifeP?vY`=5A;mv1ay1Bero??>Y;Ob z(ovqvOm&g^O?{<~0`Kx@@4O;Tm&CuaF5>!nUKF}Wou>Wo@%wJ4KJP2yKiT-@efaON z|NEVG_Jg9X`*q@By-eomaQ-;nrtDWE?Pn$B7x|g+Tu-~2?5vk@?OU=JH=T#_6W$N@ zCwv|3-xod){3raWc2D)bFMg`ulK=St$l+jiUa^vA!O zChq-qoZB&;gZA~Kv;TPC-~apOooT;XB8`SN?u!;OYwQr!Mz9@t{F%QmsI=ZKF&UJ!kd0- zkN=Nw_O+q^$^L|2*&qCu|DnIz|E@odb8c5W@f^oTKe5-JY_C5(@jqo>wP)N)9v|AB z%+Hu7PvH6!{OSStr|te(y=Us;_LqHgxh|ZC_!;v`+;P@V@nm1c@uz2d^il&4J%;_W zad?XS>Lup+1>VK!Z(+aA=TULK^z|MuhQF+DcRtRSDA2xYZ-4W75#!Si=SAwAtfQ7X z=b)GJxzqF<>C3nMukxsi?3ng}?|PLu?eFIJcSR#!{|5d~cG_>G;(xjGo>PUNUu=A6 z&$vau9iP|maX;?0L|@8!5lYi<>vic*p)C&2}x}+7;XRZ>$sJUrN{Z z)_v@ccN;e@6!#tWg}{yf?hEkLz{~w7+LdR+CH!~a1UC+aKeT(o3+;v;W51Y=XKMF^ zKjNWZ`rqYYzwYqIK8yb+d;PEW7oLj$T|AGcc+v^cU)r@_F>X)b?Jz#}EBXu1Q})&I zN#pR~PrWbc&J*Y7-NuLGApYUT3wZGS*~TyZPxGyS7jeezkv;mMVjp^j`6JK#20zpx zp7V&SL%@qT*Rdb$FYun8>lsg`IPKPNw;$c}rLsSlxaUg=kMk7piH<6sBkAWmo)@XF zJkNo?GtL;+_jpx(;~Q|MqR3iH<7&2#)@oo;!*E`7ZA_(%)eJ*E^lW>)@%B z-zZlf61Rh&_2|54&L75gGLG&$(|v{1yyd2Y@=hvlIuE$zrrE9?+8s~uWuAq7Kh!(f zThDZ)`sQ20wSV7fPwfoyGvUu|_f+qP#jfwejYDC(gbm9y%)NuGpv8*OvUYTlS}ms~^Cxyq~gvRq(1k`%VFW&>P$T z34h-APxy&P|GWOmgSG*p0dTy8NBLCD+#?5)1 zIaTN-@C&^Ve|K0MUDW^aZ9l7eDdCs)zj@pKNgb8!mpba#@Z9ax_*>Lte@ppor+%-y ze75tx=TYGIxxgeYcl2r{?dYeA_7}W9=bJqD=%#7^S>!L$c_=^O<6ytQEzkAap}mv+ zI@pW%gCFyNThH>5>^k|H@bv@bZBPC|J2SN>uHCz)na}#)7a#a(`o4JOdDnC%e_9&H zr^;=wptpQ}SXf8y7Z>Z#^Q}ePb3LkqjJKV2T#c8;dEb-aK5rQ3#lIk4upf2x*snHj zoDV&~d+!~d*k?T_hbQ*6A8nomUfdtiS0m%>*MTP;61cjE_*~@?FZ(mW!+-DvKII2j z7loco_QAtGD1S{nkMVlXWV^wG|Bvh$hlZaqp4b=r<^HapT$h^gNA~XT&J*nuf9Rj2 zqe5@6|Hgb!Kd|pRf3iQ-`4jfL1MiC4Zss4kU-&a0jnBR=+LtsAC%noN{%@Z7?M}1K z>EQXiXn@E2HhUOK(SP+4*ak~PdaMJFU~oh`+IzE4xWzwsh+ps&rs)lMgPEO z#^Gt=zkAz0c+@Rim!j?p9kuH%b=0rl=BeUeyp4Cyqmq3=$N0Mj{+?C6?fRbYmydUT zaUUBx>hCrldI|piYU53N`)j%Wv~5>OjsKl>Jd8)|Cq3;mSK4RXN7jGeyxIqj{XEpm z_(<)wL;VwO{ds7wzaxI)S;?=Fcx|U8+WKIh2CnMr(CW-;?TvqZN^X6H~PYO8|PG>-~aPokMUj# z@nDK4-Q_+q)h%_`U)YBZ`D@|_eirox?|Fv*?q9_DXjj~QM1Fbxbn_SZL!W@l)75Xp zdF?}=l>KShPwtI+OKcy9NS$Lr2G7x3tp1hjeWcaMZ4-H&qtssmHV^@y;Sdu zsyZs^rLHbY_#ocI?_t_Nwr6~b`bWLtIucJhYKZ@O`xn34ApaNO^jCk1xYs?OM_s#K zJin9w#~b(DDc-aC*~YzJ_50htzbalBAN5zK-N}5YT+hLJA6z%*w{gE6_8-el`@!yn zk9XX6X5z0YzsR>Icr%an`ho9+Tkn)k_(tM2-x9ulpnOlfwm+YVKi99!XTA4@%lBQ= z_vOcl=PAE>8gK38JCzseb#zxlcXifnXWgo|20CjIKYhM9*-t9=o_|f>vk*r|c}_2X z`2+Fom!$4r>Mq`gU&ayj1Me+}>qjB(#r~*0y32OM{)4yMt?tX{vFbi3j_$f1>6y)A zyTMcVU|;md{YzZEN4rHl+dDq`1O2Jpey~5`4f_}$_%C_X5B5uY^#FJUug|m}Uf;wM z*DL9ShJEN3#}hpCiTm#XpO5g}ffK%RyY#oqll;82f2RIv*oV$Z{PBG4nRxJgQ15HV z-}MLm;C++No1iZZ9Tn$M6tqV=YV&*k6TcgP{iV)H?==};LWkI}_Frz^!n$bcB6XVU z8l4vJDbe4VapFS-@4tp0ys4wU0RL#G-TTa6fpe}t8s+l*E#>0&m-rUbTkpH3xgB}l6}R4ZP2aV>_hqlY*Wr41@Nu{HgvV+gRu8Mm)jJ`#GNnj&FDQl?=Shj)-=wmEBVWQzgKoLNbHD1rpA+slgf61P&XbIn+^**gjAvJmu|HPFUp(mt@Be*{b7`+Gg1>mZ z)FJq(4#_$v=BM`+_RDjggv(zNzy8Pl2|Opf>1XiQ`x*m0{QT36U)f$9KWBP==XsRp zD!5bBOBrA4mN;M9HPks-M;S*#7tuhK$MYzzi+H@hg#T4tq&<4QURI$I*^Ly8o^Zj^VOx?x$az0MVA;%{)GLcJlnM=@RfMAe=e@wOg!TKfLng5_pZ2nu2kN`dUOuP z{x*p71v}qYmB;60eh=}Y{i*&T?sfNN_gVB+1vjpF-W9mI0v+YPnRU^0|I)tfI9$bT zx9pGmT1mM4;ScuW-p2wLc^=u*Zs-l$wZHoLLA@{O*k^wl_*8GebHWGq)qb%Lp7<}@ zJ@9vNcpCn9{lDA(FL}g2-nip7)h+C&?q8wf=~rRC<@1>fJll((>@z-`&!K;I!zX;{ zPuSC6@OVy#ZmjbAoZfL`zwVy%(BI|x&zGAQxD@RZet~BlHPJu$oT_-vqTXO#s2j45 z8d*oFhtW$uC-eNO-?rcVAMpQ!of==tufWUxT zzl6v0_uperzuS#G=kVSyI{$~`M7oHt#@UPfmEyDcPF!B8yr+CFZ-?>&p3vEY-x+0(3WFB>6#>@7(AfNK5-=Yxi9maY7$>OZ}Yy;>*6_I_{sDANjjLHmFqT1jg#H@ zXqw`y@wO&>k{<_s)eiRZSuRh;N2+h$bf)q~-gJ@gq%)=B+F5SiG~+pcvJ-zQJ@Msw z&$Y|--dFyIYX8LhL*wsjTz+Vti+P*d8Q`Y5ydTPE!p-OU?a;3FBb8sofyud-amD@A zcz+R>-FJ+~#=GYJ;<*+&!hNBV_kOey-_$d{XHoNh_t!h#HgWaIUu@jC_(*rbAG+&D z+g|_U{6w9g|L*%`f9#iW8@SkRN%s05dd7W9|Fs7n#&!2=8tB@qXV~8#;rL&)m;Zx$ z&!nFZ=QbO+-D11gcl>dG@_pk5-qjD-KjKk`*e~trSCOCnQTT+*AMG-37yXTX(e4Rf zw0r7r2|xGvgf7xgub2Ag%WbFs>ZOPGz~NEn{2qJ9O`Ri-|Dk_8pTWMWbJQU;JZ|v* ziWFR3NDRR2X&Tyc+NCES{lU>eR zuVXh3_TrOr)1LC;rYrH~{B!Mcz3-cUZoAL5`@a61>Yv&_;U}JqpX&e6c=qFe+Wa%` zU$Xz5`QFmJujUi)6eqR*N_b0o%g3Rf_g{_sw@O<6dB?TRe%07-+`roG?f5v{M~ufj zFS^`kxu5ho+jKuNej1P6AJu8Eb~{xb?YYktuj+^EZTpPJe(FB!{vvKFRwgirj5=V;jXjF-)S>Hn8I@9$8>{Ip+O$Lc))9rldp zR2Qk27*Fp{e4gdsHLf@6fAMy^{q@fKyLE+6oX`9M`;33~Hr~}OpM!gT>p8XU{>3iu zo=1Cr^>-VO_rU3|?_tLGiho0W+j0HN!@92WGtQnz75Y0p7bR_sv-->PFYgl@_lcg< z_Y~jEH}I9x6RzD%_Tv43TW&g^X{Y^D>3}cuis$;-E|>pX<;P)MPWZo-pSj(6@cV>+ z-}?Q~Ud9J@CwwLz?bkE$Y?t{g|Do`ibkM->_Duh?oqpC-|GD^;+Arj-zY?$cQ+ZAH zo&FYdST|*#iu-T&n?;=TzS(oI!hTwf_vo)hJ$0DxiO8c)=&y+X?vLt_=7pFSlJ$hh#k4yDzhk%MQId zZ8!7@{2l&`tCyKpC< zka#}c`Or)1D|OU2@cxpN=lkj?f5)J!o3J1l#gWJ$X}^`wqL2f`BT~wpLR9jlYCCKH*Kk&ct7AX z;W=;p6K?ra=}7HpFFsSbxOS%Rid*k}r!)C0{|UF;^kjF!`=Pyz5A06(Og!4J?}%qU zd44FoB|i)KE8)X9k#Ox7cqh%et%66q(aw4YetCiy`zzHS78 zcN?GX%i8~F<0Iqft4p5re5V}n;PKp}@X0y>xQnX?v}YXR`PT>azU0c|Q#Sr+eBklA z^aFqO+zI_q#`zC^#`7NR<$usQyWwiTeh&}+T=F>n;HPm@7x^3-^HS99o|94# z`~EL$nEvrUL;drMxA6+@?f3ntT=-Yu=qSH` zQta2KyFA_xcbpjy?L!B`7w1}>$9j(2ZnURPLN_hezvtlIe~EX?Q=G88f)CP3T2g+I zZ=~i;N3x$Oubrv(=1p5_XWAa|PP_U9zjnp?DLvsc*~w$t59QCrPj>UbyPk=UgIxp9 z{3rX2TQB45(B2Ea*XheR{I5L@Gp!r*13age=d@s-)5iXo(~fQ_>~EfjxzEP^H_s~v z`+|B*J+;KY*w>-({84`I&&yx!a`*Sx$Jy7G{&=7N;oJ5_oPAbZ;rYNLeWK3!6Z}HY zgl@dv#zPlzj`3K}Yx%KnVouBRRaF7ije zJg1W1b3Ac*l3p6G;rASd20Rza=S9=&`1!7fd5Lq+&)&wp{$2e;g*cx{c%1Y6{B54% zdqh72SNHybyn2c8f25cG{kE&(=#SO8Fpd**=xeRBpYV@J0TF&x5`7eyH@+?g{^){CMHr^ZR8SUdExk`TYNV z9!%n4P6v2S*CBph;5j|n*VJyd>#2Rq3%JiUC;BAou{alVfAhH{&v$&kJ@z-B`|upi zbA`|YU+(qdJ{h<=1U+WE@x0~}>ZwC~?sK>CDXu>GXyXe!evb%zXfMyT?XPVA!Nz+d z{l!iTpDs_*Cq?|#+x88fIG=&%q>DP^8RtLPmjkXY$~r3EJ4$}~{JHQRlJt+xo$l&= zQRpS@!PQ0n9$Z03P4$iAtX^|Ip?lTsRh{<4+v&3EuZD!#~DKFN!lj)b4=v^PE3{m{7WzodH}zKp}mIFvV^mwE7h=D{Q$=5&DP zbfx%dKHHhM{JH5o__NY|wtVdge=P6GZj!frk=O1@_Lcm=kHS8<&=J*?ebeWFao(fe z;Q38FzY_QP*H8C#oj!+pwey8@lA^umIp`?c4?V;8?gKyZdFG*>311?a^1EXLwFm<$qN-1Gwi-U7UWYX9Ca9?>JZTdkyhi zPadArg}(BACdUtd{GE_^f9YSgfAjy^slPYjd~=?aG~YV;mheHoCVU?74t^#3MZS^F zR6fY}1D@?yvbTJs`r_J~X1n)|&*X>vC*1OvbkEzDad;Vr^5*kH&x84n>-1#*l%M0! zPCMY4ZyxO46_>ZcXDU9x)g9ud<=}_q^HAPWd*-cY{z~=5P1m7(CcKl+xOvl+>Yego zpLC&kNj!smeI_nXPyCDe0^E%FhE_9~4&-142kKj57LmuG=D(*A^<_BkD? zp5^6$*8?t3Ka`*Fb+FI)c&1&h_mbc7;AI?M#-Y6VJT(vc_grVOPbD7r*Ou@?KH~#? zCi`{BYj63f-U-k3<>`m^+5wlx@|o-`Uui#F$u8Hk{DfEPn`&>qB>qnRO86qL{Y>TB zn=Zmhp(Qlk5`My$o zFAco#T-5IeguVQHzb($Ad@t$M_B);@^4^>8VO5?Fs?U7xYQO4j*YD^o$NgelOvQT| zH}UZV-cq^tjrCrbyd~Vc>7v~H zO!hV9v%PuKf&Dzx>j(T~zrG`1JG3(reroqre^I}aX1jX8wVzM4pUc;Q?^~}{&C!4oj&+&FV&0ma{ zdD9c#u%Cx|*3aq5UVJ1z^Om2|mFm@$x4eP(L#o|#(+Q7hPkDJ7_(dvi-c;Q5g!jaw zz3DuZkN1q9`1Io?eS6)#jK|A(lsBL6I}axJp*^kVLB1s1_Sylr+;k+ndEgaql=oC` zk-y#%pUJ+Zyu2se@~6^y;1wUK+`Q?cJmf?`ZJ8kvgaH z{fuPWgK3{p}hILuX!+@h#T{n<=G$Wo$z{C=jG7e0B?tS z*8xA-_hdiF&xBh))Ucrm{nY5^1&`0W=itZTd3!l$% zuF`ovR>9Zny$;ny3tS!I->>sLDtP~ndcL1-d*~6*w~GAy{zJt+aL$qBS6}(N1x^3` zejeYeTj(gyx%^(_^qdU6KG59I0Zk~N_&m(lO8G@LzllGKf2Rm`o`9!^z%C#>EU*zinZwa3%Z~YT)`AfRj+sin- zj6-?z`M&d@9oC_|<51q;5ueFE*SDRFw^VPDuLpd9&qH~8CVt{6hx!$~AIh%-J`V9d z+mBR#nrDA>pPam}U3g9wdV~B#UtH|Bll{MZ&3ZzI4E2oXE3{L^`8@;m&n1pd7}&@8 z&!?OJ5&q+iPx~Q{zuVxxEq=G{TlVMQ!9%~gIt{#oU*hmg`s@2p#otp^k9jWj@#c^5 zl;JD5zh9gy#XiaY zb#Y!&*v~zmsh)G7m)zgSZLc4H?{mV_UvIqp#ZJ{fp_j`3RQ7?e2fv=cr~K$BbY?^N0^^F3XBSDh)2-s|X~7$59? z4%@JIUa8ZZC!XU~_}6W>SI}>h`F*MD;B#Fp=NIE8-dQiMn|4}XUav#>Jm8ssVK=n* zdYdOLq%Gm~fNM7o_Uj4UdL!A1Ti?8?_)EIy^-Z-iZ(38ko&7z|m)uuq-}9!q7g$IbW*mOY^qv3g<}f??wD>moN9R*Vv<5ihgQ;y={MqqoW2q zfuoo7C))M*-mwon>8te`e?Ho&{dFJr_cJTwd}*)$SzoEgXjh%!@0~XAq29p0gD>$9 z@CQ8FEquVM{*-NBz?(SZIkNvBZ+rU{{(xWD7yV)Ur##~5w@W|8Y1jUC^_#jB``}OZ zmpuHPLH!SVuJ2^tdVZ>I^c*YnAubNLCr>-Hquooo*W1fDyo^J6^ZCB>V5ap}$hU-> zzY@O4_XBSEIFz62op5<3d^vrp-g?51b|@Dgl!sn(-{ASpBJcT9XaDTtyw_CNFNV4$ z>80sDa@+H~aBkrKSjE{-EA~SiJ)r#*N1upyasRFyJeN2+t$?rBwcLNe+rfThd!M6$ z4|zB@o8XRDNjfd?4|n_WS9$I>u0KVbaj5#E9{AI3FFwW9Gua+pdVyc^gD><eHUT)hDb#DP*+H<{}S6!TO5HI3hcm1(n=%oRkb=1@!_0^wjzXtt{b1=s3V%|3S zuWdiEuj24HZqaVppGCWu_UP4xehQrV-&tqZZMWz5BQES4&%qn($@PA*ZVPEAZKNyV z=1pg^6F1G}?ZBVytUs{Nj`Ulu zpY}cndA0FEJN-r;U9s4wnmGHc_EY?0>cLahY3$>%--&ZB)Zt(9{B-k(hd=13fql^) ze97|~KRl0e{KWCo@onPhgr@%qpWtE7Im{#c4*xR``}HIK!Uy}ycF_+dw+sLDx@Zqx z5BLQ>lfC$LtL6T4M~Z#Dkw-77Ly9kGcz7 z|C>DOI{Pb*p9Or0m(9Q6uYs5QPX!Nt{;tr>y6dktPxJmpp5Jf0Vm~+s^ZcxGeGBU~ z>JtYF=`?PTjzhjDe38%f#h+_G4m<^1o<`nuksk-Vf@}AZ?)maE4lm;P1~WK`*J7VcjD|I&Q_i`_l4U$1Mq|0KN>y5id9&GFV=J&6{`|Ds| zz{_p-ADSXhjA!D{_=(5sRUJ=w#4mC67}tHOLm1D?c__|299fUa13t8O{%CKzTu0YS z7l(ghAO1KF;8lL`3%n$}x=z)B%tN2Ys~h{Pde5XzE3B9JJu-MY=gik_+c&Qx<(`)r zZ-&?3^b~)@$B@ca4kG7fv*zl_8C9fx{YUnAi;?{(~h);^{)e7z%94F`%57n5AS1*=f1ab+v8_^Hr~eX46yH1b<5}5z8i1F?>256 z4*gU3U>`id`nlv`KkB*NYx8U0wEtw|wmTDk(QX&_`3wA)IR2~yE>B7J1N(N{eiY6b zix2U_=U}ftHQ9?tyU>XDgMH?C z^RmR%U9PW;a}MV7$1cz3o6q>*^{U@&yyH(Jo;23SATD+KSB*PQ#IcpiOUhf`!N;L| zg11y|ez2}qDu2oE>-sVdFXK?&eBReQn6AgP?gCHiP&~K)eR1pO^rHQVf9^xZXYWUS z-?gEqrq2cVy`n)}UAH}d%5Qfn?^Hk3jW60WZkB7~9e@13ULkHz_lw)MD|~9^0kBl;Ca6r^4$l?AKYJ>IPu?h1NZre`-pM4oR2y+;o2Gb6@2k!yWqCl z#j&$uf8g$4xxd)2|HJ;&Znj7LY`=K7U)ew6`2Ud~()rl7U)Ur6X}sOvp*>TbyJjV^?5e|Pb-`ef;-`}IS!qr)C;M0J3 zOZZkl;lutWJlZusLEmwSd)Mzl5*; z?OYdr&qsTvc%@#x`xo(CdzyGTAMx1l(tbMR6aTyY6Muf%js3#ED@0#>M!rFXb|!p) zM?Pcz1|IhN-aB~F9{!Hcap>aMx!^Bx%n={So(VtW6}-z&=T~7rek<@Zu1?_izrio+ zW9JpV;qQxnWqiP&i7(z0URW<9;q3xvpaS`Iz>1amKyrH*x&A$sc09 zFwd8Hk$m#NX+9&K@|@+m!~f3Pz|ncsE_P~vQ|GRgA3jt2#kB`~h~KkIso1%C135+H zMVW8DB#u8DcooOag8o!rd(`oHqOF7b??RR5$F6w(Xx{bu;Fb6m^O-zOKbXgPF7JFO z%!^5>KeyME9lvG#@7Krw|9|(xNb|w|&I^1cJYReNNIdZ?zV-8o`>yH>_pNmQVt)68 zdp#1qFLcD8D%XWxzOTL~FW;xW>p$1Gq-*~-ekhinqrWBo5SNDgBXP+1Id1U2Jmn(p zi5LE^Z5R*X`&>`{6emtr?1_DieMCI=&9v{wzDazxUo-Z{a{uY*XWV`@`)eH5KjvM= zdGPShkuTf+ssnDjRUPnlp)MI2w7cEcY!`j)3>|R&R^-1pI*;tB=wnZlkIn$!Y226gC%n<$C7$x4ck|@5 z`-o4w+CS7u_&c3b5q91h%u{sijCH~M4}JOOMfUd%I*A|o3Hh`3M;?XFL?_lSR)wAF zgF7xe;RSz&KK!Mf=0)Jm{wBPGhyBc}<-C&5-AYro)qtQ5r2x`C*}L^ z2%uA$Z{uIueGfYE)x2!+cg)7+O8sle7CxaGXK?+PFAdnz~A z-e>>BEz3oF)~_dYukN4RH{Mf!Ctl}Tom~HOU0=1gl6|(H@q8_ByyyM$E!W?8U*o=f zzxYVHlk1G{#QV9f+l9UBJ=-sd=Y8r{^@$Uk?`gyDYs7_mBW@69B7XAkxYZno`QB&z zoZMe{PjwnU#o6~a_!9T~xbZpdQ{DI^p3Ylh{~}JRzvY+HuY!(ovha}~_}$?f_qzKy z@mzZXM}KO6%A*$j_1`J6UGb?t70v#NlkaWEk@52P!?m;7ZnAT$W5ejYv;S1=+%9>n z_H_06d&z0Pw1;umpG*G7?Y@D9e&}$HXS-EC&x;5Au%CXFY$x-nK>S5^G(+-KY? z=23oML#K(qIQ-805dQsRd3Ep&?)+Kb9^7#$#9Qx=^_${#N!Rk)1wOzRWxwFml3K!3iceOdQ!y}oL1y{8?Sr(VW4dRMsh zSLIXp^$UCF1%B1e`{L^f-K%!R`^Ej^0^bSGI@7r2_cy6W=27v!7VCEr-{SnLVwdsK{EB(vxmM#Gzc7yd?YYmqYrH(yoA0Nw?$9%CYp>54 zSBmHIayc(}{Q}SYalvaB_)hpr*OTj!@WyrKi|@pr={nc1i~1|v`>*Q7`-QIe|J0@J zX5B0NDc;2XeE$`m^{%e7p1l7k-1g_ic=ZcET;b|iuB6+zHV!r7qw&h`RsN3DCZ2Tm zsr9eK0q}AoPJD67YCHtb&-<$JJe@}cPQ22-rA|5@$oQZip<^5~{@ZTh10MS(aMynK zW#VK5kGPlKgPQWu(XZnI4;}2Zzy3QrzV9)yb9>J7n|4|NU*;R+Q3E@-?XqvGzvYw9 zEcS)4hx|l8H2EK$c87iwXB;c@D)=uBU;Dd!?4Q^f{C|X>{R}_sw_o&Eyr`e%RrsI$ z%67N&fqAuQx2O*u`r_m*;!7R!CGjE7{OR~@iZjoz@B+WfM}J{w%>OeR-hE%V9Y6Xz z8_jmb?@s*yAL7prF29P?U-A9s@CqOCcXT>cct&oM5Y`x74d5B_w#BJaYU zZhzGW55Fb6I1d9q?RVnaGG9VxuwEkX!aw4fZ$1|1TG~k-75Lq0ck}(n_vXuI2Oro| znGb{aSM9Isc*5JP$3eO9i@0T{-fPR5@RhFR^$Xm3%awRDUCS#M_?7+YjH~;=*Aw;o zqF()6-!J%?_y5)Fd13!mzpn5rot^Yoy0-r6{=XK#($DQ=UdOJCH}IM4uIW187xUEh zN@;x9>{FdM=epfD*7;YbY{aDsZXRX48shBl-8klcK|J3XFXuCi2kInziW7%B{G$F{ zyT7A}yFcEe-+zk)UkP9K%l(>tP5Y}j&$9|TJ?W_5<6d;B zdpH*w=x^=#@7)!{eCg?7j5hwX;W|9mU5wz?=As(=Y7_{Mp0)R{6|Bb(ZrGe4rmVdEf#s z>d96`-yqx-h zPUKgvFYuc96?_qo?ALUj2VU+!;v;kpUY&0VZx^_6uO|J?dhy)psFxx?=U3)CCC;zT z9gVmf=UVuA_}q|xf6ISos)9FhzK;y^G}h_9wfhF#7drjZj-B=sc@5lhTvpw=NzLU;O z*Vd1}62H<}Nhe=#>POH7+Bs6Yg?0lc{%cR*7ADQ?&i<0=-AMO6?=rr05{O;fz{iXgB&lA;omtU3pk2*!21IO=I?0(tu;4|UoQ8~XdevWkBWnPo>t8RYv9roi-anGmxch8I8gUzq%xo@#< z2X>BsKDhq$`K0IHd7tR)6R}^oZ=}-td4abJe1LoZPP}|QFY4O`E`MFrZ}6-7jOXjg z{Wa-}?}Y!<*Xu(63V*8or|z2Wp9^c(B_cc&c2ZR1kfABX(>T*>_+E;Ws`F9)>xcf) z&hhHt4L?M`$oDpQSBLyZ{h|MzSDByk6YVUVgE@|&L%Ura^~v{U#$O!!D|nGl{wyBz zkolwjc78Jd#iuy)YPrAPPJ8)xu43Jl^NDulgBR><3GdD~*EM{{y$8SD*EDpNIO}eK z?~GsQN54|L+Bq-q$cyf+`TqAG&@YK!u_ySfckv;g@fzAmexjc@@iXUF;!QsGRQUP) zO1zkNVUKy#;yE8OWqKZE9!13?K05yXO(9QKab;6qjOTxB_bb@= z({JaxyaY#ofsY36dIB$>9J~{+y81rn0*`%!=OfMdrVjg#aj&WaKH)F%lwZYuSI%c( zXU2>EGybp-${*q>Pg~-|w}no@&xL)t+Ar?u!*Av} zzdv{ZujVJ89(;g@o#Yh_Jn|Xx6X!$NN#51)XVXsdZT+c^^Q6Nc+Qa#$b`Ev?dqC{T z?M`%-e9pDRoBk&ceAF)Uvt=Fdm2v$42q&+r@Qe1;-+z}-_8f-)da8V zFdsr+KKZ~_|90B*`Cvn5h=1SY4X=`Z^O?rs|9*JD#W+61>2D=pDv^(!`xf7y{axllyp8i{bjBYKzq>yWPZsNP z5@$C4>t4TS>H6P^-?+ZgyTVt}+3DK)e7|_R;Ln8bbluan^)=x$UCaBqOWR$keetK- zzv5lt>NVOMsolkVsR{2F{GE6!U0W|cFY3iB_3}5@{o+3BGk>Z>e~cr;IKz4=te46< zGR}{`ob}~;pSN>8K0Bp)3%sxoHrgBF?eN8m@gLkcR>fKG3p=%^5SO-bNj`YQJ#pVB zM<@0p;&aE&<~~)>p|K#At|F9?JGgW=YQT^b*JUZGr^aJ^oc=&-lWH|2f$%__v z=ri9c_>#~0RR^#3i+oT0B91-kZ*`KLRUG}nxD0Xl9sf7=J!iw7?fhgvof&7IXirhU z@S)w%VLm%gn)=`keymgGt$3_cy-Jd{h?2P)!%O(>KAnC?IFJL zPu3ami~VK(s2@5nj-Gxl(eA;uGxDEuKJu^dtTT;E{pglwl#Z{s@eTeEzdQU*9FF(l z%lRzueBRZ>&9BPQY2;UN-laYAJ?|n9Y;U;_+;iq`K6X3x=5hLepjRlj`wpeot_!al z_2Yt<`QCShuZwoQ&-$6#6JN}y%rA*={RHn9^;fv}|5BxPtYqg**H`vj@y5md3%pZi zUIDM^{+90BseW>u%a!oTwfIi;jcajB@p(}%-qm;gy3SZX6?_@D`F<1Yly$T`_mB@> zUY~VlT#9(!9^w)A{>#CQd%QP$zE5%DWG7z5e)r+gFB!i}_SoNYKGXH2 zK6t@@{emBUV;{6%fwO;A?GK$}Pcz<%V}FP5xs!hfw7`9C+ZdN&f6bH0qqKjM|H$9Y z3-hASk39qZWj;XsZ`vcDb2jnj`Pdgn$Go?|AK=ygqHliQ(QoR%!XEkhhj}7@Xs7nW zpW?64VcyF3d~CxPFU;Es9^*(}B;K@#`8n`s=rGUqv;B&FN`I>3yv=yZ|F?Yd_5nZa zWPe=PAM1#HR=@4r@r&;tsuOujdfzGVaz2Z8-{~K`;)m@z`t@nYc7soTUeRf{!}IsD zw12(r-n%RDCG<~8x&JA9uT#(PR9a-{nU*EQjdYs<~`N<8s-fj97x>O0q#JJnCFTf*hVJZ3$cNBO

g;Xr~xg*cR)h8d@*c14(hyAU$b6xo8hyCUuKG4~>hq(3> z+hv}2`qkyr-=aO@^mplp)UNvP@}F}5d4#9);jo{1ZoAWV$-82n*e-sXtgn^w8OLQO zT>X)7`H?RXADa5S=X84Y{qt7Vd&@fD`91jt9>33k&=U9gp#2j6t{o=xN1b?XSWo?W z3-4P>;<@Kz?FMc;jPJA^zu!B5^8R&!4|t1mru)SAkHo#dB^~i~VW0eUb>9W9?k`nN z?8tWZ3q0H9{TcWEjIY%1d|jxoiPyO93Evmj^8#0=Qokq*<+!+Sr~2uAjDO5`_L;aQ z4mZ}5>$({aU!C<~oT=dB(}#G(rI!ac{shkV{YspSc+37`{M@&5zt8=RlVK0%CzXCp z?Yukp4fMBo;RAmq-1QMU&^P?*K9zK;`>gTM_%BXeGJd*W`#Yi&{UV=zt)Ub8RPdH?`!&Ez%0H)eI?r=|c@C>TW1irLhCiGBF^>YD z;=eimT<8a%{aqdV>v>D~SslhjdqRi#so#e4pFC$ef5e|1dpdZzoonCA+TcUHocaa6 z#F;;veob-g(f;7y9i56!lh3}t(CKduukf+mA|HI96M2+;be1~U)4{7c|IqI5800xk zK04d)F9}y?rTnL0&rG=e8VN7jBaS~C?M5Djf2#QZICgvPx5;DP{k`F-4;}NUa`5f< znRI>?`B=gS`B5{!!XD4Bi~QeW7y6rdJ8lP`jtgbOU#{QHI=(7rs$X1R;a56Wc-E2E zQoB##S32JJOPAWSQa?J^BjNHl_)7KS{Q{pCxc4>c^Zj01?xZugZWs5h#;Wc3&Q} zTN3VkYwEBbyY|Z`AL!0!@p3*3yr`4bZ_bM*{G8|5ZrF)_#h%EcQo9*1`uWxl6Z`8` zyBD~2);H)JwbJ0{{HlX@^CjK{i@9En6GVXozf^YqQR5_Aeooh?&nu)j4wY+|T=lkVbHtrkg{?7GE_)gdPKI^@& zCmr!|p))r1Y%;Um3G7kH^eSt@O`~8{k+c@C-=iJHlKE=s@Y zAMrWwzw*&p*b_R$hls20BgB(IoSf?Ly-d6ZUhY5Y>XQdn_(i_^uR6BNxlKnW z{KGs6f2yDIt|88Oj{OQh5QiVxLmpD`L(`t$oqj#ye|GRk{zPYEf49GBp6ky-f2V$s zPkuGPgU@^}`qTb$PNFV=O;=U?Lo?N9AC?Y|wK=d0R3 zB2PH=8-7iE{rrw!?mrzngMZ*69&rPF!JpCYso3^6;S+n>tsNqHk@jaD@oc9$MV+G- zf2Wys2KJO>kNv6%FYt37)h_S}9_Lz|3mLZ~zrxPJxaZ%?dc-GQ75MAFHxy3U$!p@g zi#V{%qdbq|uE?+cRUIlgr;7ZFc^Kc9)cNw<*U%rVFX!)Oy?5gurT9wM;+Bp2%v}PYWOL<^Dyx`lqQw z{!sLT`0LZI{H_lDm0#t5diafTSKo7+hW?WO`@=Whh9AhU>{s~V`Qe8@)nPt3FMST+ zdr-ysO8ztcfSur#=au8DgUes?!7KJp{a}B=oA@V3XE^TKNnW?W&BuJ7Tt9F4;`%xK zKwh+HciFD*nV=tbnitXEqCF{33mp3&jSK5YKXlu@$`4=RPwXu6v9n@l;GTDZ$NGAP z4*0t~Wga+>%EGjZ@v`I4Z%D7 zBHwdG@&9?+)1RInjqe`fo+riM8=@0=*T2EHUGl49-bH+N{l|INt8-s7uXEnw*UdVb zj;G@U-YG}A_CD(^#oGmcCO!GNT=4!@{ObO!_e))m)Su3Ey}(z(ce?iejE}_2_1?D< zZ>H;9zo{RICq5It65smHx~r}a*PG|5?o;L$)DN!LKb`q(+!(iW?fXtcJB%ACJ~#Ov zpZm6P!}i!;j1NVeeSB!Y_=}_C`q|>>SJqP#=X+2C4}IeBa{bBY`#59KO@<*9T)Rwp65>eKs@vBezdbE zesR3iC*K?Bbn)j8$0hs&Uw;n!_4@FQ=My~sP7r;c8_eB>YU zDE+^+$9~ygaq^Sqx)A3aOn+9#1^wdqiZ{lKerabu@5+92T&nG2PuCCnANwbG@L!#F z8|{XlU*k{krT%9J-}HCg&ULvvrT(nq<=|C)U+zB(dm?W+ za4FzZ9oIX4h<1}bO+Gr#hmvspzf-=U{at=-_e$dJcCO=h74XBBpZpf~5C_zmw)>xt zUZr2fJcqoix}ID+AH1)D_Y3|?xc6CJ z)xR%3p3t|QpSsNUb?nIaU)yfE&=DU`^mks=U){IhH_DpspImp>X{z5`uY?!*%*Tl9 ztW)z7-@_^3>&86)l=++Z{vEpUaLRvm_~N0%_wl8UeDV|RtmZi%9-T+{^MmV$$fKS; z#HTvo13v`*;_#dPkw2?(yZmxKjea%vJL0E)2%L89SBwYx-En4Lj&l<1 zjD1rb+6~y@W{!aAGTL$s3fg8{KceEG%bzd$okBKV^C5j-DB8)o=#H;C<$Tm{33t4P`2TYHRp@W5Bk+m-xWQw8-{4K0aTi~2 z;Q#8B`g4ev^I5d}4nO=3zTMxi@(uTQ?3wb>S10t7JxzPk_nIzVjy?9P27Vf-uG8D$ zzh8b!Yx|x*K_{`HXO7JvQ?wE6A_n zT#NDYxnBA1*zNB&n0Lkd?b_qHmU$Qc+2l=4oc+afv(7xP^m{X2gK{&^rt?jlvZQP8 zw+x-co9X(BXZz||)^z`T;@bOuu5w+ppYgx8{eo`RY2YKZyVLbd*VbR*);I3!>HfIy zVm^4k_f_s6@C);_GVdnq!aQO8`ONpqdMxA*;}z=wJmN6>#RT6sci9iv{~zyJDxb{%KN*E~7;WuC_Psz1yVzDf3jdu}_RII9@K5B)udp9}*iXL}cu~jar1lHk z-;r=WRL7V6RzGa}%RFD`1nzl@_N&ADX3mo#{*U-UJH=C;Hf;CV;aB)ooc*qV$NVRc z($0CqUn!4j;_%hk<_YC|8u~Ng6MTuYz6N*`XP*@>;^o-oe3R^xdZ*lw(cHWMC{yx}b+^c*Ht=T_}i~JJ&qt~7PVdudccn_QgY&YQ*yaj%A zu5jZ(oL?c|FY>E+4rm@_p8W5pop^3|cdj>h^IQvjfRFUtaJ)VD#q&hgyUz`c+rD3B zoN<4QaZ3BFymEnCKQHPB_@Zp-+WX2A_wS4Pb%9^;e=PpDw)fP1E%`+|`vq>j<-G8N zxTX9Bzf$&#`!8|V3*Q@x^V0dxzOeXS;(96O4_`6Q(TRA=zO&KUH|Dkb7yQ7m%6!{=raHd#*Z1D_ zv-XV7=`T9deB*ZqAK*>=HMsuQpX3Slx7lC#_RDt5E85kc^6_T{FXA5_{sIpjp0_se zsXg?o;peT+AJM@->JR>Ye4?}UTYG5dQlIhaiSKie4X(b=-}TQ>2mPgv^O?MEfX94( zaqO8HXT220EA+{S2Y%@4Yrp=v9bNMW{no_G`Dp)o13%$C@KYcC>JRzapYw-HK6XaC z^jDpnM~Uy$ZbxToCvn4mW&6iPy9IoxljD+jI={+xKI$*_T;Yvzf9JR3*Y13-L_#W!{*VTUNy4b9bT&@dzxSmoezk}B&?%z+;t9Qlwsqi1$&b;V{_*42<_1?de zzWfgE_2jxxTEEl%UayQZ4=3lQ#`OkXiIe{O=9~EzIQz?H-HH1i`v5P-Th1RAcoTP? zgRdL&pFBaGAx?f}yIY*+bjGEy=YyjsKXAT3HshG~+#UV`Z|+mi!R?oLd8pqLUX7pP z=nU}czMS&RXg9ylOdgV-w{G>x6Q=s|Ip3Su-@zN_R1r_KhkT$rF5)jwe~Y;7l0SFa zjeO&?!`B{h&vUeAs+01WB2Ip#e&iMEV^7u@;7$ASv+Zh+^R_e3^{3~AOMkLnJim2) znSUT=Q9m{;0Ud(LmU{y$9bb& z)@g;`w1<3VUg(r7K7Ppgn10K7(LiU}E_P~97st;X{Yjn>eghxk*e^fh6@HPAko+c2 zy90g~C-0i9qj>L29q{~oaFH)9^DFqCFGYTZAH?Ha>mS$ z#r^NUasMAqxyY+rU;TD)*Sq^^XWlq}tbgBfaevSIv-6R%rF!qP+^OE{0sa(E{*Nu6 zYUiq6e5QVg@AvFS=I8tRg?>r6_sL%u_41nbx&E2wgZWj6qtovZTsO`)ChN$!I$kjk z!58z-e=oSxPB%Wchx{f^ex?3Y=ZW(x^@lnyj=phei`Rq8U*fJu>ghd;I7eTV$5 zg2#S@&Nj}-XIA1_(y)1&$*(0XbHE!Mf{VaKXZS-IJon9n>YUP;KlxG&!_Og z%_r@zI`Q1#>xVkV-SMY`FLb8jy>{2 zAKZ0b&EN3DqTQl@$TJ&wb6vbZKjY62u037;vxBQ2>-Sd=@pe1c{*Gv&Up3)d|Gas~ zpWs8hoR9p-H^AlB3w}xX(9h!J3F>E^{uA*VI>UDH+cciv+Ud~?O88Aaai-~?4)5F* zzl#-l5qO1P6Tj&H^gdMw4;}5yI*z;hOFF-@-TYowgMXD@4bQ1Ouk-xsJNiq$JvkqU z_p;0q9^US}iQm2EPM{U;E5a*m^Wt{KD;??*}oEKl}Bz%jLk5%S%j`QME{lX{niAyEp z&)fYC>MV80TN?bxe?B;T?H}%6tatg<{gM1l{*s^mPCxPu@+>ZJTL`1rr+fAz6{ zFuq}r=MwhIeVI5jz{5`PjehvSb4BK#`G)V&Rrq25GyH~rHE(%+aNBL#^M`}G4kCXb z57a;UVZ3^%-_h~+KL_>{arB-4O+SNo{1*1puKwKm8UNVdA^!5%v+3`)U%x&0#BW7E z{ORCD|6q^5N73{6zB+vUP_>_NnR&eG;V6w9C3yzsScP z?XL;H(y!?E;2--R;pQ#$Yo)xXgZG3taPtGqEET*a{>V7~nHk3(^+(FbTo)zfR|TDn zFV@%9xmM&?bfB|;#rc)v_3y`jjeN=e`dlX7zj7Sk!Z+{o{MLL7|Fpjxo_^TWPwwAo z-}QQcdu_QA-qN+a4n9-;O4sspneWT>KlSx^!mf2uFFr5oH@G~nb9q%ixxZcLi;s)? zo!akSGY=zAC+=2o^OM2+sm%X*JM+nZ2XKK8aps}%ry6hB_c#15pS-9LPl|k=E6LyT zQ$7|r`NKp%aK3L2@X#;kv$V%{#j&TlkD#yr+^>sv;@9cE%=4_OJ)z(3TbSq%_dCzQ z;5XZSe)t`Hiet|P&--S{I_7WsSv!5cmh&sV$BnG-Ig<0u{r!t$r{li06MgOJ;?LmI zZt#;Iruv^9eoglH9+!CdhxdpU{LtroZ(_gsTQM)fKg&GlkEh*@oiSeU7ku+Z|NTMN zo$JegmweD}Q~yi+fSsZLivDVke)#I(CHX(ze}mtgSLA7r{6M}mX*b5D9DVWWyk)$c zw_BV%t{pZrGF*= zDvyeG(|cLf_4pm*%DB6KMSg`no;wxKyWki1LGv#5i|Tp9zo7q|lJ7Z@kNx4`kyrg6 zT;C{-GnB6X?)pvTO4l=8Z?3)H`drFe7x!P`-uF|N1 zoQe3K@TL9iBh`2%&N|Zm&>{Xb;~4A3e@AA54{_|&|I2-ib2fEif5)DIPM2?90ba%F zm;Nl`q^2wR)0Watmb?}dP7k|~t51;LP zW`6oUn0DH3{CkwSU*z-pr|CEBU+~rOy|s@0!~ExW$DXeJ`iJ?iAGUnr?a&YMzdkyJ zehusy|MlSNn0J-e2cNXtm-dU7^BLgt4SaBQwm9oloya%9yY0$H$9}aN`tZZg;`P)|bau)&>~B+_ z{aQP#csU>A>{kE7qu=q{l#e~y*~Q6=Cj2E%el;Aggcrv}96Ni)Y1jT-TiO_su8tN4jrw?Ytf2>CS`AyfO}ZF58*6^LFOV`1+K~^)8zy4Im_lOq!?Ras%G{C1g_ILVK%v;DSCj79UJX1XU$@yMEr>cYB z97pXe$!|OPbKr*|{_^d<=~F5I{rPAeh@F89=>?BU2t`}Mm7WjAdS@SR@MHa!^HFEtj@>1Fuc_kY)N6m_ z8}KXo!Dl|}xA_MBaz3`ZZs7HlVW)ibi~SX6f7hNWe&mb#5y!BnqSJ%_u-%N?Zr1Nv z2R|>y*L@vx;yLN;r#+v~YX1;Ve$Mzrza{zK%fq$9>J`fbJvp zcIHd`9;0za{IgSU94O$P18nD!_-_t>fj99F4&E~Exe)l2&%RlWGsb!N+7t1gJZGX) z%Ef8=ld_SwPhulbmHPA9(#J~{K0i<6 zsQu)<%kdRwyzE!_?USP;f9rp7+U@wwzl&_dlPcbhPK6)qk@;Z1#_jOTm*jWxay|{6 zmT>ts;nA-*?Fe{|fllz*mxuH7g5T9AkJ3L){%IwC|7wWCAGEu~jRW9C{eNipO4{%K zi+m9;>QHfohkt^9^tFHWbFF^Co++O4!y#VIeGUE=r(chBz&n19JPQ3Q+#O}g^PbYl{GaOjs@)%p&*TT~ZBO9iqP}0?>aJAZ&GQ-mh@*^mG2VW2 z)>mb{^xL`iz2BPRhR#7xDS5lq;rPA$*)|Gfs>Dk5A8|$(iSJqPwWZ&`LRcx zCBGhAe$@}ZI`~2-@_~fMK1Dp=@ZFF6-O=uPao^|rzHwvNE^&CE)8xOv{;b1!g6pxn z&%QeR0)MGPJ~P0BPrH?QQ`GT2I_&A%i9ees17Fzh^FDQ&csqRkll>qb{v;n8=okI`$wPZ$e&#&(c6k1~%oG1q@p3-m z`we_>?az4EpEvmI*9H6?|J2*BBAS+~F|&RfR6uunQa zyZa{l!eG6O+nG1M2jcoF;xA9V>#>QyI{0+`inCv@jFT5N@G778e+Kvz|M=*OFLCzS z4nJ`62k|YRc&Ltk@%((E6Z=a!?b_e!e)Rm{(>N^7ezc5}?(gJ{75&)Pi1W*K)uCUu zyTsG;ou2mDPP+G*SNp}jEI<5%|Ls>-znsrTKjRJk z6@2UgkNkmryMPbvA%E!N#5eO3*HL#}{NdzRlJ;! zc%1({f!l8A6KAx4sGs^<#IZ*^bGyUwGGD@;3SJZ5z+1w%`$)>8oX_#z6#507IM)Kd z(vjah*CJ0Iw7XK?HOZq&;HQC29_8~n&6(nSpAlc+`TWYfD4y$cgWs1T?|RnmYs{b8 zU(R(QK9slTdfrYs@T>dvO#8X(-FnNBc;c3e`k8oMTi;Xt{)Ml#!*<6-`~3p2L2ZJy=(1p-$!R=oOLSR928ei*t@N zjsNcBP*{*tWZ@YmruX^UQ-qnw| znev&8s~>p5F8ixJNvDcqzdB7k@pB%fof(hu>e!*aw)iKl{P5}ML|%lB{J@$2;w$YJO?$-oo+w`3cZl;He(Xo= zQ}Ty=^Ar0ee%F35Ki=!u;+#_r^ef}#zi+b9De_+&os#YO@ZgX5>HMLpL;SH_SO0-zBTc?hdM)?d~BjK#dAKOf0!rgclp>e(CPB|UNBR? z{M}Cdu;Kgr4+XyCBEN$-^{s}W@5>u| zhW3Lm{7}_N@255K7pGnQKU^2&C(UuWVRt#7M!O~PxBd@4_rZ_&kmsR%@*MSpUye?- zUHRyQ{cmV5;gSE)ugQ2-?Z*!t{jCo6M8Cw*U-UQfqQVEAz>_^WFH*m%pLB{iI`Xe{ z-r>g|-Enb0K)-^=J^}7L9O?W@yd)j)pWhN9?aV~?__>-=ItVW z`u$)!pKoWr_`5w5odNE7)CQ0ENj|f{w|w@sM>^of!!944hE5ZQuYTCWbFqlG#zXcC z<6-OzAGY$tNB)-2x{zPoUx)+ZvG06vbi}*-q(8;sYkw7IU3dK{PX1Gk!{RxwNVxjT ze%)Qz>G#2`|GjU1_zZCOWzU7S<7>N&OM_p`E7E)j|6u<_C;aeHyKh(h!0}siUaQZ! zlXhHi9D9yPFEee)@Yg7ajXsomY&@)*f-zQTR=qb+qj74Z9N_ z>z)0y*f06zeAJJ)0Y2adj{cnYZef8#=5b`_g3CfxbC>Q|C;YR&+Co(@W)fSzJ@r@FJirjd*0%D6n}AacE;HsJNPut@SLl; z9@Rl#eiLVZztV5`ts5slJoXshrZ{m!ogrS%M_j-8@6U=C_bKus^<)1+zdMfdiO=d( zarQ6yUHmu4{+)F=x9RvT`b&Ih@S8fsL-DXP^*7p0&mWgMA3d}uaK?A(fBEFY;zgW% zY-T&_(HEcc^&9-aIgi>2_um(2td~K)vHpDYD}3?6`I6%@%!@vU@B9RpU(l(T7`%tH&W4x`{S-}1GrN(2kBhv3ZL-vIhg#MUlsK|zhb=H?~2bWiF>i%d47eT#dCgD$h#Wr)4Z#bU*+e6 zSNYX6E_{Q3K0Kx0e{6Sseeg=V_3gRd#EH&&T$HZQd4WHwXP#wzfY+oe@0Tj)Mf)q^ z`T8mQGQXo&ldd}D0=Irr-zc4*lW{VRR_15yzbVeQ+ZkVfhoKm^U0J`+;FN<%d3bp!RJ2pT;HHWn2dBh7R*bJHrp39ebSr-E*7Q2j7mP@h|035&yn8 z{LXqZUi!PH6MMS(66aBq^(B9pztOIF*ZL>yM8|bn_`bVc$JiOqF~F-h`cr-9!z=oW zJ=Jkxo;2G9_kFE_{?Kn<9i5@y952Svc856gNBtOI_Q6WKRX+P&(Vp9B&%Z-l_Dej? z&xj}Gd~7%30C=>k4!G@R9owC68q8CwUvJ>#`RWIseqG_VJ3{|7v*~Y7xc0OQyu2qq z(2qRoG#mf^VB|{)Z{|_p6`hiB*Ii5b)n*>%Jn9k7Jn7o`T{|s0PryT;_}S18{O;V> zJl9g^s1@^>=JP@DnV%2RZsb@0a&*nR%&(ex6!SB$^YY=jZ@J!x7xDLE#F5E3>Tlyf zGY(OTuXKHdXI^uir~7-lR`2I3*L$}2zPu|tJMGkq_R0mW-lV=!PUo}npK)EzH{x6T zeFO8h-k3k^JF$+$KRNZ{+jZ^x8|Va19Bvo5>nPeqXTo3VlW)imee$RUe`x2kV`l^J z;>`aI9&w(1-1s?-|Id%kfZxR78$V zUgZDg*r`3iC;#l3kDV>!ukV9ekyBjoVfKygK$2^cVR_`SKyY#fg88%Vr&ozZ`yy@7r^|$crlWM1J+vsdqg# z^!;5d@r|9!JPkX={hf!ZpY7KlAKKr{sBwI`xxwoBVP<+MjWCdg5zO6(=v!o`^Gdt^Dv=`sdBL_V<_6 z3I2aN_1e?rdk&`k;y;Lg|9PZS+C8p4Bk`~F#cSes?eFLw_4uB+6F%UNgg5O^cmZEO zGLIVUQ$8=l%;Ng>`AWQJ4nNMR7{}?pmd>xtqn77aG$5Yyt3iIXSm%!WetZ1rI`_QJ z^QK~c#e8u6dp;h2mu;Nl`&D^$bQ|%-anv81eW6eqj~3UHa;H*Uo~677e_Y%r@8>R8 zYCm7w{uOThQ{|+cp4#)idVyO%sBe_Zd23$GxOV2@yfLoibL0E>xX>p^!+03AKLR@4u506@vnS!@MXVP zFTQ^<^e6E(-s5n5<>&kgzxn$Q`nj0D(XRbk;>LB_9qRn{p`G^E_rx~*(EsCwe?9}J zzeWF~brgOshp*q7eD<|UyD?rb9@@EXwCB8~-6_sGYUso~AwSVSO@846emt8e->QFZsODGfi;nwX{d>Nwd;#}+k$IQ-(lC$u;IuPcKb~K`I(R3J zI9?5ZZ03pcr5Sf9SGtz}R5^d-{ZHxtwe?Tgv;M|@YKQv$LZ@Ef`Thd0F#i|h=D0TI zTfd!gZR`t!c|KjIpP%}e=i=^nt_yL_CDf_n?91v5aq_N}+r7%KJ~{SGqETX z&b8l*mwpguU3cQxbRVzhzF~Y5XI-ch@gIJJANvdEMK$Z-pOX3HV*@*f?cN=GmO8G> zbRIRt@q_mCr*Q1CUqwFss`^>{8U6u}{XOMxOFs74-{=={+j(2e-;zDSN59docKUm^ zQ-7L=Ts-e9pW#n*ru;voev#*_Zw}tkH(thj8RGDLZrIUp_Ukq6!Y`~x-(w%F*GZgK zf5SHq^u7A2AGDu-4e+7=S-%B5<|lckxc>BgD)pN>%m@9v#90>=J3}9Q+3xN1zucX2 zgD-LNw1rNLJMF3y>$>oP-_!w?UlOjJ@A&Qhj)^@H_kMM7?d)&Pwfk(*PVsW;)z3Oz z|Hx1Czq{Vky55Jemsdx(6Bic#wBN?b=Kjw(EwBH|()$MYd7aDsSL*&){!I2{ zz4e4WPt~hGE_C_@zQMh(cy0c}xK-mK^R3>_xcc1KylAoRjOWhtSnuRTu8ZM1Wgj$O zYU1$K34S^UTk_L6Pv#rnD)#%_E#jN_ho^t?i*bxNAio7(?mvTdz0@HtiBIuo?eLxN z>UfT4d=ST;4nM}@#nEZTANlS(;8Q%Erv;8Z4gJ_3(cj>)Ka%%4Z@T#a&)wA7&YSz* zet-IhJz+oi)=v4vRq?I;_rS0N9{z$K_LHa8)UJPryT!@J#@7$+9N-09{c5||S!lOwXQN-N_ZXLS-YehV z*;v@4zWM6VPW^-a1RvsQo-fCRai97}yqwPl-?wA8=gInK$p7fn>xUx0KE#{2`?dOS z4zKWO+Aklxg7*u2s)N4#z*F85ag2FxyBY7!E8AsVtKV%Go$y28rvrojx-ZkM$Ik(= zQ=Q<`uYwimpaedy`dF5w|1tu7drLuZFgrK>@4n&A058y zHTF&X+~LQ*On)nQRR=q@KlJa8{(v9)FAjdCum7j^^Zk122l3>GsXgrbw(IjUpVKw% zH*ZP#WK#z_U03EI<|o=C-+XMMZ@cB69`;w<_phq+)^=awH}DP~c^Y`pe%9#*4?D@9 zwP(Qhd2T081kSl%*M99mzk@Z|K;s{-%}x=SO>5!owbM^zB#VKZvPQeAZ)iT+(^eRUTE?kMg-w2lu>2-&Of3kGjgQs^?VSH6`v# z`TovSRKg$M%0H#~RlJu>e;4^x^SL4ZF^^j2SNK^x@~h{x!}ln0|9wx-uk^F;A#B!Z ztXJlramjkiE8O~ZkzZWl-uH8t9lNgVxWcvTsy^fS+WW_aU##!c7fR=6&aYy=-5783 z@y&d$;-8=TSV!XIGxC?~Jv|4U;{W(iCvfs8*RSn5-wN|c+U8mE?Y`kjyW4i%kI;9&F04m&raE^=XKTMW`CHd- z?vI@FjEwXAuAvkCwOw)dclUAU8F9kDGu576i8oarWPy z?DX$+)S2WJ#q%8ffc+)qlaZe=uUt8RiJ&u3>`Ci+|c*AMX}{?) zB(5*?)zSYo`xE;s{9?Q0lUqCWC+B-jzWsW6?98}+?(k#0%K23Am=EqdwtG9eKF1Gz z=MVdrejf6VeChOezd;9lfRDgW{Q_U&th=K9H*~O5dxBq1z4ml<%K50@60UyW=*usO z-?4L=&!BI+ResWmyyyxijy3eF`tS#M7so#pJkF!!U*taxyrsNoUF1LGkK@+7-9#)E7$UZDZUb{xNSmacr26yRL6%9{Bg#3w{CjdE5jau6Ob)@h;B3rcU7P zw9{Shw)^tn3w$RX<3Qja9{w~ApyPXn#U??hoo|zQ z%7L#2{$it9JlSlcb=&4d-%iksy%-?`r;dV{GFW6_%`iSAA5H4Lseh?=SN>Z zckwU4^Za35+plK7%K11h({{n9{<$@fQ+Dlq1J3-H-*4dMd^Y@fftL$>ssFs)3oUiT zpB+5LCF#g-^6ypN{Z30wxH`dizs8?iKK;Go+isChyN~$fKSMvWFH3)fV~^``c<$s4 z=&ZooeNAIsyl=i#;phD461QFRDB{>qM|+5?SNWB=&((bHJk9IOuk;)FRh(1dpW^dD z_eJ)L{`UBzh+}61AKy@KJO}r8SbTobjcevtFVB6RUzzus4{p~lWp{mYZT(C<@m#KS zpY`(sxBllYJMFJz$GpI^J^4QCGoG*IjnuBVrS%QoWPUns5f@!A#>2my@eTg%T$^8Q z`QV--i5GFs0mP^AfqlFh2gIFM;1PckKIDIV?CP#Z@edBZ)z=>K6X)X=XZ|8-MhheDDH4?0IqYTGmPL zI~DiMyTjjp@3URh2$Iiw4 z9O(P}t7Ln~6XeHwz)tNq-|$>WJH-p_R{g2pv=cn?pN2p6gM4u9sp9Bd+27F_@?96X zUDloPV5B_Cah&Rqr`g{}<3hV(XE`7F`X4ynyY9DkAoj|=q{@+HXao#+KithSK=TQ~>z4IvB^?V6^?HTIhhaz9xI80p1 z?G|zM;fu%b$AM4stHJ(fK32)E;+%@{-F~0+{VVVxZocF=it~Pe`PF0{#@`jTGcM}K z_|gyK-XJbI|0>tkcdjkPbGg!e){hI^`k%Y(w7-%a^8(NI!fXutdq zu`A=m=LH`2+#P-)j*T1Ftcz;g6F2^V7vntq30}ohp0<;Y?Y_gy{ikJ}1IOQS2j4hA zzrudvvwrKgYrirdT>pgqwcWS8u&24t;^&Uew7*Gb%TLesiu?FS=%cgM!Tv|>esK6z z|EvFx2QSQPnQTN-yeKpPnXYoN<~~dng2uk<)`j{BuQu?Z4*6lBU)^>YNBLnV=Xevp*{|{%f1>VQx9 zTRi1;!8aeUUHR<4L;v)K@+rFZCwyi;I`VTKwTb8XoN5^7Qyvw3aqJJid5+eqV?G1! z_p*2ANT=coZ|Fq6M8D)m-i3biJW6}?bIz~Oso;@c89&LdO3JV1+jielevdu!sBcca z&jCAmR58DDUYTG089wv2u%6?0v4~3zerMeC`&X_H=W%nrP%cV&JJowF&uhzZ!MFbB zE_>=nZf`wdpY=2GGVb+Gyq>Oe{iI%AtP94iGOo_sh^zm4#(%nAZs*#6Po%J}2Y7jP z>ctzld69U;x0i=sjT^?9c7bzF(&0xOdv^FO>wwFTcJB^AL?UIxoCGWzS*9ozWW++VB?3F zC&Z0tSH5vfzWe^K+kMZP`-?dG#rZ1!{2_mH}Il9O4eV!W@ z>}=vMp0Ee|C+o`juRW3fm>1#yuKq_y-*$&OpFZr@(Ed*jUL7y-4-fA84Zk@q`p0(h z^8_E_#qs~ZKcP=v-S9)$ney#*JNCtU>F5;o;dk&@7s>xIZ=L7xtNN^$MZY2r zl=IR4alwx`17Dr?rh%NI(ryp@)XOh{AAW;B#92qvap~uNfB)eMFZNd*@;doL9rR

o9CzlKE8X{?#lTO{42bf7ya8qopPmPzGS=D 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

-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℘`Ma+|E1b)0nWV|YFyy19O|L5&Uz&9@Pd06QC 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ª(o zZzbvI2dX%B4)|fuvu)SKe7G1#^YBi+m-T+M`4hZ|(?9C3@H6H9=+ryJ$tz~Yo&St` zGtb#F@%I854}JNxcRGK}i&!sR{m4(+eGM_+)Oz!G?AANfx4k(Z zV?K9r^EcMfVjsZogXx}9+#m2ecI=Ei%J10Gxrlp3{I1D>EH z_)7fDd)w!e`YhL>{(iu(bie18pkgv?)_J~?s)}ol!f)~cfAjaUA0QJ~!E3=WX(n z75mL|mi|yY#rGv%_8~voMZJx6&~Dpqzw3}+5^j7M32)dF`eh#-JalN6^@a}prp|cT zwgCKzPQ8KSube*x2HE>Xdzij`Ih9WxbI<)UDH9o{kFiP z-cqT4e^PIZZ<_ys6Cay)Iv=p7fX8|)`*2*MUgm@K zc6CxdS#H~IKsE z!5;Tze1CV5FD>_@7zF5wr~YIxe;4y|aqe}?DerJyUM|-g^7H+F z?0K#?pQ}5bux}o&pKx^>_lWC-*5dMnwGBe+K=sa2gqiu4g5Drt{4A{KQ*N+~2vLdExJ# zxWA?Au1E8$YToSg4)ewD>s%M*#(Ma6m&5gruRmmwhaBE^*drq2G(~+Vzb=P(U z+9S?7wLdTC75#9@zi~h9ni+R}(Qn}gv_JPV^GClC>xKMh+5g(PtuK%9ZC6uY`6b@r(uk78VkaWCyt#q-IxyMFge zCvnm5j|=_Ro9%1ZeGx|nWu+89mFqQmCF#%Cyzf-+ z>*DoL&q{bt=U&hFOuUP8`JU%;9(elGk#yy&v(ok9d}cmY#?k#)^Ktim7waYbHhFhr zosQd{PlNZ;;zgYKHQ-nA-|zce?^8d<{9N$E@3|jqz4|fsN#qal^gMWpSL)6FlX$0} zEZT#A6R+ZB9|N7RKjA|@eyr!XKz=3OZ*422{hz?^_I3I7w$I~zmi=sd%RcP?70;U+ zw_Pjo`=fZV`A3{~<^HM8Kl=fD#KV5@miq_Xc@q73*Y2+j^oP%#Uv2yX4?oSkUFe4& z{e1J6<9OTWkA7D+*NoYHKU2Jp{vnPG?CJVr#$Ed_@qc*Ot|iXjXG8p;4|UcQ`CW9wNpO!J0E812l0_``?;u7_A%)H=r{01y_fv=+x->wgU|Y^Sx5UF zU+tlv9mjFoy1u8L@GtrJft7LUy;yfe{=Jny{hf$-%8MF!P~O=kj{OFU~E!?)k4)x~`KwE1hTiyxtOTrt^z)`JU%;p6>c;GSQc7uJi<4V`?eQclL-`EhyOyqovllXaxui+Qa+{?PZ>uHU7f{BqA<*Kgo2 znCIwp{ndvX9~po45FhgIHm<)~PvQ9Ch5nRZ_91>HT>WCZ;Ggh@|E%(fzlHHEx3(4P zE@Pd^2X}mnan`?2ah%0}i=Oo+`?V+fZP#90=hJ$LYYRJLyo_JkFF)z@gm>&5H|)FH zWz|mk#u4x-AO9wQiGQ?pI{aooyx6$&C+w%+?1#W<*HlM)%0A@R)SumTDIfa_?F~E0 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 tCzTI*lzkg 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�sRPjv97!H<0{@I`$!c-{jpgE}Yn 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/119_100.jpg b/examples/data/Fruit360/apple/119_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cacae9d1663220e3f82b830c28b28a01ee593852 GIT binary patch literal 4672 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/11_100.jpg b/examples/data/Fruit360/apple/11_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a7f13369fd0c9617de91d72272c1692ec28e687 GIT binary patch literal 4774 zcmbW2c{J2t+{eER#+Ef%GZlWaCCU23gkKni?E5-N5~E~aMuaROLI~M@iiGUKV8#p~ zm5@Qk$iB^>F*0Tz{eI^>&p*#|&htE}+5TFdG{?7dr>%Z#(XBb8&M2 z9{euy?^0$~5Qvo%%m)4^<^L2IJpeyDa1*!*Vmb#f^D}|?nHU%Va;%f}A9=@O|1~CN z5DP0C_*e$laY8fSv3wBdSTyUg;^XY-<9UFEpH<+jiawj5r6>5@y_1(7J}qUJGHB=( zvieMtR`t3c$H93@SVUAz<`3EPa`Kne)HO7R;@QCUWJz%`L5M?Hzq+Og|Pk zF!nv4i+oSkJ1k3FupbJ?{ygyY!I#q`}kDhF%USRV$K^*Zt3&r=%~>%aDJg{X_P@ z1B?5Ak^Lvwe{tafZV=P);eq%8C~!n8OF7S!4@z6c$4#9^njY*^iWorL6Z$BmQR6Wf zUATT&$4~v@kY7uaD>agI7|k87y(ibFFKHv^<(Nn?P>X6MThKY<4{f8&TDr#cL~j35 zeyH@9Wl2*X3a>%ZTJ9@q(e2X^H&2^{2x&jS zr>^a})zr8>J`$e@p5;YP++qM2?UBkS^=F+TrzWHaS2R>WYRe4ZB=oMu6r9l2+%<<` z02#$XpW*L$DWM(X#IqE5hJuHavClUT!elj)**#n;_$rAgWv#dw4**D(O6P7Q3EW7NsH5eD$| z*DY`_%{GF+=&n_2#FP;OD0F{%B(6a_g`ji5g$5h5DT^e|4;-vK)j=hPOI=lH2G9iQ zDG{Q^jP@6RvC7=DzW68aTpV35v;vM^fuauH4|`c8{SKtbcG+q*>|f<}20wn}9sAy1 zgoHIDSr$(r6ul46hrnh-aVl;PZL_l?Z}RqatdMo?AS}pg{b7byDf=o;2RK^(QR>PZ ze>Ws7j{IPg3m2jEb13?oVzXvN5H`%#E5dHN=Hf>vCtZmqOBTl=xzxPL!f1%Z+INYs ziijmo>cNex=^H;C=56H9_GW~cmob*rf+pq5%9TtHHX=gwkH-4&1p(AP647b{wY zSNDbEa$d;ZK;%sXRW9U3u_$SxI!cDjJn>O@Tu1b+tC1v3oT(e9e&ziY93&XhJsjkI z8_sPOkz#7PLjCY;*)%}a?so7=%j;Qc*2V2Oh$(I7xMCx+*9MF}t;YZ;!ACFDFxeQM zTH(i0`gfo^jDjFMle|8Z!sRst!H zBQN(A8M=)X+IBsxkkJ=OBNw-g#3;cghE)RY&xOR)CY2jG%=z1!%v~Kb%PVVnd|G0VN{$QzR95{T2^W!->|Rz_a-Rr4!x&s|vk`f5Su z{n3LX-i#<$pZm2+y;}IGKpvI7I$g5hv|&)YjHvXYQo z8%SR9i;3>iCM|Xj@pO&gelNG{H}nQ6xgzJGkL|zAiyJR%%}7b_DNqsEVp(bsaT+Qf zCWr|wFt4ecQR+`Gg{!1H+_cX8fX)nZAIqSLAHO23rAVrrY@c67JOdEl_CG_dC9G@G z=QLg9XVaOmjpyo# zNWB{Ta*cc~NJPtVbBIa$ZkLGAC^+q*yG4BUMvO4#x%M5G&raosK4tChaV4i{GUVlX z*(5#HFafGXMOdM6{EdbOfroZ~ao@;Uxc{PtXSl-BEuWmUI7d6>Of;KJL;3MiuL^Gv zNBe$VKb1LzP?5o36@;O(Knf=Iv3gs)YP%)9?@j#c@&#s7pADGcK++80x@`#_j1fki zqN`D>h}V1*Kk7!hy#IP4Gjs3uBgQPSJ@jt1#{0p@Mt=5bLALXGhpRc6Y9yu)`Q+56Hoxj!kFWWl8^f9CDIahR5 zaZbMkVJ)A)iAsctrg7(Nfm6FDS>=s)>Nv(O+kAaXY-|JF4XAq*!?~=sQqbKPq?8(- z$1^0h$>}V8zK&NB7wxoJJ~%8pOw4XbBBvubR$4Zze1{}fP9CHI0K`k-hcaH+{_}Rz z`eQ1UaI!thWOBa5tlf7jh2@q=0DXK{7JI^cx6g_TSMVjc0Ib3ic*wHXKu$Uo>G`Eoq5o6Ug@Er% zI-P0VP9@Ko))cJ;n;n(pZB z3u>pH*w(cinuUS06JhPAH_={e zN(xXY2X9EVLs9YF)Qle*(Oo-p}PljRdw4`Zs ztCgBPeLUyudJx~-DZNJ(F|1Ky?IfQ*h|qejwoS*zqyS+C5 zS(hY2YQ7Q@Uh)bh5XGW*nr20oMe9aT%$NT@;AMmTce9MY3BqeGSt2upv zq&f(Q9qjkIDbNSWk3!XlhgjYfk(0H!;`D#*L_|yybgsqKBn``tMb8oUXkySRDpI6T z5>jP%VY4@S)sZe&yj>ag?zFajNDlmVMUM;dEj1pOt|U=O%2sH52CWP;e%vjkmmhvF z=$_U&JLxu$kcF3Y_o5(e27sG>a&8I{|MKZG5$twhhNZijQI5rTFq*ph<5sy+lSn2oSI>{!ZMX8 z!|G|*e#QH)u!a}8%+Tli+iu3h_Af9;bh`fb_l|9W^-4F`GsH|6Y{hSsW?PF!o-I&t zAOIfKp}M0B?(q1sgUrV3F1}X2-ASs|rZ$b5nkNRpwL#jo1L0HSJSsgS0e8lD6(U}N z{*E?BqJ@UmtfQuF+oTff-uCGSL-~l@&OtXX%`_z~iY(XK&9(2gR%&XnG*mXU6zpvM zX>z0S&sae8N5S5_c;oI&aOn9vF*6LHw{wnUJojj>)qX?vHO-qmiP5z-?rfnZAuB7J zYqPX%jDQyI!0MM!jiH&gOXnI_0PpMiejY@RsnFn+nb&ae2d=?TYe z-hzx#!yncv&UPlXGIgeG^oaNP*H z?Ay4VrN!A3d*A4iS&ZB|UCLG2);ZNL8J6%hN0ueD7k4*fU~(@t)Y~uGPv*(YSz^AJ z){Q-H&p4=*doqONF#1h>nPNfB2V;b+F5U)!s5L+s4CSyhgw4va51rb%cq)!k-7=mEI^ZGA8*Sx{aGof+nHd~(Zb1R6v1n` zw^ye%9%U9<^ST27PQ|k!R^z6 zl;1z^>3=%OS)3DL(3(bro&Gq6V2QNi(_8wE`PfJCTTeE6AMtD0i4&P37C z4@7b7k7Xr?ei><$4!J*?Riq7Py(2L#x+$+4aLGV#rLGA|c*Fom7DaH%(NR~F5~0i3 z`~}tiO1mq(zcr=Jra2)#T)#lWZ0j47h-Yko-(p{vd6UsEc8ajtHm?o%9@jBE=&{;W&}< zNYXXqc|}E{PS$X{>&BsD9(Ux5zIs%;cB2y{V6`JSH@m90($_9<+G*OL!P&W&&xH8I zhV`mt-zxwB1Dx{xLilhH?4b88f>_swVxrw8@l=w~M4u#&@yq^BGw4X4z}Q4^Ij<2o z)A&rvD!WztY6=j8&4$%nG`Gxp=2`$PvY^UW(F7H6bM^a}beq;#(VlilrVAK(NmEmp((8%DMrTx&k7om)ssW#NBLLPCx1mBy~&-V zXw)m#&ls%PEB)bu>#-IrIm&c5lAe(( z-+aVrIovWfv3bD3cNNqeMUg#MCAVvJm@&5F&hIzxD<6iL?f$a9_P%7ecBxgZY1lQM z;F)|{b=6jud@}xSn15-E3q^DZ3Go;n`iYs z)@>Kpj5Ocm+S_HJ;1F^&qTSkXZ5Sz{8CEUWv5eIy@v1 zLh{MjI( zreaQO$ZBOF*j=9C0$2y2wV^k9KJbr2l%A87bZiRJ7=S7%L|<_ydTfyRp7;35vP4Cb zGy3f$`AGIj0nJ<^Mihl>e>z_a$#PEq5tu9>pVruT=@sbpIn+x;YzfIHZ)0kHR>U>t zGqlP6ar3NafWsqFSB1Krk>Z6TP#-6);7^mbG!$|?`L3YFANGe-3q-C&jo)j!RvSnSusHAP=$YJct(8W(w`AT{vX%GP`2 TOj(M2GUxfS*#F6)jH&+scMlyB literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/120_100.jpg b/examples/data/Fruit360/apple/120_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f676ff47aacf4775ce3590ac3195797f0398ca7d GIT binary patch literal 4751 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 E0FaZ|ga7~l literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/122_100.jpg b/examples/data/Fruit360/apple/122_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a32024dc45f4d219d4c37763816ec0a04e425d5 GIT binary patch literal 4707 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 WYql~36<(eFf%%1tEKCP8=KcfY?9+k( literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/123_100.jpg b/examples/data/Fruit360/apple/123_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f1efd59c3efdd2de536d99b0540069a5341bbc8 GIT binary patch literal 4717 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 g1V8@S~}^@-|9*4V#R?I2OUrT2mNmQTL1t6 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/124_100.jpg b/examples/data/Fruit360/apple/124_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df313539cecd3c462b0460bf90c3ba5af5297c4b GIT binary patch literal 4661 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 U3BQe(>SvIA8}UCm^mO7s07?@40{{R3 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/125_100.jpg b/examples/data/Fruit360/apple/125_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae83255bbbd0989c3809c8caeb3968c67b001c2e GIT binary patch literal 4629 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/127_100.jpg b/examples/data/Fruit360/apple/127_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c99075c4a93f280e9c7543a1d574c04bed40f14 GIT binary patch literal 4588 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/128_100.jpg b/examples/data/Fruit360/apple/128_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0213ae80a9a90afb94d56853eb4f6325ec7e503 GIT binary patch literal 4643 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/131_100.jpg b/examples/data/Fruit360/apple/131_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76aff8032b47fc3f3fd8cb55470348be4b65c3c9 GIT binary patch literal 4692 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 mJY?~-(hRC7=S<{FTbig)9bL^3*5S2GZ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/134_100.jpg b/examples/data/Fruit360/apple/134_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1bc291ac36804a5c708f9a619ee1081eb19b21a4 GIT binary patch literal 4670 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/135_100.jpg b/examples/data/Fruit360/apple/135_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..893e7087b055f6b6941b9dba1bf48ea532b124e8 GIT binary patch literal 4651 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 iE*yr1awT~QR zXjw=FN703vGhV6&>hQJD6RjH5n-g*5V?MRAbLux{LQYlDIrdg672U%SqWMjNlz#m@4+ zin5-;<#>L?pQIs{CKX0Sj?WP?dpnT%4K5T8qHtYN$#mN?gdlEy7%`f<8rn^!z1B6d zaH23?pg&?J^-d3bA#WlrFavokspGoxoDLm8wi}I$;vv`c=`?;!Eqv6(tEFXKX-AqS z@`k!5(Y}k$kR$*rm|uZ}Mar40C$Dw2u}7|M15}`ar>goVk>SWZ%VYV|W?AN{sCUj6 z*;|_IhxM#hZZZ(W8IumE}?% z*xV-iio?I;zF@{Gdh@hAZL%YgNI`?%UbKeX#+;XNmhTc60KgXzdgsGPo3Q>|!pu=v Y12$Qu2c_q>vUBIQG6eo7M^I<}16&C6QUCw| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/138_100.jpg b/examples/data/Fruit360/apple/138_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f6daa974dfdc623116f68b6b94d42da7b28acb0 GIT binary patch literal 4679 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 K{7(*{{`?O;xgW6r literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/140_100.jpg b/examples/data/Fruit360/apple/140_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d08dba1578aac331e3c2b364b57df8a2a8c6148 GIT binary patch literal 4706 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 HJDm6rop1@4 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/141_100.jpg b/examples/data/Fruit360/apple/141_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..508c791a5509ac851a8183c58fbc04ef7f6c0054 GIT binary patch literal 4700 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/142_100.jpg b/examples/data/Fruit360/apple/142_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2740085f6b8f4565c3a9df214772d403ea9fbebf GIT binary patch literal 4728 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/143_100.jpg b/examples/data/Fruit360/apple/143_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..811fd3accb6e19e9eeed9b3b51eed9a941203ab8 GIT binary patch literal 4707 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 G?0*1DDGLGs literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/144_100.jpg b/examples/data/Fruit360/apple/144_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37b05c088fbee4321638e2163b7dc7114a914d6e GIT binary patch literal 4719 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/145_100.jpg b/examples/data/Fruit360/apple/145_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb673dc9466b65eaafdb49890a51698f8b169c4f GIT binary patch literal 4677 zcmbW4cTf|1w8s}h5<1e9j!JJzQHlb&pmYHNA=0IZG?Cs3QUxMN6GapOkxnksYv@%# z0Yz#k5~FrG{hd8?_TE|QGPb&9Z3Dk;Yv<Nb zNN8AiL}Wr@QgX_p)U@oJ+`Omx&z={Ql)fo@TV7FF^{%0@skx=Kt-Y^*U~p)7WOQtL zX7S;&A)W1fVb)g$=Vd|b>40M!T& z>nk|KBp}?;iRi_E;-^dDIgScE9u0{Fd?`}1@^L{(f-^YU>ja3OJOO&msA^;JWa6{W znp&)^>&wx63C3ZTL8)xb%U?q!I}3iVIO{AHP*YYmy9ENA+)Qr;=c#u$goYl#5iyzD z=ERocI&GHN!6I-7EW=qy(?mEqzr5~?LO+N0(OPT93h%eciHE~xMymq*D0)P%6MFRp zRShp$M4(43?DbGZnrC%>`ckY>y>FN0Snsp3^~)i-=Y;0=QwT5CopB0;Dk8@2xI|kn zymTOpjegV*mKtK@8H$uyOgN|MrjF9;n6a5i)U_HrxLAltipX9!B%Ac9r5>sy80)#- zsQ5h>?(9-|hKe*!-?>qE3D{f4g&gDY^xrJzP z0wh#58t&pc)yN*vBCTASA9TBA@fBA5<}W5*g|jn?eeE0IKzJYE=ey5vmUcQ9{VoDO zfAG{lUv(*BE`)mHIA8n(;QIIzH_D4W0U8W&KIE&^xfO`$DYU15TBLJo<0cca>|HA) zN-}2AGCXq%^yCfh0Xx+A;HkQ>+^ngQqo|7X*o6t(bUhv`&~s85!K%j@tVt_a6Vi)y zxfnV9={03X$4P|vO^qfnu*4t1=_aDoO_hX&PUpc>j!Rxaj*B}p;|x-4>PVb!q&x9ab}s*NQb8qqc*m=dh#(<( ziGn3#9^B9IkdYc;#LfCE*KZDczFRdUV{KJBh3>dDYizAFMeCkBZ4}zFSgy<|(XCRzrWj)7yB-aM~SJt(qA$4bpC$k^p&icI-xir z;S{7mhJxRv+Fyo`v8%ozfvWpcpWBW-?UVPd)b<2F>3PLHfvUmH$u0Wx*6)Cc`4*EKL_!glYS51H{4iu2p<~2=2+*p6f-`4SG zt;wnYJegku5HoP})|!2XR|s0MHTZ_K$4*9G10l@1W46--fvA|=)7)1XnO2e?DEyl9 zxy_l0^!D?R3eSVM386RNrEN_aoS}wJ_U9 zu6l31**KAOd~lFhv2&T9k8|Tt3BIWQJD0tRL5fqG`sjq8ai^P+qll`Sc*U4?NUR%^$T%o(?{<)!iactdx5_KPj0HB{*PtDIy0i{)?E$Z>gGiF z<$mRgS%EL572nhpyqi(yWcaT_-$tGQvi)7TiIR=}iSMBIN)$GcZJ^ha$}v}Mgl9I# za-5d=%G~xf7wXnTDz%E`>;Aeg$QwE17{uQq7=P>|;`_HIyR3R0zu`jRFO=@34F%t5 zcI~jYGqB<*l3D|m`IxK_%}y(UFx%*}$2G8f_I`4<_!A&)ueMR)%KGOB0XF$zhO7!{ zq!PBPcPMCrm-5?wu|MEcw(k7)gIRbPe-rn5S#mmGpZ82JvWLj#LpI{Es}| zmya{kFEiHE;65a#@jNG1W%STFYdAWOzfCd<5HSp9PZ8%F*3SF2M>#XRio^6{7G*aE zpI%|Gu@O<2Dd}v;J_9(IHj4ky50`YDpHwNF+tPpc(%%CxdScXuVUeq1|)|#wXFxT%??Ij82 zJW}eB0@Z;dLWa}I=oFA`hUttwVsbeX7U{Qj6r*yLD`MVvw3Fc(J8k;!$vZCF=E45q zpMUnrJ-Q%&S=v9W?)Pco9vSM+5;$<>0s&G~wK5vwSI%M`yw0O>(>q2V%ioxJMaCsV z=K=I+=}D`m->`Y)=HW|&5nJLocgpYBosqq)tYP!d&1GyE#(A!#)t?;s>~@Fnxw2J+ zIvobqhu`-c2AAJg@Vlw+L-?XXY87n0!5aC+C31;S-YLwIlzO0G1-!1c zohJB1U)*giim2Y!3y`+y+Y&W)zp)rECH^Vw`7*LPp`{S}raljw4+KK_Q2LyPq#DOq zpO<0D(QF$8P<-G=DMaf7O}Tv;TTXRcR%{E@!o>U_6b0`;Jn*a zK|vg6-jDWLi?YeL#*3q><(00#C~IcCJ|B8EF16jXR6MVTAGI|zc=K7mU1@~n`M-k_ z_Nj&N!-g0yuZnpi7lfbChY5aL*XJO)%GG!d22o>b>NM zlSu6mbqC?QxR>0f5~)7=lLq5CEvzQeqb$>%HT(46`WJ?=u~}% zV#~K)RW(2TEEnuC(07Aj*x#!Rd8?WOJ|($FXai z2{X-dRWBijn$b>o)|>9$EmpJ5RJmBLTm8^6?O7<{G)kYq8 z&5IUc`N|{@oUl=*W>Z$x~H zmDPMr-|HJN`%E@YT=3b+=5xIpc2@Rb0rd%Dbq+-m&xxHl0a!MV+q6~hYYv3D?0_Y>>amY6Z_do-ygx1#?ZBYRrxRN)i4p+N00 z!K|U0-#bN>U!BfIF*83^{$=M}dbm&F=-cDGm?N+>P%T>U^))LyK*W*eq$-!3YLcbg zL3~&DXBN-~+KRNFszztL)kQEV>j1+NE~iJ(YO{7hl=$eB2)1WpYD}{*$jG~0Rzyph zDhrqwDz$lz)^i#$gMOlG$JKT%UtAjBU8!AbWqr+b9>XjjWg^^Xqj6Ie`PJ>30?Kq@ zxH5A?o?&PC7P$o`d_m&kIk(Z8$NFl@!mnRlg)gC-p%gAbV&-vCw-za9jiVotBCwZU z(|NVxauYh$k0KZ%bR~^7_P2$=U+5nx{GY3!YxcR_oCgsR+DEp-pb;l%uOox{n#{LN;Ok8`1SJL zMAJM_gg52N$ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/146_100.jpg b/examples/data/Fruit360/apple/146_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..298d9ef378641cfce9651cb6dc204e589f8a8552 GIT binary patch literal 4730 zcmbW4c{G%NyvH8~gX~LLVv0doQYcH9%1_oX^cz`1*$LTqqh#Mgh%8C6C0WKG#=eJS z-;HIY!c3Vl7~@XA-#PdGbMHC#-p_MBpYuHD`Fy|U{W_n|^Zh>GlbMqhfJ^_j-fe)6 z4glzA7jQBUXaV$ef9y}B|6>fGKar7v0mQ(>$i(!IgISoFz${=UCgxMjEUbTwcE@&# zmF>^NpGp25O3w%aF|vZ0!2hKDpTbEyz|9Oe01hBJF@T<%4#Z7&(hWdpIvM|wM-%(6 z(b0n#7@5E{8K-CoC@z|O5Qrw4k*1iI9Zq`>FmN;SoWF9Di5LC=EauIp@FcB>S^QQ_ z2fyhU9;*1z=P3*8=`#X?LK2cv7cNRGUA?BPqN=9#m-cNPT|IrXyMH6h?^#&dJ2*Ny zySTdf`uPV01_g&iJ&TTsjf+o6&v=oUmHjd&_f7HJl6R$LXIc{Z)x158|H`VW z``WGo29;bhPjb{V30~oI$IWj&nO0oZz~?Ex|Du3_gqT!x;^@Bp2~Xu1YndW(;@>7ubH~K98Wr9 z*)xR-^Y~eRUlMoTub(gLm3tx4F7oZ+N0A>rVe&MgwCoN=qA~rJs5HSgxkbC!)(w#; zw-kdp{i!9lQ)}v?5c8~$#?77xklP8sf$~suZkY7aoQBF2E*fuEs|YNxfU39d<)&ma zzQ93+jg|uFFS`$C^9)aTa*x+(mY%|L2#)Jl1xkglR+YM6FC0@x;=QveJXL9W16?!^R~V*FNKBtX;q%}I~sv>Y{q;+3Cg`q=lPBkvp@G@A>nc86I&nZ@CktTGvD^c zce;neNHKWN#I;3f*Q$xdE}q$?x%SBTYX?CV4qh*CS`(qU#K%p;tUs0$6OTqmeKlD> z`g+g@%7`9HdoG=6QH)Q zb7(oimIp$JmmzqY6Cicpa~=68 zvlWgIStLK4vAN?6jpO4IyXBpcl;_8f)zoO1FnaEpaEm*yoarWxUZa_+)MO0}xu;fB zb;sz^F{c^^bIqz-Mp*H@`BIZW-vJD6y&q3RqUJk1zjVi3AnnG}XMu{m%yumcBnpj^ zi#!x8l(%~Zn^u%XG%C}kC2tt)h=fc#GM7Rhq`>_Ss>;0#J#;MWoxQ|7;ye#ta^$-U zAKl-+TI>#OlgdFu*Uc^w6RX4+>BsG_LCqaH9M|n2TB94*lek*k#?CWot@_epJ7t9%L!(C&vA1&;t1Kn(Y8`u zOI?f*Z9dM!sH!BcW=AWH)(`j#h2`Q3lG0Gq5TCow$<}9`KbtB9+8>nTVco4-`VHKu z`2&|5;!=QlI6jb+Pe}c_PZ;Wg)O&RvBdk1}yM*e^y){}p;szsEb>q)Q`^m=6Cc9@M zdR7QVih+sF>rJHl(%I$vklCyJxVBo@wj%yFsr|S>UH<4+*yU+C`TAWh*R_ zRAbPt?5^0AA-31g`@hdfx8rZFn~M~YTi;g==SCLw%RL#wqS>foZ5Ku)F4~t!EmECH z@?iMgU(zP2zxqx9J)LibKT!mZt}aV;_{&v?pch8{S}Hc%=<);Kub-CV3e@n0NtZ53 zJXOIasPL($M3{?LOJYEH^WIlS8mgMZ0ro*uM`6Nl!VCf2Cuh25lwlUo9K$G~^$vUb zXZXUNWJ8SDm3JBHc{W-$K?BB3lM!PD7x3X#ts9FalpFQWpyvS1rnYn`}Brhl8!>19WwalAXVjqA|i7mV^_5G$Lpyb?3D!;JGt|{ zomRp~4&rBj~?t*1~f19uqkLV zso-ii9Hk9Jef#(Y3T_`n4hQzK>U6HHXR1m@(DvjGcH|1Ct=5aeyGfGDCWRlrvF*;z z?F<^+H>o*dfUBF#4zbt1wX1uo8ML9&M}XTVHB@@Zo-eh1>AfEcw|U_-0muL9>KUjb z?owH!HZ3FO+xXUk`sLQ{=uL}P9PA)7!}`jXF*zEI1$N9g2n_yq6$>jX`0!M*HXY;& z7WpJ(GpfyX2${HD8dVbX$spQe$76dzRr z);8y(QiPYcmM~|ocQ&qWmRc2#FNxxm2o@4xWNijff4OM<=Gv>$CZ|U9ua=2H`fKF^ zE2(Y{g{L>K@q9B6Os{(JI=!qY&ihMJT5srd-knuFi=^9k=41HI680)c&Fdd^d${jK zU+DOf=U_+pVWaqV!5^mOSB45`W#109si~P>n^eE9*nF#Fd>bAu5v!h*W*r+(?3*Yp z2!24XCk%bvxj9$uE|isXHM7WSIp3mXL-+B}sE-l5Pc!Bn;&j5roMKmH1s-6JA;P~^ zI^2jg^L24Vr52}k>yc|Aw&huCp!Y)NYi z2=={RjCNEGSc7u4eK&eElDozlx3yv&|$98^UiaZBVu0h);xaVn=w#< zL-;Ag_Kx>T8-UYY8`ug|R$B#nhqP7+nF|>jyx9GA`GgaI$B%av!sznV*a^+fl18gM zkTyOR&3`P4?D({dH-bc2DpPoQJ26+t^Z2e?(?nxIH+0Cx`~7R_!BeE_jrQjQpCFgr z13eWkujR^AnFTD64`0S^3+@$CPD4nBEyopY_S=@rT?ilJRZf=JDJ83*p$yf(G#}~5 zy|>XxQh0+`=1!M67$LkXlr)wBIH0a|LS!uzOrqR5W4UqI{$@HCM8YNfho z=meNE$1cY@XtEPDwi;W~XSL*_f5s|^OP6sMU%3u8v~yNBf0b`{KPdEG6=L(7rU*fL z$lKQR{kGus9#XjZ=x>-TaaK;Q>W$0Vb3?tQZb~DGcsP0QgLX+K*zQ@)qXT)J_0C2%-o&-GXFiuVla`rE-ZsVBBKkR4ZH_SI*p^GMX_ zGfgJ4PA57fPr12X;YXpPM8s(6+XUydw;kM(Idrd*dvr|c2-VC%TGoV=IuBZnIJT6} zWM})zB1ltXXM#oISSw!h=s^Ln^)!+91Yr6>TdTxrM+rOFED@tbalpGYkW1H8^qLf{ zy)q2H&WP(gx(o2=Jiy${!ah99)%oe-I4(0ax9{QK(l%c9d)M1-81egEwhXQi&M+za z^{rgdSM15pbb$BpbJ`;S!-_+mkDd}@lK&e-Nh~iZx0|pZsV+j$=~Ro2#GDKAoJNeH z44lwy){6NLX%&+<(3Uk z`IdHS(f{lQ}Ifu+|7)xkgA;$yWfje-Z4Iw>S)a5q4_+dri~)Z zeI)q2TX zoe^!K*UnIQgQfaA#}Ji0msWg_nWgY|GKG*@2VT#^jt9dz=Z< z!;7yNMZI3s7ys?g>=8B;>wqw!+OHR#pT8au)kwHs({;yl^mK!}k-=X(5n;#A4s}6fywECr3{5Y(&V52S)JS4Q4<#YhE&||%@0`K6T eWiFEu@2y1mmkytMlOP?(df`pv|KzZf+5Z47#TCB* literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/147_100.jpg b/examples/data/Fruit360/apple/147_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f0624850b155707fa83b921ee0175a0b2427b1de GIT binary patch literal 4692 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/148_100.jpg b/examples/data/Fruit360/apple/148_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c8da9b5173b519511bd095145c8054b0f95bab0 GIT binary patch literal 4710 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 SVR$Fc!tf;UKR6S8=05;xqxRka literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/14_100.jpg b/examples/data/Fruit360/apple/14_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..603ad52996a5ffa57da57aeabccaaf8b26765ea6 GIT binary patch literal 4727 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 z zNzUV@-9<^@g;HiC@_03C=mM(Yyd(H*On6y&x*N}`#k;xed5E+pNsk zMZ&G*s{+vFU+#&S)oCPfOu4RQ8yR4WaF|%jHePeMoPFh`(iQ6H@2iK^#;w-^?mZG2 zGi+k?W!KnV6U<^N#J=6*uFBVc)}Kb7p>=Xh3bJo5E__`Yo=M|oN!9O)@;UgmT=`KE zg@}FSe>V(m6@iev{sz4!)lq%TCflpzVjo0~TU!d=bsQCab$BJj_`6gF2I+NjJ#Ttu z?$r|MTtu#;YT{SIjU6T9#yuX5*JG`*udmwdS8C>|r9TLoo=mO}6M2E~p}7grzNth> z-f5DYK2+HreepKZJm0NpLnR`uZ}TSj36ioCQFT)7GD5SK4()-!ID$ruh;y zcBAe{&q=T2nQo%SP6zWWD@TFV~n)U$xV#|*Y%a!!Zu0Se%A?D=;cHi1P_NI0pH+S>YWn}uT!=fbM|wy^eZ8lo?hvxYl7&plRLGrbMs{he`0)OGEn2!Xw=p9; zs-^Fx*0olaYyp`tGBC33*+LjxRly+VjMeGJ_RK)HqQ=#tH%8Io0u^huJnZ~U< z`}xt0;&@Q{=W^$;=dI724O6N5cxZL%Pn=dz1ZBZJOMEP8F$w~$IBUkT&Hel1F*2?= zdtDv9n;>x6+OtQ|#@e$!+^*Z4pgeU@jT^?0khnoCb3D=M&Oubq+vAi2hh!@wh1_BX z(>p*Y4d`c&dL;%eIhN9STu|kr(P8U9MjR!apf?tDel{XUgr4 z93?7Hb}3D`7o0oHVgt@W`Sp}LN4Vt#ZQ`iQRX$QtK9BH)UlCNuKHdJVFg|7ah>{nN zu#-OP8d9B>BC0OHyH(&pr#3z*t@|;1-~)us=Zaq7rS|8{oL5!vSN) z?{tr_d4K1|A>(#b_}UB(q)gB9@p+^}n^ptUx_Qe6l@tJ~@q7}Fz(xrX3gf~})^i;8 zqGru4ru?#}kFviDew!Ro+UB$8xq%c_q`RVh1vLtv?meZqJK;F}{MBiZ$U`u6JG~GK zkb!3?+gN`Uu;y+0L<6B;C+P;Z_IflzVZ0mGBE*zes9fF6Z5V_yS(H%Gj3XyfA77u? zMNSs**tdEWdf+f|vRpq$M=Z5g>Q)GL?;ojO!Z_tFS=ci;t|P2D(pIg@CDVVVTIzFL Pk7c*K3jQBdh&=NjS(g*b literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/150_100.jpg b/examples/data/Fruit360/apple/150_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9afe6ffd7fddbdfd92084156e15959f81493df5 GIT binary patch literal 4676 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/151_100.jpg b/examples/data/Fruit360/apple/151_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e1a6cf17d23e5f31986ce11f472b4d88162b082 GIT binary patch literal 4700 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/153_100.jpg b/examples/data/Fruit360/apple/153_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c16bea91ae8dbe2b6772b79dc755dded8b89b4d6 GIT binary patch literal 4732 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/154_100.jpg b/examples/data/Fruit360/apple/154_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..14d0540364282b5c19c6727f5414693a5050889b GIT binary patch literal 4741 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/155_100.jpg b/examples/data/Fruit360/apple/155_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e002790c1759607f3dfcfc5745bfe9dd2258f4c GIT binary patch literal 4726 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/156_100.jpg b/examples/data/Fruit360/apple/156_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e1c7153e4956319dcb4343c10ac91e80ac338df GIT binary patch literal 4766 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 RV!;Q@#eziOe{$;7e*n3%9@YQ= literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/157_100.jpg b/examples/data/Fruit360/apple/157_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1888e7ff8605278ab8d5f20ad129fb51c954168f GIT binary patch literal 4764 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/15_100.jpg b/examples/data/Fruit360/apple/15_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cedb6113a3063712a0bd7c2d666bc87ffc002662 GIT binary patch literal 4707 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 TDt03?Cw3zZ;D7Sav&sJePQq!b literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/161_100.jpg b/examples/data/Fruit360/apple/161_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84a9db8f3fde99c0878ada0acecb8cf61962c46d GIT binary patch literal 4894 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 WUG-M-Don1sRG2IS{0|FsGW#DBd3+22 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/163_100.jpg b/examples/data/Fruit360/apple/163_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d25272b4f8107bda26571c86ed982b396191219 GIT binary patch literal 4903 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/164_100.jpg b/examples/data/Fruit360/apple/164_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6501f74644948ad182e5d2dfb33bef9b1073a81f GIT binary patch literal 4954 zcmbW4c{CJW*vDs#J+jAGlRe2=b`!FtC~H|;EHO#enS=?2Y{QTW4MRd=lI*hYvMa(c z#**EPWekRS_4}RkzW==MIq&;E_dL(J_uS{+^ZlHA|9BqSI1LZryk=}>3;+TF0N}|0 z&?W(f06O4b`y1*08a?Q5WT2-9(K9kIGXCRCEX<5dEKH1y%%_-HSpV9|jO`RF+uz0C zOa47d#{dE`ure_+{gd*43bZBw7c;;O;06Mo1JH2+L0mvu8$j$tC&NGTPQ?CeKspdT z10&Okj8i8G6`UvXL7)@S3@3_DvcpdH0rXr9+~Ugmj6ApQF`e_{Rf$N!FiRMeHS<{w z5hYdc`$w{{p5Ye&3rb1L$jY5pyL4GyLsQG}s*$mYso6Da8(Ta3+jkruxVd|HKJ@Yq z2n-5_!Jmdiy?7ZN6Zm>fSTwEtybbsG~=`R zf06ws*ne?N0N6mllg9&b0U&^*eOwB1ba-P`#|t&)z+_B>#6x;S z6Lbqoj;8^la_aeVp*$2A`8I`1G1g&X%e14MpgAEAeH+nIYXauJ7(&G*hUy<0BbvPt z_zwuN3bR=RQZOb`ja1lu37v|6bvlFm3BKh(5GlW2oWP-+xs8?JLc8yX)YN3Z+0PD2 zhx@f_CT0~q(`YCUM)=oJkxQ!0V&7t#He;vNNiwaz458-373|O!n8A$e2)^D>syL-f zLN`;^($mhm>(apLOqJ)_y;)z*DY$hTqCza<(Is>9n8?MJKW&xE7px@s+}stC4e6M7 z`KXofI!BUc{G~(e8A@*(Y$7_p2xkr}balqnmpk8(KZ7z8d3E7O8_H5L>*ox+ljB2j z$C9cV+QX>}XnURQZpfcYa|3Z{4}vUc0M#|IsJF3(8Srcr($$UzFg$1_BHOSr4G`jP zReU{o&PUO9L=hz9cqlZAk_#@gu83%ErPIr;oXe2Q;wL>|xp z%_gC81Z_o%nT~HR9DAcIQNl;wW^kQwX!U8mcYymsK9at2Ewy{q)h2v^1|a$myi~;A z9c=WTd0yoJ>I)_K1hk&so^Y647c#%PkPpMvX~R2oSASx%7lIag2R#2^wkXHE{a3jl5=)Twv-3Yzb-~JC+83)UAgt>LrsUNW*pSLf~K-G@#|H^Vk&l>UC0z0XXDFZ|rfQ+C#_(XM}yf4X*PWdqTPWttm z0Br=@!@Trh4WNl+mi>0cVaV~sj4;C2@|C)}D1_v`M5L-?^-^cYFACgo@cYI**FW_V zz<<~`in8mC%*g?CdzTN$~yoU9+QoOoPmyRd6aCdvpRDT3ma<*dgL=sb>;q{C4Wnc-IZhUqwKX%$bH2bvwM;;+*4}WWaOqB z4WL)CMa+>E+y(B_6aIFd@)CYbn^8{^Een!+@2M>zM4jogTOD#|! zB26PrF{XLkk{{eOZq*5_*J*4f*bg>x>hKh>Jl^Sr$H$7K%Rm1fj8Z+Y?>|0Y6$|B_ zOs$XFQ=Wb`JP-TcUwln=6iX$=BX#v z+()W4;PSL%sYU@(q#)+Oq15-N&x)r^)V#D4H_XJl`hg-EctXu3l15eSyFcZ3LPy1Q z`h⪼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 AC;$Ke literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/165_100.jpg b/examples/data/Fruit360/apple/165_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8198af35a5164ad62ab1f9d5baf7a519d78f87c4 GIT binary patch literal 4955 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/166_100.jpg b/examples/data/Fruit360/apple/166_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c491134f7361cab3aa3107af5bd7ab906bb0f60e GIT binary patch literal 4952 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 rY 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 WMMH98O!~%m^);CQ|HA-Y&HV@DPi*Y~ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/168_100.jpg b/examples/data/Fruit360/apple/168_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5075e7ef4a82f6918226bc4636ac7bbf559e5893 GIT binary patch literal 4915 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/169_100.jpg b/examples/data/Fruit360/apple/169_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..497edef450e6e346c79d0efd6442388d91793c2b GIT binary patch literal 4913 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 H(%gRlQQB=s literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/16_100.jpg b/examples/data/Fruit360/apple/16_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e348ad8243f867efee517ee098ea668d78a17d9 GIT binary patch literal 4778 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/171_100.jpg b/examples/data/Fruit360/apple/171_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b190fbf9de172b5e62666c24855e34be2d21d81a GIT binary patch literal 4955 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 ID&p*a0R82Z_W%F@ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/174_100.jpg b/examples/data/Fruit360/apple/174_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8af0f467553f78dd06c11c3945c35791f7bfca9 GIT binary patch literal 5013 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 Bfi(aC literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/175_100.jpg b/examples/data/Fruit360/apple/175_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e63eec67a92676d36b48e2a783a6e72b96c22dad GIT binary patch literal 5027 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 `?|wAvJ@b+}K3C)@oBLB36`v@)@mkL$`o1M_%> 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/180_100.jpg b/examples/data/Fruit360/apple/180_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26a3b7c19734d75c64b29c722693e32ade45452d GIT binary patch literal 4984 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 b&abpB4c#Bwl;JkDbmcbH2L309Q)d1HiO7}_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/181_100.jpg b/examples/data/Fruit360/apple/181_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee09a266f542d80afaf4883ef58df6b812ae0e3d GIT binary patch literal 4970 zcmbW5cT^K!l*fnOyZq>cUZsnIl-Q^$2-2h&F?4=_h(Lfq1OcfcB`7E$2qGwi9)ZxC zAkvFqq(cM*5HQ^m>3zE*_c^a{}^?TosE_K z&%vLY{Cg=a105X$D-$ErKPmsGKxqefm;pDyjgCeNpyi>VGEPNKDGe%tB_rc$t%1^tQO@|xPZ`Udo;#-`4$?w;Ph z&;0{q;}erp)8A%h7nhb-R@ZPp*Ea~ed;7l+4v9y{f4FD>x__~#@xSHbp>omwX#=J| zTr{+yRHx&iXOPrj~8k^Lvwe{szM>~u8L#-rl_zyRrp!F(IH`zBu<=xcnNo`$>YeR6|51)-$?ZUyv+ z&Im$tZ=iQ}ni|rN6_sPqwXA2Yv3H(Hek92JVJ!d3ucQ)-67Tny&(HPy3}5eprr6o1 z==&~EfTyzz^U3-_OHN|)H>%LyJE(d#WRil^-O9mkfT84%Nd><;gRh|H!O0XW; z%WMzqEYw^Nz9o7 zbeOf>6R~EP-b%->>AwkV?g{BqGQNC5Vy*x`oku_Y%M?uNX@Hbe%!Vr z&C-VDf|S4tHuEeZy}UOm0IX$Zv)N>f5Tc7aRQHZ!uG8> z4Q8kYHVX1U24!(wMD6cL^`EU!<>$kzp8f_L5dxj_XULOnEEuU-PzNZjRSo|;c0A|Z zcwK7v(yX-Vr1dKF9-Hf>VP~3kTXL)WJ_Sg;i89VvSk~9?UW6h(nylrXz5*9wkork? z9sHNt3Mc?$)Hev;ngTo#ZowsFTdI0TS;MO+sao9k#6D{5E(a--%;G}< zgiihF54pX6mic-5Fy#d4cBNj`BN|xU5dnFBKTxG8@<6V@VOZpC5Pg&kj{yEPZ)qgS9@!HMTk1d5@ z7bImKKd|5$YxQ=`gTP3)L9bl#^~;RE;G>IbG_Y5;qwa0>H4W(6$MG)^XK5Cm_vQak ze%V~tXvuSQ-(z?1J5OFMau^lhcnA@KYZBz6i!col4#m&b_-}QB&&rKX-@nHjkxidp zzcf7?k6t|5u6w^FX^Tk@ZOdZgzIZR+WYHPc#Frv$-e<_iP0*ItnJGmN?@S!G9UzDi z3yJ60B2vv3v#(&>NaOn`>la<(BDE&ydi14c8hRRt=qWF;BCMn@kbkZC!-}F`g&Zf- zyYK>^-#eU9qw=?MMa1S6Ao+e20HMD?Qr^Sdyoj$nY5-pxt`Y6p)XK>8J@#~626L=? z-8HSK;&SFx#!=sFKJ$p0pC>wFl19N)B2@dAxGXW*@BO!(x|~E&uznQ(@;rAyE_t?KC?vIk0tkRTDFDbPUuf#r<>akgm+w6X z3D=d+X)@?!oL6X0uPOEVywp}yK$JQ><$u*VkGJ89z94Y1r`R!|Ta87Ao7i_FF{DTF zxlYoCBx!ngUdeD%@h3C?=>d84u1NfbT!w<}GYbpdN(h-{@5GHrt?Hu_Z`jp?r}!V^ zeZHmhq|EN~<=ebFH<3us#7=G(wla>ArHIA^|3?);H)1G&Mc#`S@iv^X&-&Ok^+c1Dx6)F;d63!WrKxm6 z=rRRJF+4karzN$r1qIp2o(fvJ()xF*)V1z=;%__!QTYo5!SPa8I;58Ah4;8n1C9`~ z;e_>ur>3MrT4I9#hx|S?|H^8SQDg4)&YEjB?KB;kYq<4jNcQsDoRoD0mOQy|DyHLJ z9am?Sbdq5*K>=z4dLgVZK8J=Tf+$d_DW+p@L;LWv7>FIorjbkU}VN@2l~VIDeht8=f++*P6blB{_a{EH?YA zh+z6r+9Hsy_7G$?_=xw2*=9(0ui_KsfFvXO)Xyfj zjFpj@J@&q3CgqrCCpMCol_i3ESu=`7qqMW-xj!gNx{HEutKJ;4Z|yVVL;+MPKZZ1?qW78{m3 zY`FB?4^X%L-)q`Av7UxYtr0?Tai-XPjYrbfuONl{ka)68aw^Z0&t@Dkmd^IzC6ut< z>_F9*PwaUeHAZ2p*@XrT`Jp~;8Bh8 zGBUn>C8CzRe&^{iRJ9}Jbx^sO2mxfsmG_Hj24BM=DexO3*qi=CrgK5V;d=o>&PIWZ z_=jBuB~i%d*4bhuBd0iUp>Uu#XasR8Qc4|D4M_!XT?#-yF-jJW8i&+@<1o7A#H-!t zS&L-Xk3Nd*TkqoHVJi~5?O*g4G;phZmlRMqsj1oCMfMkRH@_zwx#{%bjG|)8^+0)F zm>cs;*VDF4@N=MOgb2nJf8o|-5B9Fuw0~WrHbX4x)yn67jG|1+){xd5hR=2)!%VU^ zqgQ8^`GAEdusNUQ@DMdpKvYAtC%45x8Z166w@7yexW6Sf%qkQ8ZFHZltv-(|Ipj57 zR^7cs{fyAI>BAjW{3~Od{vJ0w`$-dMHeS*kI1}74jIKgG{#un$nw*QieTujgQ z>*q4`OOmTM%=9yS3R~4brk^vv@VeUHoTPYQhrXEfDIN zG!%M$>P>xB&BWi@Dp%%q2?;lu8 zL9>bN%{u(Z$sAM`fr|7#;MDV|bA5FiPnwC7OmvF}&xMs&s+$zjhgRBO&h7NO`nm0O zhxpFidCdXCtj({EYISv1*nn%$)n+b?R!2vrPge1dXQD;{-rJ=m&pL;#bLxntO|N6Q z9!Gf8!tX4fX?UDaNME&>xI!~m?gWchPStU8#+o&#->`b8F4AaNKS->#kH0n>clE;M zg1w}Hc+TIdqXeM}hsL^NQB-npqpDljX$xl8C{Xz8ugpOQu;98=l*~k~ojWIB@F63o zw7G@HB;(G(d;WtNKL+LsuKv9Z?3kw~{-jGFyfP+0a$I%w_Jel)^UYa!y-~=xz^TX& zYSo?+!|+eZEH4(XQ-EX;$G%Fy9YXfo;3Y)_8lxR>_CRAmI!>j_G%jfi&C5;!hHo21 z>U*`?mL2stUyFQeP)lZ=KM`_{ngQ4J93U5`nh-p&J93k7uxEfEqG3>4vf{JM!;SM# z@>%+a&B=kMmfmVlcT%h!&Z>yUT`M0HgXs3-VlD=*L#B?5+?5u%?O#8uCni&S6?JME z<6GLPmLPwCBwl@U=R3@)n>wv}w;mqZ{JyH?dya^Z63_Ruz-+mbmov@XsNfjevJ;zn zr(;CB;bB*+Y?#07g3rL{D-66KpkOV^+Si_DhXb4LaYyECw{f8Z=-^WOsZ!ZwH?MTj zvd?c(yS{{d-9+_s5rPP2c>{yZ=PgOcGfvzwNv5*VptPx0V~5ZY@{^L>E5*Sc^`xGd z*)Y`muov_(P@AKW=bWLQm1cr{KK;2%EI(vw;ywZDp-i}KBTp>koK^AMwR>tDsWU;D z{kS7r7|H`eeM%_pCHJ3PB_R7uV{I*+9)FjJ#GYScW`oUDt3wtMD~In}f2@8!!%zQ! zO`PG@GjG2R&m5aF`gad45xupZQ?g;DF9&J*^^%q!?9)}3AAfuoHd!0~z)?hNbKLPW zH0fS9UuyBfNzz*VR@CB?M*YlhQ2x6(7c+;WjD5lVkJq;@VWp+a%`=atJwOa!RICUy ztpSX$EUh`N+k~0P%Pc1yUnjFjpRg0>4}OxW;TrhwU2`H%o6Kr&C$uSmemc7&+*&dx zFPffKP@YLQ5Mltk-qF;S^7})ifbn=qQ)3en8ZT&5tET}d(3Qz2k&7w7LNo+#o(v(% zzxajK4@oH#YAIL>`%5J>f|v5-lX6g*FjN4%k5rj zc}t9G`*sQBRKV^+-7m({Tqy@!fyXq4cP*W9xrEKtGpnjT;bEXqBw(`R0pw;ZolHJ02Dth&4HV*CrlJ-Cf~k8gY2_fzIh=)hw3iFzPOp#famxO#rr|) zxwrs6N3@mL*Q^1HhwvK1*y(M7j=OXMVhiOg|C?eO+^3n2@;M38g+Yr1CK)=$T@hhK@>-T`!i;WhB7D>szm literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/182_100.jpg b/examples/data/Fruit360/apple/182_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e334543eb6950bbf827f9b6de180601a3ae4d1c GIT binary patch literal 5077 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 aDow)D-OS(BS~CA#Qhtmi@IN?+I`tovlaDk2 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/184_100.jpg b/examples/data/Fruit360/apple/184_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd71543acc5f8be0c4e6f55d45c900300ff3f4ea GIT binary patch literal 5007 zcmbW3cTiJbl*bbi2u-P>NGBAfDNTw%L=?n^f{1hhmEOf5gdiY-)BzL}5JY;7^deFO z5{eQ!B(xBks6aw9Kp-1`znR^Cc4v0?ygBE+H}AeT-_JewzH{hPbRvNJnz5-d00;yC zfQ$n`p9UBKn1FxnZ)EywV9?*l3z3+ zKwxGT2tx)3V?aGOLp}(^5Y5a`%orWUcn$#bF!M^O8nW=+ae_$u^Q%Rq;i&9!lz{A3m`ae4UYv8$WA zN8pp7r-HMMp14UJ9BEnmC3dobAE zzW$NXvGIw?DLi3;w79gqvif7~CuM7UXLs)pb^qWm7Z3pY7mE@9TP_|37t`MyK>l(8 znGg&I@qn47R9Scp??9aV`J~k%Sotrd2SW1`+v)g2g0@ z+N`C-Ka;7geFkj$a$3z?=I8g3*M+RcTTic;7n|3ONoM&ztoPbUeFgwhCm`MMxZD#c zUaIpUCY+ZRROn`NFH0~hJgjuC;7-RoP@sSwXUhI03A-La2S9{Tqj2u}S36vI&ujH$ zgBKi_%!G+y2S+jhI|3wD?ew8l-+4#3q&;exVvFlDzn=-lK8XfS}w0L!N{nfGN zQyu4~SC3y_dE)fuiDaa{A(S@g<_KQj4YRYO1Dy83+IT&`=Xm|?xV=y_D2m{~J*3>K zydXiaB?;sf*j)UCC)^Ll9Iz4-Q9nNxe2^56Vk$nCX0e61ccP7x`Gh+(KUK}&PyVjC ze?I&oI9+&pbRx}HEM}xV7tMj1oF`kD;R$nFe-;|oACaa<5t8a>5gRzhthV_9+C!SGNTH4|QIwcbetQ3Ur8 z)M%D+Z|LZ>!_>FSR_PX}IbAY&5mJQyS?UANsgt2r!$k#E$xL@%%epI``xtj7VtKwE zy{^8%g_j`alu}}P(u+2K$HA&c^WVZ|2WMm+Qd$HCz~^MpxK`?@FP{2`VO z;IA)TY0V+_c)PQn@pNI;;l3Pm!O{>^WjdhxST=b!m+XKe*jiA0F--3UUuCs57~edn9YnRAHC%dT>W3n1}|utCK|?I;PIyHA{V z9OL01kV*?keO(S!G{>L~T6T1EHoX-{Jd)ebe|d~qLGVh6TPT!a$G6zC8*hk5Wk=cD zeMdvJoIO;d5O73!~ZrhAhkJYo8JA?2)FpAjx^xlUuzs)LN1aV zfx*dF$TY-3*0fZn?D=x9a$&6G2KKOCz5{*2*5g>|s%CryzXHB*FeEAbV0R9AhiXX* zwS|64C9nuo|7JE?-q*`c!|7M=pmlTaQJ~RZ9qr35d-r#L)Q)_fzefB1Os7h`vD)3u zZ@6-|Rf(9{iY{B5I`r(EgOHhXUca0WvX12ZgfYe1)K~t{RmZzEU2uj(!MLnNm(}3zebUR{gu8qmR{MOBHw05;V)v@I> z4TPo~tsxCuZEq^!v|Ruz`YmHiIzrsF($(#)ZLljvS4Dy~H`~-HmmBj)eCO^#II(HF z=u;Fz<#<8$4UmhrlqVYEaQD}lE4zB~(WN&7)feYqwAU45lc$mw>(Q8b{2?a8M!ebu z(as|_G$RSuP&W>!ft_SeIe6}Q;7$ib-U;u#eJnr+bebIl8I9R&;{@ZT9yv{ln2Mq-m$bBu`-!HCyk9L=WV{SHa_#(g|DXr9PbHEb&OZ%z zC*M2CA5dcWB*BXKIYh$ZxF@#`9b>>lvmHU2R+QOydh^HpURKL{)d48ze-HejFQKQsgTjiTjyB} z38D>Vnv#e{=n8g+`9Jy9tkKRb^0@KlPZ?*<->fVe9dOmbXB~@`E+)bX{>zWw(E;pE zl&NH2ky2}AI-vK6iHfHPc3QaC%-hF5%ycm4Kn3sqP<50-8d1b@ic9ML#%G*Q!&4cGx7Mh z6&rp~tdL$Lu$ShEsmDPHeNW&u-kAiofRa&PSh5}amk%Ck_R;Q}nOZYfy_P2XSG08l zt)}M1Uc~1=V=PGh?QRL~g>?OOHJ1djs7I=!g5 z-58HBLH(|LdCPyzp_BxNiZly9k__sTYi-BY*y_!B33YMhLJx8b*@iqItM8Uoj7j15 z9Lc`(>#k?lL+Jo;J6S$X)7yFR&ZM5qV{&_JRh4%-w~zNF4UY)ZnRrjlnhj#ANYWCz z8%~vl&;+^`5j4Khy+>cDeB{lpkejp7xOkQNrOeS1vb&fk?(zH+h zt}s+@^7APj&=?-2r$a8@dq<5YmmAf!G>&S(1sn-$=X$joGeiedHe3=CKLpOTxl_c8 z15`FN&(_9%Yc^JRYmBp`HDkY^J~C#pM*^tn3qlPO5ZEu`{d?EBpldvZ%N@1d+%p$H z!g!k&vOlu1>e0sc-APlGzAExz(sO2KKx+F@D^py|)g2u@sPJqjF+ID<_s81@xUS!X zBz0Jx#&N${U!}y7)2w|T^YqLb!mCsPfL{~_1&~902K9|k*NkOO?9EmQFE?&SnVq^G z*_E(89WhbXmX8pMWKkFpn&wu}eV7VYGh4L4y25Of5508)D$2SPla_+SLjH8_pv5%~ zbBnGEvUYm-npC;%jpCr$S}bfT6Zc)74S*d23dDsLMGr&AT4G}B-0Qwp3_!aBP|M~@ z5Too3uT@xr|IDOj(32q(5fcSPp+UW7bxdf)(1=IK>kNVOYXa}tQs+)=<9v*e(a)JX zei$z1-nmSii^0Rhb`_1sJAC{kahG?=Kl z`tNFXP;0GC38qf(E-jS^ujFt*+_yE5;*ZR=yen^6b!QfoD%P&*?NrI%ZAm9K>Jo%m{HS}|IlFXd}Rc+`We31C%|^$t?I?I58od zd|BV~nEk||v_0}^EoI|Xk&O7c){!<`3EPbqJ?^ml%%J-fb%b18W#{61jh4(PU5qZZQ$cgx_x?ECD?CD%GqBSSe5^9;RcUF% z1^{l1-$r)!&P(ZBz`xD$92`6czhAg6U2l63-eGX~JowGBHm+>^O`cZqqq9`_J1V+F z{r*h0@kP-l@p@Cun}3ut_+rQ3rcM#9j7VV+uf*u7;iKgf{s)x}c@Id|=4wd@ zmD{2&2cb{UN$JA#MhDU_eQylkRyveBYX*|Lgoh*6-A-G6~GL z?`u34Sn|_1gT;MsYH2p*WaWSLtRsO7rLUl~A)m^_x$V8x*Pk|;ygHKcDMjtu$Mj_i zYV%Zu*EyD}*pP>W&eQk|H^`EG@d|vTreN%wz&cnf;c^@Z*fAIw^~+jIcd0khRMszF zp4~sWkOOk&bB+&8=Y{jgztMa4Y|)#mIE%5#A8?uoqx67(GUgmUZF_^V z8TZ8WAvyfHy{5g#5{9HBcj7P>gr0r;NJ&3mx=sBk7w#G!O9#~D_ULmh$bV&2tyzzj z!DdwY#J%)S8Lp4@{Vo7g%^oNoEHE>3{{}9B;$kF`8wV-r@Jb zQl&c;-Ns~Fsc@XkMtk$@8z2&Wum8m5MXm#H10Wt}+|Up9Z2 z92N4-?S@9T46sUzdRUMN{_dX<{I26lI4l6EGq&l|KBQ&mbX~f;AZ0V+1_jcIi_28W zJXmVy3hJqCOe|_?@fIhVhLjzTzC1{|W*%F7a8%c1$mQo3g<)~Q z;(S|ABo)Kv-U?MLzV1}E9=AxMY`w`B)0^Ly=-ID1^`(5q%_i{+UWs4%^Kwnd$v3Y` zfKC{bV|^+vT<92E5vg#^<}2bJSoU z%jk8v+IVROt<9l*4Sk`y8c!Sg4YmhV&c#9GOZU(}rMajuUmBkZVf*kB7hchj_vMVx zyhBQEUM_U=7((?VZ!e^0$i^j^@8}k@mrh!g?op(E0f76?R8Y0^PZ6p$K_5-FiW=paR; zL+AlSkdlCgC?PC<-^}hmyED6c?wse|JMVe#JimF*d+*%y`SUdZ%ROBKT>u#w06=ze z0L~WycL3yMf8(!`{|yS@U!|m=08&scm zvk9!QoO56dEgjb-ZXRBd>!M=f67mX)O3Es#ckb%w>ggNYduVQ9`N+!J#>Lgm-Q%(6 zlczz!A)#TA@aHdH#>T}bBxYo0z0S^g^ES7rxTLfUUS9FBuD$`;*woz8+SA+DKQK7- zd3bVadS-TRegVCX+1T9rw*7r)7k700^B4Yv@cYkSE;0b{U#tuLZ@E}6xXAym0rg)l zGV;)i1hP_4UcE)dre#X)6u^E>HkyV*JH4>Bn^s8949n>pI6=oHEWa*-`-}Du+5ZkK z=Kn?ZpJ4yRg$6JH$u1TT$O-@f&VHL!wIzsROO*!zf(a#?j!cn1#!#Nd==wFky~4Ew z=u=$rz-+GfHCo~N`cNv&uQU%=gPGi{QtrwoR}0l(i7{>3M!cbAxR&S#l0`I*9Ru%$ zy>Q@a$07O-`8~s_GT}WU9n%VieX+_WpG-!ru(Fy&FPtB~>m2Yr3FZllS8XQ=oMkt> z^8o=32Pk=YK8su~$eq9el~FfGz3<)N`&1>V+G}jK{0nMvy)B z*~TeW-rlfs6iE&(mh4({q=Ra!0;J^v! z!WoYPtXumW;Iyp3W_XB3bm63G6NF?CeM;g3G~4iNZK(jFKS2d&+dG0;jT2=5dE4v0 zr;S4A)GzMMq~-x#tzB7=D#>pjp)Lu(t1&^@K5D|5d?OnCpn1)rf~Zik8}d0se#EHW zV?>{Y%fw#=*rI{ls8NU*jxE5P1D=IgVq2?~mn~t+h+|NxFz(UIH|tOXN8=Ce#<bJ5OI$))#2!a!1mov?-LC1 z_X#2&pwassj#m9x`eXO%GesS$`nMHBC=FY2fkEtd8cL7e9) z1gv>f7FSwj7Mgk#c{@9c!L3#s$+2IT1W=_xVD?TCA&TV!mf4No)x$A!5yr| zAn=93Zy$tfzG?})K@_%oV#E=%`n=w*LB9}}3D44(cMjY&t)A!0*}qZ0Tk$9%^E9fySgp6_b=;@axZy}wR!s_MR0UEoYl-@G=PdO54_TCqxb8xj@j4XWzjzL<(vd4D3WtI zw%GIX%73q>oSZMJ5&=xL4Kx8@OrfqwrZ<((7{XLUFt29-HUkcwroWbILHNN@Z zS*#Zs!nSb;!D$(nDG@Cn$dznYw{|+kmwZELW`A9|1FvI-f#R?Va2u$hS%{VnqNBX{ zxIc>i&+h^gQeQ#CIUu%^1!~(chkONVk}`=+ASad^s9Zjc201BXHJB_00*`XoyZi$%@58bK$5aW9`x$$WWt9B2LY6{g?Z;P9vIEL>i3qwnelN>ivzO~eb zy|lI&R0PIt=d=w!iqb3eToKKTy4oh4gu1TF>=2i`L%h9V{WJ0&jq5wfYqT6v&ywMD z)TwYA93!}&(rC&(YDET=N21|>x_WM zYh39&K0KZiNf1<`c$62mF)(Fo=Q#4(S2c-u8|mYyu$t#2*RH=9Yg(1!yz2TMZ=g4!=GJ z3EK)Qqa?D71%xr^PiRX>c@ME-hTMUT#a8!j%C_uZe`HZWPvv8I8cR5X1wp zE^CNaHG2)Os>35K^&OA!Z?_V;=ZQ<(EagNo1j?cTq*xh;)QwcS_^feY@u_Pt^c)8K zyd6|nmIvSIl$&;*@^+5@sKfSPom1<3o8}-A+JW(LfbCl&6MTdo$|u=FYquH?^np0U zG&4atVofwro%Phfh8WRQ|N3Vt$4*+&lAdpma?O<_-3hJ%`m{FO9AhrA0T*~jt)<>f z$RT=M8OTqvz^V+ePW6vLnobI4Rs`G|0w6bN;drwsBWuu5&#BQ^rGZH4j~7|5ue`ry zd?)oBU|~Cnly98g|57BJJ5A23{0$v0aMt>*o^iiNKe{n9`QyD`8>kvkw#1^1yk&p` zTT)$_esZtRW{T$bu){^pjRCHi0{HkPCZiKo`pY3bXpwpn3yS1>YoDy66?o(wX_Edh5ea8uf@CThx4qCudiZ)(2)FyOS9@j`Ux=*AF<`})7wT*te&7} z#%4O=7S;FDUnV%IVVSiCZ7^lCLFEn2!u8FW`);Z4KQOkbMSLrpAnMLO#qh~ec0la+*PY0T2YN)T}>cMYuUs;wIk(}fy3hL8z;PlWR0Gx4)T`o8uUlv?e#Lm zh?VMGB@K8X&U@wsKlr!K5X_RGs;;^{|Z(n7a%4bB1i znnC1=f8wV?Knm3st#w{4l@~pH^(kp6$GB>zQtdSm>L}=Xv{DsT$2t<+OMp zxhBbqM&+IZ5=ksL!QKMy-4%MAd$M9d`Oci|!iu%JfZZn}KJFEzheKDhVyT-I&fE`% zeyd_o*HCL6VC;RhA9u4QAUT_6Mq^%RaweM|E z)N*u`SXRP}3DhfCYPNPbHx}vk*l1@j(KS5)P=uGm3L zbENw9P@0k@IB;Bvfv~JU?!9A;N{yU(BkGfXM*J{)iXP{tw>!ghp#mlQ;%?cy#J~yA*RbER1|w?U1uCt7a60#WZ%S`2J8||)iSkP z8kc|K;LpQ>4HGo3mT~Nt`a*A*TXYgK$z)*+V4{@Wu(5c7%3XX8P2b;7L8dBJZ{D4_ z6XHgH#f<`5ve7!LgKtsyJRTj~T4TDY7R8ZGXBO&_m+-~OJ@YGi25RV!y=g#lSUTodyh?!#Lw2LXKM?w4ZmzLf8GF2y>`zz&pLyKl3XYc(#eiwo0O1#-d2H{iioQ z1!;&vrExgMUk#6<teCGhS%M#rUKhi~ht}w=2x4ywGk#nkHz{E3}A_SnIezL9|O*qC~TK9`r7pxjD z3_}>?_UsCsewXn#^xxg#>ZavG8>5X=1X-UvAY!k-416Qnk zGN;M~_Y3KNM(=n1fx*sXZ7?%aSS^3fgfF=ye^Yk&+|K|6th)|G?uMg|MKV(ob&(S{ z)SoxxRV^V7311NU)Ew|qv?ox-P#Ka{(LwZRsIS_5b_|h zOQ4TWwV4+rwb^1BxK~%w)Av03BhCTQoqSLgf?L^0F;t!aD+&w$;+Zss{%&KZm~L=& zcdu3=W@Xd8bv@cNy#90F_Ea?%4pW3CT(norg#%@%@P&GWQ4ms1Qy3#K?#L$<)r15L zrS~-2K{d-h(7_&h$0&3f20+%r@r<9nQNi OIZQPv|A!PjU-%E^CzezI literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/186_100.jpg b/examples/data/Fruit360/apple/186_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3140700336703966dba745e62faa76fa43f441c GIT binary patch literal 5024 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 XXA8Hckh-e6H&of5Q2h@MB2WJZhCjXM literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/188_100.jpg b/examples/data/Fruit360/apple/188_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a359d1df1d7cb70d1f5a5e7fbd87d33686141593 GIT binary patch literal 4952 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 AqW}N^ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/190_100.jpg b/examples/data/Fruit360/apple/190_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a334c6e701e0360b2804d84765b4bba3a55ee7f1 GIT binary patch literal 4861 zcmbW3c{J32xW~WNu|>8YktJgZAzQYXQp|5!D2l8@$W9_#!;m7fWX}@GnlRbJFk~lL znoJ~yu_VciWz1yE-0Al_=iYzrJ?Gy0e9!Zo&*yxf@8`T<=kxhKpNH{KU{^KBSE=~|Ph?A3xmy4U{k1

bv;bOVB1fIHyM#v%u>3bL>XvM~Ap8KzE-f8;U6 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 G%zprIsc%96 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/191_100.jpg b/examples/data/Fruit360/apple/191_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..810c89fbcf23c0ceb0ab8343640a3c4b7c2ab6b2 GIT binary patch literal 4886 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/192_100.jpg b/examples/data/Fruit360/apple/192_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e9a6f5de7b939528ea6f790dc6ff3a6797457e4 GIT binary patch literal 4849 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

YD%NWjk!6q z7L+e9i-Z6RBhp25Z2bEuR8YvytbWs%Dnc8}my>{Z7H0Villil%T7P#&?LkejD}Cat z6*1nS&@V*9?2Ef1c^!OncP;egFTb*iP90j4Dp7T;dZA-FAz=?!!i4lTwdY#saKIa< z*Hx&5&H&vMHB(Ez-gg{`5S=YZzpJ=5|)|b~$W>#IEuMRcyheT4ZO;=jq=~wh{T_0)puk4Qvq;C&JTh3tdv5IgaY`G%r<81& zSUcRynxHmz2dyMd(%*7RoI>0YO0RQI*B5ETX$q<9-VNaDU!83|sp<_7o_iu#6B2Zf zC#41oE_AHD?;USx-p(mIbl&Nu63U%ofn9j-qWEbW(w&U~0r~RdHCIl4y58IQ%1_-c z7g)r(x|nv8Up^0agsduqqy0NBx;2rZUmA`)-=RdzUq(VCMtYV3ut^4NB9_E1N@h@~ zKz6BUIKha9?E-3zzj~m2k1Q8l)3rU@{HpZZaE-}%fiWtBx;|8wxV?4`6(%3oPCJu| zl`z-Cf5CS;Xo=c-c(y3NRO;_uf4?8~8w_PqBRcMuB*X6&`UF%CL+b8?#`e>*YPktw z_!;oiJ*nWWa2i5UX3nfZor7?BsnexPj?oiUSNhllrZ9jp9r&q>Tz>7i%K|iR32zJ~ z3SfG?qGq{JgwO-O7Jgy;eomgRdM$0CZ$d}a%|nTzh}@OoXiba)pW-Z~!efLUnssftd%cW@8lsxmNL>YH5FEmNm6HZh5@P!T0LQ{13G{7M6`x55Q*Yex^lLj;emwbxC%%V}2XfKl6S83;7K>m9#{5p^EYMEQ4tVxKm~#MqoCLN(W~^s_t>Yfi2||`jUIkfVz!i z!%mH-$69IOqdoPmxZC2u<7)@$}sfzn}2FQ4H?~aO^8;OAmqfF)~Bu;k!=^zI6CA)*bCKlHbWo s4@=$O)SvAxH7hkJbm<#acWrdd+89=-+!A}$Aj>HB>goTK8fP>A0rOQj8UO$Q literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/193_100.jpg b/examples/data/Fruit360/apple/193_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d9ab13e81a02a60b9721bb3642dbae8ebe568fa GIT binary patch literal 4854 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 CbxMZ- literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/194_100.jpg b/examples/data/Fruit360/apple/194_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a2ed91249b860040571d1e35e0505aa0c94010c GIT binary patch literal 4923 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 QMTUvz-!T6V&O@L251tNtLjV8( literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/195_100.jpg b/examples/data/Fruit360/apple/195_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80f7825f57629e0a290d5757aa3eba577a043ac3 GIT binary patch literal 4863 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 DUU*Y@ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/196_100.jpg b/examples/data/Fruit360/apple/196_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c5149e506229b4ee9514863a82dad9f43b0d2fb2 GIT binary patch literal 4907 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/198_100.jpg b/examples/data/Fruit360/apple/198_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af2513d1140fdcf0aaf40b5381a4d5946ff5ebc9 GIT binary patch literal 4921 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/19_100.jpg b/examples/data/Fruit360/apple/19_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6fffee5b53032a2e6d8ebb13ff50af75d81d151 GIT binary patch literal 4737 zcmbVPc{tQ>wEr>~q3m1M8cQ`HyM(c1Eku?QhQ>aHAw`%8$=J6LVIm^3WeM5Fnk6G^ zQI;99MMlxcFn9cZ&vWlT_dd_P_k5pop6~m7-}k(q&-a|?yyvBTrp*IfW=5t)00RR6 zFwh@>HUk&{j0{I|WEqcy33OzcnV3LKEX*t{|0wtvD+~A-n1zLvo%I;ok9fz}O3&~Y;V1CI{&UtwSb zF)_1%=`h&o6Y9C>@IfFtXl6QM`s{G}cYukTndg+E9t*FPEBG{uPbng`fEA)&gXg#Y zv?Zl{J0S8Hn}DE@@JVSI*)wO)si>-{Yh2VcxNK--Y+`D5-Nx3={>DuQgqypEr&x5`&G6OG|&6k(u=@JE!nvQSqyi(${5gYwPM8-ZeHgcXoC6^!9z| z9~d1QpO~Eb{AGH9NLpO_zPz%!M&ADQduR6#W$*71F9rbgFD<(LZ+UUkc`+Wv0DQ!Y zf$;%dLEKEtrxaOu^sK-!nIDTNKLv?}F7zG_%>c2Salv%a>DeTMd5Ct~Ri<_ra zR`mOKGULAOAA;9+YslaZv_z|>$9s~KOz$Gc^U#k*XL1>pPE5Kyv`-7Or2&!8&>iid z`n@nYGGe!S%Q>c0S2uHV-OhS2g?0Z$(qnWGl|;QZ(k4my;|v#~nv!LTiDK4Xo&B%Z za~{7_=U@b0e>dr=76dr9fGQ2LV2u17Ni|eq-V0wpB0-x5C=9eD?{p?Cd0nSs<|ST@ zYkZ_G3~~Ln6w4Td-!I18E z#}NzdLaPo5JxL%a2;%i@>DtUb0PuX>I>%$6Qg7hC62?L zWM=j&zz#VBHzOoTLlLRu?JB0!KC}JjyVf)ys<3_j1-$m#Qe_@F@cJnFTrh_4?#iG7 z&*zGUmqo1)5ozd$HMg3LmUW^^~gHGUF+zt_p8Lif|+8u z5TKNjxW9f9iu|iGIn6ry{!gVy(jGBZhJ4*d_sjkw8u|C=KA9QmJ|ieu#P%NVcDLj& z``4SRM}No*Yr%;c4~)+fL^eW$lbQK%AhZNrP@PMybBAmN`|vCK>Qp`qIN0n*RcwpB zpImEEwNpsIXMBQcN1x=5t+vu}v@d#imN(sSR6)xMJ@jX)=+Y(5h5j{5sq}P84kbx} zc+9=gQ$Om@?9aC}K>2q*>jD;W_KH%E5!qtI(o^9(+KLJ<7z;CN8ENCEc&m!|wI)eyN=je70tWf4nccB&k2Ld<+e6alG73xNLbCVm7&XEg zBG+ZxOZ-|Wq+VyvNtL@gw$Zj!B3t~Un=d5~mLL(hf)(foEzhDknf0cpOq{W1xri;* zKPA1%5$k2%Vpp#FvPCBg0U>TW{5RJ4G{%Y=6VOuodrP?iLp@SlElV*k3H`Ir#ysl@!>g z+8U^Wstvf78r`veLo@Z4Xd$De>ZWVaUx~bB8&{2irS`{jVmfEhAKUrvRV7F;g(1UV z1V>$dpY*-Us^(d_RGgmhkHOS|+(-@813e7>IBdS&nVFt9g<(?ZoiMH)b~z{s9Ftl^ z7Kl3Dp31z@bbovE4c=om!oRX1sYLIm6@s%%dc#zed-twD4wd_&l1j$20aQZIjM zQ=rOkE%*3wJUNMpy?4pny5G$&`*uEmhHXvnybx&fIRC1I6xxhlSa0aaf20?%4Jz$+lJIv0FO7rdkT-TuL$ z45ff>rw6k1DneIYia&1E8e>Z7>NS;F1^}vE)ocUDMJ?vs^tZNh6 zk&^~EJ$#VZV!mL0%2&j!&Oi(=->dNLsm|w0&#R*qZ|b~WV989nZV9B>#$<{0nl{{} z@J8e6jV=uLs$;e<;=GD>US-15Or_@VI_f=P($Cm@w&vQWYYk|(Mkt?Dq$z>v;qrD> z5(bH3S$PF zGsKE;VdY+@fs1?E41abj)iy&>u2S!Kn+J+mQ{-)9rs{)m+%jXEm5Ue+Pg%LBU!hZ= zQYWJkJ~0AnYy~;dg*W+Advd$P($0NNz1yTqSQ2d;i+Z4B;pBeKSmf#aVTPwo^K}J| zz^@)}eM>wfK|58xk59(I)IO4t*|qBMBqdSk=0}&y8^=5D?GPJ+LTve>@*7Xri2C9H zxAax#T|tx2)Oc)&yWR4R0u5lPLyxCYb?G^M-8)}|l1_4x|3u{{nP1Txg}iS~x_JEA zmC$-wDS?BfuP|Xw_%LTDXBQJE4g1&xfJCYl|%!UCrc0KXaGkc<NJ1 z!&(u_!V}gMi|(o&5Y*HIM?xpXXh0t_Pi%Q-Xv>%h3!Db;_x zX^%9iBiD~J80^=%-hA3lt8$FS$@o7c9Q(g$#d(149|TZ29>GBjhfsNyELA) z7;C}Fm*dnrS%4A1`9v4x=wiz!Vm0{bjYTp++2L^X<<)~7dJEu11LiX^Z?iTc=qLB? zMB904*p~UhY&DKoRYc_Ge5)eVq0iH0Fd_*ZBDG9CQ#Ce6f%N?t^xl`E*DZA&KB}bU z+ty_&#A+?4_*>rV_zm7!-oU0lyC72twq|k9py5pAK4i%q+Fv_F->D8$D}mLKq-wvV z(0~OEk9;`$jeeFIo`Dy}o{fzeHVJ9M&mVjo6XM@9lt^aIj17D>Tlcok*I96uH6hpE z=%OQN3@lrLF={(KqSDUim4z0alH(x`{QdT#>4_nSun?CKE2N;R14cRf^G6Vo@VS;$ z{3k|EPGNB?v(#a^bGnY4`0m;TaW}&(NSK9LDjsjwaRN$gEQj34eq$q;ejxmJE=J4H z;=w8boo@-cGE9HvJRw6Q{@99Aye3-zfZgy7dY86=R|h;crfJc7rY_mE6#l) zKxFHuEj6&z`SZ}bnvI*1E;c6uqf$cF9S!N-PswAEj$*Or0h$fp+FGHD7bu(vIqn0n z0e8&bX78Nowiir2MMfMt9{qi*jwMMgref3|cNdcV(pc0GxX!%LGV{zspwXrci`_NUQc9C3 zV>j8MdE;wVK!_EO#aPBQQy?75^8JuCYw*i2&Xy}dReqetnZtb@p2At$Q;Mmjj^))N zw>0)zm484riA%SyM+O)hSg%b<0nN@oyxmxeb9>WOFq8RJe&@t7%vTPA|S9kwqakE>hOhrDXc_Mm>GC7f8&o1c}- z(`pTw(?LZJ=)AjpTzWix9NY$v6K!11MK9Y+o_#{6VD- zFPwUsQuC5M9-87jy1^H+D+qAacF%Qo$*vs(M>%8Ph;oQ77nJyG?)02BQjU+ezgiX~ zYv$vBA8GT6I)=d;(*ftggkZPfSk3}UpJnI)5BXc2CD%;%RY9wy7+B{#A|M}UM#1$= z+B>*a&gY9nLwhg?wDJ}#@(>d2vy8`awMf5O&(YqFZXK-;723R83Al7<1u(t=0U=_# zs#_%+4D@4x-eKc)+En1uG$6X7#b7?yP%>vucl>e<0U{a$^Wn+p(=D|{O}C-jj0JUk zLhr*Y2eb?;^dpPo&Fgow){?(BFL!4t_MEcjQ;s^Ppl^w~(fq2}%}Vqb6{g6v9XOS9 zP&SU4AE5!lmahrYF&j|@(gm_V$b$=4qE08xU>ku$!2a3MeJ#oy=0gKcAmOf*5Hh$6 zEms>VNwPW|(Y%oqFvQ^@EMVOMl=!>meeUB=AN0Y)vv#yKzXnED6nRz+QA4Iw*Q@F> z;_kSKq8twvlZH)wF>&o)ZTxh0d6>H7_^=B>xOj=WtmqbKx$0QKr};6D@zmQ)cT>zo zQ#szjc!5NXAC)I&SLPrZ z5o1qL-HPk=obF-!pnVGi89Ucs3U5L%_o3 zBP6!;o+p2?RiOdXUAqliZ+l3A4SpQK9;-UxqC31poThzSRW@t>hUg~6j^b54;mXDy cy_@3NW@+U*-pqVfHYW5d6!1SN1MSOy010p99{>OV literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/1_100.jpg b/examples/data/Fruit360/apple/1_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96cbfd7760bca927eb73c8143e32139141cfa8ba GIT binary patch literal 4792 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/200_100.jpg b/examples/data/Fruit360/apple/200_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b28ff3679d9539ca51a0ac90a075dd4f52b7830f GIT binary patch literal 4881 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 X?c((YIWDsYcg%FTfd9d1C^P>7isWjb literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/201_100.jpg b/examples/data/Fruit360/apple/201_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5729793b61368dcf630da9be5544af872fb1cf3 GIT binary patch literal 4917 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/202_100.jpg b/examples/data/Fruit360/apple/202_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad54850d699b76ad5705674efcad9ba98b53082e GIT binary patch literal 4926 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 O&n{gU{y#aKKKUP#{eDXT literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/203_100.jpg b/examples/data/Fruit360/apple/203_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..79b019e602032fdd7444b822e1ebb9888a238671 GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/207_100.jpg b/examples/data/Fruit360/apple/207_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3876c8c9aa5c19f242b8b22df8976fb0c999c38a GIT binary patch literal 4844 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

b?X7UH~r{}h)eP$mFJs6`rS4c~` za0XxsjdY8~mlaO)4%E~j8HQLlEqZZ ztpljhz+H0cGaPuU+HXmaLtSYl;)d_$nBris=wFZ5!4iRM z)z}#5GOoHgEym+9>E@bfFlzcD2rC#svIdAcv-bKSkhx@^8Td!4AZB(Q%ob+sFA_IehuHfA3trmyPV(%1Uic3JBOes=qufkX#S3 z+efY~^EdS3gSLyGhYn9DtKNm?- zfSxjWM=VG38dGb{OL|wP*I}Ka-XcWT*wLD<@y{0k9vbts6RMJOPhN22lGJskduqz3HR`n`HEyUOp#0pHs55)7`^Hb z|B<*+QU6-=lJ9qAP;;>C*2xJd{4%Bclzjx}ATY1*Rx>L-vNXz$Wt6}7Nngs;I-vn1 z+W<|MUhrpI!|;ttl!xYN%O@qbxO}a(j@&iI% z;=+Ma!JSE&Z${oBoGmQSI=!XcOmxVTYoUopC6;iUc}*$D(A4_hi2V~{0Is~hI1RPI|6=&!5D#s^knEHFQ(t=^H4mG%pA z?4l2bVhF0q`!yH;F(>rcjo@RkkbQ|QeJVvKr9RSihsSuyHy#b%Z<|vp*qpX*@%5ws z1czS9SGuL8ZJBN&r_x)`F{Vi$oMx5dr&#!?5}>TcGBQS-0Z{wf4L3?qE{DY)npab$ z3YXOCp-IO6!R+eu2N_Lrsajii?bj=uB=L9+m0z|Oumc)SYO^vjEQXNbVSdrt;7A-8 z1LHNO6f8wDt%triF=7c*QxT6SsqBw_B;^>LTsZc_X>Vg_TG=S+_ubo>&PCY;YVd#? z2DxHHOhop{b!u+d(7v#_vgL)t-bMPri*|}(*yh~(Q*RV=z8J*wJ$K_bi|*QjiXqk! zn~*brp^D5y@|?0)r8KEqNhIt`4hIp+($utE%aN6Ew>$95d_(Imsd@gK(znJ8KN`R4Mb;(lENx=-uC&oBTs(Dux2XS?r;==mER<;VTR;OJf!o@ zYOPaj`;B4HPbdy*&YOh^rmz@czHk^Z%ZMmESZKdjKH4*m>A?zz!Z9e8Z~+3(-yPFYD6U{P-LBmhNXF3bghN5 hC3U_h>Sb3?)$EuX9~atjo7sVt&2+f|s?(g!{ugkof|LLN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_110_100.jpg b/examples/data/Fruit360/apple/r_110_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fec89a27149f0b0f564eeac99e9a41f085ba101 GIT binary patch literal 5309 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_111_100.jpg b/examples/data/Fruit360/apple/r_111_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61ff1a4bc07d1963d2c04e0738aabd88d655f2e4 GIT binary patch literal 5335 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 o_hy7em#}ZCAo3r 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_115_100.jpg b/examples/data/Fruit360/apple/r_115_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd31e37d160f8ff52f4e5d5108b3eeec602570aa GIT binary patch literal 5328 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 W+tG7ZglJ7G*i7_20`SK#=KceDTS0FC literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_116_100.jpg b/examples/data/Fruit360/apple/r_116_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..488c2a1d7d68e694f87d09a6a9964ddffa522ea5 GIT binary patch literal 5281 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 SC$u|~Lv!at*k4y6&i)tg>r4Fr literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_118_100.jpg b/examples/data/Fruit360/apple/r_118_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2370a4a7f0ea81e757523d9ef69f6a9f533d7f97 GIT binary patch literal 5382 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_119_100.jpg b/examples/data/Fruit360/apple/r_119_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9cf6ada713be81b99ed7883e6fef1d760e4000e4 GIT binary patch literal 5399 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_11_100.jpg b/examples/data/Fruit360/apple/r_11_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19c339240e0e4e2a07998d2dae3390156ce6ba9a GIT binary patch literal 5497 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_120_100.jpg b/examples/data/Fruit360/apple/r_120_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8be6e2b97e9319b364746e6cdd72ca4c2ac92e1 GIT binary patch literal 5413 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 C4tJse literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_121_100.jpg b/examples/data/Fruit360/apple/r_121_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba49bed4dfa9e90a9d8baa670207a66f6f22f9d8 GIT binary patch literal 5465 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 D`}=!V literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_124_100.jpg b/examples/data/Fruit360/apple/r_124_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..860af4b70d48a593cdf746c4d4bbb131b44ce2f0 GIT binary patch literal 5426 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 RsXrzK^x{Rae;rJo_zx;9gy#SN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_125_100.jpg b/examples/data/Fruit360/apple/r_125_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da08d84ba1d8ab9259b2204ea7be0f28d6510b5e GIT binary patch literal 5462 zcmbVwcTiK^xAuY1L5k9gvT|kKRB3-&d zq(*uNk(Pi!gb;3ge>30r&;8@xyUwgN`^;JA%=4`E>^*y*iys$D0JFXhR0kj<0{}A8 z1zgMmS^zoOU;7)${~878Z=|H408vm;Qc?Zu)U-5I)U?!8R5bK7v~+)sG-9BqWB7aX z_apy#m7Ed;qNJmyqW(AKe-$n|0Tvp-0dN432?69RWFQu@iynZVgp=}LcqFj@F*0%x z1tk?V2?jkWp`Mup9|R(SrX(RIWrvWS0~9Qjmj!QWP+c*xr55sJz5OC3pGH`-x{J+p z6bpvfc}39Dv2$>8abFV=y)Gs$BP%Dbpm;~?uC|V@9#r4#fw=|jp{13*gQJtP3&Pdg z$M?CPe?Va5%c$sAF|l!}Y3Ui6S#Pp)3JQygOG-bKmDkkP)i*RYHMews>FMq39~c}O z8=sh*!u*(?SzcLPTi@9Hx%CToaQOS^_yqsw^e-nGEfgpKZZ}_QSm<`-lo>HL zFEd2?*c5MHf|r11niJ6&Ul;ZZ!1zh_{DB?=8NWb$$&$iwu=bf|=y(U#7{!OMiX>>9 zR}ckU*{v>s;R=_8m5Pk&w9WaL-IN|Er=Xtkdxj8+*&{aAGqNfnO(fg)&DL5mG{V4W)p6|z0%u*`RvueL4WOluEm zh@156S(Z{x#Ag>ks;Y)%uyX-E*271|=5*E!af|mDb1&_gXapzkrtHraT>@JgkeyM0AL3ewvRPsQ&NoGL3W_{7x9OAZDHJ5 zU)n|RFR;j-nXsgGF8}@q*yGP7Lt|Sr?Xe-(>W6D@r`x6KXi2R*nMDrOiVc8agjI#5;2S?%n&7_2Khe9{jm~ijwvq7kFswQXFCB&2eOLN0bO2sY{OsQHw4!cq(wRjU$QJi&|>DLA$0nnriPEg%t|&FJ%y%h>D-?Wb z{~ncl0X$ut5j7oaAH_;6C(L2pvYz9h<*rl9+)7G*3*5ZXb7{%UODLM9H3wJ;ajb*A zDwH8utQF^;nft72&9S~N2HJQTn#`NmWYg*mzl!J3qA!6~y2+!xy?usdCntuR*HRKK z-yDI{PBGn{jaQVj=sx}C-*;*xnlECie=Ao4(K@0%^|4cJqu@CXiEn; zb+QB46cO;U8%AbFC~lne%f8&PImApLWkRG5m~&3aw>N|zcmLOqS)L#RqnkIoE_DKo zZku88aOU3~G(WRM4yMVYo`B5`1^WTmN>doZPfP{=?Y!`M#zWh5fySTyrF}**a>M0A>%<)>NNUu4^n7(NO6<9Pg_`-kG) z%IJC^ZdGcG^KGc-iTWNSWh>cjHHia1MKp*NPQ<4|dF5_PY}dq>mk1u#ZaLraXONe9 zmv^jG30v{qC`yxU`@&r4{d?f3ztSs{J*V{bkucw9E{BZn)IWXD{$BpU4b z>J&4kR)dZVmR(L@g5kSXXvoG1%6U$IsK3gN+)g<=jL$}q0VyM5~S(mhyZ-N@0Ac1q-Rg*EH7WG^p8v+qwLC%88~eAt?59_w4CQMl__ z-hc1}sec-_6xPWHJ5E2-jYr*Zbh-LGVQkn z?drpyAx!HJzklO4F_?)T4>NI?8LRH#?391xpSQrM48;fi*j)Cepn)yNWOq(lpr`M2QjrU`u=uitT^NDKP`Kab0Piri+c17U?>?6^F(>*HGmXn7j8}LM1 za9NmjvBFwH?Sh@p9Ps1n_!L|!AL#DXvuExE#ivtQ-z7dpD0K;Q%s?VKZ8=x*o-@q} z^2VPchGo9OH0P*nnow$2yk7oQu3uK~ zh4M}m`#%ZFu+A=;PHyTP?AJ)83fcZs8&mBIQ5CE(y}zCFbx@LHEp#}2?eHO;&oW9J zE_dYjr?weCzZ|q$z^A4Acw{k9mUDi`FqrJjT6-1$V7j=gA=`1_wbRZiqd!4nKScC6 z6^o4ZsdW!x_PNv(Y9p8H_cUeO28v6&j}Kc7fv)LE%4^b7d2tyZ4{jmvA5B`w+?-%t zrmx*P*m0=Ic|B{=mNdYhz|lDF^4SBm!STTgaz%4^LuAE(UGjj?LwIiw&MU&8trl}+ zDGjzwc&Gq2!=gagPmbMrtQ&Ov$mJ-E(Ne%NZPPa_y@@yP&DtRz)2Awm6+s30pBR-6 z43*v`u2 zcB=ADwBOQQMovd|Ly~sdL>)Kdr1H;d=b8uSj6_i&QBWMVgDzMJi;88CYro#o)R0M= zv0D-jXo2zw+@}}7u}U-E5Q|2?*2U>J6gWtV4`03NEUI_|iXLk@w3=v(OP$i+C%hwc zKya;2upHwasDhH8?gD@9N!LCVK>%-m9_i-DpKfP-^F3AP5sLi0QV?t2%E7^mu-LeF zSzebn{D`-LoDp*F+L%OIS0VQK2Jf{$a^{NBe0!d8>WN;33kN^Oe?|G%;D_>r6q3LL zYh~1nRbfm+?fgsz90@(%kNf1+)R$HHd;4-K#Jnm`^B&<6WZnif7uLqF2DzJa0%<=L zP!zZardBp@n_d@!Kc{qcnKF8(*u>&=S9l$BBw}r)N)ZQ(5xQnavg_QW9Y^MGLix9% z-yZPF(6Ut9ZPSS6B%T$lYVT+|MmA~tEs;j>%nmuLOQcO$;^%V>M9v&7GTbF{;DqZ$ zZZ=xDM%+|uBfh>?COJ_n7cf}R@rG1??s#^gSFn2V!b zc%rB-N5S`VkVAu`Q=+9D$5%?a_aUnzp%K-}&N!30OH@WQ+F;xWE=_e!{98YMkjP)^ zx)uztn%?r;G#hgasM+4+TVr0!Q@eqoEdM3mcp~3ms_vwtw0zmeWOf{j(xo-=Dw_PQ zrk)5lU_r>1oIQd=l=@qa+g7yrN*c>TN*07PXVKEbwFSG>D6KyjzST=0=;twTV?%>s z)3*;VK`Dvtc%tv<(lRNfYqL*$UVAOny=Bbz(WwaUIO~&zAeq$>0R=ce52QzZjZt>z` zsT5~CBMB9Q!A9lNP-jnspVFTl*pTh_s(`8;R=dif$SXD(3>-qEj~oK}>PrzgH}Ks1 zY=bMptOFXm!(I!*IX&|Ma+EXRwCfM;TBO+)B<_z28W+B|TKBxRQP8lJd1Kjx+SJGv z?i;z0ZuXQQ5n~@!ta#Atda`{|`x{QAgZE~PupB-pthg8Paofrh#}vZ=$)>=_ zze(X&Nt*6$Nxs9Xa;P1YQp&^sPTzCG`OO8;WkaM^iy}CdgnqxHQ|t>4oR!S0bp5`e zz|A>n@+I*_I$1PYAUTK$4d?fNDVBPD$r1Xl`_+i%W}^4$St#3C<(VPj@@R*PM?}tM z_b{Anf0yf{^K?^}*ZVhXAg>6GBZZ9)YBd)WExvXc9_Pyh@<;0+jV67{THn5vNQq9o z=R3Gm#widVK_if?q4ow>a)0^t=>*4TmGiJAWUaqvZg)GMt+-k!Pe6a^+;8QMeltE< zyD5Q0J>zfr`8gr$XAaC%LC4gKZU6Y?iN@&J1u3kB%dK)fKi^PmC8Iu&ZCq7jZabO? z+K?1aF5@ktytHQo1YyX+e7&9jX*9M5rU&gh{@HBzC)C1aUlxAlft=8BBIl*tduyho zcbBe(TflDYCh`z20IQ0CN~zSs9vFuS`Ub8si+ru->NGLrS3d4$TSJiU>vaYVM`3T6 zL=`@kW`^?xt>7b-kczQV9kY!1TM7e1q%|#&XV{}JtHRNhYa<1p@Q>mV%BTtNGb0`4 zUMbz>7WL}(v#0E$X-JzunBv(@#4$%;)O*LtwKm#sd+rS;^6 z&2uFdQ-xxEZgB83+qWYM>-u?LE&QbuB%itaELI!d`tg>~sMp;?hPJJoyI!K!7%y&aY00*azMge0R)M^uA`CCTPo#DCAZdQ} zJh}2njmJ`5Ib`)LD8#HM{*zwnkDk%!=-!j1{rFo_atSq%@P|PE9=2|3fZ%thPrqp4 zGt&RZkD0CKH@8~c>ns|ka5pTDv3J>ov^mYqdBwv4;2)siqlrz*p_W{@qRIGFyBrDs zM-u)!Yv&)8#V!DP-R1PV_^-O-?ITlMofEq$***4S<~Mr7S{aojLsH4tn3V#@!>MNz zGonQ=>2hd~l~-ktzvx@Jz4O46m9Lop*TSoVQe04Xo*336)|Qk zibt%A;_6GgR&>v4Q6{>2k5gNGLza=2F7O$sILx4WuU9Yi zjj}=#LA4PL}O6UV|Ke0o>1+6wcBz z5?{L9?2fGsE@$Ft{F21gc@!m8DFAxlUW8y6c{z1qSUuMs*|cqDH$R zXS%;`x?BJZp={eT6$`UGZ#{&1yP@omRwbawK95Ou-DD^e!o1FBM9-ByRxE1jRgZp0 zlnyqU2!7;qYMB1bR%f>9sva8>n|AC++7FlZ%Biwp)uN?+C5APBDFr<;FnFG7x&EB) zL;3qugPVXK7`DB?Q%kDvyI=>Lb;E+-d11RSVu7nJMY7aQLf~0dvF=ys6?>QHyPUjx zT%zMhOwtbzB5m=RSQu$0sL3I*S2_*YD}!7bPEoNQi^J`$>az`5$~r|+*M#Yc3Q}nS z%-oU}+7_xIA-v*!sXqhy2A3LW#v5W&`-=vRy34>ICTmi*JE3n@r0BEU)PbkKSf9Ean~yZt{21s ze;wt?ATNie{3Zc@7G)!ET_MIP5IMmz(`t77k|h6N;vl@v?@I;pRXYT)REYSFzTw^f z0Uva)v9>kh?%Hj=>fAMU(~n$wD!0if+0e1^j+)Sl9MklCQ`~da5RBT=Jo*PUd>nSK zxdZnN+U49hxik6WH0@Z6$aW$X_1C>+H7CLzu022Sv7G<`M%qjkC?i&(2^)t(nJk6(PjlmPIfWyq&`%UE+9yi5|t)hI!Fmsq)QP5L!wj*MS3SlM?|DU z5J>=0dO{5lk{h4j%=`Xx|G4+AJ!{Q5bJp4O{p`KgnLUR%PecLC#`;G302vtokdX#J zTm*Cha3dA0Og%)rHTq($e0df{H3KlYAKOjibN%gNhlGy(k894#wAih6EjIZ1qDeo6-hBEJDT(ypk$$9y>eZLn$6-Njc@?_jkxT$v?90aK66-3 zU_=!j1;*3Sb8>;WdBm=YOGrxHR8&${QB~8ut*38bXk>iP%G$=(&i=lOtDC#WV^6Q3 z;E>R;@Q9}giAm3rpQoheOI;`v-?d$0xYcv%g$q0L6c>Nb$erVj*#n|J?(czg%SG zVI-$up`^NUotjn0g63fWoA8Y|TJ~GnZ|gqOi6~fNI35K~&~u93M2lhnqWw$uKLd;Z zKau@Eu>a461Q;mDNSjB&0%!pj_>xo!GWc~Oz_SlVHXKi1zz{C}RDwKFPq1a7UatE) zHy7R5oSifknpNUPR^jF0CwTTt1bV4u>L{uY;o`^MMdNnZ&ZHed%VLv-Kk51m8OR9z z7%Q5`Lis9A8K-(xIKctZT!+Dbj8e6Nu;&PW$k^d!dSB(rT z4GplNk$qii`rgW+CT(tf_`HT2_2KlZWob#`he|%~B+NCzKKt>?)`c|a2;MYi= zee>tGFz)v6ehzYCXzmu*bau&MA!xiR1%Kq>Kop}$YQr5pw+PP#&r`t~H%E=^2SQz$ zoHDZYj$>zS;C+MPp@q8dEvI1Ig0l4oBEvb~`FMMk~FLGWh%!&acB3sYcuk9odCuOj2JNb%eWL zUn-hj{{^f3Z9h)&&`oEix5g;+55eHLUzd^Ha#bW7oTr7+UdG84XYFKFdJ=&;BCwNC z>oAYEuZz`tgL`Ie_Wc3Gm<$9Yv6#Y5&i58l%KDn0tv``=#b zxhIvRN~J$z4cK2*sVzqMz>&NblSQj2|2~J&=Zd4RgmbNCeEWU*%RBZiGwSXd4b%Rp zr9}||=33*6vhHi+7=N_ea@w`vgOD)MG+$4_*PpKCxYCH%aMkk74LdVVSb1htd#fdw z2L+GG%uJ8B{mRa?e|02Ugws@7@pNsqPVPhe9P`J2MAZ6so-w3JpG{wM>Fw%mtP_C| z0Sl}&dN#wqY`{fD)AG8zHDy82Op1p2Q|ul~_#-FrkfVIq$9nDIdIs00tEp!qE9EmC z3Emu)uV_bEp8$C8-;fL~wnKl~Klk*)d?@&m@>mUzD4*J{g2L|E8!a^)|0tiycISCd9NU`)aMpc?A8ies_+R9x2yPd`bMHy;4q{Oq41y`~;QPht5 z>M{sF@R%?O2VI#K?wG1N;)OIcG>B&Re_qzmVyccxTiN3S|LBltb6I@s$D~yq9eOWs zx?fS%Cz{`Aaum}!ws8C>>}31s~Fb!;FA5tz+Q%ElP<`UW4yYqqijPVvcr|`stXtqa2p-ZY`4dD9Ty8PDsb86%N5-U z9LQ=@CnyfYOn@&<^>A?&`NE3qsOEXDr$0y-|8+KPG1OcF+tMF5cox8+ATAZw-gQJk zP^^t!g!L~obv|@ig;RNR@wmUQa1tBKII8LpZ7BqCgowP*0TRG726*OL0)1Kq5%_GT z<&q}Ijw^Zm0GC86JvjsH(km!uYn$Pm@0lE>f!d1;rH=*a3O-j6`49oz(|zr!Q_2U2 zi(pg8XL3@{zG+#;m@nfb1d=0GWNb_zRJe7+Mma8r-4}x_%gl~G=H1v1{x{h3UhmyN zsI5A?gCEpbi|B>Q>m8(m7MzYRGWs-Fs_=D@%pqZYaL&!|iD4(}w2( z)(Wy$K3e*ldCQ3w7p%pM=eZu)kV7S<_sc6oXBP2hEvx=XitbbSL_k;I;S*hl53#%n zb3!Mzu?X)1T%1cV=eMIbMa-v8ug6gi2*mvh>IuYSIr{JdV^UWb>9{ZM`z(GB9Ll`- zI20p?^XPF_>4M*lpPg3sY$~2-hAnKs%R^?Z24ljXIwpTk+SyK{1O&fO@-85abBP zxeu_?k%c#FfsRoO2jHvT1d16XYE#?{BB3>|q8mFj4f_p~-m1S7EjeMk85yz8s#@X1 zGaoJ6JY_Dzxo8n7J%242XJsC7V}QXcbT?Fpsq$)f6D|@RnS~S_An@YI&_;IQ9=*)^ z$i`t!leCI;1D_{Gswz9qG^pBS0Y>cY+3H#^TTa{A1L~%Hc4wyAuTLPx=iJeCy?D)4REmAQkLlOFaA|Wq_#Pi{A-yW!81M?YY1&v5lhF&+ zNKI0-3H)W^T=@zQ=5bZNVc?YkeNhU!>;1XYny#r+VUXX>&{$rSIS4lMN06;sw0APE zH9T!^cz^kjZry(FQLv z6BZyC6CwbFk6X=L{@H=HgZFleKpG;vT9k}omg&)Zhek3+e&uN%&?4#6mt(;50H_n^e3*?Acx7pYN%Y?6-?aoCb+p5KKh;-a-6S&hYbu@UE~8rNwz_GRfrr|{qQu44 z!%K`AM-@mXiAo=v`nd(^&CSK00W&OK?TwkM6G?t>B@t^rN1KQ1{Ntf%Xb` z(4*r5HkCHEgm`Lhd2a*-XeqEH;N^SE&ygCX-u42%kV?-_TQ@Y{e8A?5{kp#D@oBxy z>1m{X8;iaF_0n7cZ0es*^N`n-DTYY89)9Up!X`Vn{&}2NCs%*dc@0Lh?!AkNnlx&T zVe4nN%&Z_JB{S=!OvFFHF_2=MGq+|>r z*MaWyKH1TWl%gN{9r&)T@V6Gm4xDI7zG`C1WRQ0}4aV(IXSs6DT zBc0gY-9B|Stg#LB__XP4PM!35HJAiev#rXps?)wvg%5fxa_*+XA?1NZL?Go+ zA$|;>B$F&J=ZNU4G}RAPn>G$FXS%aa==$j!hKkdnToe4AtL$k5na?R^ZKb5o9e|F)Z` z+%0p(J$PftdSR*d!7Y18$go^?(P>z}T4TXfXL80+ruWvqnrxYBk$U=+dgV3QXG&d9 zw;k0BeK6iz=C~`#+Z^u+KOrrMM7;P%TqxnB_da7OXXVQ1Yn3@4C2TW_yVzd->zfA& z*--jZTOEvF*Q$o!avzctE;BGQJ<4aH-zJ)yN~nRLVg)fK@3c@*cs)lo5lG)g6M@8& zq5R`BQscx;I)IS!6L#Hr{)t_&!HE>^o@;>k?x)7tQ5WpjEpDmYut<2A-8^z5RDPq~ zx6!6~7JJR+7;~FLSPx`v%_kKL08fCDDhucA16}UGm_09C3xU3XR9X`a7nPl=5!gsH zV^MZEa&}QU-?L}-k+!_nR()KORzKi83if1Gxze6_$j5h~W&?sM@;PxCe`xoxq2W&% zt+VLA`?6ecb9|U!MUV-<*H5^Fb}n%j-C5LKFe#l`!AaGoy-Y{VW2#6X<|(wby)WtnAL`)RM;J^ zOHUYkD!($^YVegZ^WIlDZXp5*p$H#HBJ#r$UN}x2Qt@>&MK(pSKt(Jttam%~ox0zT zpg+_7c$wfz=)9h2i^|roke(LZ#J%Dj3`RK$}4Bii$PP3BTK34DUto4xpV_|FHv!y!vDwJyb28 z)-CMWe7rvv5OI*{u)YSrzt*I2<3w*V)9;dkK}0tH=e+S?I(uTvJKfODwX ztc~#T^G)ZJWwom-MlaIqtD@#|btUXNb@M{h`JCO1b6*-6&uRMMny?C1*s;_4RGWQ^ zVL_#!)C9Eh_8wMn)gX1dQxcVR$$8VZDCukHadUp?m}tY7Z59?Qh8(+CVAC|Fk1({1 z@!adrV)L4H7P+WWhxntH#L&+o4wpD}6c0a7q#3kkd{W~tq*PITxTtuxc+Lp!YlgRHhCe| z1h$bi+s#wp=nXpgzBa9(w0qZcom)xO|9onhp=1NXj|y910*MNUIF>}mc_5L z=P2K*<*l*KOJ~;Eq}_3rIoE}J*3@#XMJl5YmzknGFp&mRZ}V4FSEr*iDi#-(J_`%b z57)iWq00M6ZOL1qEmZQUe^BAAm{^dpWuBC??9llAWjt@kIazpunbVC;A~1CQYM}FF z=daf_*N{Btulvpz)6g1>bA19llhxb77n-vw*Q$1|*pN|1;ygs2%Mx&$*p)QrvuQ6gFpCZZ>L^b*lK zWAqk=U@&Ihx@4bE2-s{|T_dVz!sB}wNMf08(So^+?uJL0NQ!{f5%V!RbPR=f_&wYIT z`~w1Cz6yU65g8R76PuipnubV!my!7~zo4+F_)|&g*Q)B8+PeCNZ|y%iI=i}idizF3 z$Hpfnr>19?(90{UYwH`ETbP5xKS#$W*weGWTqFS5zgWchKXNe>xk&%+0o7kF64C&o zlQEN12;QV*(RfH@=f!$eHk6v}Zc<)l8;y|MqkVRJ?_pXFVfiHy%wM#B$o_X=VgE0( z{{s7Ot{H%yjD)y(WXu2vxWIjkbx7`}cbAN3f6Ow_4Umkb+@Z_WI5UfcPPObCfu@ni z!uxZtio0%bd5j^$E7F!O6oO~_>#XU?ZA=1WN!KIh7y|imY?^r51T;Tsp!fDt%TC1A zezak&Let*c-@7bU5Q+zd%|GL5hXh4E%-yW{xDw3{!Ax%~qvCLeH#&x5_=Lt3_AV{z zd-zG2nKif;W`gYyeD8*U7x|%~oxzcwo%L793&G*WnTuZuK=?`s0bqEcU_FxDx$Lkx zvXS0-WB7&=(sAr$XoeF{*L&`Z)BYaBKRvp%kcMJV+ND#-UOmdRwe2S%Cr{PCESRj( zC#JBE++{k~hAu#5YQ|KRFiOXH*oX>OrNft_u9gXJJ&Nk+8MS}w?O6K*PyLa3!43<2 zqi$NU!d{KahgDtB`n^3H1&mjtl2?A!bk+M|L5rA#RiR4qpdhpM33S#dv+Y7ojwMuk zo7+?)>1jT{b3|P2ck98k2J2I2Fov_klX7bi?MZ>HG8t8%10Oce7cHt9gZnh*8}18) z$A>^hRoMvuMI-?T%g6Cyg4IF4VD2FP=WcI>A6jB_ZQeir>O_`3F)4|;$rIXZJX7Bk z)UKrHV^}u3z;3V0HH_a^uUT0TtBapBwHKt18$twfQzdmjKU1Z2weje4o0ac5u=*+`E4k@C@bXIQi~^I&;)&azLLfhUhXY6G$< z(@;Iv;9PRL7SLMnX}`6^DY5$vwgPi|qqL7seGO)STEg0B2mq?Z60|#RSAg$>)o6A2 z^K-jPSqO}yBX7Ck4B2!+uxfX6k9Q&1M0cnDs~-fZwoKLC)@wq@MY+2+aHUPO_0KD^ zwVWb8#$Ja<^5Kry4<>h0Fa+QcMs0PnbultCZm`sHj;qn|Q^(s{2Qj!{q=~n-WdF6t zm&|~D$S(rmb|W6PU#7~{%=XL4t^ym%M<*`Oa4$%{TQ1RH$BzuoLfwPR^o225xLyWt z$EXMJWWROH{+|3QB_#)PSfPxLarA{2M#7ph#|gmokj6z+LP3vrjSYm^B&cNLdo%v+ zp{g7@{l_46Po;I2q6S|-Byf2NcHv-#*qX7gY<(9zat|Ndsf^KX1nXjshUh|cf_p5E<3siuHKBGr|kfX}&6Q0fV&aA0Y_epL-? zdFNDLj{)~%4-aVQH&eqmZf-}jEGa+zIr_3NwmN}ycZZ>j(4i9;OU3*CZ{y~hGlEkA zS*XG5URleuTwaGVyEbcA3uLzpWNZ%oZRM6Q)>=R3Ot%QY{(2}DEyb^ojR~?VcDcb2 zs~o%7D-tdvw5BXt#H9ICo3spK!|h^!`OPGaL{CAgz{)Gew4=q=p{ccHv~84O!jYOx zCv$Z5_03+cpD*|D3M&Ml+VJ(qef<*^$Lw%LevgewIN6_KZN8%M>e{ICA6zkOzVnK| z(|uN_a8}Dq5m5EfW+9x~gok{&t#)(#q5haup}16aPk@9tmq3`rSrf7R#fX(@5PX|> z7^q&v{b`9&D&sAVS5>G2V}55GM|gXp<3J<7fC4R*v{Z(AZ~$EH)G^^8eYuHo1Ccd* zvg)6cYkB60r&b^?z>VR=v5p>Z4X=$IP224&#aDb7#yQ)+c$hDJj}^7dz|*iU6y^4Z z{Y2SRB8S5bcbFh+Scc|x$v>O>SY|mt``k3?`DOP3<2F@2VYyDlM_P7?eP&_Q0%0m^ zu_uNDL($FZIIU5+2blsv^OTc2?C`T`g z=5>#34qyRVC;YWfWn;hmxGSIU$L@I6(x|Sy!6!0`&?ubEn7Aj+!Q74+J3$U5%p`O) ztBm@cM@0rsa5%C=Sl5wXajp|E+ak|pZKPY4l6*OQ?~vyOe=q0;5s_Szc-QFc6f$NMdFdUblZ6K z{dNtU9wjC!2_wloJ6wti+XF#7;om$Xd=t{!pj5Sbx1Ul9z0~NhedSQAbHaYu9j1N> zYt>;{UKic6B%Wf}SQmqMc=-j}vhWH2Lt8Is-{thz#0<*YAe!ykQ3{bY=8)a)vYb=V zCLd>o5^!b-gQe};`HPtwrcgOsk__W=F$1O`>+{>~Hq`qqq0L;HO9fR%U%C%o=Xu|> z6@*S^g2MEDC`OHLmr*>UM9FQ&=UR?pTh1Nk<~JVL6+sq^yXr-35xgp9J^bv=H?S!k zD)6(|Z6HtNzN-$4b1g$Kf)=5~X<=}zy>&$*@tOFDiKz7BgzMNZ-z=@=O>Gsyq`RBD zgMrR5tUKv<12d9F^z+HW3a+d*F`;ccAbM}x&9C0{ek_!HXGa++g<*=ZAG3X4`QjDJ zOXRrsbM_LACvt`j^1#*`FxbtJLY5y3CR3&8UpGA4IL*{dFVqHFNabKMJu~a|+XkgBU@XVp8YKb_@ zC%Qqrpoht9kPM+X-eV-U1lu#vPOQXsNIr-vl~bPB`?T{_Zf8)?P}G9tM6d|5pDq2&DNik%08G!l!%fYV zvDuSIB;FS$+qJp5EM+if6@t(kW;3oF{6W&ftsWkW_v{!Bw08S2QBsXR=O39<9m(fb zGuA;iFu~ZdY1e8IAts2v6@F>?cZjLa-|U8j0&f1tELfqgt+t_(_4_V zBoW%FUhW-3eK;!fWdE>O?4Z|XeNwd|&h@amdRCLa%cvhc#PXm7TLb-N^;^I5MIR-# z06kN`&_v@l+B0mYMoBMFGRC~C-=#d2!r*21mG#MzEy%Fr_mSi|o``s@yCW+7f&;_digVF9j+X;^>q1Q&2-8jGTN|X>gBj8)e3x*6d+IbbtS!fD#zV7434>Lch z?>5lbvx%p?X`uQk@N8^3{Mda)%B^L{XHeQVTX3)NiLP*~{`>HH)H&rd>!Pp6ix5MB zz5DT3Z+j*Esd(EF5GU6YSN$|Ml}{qW$^GuBomOv;3E*uIi2T;>Q{z9>Rv(tbk|1x# z?mxek~J4eIUluQ^@QY874*o@+#9H*`rXBl#fv z3oX+{nJ~%V*$+nMEB*|jn+q*2AXFg%sB-V#B{^4}x54`N>C_M}0f^?25jLk}N3xTo z>z_n2QoW}5AQ&bzW0iVt>B~rg&vC0?=-NZO4D*&1PPI84_L$!3em48A1`UC+o+L2I zy<3)DH85N(&i}K4-&NNpL1#Y-xxQt^dl!8-0g$QK;owHG<CfqheGIq~%X(@7#Mw zLn}E&(4ytvrOvEBZ+Qi4FSm&(id{S z&U|dZm){$ifu0q|!d*+$26Y-A`0>7bkiTXWO|$t}VTe^JLLgliVP4dDXmQQOi7}rl zOLo;fDC~KB8Ct^XlUDn^XXXubb>T-9Ae+hZiq$0M{i;jmBz?Kh_lm*B&J4l#M4RUg zirZ(L8kP-N?zn}c>KBC}?VsGL1@BxHZtkY7aWvJn> zyOTz`A|GLPfO-mbj0r?NYth}`V}r2J6!3hRpXG(t>=N7V`J%8x`GCUKTVw&7wo2P) z@N^Gc)=gw}ugke^@Wii!Dz~lo?PY2M?g2(=F;YKP!fkb7ZI=mvz17}q%kj~^S-W1D zRpc+!*m4twcd#ipN3a?mDKaUvDoi0N#8bA`&r9|g!&uCiQaIBqf7ruuYgk7(6JG>E z%?@Ejh>h46?VS_?K&Of3$RG`zMO!PLr46Nv`PYoX?RN9rUQ}pSzadLnqi|yv2!MTi>}RH{Up8Mi%RB4_TBc*`4__s(u!rEIh}2l4Q|{ehdC z7aL!h-*CkM-Vg`&l)RBSv%+>7!}vH^?Tgwr93x%q?c}b$Wz0(aADOl?s<)&;kMQ%k z`*-%I!7EVbU?hU zAK^c)hBth+=E=U5nO2@@*{u?{ENS*y%cs~Ba-mCS-r5?>4XnVAKoK6#TbOW$jAhqy zKW!XpS0`>?Wf#+SyX>Eh3Yu4j_d94JHS2DD3N+DWJkRzM<{dnr~b76d|A~QBz@0TFP z6Rvo75N&(OqEoyIp-6vuM7F>x8zlpE;OfGeZE#6`pBgcW{i@xuW-%|WbI||(t9CnV zUo!!#^n87Z07UPCT!&_ZS|3m>WP7c-@X?PyJzYsNWSz^~_yGUx9J%Gq0G)o#_LQDv zQ?E5Y+-6L?E6Xh*soc_UeNcdS-yLX=75hL+bViQzW5`9epM}l3F_s3^A0sT>E4;v2 z?PUKdS^uTNJ`;|87Ecp%&JiqmfpEaq?bj`l+whM6+4Y`~opJxO@MJ`PiQCbF`+(|U zHB!xIBvxYJr}!xTXIb$yENMJ_vZ7L^dSSba0LUGj!NL|9uVEJ7_$vPajwf@jeu>?^ zYzgAbNcYl3U{?o^I?H_K_MRqNW000#i{@(^6le`C}I|I$9dKKM#Kv z`S(+DN)U*W222J1C*}VXNG$*(HDC+ag2-+HMlwI0O?MXY(8N#Fy!XGgvKkCy z`6R48!YX+O`6L(laevVMA^YEfh5f(C z{tN8CxuyX+5ZOiXK#YJga7N6DNzk?llTI^b)i+ABlLap4WdN3i`F@D)2ogX^c9w~- zw!GX~M6|@&2OAvPa=@Z0hi)}Ccyp6qHuhzu9Hgyfwg6vb-XQ^D?>5ds*r0405@6eJ zz=^!#NVYUaeEPZR&aHc$rY}s`k~~z8k$vHbwO@sgQC3)2H)g+-p!>Mp*WPym&1EbHCe^^7t_%xcxZ;Ofv7A-;}&pJwNW@ zLCk&t-dxZ7>=R<45m5v0Fk2f%z?CEG;jb!pE5B6xrdK;45F!*@d^s z+Ed+-xe$q}F{mO=0-sL^EnSE0`;RyTM8%Z7tnQHm^@@ITpCk*lRP!6JRFI|oQ2xaZ zl8XL#=RF)U(P)O@3*oLE2_03VO`~-Eq4|olK=tUv-ICrgMgpqKJC|AWvT!-1CIx%0 z78Yj=6>&ajcs{tg;<-9VO&|dna2t}b5UF%ENDW;{Z{6BB>21znm_+-UlT8H0PWRpY z{SitPt4X}dc}^37MRel)NPyZ|6*TyBy>K^uVT{yz)k6W<)>#*?L1xBU57pyc@!IFBMi2YWWd(@iiO6LK3pefW(5Y&N z#O2gohz(U^PIE7$hy;{36S+T}8W5GFIb^n-u(2Ar*)aCZClg-w>AGY2{0N`o*Oc|e z)#5(3VS!7{<|N<+f*@456@F3tD_EDN3M_2tP96sdNL+Qyq90p(ddSJdc4L;k^`(dk zj7!Gx{PEhT(unTwE?u7@0gz%by^IMC)h>GVso&`0d~}r}t=Y&+W{2tO!~pz}ba_HN z*K4&KM-;FTD+zx&k3pl5zz^8#*Cy-Vs`uWVDLmK2_smpuaxso>2=9Z=sg*B8tPeH2 zK^RO!ekxZswar>W~l?l6gX$@ zUciCSVsX7UYsS?W!D4atgt{H!70Ve0{41Qm>%$+rq1g<4NuzpI(^)qrZlt)@+CAx- zzL~fEg!=L?>8&!V5wnqIr@{DbYjUzYz%NYSF@u3Z(PFWXIqz`O22R|?DMFt*qT zxVzi@V;>4$N^hTK-^tvj=KP^jJ%Q8QD>@(nN~xF>;=+vm-tMrQ?0BEL3{Gwx{gKQeUI+Fo{5IlrsYEw!J}j0wJfVkxw@qd?LbEh7W_*>}?A-4F}BsgJ>QAei?%y+bY$jZ=$B(oswclx;Z z+q$|uX{-@y+2;_J*4`ex{ywG$TbBB=bp2c2{`+fvOab9BC*t#uhm{!42fsRbJg^yS zG?bZgHWJ+p>G?vJP%C#l@93GpauRn!$avFYxLojkbt_0(`1SElZY~UcsN^%YT9Mp+ z?Q7>psnW)zh>A#lej8q%q)P&$@m-lq%Cw4kj|2JJ^!UO(Z;h~pc;nMsl_ygOs5XJ6 z%ijvAi9NA7^#^PVo)+w<8h-bcFIAqX7rbAN-m|r=H*$}&IhjcLMjX+Vzdld9BxIKo z{Jtt?C#W{-HV)oK0=U;n03($0%P)tFro>?G)y$%2eFkO@Zz4@hEL6d@sEy5Y>gN=lNtQV7t?EFRq10GFn^c;jZlU*MPyzT7z7Jg)IQ ztx({n(@uFK49cQ6AiK}+C3d;e7`a&SL-E=W8_c1)&z3`V!SAyDx~X&H1fzS7y)R&A6ap6H%d%#pgC zKXrwd%KVdBAo|0+lYyUGyZe;JgL|4ZVN<8M+?4R&B%tzoXhBz+!OW*rK0yw{SMJ>* zv;L@6XgecJa-bMie12QG{zSC)tVXm?Xte#lB*vT7MOhrx)eq@>2G7XwqK8_^Km^?( zO^6!=*jo2C?-CN?U?E%!GMoZEk_a6LWD4{omK-YWc4v{}(js`-mf(A#DHcc@_-c_j_xYo zP?Fl9cPbvFuUh$jVEyRJ<|R;8`(G3^`-&oFzcxGsUt^$M?Khjk2y57R6YRiuUt6!E z1nESKtW6I%F>$&v6bkW%2d{m97q`<&snvt3_#u|E5;gy6rsLS<`D0dt$j=$dbooeq z++6AcCL+=)V!z_ZCfeU4m`axDv^gIZLRNqFEkvOvhQb9B-gxhGp@UfRX~hbl^c<@j zaL&4q3{#@_Q+qm|i!<=6H@g&37m3xVeG=z?WVj=bo>i`Zza~;*0~hGVd@LSI7cyrM zA$&Qpp4FyLW+xlCS6Eo6l)Bh-ORs#^zc61ERMy-NaGbrG(XllzN5=P$Y+ zI3yv92Rjh%Uff&MU+55!^0f;suE_z7Fv7S$&1FB(R}Y3)!WZ_!R^dC{9SWHWXV*7G zt3W)mjB)#0POVT)l%q?auwtc^3!wF`TxGfXo}R!e6kQf%`t>^&9CL`G+C(#I7dh1b zjrU!h`k}!e-zR3E!tWu=$B^%bN^mP}L)gta3e(Ybe2E=P(1VB~Jmk^)@d2Xr@qanl z?QRA_M!Dob9JNk zy@na}!t@^8DT>^}pLPaU?_&x4Mm0( zvuBYdZr+mB+K%~et}J@K_vzA{Ks|kCpE#ol`o)^@(4asTP20eIrnhLGHDVZ1;4zk~ z@pxb3_d=sLO2U!p;mu~~t0>@l9ZDKEK5g07GEi~*@z3~LLEf_os_)?LBSM`gN3nPr zwJ^HMKRa%96rOO~c@1WDNkRkW3aN$e2@kiF!8mWMrhXO?C{K2fDj&r?%W|G}4cq(0 zturT!2SsClYUAm;>h4%;#gF{BBw}-HZC#70VIB5M*y>#cKe^}rDgY++{gCr8)R6B@ z@kfvDkEn(=&mSg(traJJ@-$EWHa=|FJgQi?oMJw|L;`RR@wo(ZcN}k97VVf6r+rnl zbJo&aYrgq9m#)U{b1m7UoaQ_fLB!P>_YX!((VE5DFt;30 z+NjI*I(JeybH+t-xhKKCe*6;Rf4j^s==9>pCP;vl5U-!*5mgaI{le?#f)3svr2i_} zfA{_!Gg&m5?XNmnJ~|9llLYR()>}KI=jA&ivCG!%&{M8JFVr-Ga2v5TtGrEi3Z1q1 zeO3H1ieO)L{`L*8WU?TnG1^#F5eH&7~_UXqr6`v-55(yBss0I?)i99d#_ z_Y15+5r#58I*0Enal^&BUT$QDoGC&IHIE$jpr;)f{R7!|x>AdJ2GoRec0qpJELk6- zz!P=KjD!z6pVYVn0)N(#J3Gh0g|4w3tSJwm2-Wa$yG*v!sdjCdBNYq!52Q; zvu~P5v1Pjp!IAG45fn4ED!Y7g*6m4pQkot54jBcX<#kuIEK>y84hJV1wXHXdJNNQ) zh6tb6lKgt70ux8ajt7^LpVv#Z>3n;$rIUkYD3n^t;vZkVI|HHXK&E)3UYzAf*-M($ z8E(7Wm{aNP3_2{E?{`n3o4hlG{_PK{;ntfU{+Ps`4t3S9wM!4%GRLS|% zl@)_LM(WR#9wQ7PSQipNWZK)rQ=cUv7U4k;MqlW02I)l38`SNsT%M?Rk5jC?lK^_N zeFIqb4>hCIg1AH$RB937a$P!kGj5&-dJl#Un(6JUL%4>Vt*X9_ZrfB>RI9hOvpBLc z28X=@kHj>n2Wb9`XXEz6kVi+~_iY8l`h!0hy z^5yk$i>yZn<#98t$u>5xKOUNu#rweb!b|yQt4>XIBltvAJlSow#17fY1Ug{*{c`2? zwR_8&U0r}p_C#~Ava1_`C%t8Gn%cr|29KC9YnkIsVTb5WtvS>%k?}HJAz~XOH0n$y ziyJjFh~a0&Bw*oU`>T;#<4e`Ujh@)>Cry#s@1I%z#v^?xCx&R{<>@Dn8$vBvVK-0_ zX~moM=ySHSW>E~0N-6264nD59yNrkbY!V*d&DnDa8M$(Wc6&Xhd!)*8+l_I$o99@q zC@~k4uv#Uh7d6KpZkVn&E*YIGq~#{1lfwJ0U%P-HPXZp(VW(1qyl39iL@%<+yVaqU zc#N5~voMRhud$|tV6O&$6;7YXLD}o6eT11MskCsAqniG-&3*R<)I{xf)5CZHy@WY- z<)9Y9mM+EGP16ZT#ag#sEE+L6cMY4BThyltj~p0YebGqYAt=C=5ZviUc$8{V>RmOM zfkGB)h`XB9EoWbaA`qBTuRe*D+X`gdP6DmXv_vz^cf0vVLzVB=lKfe3KE;Uq>{tN6 zeCYN0Eq@X~)fzH6&v{rRsw8Trw!lpt;eSYPp)Bre5;IN!oS4bu&8f4G=8X|V@yf@AeA1uUswlbJ0ekxPnV$D}_FLFIo@L@9##$KNiLNz;7O zcBw1|Z;b%PJmWdcih(b4lDLO`PNOT+M1-F4@%5(QTPu3Q=WtVX7T6>NdI1OgaRh1V EKap{uRsaA1 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_129_100.jpg b/examples/data/Fruit360/apple/r_129_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b942b3cf465ec5fe62a5b2397e31d41414b9fb0 GIT binary patch literal 5432 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�K~t~nN&8x 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_131_100.jpg b/examples/data/Fruit360/apple/r_131_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5d998dcbc79a7ed0beb3634272d879b69c86fc0 GIT binary patch literal 5522 zcmbW4cQl;cyZ3JfqeY*PMDK|pAw(bI(H~LA=%OS#5uGuTAY!5fL6nfFi87-^@0~<> z)KQ`hA|Yf(8H2%*=eO4T{&W5~=UjVT*V=pC*WT;<*?Zl)oX?yu11$R5dfEU51prW7 z6ySUw&;%$c{@9;L`Nyb0e%?*aHObW;B-??UW~kil?~P|I>59|XD(O?{#GB0J*ZJ3z%s%_eYLgNEJ25iID(A@eNx1Fg`#s!oXM z7+zS`>B)0C`pcYLSFVbPiiuypaYs)6u7aYH=3iRcI=XuLX67&pxTTe~v&+Lru5Rug z{sDnO!6BhxQPD9kVqeCgQc~ZfrDwd&%*rn)EGjPf_^GtI=5uXbeM4hYS9ecuU;n`1 zm+^_oscG!Y?A!`&b#49o#*d$ygx$UU1L7g+==cv81pxXF)Fr9u!MjU^s?b?deCab-6FBP@Q@!$RQ9l74%3a8MTyRHV7Z_jZ?0;yl9a_dJ~02 z16)SQ!|w+XoM!V-H))cz*!Dbu(J;)iF~!~+uN&UHs`=4vgv7QOJun_Hbc#OBs&~e_DPZsEaas{6z6%$1=){8IsKEI zG%KW4Z>--{T0r*=paC#o(pG_6#`vJ?do8iqx5%Hx_X>|GW&HMs5fZqZQHaA~>O}Pz zU*+02uK%e|0Ui zk_Jr+z7TaWp%syMGvC>Bptq9rs>`8{Ibp|orn$Swb8f9EAu5wWR@VBPY)?W16yS()D>@e1#}b3ifvBo>ugF;ApU2YMLin<7q-t#

RqrTRHOA={;RNuEaaB zUi8{bbecJP4wVj-a5BV(sC^DRk0x0#{EmjQNS2fJ>&|>WEx)r~ah@zkKF++I<9n}% z+OInZv(8A0z#w(|j+jjnTc*9yMXSsdBs8`U2@vFq@;$G*e3j2GbLSklv7H-eiA}T| zaGT+c(UseOtFq{0TQf=GJ_nxOsw&=e

i9$vfhk=j4AFY3+9fGYBQ|-z9Ul_wv;h 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_136_100.jpg b/examples/data/Fruit360/apple/r_136_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71d2243596d8d2af256253f860606fe10f407040 GIT binary patch literal 5541 zcmbW5cTiK^xA#L0MUkd-K?%|Xo=}t?1*Iw~2mu6wQUpR5A+$t5Y0{)yAkw8qNN-^}~|bN{&au03nb*>l#}^Zo2~_NIeE=iFU;7&w{~9yX-^jwu%*4#f!pi!u1KHVFf$Tt5RyIyHc8Ws06c5}XMi&k!$kli4+9eq1HB6%exj4*UwJ2D z|6>e{Ow25-z!MpqCka^Y6ZuR`C!$$S6rW^=pS%Y!^RVz<0AFY2yY~=y(T`s_;#D4- zq+T`ttoaZbr1Ho=lAYt6fS{1D)Fo*dSvgg;D_7MuH1%)XG%z$WHnF&GX$7^mv2}8G zaeeIO?(rnxXi`3!`nut#@5q>F%7#J{@37bt<1)+eSo>EfG_HIDPDvJ&oRCJad);kN2aNYFOs9 zWWFRr+&-)OM1MrM=0!)sE3#Bj8Zff9|J*`J&)gXgX&Z7$w>XcD{nW?onFk)J1zp$s zeDO7G>NI%cHx#j~oovz0j=&MRLwq*AP;@C3AYLh4DT%YW+{Q>^!AR;=!7Ic{N2IcR z3N`LM=j}TiiiMf3e2S1*zOPT9!kYHeJwMeF!&+3`xU84AME4FtppDUA!HOIvK3k9N zy@mS0x?3Nk?i^Or0U%@qa!{Ncu(h#4CP81`IeH%^K97#Y323I9+YhKNj`%24vWE2$ z&*3jB8eS;0!ZYFEf69;9kLUoFqN6wzG0$rEhd32Z!hUOU0humSrD0Fww+E(d#&~@d z&-z8K_rUj~M`_Zaa|XmNCKE89Qvw&Z@2hm2HV`v`7{O01{Y)-j4SF@Z+LZe?fNW=L zXMj(&F4PmgY6XZkXOol|Z;u%CFtK{u1c59-xX5yEOQY;k?KQ*a7E$o!AScuDC|H6x z`5J_(F1$zLKY;x*J`6xKK;kXD>Z7!SQ4&DQd!4pFz#S?{jGu#%SC?v*cSC`J;pMCD z-xH0tZ_uE8(Us3DRxPdEY-RH6z(Ri@8DSZRsN)gMCO6w;JR#cl`EEVCGAGvfBj#Y#rTOIkx9T?#>;LN2}7 zeHhU0A!GBcruSO_Gv#2s2ZGJ&(JHqlX$H7X^4?7~sIRVTT+E!}GC3N`eK-DdN7k}z zG>7nmthyXmR#di%MEjLc2n#t`QLic;-L*^mz%!bx!0(LeH2F_q4=4uI6+)1^CMc96 zCeidX^{{1|I-Z5tURaJ*yLJ$m7j*ff;ROXwoL*Xwfr@P#Am%p3EPX5$22LDY3ZKXb@%T~R%pxYhfU@Pm2xu(e!xjbv9( zoxb!I7&RYiI`-T7W1VZ5QDN0aSBg5*i;m@7#QAL^>Wmv5a7LF4{zJ)tAuqW<9%>Fj zOdghq>CpjThe|qtdFd#7$0yF>YPS-fd$hb8iZr{)m(sYD6k6S1`GK@hW+JD%Id>&2 zP$gcDAS5*GW9Xcj^@k3STuv4WV`{A)8izL7koFC}`1v$DYUir-$S-fj9av0XewA`n zR)QN=w>z;}38UA^i>9+d?>%orqRXUnaF@vbMV}a4CqKwVUOJ>$(8NHG-;{`EQ ztD{)L@b6v=@E5ysZvyc9<{vSpd&!o=m?B(LeTH*=L%lynq_odPGLN&@o5v z85+Oou6fM-T(`Y{KT?*a6|JCRAL0B^vC=uV+^5vblQ#IiFx%<%qoAqywSxUbN?>9D zPilZf58J9k|H&4_9^qPy4_T0N4s6ukVu$qMO|1G3hR^os{Y|m%7oW=11AQ{|axe`$ z9O3XS<%&D1ybw0hK*8iAF{6S*@%*yYkYaSDJMLicWiZQ9&Wx;D(QL(M%56RwmjD-# za>{jPQSK)iHnr0-LuF8_{((M$L!VJZ?`&PyI_*(y*FK1=m4VSc2(no z8&=HIJ&?mC*k$TU>7!ungur#Hr*~qfbQ7CKpzjQM^bv#5UdnE5Ad-Zo~*1Xf6T{6q5TE-&vW>CB2GI~lE!iRv~Plv5u zA+Q1oGN%NRG|8IVI~W3FO1^76^I)kv@jLj=IWpseffDzAjhVvbO5{jb5H)5nRg4+-xsFV{4WPF@J~_H{}RUt3dcHTlwM#|U=X^Qe~TdBLlPqUGNm!WH)3VUj8bS2u-u-}7n+iRT0>w&;GH@uS{Sv$;h9XJ6kQ`)O#@%w`&?)hB zzhbW}lDL9wDGXQgr=1R9-9nB9L9it>-sTR6i{om>TTjt!Eyw4^s$3mSP2tt~Ok$Z+ z@Tbe@^dZ<+>0juR?)cyc2YG~w=A~UY%0;Sr9I(FdEBjJ<+vQ=Yw#>LP$gg?BLD>o< zLFQ8F8ILHK3tDsq-JAXdj~(N;v1Yl;%J1mJ^d7@S zuJ2Y7rka{3-;Z3{s2DT{i#!8qEc*5D^zW!`iPzu$+IW=Tf+&G&B1-OxtIwm5v_oj0 z@M!lh+r+`lH?M;SC10d`5WH-Ch17Yp8Lk40BFU5mXF%bh!*sxKAv4sW?YhT;F5;?eb1KaQ-L%Ein^VK*D(p>q>#pY#d2X0EwcE&DK zT+Sd)M!NVxkQg0s3tC{VDnESBgU~ptT}qVKc$k5iAj9Gy>^%kLgPudQ(V2mD-U#7k zj(-4vz>W@#_IIQZ%)QOiOY+9^Q`(IjKVC~VVm|zV&vHUXyw$L=U4w^(_EcVm<4weF zmDuB9?AB~A}bwI--zO-^#^Eth13#!?JQ@G7WYh7 zwWL7ceJ#TQE??vBCvBj2wrl1(-~FR!8?FooiV{zb>p159mM2Zar+Bsst=vcXvdm`O z<;Jcpx14mR2!TrSN!6%wma>w(pe!Mp!Zyfou&g`UVi&w$SvvYGAiYFQM7KR}3Bo;0 zxc|LvQcGvH2q(57oohr&(|)p4(@qp=4KCc%6^ydZ-Pe{cSg)SP>Gv(1L|`@TU%b8xRVSIG`Wj3V}VM!sM5**}85Av`estWk9By`-3^ zoOxft;_~~+DzLAp{$?alY2mA#9bV!2Z57*Ep9jHq8-%@TyGxbYwVyu>Z(0f_0y?g* z$fLTNK7p<62m5Nc{d!4B@OLj;1Mr3vW@MMQC+?JCiCe0ej+`D1sEXedkv)0$_NgCno{#R1LC3HZg0v+(yN6wcL z+33h1-$w`w@q@L^k?#^FZNKd1QGuwEiOyb!A+Mj!-%R?-Kv|E$)t;v-faVBHM|)iH z{HC~Rn;o{c&Yedz?VW48+Ja~Gw*hm7rZCdkO5UkK*q zCNDhrV&HvfXHSKCFC75eAIqqZ|KsH-m7sF555M#{^=_0$VsB=zx;bFem({pR?|5y? zG&CE8jV&{(*ti%*R5ai}%v=l&HJ6URm_P@(Wy4%&D}@{Ye=rOqepZI-8P%#wrv>t+ z;d25@EUMv(j^_k>Kyra6D-xFMmGDZO>$c0&YGT*aYj}R)6boIN+m{Kgh#Lp9xPtNr zlV4O&RU&2pb?MgdG@`8Pkz|KeVBqIMwWd=%8+JlDCfOc-@ej~aXeUzEe1Wj3P3=I7 zX_1GpZjr(a%Yy*38W53~r28R$sCW^rrVw!>GZz!b}|d}N8IEc&Z5*-&fYBS+!LYErO?7)E^OtjkK|5Go^>me)u}b zIm7<_@+l)x=;vH{3f+ z*4@HtlOn13n=JN5c;@qLl30JIe**lzi^;t_X41J_aHZRMVr9Wi$7;R69{r~Pl75Ci zywJ7|Dl&9;!P77?!5F|Bva@a%6T7+fehBq#iyxECFoilF9s=F+*&v+kDJzxzP+x=~ za!i5r#coa=G5ub+bx{b}lW>wUIYs)(lp;@pJ6o>Yv3xo!j&*4XkLbZGdfTAn=>VPA+e*7M zFN|%2#q)GoN7kQ0YoXBZ4novQMygjp?55u{M%<=fvh98!?JC7E8f#EX5s%*V^xjyU zRx6r0EgCzyS;4?s|EO_Xb;Y_5bYI$^I|?(7MFNw9x1rvL!8vOf_6#t&IHhRe+h9piksZz+CteU`n@v>A% zBY2PklqN+;0$sCy6)oU-&coGbijQjQg5P>yo6%$ROJxmTFOd9v!K|b%6O%_;sFj%~ zE`8myrsO=bSv-GVZa_0N_^UM;+DQip(DcUhh68lYyDw#Qmi6*HGS&tFEnp?+nq-=Y z^r2_i<2Tb5)a3aIZJ{Ee4ccL%zi+KJufI#YRDYUBLdNCRYX`_r#~l!|K4D^e_gt14 zrLrU@Ii3c0>{r#jFeV`Du5Kq#|17MOFi>$g%f@2O0}GDsysc0Xrs(p{JdN6j&e}(x zbQL@+ia0lYn{nOf2!n#7*cW8t?GYB8^^_;RGyIJW7Bn%Ayu%s36!`9rFZkx!wN4J6 z8eKE2`#4%PGG3-!g+nI)*=#&2i#ns3i literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_137_100.jpg b/examples/data/Fruit360/apple/r_137_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3f65d1fb643e19d6346b9b3bece9f9dab2a9149a GIT binary patch literal 5574 zcmbW4cT^MIxA!Ns03y99Na#&aiu5L+RFOvz>7Y^q(m@~;6F~*(0s_*dON|I2D7_a! zl&bXJ0}0IlA>8o%)_UK6?jQHwJ!|hZv*yg1?`O_A`|LUYeLfE`8tCZj03Z+mfJg^$ zJ_Tq4WS|SXh-4Q=L4FY_DJaM(s3@tZ{&g@7H5Hf!OhrX~iJFG?!boRymuTrOE-pIx z&!c3NMOMp-oL8<235$q|iQkfwS5Q<^*1mIBM^{hZ!1STnBXbK&D+fm>XQ+$oGr#Bl z0fDff;8(BTL`1%gicU&?pOTvPAw46%ps=X89J$I> zD!uw2jfT3jdGd{Ls({h)99judlZ7>&w=3fcKVLsSe6b+hn7Z4QBQ;TVn9KCcFEh^c z;b@7hkvAr*Mi%byyDaM1z(9tZy0hAu>YM z;WPlzrb+OJep;UuJ3|tM=KgF(Z-o^1EnVvHT%R%R-q{nGwce0-xxUuJnf?ujGl=1re@^EdhS#@@xF@UP1WX(>CvHJ>Iq&X z1TGxZj>dJmh6y@;XzivCd30?jI&ElGm4?p!mDC-2wwL6p$rBV4=*U4I)iMLGUFA*e z5B;dn=5}_(Ou{h)4*!9`K3~J^V%IDUAqmZl*r85aAk%^zoCD{{nl_N~zo z()qn^q>V>ylv`|!)jKsU-kWaejb*|O=@!W}jaryW4aVN^e&I9S43WhTS#s_|P=m4> ztzUQ9^4|Vr3qCRL&BgxHGU;ZWpxKO9z}7s>8D73OesYL6qs7&_wDBj}E1PioQ4 zI*AXDu?^I{YrGMvAt7s%%~EG&L|HrSpiAq9%l!QgP8^9f$$#P*jEy^w z;KwfuB#f+)fhCF6xV1%8WQ4_fbwh$&oBs0KC!;wZ=7^I9Iy=vjBA#1`?j1vV%Crp;$rjKl0GyqXLfe%7mUBh7$^VcNXcJhufsF` z{>L-j%8&=GI!tEbd8>*iSB&H^aufDj2MpBfSJPq+^8#rrx1|mA_6^;6Z!9JGge4&= z{SXYEhfUDMu8BzVc2_@W@XC|AI%g+cdf$c2932o5k{th4{g6E^kD!7Fm%5Gbd$>h) zf=Q#C7wg|o6E%f_n`w2Mj|ln5*&Dh!qwB8USgiw+3S{_#;U-TkXh=&u6ty^ zUS@{1itEXpIGlRIoFAeZiCx2g7Rdi4;pti8=G;k=WJB<|5SozH)fdlT4Y;-Pe|Ey88l)7;#Ks z`dFA|LW5lwDJjRCp+oggDd4k28hl^z9P987O7Q^6Jb701G=8ytVT@Zvp}(xeZAXnP zPgosdh5@hupJ&e0Vf+*2ZR9m-2njeN;pM#U1`*?keT$iq7XinEBvIPjpLN zs8)t>I+wBFut$HM$X3s@5gfED=E|fvs62nR>=^ys=RhLi3b6dBJ zL7N%hHjgcAP5rb!N-ujeY}o%$ESsBD!rZ&-Hfe(JKOjiJF^Nz3QdTz2_zw)dwAUCW z*(W+rBoD_EOE>CH1^X+0Y)W+*`@-)*k?v3wJTx=}r#4m+<>@YW9acrg!rbTK%_&AC zuJpP)AX}Q?gT&#v%LI)@d(fOswmdt7hhVi$5JEaxaZ~vQSYXY7^8FiWp9oK&`jyfB*UUfm3R~u7 z)&i7&FdPk?-}3dy>hLW3(3A5D30bhL<6->zc@#czIo)K9uA;tYZM;dXnGOc-IbroE zh2J& zofz9u#WjzPDjlur*oE#3KCf*j|oGMgcr?=89f=07K%Ysi&&41)F z5pP;d&oq4*yrLR@FH$nzD8$l}taf|KBe!-z3hy36Jrf)=h<1CiCbyIs^pBB`1l`MO zukc24^UZ%5wm(5OY*fe^#k6pF#xT*wJM+c5XaOvM_6_ z`t&_3>)UaRoZEFH)<{)Ct@*zGsSs%$TWh#`{SI7s-U4nW3w=0VYs9?uDD7eD(EZWE zX!-g?fw~3NsILFDMsLx$$9Gab zf8yZMk&;p|e+$!C0>=@ql@=|Vf0>#ZC|?oJx-RN`kK0$rEKCh<^*3P(RgifUjl;SE z0$mCljih>McP`_Y!7O!t)7(npYH6xdrlVxy)%VN_N=mdef`?0if)fjh{o+?r>{2t& zf#E{LL+_-#*xn7TeB+t8-F1}uG&TVvR}Aau@WCTYo8l5B(3-|1UpK#0Y}~R_cbwV!5VJ|Bmc}pt(7pVDxJPmH{+G# zskdT%Mo-KU3f+atMiKox^LjRfPuz-TJio!y`v*v^3K#R@l#0QXlt#)&*eSK4Y*jC8 zgxjD&NQ}L77NRo!3CK4%9?T65>p}UT?djyW0#601!_tX&(xap3gQ>0=k2mK{RH-UY z%0ByKB{ksW63EDPR&hhK%A~K>=ow5fXI7TZk3-jyf^8#-T4~UyUC!0;1%20BlZbMM zeu78|zMwq-J?UIf{NC`Z{_U>bSkcq+9~V`dO=^ihW&FoITN>S6#P}N#+MsS(ymNER zI7U^)ZDHJ2-9g2gxk0#(y6`b2MHc<_HdWIQSE#7rhL+WF>j0A`pMG1b8c>=4v1lL_ z=~n|%mX2NH+(Um|Zq}%&ZXCr-p-(LX<#DcXnUrGJQWvFsfKB=>L1Z}kGJB4`f5Sz**dm3 zWM`&7r7qV46xZGd)6U}5t0jgdeES2sGg%T_52}1;92=SqVGa^|^$%|=31*y1uyQ|6 z=z_&JiI{y7`U|ljc4=UBh9*ysPVkx<-9slt z#Xp3<5KmeS&eb3-wP)}v#`B0+?@+zkcps<57jjoEnTH&uhB){7y|`sR+pZ~UD8Nz2 z1xsQ#Dv-^;guWl&f0LpE3Y8Xwgys&nyf_Eu3tMWOA~77Na+{@;+1n>Wk(JIZKj**1 zHW*3WclfQmL(Y@mLQWKodNYt3_&thuh9h-}Qtzqk38~v27N_POX@8TyP~=eQ8E7FQ zg!b#R4*k>719&!M-S;Xwwu<8)bc1y%+Usdw;%iPW-L>3)l!vNu*)w4!%1)okddnO4 zlEU6gfV#b{v%IN%Y&^>Y<St?9(l7{>p_#jlr_#QrKqz(_d|K&G_(|1b8BkqvPOHg#Z*4)UiYuq0Hlg+ zxhZ`Cb>&dPP!09Gm{zt>MNZ4jeN{wfopMg1+ON2XihsN*MFh zuMew|H=$ua9F(hWK2MODIP9Cz3+vA=#7Ibo^&u5;sr6szbO=kUm0m2Hdol}I<@C}& z52{$Knq;o!{dK@0f9?@@%I+O|^8Z-s9kooUunUTJ=&v&d*CR;@d_HpS^Nq?=ID96D z9sk1rDP{p9y#6dl@GD3!ewdxI-kIx5K-Evb2tg>@URoqU2nqXchyMB8NZBnWvouxl zNrcS6Ko0;YXJrsCdYdI}2}17n*!wMi3>er6cYk_HstdvPCRLCuQ+E83BY7s>mu%>@ zDLr<$=#T<@aQwx(L}BM zgvTEl+N05T19N}@P`uIsvLAt$I0pzURC|M-Ev~zNPCJ;5+^&E3TjHWFPO^NosBfp+ z0E%kA*2-o>c|GUwq>7$Y)%jl=M4?t1CTFygbj8_{6#g+Ajb+rF4_7hgkp=5s(;WHK zq?*3rbfxa5aCZ-j<|f+qD(P3al40dim-G*hSihRG2r}&&5JY5U=%@L$#gI4yHDwW0 zgXw-2rj?uaZ0GE2%Y2vy(Bk3~w3Pc&xdYG8`6V@FJDn` zE`#vltgK}|F&AyVJ-t5-t68{=A?C8J{mC0U&@&q4pzqiF^Vzc-wC1v553%M)Y6X{9 zt)G?OSlXtSxiq_yw%77&dno;Yfk__`=@mF5? zBCa0SX+-9TW1Gu7LbVsZXL9ulUYD$#zRdl0_KgL3#-w2j<8P}E#WEk4yUoC+yY^}s zPWQ`=tE)8R3lbhA2UjLorg_I(*$ z^~145C#fR!z;e~tM^4;oN^&=Ya^xz8ZvBZD?Q7elf96FMdIJ~ODG9$Oa(B2m!?MuK zEMBH7N)Z6{$(0wjFdzYgCM%oak8VvXlEPCZWzd&d7-oA*aO5L&W{|udDyn0?|<; z8#@-DPDKfC25O>BL-sXp?yHkZ%5XZ;D_f3ED36j)?TF*eY@JN*->@ZbkPE9T^Ru@bw`VOr7riUHC5XyC#Z59eMY$QrH7jjHhF z^XS)y*Ebx6t*6cb`Y9vX@*{aFAnfDK%*YM;AIdnmw(+2Y7`-EDXg9F3^B^D8UG?eE$_0LPe2q|AKV2l9C7~VzW}lq B#Tftq literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_138_100.jpg b/examples/data/Fruit360/apple/r_138_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab8df40bd6fe6835ca7b786a54eb32ca9102458e GIT binary patch literal 5533 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 Sa5)? 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_140_100.jpg b/examples/data/Fruit360/apple/r_140_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db829d2145795351cbd77925377b4d5acece6c05 GIT binary patch literal 5656 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_141_100.jpg b/examples/data/Fruit360/apple/r_141_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c4b28da58ce4048e9c148285ff61039061183af GIT binary patch literal 5594 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

keB)%OCZ>=Tq=S8?I*2=l!d_ZO zNOkA0L^sFy@AK$ebPuC;D{icAY{J*y+Wb(%v)(#+8hcWPrS@Ohl~&BL`8lRL$_Rb@ zS;wR9s>RD|c5iwDO_m`&Zj5F>R5alEScG22png?Dpv%1S#{pe8sH^^mY zuc$f66ByvaTQ!hqldF(Occ#UMaS;BIYo5B^YYbtZ{wAbs(ihX}WFh&uK0N5@tM8;^ zT)%jsoWm^k)uV&#Vn)crl9HV1!eyf+x#1gPs&p#P%&m1Z&m6noWi2=1=H?wgX8CfS zvKv|?R4gzrw?h!XG@r~pbLK%JD~p0yCg@)F+60*-hV-5WSWU+wC7|!qjLy_~=%!o! z_McXwo{VQj*Ta(Lnk`>nuT{~iwh%y9yN++4#oaJ4);B>FufUnaeVl6w#y9Gjs^*KX z3kvzQb0_G*w`^|tk!q^unpPa$G^Oz!5569)+F*x+a*diWO_wH@lfzjC7DPGcuFYk< z#sOF3bRkaCVV(J#mIBwd%lJTY$#D0P@++=x;bfR#uBJp(?P+`Jp{IRNct5z%I%UK9 z#?(+9!v|eN@_X~|Dn=#J?h-cze8IPCJ9kXnL?cqXK8!1tHxIsYmb)IL#k6^|yIXr; zQha#u{hc#SY31pe9L!yt88!2ZMwELwHCCg{(kX)i?Q-S#hoK!?Gs8DOPY~>Te2cbF zSj-uuvz2)YZ&N;p_0_0I4b1GH;^a?|HcL+cfWQm_61BXzj}?3YZ&!jp!!|!UV7c2+ zg^gdWPu%bNo>uhb=(l0r2e-F-n-=#^2qmz;H~c1O(3&2=|% zZ0eVN43wHjzsN`f1ON&E!-QdtiT?^cugn`Sn>0Aa!X10PZ9)uoQPN80CpFyJ56zYv z|1-h)w?}+RQkpBlcQr1)Hx)|w@`VeK_bVz4UEJoVX^em-+!ukq{9J4xsSYj@sP(k3 zNUp5mRf;8mRCx;Jx}RZZ&`zqxJ9$=5)sofNIz?}}h_yfC`(CPK=gaUJ@nS7Vt7vKV z#h`~kG@n#(XP+wk0pX3>@@ELCc3&~5ZjTffV-t8) z?vC{(z6a9)y{!~MNQb16{FmNtaYIE8E+zdt4prFQgJeIijgcTE+SF}K} zfH5;y8DdfBr=bQxz4k=r`VQy3Z`L(ArpFHDz5Be%<&L`7QyZ8$-<0Op$*c~Rb8O3@ z!CM@Ft={SUsPQlG|4PHI&@Za<8`usmJqDi`lF9`b%FQO8k+>}gKA*=gU`OFT?AZjl|sV&4#9L)8IKGlLdJ`>^*2R3fD3Heqh-mXhACKh7Gf zEB`aO5t9>9%NgR5*C{yM0XcL0Q37dcR|K=+A|7$J<&*F6wk+@`6|Y$ zZ~UB9Ujz83o*}~6n;7?ArH=>T_*ND_7gLlJ6=A;QxA7^9D=$Y-l*QHA@<9o#=+d89 zoU$LsYFfln8;Z`=+pgS9b+PnnW}|F|V}p-awer)q9Yr+CG&jm=qtK|T5|qRw@2t^_ zQVwpN3xd{WPB$Vl1dKWDf>6zGWsp0ig$Rv{?HM*PK|QVb>s3w-w0KL;%`l8@qy^2P znG(XfW18;#Sc{x=V-A+liR5}H00?N8@b(T+FFe-n@6V0-Td#L9SBOR3n?O@uuazABqbxx{tx?~;u8P> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_142_100.jpg b/examples/data/Fruit360/apple/r_142_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36d39996548e4a8fbfa11f0c957da4d0c4e08a02 GIT binary patch literal 5606 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_143_100.jpg b/examples/data/Fruit360/apple/r_143_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b69ae6545ac2380a76d938c0e2a30e1d771a61c5 GIT binary patch literal 5591 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 VD=5=gGu(KYg4OupALqZE`7e6!&>H{% literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_144_100.jpg b/examples/data/Fruit360/apple/r_144_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e0bd3772e8e9c0ac91ad2a6d49f9db504cf73c5 GIT binary patch literal 5613 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_145_100.jpg b/examples/data/Fruit360/apple/r_145_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c775879288e137f87782fee34ad06f91e214b9a GIT binary patch literal 5584 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 e9d>95oS02JVO;A>~w42%r`8X5qg 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_149_100.jpg b/examples/data/Fruit360/apple/r_149_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7278982b12399e7ab7180471f931ccd23e46407f GIT binary patch literal 5597 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_14_100.jpg b/examples/data/Fruit360/apple/r_14_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b85da3c7f58cea466ab2edbe4967f064ea8a22b8 GIT binary patch literal 5440 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 b%oXlStkrz7G~}5MN<43=%SdzZ>B4^jJR)pu literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_150_100.jpg b/examples/data/Fruit360/apple/r_150_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ccc7c4518d0856fdbafda0f7f93d6d6493f882a GIT binary patch literal 5606 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_151_100.jpg b/examples/data/Fruit360/apple/r_151_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3efe8e0c4a86930291e6fab49bb884189b2fc4a7 GIT binary patch literal 5611 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_153_100.jpg b/examples/data/Fruit360/apple/r_153_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..729bfd0463eab34031e6a181e72701ac4743bb65 GIT binary patch literal 5589 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 Jz+XR`{x2br)lC2Z literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_155_100.jpg b/examples/data/Fruit360/apple/r_155_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e1dc997b90795adb47e15c23ee5c97b95c50d71 GIT binary patch literal 5565 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_15_100.jpg b/examples/data/Fruit360/apple/r_15_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9cd29ddaa7ee0324aa122ca48287278169787240 GIT binary patch literal 5474 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_160_100.jpg b/examples/data/Fruit360/apple/r_160_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffe5149b6e16bcad6716aeeb1f3b9f109dab341e GIT binary patch literal 5575 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 I@_gdI0N#VkN&o-= literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_162_100.jpg b/examples/data/Fruit360/apple/r_162_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a9c4644d6c1c5f9dd1c799e2d0073d615a103cc GIT binary patch literal 5611 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_165_100.jpg b/examples/data/Fruit360/apple/r_165_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..512f9df5d758410d3932fd3600a273387a5b17dd GIT binary patch literal 5529 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 IY-dyd1rmXmC;$Ke literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_166_100.jpg b/examples/data/Fruit360/apple/r_166_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3bdcf2e967d2aa35c4ae1e56d00c5dc4b821a33 GIT binary patch literal 5529 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_167_100.jpg b/examples/data/Fruit360/apple/r_167_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce850cb2bf7fc6835239b9d2eeccdc75d4521ff6 GIT binary patch literal 5502 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_168_100.jpg b/examples/data/Fruit360/apple/r_168_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be8e996a642131e311474af11d33130f1554f752 GIT binary patch literal 5499 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_169_100.jpg b/examples/data/Fruit360/apple/r_169_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d6d1efd39c399a22ee039fe42abccf98918993ac GIT binary patch literal 5460 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 BkYxY> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_170_100.jpg b/examples/data/Fruit360/apple/r_170_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..47ec2defce175fe80ceb4f11eb34a4ff2bd8923c GIT binary patch literal 5410 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_171_100.jpg b/examples/data/Fruit360/apple/r_171_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ac327e992f0697a8c4e4b116adf1255bef99009 GIT binary patch literal 5442 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_172_100.jpg b/examples/data/Fruit360/apple/r_172_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e854f06fefb4dc33a72fd69a7150d96bd8216cea GIT binary patch literal 5396 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_173_100.jpg b/examples/data/Fruit360/apple/r_173_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2af59309f9a41336263f6ba283a3e8cafef07248 GIT binary patch literal 5350 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ⅆUR*_hJ6?etr)R#b1e+OEjva>M5)OzgL5U4t^L z{jZ;OTdeQ<-?zAn6t*|ZWKMTElg!pGBEc*6KLby_f3&ov-E(b|A9tRx$A=E&1az9{O_$G_oWRQ|gp`xS`Ws49#j@3crG4J=g}_6Q<tTRE|}uXT_T@l@ci$<@DUajXHGpYW2-YNqeqK~PO4&Am0JRjyYGsnkJ)h8 zkGi>0;Aq27lnbP#<=c4aRAQ0bw@a_5oi*@KE<-_3&Z95~m(FmdUZoh}-6W(+(1Q+@ zON!U&Q$cZ9RGT^`_JMGDVbdPjh(HCB9*Q@5_mq^k991ZUi&HLWLVDxm?EmC%=XH$52f14Ecxy?x8T83ut zI$OzaA)DnDK8eQn6RZ+5qtN$2oowE?pSZ#9v^Ek7r>FWR6 zB6T2L90Nwb7OX^KJm10xiPmpFuvhm~w`ze3QvxL_zB%Z(UOKWbe$INF(xqZwe10Iu z^JBKw!Us0D2o7jXc=47J0e$cECCVESPX&Y;^n4w)*RB$5iu#-ki>6GzGi0O$P-y%?D7-MsxF7Euj+wdL{+X~Vc|wYv!wZ+FFcLtwF%FmH4&4Tg<>ZBcD|3mS~HQJ*S&8HSDzvS3wWwjdgCVn^gn zgDvDo3srC)dQltTE)Ku!gJLqjFy)~C3wwif>w1zx#T$I8l{0%J zHl5N}p{zgW4s&yjZ#=)rH=BPA*m(qNGJ$?r-KVNYwE{0XCQlCCKc)8kQ1J3;3XM17@ZccvsdC&c8h zXSM+m;E5_VRR5CH^b4qZg>~8@_R_48HSBN556QFxTsJpGVpFj~!O1n9S4DkRm50_N z211^8UR*2e5~Tt)=^C6Fx2vqiY7Y0DLfTP}Qw-86x-(=Oy}^n%3yO`CF-BfZF7AKn zTvkyxziAw~#~r!}*CY+y&7y4FQ}SIeN&t`NUhj_@y6u>k)^X1dC6az6;jZ$Rh&}S# zPiimrTQW+AdGySF$~UtJjlG^Q?$j1!*GUOf4oaSjjf(SSEzEJrkk6c559Y8s;SQ_m zv|ZlCSE=PHf5em)NV)@CcwvS3rVz1I56 zF>mVtkGV%0A-w2=vj@sXJ9^uVb(Y!JHwa0xWk0dh+DALH{ET!=tok&6nuY3>Cv&37 z>a=A0@K?3(htWDsjaj8`k}+Gk2D}hBOBfuP`*(6n{(egh z9C9)xjzMcfjzswlV88brbY~ZRU}MT~3(n$PuUL0|Tu0V6dOrE3#^1(&{)%Gt-N| zUikOJ)@3)MBo)e^r4Ac=?}_0wdf*AD2IzpOzzVz%%D&{)*40>P;(6cA4P+)ct@F3s zoAm-p5AC}p8;*yHG10mxb(G6CCoVFnM!G%xZ58Pw<$Bpz)u=GbSw2bL6uJH~$c_7L z*-o*1!N_1~WV6XkgOyQ`2#5uUjO&u7?fJK~DHH?Ku@hH|*ED)N)#rv*)nddymC#GK z3d^!)aZv%qoI7%6pP%rqGlI5r9dL2Kjwb;S8s{y%f6>`fJBV*a8!t$>CEIIZkH@=8iXzlk>PTAGX z98x-JT3qwu|ye=7}&gW11;`rdIGRsdrLlF-MzP-H*Eq_Om zFa-`sWx|<$1R})qn@P$$V=V-_h8MpP_uf{2u$gP-Ei|{VHk}Wnv}1gAOZymh5v7}* zt7CScwgp>e4q`iU)3^Fq$E3m$+1QOQB}$TB5VHG&DZF^4r$M5Yzc=of)>J=)7)w2u z9oJ@mC!`6|#dOE4M~Iy(So>jxv=h^4EX+1#@Kcs~0*rf4QvnZyd4tu8ZML-xMgb#rF3@#J2uy zh-A{p@8>z6FXXtNKZL-}g`vMtfiJfyEQu!ylpcK{;gAmoOal=$!{2t0uT)iOwYknqmAV{VHs`08-)^{sH7Jh4c S$-e3|jFEkn1pIO8{C@%K8B_QG literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_177_100.jpg b/examples/data/Fruit360/apple/r_177_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..93e00abb4aef57621469015cbc74097f908a4ad9 GIT binary patch literal 5310 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 J*A@3C{tNCqCd2>$ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_178_100.jpg b/examples/data/Fruit360/apple/r_178_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e78097c2cc2b7b49ea94a94c406d07bf94de2166 GIT binary patch literal 5315 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 P7g!|=qy9MLY~sHFz{)YC literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_17_100.jpg b/examples/data/Fruit360/apple/r_17_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3866adfa3a21920981c7ee6cd8121bccf4fbf9ab GIT binary patch literal 5465 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 wjCXT$gLTQw?KeT7jw&{j+br2qf` literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_180_100.jpg b/examples/data/Fruit360/apple/r_180_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b37b2c666d834f700546a281e1e0a3d10fd8bc59 GIT binary patch literal 5278 zcmbW5c{J4T`~SzD$QClTA4tlME2JYG!E$ zU||6OSdIpOIR&^3U}gDhe++3WT$9Rr$AOCAd zGhUwKyni457WvPotQ>4?9LKphx&BT0Uj^n@fZ#EJH^7^X{}>A^8#@Ol*O3gKql6lPBl&D>N1{276dz?r9=!*!3vvj_p1;I-^127t>0n`v z=(N0Jawe4o5&I#EyrySJ4EJ%-Q({1I1x2uuvWk}W1sz>I{mWNO&CD$A+?DE_xx zf=67ee|y07my3lp?8w;!**Rp-a|&I$&gBt&^0Y?uF=3Omyh;MMoTfcR#4}{*xTw6= zoC5VP+P`G~Gq9Nd6WRX*`~O^%0A4nhqvo**0w93HgZxA#R_#{A^n;2tWFSBN4A)xR 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_182_100.jpg b/examples/data/Fruit360/apple/r_182_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..59cc5eb167df401f43d664c01ca494d871a41617 GIT binary patch literal 5197 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 Oh}TRH_~YRx-~J6QcgH*c literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_186_100.jpg b/examples/data/Fruit360/apple/r_186_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9be282fb04b1115ad9b73508c8348febb1bcbc27 GIT binary patch literal 5068 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 Q7WT>g3@G5QhtVhh3*!92Q~&?~ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_187_100.jpg b/examples/data/Fruit360/apple/r_187_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c64985005dd2059fe124558b6283f1f2fb267055 GIT binary patch literal 5086 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 WF;g$tgzen@^z2N90Za!T&Hfh-*1t3W literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_189_100.jpg b/examples/data/Fruit360/apple/r_189_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e8bafa44207f851d13c68649ee84a93701d182c GIT binary patch literal 5090 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 Z*$PZ@AJ27TGqlzu(_nk}*CE7T{{`NBm5cxY literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_190_100.jpg b/examples/data/Fruit360/apple/r_190_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f239e0f3bf24f5203fc64f9b40c33f8fda19fbf1 GIT binary patch literal 5044 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_194_100.jpg b/examples/data/Fruit360/apple/r_194_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1fdd7d6679fbdd30f5c5cac5efc4fcf387a44e9 GIT binary patch literal 4953 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 UhEK2NH#2v}Ud^SZI2(EHKb>`6!~g&Q literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_196_100.jpg b/examples/data/Fruit360/apple/r_196_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b99334f8ebf78ddf8f3f6f2ed41f3d70e320c695 GIT binary patch literal 4852 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 Glm7)^8B4|h literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_197_100.jpg b/examples/data/Fruit360/apple/r_197_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf180d3405c83346b28c55954c99780c77779ed9 GIT binary patch literal 4880 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½j!=E{4wVFAkkFyCD-deEPQg$uU-d4%B&Yf zyL~ycm%6Uou)D4Qjm^iIi1W;#}(M%^}2^5ZMWUX^V~ zSh3O4u*k+2csilHPywy!H(Ex^)bGrb8Xu3FX-2&S*NMhcMB#}8ww~hmH@}J7Eqf`Y z#@A{1_P)bETkOpwsLiZ;?C-a{=fy}=RVp%IkIqN86=_bTlMP5NDELF-;+C9S&LHSk zRp`WwP~LoeuGeyx#pi##paxGC_gbn&V&KLEYvY*{^x8jgOqXcQVYJ(%<0xdoJw{`V z=G%*SfAq407-dA1dG-cD=s{7|M-^*pjhbWK7P4I38Iek4J&%S%l%={}uwz28m0hTMr-X@Hi(V9QAqvv5cX>mcG0nSc5euk`Sdd)r; zPOkIL{XUEKa2xv&YuwUo>#t1jl(UiaZYm3R;OYCzpbB|etUushv*BWD7M@alSv#q^ z#3IcWgGYlopK0dS*hDWXw7RTB7_c)HOsqzQUSs%PqFd9TZHoG{Uq}%7u5g93%WbqW zNq*spH%|Myh)z^>MeY5BGP{<9y)%0o`=9d%HI;wuSqXH_h(}KO%=`$x@P0?nkE_22 zc359_CHnj9uNAMCxNDg?1RH-|Hyk1RlyjF| zwb*m%4Kyi-f4iJ+#`h=89OuC}l7mTj2JUK`hW7doyOcw1?cIbD3Yo=SU?Y1STIWM> zs?_z1UWp_gdaM;Touff|R_tNE-sGJTo*5STboEzZ8?*uXIfCiCK=>4oHJMGQ)Ho~%oXge^Ve zYZ@<3mW*~bl$PLR(u^P^<_@*6cIwEsj#R9=zRi>jlxn04=-4>;oY@k(RGjEg|NHE` zYKOI)WLNximc3yuVgH8^jsAL`;RSH@pRAIiSUbF$ueYr=17?+b_a(LgG^+&(icuK| z1_!Si%Dx0~NL@IQy>^?R{XMzHq8z&CekJqKkznmfnM-bsjJtROt`^=p1WPYYerr`` z^fgf9j+c_I6>D~*#s!z3AycYl4zshiO1Eb3D)#k4Q3SR*>x`TS%`a+rZ;Li#KzpjV z1*M!@^RMRI-52Z+P(h6B&`XFgu)>@CZ$l2LK~@qPJY%?a^qJdQjC7;wlA4TS2k4W(lS-F@P+6qc9Y z&(Zx^ufy9rU?t7Qe5mJe+l^78&p`VVst$>rc6gqT4I*>D=xi#O32#V6XA$$3JjJDv zqXTcZ=n%&?QKvxosDpzbG)**p687}bZx|8}6Ww%P&?G^NC=)rXKdL{id0o-cU+KPP z^w>!8wqDVyjFI{GpO!2DsuvZBs+wgH0zJJC@?q zKNq@Zf9og9pmi1|L@F9wqffY>l;;M=9nd{d9H;Q&#tY3us+-TfiirF;I2L%(;z`xg zb%lGq3jVV>Y1zT3TVjgUp8%YAJml$in~a-=TG=N717Xn;)#!4l^g1P8=P-1-M+WY; zP>goF|F+@xgK^b~dOD*g-DmeW=W;_<5O>N|o~I2QbgLc3MFSSS!4^Lj|@P;ioFuIXK zm*ZS(CpNnV76(Jc80-Z4)=VJ@m7uGY+SgG5j9R#QhWCn7jl4?n?&k#L1OiIO^Q

?0HXIZ- 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_200_100.jpg b/examples/data/Fruit360/apple/r_200_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..69405929dc0d798a2a01253fc648348565396091 GIT binary patch literal 4724 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_202_100.jpg b/examples/data/Fruit360/apple/r_202_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ae3314ddcbfd3cdef01b0059dc84392e8a6272d GIT binary patch literal 4701 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 QE2j)rD?Q-cW6tLO1F>lHegFUf literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_203_100.jpg b/examples/data/Fruit360/apple/r_203_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d824d1351a3aeaad5aee766d9f75e0d740f1cb9d GIT binary patch literal 4674 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_205_100.jpg b/examples/data/Fruit360/apple/r_205_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7d24f9d10bda346589ea6e83bb5f3b5caaf4031 GIT binary patch literal 4647 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 ATL1t6 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_207_100.jpg b/examples/data/Fruit360/apple/r_207_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e8332366f78b7ba161ab84b524267c8a952f4b7 GIT binary patch literal 4553 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_208_100.jpg b/examples/data/Fruit360/apple/r_208_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ced1ec1428d487f6272836a5003486ee51e98f4 GIT binary patch literal 4588 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 AwEzGB literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_20_100.jpg b/examples/data/Fruit360/apple/r_20_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18ea7abf63287fbc5965f97a1d00e95441be4e47 GIT binary patch literal 5470 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 FzX0q}m#F{% literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_210_100.jpg b/examples/data/Fruit360/apple/r_210_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70db70619661a5c62c0f5cd094dd0460da7b185e GIT binary patch literal 4542 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_213_100.jpg b/examples/data/Fruit360/apple/r_213_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e99da1109b4947ee79ca2450f1d7e6df283108e6 GIT binary patch literal 4651 zcmbW3c{o)6+s6-Mk7VCdmSjuztdo50l|slGL)6$MyRoFcBx{JuL}bm7eI1NlD7&%D zFqSNn8Kl85zv=tEuIKsZ`Qv$>`&{>ZopXKebI$v9?sI=WAIb~`3!F1GG%*BdXaInQ zdH|F;Kp&u``D1?~?H{89{fYE+bRaqgdIpAnoROJ{fsvV!fr04^6En*nqn@#zVPXAq z@#i7`-bzak0@1TDGBEy=@_!1H4uFFRa0A>xG-3cP2MvgWhSCj)Qgzb*BabTfU!$P~ z(a|$7Qe~W>Ce)py$_Ig{qUouMso9a#ae$74p7Wxj9s}217e+CEZl##Cd?xW5)tx*R z-w6`Rt^u*kEWCXD0)mp4q%KR#sHm!`U(?Xk|I5J8$k@cx((0bIjqQCqh@1OE56?%B z1D^yv4Gswni+dLT{Kel1iRl@yGqbYaToR0KmWrxghZ}NWD8s?3=duhs6+h_fcIv{L{wNsDF5P@MYr< z2@LmVQvg7A*XWdmodPgkp8tXVj6t!_Frww)b!!(5AR>g^{Nwk}0yj^(m z;`ds6EqjUkDB`Pyo$rzB zkwoYzizNl1zd#xeFME8deo{&HONE}(wtN2S6LkFk2409(fWAVmS|-(4hL0cd9`UpF zFIBavw@$70eH!60TE0@#I?(Sy-im)EiOE?7lzblFa#(Ak^L`Q1?J4wzm=4xFgyFp$ zO`I%X;b3P6@$|9c0bvzR3cv~*T!Y6^03YyN4R$0tH@IsDO#znA#~14iWY#W-_VPU? z)<)CM|4649EK3fjakh?Np#X6ONNhfa`O3wVd>oKhoM^Bb(FP_2~#~awWQ~(nK;o zD*aJz7QDh%uY7|qbsjz6Ez!^zdwoERBX!V-j>Eb8QW2NojvQyaOaC0oV?yv4cgjQo zsDA(r`6&g64I@q8BsmlJ>?XCLgr`fmhSqT(kI8F%; zLE6epJ(hEJ&a~1MX$ls7KYj5_)WFZVCKxYCfE?74^a~>bNoR2O-hrs*$uGmuAQ0O? z+SdRDtDqlN`(iEV{gh;u%LUPbOrYe2@-CRS0=i{sw9_}XT|Lf_^m)lP!oApYyS|xz zs*QG$+3ntpcFcurf1||@tZ8v$ZPVhy=iBQ@uc*q|PkXcSI8SO+*yp$m$4@&w5Ra~o zmN_T9e7j&VqU`hiwdm&bHWC8l6{=|pV!tXXp8T71u%Ed1-NV$ib zwTJLLBu}e(C=Q$ymRD5jH1ven^mR-PC!TjdK`Pxg-MsCZz0;`o+Ps+{7BF_Yj<-GK z{uX4;v8k@!U?b11-q7+^j>pUmzjEXQhO2H0I-{UMjv|X%pWyi;V>EqEb%#aPTN44` z#;R)6YKWkf+G?V6toDxeLQ!VBx~|n6T~(D#$B|nA802tkn_zM=`%c=sYOqqwa1fY7 ze@-j&fy?}z3*zAHyH2ojjQy8FwJCGnb3O}K@WTr)K){hTOWc}P6Xcq6x%A@(rm=<` zCUjVUrj0_SicImgMmW8@fW3I1rYJ25- z@MSf0i%o~$q9s5=se8_oU=-}{QwCBC_Ll6jFUp(?4YgxvauNBNS$1FdN9BVc)(Wj; z_6yN^{TI#|z|Lgb=$fg)WKL$OZD9h&mT2OC7MH*})!VOx6qsy_*JfLhyd}3w=o?1t zHv5&YN+>sGsn8@SC|m~+C8*)XS@?^Gjh<%g7vOGy>O-Ao?yZHsNM!C!lRm=Vs*J9X+kj(;uc5aE%V$X8a_(-k8my zc|W|EZ8iT$>bWh8ZSqCiTqK)h(5Y0zLb+Vj2nKXT6~Sxd>qm6xJuZ;t1X_4fwD)x) zw>FTRQT^z+5VxVF<0o8l_F3}9>*u5QwQYvL3{jG#;!eBGd1%^@O#c$zw{!kWHEOWw zC$@349XiqKaU1|W&taH2ZrRop|6C-&5ep0aq+(_X$!DF>AHqR5hpr+78-qjY zip@I?j}MXw5=RV8a=~`Kvu=quzI3DL)Nxa-Mvm{%quWYMckk3N`tTn=Y=bPX_r8QD zs9T0)-_5<8wtB%p{FHE1Ejra|*^U0ywg`FoaME>XH)$-r<=fFs?yauaSFi+O{QOwA zZ&#Zl0~xi`9Jwz(4Hd`?Doeb) zshNcnSBk~|Hho9qa8RSD=na`hsFs$gJjmek5Dic4npl$`kif-cIQ=}IYcHC!9+D7H z`(V?jJs5;E{Y3#tQWO9WT2`2iJLn|^5$C#WQuTtDFg)nnUmOkA#Ck`>UuT{wEVTG< zB@$Z>*fl`YQ+3*kMUGCJ=h)OwpkH4K{=Q-i`i1!L@kx|UPMv0Y)5#PG>O9u!yfnnl z^F#e1ROI%cY`Ju_?3#fXqhaTYyRD$?%ab&DUpbf?1$fSDmzd_yjvD5XVyq-Wn0%*I zY(7MMUxgE_!3lyMDCCTN??Lu7#v{Ain$f84y@OAp$*Hr7^zm_6s^Tvm@)2nfbvt*_ z%<+oer#XG*tIIsFI<`a9`i_r=htzYgbWO+s`{`NE>HW8u7kP99iLmC%k0&1k!zFX9 zN7ErpmA4gNZ5knXNW(;S+hlZ5T^7SkHQt&oCRO9wh=zCf!2sgLvX|BSAX6PaGS_be zOMt1WAIz?_{Pp|R&+dCOYd`BK!1iuL=I*M8u2)*r4_*xop{rW^2NiHmvcUvm|NAHN zFud^X`{H}dj(w$_*YHy{2vx1{b*M?@Gp6~hh*ZV#nB3lWsBBj9;=udDEBc0|sga61 zQ|$p68Q`eW+wm&3GF$13o4Ib|_6h^EKeJP>7UER<<`)XDf|Qc-m@VxEzpg2$@vm*5 z+yWgwPxL66MJf+J?Gm2LGnDxf`_#?u)qHx%$vUvt;f*hgie@U2@0nxzN$95QJTNm}ivltJ2_0uzU6OS!nMj zpS`krAQO+JZe`EDDX94F*q0aup#Ys7r}PtJdmTuw_<68v7CKU{OI?8103sa$;YY(j%OJqJp0=t8ifAX<(H2qwJ@FZLL+WQ+aJnq8tmkI!E<;WtT#-&q%(! zr>T6z-j#%o8_W}EF=Z$CY>`u>CsgUik)a+kii&Asnr=xe9C! zt!k<6-x}p({6gT9DaUfu_UabYnst%IHHzJ0p7bf#Tza}oA85FH}A&HkZw*3=008v z+8-3jlJ8XPbh)o?>3gTRG7xUpRC2pB7MC1om8YIr^)8PjB0E(qB#|;4C}*ynd$VF| zFVdXnM2%XJd}Q@BS=x8T+~%Y>=!B`WoNO`eysZxNwBD;NSM!9>>q#0n@;Uk$U%>H8 z9a4akIG8K)rE`NhUVdpb8qCtF90&_8b5=mFJQuS-&l)QYi$D46-hiARJ?tR`sDXDN zK&M}kv}9SrnWf<*KhH((?-#}^y8W2Q7>N@RV;mYQ5`ct zl_)*ySA)$;@1BboRg0W#eI@HbVO|ay^zt_>bI7ujiugDev>h6J-bHc3TO+`%W@i<1^o_hb;quk( z4I%J#6zrnarTh6Wp{y$&X-*5vnAx4~W|8e?-G+Q~4;4=CEcDt!8qNn>9>C^KO2Jw+ z+r*FL`+KN(faNlz4`1w;CT-ksXqXu1dZ(F43_i?bEWagd{FGph^fm2mZEuua{rPaN zE5-DeJtmIp=5b*oSP@Huu8&|mz7Vpre75u?2a93Z)U55&S!2^2SodoJJ>?c=O&e`Q zI6V`G!iC=8ptsE}yDX%A^yCGkipAQ@4_r@DPZguaowUc>MI)35_YO*7CG&;6-|Xy_ zYm}?*e)AvLgzh5_#HgRfl>$8WO+t4IB752BwLt~mHtBm#f17EQ8;-o(h0u z0NHkKcb$Esfo1>HR}y`?hsumQOj3T<8|qXW@DK%BAtzP)$5+WK;Z5#gLv(HHEn6!obub8m zBw)t(E&<4 z!YyGskg-T+I-{kOF5k1B>^ueNilf^ptekK3_zlyzmDyi&r3V<^zQt`bYnf!-PuQ~l XEWd*Jx=qEM&@{|)hhN�R3bu_Nn$J^%96E^HDuq0DT-+9*<-S0H_E<5GDEhM zNVW_@S!XO`gqiR7e9rm({`vj!`~B|w+OtG8!Iyl8w)ctD+enZ`;pOCoE+?& zM>j{C{QD{c6Bx|I&ce*{Ps;x(&^`b>tbh~X1O}Y}7%l* zz>G}HEOZ$h^o083bopQ~T{IJ2F+Dq+{v2TBVLEYIPLr9}uqTz2q{WMe-mASfg(DFu^0drm>|ijuO*RjnJ^ItX1o{o8lU%q=YMS~)sBaCUKZ zbNBNP2n-4i35|OCEIQ_SY+Op}%e3^2%&hE!!lL3gC8cHM?`rGn8ycIMTRwK-@ZCM1 zdi#dIjf{RD`!PN-J2(GpVR7mApJmeK*7gp0m$LWwhzkUO|HY!m|B;J_&c$$41C}E$ z5JM2%!90vir{$PWXqvFx_u)Mw|AdwAdUF2TPB!t&rbK=R->>W^B@|{QNk?e^kp1t# zBL81x{{{BnToV8%7(_1~mtTEZZ*bDxV1#kYq)1Z6>lr2P1o!ApHu4Wge{ljUm=y z+g5JP(@1L?5c!fWM^{63W;wJmzQbb(Qq^A1i!XJZu)=`_^5!GU6wjwGyqM2IeR9Ci%;9_hmgl;zH&%!5D$*UBZLhVAN+#y!uw5yeW ztw`ePp-8t7DR8 z5@f2*%G`Q&J28P>y5O9zVZ(lefk7&3`og@;t6ygaohag6!kE~L zSL|#u)5Fq}Z=g$C6K|(zha#a|Yjuamr+Q`d9ecyO(1D#B_E~opu_nEkDa(N9{!9Kf z`@Ti(3yz<6wy&NUc;SD##Z2beIYQ*6P$w~&gw~eFJcq9<4LBEoUUlyv(ZWzCZ(@4ds@n z13ue|h}{#Mipi#yQH2lmh_G%b$PLODAsAdRX7xpJg>^$A*R;1E;lmgwWa+{P5xeua z&zF_nzaJOyeIImL^8eVkbP(O(2mHJ^0pZ0$8o)S1>746z`GzlQDd|GArvdez3)Pic zwG3LSv5shFhe4%l0Jf}aXu1~8J^1Kt@!dYyh9{qiEh0(BNOLdDVs7^UB2KE_noC@R zdhcueX&ml(Fl#6!T~goj=)RKQ>n69ah)Q2AA=s<#FpE_s97fo+gS!n}N!h?z4Yp$( zi~hWu8Vd98bbNY_w>frR2#=D7*B$G|oIsjVumN-9{F0;fRd$Qyuphw9eu;STcTYZ| z)0KZSA!m5!V8)=;{5A|BB6T)`J^tqYN*bnB&lVNCwksY+cBhDIG?sCMBb*Afxun4$ zT>{A7fHFkZ8?9=))cBYCm4wr^Z&pcWS;1-$Uv)eZPZXc~UNIYP>oodw!1ihSt_dVI zU!v6iz^vokHe87M(~1T>bG&M0XEy|nwpW&q#DN>t?rrrzcCbnLf*;dLn)eqq?&hiT z3OBg~*Jb}f_042$ZS-K6FUC|2N(5F2nj+G5ST*u!fE8(o-=;UrtH$8h^?Qb8b@wwv zQ>XUFN)OB^bw6eEY=iEkPlXry@W^oW@2tyow;5xtXLKcQ#oX%#x)JSHN9u#}x0_T( z<0XYVPN+;yW~Gc*W!pUSwV2AQk5VT~$O{12oBQT@HTu|GNT=_Vln3`;S0^w>9eVv# zKy}=u){)K2!qgQLZ7v-eAjf};<1%r!sb{!((BYa6o6z6y)o*@F>^C})_~$d8W*MVG$A}5BA!Y95B)5_P+^$>?gLJ=uGXPrl)edJ8 zDI~4-*?bFvw_rIbQ3z6E^fnDR`CBR4L)5feruA$MB8&66s0d4P+CA55IN9*q# za9lNoZSvteo%|;kD?Tl=_}CB4B-E`4=4ZMYokv!cd9&5UKTQTbvq}B{7E()BYcN*a z7oY(wY{605twff`NFn~eqNeKliL=h4M2uwNZSYRn@>FhHBn;L6#S3Q`Y z3|~JdLxc?&{~)+_POPL_lTTo`R=?)rkHQea@{3^%!Th-)W!82Pi;FA0>;_x}4CPov zeMV?QW6Jr^uwK~u?$r=v*{@gkHsyY{ho+{&L(7cfRc-l@w+~BD#kr=Z3iuzPCm(k? zD(_UAlSvomc-BDAKWqN>Kv*^pI7?<8=VtAs1`JLQojDQYaw;l`EAYBNXr8%Lql8#d zXxg`CE^(KHsQUXe%NK;sJw3UjHrm?X;IG<%=DsAuajVH@{Xw^pyv%UdFao#O)Fap` zubNZvD_v$wY|31!*oW2mG^HXa$V>3`2T_#`%WO2^t*Km3RVXDi6qCIqI6~MttB)_9 zY72|o#ZshtI@iL;F^7#*z5{;Z=*X3pgywl`9#22jS-!4Qx$ho@R^G69oOPwa$G#X& z^blAbM3MHX?D4OWn(5yc{ISv5{u4X+RrCG%gcY$nJSv~Y+Z3AA=<{C90;}hqIQX_+ zc3^0^Jx;oM9uJp85eOTM%U8ziSSUr_1naY&u;J`8Jp+3DX#8K#$!Ku3-$Vz5Drr+h zwqW};*}M3V>A8kenBT7PO~}@mvZ%~oC3>$FQU}vJ>N-|q<}RG<*H2%v`Fa6k`bE3G zG~GE{F7-qZ=tHOYD|V`%hQyyBbB7x#Gj5>93QovUa-zLE#Yo~~pECY-QSu?%td6JV zf-(1WFS!FkwI2{F)8)ng=)8TAty}dQ|#vk1vHrhL(Gkf%3VPPRl`IW(Bv@FNJ=W z+%LpR5X7$U@?*=VC2Df~9u{c(BEN)U?b%aT{eT=A zqKx50*NoLX4Nm&ctXjS71P4xxx4vPNDn-c)dm(COBUCcH=Hm%5j@m4rLim3;er$v7 zw>C-xUK6xxP4XbG92Om@5W%yE=xXl`MeEUho1|`itI4y>cZW2AsEo2?&%{}EA@%6wR7pd0Y7fU|PEpGG$j+kis zztXxU2s~z0m)U$lvHUTUZS?;PI-pH}q}7rIn~t zCjDpqQhs4Z+ai^?{r(Q83##S_idN+CKPyHT{TZPF(dv*2#crn`_~%`%iY>p#Tn=4P zr|e{jZwl`X<2>&QK`QcDPNA3n47Yu=Z)mNvh@YLRjBxPyYe(mR>QC?6<{y*G7IX{uvId@^_4Mx`5miUzpbQ^YZA8N?II3vISU zhs`ZxgO1v+ir+pW6=5;wEFVrNIRZPkl(FemX=7amW&zXCcMlFip7xmN`z~a-%=CBc zI3c460KQPKbwd(N9EK7|z?ch%>cyBUDL`D~04G@m$SE;Y z4$*yCBqxbwb-L^zw3ULo4~?y}Zpu^L_Xt2w@711D#<&jT`f_VIar@wr+BATPoz4&% zF(}4-n7u^8K0~UPS-Eo*Da>h)Iz2d+xZa>6UC=I~gr*-IFwW2%^?`=>51!g>P48?X zCQxse4o*O+Y(sO2<1Vv7@dqaRa&A`>YRi%8U$KgY`YX5EAm=QF;2QlhtEVCIC2zi{6F*$-!A|F literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_215_100.jpg b/examples/data/Fruit360/apple/r_215_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe010700a7a65821dfa3458aba2cb9ee09c53096 GIT binary patch literal 4687 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 CsthIo literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_216_100.jpg b/examples/data/Fruit360/apple/r_216_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60ba9c703446e9f6cbcbd00c09f475c0af9480b4 GIT binary patch literal 4659 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 WkJb*=v@!KkWuDuC!?QbM^1lEO4$|!a literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_217_100.jpg b/examples/data/Fruit360/apple/r_217_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5a0cd6e2c9bf80ea1ba8f7ecc89f1866195d22a GIT binary patch literal 4650 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 Yq83f{=Z=WkI6ty65d$!j<>=Rc0S2@1O#lD@ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_218_100.jpg b/examples/data/Fruit360/apple/r_218_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c009c60bfb1b6898b9b4a9efb607277632501f8 GIT binary patch literal 4700 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 Hlsx?(F$n@; literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_219_100.jpg b/examples/data/Fruit360/apple/r_219_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f97358ff7e3b84c3ab431e251ce536a8cace4e86 GIT binary patch literal 4666 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_220_100.jpg b/examples/data/Fruit360/apple/r_220_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05feac925a85032c585121f05b5e2877dda0974e GIT binary patch literal 4668 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_221_100.jpg b/examples/data/Fruit360/apple/r_221_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..022e2e3870f185bc0db8b6afafcd48da5b6c0153 GIT binary patch literal 4630 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 q$4zzC3Z00|yBhjS* literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_222_100.jpg b/examples/data/Fruit360/apple/r_222_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc96455988e97e54f09fb4a67274e68fdc82dc40 GIT binary patch literal 4590 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 FKLE0;;;8@t literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_223_100.jpg b/examples/data/Fruit360/apple/r_223_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7db92ecb3aa964d2e484b1e06bbf3824cb5d028 GIT binary patch literal 4577 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 iZaFnk~WRWj^a*~GB>Hh%O^8y9{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_226_100.jpg b/examples/data/Fruit360/apple/r_226_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f219a427799d24e16dc0a5ece23a197323073c59 GIT binary patch literal 4705 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 ZZnPLeZa^Hf<3w#Fa^o%oR0mVW{sXfe^)dhe literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_227_100.jpg b/examples/data/Fruit360/apple/r_227_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d3cce506debe12a5adc707e7330872ff660fc22 GIT binary patch literal 4735 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 B47~sV literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_228_100.jpg b/examples/data/Fruit360/apple/r_228_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6ebf36559482b06e313ed863c7da2a80d29b546 GIT binary patch literal 4719 zcmbW4cT`i$x5p2J-lT{GP&%U0q)7`zP`VJ1CQT3!M7n?!F(_DoOOY;IsZxay0Yg!w zR{y|Bc%M|y=%Sq&->%Ow`c9W=B%@4*7tK}&YXQ{Gc+8)Yi?|23@|VN z00X@Nv^n4kz{v2&{zS$<#svBknVFbCOf1YSEdMwwI~xltJ1Ywd8z&n(#~-8jxHvhu z{#^W-s+~NWNcz;W^QX|@8EdD$=S>MwvX=} zzq?`K5%(jbqGJ-CJbm^&F)2ASD?2AQ?`3{L+3WI(%Bt#`H;qm2P|Yo^ZSQ+}`}zk4 zhlW2*e4U({#>~uO@rz5#E30ekKQ;(^`v-@_U!>nhf4CR`(7#yp_&;*-(YYA^tO4sE zE(XR(x`X(bm?c$M_zi4WZ-oj-sXk^qX_!&k(9JHbc70dS^WHeeDH(OVEa4B@KV<(q zu=xKM*?)okHy0M*0x{4R55xyR0SdV+8Ckt?s=z+wsIoNV?cAK<1X}*!sclm=?^@FULHPW_JHdtCP8L$7JIVe# zU;D-NOV%}My2m9dvdgutzf)h8-)^;Is5#5hgr@2pT8k&?ls{#c*DzRU{y ziQe!{s>#kPA-o&MjFwl^jeTvIDZNZsP|y}4u<=mu#G)Ko(1OZgPY~+2jT&^IylaoE zg5BdehMpkBKhz&Hqpp1Xpx{S3hb$tyFDfS%^y4}(vC%c((dYQp#$xxx9`M7Qe;z*M zHI(tYCEBgUrt7F#Jv*!#ovEubz$RUCfGl)sR=U?-NhQL|NKol2OJi`9OlO<;9>szN za6tp&uo&X~W5ZZ5rIhTCzq4b1>UTJd&($TVIjbck_1RDFjG}yvola0EZZVE@o(6Qm zn*4sz0AU({SDTP%SF`k6+yw8)wYq1Y)VvPTx-L`#S2bP63>S>DadMY)EmfJXqD1dZ zt4iGWfFB9s#5Zp?3#s*05!6-Hn1^c2TQ+`f1KLJ!?fN`E5et_e|U*rJ*ozOoZDt-x{Y z!DecS!z7L4C^%YQoKi+*i;5RTXga+!X>SlPif zu2<0;x|hw$(muK%czBJgyd_3CpI9XB?LJ3_8K+F)SkqgMSp6WUni$Zg<+s9OUR%^Ax#O$gz}abW0CSw%)f13 z9G=Eu{`QY~dcdjo`IY^3tsYpey=Ps>#qwq98TkUc3Kn1CuL!I0NUhYnJ==R*TU&v% z!)qLE^}e>38nCK^0>TNmMwEg311Fp}gO!3HU*!shXMoVd`p7(;&@5JR6@7kxQL3b^J)A^$4Z;(I-0H{!0n zvoVSkSB?6$HAVOgon0b26MXxsQA{lze_8nlN`41Pq2^2K%rF0hg>@lU)B6``K!1mB zLG*Wgy^<1m`0USo&}rOS&1W;@9E_v|TjW9E#b@`sv10iTLSAf8rSpRnrMwz(gZz!G zH&f&9sZDgA*nwOPfS83_ocZ$UL$}+kSP>0yCUwXn&O6v0$ mgt}7%b)sTgvoVmJ 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 E074241ONa4 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_22_100.jpg b/examples/data/Fruit360/apple/r_22_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca91c8e320a36ec6386c6fcd0634c1da5b9b7ba4 GIT binary patch literal 5459 zcmbW3XH*kyxAy}HgeDMrkJ76Mh=7!+2uP7oya`P}Lk~z7qzVzGNfi(TA|Oq=^xi?K zDjn%4NYex`1W3Y(_p{dfemNh`IeXULYi7-!S^wYOb6vB~=gwCFtOmOJx&SIF0Dy{e z0M5Swv;ovqf9-Fi{%auM-$(-j0YS7hw6y;^n4XRnOb@1|rDLR{XZUNBGbTm`roR_| zU-F+vscC>f8U`>e_}`TORXFbkKFQBeay zG_+uf3`R;q11m*75J(YCLs3l04x`)$fFLw%mlST&vYS2t3;S>=MyBM`iQKB~;WYb# z6;*oZ8%58+#m&RZCnhc-DJ6YX`I?HV+I8*QI=Xsy^bO4K{bPZ!w6aDzIyt+zy1D!L z2Rsf8dJ>F&7XAE1Ol(|g+N<=8%-31j1%>a5ic3n%-hZg8Z)j|4ZfWi9>mL{#`uJ)1 z>*Un*%EKeu;q2Zu+0@W+Ic)4yC)0N{VHDDl7Lf>5}q|MmdqmZx?)BG?{GZzo~Vf&lrk`VCh%@A<=*yGx#=y2{Wj4i&)njYa<^bk z^iJz?k(Zk%tB~jPV!41@T4csU!1qYP?3Uhs{y6|FPX36YW;ewqbqgx)uES#G#4>uy(hn9hNU&% zys!B5GXF(Z9uG5)=#OKeNzAWqwWn3hNYD@Z5oSk`&5=6IYvgml0nBSHiEb;Vi0`B# z+sp3G&shTIXXoL**8-HxtZ)v9dQEiY#&@#fGBB%}-2Z&A@k6e8Ds$O51Hh^LEkIk{ z{wQD34N)eBlaL_{)+B-;DbdeDZyTgNh-rlPFCh%tO)|5ci#BBD^P6>?oR+IET{r|h z5xmE@;q2RGA>$X?%p1$&UB zUr=GmTmtnqxU*_PTP*e*fKMltgmVT}K{<%hg#GmiX7`^}DLdJ^U7Gd7yaqLgkVrt( z%|Emq$TcXDtBK5zj}_^k3~K5-2Q(rQm4~twU!peT9^Q4I_M56uDZVpx%BmoqX)y11y=rZNBQn%nxZW)F<&M^S}`QB7Do{35?L*;UAoYKf>kc@OCS1u1R zmBa=^Mj%-T>gD^_$4b!WfJgRGkMS9B0ahqikfv=bXF{w?-ux%#`@PAv9{(%`byIga zz+9jUb@(TwN+KBCA2GkO-kG%i@^Zk*yUD8QJg(jhefHlXmsjaT&;t>CtKmf|RkL^_QZ>vqVh*-pmxY_eKf?VOOeuFerklMs5I^sp3_M&|>Pr@no|V>PYFSK3 zeBZa!vq_%R$Gq}kq0*2JxYGJ0!Uj73dBOpZ-|9aWs&Wnh1yXuF87fJMd4x;ta_fvJ zc}Al7m;I*QaBlsHv|x1Qbe6AGA^FHL18xBf2ph^#Q{Epm&GF*SKS{U#M{>$LyH2~b zAnpTGHBV6WO{`w@Zz6L2r2(TH%%~wGe&kJ7#?_Y`j;W(JgmO}5x^gE7(&qpo2lsl( z{t3=F?AkCnL>}}r(i`_tyA!cYupc?;@9(rT@h^Vk!Z-8nGYS)u5~%QU47N(f{tCJ9LqW zeFZB2!=8J9H`m(pK^e^c0OpS^d@kjyvBl1@w+}iE%&flsL@0BWJ7fRo^{>;3?A@~}3GapNQzc_mHJ`KW#+|XO!S}XSJuUnk1Nd*JeRQ*O z_Ha^&3U8kHVT`li%Xd7!TST}iGNrh(t$3?#<&j^?_E1r1D*lg12((#Gv)iof)B8Vq zgKPv5i$;YVh;@P3NAat%ukz^avW5>>z&U=O<4Vd2L9WQqHqqQ!SgXG`)%eYeIYM*0 zN7eZn5m*^BY;_h0zt1N+8l|f%Yg7Ae3b<=$TH(5jQW_}h7Cph&T{?LM90%X>R-ZbA zm;LwykDP!&6XFD#0F^GBrPp@~l8dTeKaJ`gp@X zA$N)ruT1X8y4bSO!4w{$h0?RcUxG}oI46y=Iow7{_-_1mDT2?4aXv(u70PTQ$G?9q zXo=FizPYS=!x^c5Ng{7ZU<3QxGP9Gt0Tb`L?0{_Mpz`?!KCHI=fUQ9I(HH+?0$+w; z3r}YPW9vbwoBDjy|LDPmHQR&N8;f468V?OQACigD|t>9CMfCS&H>K?MBBbLj9p_SUE4MW)!gO##2+r*O}>hl#biUDLa~VI zc*;`bh=tyb&xdth+P!XEF5Gig-<1B&ve4NnfQh!RIh7l;ZP#-qN1i_&>a~x-?gZinG&>e6 znQ(WWzL(md3aa=`A1d^v^CCg|(0sCjbN*pUNgF~v%{_AhSUs{*85EHaDpC<7?e<81 zUx4l%|K&t)aH)Ww?Q8ddjvRNLZ>8Azal{+Sw)md>8}rBSD0Ao(@r-;eNQul|2{tgf ztit}t^4iQ`P&YXp=QR)!eGb4T+TGX44i>d{WwLWP%kuSoDg_kkV9BrcB0cZCGQYFJ z=!hjPH(h_?nkeK-e(0?tsoo0woHWv4MtWC8lnW?WRxbZ|DA$d=Oc` z)285?RI{~%%nWn6JSz4)&>epQh3=eMHXR7Zf&KlH3o4uAA80Zk&B*g2pU(RI!G|RG%!J`(8+OjOF|AwtrBlBP z?;E>ujTI)S(M2A!YQ1%szKbw19O1ex5xh~Rwu_)q5uL~!%jc3lL^CC(4BEKoxImc0qB)Q2-y6;s;)drU zmPe*e&nP3#>Jrd^)YK^wWY~A5uVfozQw>19J1<5fMTIs4xag1lXAzq4i*M z`5a*K#dM!uOvtZMjT?~I!OZOQOQx3cV_PHAOltwdmxUy!_l~|5eI?rXhiaEBE&7UQ zd_PIs8*<9|h$b!ckTUd=m=mquOTX+*uE#EwDQ~2)>q;x z2MO95gDa}?pZA8$ZO_QFT8gB1oqS6r{V(`Q}bKFnS=&9Ea+I z(I{hh-OPf}IxicNCpgRo>7C<|#19cq{1SkllXXH@&Td;0Ty&=;CPNixKI`y26n^TH zM${7=Gq2i^{Q6Q16^aPF|EqQJq>BHO!i2`@nDdEOKrx9q4IhZ(YFUM|TrT%i?mn|k zm{TBDbPk=(e~;{5l(8RLmU&~HWoDCAphDkK03wbDb6rUA$D)y~{>-drn^<-E851nB7htFNr$LWn^_BvbMrTJBJ>M$TxGsGF(_D&qr2f%Kc? zcJA!BPh}4za1~#ZR=~VzR{kzI&ZZS17*np_I1aUFN{LA~QIzpj`b4}w3tQJTn_1AH z41wQ0kB+KJEK+SYl)rnnm~TG5a9n5SvmtX1sC$ye%M^2y#_y@pw%so_hR1rN8$Msl zxG>r|xJNZjDT;lU_X0(-H;8vbxq3v9hwR7h_=ZvuspKfF;ubl$Dci?yi;(SYdt~Nk zx59%_a^+N9U^we+yPnFo`XxS8%#?>bUyh?+(v+$Fmp~#P?uoe)VGv?g0|LqqWS z<37H9av4s)oiKlg6VsDu_pXl2vZECuHw>=? zU$DoUVb&$0k1#6z%OI8z4~LhbBk_u`Fo^KAz@g=PAf^oQE}C$DqB#!HD-WsLo*Xt2 zOdV=_3tDA5;*|~hQ@u-#AD=a=eFN`|c6z=pp6IA4$m4+iL)(?JLXhd&W3LV$?5gjq zSa5mqO9UGcQ{~u!t=uztC=nau(gaoLiG5v6zf>>6suFi_xW`z|Y0dag%V|?|`&~VH z3oB>2v$PqN-_zkGY1=EjvKrbOEySDU-6NZGZ91D;)HS?3-93UKetD>gcB?Svwo*e7 zf>qXx=_KEq75x)Xg)*7?9?9Axv*ydgsRjh2G1cy)_7Ht1sW)T&zO=VgLg$Xp0epnG zFXgmHuzajSkJY^wcVQp5JqnRZ+7Q=g3Hi&q{QL|`8Tsyk;}Uq=z>+Ls^$JZW*dk>1hmYx`;9xt25`KM$2`516_=j z*cq+mwI8AW)SEOmsV&btxeg77HyB#rz;F0)oGRXQNstJTjG+n3DMHyR=x~;X96^|3wMYk8iTrHi=-jSP8ktCwh*`%OZjG1 zNV!+P*}U#r~x-}rrvJLR9Y-^09=I2z70WETg%M-tj_6JHjsbhEhB zx;d$F|Kbv`bAu7t^&GI8Z;v&CE&%cTIM0Qkl0Fsdq-e3ugL({?^*1H!#i*)}72OX+ z7b*;d!p(voc52PaZVhTQSeWQOK7e;bJkYv=MWD%-2)5A0# zaAQidsW6cT=T<&)V!6ItxE@Ps%mAHaxMl6BlCv#AP9E$GEov8kk* zUS9O1xv>)#VSQ?YFQ63FG<*SC$6O)`We*4Mj3MzYZyTol&yYS|0YAdFbZ_X}vfjMt z$cL4aSsm;uMNyByYg?G-ml)9p^;lFq`z zr&S&|bUN*A`%?l;t-_=evYTHZHNJLDZ)y`rZM7e(yI?+H@sSsuzk@YBpp>hgqh zbj2z2;6H{+6dHfFEZq0Du*zgJME_`gz?DW*h7P6JsdbzqUn->i}_D*=ny2Z=surqEkP_PbzytPG-pjuZ0;PuUdJ{%l;JG;r?Q$hNTxS}IaHz~h`T#n z@Wa=up5kBR{Ku4xn=IcpM$>XaH~?>%dmFl5WDs@21Q{Ut{Bje|1|M$4myP20$}fn*0_m1F=!<>u{zA4c^Ok{hIKDp((!hkgJ?h#Cl2% zuK#f>%-C3m57Ib2i0YK9lSq18E8a=K!n?hqU`$@K{}7%~c=^P3bdhI|)8E?I7$F3r sa0PiGr(bj)pbHHcm*R9D`l!Z@th@=Y*mEt2+f!hWEO`3YVdwMz1udO#LI3~& literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_230_100.jpg b/examples/data/Fruit360/apple/r_230_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..52596b19c956396fdf51555940e5ea36108c5352 GIT binary patch literal 4752 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 Qm-Q3PkCy_N&T=sIAILfdrvLx| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_231_100.jpg b/examples/data/Fruit360/apple/r_231_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a398fffdde0830258442a1a2b9a74ed5a4727363 GIT binary patch literal 4759 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 aNKtqga1Ee#&5jrKkt~WA0!R+JnEek2+Y9{w literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_232_100.jpg b/examples/data/Fruit360/apple/r_232_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..899bab8cb586a1729bd4765dbd14b6857a530f44 GIT binary patch literal 4876 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 K|8XPw^nU>eyjf`g literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_234_100.jpg b/examples/data/Fruit360/apple/r_234_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58f29729a604c37123105ca5e2b43ff9a5338978 GIT binary patch literal 4894 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 A;Q#;t literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_235_100.jpg b/examples/data/Fruit360/apple/r_235_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3926d3a071be0df63b8dd055637961ef7e7ca7a8 GIT binary patch literal 4869 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_237_100.jpg b/examples/data/Fruit360/apple/r_237_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60dbfa6bad793c77e3145437f42d3c167caf948a GIT binary patch literal 4868 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 Xu8x;Y!Kzz#YRv6dul#35C{zCd+0a8@ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_238_100.jpg b/examples/data/Fruit360/apple/r_238_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3552e7bc4a6a37db5f6721aa903bf7574fe270d0 GIT binary patch literal 4933 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_239_100.jpg b/examples/data/Fruit360/apple/r_239_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7efa51cb320951ee40a611e56bfa8223f2f9ebc8 GIT binary patch literal 4970 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_240_100.jpg b/examples/data/Fruit360/apple/r_240_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..151e0ef2bf31eb0e9ac84057959c89a42c46a908 GIT binary patch literal 4947 zcmbW4cT^MIxA!L`5IWM4szjwk1yPy;5tO1RJOUDWL{OS^X;OkBDxIJNsX?R&3K4~C9HFwlLMo3jZ`fga&?sttgh2W&y3Bk^(H| zt##wb!Em;Ks!XvQ5Q@20nL2Ku@+#%}dd!9>8TnX;pLTJJ3~iqkvHJ1oRJK^kAB$lM z{}s+%tSVh@&mT?vN=hgzdKad15WO$xrl<>Vnb8<~vnAZEW$X!}8+9XA!7RM`VQvh7 zRfGXNi4O}sXwZ?hca4B;tgq6bhNEXC+Acy?yE1`|W@MJPkXU`>stm>#WJ^v zv_lu<_JyktIRiF=P*Lr>3}8KK;f$;i*&=qf)g~)LzcMmNnItxlR17=SAWCKco#+I# zq^jWtU*~M>%&85BBKg}H450mDd$m`0iLk-4SPlS$a*j6)P_l)-PL5uH;W@P%;keO< zKk`nqA5*5Az*`Q-I)>94)&JlM4Wm@Vh3JmYo-lxF7&m>>YHim<#h(oS*<{atKz-|E$nM#LZa%gD%i&se&2FCZRR z(CGA^q~cBaUX$;RHT2_pgD;(GH*>duZC*nVVSfyFq!~aI9^uj)d$Fo068)eVd~NQg zUXW4VhCzn7r|NWmqUx5#V(vdjzlU&)zj=gQscz$oli@y83qIRLmTN^xF6YP&sKOuS zbXg2~jk?}Xcy{}-`M21^(*fZZ^j-&x=1@w;K1H_<(aX5A*{b!|~;)Y~AyZsb=`bYIumH`5=1(SRA3Xn3= zFi({+Jo3hu)aX2fG^A|C#Z^q%$mhN0<`#XTd|8rnAIqGCB!m~&fykuEL1Kio$Clop zUUid_T1Dz?!+p4mgl@~tPd*(+uUJ&7b{}sPkpokyPV;gvBH$izFp{hI)v<~f$>)#6 zngW=d@Kt*BLE)iRaK%D(*RLb{w>GpVQvTc;E~tI=GMOtS@ZE!X3#r^d02z&2&?$}b zi5s;EOB&XapYO=t5Wrii7a7iM`t89No2UF9akfL$%qK7~!cxusKB$=3KE14lcDH}s z*u_)6j$383{khwIr-?!{+di+BZHc~AL$A+Zg#y9IR{3$Y$9X3&UNRd8;&`{D%MVZ3 zjz`1LoIT1Mm8uI8_R;)}@3WLHz5Nh<%c*?)Mw7crD$aZLP>jB6`E7eLTqQI#{Gv4~ z%ebENeWJmX|L@+Aq8Kgh;x6_^>=)DH&YkN;ZW^CuQ0}`pvQjj@a*}T?LB8X(oWDW0 z@DAl2J*2-JFFDqrfwg_vE}%iM<_Lf;NqrKUbJ_e5o>gqr!xdj-!+U);QwwQR%MU!P zKY6)?^XowNnxB7G7C+8wPG1bpi(Oe{y5vjW&41n$Z z;Y=L^XhBRqi1@PGJ2Eo%Oh*yq$&>Hayhh4*w^4{Z0kORNW&QIdm>9XK8ffGbek=eo_8DE#wO;K+-JIu5vC%v$+LLqjB}CFWBFuN)fqDpluy;jhji5;?2yZal579F&*Qb-^@D3pm_phAgf#Bv+n%#Z;`FWzNu4u zrueF`<_%nX414XzdV=|hEv#)X4RC=tYiPf-5+M!)tW&<{!SAubb!Rn~E@~ zv-`*m9{dX>(#rIxt96_ZByy&+W`i>;pKj`L;!V7nSy?GfQYOi%Zm2B3qTyz~B^bD>c~L?^?}x3u6Ow8z-rIgpTF9n z&g-Mh-YevGvV2>kWYFSZLGGUhs}q~^$;xJ8%2GUz?kaEsT~l-Je%0AUM=`9daB^1D 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 E1+0f(6#xJL literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_241_100.jpg b/examples/data/Fruit360/apple/r_241_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb930e776575acb31c294c6bc385a7bc596131cd GIT binary patch literal 4974 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_242_100.jpg b/examples/data/Fruit360/apple/r_242_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf1adcaf12d548dfc182f82ab0c6e29472c6e5eb GIT binary patch literal 4976 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_243_100.jpg b/examples/data/Fruit360/apple/r_243_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d91ee4e3bbbcdf0ace07b71d1617cfa170ac8aba GIT binary patch literal 4972 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 K5ho6(&HNYUoSw4) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_247_100.jpg b/examples/data/Fruit360/apple/r_247_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9caef1ed43f7d4cff2e35749a81e6220c1ee5ef0 GIT binary patch literal 5018 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 YTr~r!;qO;lI5N}e@!t9EAnMG20D;(|g#Z8m literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_248_100.jpg b/examples/data/Fruit360/apple/r_248_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dbf4ca23f67120937f319bcadadfbefd70b9fa02 GIT binary patch literal 4994 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 M#uN&0org2~A5@a1v;Y7A literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_24_100.jpg b/examples/data/Fruit360/apple/r_24_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..993f32d8cc1c72997ea0b4836dd1cce1982694f7 GIT binary patch literal 5496 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_250_100.jpg b/examples/data/Fruit360/apple/r_250_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d6e01527b6f682d9c9a3f274fb5c0fae41863077 GIT binary patch literal 4950 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 Cx16p3 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_251_100.jpg b/examples/data/Fruit360/apple/r_251_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8786eb3adf8f88b8007bf79713accdd3ba835751 GIT binary patch literal 4968 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_252_100.jpg b/examples/data/Fruit360/apple/r_252_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09043c16c165627ee59a4d25b84a0756fa325600 GIT binary patch literal 4981 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ⓈCyew05mo%uEl2Iwl z?%=_1_@|EnBg8FACRuhA&>tADF#mPgRG1;)K=J*w7VzCK(JD;vnFl=CC9%Q1TJW&< zf~WI-$ptd1({Iz}sHE|HC5V0-D0$ji?ZA_;|5!l*nYCo$WO+x*Q}8pBY7Gv|>?xwX zmG>GKe)b_t`JUIU3r3)~6@m|JC1^w0d(=x}%u3XRNLDLxWWmjo4fppJ|2m9hcawA% zeuEJ90}dv-2VUf_;~T4O8H$We80Eu%S736uY8B{wjJNx3yLM>!YZQa*Q(EI9sVyU` z)Yd!+bNc}Uft^)4{DkHv{@TKMlZ9!JiXAW)EBZLima9Wq@7W&jWJvx^+nwZ00-DS_ zLSYfdr%VK6dB`?ItD*^OxL!pqw&L!K(%Z!`$)-mhe*b;^r-Sc1GL0VNS;H5o-@7G?;v^j=YU(pU7X(m57eucOQ*B-RNc2F3G0)ND~-mM!pyKNm6m6#|bGFwrK zcGEWWVec-t1rokI*)-3R_}X7&3JC=z?pwURW*--~a=?8!L4#vU_T;$Va8;d)oG+|U zJ=8?^=||v#aWw5MTp(uoK|fh(OL{fBw&Lme-O=2UAo+V9Ylo9h+{}VO58hN_6B7fk zb*){lVd)?5oqG2MZ(&s$ra;m>*-(_go+;zOFw}1fA6aO)MyXaMz9_c6sdls==j^C$ z3_UItRt_T=hZ9xfu+!&TYKZSi{!@mnl5G13?t#mZD5Aqp;faV0Ga9o>UT=RP$40!# z4?MJcwlZ*bA{X65o;msIGe249O!(t)qAdCa53H^~=QhC-8OrU65N~1Nlv8(p30}2T zl7<>5P~L-`sK6LM4!NdFP=FpITWCWpg;n(W9Yy|%V0stkdt>La>!X8t|EmUnt}p_$ zjVbgY92hV=T+Ii!8HeENM+r*|NQ@Zup@{2Vv)$bjLLOi0rP3q1RjcYZ0_;$qn-;e_0vgy+2_y2p9GW_Pf;b5l{b%Z_x$PC2;K? zOb$r}M36-*VP}ml<}1N|uTufs3sHgrdK5etPUb1cAO&?maGsa#(^6Y}1;qxTpH>AE zSDdVaG;^%yk{m(?#q{rQvrP5`B+~5HVbMfsQ8G^*UM=2>`~U|VGs0Sq4EGpcwLLsA zWT6-OxUHea^i`+%>4$_PtxFn+?;3%yG%Z_u8Sa%|GodZz^&1oc0x|~9Ql1D%6~o-Fm>!d07Vs}+yDRo literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_253_100.jpg b/examples/data/Fruit360/apple/r_253_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e76186a4b34076663eec5d59a99cb83667293e83 GIT binary patch literal 5053 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 Apa1{> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_254_100.jpg b/examples/data/Fruit360/apple/r_254_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7815bb848a147eadbf4f98c67ae0b74854c28bc8 GIT binary patch literal 5080 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_257_100.jpg b/examples/data/Fruit360/apple/r_257_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e630f1e867afbc58cdc7d3bbfcd6bfb11525695c GIT binary patch literal 4992 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_258_100.jpg b/examples/data/Fruit360/apple/r_258_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ea184a4db781842536bc974feaf599969c5c528 GIT binary patch literal 5051 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 E4?k_S!2kdN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_259_100.jpg b/examples/data/Fruit360/apple/r_259_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6bd1e29be39b250b64749e8f8fa6fa6a1e60c067 GIT binary patch literal 5045 zcmbVPc{r5s*MAs{EwYBJAvBd_X+#uRBFVmeg%Tor7+;Jn%ATzv5oKSdF(!rVku6y= zS!c%BnamIdW9Bz~zt{D?|Ga;^?|Yu>oa=e6=iK-6`8@YI=RP<6CmjbIH!-|n2rw}L z02AW^=+l5cz|8bV{#fQe!UFnZSy@;>ENrZ7Z2u^jgPje`0cK-k=VIsJ{3DDzZZ1yl zKM#K<`FAKYD+t8O31$QTXQ1D`GW-+_09$V5}!OxO3up8$$kFfWnO;C+jpg9zx4Ee z?du;M8~-tZ`8hd-pC>FVE-kODu93I4fA8$>QT7l1@L~c$|I%XE|B)9TgBSCkH30wN z#l#%OP!JyrtBeX8|1}G+TcE(Hi?Qs2dYQ$@4h~sWOOnvtpb<`CIW@dI`46>!nEmgF z#r?mS{TH$S<~0RygP0hL2jT;CfusF)L4L3%h*T=gOF{@AHPL~GMa=LnI)I{8l2dw4 zgl1vinF+_f9oFd`uluGV7Q-QPZKgLiHZ`uZBsc-8**7WsmyYCzGc8^tDLL;(Z}?4X z=z14TgK#G{JV{ID$x>3(K%VUK`1*-ia9&8bg3Ec4*uk_7$X4(!iVnmV>nOrr43UO6 zB1q}HJbE1?EvEBoP6N5F*t3~>M$g|MY%=XJ?R21_h^Rtt-tDKLDk2>yi}TZ;J(e6! zi-qK%E}+Nm2I+?Ri$K$0mVpC;tf*wX42cR61#&*w-3tT+`yTKw6sy|ta(3b3{?N5Hy)6|%}6HdZ77Pdw11^2}W3Wwjg z*A7Blg_Ms!;&_u&`l@E-wy^6v9>V~rBwBB?*kDMVc#jtpjcUKu;82CJdVRT$7NET$6?o4%i<$SUOFKT=SmY=bwfFRKQtO#{!1ul zUYZUBOJ$jE86RyP#nS=Y8e+1S(EC)aC=rV;kF~;=)rNq$iUiN?<-JuqeB~W8nI!~i zxIfwIUxE0c%mM4_oYVe(uEh%1c6@Rz-**8bk0vJc4+ti=Uy#Yk{2ouikd+Y>?}MKg zV+I;u7hf*&K5(LOq|pJ^!lN3-=U(2?`OrWrdRnJ#MB17syOY6PMB9hcGXT4?zpRpv zLqIQgk&>3_TOtspBXGgyMGIWETU_C6lb^M+-|%nUy1Q?-43q)8ba=OJqg1;TMUl5X z?Gj;gV{g7VqHIpuO#fCv)$FPrbe~u!%d!!oxt!~I@m=!nX;BfOwIac>TZ4{@C9$G~ z^5oMQcwU}4O0~=9ilcO1|m zq*X4OGNxqzwPXU`SEtMDfx}={Q(Q$0DeBOg4vla{& z;W6Y`PxY*gQY9PV?tI2W{fO?U+{X?-ZM7HnmRe5QnZB1pwxP0#?7(Bb_G?+uQe^c; zxso0IuK9|)GDEkpdCPV~AzlM4XJf7+PJId}FEj32gW=#d-v+8WSo>AD1|%j$sjxak zx1)7k`Y4cRc>jC=kEXO8Z`DzPZ{+xl!pt=Z0-K zU}ZlI0A zx9D%YeRU0rSbu>V?$J$*Zcyl)W($DehdIw$-1V1BVxa>nx{s8{Ftwp= z;@Sq4>okRN^lXIP$4{*v^A_@dEe`aZeYeo8qA6F9Wfpixpb4G4rA)Mc=kvf_>zy6v z4G}qb8v+e~@M=7Sd@)Z94olWV*RjWa>RsA6x&mEK% zH18X9;0m^5(}O2ki5cA%RP7OPf(OdMw=|}yub?-6dJMXYh=GG6Z;$?tfDt~A*LEc0 z9oey3oxFh^B7_6G?{>NkJg>ux!yEIFA3ZXTcY5qwM{o<+yV+b0_)ZEwuy3N2!dBAT zx-Zj#$1VENa+o`MJz)}cu_)p`rav0JnHb6ZqS0|8MLe`o*V9t_>24)dKI3743I$_9 z$e5DSBej@SN9Eh`J<}Z#fJpr%@FkK=9wQV}G6F-E`uoIpm!N|$|I*NBhFb>45;3*D znqvX)>uZEHL~^0C%Io@FRHyJO{f}*f`9jaQK=*olGB9qAkJAl?X7a-H%w z8)(1MGqa%kL0rpY>MPiKDI)Lu@TBQ(4#|$lfpfy5*5CqUM(nh-d8S)3YlyREI^0mS z58_eH-wtG)x&I<=p!q>>h?-pomgHmJTkAxKrt&*=9cUo@6G^PoMQ ze(@NJx}b>gbMM=?4$NNgVf)b|HtZ(5XeSWFY8D0`?UhTGJ?X@BauY7}&HL~A=e`+<3S~Z32`7}KwDJh6 zhS|v2`G{_yAhxe>XX)cay3=~w>Di!BjT7X$ldT68E|0PN=yS3+i+aMs z>Zc~}x#iUoEnbqxYrJ)t45ApVC0jGCgVDwA5kYi-Wnn@`n(9fC`0=d-D~N_fKr)CN zuKbR*&kL;+Y=JbQ^l&3uXi}uVcW5GOw|++_j?q6Q(*gI_rt`X;S5EFeC(Q_$2jXEv zi3m=ljIYGNyI8&DCmu6jVnE_{c!i{m&>N>rQYGwhSsH{?S9sL=!8#>{LKN0Ey12HJp`mHCNBrWMmY$7GTjCgGc^dcjWA0Evya>wfE}QtM;W%VxK>l zTzZza%xcXFCW%yGR4QLbqi`Vx26nvCk*%7t>EK3x$7wQ`K``^=4HhNjWJ~*n-YZGN zjZ%(Xud&|f)RYAM)KotZLI=IA%tMgfGYKy^V|f#Khb86TUEi`g3(*E4u?7TfZKNYz>x_Dgvzh4>I}HJGi% zdX16=5p%it0Dhey;j=SLJ9d|`G!C#QyU9l-^GA)XN|XRz=1A=p$Xl+mYe%Iu4{fi? zx_%*~*$d0D%E#Es+w)ar^Z{a!m1Ia;&VEFyHe**$q|Hgaf6?hO-Gyf<;?-qN#a(a(B1k+no01#=1O?u*NF@x&7h6}27h71D5#>=v zTic9Hor}TZeq_MWQ@Cs&o>$zfXWQ(hs9N-Kht8hS1D!>YbWwBeCz+YOr&@3Ppq>kP zIBJ5-1wpMchfAZ~3onr_#kI;&yq7zQj#K5!e3}fFhS95zUsA&~wtWNETQ!+%yUx7- zimSL%z0JEj$w(Mq9Z}d+|Mr)*dXKjAud0UOqtTsOwa&^vM}=wZrPH5H3V*ps- zdCPVzs2q`bU~As{qjJm|>8QK3xjwz6TiBfEk9%F{b?NvmeaRoUG{xp^60qhUE*_ixC48)0?EKhBksc)x`gD8j#ll0ns_u02r~rNn)@YSsN*aE$>F?(mg>;&BLN#A{bDKk9 z)%no_gX%&ZUDay!pIa|-@-&(ye*Ug@ypvSnW0m3qvCS;l721>9C}%_k_ffO1H`jpA z5Eq`O{9c*)qwhM^Ro8ue@tLN41f9b8_RI ziT=k{Rn;_}esMM#xR@#Tm_N0YlRJ)G8dJ(?>2p2uxq_6*<$gQ3(c&_dUzx^kPWIfT zQqmq&!Ad#_*GcCduh671W$_6ah}`4a+BHzF>B{y##OnHP#8FYJ0DPc`y}>`0fw4t~ zEd@WzIezW_1NOz{hOA3=nJ=GvXruTeFa~&Dc9=`Mj>vnGU0ef~8N_&$XgPgr?4h)M zabuF95T7;hhNlyKwSCn&XZ4KF;Qox^X;_l;hM8{NDn*R~hks9p2f7%!oroN-@eW{#fJFTa^{+i@&M~ z71BS>Po{^Kpt^`_ qVWodnmxQm1T)QqRD<`jTOYydvx`w8fw$A;BCZ=ZQ7LP0)9G#q9T;1G# zUikX?2fPf7cpVw_CORe-o}7}Jmi|5?^K)K)!I!V!3X94sDyyn%YU}FT+B-VCx_f&2 zhK5H*$HpfnrxwwerR5du>e?T|_Rj9!{sHmu=r0!;0Qwi}JpPYd%;#L>e`^5#%SA@+ zf9@b=3d$=|R4l3w!1hp90qHPmwtGpR%35gzWsLFcPo59bUKEmD6ej#d`-kj*2NwSS zBKt3}|K^$k=s{%X#RD+|5a8rcC}Ns(X(;XCa3Qx*w^$r`kXRfMLl|E)-@xLx570SX z5YB1WK;f8<@pPfZtZ*|qP_g_Fu<7b4?8o%_kN!Pc+$wywqPVHKVpziF*r+jTjx$|S zcALVKH$R&)7dYarki7q3Qtw{jp(xInH7H_C)Z-OQL^Y8WF0}vjP<%=p*b&r zvtpQZAb6%lD_61P_B&N45A%-h+}h-im&d5uqDYC;w`|*PPt;3wtiYj$HX3=d?ejUUDK* zm7UH2%1dWJcnqW5j)#13PSk=5Uu%0> z_9c}PTY|q>fC%Ocz%k;FI|hm4i)TPrBFk!EX_nsDRQAVGeQ#yY;U!-?HJ^#2@nVwf zxvc(>R^wns;v8f2B}3dN0@yr_zb}nfl)%$f_yohLR8sl~?GTZby09>wFcaW(qpe@I z_!8B$V5-np9_@qgullL=;8)bHLPmQgu|KxfEQba>R7rX}6&GmxiZ#A!LargUwbpYs zpl1O1S-_U|=nEA1bQ($ZbdN`=FM$quk@!gYL)n!S@4B@4lgFZ6j}M@t@Vf_y3CT&N z{pFK1q~{i>6Eicd845au(HkA8W&sqIWu2%rK3)gJB3-%K^(w2Y2+9^^{ z$iPoaDmb@1R~l~jD0Thp*aLse+trJca#*uj5}{36d0P*;QKDJOoA>p>qff4% zV}JkbC3wGWlv@a*!gicWjNzV&dkRX*4UD#_M}Th4EYW8@lNkt6p2wTd6R*2;N=|p9 z)tg!Hi|M+=m!GZ6U5_}E--cgM8GWXDxa`#ct(Jfi^3@Sd+bVe=xGXDg7gv$tMr3~vp@gH=$F_4tqUb)px-BLv z8FeRy6P)9YJOik`CtB*VhZK3$l?2|wYx(2g)SW@Pi;|P$cN>56^)=R1N%bgCPB58P zzcYd6*gz}`ULDKn6ipev%D42Ysi4i(VwKTW>}R0@|9kj}j72l)=c);}TN<|8`ZvKANrM`7< z!Jm?qU%FGDZN%^&hWj5S>}hW44Rh$da(z*!->=;uBE#@W)8EN&PuVB?W*|0Ej{uG` zRzLPEw)|Ph{pu%eZ@7_@UoFME=QP|d1ulOwDUAB6tCOd#sNx?F#8?2@y;irtf}b$F z8Tkb1gecR(A$Yy=)bZU2<0zf%TXr`)B>AD^D_CVrsKIU}ZYY0%~jBhL%`4L%Nos&1VmGMolnl1_@6vVuBc-TZ1{W zfr7tCl!XE9i{o#_VLl7-#_M_`yAAnu!&~3KNcDS*W)+LkGpQoh(od;N&L_7OKApq{ zS&*xFP4Y)mee@5D-K~@85IDNop%LO8C7}L-ZpFdvk$Qxke%$;(TCvkh7ucUy zS=E{{Hetu?!Q&xJNPE7ikoJ&D!*-mrF4W%dheukAlcel{6Kfl$R#buBZdpri?@-?D z*64$@pCrjR>1dNCR|#{6qm9pXs7PB@zDCp`&?VBul&%rcyew^GWyGKWpOdLtnuWuR4mxI zQRRuLQp4Vsm0^tF;0tfE$Grvp6rCGsIuICBMoRet?*ssAG7#%g5$KgmtD}mSEm0~w zTuQqq4K{}MmVRhC6%YS2f65$hu#lS+{_YI$O#uMK-EKZhlK-8Kk)w@ekJ+4wI(<$j zm`vn@DH_-M)hbfok#}d4hk+aTqnJ?4kB*%S z_LLsD^XcVyFuJ9#6}y%cn|0@QCGJ)eU0!^DZB*Qb0Reva`d z=33e(M`HuD`N%HGqrX}1k1b<7`Z6%AeMMSEZ3qmrhtMWmE%5ce zl5S8F{qj@lG}M{v4$3Qo}PF}jp|YN;S1*X@1~hVk(i*k%lz zCp-by1>i>guv}Mbx7aIM-OY?N!3fJ^?kXXS*VpAnHPPT-+9&AqX-FQ@Y8~Q&iaG=E z1}9>R95_jW3Im@BJ~4W$a+YQG#bLh7uy!n3!7pB0Vg+^kXi=+*owRMm|RXID@Ns(}57=XUCyObB<0>Z?a?BPT2;d8dr-NCu?q$B;#{GG8xAWtmc|wPDe+ z7cNnnn(fcDdz6pN^I$iK;8!=2py&`*qQT>0-B*M-xw%33h%u_Nai>xpz7 zA(W7X&nkCrZ?xGL64Ug(#$5A+^*B8DQw;9Tm^#uzXLvon5Gm0}PGWca^+NZ+?n!Zb ztM@F{CE>YPPL$#=u^sW1NNwl%Yc+^HpChl-K;kdPwvjwxFOA@1$uVr-5thV;GQ|g1 z)_b=jqx_E!A}V#Q5ntWSN-lFzz`=0C_qZtweo%HD&IqPKEb}B}2hnw_a118vCL5Q9 zyHv)(ek*BDnu?@$p{#an4$+WMB$ZZzvPO~H!E?`1iOydI`3#?LEelfqe$BZfAKrpp z0S+)LInji*Q=W0-d5u_ViIPnq_Eyd^ZCy)G>(c1Ae9_F^OV&yfX#P8kJ2RrXT*S(H}y&CnNe+3`6}n!-#w%sD401ro1x;HsdwEA zD;9hB{b>K6uPeD@$RrMfm%;e*x=)fR1- zrxrrNj$`#6N$#MapZP!d%e{my+yV(IzxW1I{r0FSS@d35y|ny=E!aLn^m-vLl_ZC8 z*2c4)mO*Q&hR|?TQJrJtP~FKZ%j#-3HtSUS+hpVG){@c2XeEe3;J0_qGOJ=gVGf1j z)PuhaPC8K5 z_=oe8&ByyOc$W@qKAp;Pg40;kSbb#2x8=p~IpYb7EGCT>E|fzj`#y6nuIwy}FM7GWWf`n-)-2n<^irQ`w>t56bwHaq>BDTy zLc)Bi0wf>qA?a%2;a`=%UfisSJOkK|^5EXl?`AAKIG)>N2-kgNOG|d;hfi`TV)#m4 zCX|=ED;W947glG*Rho7&ln z<}9!TZJ~s`&Ez9qU{r1LmbvPuTy)>w3xjUwcdUR-8!Hi7R8JCcOxLCqfcgX=N znYs4iw+FmaDQC942-k9+h-$FF zHZ_-9TGy=15Jmls5rQrvg$NhQsLIM2BFRhmq5e!K!7O)!f;o?rh(n(W!cjLd#U5CdFm<irtl4;O^g8luQ(=BI!mM%0QHzJEW)O`HGV^wY)Hnk@Lk?IBjD7TY+*F6&g zN!3w+9&X;$52(R)9y7rNPa0Gh_3Oe z&0sC-@VABGbWpPCElnsCK9~^iUK?0es6VA^GDxZlo`#eubRj3OXumxCI65a1o48TF z(ruO?xbLxgS;eXhd5=>Jnic+C$^6&Uh);1klO0*;heQz`k0TrrgJ)a>yulMpNM%Ga6x!3YsQO`Q~dXUo%rwm^SP1#jG7{&=iCtaZ% z#36engmL{K>;@)P)%z;ggxsi|wrE0;yX=?NFO0O~5?0^p#QzORyU>6(L2B|~?F;}& z&b8xSo~6|3#d01K0hPK>({@m!wf8=jjo(?XATAz@z@S7vG#!Ew_Jn9%;>sbP?&&Eu zXHlP<;%oYxwrs0a4m&mn9=CL?u9DW9y+UT75g@nSv0If`_lA9_#DH|5nf&+miSidO;3F&7o(8$LPYFx0sbI*las&PuXk0(YIl2O zclBj$<0-pf?W|9Sgi=aUS=jc@R9%UhsX_2lB!0=foWy(*fpkYrJ?xO5;%J=@58Q0J zvzFu;pBlkA^O?hbMV^T%H`{QB{Yd7R^$ckJmcs?}ELzLHae`2G^IWvPVDY)OcJM_P z>mPAC2E3GgISn}$&h1i$@CK*r8d&5oW?)n7KBS}%%7KXdsw#H*0>v3Ml&^m~YdYZwXzotVUk+B!C7UO>8smrq1I){x9#Z?5>F@jR(ns?JPPHYo#y6@K=BKsJPcWjJd0>u&H_?$_lJWhI2$WU7l6@&;s%G;aRI0wc_s1w* zDbz^2iyASRLlpKWu^#O66U;Y0;Jf$Vp6_&==IIn-_iX9apdqiseP*;|Cjv6n=(l@$ zEpDLYF;F407E1QzW#+eEDz^^v#s;A5TV5{1h{ApBYZA{QBe`2ddovjSCFApiVA^Ae ft6fU2Y6@nPoOH=yzm&|H*vx-t^Z(}3U$J`T77U}pMjeV*&n+tSl@*77!~4^pCS~u!Gn**gzn5E_M#izs7ju=Hlf3 z`|)>>f4efX0)ecYY#_FOQvOeY-U{Gn2iyVN0WwJfnE9E2{7m#t0ED5F^&fc*vHuzq zGmwQ9#Kw@p#Yn*MG2{b*4AHC%#f><%%}2 z<@XIK6<5C}9Grqe!Xl#5XU?9JkyTYwzo?<9b>*sop^-8C+D$8K8-(qx+irKZ!+F~$jdMISoo=^_;Y0yuDYhSuD-pav#T5b zrKk7D(D2Al!sr-rhBW(oZhm2LX_>sawY{^uN7+C4%f$o${)@$k|05SagNylZ4cPv2 zF);@-9LUeYdRhr2pl`wE;(J_DIgcIoHV&wYncUlcmg0?Jgn0BsOEn@g!ewe~&zgcK z9X8xjOo0kL-40zCJxCkthTdS3QV3R>c6O5}|5T)58I_rpqSi69LR#rg6s|Kfm3qBe z>9LEUmBT#ffYFYb4yrlry^b$Wa^d=z=L5{V{UkhL-=|YExtyaF+cQYSAMwOc@<>i9 z9gvEJ_H#NHnRpUOP68h$?VpJKPC4g0_epN#j*aflhT^Kqp$XN8R;hb#86v2wL22JY z)V~geRhCL+#8hW+T{t5bQdzCGkII+-5Yp;Fm9TZ)~D!QDAvTv6jKvRvoI1KOV-jp;(f(mwlZ zo9b}auW+es_`1XE-1onT=9h4l`QN>v1Axb^$De4EKHb;lA5rZ)(GaeysIUp0>+NT^ zKPhk_L>EseyyA%1EmQDo{CKprUgU$;e_D9YWxC-}1*cm#||kM?7K-p7%!s=|QgvIbvR@;Jn)t8S4Qp z;=HRO3IyR%g5Uhi@n!)7>>KR1=KJJt(9doHs-D@}nFy7@neiTnlwOd#%M&Ly=q9O2 zM;&Pcd9aUKiBc}!h^S5Kk>0nZQE8D8(@Rrh{}$?(rV$>F*s+X^`rmCB0=EQ zX_$)pYMQkhMDt<)f^Zi)k7CkwBt)K!d`QY+rNj+d4SAowCGTCLU}KwabE7rZ(&#ep ztW#&sGac<<<_f)KtKSlOp36xT>2#{#(C$YDjYCMiDYRn<8;^!8rx>c`09X9$;&hBl zJSu(sAL@SV$yB|gsVD}%++rTx4|YdFo-a^k&ewZcDS8cV!%F?$ZyG295J~7xI-q)? zRdIZ4+VLHEYxfb^b!w^Ri{L@KrQrJYI{bjQukcy7qQOtj${gT7+{zc^hIM5=X1%Gh zFkn_e8Ik0Vx8IhYdQLSe(swJgwX50-4i;cF&a+7Ae0${AGF_5W?fo3~P>~p6MUclK z&10%CA1gLSD$=M0kvtcRKNo?_ccS@(Lmxxx<#vpYxOxsPmLcpgk9WLLXx@?8_?zTZ zEG_rMMd3`_LZ{Tg7lysBmT?rNhw@)>q+4ZoEDzU2K8Mo*U$9A}%z!*omzgcbwBE}B z)jA5tZ4O{C#AP9>(_-`8qqLd$huUWB5s##zS*=A@)@|H2Ci;G@jg(5Wx^@~T`}t_F z4Xrpl?fBw4yu;<7g*OmK&h|@XCJ!ft9Y}WU!pLk10a9eyhV=CFTRp$%fB;cSm}-Ib z1f<@rQdBdd!KRmHp6K;{M0F*!6g?o>rOYJ3A2mpT^wzEV8>E0erJDpK5{&hJHNgJ> znNl>q$}O(P<$%=a0B+k~9cl>;xqd(6PBV&d17hv_AlZUmhRr#2l zFD_ne*sc5hB10V4u`*CtVxjgX^;+xx@&wbMFco%tF*-oGbEr_`mPoT~y>j)=3q>`! zu%2J*9#)qO&Px4p{?q6yHlJ>Ff(yy$g;Gq;!1SpuV>$e_*}x?bt?hDFlhL(3zuj3+ zNIKb2fF~g-H)1+aI?tKw+OCnSR#b2(ZRDU#G^AT0729(yk|BxlYE661NhRRamQK27VOL} z*%Di7_8S9QZz$73tU;)v=5zq7cFRzs!6Q0=WsXuvx~t{hYx;?*V^^eS655xcAa9k8 z4)T|LzuYwt9xI-Q%b?QU&dhR_`R?bm1XvgZiEC1Tj4_&NAJ>nx(F9$I@6)wsuWzId z<|1Xp40{EHB#pS^xSpmzN=VUjW@^PgN6GshtBti4FkTRnpZ{Y2kZW_bwOjw|n*Xmb zgcI4@^6lZR=Ek}vf6cUKe#-DcN6!}Z5q6$lZl9UTAXmRBwyQz_J!4 z1D-?F;eS%_`uB-X_z!l0Lrz_lOD$t`K>MBmrP6RnaW(Iyx$mh?g2;Yj1X8zDL@_HFd?a@=Z_NyBZ`Q)PGukFWCA&>VDjE&xrrN-#=RFl_oZ=dWj6#+Z#6J zUS&ANO4X}t{5mcj%prgLolc{FqD3|Y(-iW`LIN!(#@@Win_>3R+UYqf5j5`bG(G~E z#ntvhzO_2@e15UXgN&;Z;geaO3*JdE;iOKxN3-V(u9u`-nRn6Ss^v3O_D^2=fh*GT zi+R@TqcQ3_Vi0(WSA-nBHQ<-rd-6;__6<+aZucVu82ig`y((4Wjx!lwck<^NrfAYJ zwDP`a(p!n>Xzfii-9-^R81EVEsVZsvTY6l3R_?LV`rBS5gznJsXEzGU7F&mRV6rkF zZh?fix;+!fJeAezk7q?zZlfiK?Y)T&dOFU8%~-fAKle85Z|U|}K@;1|T@ijqY73F6 z+@Qf9CF7xyQL}{-u1#HQRcIp(np;Mb`C8I+deefBXQ&oClFY5LkRZAikD&~$Az`PfLz;=ODch@Tdp^=GpmmpuCdO>GX^*CaL* zOZi4~E2&1NL10}ssWzRB>l?AAf?rtj?2oID&CyGdWZU++8Rca%N$XY;zZT4KR~#1 znpx`ltKuya&-kOyH38J8g@#@0G#)IBC>Rvf?*Gba`C3CYhh7sF52ty8ejuIewk$Rb z!X0@ORLhbUn&nDmDX-(7dwA!L_kaokDM*l{Oj26p@}r?0q!{n)(Hjy30~&Ekek z8iB9R{~D>A6kLy_V_qdX|~Ar8=5)p5PNhil2PSw^Z*@DRY*OaXG=*Wx6I6q%ztG3 zI@(kRI}wlTN#RW7FQvxV020?F25WHOap7Kk|Ie)DzTpGKBOWRsf#wsny^*{d%&4v26+bR;sGEHY&%TgR^xHw2C$$@`X4$z}1@wwV{NTA;s?|1w*GOb~j9N z&(#g(2l0D3Gfg&#h}^PTvylMH;_+X7?AM9-vV|3KQLuKS4BNWmMGCtJ??L{N|~tAEI4bvw44fRuEk(w5rxN zdCwWiV=EpVM(EekPQbweV?8)iUtO&cjl~q%>3enQRX@u&6mC~nhWDJTk=i*301qse z`aWonsQO&TdPVLemJYa$<>fQ+K5TdsbOCspi6v>>e_2jphcv8c+vRghq*gvM3F~sZ zJ1b+Jq_ou4Fxoq;5Y*{18dL5sxd8iGci64{!mdTLlosrsSF96-bj)MhN2q-2%~4X` z$~F!9R_HdTqI1VxsOS|&xfcs@gxzk7Q`voNJgf7wiTbHC^~xHnh4@W@UkliRM*-mX zXot78)@AR01^9D$rWAvI3hQ=PH7d?Dd3I0A4K>QmjH_JQEr>W(nlBrgf^dEY6VNL` zvZTOM9rv+6u@tq2BaUzqmI&E>S5B+aJsTp3Y=(sJtXX_?Fh4J;o#nzWs&+3kJw*-C zb6P#csGsxgQXvmATTli3X9<2b_pp+23>VT;aj;R$E)&K3P&*|4`jf$1->cjd8eguu z5?=Lg!J9@9j}$gCpc)C>FPT0xKR?gL^4)=2*r%!9y_Mjbr0*zp7<|+o!4cs_2Sh8Q zE>R-yy(VUTsLF;A1SH%m-n__Ic6)HF?+>qq<8Mt7`EALp$I8fFrA+%fRkCTfQ)OjS zC-STB9XYm4=jLo&$G(76KsrNF(z98@lgJ@#Mt;bXuY!ltREJ)rlgh7RuYCFPtZQ#_& z#~7D1+dDpbmoQrwcY7EcwkMhwbs0B|LL6QQX@AIOm4ftmsy9+0oxvjT(m;Y~cE9|h zCW>c-MDnW%mJQp7Z>9y z1jxbxVIl|TLFLEnHq+jyJ*^?qC z4fZjvBTKgjJM0c=hW;*I1D`LKR^2UL%Bg(X=_GW&V#!f-V|8_>f1p}eesydj>HQ6k zvr7&ENCQl^0!+CS2JM|h)!p2yu&HViviLbKSZ!1C2mcLc!RjeC}I z%?K8_f9wnTxp}`n|L#vB2N;+P)#yzCFCgbIJ9$SOG&%rOgE~f0f8DG~D{a(6!HbGx zBaST{S5<#@tv)TqT@ubNed^kY-+cO@rgN65RmS_*4Rupb&B-<6=ccFvXOGwsWRKlL zN)ob|^0s&O>V|HP796`WG)^soILS)A;9)sagGg}C}aUr%c0l~NeqnU zI-yQJ*Zx8F@d>6;n?mhS@9qZVkQE_gt2W^}S)gIOoN-mU=X}D#0PxqXhpWcr?ab1z z4NC~vOql64g*q87fjiG5ue;L x-xw)T?wp!L7`NSAJ9YwLdaldJjdNth%+l{wgbMCMoSc5l2@5?|hC}FM{{h6ep$-55 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_261_100.jpg b/examples/data/Fruit360/apple/r_261_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a65d4e9d9cbd6850574776f454efd0a6d1538a5 GIT binary patch literal 5053 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 Mc^CWF5r^ad1?;x6PXGV_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_262_100.jpg b/examples/data/Fruit360/apple/r_262_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9426f0458e3d5d921df1e4de470090e23d3e1f2e GIT binary patch literal 5069 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_264_100.jpg b/examples/data/Fruit360/apple/r_264_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76d5f1dc6a395bdd876962b8e3c56cec1dca818f GIT binary patch literal 5029 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_265_100.jpg b/examples/data/Fruit360/apple/r_265_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..953c247d0636092e818115268a1254bf106288e9 GIT binary patch literal 5055 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_267_100.jpg b/examples/data/Fruit360/apple/r_267_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b5ea4fee5e05b8fe9c2d4521e0bae4aacea8e39 GIT binary patch literal 5075 zcmbW3cQjo6xBrLHNp#VYNtA~WBzlW^5G|r7!5||_Mu~3p7`>P1-5`kWK}L@fEl7wG zonf@78GSI!ojl*Qe!qY2ANSsU*52!!bw1~F-mkMi=d(9qhOi7^c&e_Y4j>@`07!@j zfG`hG1(1^bu|JXYkC6fYL~=4RAQ=TY1;xKkNlisTNli&XK}AbNP4mZyXLPhQbbl`X zO!A*cNy&jgavDks%72IauL7Y9z(@tK0oVXZcmSk~BtS+ILN5SB)JguYJfhhD7zrtm zjGTg!D1(+b0L4I*4+IiLlM@vaN53Q92aqw6Gu?ZnOu=mMnv%zjMLamEkcwBOuA9|x z49h2BkG_{@@J%91i*u)fKZDaceW@qo< z;R*Nh_VM)#4GWKmjEas)PDxEm&&bTmF8WYhQu?v1yrRD06RNSPxux|>Pj6rUz}LZ{ z@rlWwQ`0lEb1RtDwe^k7Ut8M;heyXJr)RkHi$7c>0N{VHi1EMWVkB~r{>cI5A1)G7 zZ=wSk$;j_LqF_=spnUDd%p)F5#iEi_Sl3O>D`ALbwQ?V$VdIlr;Xn9;_AlB03@qgT zME3u{{y*0ofDTAPOdgOC00vy04;po?vXC}+-`0?Xt#@}z_2a#8TiDT4R~)o50E%nE z2p%uq(h3?>EDkx6rZ)Lt9=|`+1?_!La@UF9`yUnN+)2xtrD)NrEffL3@axX4@scUL zLAB}Dls?_4x4&zhdgx+iknj=mG>-rXO(y`XYr~Bjd_0!*!cowuvmc|9OiPgFPjxCR zzV5{d>?3i#Skl~^?b92hc$SQ7nyiDJYZ_|ICHm%Y)uLVJO-zSaF;0CpNTu?9^2ko8 zMAD$q;r(vlUCwh|J-X^oJj!niTp#6kh6h9_M5q3>5&@OD;5~cAfenAzGr*WLSbCx# zi|Xt>>rB2JZRwCkbbmu)4ZycGVDvpYGG78o{Y}>{wYMNbOF1anxf-#6y*9U>(whQv z9TvE10)X6!00_y%s~$XA5}rahfuj6u&X^<~e~iFud6Ys51&X@gZgD1B7SJ5UcG54P zzs|*Xq>c@+8}5)kdhttPljCI6$RwXJk#qXf;1#k{9(n~okMu}uAbmE8KN!4xZp1C-YoG2PipKq~g{g2iB*aOfEdAW&M zBR;hJsZbGekPevl!tN@hb9n_k13sNkAN?X<8--p$$L=p$C-!s*H7j%1OE^7`SR>cs z;?524cigWu%P|`^+27sNvdRMXJ#gl*(EMttLB=@ZhzsbfZ~2s$F9&sRR3`1z0x!P@ zVclv6=w}jNjR(?RPsw-Gt|G&tNl-x*59U5bMr^>7DZPx`*f#DJCDpUk^c%3pccjoJ z#@pIE2TJ6-R-3o#K6hT7{Y?OnU1$BOfvw2&)kcE3+eu3Cx;UfN+hDUXxVC5Z)TPen z1kdwS>3+M}Aov1M)SaH9)!|q#iAJy}=x%dMQ$vJyTe+cZQCxenT-OUAU&;&#G!%`s z5W@+=q7e?z7$kPIlMesPtSgYSbBSq8(?Vs-*go%Qn0%2(>@AbJxA8U<&+2$u(|(l( zw#`#D#%`3`Q+&oy%6nzp{`PvNe<)y!QB&w?Imn-PV+%Us+)_zP0I-buD%QV+-6cOB zaXYR}!vqABy}pXOb9vzfhG9b^cr!P|zg4Oqlwi@$&IEvHn1Q`8P$btNB9LO)#|V;a z*EnY}GT$7wX8oXwhC$tjx4GuS%I}D3{0rv?)m24WbcOAkqgev%R0{Bo&)OL+?344O3?lAlC92bW(S;xRmCFH&IK?O{1zF9Qd9K2Uz`s zqIIm4z7#k6lEW zhpV3l8ca1kUw3*|7~7+3UNexmxHOxmy63KZ=M{7*A0T)AB5#$t8nT38YYM8jtSXn? z{0Km>+TlX_ztA%Kx+univ%4|8r4LnsxTM5Wk9^1E1HPI@x#pIm_P+DyEkm4B44+cO z`&SBOmlU|0qSQVgJ`;7j!(gjo?RJ}zwZ}32&7k*#f=ar*S8ms=(~b$ERz^bW(F2(# z$$>33V6)HuzR#@fdGE%#I&Qh2>quE2iVA+9x(~J9`;Frfz_VEofU!D=glt4O-n(|u zB7pCJqL4*Ncp}dx=Thk}%W8i*$8>RZYNrbEW!3?yD?=Zyfmign!sYK`7=a!%v#F!} z9h5ceMoPujH0^_1UWbAA=s)`vjsu8sH3%=sN=j1PrYnKo>$>D37@Urd3CInUo z9Sgzhu*NYvfN#FZVl}^Sb;cHcNDKI8L9&2;WDu@TIk{4yV2X@Ubp_lPF zpz{E_suzPdJhW?#?}}jemh<;UquvdjNX@?TM5+!9V&%ddYW)U1-zAFR@@}Wzg4)JB zhZ_q$>|#DSt`(eu+dH}NM~kxh*l0{I^*p-yDE<->flaAItmujY!&`_eJ?E`e|9Y@DUgf#1+~+TAWi z@Cax%1j=;d+GtfFa}ZL03ge?&R2pD22ih2ySMjT*IY38_NNa zto<5_)!D!I)clmjKp-J!aXb9+RV)5hae&}eSpWh%-E*XS5g3e_zoeCJv9$47Y4&_+ z1t5>o_W{6A0qA!ait!UzOIz3wNFi+|zIT5!xK3lA0_(&z7uAH4f%ke9)2`Y~1QcLIPpEals4YLQP)4;F9wU7pp3eRst- zXZ_WRoN6b}>S0d)kqbXF3@j)9ek|}m#rPY8)LzX23m=DxCdHB~z0%3F>Oteuk!n6y z+f2Z?D^E+->U)nDut8+P-&iUdcY-S~}1U zPwB7*r^T)Rlw^K&yEBM?6ccB}bKj2bDVNn&>Nhdx9vlgZ& zZ5z*=?x~c~QFd})qq=>H_W6bem=cuUCVTrInYBh#)QDG4)YWMBHZgsR)7o`xqt>}p zUG)j&VE^GDKwoSAuISPsc-U3KEFD2Fr7gkl#u0&d@zx_7FK@8ZVSt1h-L#{u}c7 zTgME=*cQjQGkKTDd>LHjN;UZ>0sy#uixDE#qZrHOYI9Hd@jKEnXiX>9B@)j#zaq1@ zetC170N}uTui76E59>u`%o+Zj{dcCM+w9B`ms^tmNDuqoRLse^6DVh@9ONh>kNgP6 zT0m!w^{D>x+XROzpYExQk7#??g$w8pjbz#O`x;GpSI57cqOwhX z$r!RpLN!8PZMl6WbIMdTp~f9GL}E!l+$F~@J3_TQJ?u}Bmvy=8A>{GVQ(U91C4ApG zuSt}>p-G_N>y6qqP4cXdmOd%>fb;<%F&*6=dT-ZU5)^NtzhNTp?Nll}Z}*&1h9SO|Ag zLhiH^r;|fKx_#_N!B3XkQ)=sCoJYAoqoT}2;^e*pE)2~zW!^9NkqX`4@6~tO%U#9R zzVLV|B(RzC{59kSD9Z`{GW{!G{E--)$K-Q)_1H?EhF-5g&L4YxE$tnx3A746{Sd9& zAr-+3$!aj_wU;vt%NNtzqj)Z2&qh``)#(79bDlqK!_}?WrgVYm#RBH-_NSzERG-su z3dXq$Q}gPpO8>q6aF(L=*Vt27aMp(VMW>kc8T6VOba@xNt4y5b9Or?heLiuoX==|C z(d6^Kq&9^Yy-=5}EVykGZ+efoi;ObP&yZ~P^uzQ! zz1q!njlI9??SnN3afhEd9TJ2I08#=#5+UP_c_P>VA-j*vyn}*FnOe8K5h`XK)Of{C zY#mSnc!v4Yg{yp?wn-E^Oa@Y#at!c*bUXASBmW=Y{K)y8ZT~YVXK|AI@uf|>q^#&*E zI*#LCU^gz#%v(?s1~Y$OQt9i?4cA@e;}IC)ug8nbPg+{DeMwd691*d*9!>H>+1=u zcUL0Aq8a~Cx76&!EKl?d@aWb6yWEKIiRvkFQG^;CgDB1ImxQk>uKARCg>JQDe@9Mx zM6*33a}4cPS5DR!zR?Bj^Zt^WU9T}@ilFdB1Ve%CqSA=m3ODF931HgFS{fqXt@~mQ?jD4vCE@hMuV298gXzULpChZ(^1!I;y6btLVO0$ zMh^7IrK?-Z*MUFP71v`$KTR%eAIv{?d(F z)tIYz#Bvn+pNw6NO56uytVS4|{#H|rO>oU?T-<{boBG2g74k->_X9}D5G^Z}8a>uy z>DWuD>ybeANv9L!4Lks=i}ZCA8g}xwUNO@wiBOX>eyQ30l8lsUjZux&#HU}@pHI#2 as=@%#Pm``mlp@AJOz*X#K>_jT^M@6)N%Mc}-?ww^XXK>+|1 z>l#+&uiiQD13;HMJ{}fKY0IYO?Jz!5oaT%awrJ!P^IPC@m$U15Mkw+H$uTfA^ zQPa?Z$TAqo33cbm@~NoEqG`yA$=Si=_W(634Vw^HgZ6^aGtgzPi?XlYexwt=UDe5M z`~xQRe1%)8%oM5ns>Ccb#(RgA3icMHG6DsVQ25~-0_8z zvyU(Ir60^cAnbK`L}XNSOk&czX zf06wc*ne})08CUAdD?xmf-Az2Jw%0FV^#HaD@9a2ct2JMX89Sdh^SG0;Ra1m+)%-v- z(@nC(tJgUenSW`@-X=g}gJ^DG=%Dqe0E`l!=zJyM)VX2EeHxA$1qs?jz)$}%l8w0%>WyHoLgx)vSd{x zslRnZh&KU#%bziUIjBM`(saPs=taw2PjJ@MU$g#|#x!krPKP~2F2rZ4f-bn8UkN#5 zaHHh4Zv!z0A===xjfl;``G}D&-tX(MYalul5bu8Ra8u0=bPBlqGoweu&FoV9%Q-uu z;%d^CjTFg*tfc-F=)9*c1S>(XJD&peIo$?|fsxXLb{@RiaGLXL!egl{VWZ89413Y? zJn@htE8pLD^aPjL1*y;!abDji`CC5B^?16wO9fT0cp5hWW=Y3&vBi>KJ$515MN2zO z&x*ZK%shvs9c^>_IT5D-&Rm8lvD3L_t>&R|T-zF0V!(CnEv(2Y)ifm2ZaoIqk5r3N zMUM;A9FX|Jjy!|ZBk%oCR|}HG6~$j$8V?%sFtd~^!phFF$?@KvD`>usVX{-r_OZ!q z9*!8(-?Cpe=c{HF?%Er`G^qM+Jt34XZTzyAk=IrfJPb#xwFp@3pw@}6_uuYu^-JN zMDe8e=k@RH)F)`T$as(yF43wU{PP}l!wIMH=AgVg+$Bm=dEr80CwMJEn6+Va$?I!% zZ3BdRM9HGuQtYZqU&F({Hn~kUVF+$GJN!H1T=W|($?NW-i5<_01-X>7d8Bdh9+1e>NnMCkB zB}(AX*3qr(OD@sEp_ZOs8*2D+^)fT~HK8jAPn z#|cbn>~tIo)W9@Q*T2beJvYgN-d{3s8d_KzTQ{y7eYhoHR~Ns|L;(*mZFb_|cG&Cu zWJzDIi*MOsiVX|-s$;bC9ciYwXhSb>(LzK8n*U-cnmW|lRK00aa$FUHgP1gZU(4Rm zi8J@qv`_!z<2w7AD$@6+#!f7_BCUuZa;gg4D5!Q0#F#6un?`@>R6SXy2Rld|% z%VRo`^|{mWU7-g5{*IXdqqGe7{jDu)=*mL)L9;__&!6vMYvq`S zeV~u*-;2M_yw|xDUMy|;V~us_nMZMNDBbOTxb5aeceUL>Qvsx711vK`SF`MkyZNj6 z&R;j_Moxs3&q1f8JQuB?|o+-al(~P-sZGXXV~#p~sGNE*luU zkeTx^eR)5FV2u5C9d;E_5G-vYQ7Qu0?73Jx*8Jiq@`NsyT+~cFnsmW#B{?!e6;WYr zMH0o+<}vY0j%DgyAN%;60bSYKWQz~AbVgRvcnu*QwbSB9!cN3sH}4W7aR=R#7Q>OB zANTm@W1FE}gEaH4FANl?gY{8p33ocnk=5JOMa|>Xj@CTsrCG1V_8XResp?Jb4u5bJEMI)<7 zBwU=_r@jc(O2QTh$pQ?uE#r#(=f^JBzFizwoyu=a@UI4IamL+|wtY5myrA?8qHuZF z9jZ4dmc`y=CsGx*(JQM2`q?%@_)5(2!F#MAkSABH%~90pr$Cg4O!kbT$Q}FS9NVM; zs+SN3+-FLMg-1&rQY|DCPb4K+x?L1*OGc?$;L*Z~A zhw4T=t2`M_Josk5%9BfN7pJi@XVwPuSaA#wx^zutV*g7mt%5;mgfaG`x6ay=$D*8< zy2o9XD=ud3*Tv_n%LFMBZOT3qs+N9n{Cv=T>2;}2ZJeINuv$y{q1eg@O5j}I$Jpm; z{tmAt?toRYAN6e(3@h!}fJv4_^m05$kC$Q* zY;wbm6*M67Q7u(CzPH7BJpboRw)XvyZ)&**Whn=9dn_>q&lQBIuZWqL8r60Aju^Z2 z?+4pH6>B)sPavs3R0c2=&c8`!rGwryqr+lOCTT0HuB%AL4&D=m^%+8`py_$$SM3LC z{$<6QGxz?I;G)kw32lGm6t-MD8D}zA_b~;YGsA@=-bRnJ1OA#Uu)A2>_dHrXO2>4U z?Rq3&uCy1?L=rrW9T%UNWwmNK8mLKIM%%ZoMSwP}4mQW|JH4ks^(oM|Kp*5s^efSG zDutO@ggvN9zvd{8@+Qskmg}h3^-h;w4SzJO!)xT_J~`^>uI*3R^3iy#YIh$uT+fp6 z65)xcY3R*iKKX&5APL}SyHYvUQ9aqbwG)@)X7JJ+wCSRLulrl&wAb=Hw6&=z>2f<{ zI~J!AL~%%$f!qoGt0I!(@dvmP(GrD*Gvl)h@`><1qxLxZ3XWB)NDBY(Z9bBHFoIniBg^Kd*I+ZLT+YI`~HT#hS;2FrIHs z07je-n^&w21dROMrCNJz;o9D`y220%P+Xf=pK`?y8KM&7qU!=1zIXiWQ zhZAaPb6MkPTA#WxVOPJ#uo?{F8V=wlE#SrVm}1xXb0nn37Wj_PUC$fgPwv%X5f->} zj=Y9jVMm73@3nZ`q}D?;)T$<%11pdT^Dv*mz)u#pF}^-` z7^PL*l=?{f>BCK68D}hQ;$5Sn{;=_sEQInc2yM`ypo0?$sP-wCQDA6xL8I zwO{<(tz=7Ou0unR^@Qn$MdPluR=By}dHr^CZMjTnU)zh1!dE*?bGMVj@lxNsgGTQ~ zf-ztu97NfA(0%ZWt3TERIC`BZhn375R{&qR=a%%#B^G~kKwN}r6*?54Bo5zuxC~3; zNa6dGsa+&Izi@aLnVqIEu7}$(!qvYOh^mu(ai!rchfetF%qSDGLNks91bJ0%yM$PN z{#lI5&-quKL`9GRFNa@1?Q0=*W4WxxFDrkJU9db}NVi-p;^uPYzLyf(cc#gG!Rkky zm9f8@yiJvs(APT^P1+#Cke6liQ1p;=h(pt%Hbj47tX4Q*i{MiK#tYdnBuJ9vvB_@5NPf+ zeyl?7-W%|*>G504M}mVZGR(8JGexf)lODv)-#XrE5jPKXh+@d6z`7jH3daG?>27gVMNgbmkd!Vi@2z>F-e;;@zlw@~pj&|{Jz=8r+^(K&dmA> zE+?!UvP6MrTDM`wp6h*K>$9ilBnc=sXKsPG;yJIG^zZou3DjCo$UOX0aSoP*Rj{Tl zE6c7rHp8|%V&d|cjAq#%ugM*@J&J7skMQ}Vmr56Wnwf2@)(Tsv7fupT$+5FcFF-nv zzF&Fp~ZPs+Ucng*La@AXh8Vc!0%z@gJa3H;IKC}kRbD9<*r{gD!5PM z+t2M2Z_Jh5|Hhe#nQS^XHPNw8b!p8!jOpGQvKfae?POWWWU@6r9URNf-p?uSTfHiG ze%f_=?wqVzNwS)utG2R~$1Zr=XDtoH0~47%mnY#-#4nGGmZ!`<{b0|gHzd0>u_mVUcihY@SBZm7 z$=H7=;7z)d@ZRJn<6`CZ1{s7i*Jn`X^iwc8$wc1Zf+-#meJw~K*FtS*Yk&MDA>oef zsO~2FqjRf?lB)N`-Ad%L1JKwJ5)Tcz93_*dfYZ**^I1YOv1Um_CIl{E?O$IEds`b2 z@d3`Z_anSrZ`0qb+Gk%s1?nK1 zowyeA?sCOJmxvWbT(w7CqVxCt){!(Vf)KxvZFeOmFS3S2Y)Ybm050M8+$k=vj~%M_4r_Jo2|%c@9by&T%*U@^^J}xBdMm8^g5etXXGhq_T<0ZPwezGkCDF$$|o; z@t8+^<(n3_ew?IbaK)a^oANDX&m-b~f_wzfAG-?yds z2QNQ%w*xm<9o}3@4@1-FY}JC4ehCdy1m6yMf)WubOP2Z%A=m6c%jO? z=t5Y_(!@z#`P}T3_GYE7Nu^wvd5TR9I-aEG&ykV)qT$BFA;CD#XRm8+UibnqC0RXk z(&)v!js3P^pg6t0JN)esSUpLWN=XeaeIiN(X8zP`|K?X-wuwh2uh76D2(kJV9QkgkowUlyX(J?E8V z=hW4m3WAt-!2?p*K-0c1me5mxp`C)rjb7^L?4bA!=l$VEYdiKQLm@(T3TUCB^2ubX zTFo|qx+E$qEa)c|wvMFr*cL^lI!sxJ=hi8Q#)yBQBs(n?S`cosxNr%wn9)%!*6T8l zFvUlrILT9{s*Y-sb3j&YW1|xG5x7dt?}&XyDmh>mF~m7AA+((@rq?@9Em!Wn=eWZjbnZ zc-}ERh_Z;SuUi@k;in(lk$SG@=Dryu>2$HOKcC�m=UKmSCL5MWeecoW0?Ra-Xeh WvDU^O>wfQyw0!B#{vyx(boxJ3z`(-* literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_269_100.jpg b/examples/data/Fruit360/apple/r_269_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72dfbbc82435d2223f22334206565f4c8fd8d677 GIT binary patch literal 5094 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_26_100.jpg b/examples/data/Fruit360/apple/r_26_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0a381eb9d669150fa354be6cb2866736a5dce06 GIT binary patch literal 5495 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_270_100.jpg b/examples/data/Fruit360/apple/r_270_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07e8a80446600d15681a74a34d9e006161441f2c GIT binary patch literal 5082 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_271_100.jpg b/examples/data/Fruit360/apple/r_271_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a6b6bf65c87d79525982444259c8b31a2bbeaaca GIT binary patch literal 5084 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 X5vO>;^m%M=#3WuRprt0q>EwR_(Ll3= literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_273_100.jpg b/examples/data/Fruit360/apple/r_273_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df8fbb66ece75b7a9604072d06ed2e0922a051eb GIT binary patch literal 5067 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 S*2+kzoLSK7^07ncKmQAJ48~ai literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_274_100.jpg b/examples/data/Fruit360/apple/r_274_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e085af8a45399b20a33f2a2538aeb0a9b971e44b GIT binary patch literal 5058 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 OSNhX>w@+N;cVAkdC1vB?yV4AOr*fsVX^AMTCgb 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 YSVPYI_Z`=)n4jueTt+n11XHH|3lKumj{pDw literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_277_100.jpg b/examples/data/Fruit360/apple/r_277_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c2b5b676a5e1784a2d253d04ed328ebdfd22b9a GIT binary patch literal 5084 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_281_100.jpg b/examples/data/Fruit360/apple/r_281_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..11eb3ed4d82968da031f8bba21597770be2fd630 GIT binary patch literal 5132 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_282_100.jpg b/examples/data/Fruit360/apple/r_282_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2efad902c416eb68d9b55588637f09ed362fc8d GIT binary patch literal 5098 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 LFk?;~dNT80!92Gh literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_284_100.jpg b/examples/data/Fruit360/apple/r_284_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8f2310033e4cc853f7b7e4f41f70916e6b8fac8 GIT binary patch literal 5115 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 XUp(=F>hszz#q(NRr$2RZ>coEm6OP#| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_285_100.jpg b/examples/data/Fruit360/apple/r_285_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f43ae47676ddabced78310872b262e112a51b77b GIT binary patch literal 5137 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_286_100.jpg b/examples/data/Fruit360/apple/r_286_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44d40432765835dd149f4941681d832fd1284c5c GIT binary patch literal 5149 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 F`(JE}_r(AJ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_288_100.jpg b/examples/data/Fruit360/apple/r_288_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb3c05f66e609770263cc84b556e7f27f67709aa GIT binary patch literal 5141 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_289_100.jpg b/examples/data/Fruit360/apple/r_289_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76d12049a25e0ee9504dd58bf50a78246ba34340 GIT binary patch literal 5143 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_28_100.jpg b/examples/data/Fruit360/apple/r_28_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..77b4efb7d5b97a6b59a40513f4a4dadbcc678afc GIT binary patch literal 5409 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 CCv=kl literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_290_100.jpg b/examples/data/Fruit360/apple/r_290_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16c6df03801d5369e5e3b62a24ed05de62b82b30 GIT binary patch literal 5126 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 L(63xTwD11~MQZ2e literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/131_100.jpg b/examples/data/Fruit360/lemon/131_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d586ea34a85ae0d0b494b566ce4645eb1ec0359f GIT binary patch literal 5081 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/132_100.jpg b/examples/data/Fruit360/lemon/132_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e04e2c7bd26c234a485ccfc9ec356b5b27eafdb GIT binary patch literal 5057 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 S8LH>3o{#9bZLfeSOaBEHshkM_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/133_100.jpg b/examples/data/Fruit360/lemon/133_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa4a6f7bc36748ea54c97fa18b9ab8b7b4ceaf3c GIT binary patch literal 5043 zcmbW4cT^MYv&WZS1(Bk3rAd(vf>h~EKt!Y$DMrK?id2!%J4CutrACDi=^(vG5d`TF zT0#{NNPr+%G$=o)$IxBsrxgZ zm%e`f0f9jgkx|hxv2pRKY3Ui6S#RHE7ZsP3mcc)K{8U|2TUX!E*z~2VyXR|fU;n_j zvGIw?sp*+n6lQs4b!~m)=jIk}|KJdR^!xba^e-0)K=v=zMf@MRm@c?T|JH!&FBb`^ z|Amt=kyG4|ro5tIM)lZ>nNKE+nng3Eu&R@WU-ki()!BQLmQ6qoBZ&Kp_7BK;;1Usq36w}Z&#|w3B_dOpweLIRj(07tOMiR z6IRuAU^<&)N(bzE)R!J;L*#-xi z!w38bD}DNd?qf=X40ngpd(nQa8@`W|bEntf1Qy8A@>zR`^0D7`w>sl3xihUU1(}sU zba&n5nwv&VDKR#FCk+(fB7f6#?)QhAYdx) zNL3v8DRu(8bE@}5F*_}pBa&4u{-CvGHM{k6Rv=_HGr-~v#vSfZ0#`$7w;2vEBI;kk z3C!K+wC-Nmxg%HXQnxy4sq1vrf&WKsKbWBq^0MK;F{QCKO}3i+amM}k?PPnFs3jV8 zcgb)lSCKjvp?2Ncah`A8mePf_2P%A1x{?0wFr9>@>h}KPM(46Cql}1v>*p;o9#aMn z2eygj=@x}R)w~G-1B&mprQFsg8sslmX}2&$pd{J3$}HJU^9sD-ORj5HTC?f-qN6O= zNY}jtCY_c`?watN2MHn129Rkdyft!`8}MHPM1aBw*B2&FtwQ%lhu^~n^!8i!DQG7X z9Yrg!BO1Yc1==h!bql(95>ZY+jF1Mz5ocJHlln=6PMdLrt*L zY^!$G5vRTO7Dg=&sjyFH7Nf`cuelcYRYDZK{7doR4!ilX6@nU zw*e>-kM*7M5b!n;AYo1tWvzRFCcIDkUA>cR$Io10%Cr1q|HLUD&(CxuJ0)y^)*SvOGI(?7ZGC67Y^rm%C zL`!|y9YdA}4C5zG(EQ1XMfX$iY(^%=`JLN|;T)J<6%dS7Lx-@A97pJ9U*1aD751y{ zoxKs(YjB!!GMyDaxP{qM6jy262x*nKm25fmd>i{P+juJwmUL((y`dRIpO_3C0nX){ z{)nB=6fhA1w*ua>@{;d@yD*h7U+@*{*yN`NgTgn!%F4gpVJRd%U->UHVYk=lIeCv!)YYi;h@=q z`X#CmspG3F@X(4jzF@VY*m@m1K zc_Wl_p2zQ(tXkVVK%46<7yq!=KF0A1w9~MSk6UY5H74wKRm147DQo9I61_~*oEt%B z^Q1nG;OX_NJ8qS8#|bObad=LnrP`uxX6gkKjYMg>;~>km5UCY-G=}DWLPLFO!lA># zpI@*a1li7R<{pPB$NgP#q$T_$_faN}vvC)mSPKzap{=^MQMLZ%H6MBMvPVu#vTAu_ z%__#0|HTh)z2~5YsU~iYW!)yGxelXh=I}cL^k|ouNB<~g~3U;_Whl_4I^gI zJg-2>cmg}i*1ECHIsT9csE<#aC-zku25lC$itikHwvZlC*@6rNX;@qpU7v6jvAI3y z5$@kiB+Gr~p2?A)O$1P$Gtj3U<_czp5gwH62UbPVC>if!b@TY4aquqB(K;qC<&8l7 zIB@NI2Pf4xe=tRi%38U1pK;x|&4POMl-JSoPSx*S<;p%80J4}dOOf^WESO^^PPE!s zu%>maruz5u!=IBCd(hh8WKqw^K-Qd{y2G~Lj(OAl2+5fIEx&XdttSol3#xnBUF%Zr zj*!>pSRK(9V=EQDqC~3WDqrRdFj>&c*xH44CEK}jJvO24s4TXdE3=;e^5kf)-!*!) zm=jU*fM%{&%9P9U=JJkSAXsyEe(q#AxK5;#@|H}lrwR4WSFep)Pcb^hFMgQ_B9QH6 zc)M+3ye84cfA?FSzlHL`Q^cwD0uku8znz~Ctz4WNEHU=*f$OIVd_Rzjxe=(?xjEqC z@EBPE6A5#@H7hEm$Aka5DA$&s3Wp z881j-4Zcu#s>Us7Y~UUeBXLS-V{RYEZ#yUXz?b@zxYzXhF;yx3n~p8&^ubQ;mqWOo z@+gsB_D$kI;m4@vW5={BzcIcSfOWM~1e<{&{`8^Rw|l5NcPCGGhyZ!caf~~T>WCBj zCVJf(G|I7ZuQkwCpg%RM?}tFFI_)_UOUE;L&*4%lN8-+UUIBXaI4kKbt2tRzZ)t_= z@=|)n^fIhOxG4TST|F_kDZymel1fylP^hfyX zRkv%gC(=0q8=l&*2u@h0&Z-lmMsxN7;sz`Km1bPSCoDuBG<)%RZA5H*F@ZTx{i;OVR$HyP`oxQGB*GAH+EuUuZoXDhb|?j9bh2_wOXTerSb zrRTV59bo!r$bHv|K{V-n*o7tC$^O zkvBJ|$68xwvT0rJjv8G3g!Y)ID3!1ILNMPc-af$l$va+M@KDfrzBB2(Z%^+pULyfL zv!-l>vCMa}i9Z4P&bxMnKe#Q@F(357?ku1(`j18C8ER~JX;8RSpuu`-S&HgGpVu9= zzWCK(YcKdb`9b94RVQ+(Ch8WK#0_2;Tpqn)h03s4Q}bvz6-qsm-*bJI{P3tE<+n++d|c2a<)fn4I}r+pcP7;88^z15s!u920! zvgCyZZ1SHx>ri%*Bm$pWhAuI{XG$kJCrTfV&(D8;B=AOKW6R?Za!#$h45>dKX%okK z+d+&azp4e5sqGb9-oWh>0YkzM90m4|xvV~-lbtH`wX|cgBla#M<986&yf0tKg9zMK z)#|}%r|k50vw#amhIlie2FIKxC5oxuwo2aZ=n%{0J$}p``?E&dslCId-*^@?$4U79 zjO7|+M;Sw-!j1zuV25PyZG)h4UIQu=S`zzOjCLDU@~5SaY(${bRP9oKc5BSnBqerk zNfz71C@!%gLJ2OBl?)j?-5n5>K5`o~t4q7fn7wE#yBn-FRG78#iP_JBwavrgw0OnC zsC-U2hAl1cE5q6_r82Cyt`_kkVC_jmTw-jQo^PHD@Zn}y=g52Wv_$$<+Lb!?Ck^TB z?cQ@aPla+INc{-c(3-HhP}4dn38=~S^ShGC+SX~)V-McRMqg9r7|R+}9&vwj(I4GP zU#U6k8_!U?0;>Rn#%90bP1Zs-M2SOt>I)9{+o4!aK1|p-zYtzj6)U|Z_MIwjIiCM0 zoJH5t^T{o*fsP|0z@gt_>Ls`6ZO7Mj4O(FbE9P05naPf!+>-logtL!c9ODdj4s~d{s zr22j4OLMFyzk6(6#@*T%IuO#9(bg1J*FZIiLwYvpcCIv<4Ys(FE-vDyb)#(RBq3X; z+yT$|BDR*^nfIV_2fbfVbapsAbag$&pNZu*Ppt!Xft8*XGft5y_QXQ6*~=_ny)b-!t*7$?8X~4o&xsDn|UcO_?$P?C5KGcO~govz;e88^Z}$x z+JTI;Z`08z9Ao%VXyxNPF5SIr|0y1M<#-o&*t3=w^Ci8@G1* z=r~9p%1YBVSL<_4?|=x*jOWzl=z>|&t?3oX-UUNRrT|=_IcqgA6=Y72h7%6c$lcn0 zs>*gECl!slD@;U7o>{^K<)={XMg`fpnAq7T20C47=H;U|PwJ}AGls{{Y1l8?_=)4p z0fvzvbgmvIfa{9~uVk6e=gw#)A{y0NXOi(p6fBm9LdPy*#yLLG!GU<56P!bgV4ewkQq z8Lh<2=Z}3;cCD92w5=XI3^_Sy(;KF`XSsol-6{V3S+>jWb9$xqh@mjDJ7D@!OgE?{ z-Ki+A)^LGwlL#8vsHNmk9~?hoZKI z2q`PWH$EA1OMb9K9Iwof)Zq$;g&WI~-iwXxk&E>o3MD53pgjg6&?SP^!sv!!Y)Mlp ze*6rwd$f-34P#w*B`JGd%sF4fV<3=b@5^HOb3mX1*0UyJuxRq@;;WKhObGy#IQt*} Cc+RK* literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/134_100.jpg b/examples/data/Fruit360/lemon/134_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1eabadf239ac4b1638c95943cbcc37deee024e60 GIT binary patch literal 5018 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/135_100.jpg b/examples/data/Fruit360/lemon/135_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa0087211860bb54d7135cc45473f318ec9dba95 GIT binary patch literal 5040 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 yR^#L=UzTk*@Iq_)yO;PAka$Q0es98-h zkJYrI6h*{Tb7G7LZu)%J`u+a7f82ZbXPv#yXPy1|ocHUTz4kimoc}z>0oaZ74D|ps zGynh%^#PpE0CWMgG=J=mr~PAez(1azjt)r2K+nMNZ)0R;Vqj!uWME)oVPXdTF=~&M z1;qO2<Mo5J(SVWMKR^NtRogP!x6!W{-KGe<@dKW@c{ltLy^ zotiEl^X~+(l9PWVGl-XuU*M9MxP;_&DP@(Ls%q-Dbno8N(>E|Qvbb;g!0Ms3jkAlZ zo4bdn*VAVKfkDB~L!w?r$Hcyhi$|rVrDtSjW#<$Xzbh#%dtd&cwywURv8nlUOLtFi zU;n`1(C`>`{Kv%P&#CDJ{NmE`%Ifd6b>i;c{=wl9>6rY7iv|Gv4;Iz`w_F@lF4{kP z!1#xYhBk=WfE;x6*Ay5y@0c+<`f-UUMlf;fq!iY4F^ejh6L_5bzk_(e$_rw|KWP7w z{m;N6|4(H95A6SQO#@hgG}O%lasVKJQ%X_1B%r7k?!8z5f@^*gCqfb%-anRkEAYJZ zu?v~zSAh{J_b}lc5E&gjiI+(YHpZ=w7J14Px}YWaEEZ~Si=Nt~AQ?4Z8;-)uc>K!P zp7=83m86E{<~ASHW)_{=rR=LSvbs?Wp;HUjwkwzR6GNd^OI4?Ar5%v7p9uO6fag)* znFvwZZsSH*i>#ng6Q7k}GSGkL9>1EH^|uu4dzIts=Ky;C)6ZyJA-ev>=t2QQut8Z= zX_vze$E2-lMKTSunzYBvu#4~jMJN-H*AFZh z6}>#tt(nYaa;j5b2-#5qpIW9u#ltY)p?T0c2!%%!pV{*w7r{gc<_yj?xY%{zd=3yI z&~_f212Q^Yn|*@;9PuYR3(0*j0NjaCudP4|z#E4e^}`mUJ3MAuY7fk{E+C8v7y;_+ zybJABP)l`L{66Zy&MK#6A0mLi$n!PWt4Un3pyd!XA;0?lSOa2FR1`10Zkh*@ED8s? z_7bK$kE|3w=wISZ`H7Q?K$&Q_1s&o@@53%pxLO)&T0N={%1*?}b#&?1H<@q_4o@e= zo9kpkS*ztM605dAe*OqC#K671TLk`FpJQ(3U&`#ei8`jL|9C8ah&e4*fh3)2q~62& z{uRQIuA%RI*(F&G$y&K?xb|Cmus%t%e))=y)Y8s@@TyRfqB_37l0~sq(tmV!DY?5* z+4y$P*Y?x3>A<^7TULWWwIg-W4uyPg%G9Ffi2^)m=t2s5E4p;-=-EMB3zUF?$ zuuwG~f2`^5M|+7H;lT=tYz;uqvP@fms4uf7P3vp_1}FE3ebVB|BcIDYN%;m&Y66$F zLk@5kl_oku)I(55lTr;^vt@Pd_3P97HF?AftrDSs`9#ty>hR^Ih;PzrF}Aw}M>1{q zC=-!9Sy|+Lt*~?~rZ7%6XMK2GKzL8HCPvV55F?>B&}di%vxy9zdS~l-k-;*v5a)7w z!#ksciz5LvOt}_Jr4`{^gOthFzRUa0SvQHF9*fUOf zMyPV5s$9hfPsK*Zmc*+UHEsxWU2QOhir5Azc3vc=^Di3=s`Nj)8{SgWHQWC;eJJe0 z>Qshdd|5)*_>*$RXOl}OWp$={$uOY|T-_sX0_lU-Kd3rW^4j;}!xuQK{(1VaZ$cLz zcZia%l8k-)Tist4w+}RnhDzsX8GK z%lQE@y+O^|4NL}zgg66PEIO9M&1(r+5ow+euAkNHqBIM%Hv>BzAfS^-v=Z98-Q0LS z`RuxEM3vwdJ5#F5}s4I*wOJ9<#`u6@YF#XEkS|MzHcK5Qe0a|qWF89*ADUGOZ%Mo7s?28N` zR#=z%bokv8GkcUoJz{9$ZV@AcYnh$(1O>(T2NE4>_c79TUE@`9W!@~I7tHn9 zbK_9Tt}>9;aP@(9zkIR$KD(c$Er9H_8!KS8e5E0u0fE&>?+Wc62Z`8dBMvja#+G-} z#>N`Z<+_ea>6~Tz*#}<5EupH|<))3LC;5)W4Mm#(fQWDhX3x^r&dH;A(P4M1^TqIV@Ti$s12>zfZHEJKV z0*yyJ-?!v8gN_aC4O%Vj^a(5{*tfT|WtXC;Yo-j+O z_z#ZP+*~Q)FBaRwAd9zPF-0e;q~24D?keb(P1Bap=xdKmxoZZCPTU>4Z^rjG_A5_x zrS)p{!G*;^)6PPQ9Lc{GA+uGg#t4xGo~fGGwrr7F1MLAfJFa=i!9UB{-|UG-d3=3% zWnO_IC{b;5#%!_laasK61YNd!T<}e8+T53ThE^&cW3g^Cw~^H7mT46PiI2cL&jIYh z4rKQ$AAID^bM@obK0e!%`Zc&RwLoKbSqP7jdQRCWz#gc{Ri0rl)NlGMyUq9(zNF7v zg~3C=qZBYU-~zI-r+$XM$m*K6^lvoP!TI*?2BynKBH| z4t!H|C*@$8lEaysjn zuO|ELMTzo_e(#}CZ=;g(&vsQUc3W;|4}N#JH>H0!vTDf0Ig=VUd~N1TWo|7x`|UZ< z&c~UDRv?MoM^<$Sk(*zF;fb`N-um|A54NJR1gw+4bVbY*EYE!k(AbDhTJo%oiV4yR zi>d3zdd`z6Y$cKP=60+Fyv9IlO%qAbP$c(Jbt?iFJ}2ISCK(ce-Ey0bV-$UujFGLd zKyhjyWano!rqX|#e@jkvP*l*E^B3`84O)mM+=kJOlu+o1nZ5kWY(7<_95rE$m>}D` zK`w#kfJf3~rOptQYrPiUzJ^c&M1klx_UM|J?C}E37Cp8)w{Lb2VN)6olamaKD1fVF{R^u+>o z`{Mk-*LMcN`F_ZQ(z9!0q75goH0NyDUY$Kb79`uKpwaN++mp9fOWQh0Cp~1hDA($t3Iog>w0a zjxhXJqso+LU-V9J{^jy1ykB8g2h#@pmAGGJWkxhINq4>;`m4^ka}!Y2!YyU;8(p0} zugfynKCT;DuE}}KF)FS|E&gPbiL18_cE)zFZs7G|Y#?UA%=^-=?X7nfPsjJZktYT4 z1-!bV{PgoVUxI}Xs5xU8+4;3TBliCOH6kKz<#SyIPug>-vL!%D!C&V9qtkrq`T7oA z3Km`PDKnZEuU`C_NSC_7_ryfNf@`=7064tPsY(H%uR&bp!#i%AR&{9ohBCJal`84@ zPWU`<(3&Fz+BcEpLC{$x;c4u0 zMA!X+zi+M_IUhG2iym+EKiW=9zg(494L)98E-5O=ZFOCjEJFK07(gp$vJ};^4jBq$ z9DbofioW&bF=vbWa9Zdjh3&V=vo!NGXUXRF?0@pgM~&o0y~5b3UTgf9p8BTDS&9Lh6&dAPJBwM^}SCR3+{F_Da4q1g4>k zF)gvbIS0J`ID_UJ4Y6O`vVCWNB^!yjMckNA2)Y%pp{K&L*K|4Jh=Ex^yBL_XG@G<7QZmBY!g!E#>U<_y z??A@R!Y*3}tMNo1V|?H2(vko-%{f4`8A#3<9Pf~wo{^iJV9=+%@h;_zXJ0LhyWAx$ z;N-N_Ni?ssBxEQ- zJ~$3MvCX$~Gj7~gIs`c4TweXrqX=C{X!hdQ)bucWkZ6g5q}Q>ANh|f6^1RAaUfG^M z`2IN4fqFE3nkZQm50GZT>-Vt5qWLJI&vB5rIkry|`w748rE{<70M;$j%7qW~rh6I8 z`Q0NWi&Bk@zWAjTib=LAhh0K+!O%{SNJLHY02E{kXFdB_kEOVl%+A}bSxqNTU#s;f ziC01Xsy&Wia+CP-Tu@?%rVq}CPl(03>~3*OO8Fat&r0K^33Kv2j)ddAXi3RRWup;i za%OlqD|P-8bhuO{a2ke4FhH95`6G5J(xp;@N!F-?Q;&#!_UjGFCzHYiFzD pJ2&CWK&15NqWDv0aC!=FhusqQYbM@WXn1TlVnR-W9+hT5n{#?$@;Zt&z3BWghckGAzx(A zSO&ug$(9Vp%unC%bv@5N&mYh8+~>OQ>zwOzpL5=?bAPV;d_I(KlttkD9bG+LfQkwL zsLl?6G7H=SsHy(gpGf`3XledLI$By9S`Zxw^pDdsGJxnA=|La{CI&|EA3Hl^W&$(+ zx%l&te{ZFxqoJV#(}U>$N%=noN+-a^05}0oG*rR>H5(NT8x^G&5IWOI_m8|YvHuzs zH4QBti2h6l(^*2}`7`-6G-sme&J>?zho6lDv}|*)MZ)OG?YiUst@Tta@MH(D0|yU2%7ErI4E_;XEqWdhR$!#e4PAS`=(DncgroDx@}Z87;d+X6aJZ zb+&{zn7z*~IkibskG`~&kBi$pQ5BW59$4qvpa42S;qoUM$Y~S^<(hEuWtesCKtOem zw`hv?*j8WP=zLOHvD1SM7J;v+{hNqX+>QzBY&{t)escSv;`3InMNHF9I!%vRJH)>2u|eodj{O}VI;P~}ppq6+F-!E<)hK>& zKbb`6cv+7t3zB71y2bcBsv?{tpsf|_PJVG^138}=Y?@{-t{YtSzQC|nJAKa#l{8X` za_%5XjKoN_vpfo=-(p=HvNqg>7P)ej|Hyqf5YBmW{(Am!H+zj=TCugzg8Oma5^Rfg z#~L4#J0B)Pd|u)1&*d4O6u(<`chr;{yg{VYKNqED-+k(N2Ef(?(3+~HNt4% z2*W(OacN7-nn#xw*)yf!cJ~qc^of6kw*B49?y)U22c{2ciPbE-bC@03pg z2JLQO&J6=V1Y{c*gX3-&B)RM~sLK%jmaW6@e6eNH#;JPE+k{pM#&(nkJ0=oQ3BKg< z>s9$#JE3}EEw%E2-;wgY{Ne?^lim+)V1ZlmHHeYYy&z--T!+(qQb>W*Lc_noAgAt{Zk~?)b_Gs$@K>FOL%xKN z80Kndbz;pH*v}tz1%=VsSKhgx+#IV=$XC>-B--xt%N!-LLIGwWzY{0b6^VNWJccbY z-}xTa3M85|ao8<>Stu(kjA~7XkJXDN36oOaxHxYNexyn~PB)&N(}cdh)%y@_h!HTd zw`wtH=WOe`aa*Jtz(A%i!vnT95rk>JU65m+s-8JVVv(%Z3_`m_wB<_E;86YXK4kD+ z4!0>YR8X}p-u7)9u6jOAJ%=%TP*@s}h2?e5A-^BoJPlYk+wx4vN+Vq62e-_EE8wF?`e`OGeFZS>F0o##c{r^(;sjqwNFru}O^f-LFS z7`7tK*b!oF(7NrRGBe{7_{r&h@4z~d0;Fcu#XTtCqT)~QpgZ~j5$esFYSLUu1unB5 zqjNC4BvcN%a8p|bn>X<>W-)w0AJk3VrW-2rn>Lql@Y1CTCv2scO44?=c)T`yleC$O zzR32>UCL7JDFr};Oh;GpWkPcZNb#}a$eCr+#I+|)R^K~ZC;--c8UAAsU%Wg*w{Vn| zzGb7Y|B?VH8&M7NWVzUAz6*w6FH}5ZH(YfRY=iGnfUC`rgy75zTo1F3{QVG?JhY1$Q$3){Ja!h&&2YnZ1g(YXc0l)Jl+HLPoDs;ZIEs~BDf z{3^{Q^YuW~t9+(DPGU#w8v>)1&wTFI&F#HV`4v(Mo-DI86og(Xdxf)TYxlT+ zs@ffYt+rO(09k1y|p%`5cN z^?g+epl{A7YSR6lBVxESN;&|eb}Y2#5nyD|9ryO{r{mF$8sEwys6-c&QOwNKD&_K% zqfFq;#Qcw9Xr)aXFkDiaU~G{|?`pIk1(TovYLNRGbvFu5$Uf8CuyPrb4>2)3O-=q~ z(@P^PP^KE8){)V0X=pge^DtBstv5tmj_?jIov_ciAsQ7FO_2k2%XdaC;E= zU^eLo)~kBcWwN>PCpyo%zNhbglNdDql>5ce%+}txu6|W8On*X3b;|WY*14+hFPhvF z3%-F*Fef_gjoov3Z9-PJVlt;!=W0e*Quh+kEVsK(A&p)-fxK5gB~lc@$Ahczydbw3UgogDb>NT+0LBcoa8$4%xiW9`Bl zD3*57M+>m8jpCAPqX!qzbiIfWYH2Y+Vn4~_P^4R3^xbYzj9kYBH~aRXs`an7*4~?| zgM2M(JNAg^cGYL-6xA;3Pp^@NbLN`}68op+G87jDa6mBHHm*$bSl!Ss!|5vx@?Q3g z{KfDc1}4`Zs}T(D^(|f;pU<`Rm`6n;{D`heA^wFNOeyhGQeDTe5Ty9&+UQvqM(GQU zXd=>a+&+Z#z9-q)&ShCoF|OGsD|Kt~$32L27!SAhuJe3Sui(SFg?=!@ml)bK<- znRZ(2m4SRYNmnsd;V&9pqMebJv`5MKLC5>p52;f(B1&(`Ip5EZxc{s3CUr;T{S5ae zg+mX+qN$GJQ@X@*(QSdy0<*$uu5ZB^a#!!Mng7M*s4=hp8(#>&S20ykvGD|}8~fYX zZHy$wU;WtVDsX^VNKEvvVy*s)+F?H+>wKE>7i>-P(FX;#7ac)&FUt;p?a+D zuH@y4@X=P~WLF1z5jPP#F)@OG$L8L~FaGc{*DpVQZ;7U_<8(&lk>7W!z7{D;mIjg$ z>a!H!uDsfvg}pJ48G+(#hq(4HPh6ArSt6z{*C1|PSx;63YZzBwo;w=As<%d4A7{=N z#OwVo`(P?I1pSQNF50%^8ab&Doa`e;J*L(_2x%gPrJUeH)(&`R- zCN}g(9x`;c$tP!XwLt`(Wdo}v20;4wQf9nc2Nn0CKBmb#FeXx4ga?c4qhYpL%Y*|< z-gu6FKTLD=@xiZq{nXuEDVD08aHE~h8Z|TWgAX?hF6oHzie#x{c58MT7E+EUjx8Wp zykp^sE=`5QxAiN{Ob?BCxekp;=jnT=vpX2bmxx-H`nSr1(-tf=Jr{>A{yauia~+*5 zU(8Io^U*y03zeQ2w&NCRF;Wmz1Sittg@leG-yV#xV|*B;_Fb?dpG2CDmk^`vG^3R) z!gDhVXDdud77DcsfYY-)nc;68C*MZ7xfXYQ#{eCdR1Q^rw|pCONc5z%Ziwplc* z{r=Z?cBKP>*KW^+NOkphitt{z3A0tS$@w*;H_u!<&lvAQOMIdV$`0;)C*C zXuj&pIQ<+>o*XdU(bK5VI+8~=E3*zmBQ2VQrT}k!UblbZo#-^p&nP(iRrYKv+dMUG zXsDB(cQ1P6Kx0)V9VH^V61xyxbQo}e7VFDR>igv-Fn+tX=;%>IJF97YPDmz3U7j#xBG>|@d z(OP$pR#(OPiD3T9K}}MCMcTzD@pcN^{cbG&$`e+#akM;ib{}a5j}8T+chRzag3u3X zx(z3{Zri-LVkC-^IOgZ34s>Zyb}nX3Y=s9(mDSa!U!aZY!i=kDp4_4Uw24GhvF@U8 z*4@7IFS0ffvK~Bsh96~G|KQf3=U2hY

    4YDh_sOWx*2+r!=;vUDi4JlO$-*@pW=RYvCzLfp#hU;9-NH=mQRx-`au*sbu*`JoT^K9Z6THW3dQN0S?N?YEo zbyq(dV?N9sC+mbfC8AYsz;oF31}^2Ft^W}ez)R@cW)B5uWQ}_5!FqMJ_e0Ry36$V1 zoEh1le2?npi0+zC@j4)rh=AE@*H260;X%VVWno`OyAA&6z8`}PU_SR>^D>{U--W#MZ zTKM$2UFfiCGaN+CxF$g4imVK?&FCHc zo$zF?cf|>GxB=OfcnFD0{IQH2&}y)1`F7A|v`qWx1PTpn%h{LKo8PiT>=eLNU2d0y z^;G_%$!D3{f%N*QOUy6anO%Lz9OZby9Z1f=q2ULX*C9IiG7;Ef4al zDitI&cSH-)5JyieNLufRHam`8R>_T3?mXiBeipAJ^6~^73*!<7W!b6UNcvLM&R!>8 z!I9YXI}vr$-`b@~ZY>GD>aa&NZ#!7s%KAf(!pp(}J?;4MY90qr&K(?ELM7kJxV>@f z^`nrY++9>$vn~92hPa;L+qQ4$Q=IeBFSUzgMuW5Id>s8-oTwUzxHzk+m>i~^0BuxW zO3Dr7?q7)53pWTy=y08K#Pk? z+zR+wNd&l?n6xu^)>Hd%V4Gl}W!Gntfo&3d3VJo$i!2>CG9@dj6c~FdnPs~;P4vpI zxW2=SYuzykdPF+gHAZ2{y*N6QBO;}cZ?v7B0(fB8k&<7x-7*Q|p zTA+DK%^K#)2R}UtRgyYoSCX>s#a50(#o*d|8sOB|R0Ei^b%fRFwKEy~s4ig&;Eb9b zT!OycO~?PNSe~hU>}9(E30Ju@S=`i+c{@m0M_MkaAR>IXON~{|1YzGr&jX#=^|Z%E8LU{zoS(P7Zd? zKbt>~{Ckz2iGhKMorRg@pOpVopmhNtR=^E#W1y1&=s|Q0AUawvAa>%D=^uM1X8#o( zJp&^XGs}q$j+2CD?i2eA3@4_UP8^?P$DEu4j36eSb1HhwXDnS=Bm#L=A7z%Xg0D7o z^W7T9ORC)sieqE{i(f!cNJ?5pR_?sI#>GpTTH5;83=EBoO-!wFYOTn%}pywzcsl|+COCf zJFvL_7ukP-{Wli|;AEgXDINm|&;^bur75yN`R&_I7^e^4C)Ri^&qYdR##PG-N@jNf z;g!wiRyW4g*P8ttiI<~%B8ErQYZDAaO*HVAHeZl~*BAJO5Q(~{Bnt*Uj?aQ3Bi`EH zxpJDmc&l7bbGsjIHxyVbxJ&`%=!9uI-;6t~xG+47no-JvW+X=3Q^BQnyVidi@{xm- zc91)Vk!3Tx{C(&{*_LjuBs;5LR6(<1o`tRe+wSBeDI z)$QB*KM;Ty$*-w@m}4O_|4eUhKv$x*rp}LYX!FjE+={YQkviT`XLQ>AzS56E55!mC z&(w~lh|Dp&$x90EkqT$h1a>V`{FDf$n`j7xYd!!f7?1}O=vl)qrN(ECkBtwq;;(|#G8S)&(g1vSl{{qDH^u}ANKS-=f0bVzbmCVUQL zZ|c8sfbPYR3%@$sHtdP5BiTkX8Y8r$krt0&+w;`$w*A$v;zPNqp0Tq>LSlVU42v=5 zc(ga;kS91MuwCaBaC&k5`)=pUsa6kh%i&}``om0BDm2Y85 z3*0(#1pS_i&YF1JTG6dS1Z&>B*VtWc&~!TPeGMt`OoFjo-yFosNqygQQ7wLLr04#K z*S9%!UP}YZa|V3f)Nusw)S}TxpIQ%$OUsmQYrWuVq)7c<*Uv_zbCFPL^+Z^zmH)C| zQi&a(v$}W9Cv&MCs2>f8i=%#P5z56z3IrLVsYCtT|oRi0<|!qLPr$m}o4i!i_xYhbpoY(ZU+~C*myF18M3;I^5uG~fy?>A7 zUT#Pn)!rgc?_ms_le*4|M`Z>mK6vxunThDAV7;oc;Z{coQ$lnshg>gCdCPjOO)GQ- z4)@w3EAkhd1uG{tcl^w4haomdM#4I_Pn^$*J!k8^#qe$^JBtfG+V(z=MKEFFY}+sS zw-X^|8}7;@zI74`ZV~nk8wXEhQkP@CrQU7COs*SWQjp4xwNvQ006z`4%Y~hCj<1z% zCi+-RVjt{7IH4C5?_8#ghTA1nG(-at%XZljJu~8Ms#@%P>5yajneAE^71OLM+R?3= z7{u)qqJOfZ?=Wwj@P+EIVyjsfyRvL^L$u-ngu-})8{g8!Ul+q*tq!#aZ=-n$w$&C1 z6mzJet?ghFN}SQfMdeFioc?)wg=i6dPRYzdlLz+Wb|Ta@rF!@=7++Fb+uy(&4m6MWPI|3Tb46hpwUV(+8iiOKhmO3L;~27w0* zqN@`OgKy`cZZ0L(i_C!QK~2M9g#F;!=^@s8@sbRmmV*#;U;=U{pXF+i>#OQuzqz?i z8Zb4FxZ$l59k}*w+kL0ZDL-xW=x^Vx zr;i6$!OuEuEZ&W|>g-EvoqJ@-KdN8&@@Up+B4oF=(!H_RpuMvrGJ4oJZcyUeK}$T~x=?eWgDS=DzNkXQ7&E_$9 zlQ>NrvnyF{PsP_jDg)>*m}X9*Z4p1xgvzU`WBVo-F!}y+Ed<3~WoF-_zzl_iv$Msc zXvwV$5-;suo_pDD7)^`@gI^28gtdU(Fw-RFru$041GfcpJTe1()bKRMD#7L{Um`E+ZQK)WdXh?y__`r+_ z!qa9yS?}fw)alH>76l-vsms2&n_>adbxy1edEz{?fqjT#l`0*m+{Du+^xo|8)(4?b ziHY{2rxhEOdFxqD8PaRQ%I(|Wafd6M2x#u9g*5+Cd))hp+Lxc6f+V*kA_bQDTui{4 zOZYlCh6I7Q7Cvy)$_#2WToS#!9B8@jSn7POim{=JjLi{|gIp2&5;zi*z)5^7`>w*H z)_vu5^CV^tYh72c6-^xW{`9_~or=DJ%JiYi3&nd&zGVZ)d~RsT@yPZT_(7x_aQ)g; zt0AkQoLptbkQI#zxz`3x*3RPPTwTzri|W-z&$u&(OSYcB)2RPrwW1u6E1j(hec3LZ zvqk5o(ne<#xHb}5BmAUR%es0ymhA0EK0vL{Hv5v`5$qxOwE>F_(vf#bRh^IR)j1bK zY}`z*{#_E&ZQ>1pn%I$zqt=8d7L2OS`^aIq-Ka8uZ^@7QKk(bcwRRYQw9^{od>dGR zWzsW5VPsNo%>7AC(HGpAnS;yA*^VpqL4Ez^cZ%wmQ(dc#GQ21Ab+J>|f2!I-8XkYo zsM@85l8`ij@ggCAf9&^%+6btbhDivF@AFsFEH{%?iD$roz;xu$Xq4T`xe1r%EMmC- z0_qiagykBnoCe_i_tWYO$l8Z3eV3l$KHef+F%x7ZZ}Na-sPX7RgzcfCX%Nn_S+TUt ze~_}!FT>xnP9_^W(Ew@aVQGpy=^+)yPQf3y=xFICLbcX^Zee8m<`#1|e45ZTs@#{aqfEGw}$~ z)wVYadj1xrTfY3eV(XYJCXBt$;hXj|_ZFAP_rXvvN%PE4dSLM)-NK-GsSkNykC)HW zcPhVeVOTi(p}MXR*)PTwrh+=Jk_lTq8=5&r_uQsz1_c-UZXYUQ&iZ**7{LSLHp+E7 zuWbD&3!)ZxUOvtFQfl&w@pP5foFN;eQEi|sXsYwvvv{A#F%BXHWwhdu9Z?-Dn;t&T zBBjp_ttgA!UBh|o!6Wl6l;R7&YUt?Q^Q<(I{C4}(rciZ%xT|G)@YIKkAl#jc^YY$h zS$J^drrCZXnV9%rV) zNa$78G%&Bthz=zc`An9WzCDu~YVHKvpt2akK_4ex@x$JtaXR`#Qc&L5 zO+B6T*yd$4PqfKhaorB7WpckEBMsQAUP#x8+IR9ySbdgnIRzHG9_TE%gcRH;4^QcL z4M=CbX)FvU#-OW^HH(y#vim78{OLifkk_Awi@;O2WX~GIn36}gik>5}{)gbPo=u}g z|KFmE#u~TZl9sdAH#yE(ald%TuD2b}LO}L$%_J>yJwbb0WIzQD-xxKS)fH0!+;5##a6mxjbbA54Dneh%&am1ALUkj|X8CA)CG_>VIq5(a= zPszG$c6?F<2bq;N3VBI7P$;V;zi<8JtNb6x!=|ezJ#U(;C$51K^COK5rxfqsA&Qf~ zRxr6wpNgc&h$!!h?>O<^@-}h!t@-I@R?eLQT?xef?F9Hjw=O>{!mN)SwdtYSr+gKh zr^;q$wcQ1#$Pa8%JUI>Sf^xxmOl^E*CbCWJF!c0sc?SzLsapS3XDz4VaeigH8+a)p zI%qKJK-3@>5<7`#TJ5u#vFn##EEfHB>92AhuQ?@&t6x5cxit=|zEu^|)Zx}!w%g%P zrt)jum3r>-Is)<)#x?hanugy=tDh!uFs0;H*Va*$EQl8sDA$#4*t#?Bd-T~CTY7U3 zDNg6tukIoXFT`H3D7)UsF}^OEuFq9jf!^fPer=+D0c=HWRLg`toLCfzmhtL6PBY|5 z$q|AS-yyh#jgD{I7>J?@RzuN3SV<{d5o9&aWYHj^A4Q-6*E?>xqZqezu2DPDWkK58 z{m+%}DDhd$Vbm}90EK&%%C=ff0q~Lw@BI5lq)G^vlEpdRI9PCVxx3A7iKiwZ z#slPc&t`(adLmwY)~?o^07TA*JC!0gT~*m5kYOR(Q3IaJOD zsb%0eG}M`aJ}L^Xg00`YlSG|p4a=+_ku1y5+i+ebb5j`ch)p)aP7nH&j!)Hn+kNfP zcX{E#-ro$RS+7V|qS{lQK?2v+E6tT|3N;x9E^ZLC#Pr50nRL=$z3WtFifb2$uIQdx?&j6cVUIX_56 b)HpUr?tIVA-kR%4k*!u^mo0s$OPl!*zfMTl literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/140_100.jpg b/examples/data/Fruit360/lemon/140_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7b5df0311c2e2696d716bf99c28c607d4e7f990 GIT binary patch literal 4984 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/141_100.jpg b/examples/data/Fruit360/lemon/141_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26587e66e04e5a1b22a7e4fb95e2da72c57e7d97 GIT binary patch literal 4938 zcmbW4c{J4D|Ht2qJxjKbEsTB3mL*H&gHR^ISSBhY$-eJpZ%l{~!Y50Tn8F}ri0n&a zUo&Rx`(zu8nXf*dbAG>net-Oazt=tYdG0;;b?GX^Ybo7k$baV{o7#NxU#My}X924`O z$)7|1-AYXh0?{(j)6xHv@_!Oa3&73*I0McgDp7!%oeIQGMQI0w&wSGUWADuDzd=O} zqM@auKeKV}ECF@?%svQoW}5cQ@mY4n**ZYOPRk*pbe)dV`~khF50~=uSMM0aZhUFw zw!rLwRUZ0AGcsM^;pMw1E+Hu;Eu*S-MO{NvOaCteL!+C=0Z&VRospUKCOfCFsJP^P>4&n9Rn;}9+PeC$4d2_^e{^(q zb@vPnkBp9uPfSkDA2eH%8iYU=>TsNnG;KM1Z{G5U7#;bQ*Bn@}MH&d_WFtLA2lvJLQbc`J%x4ID zwzWCg=CmwSadc8_t}EDG9j9$n-THmiOS0H$jRF`1M#vL}4{C|xCpuFzipkoByKB}v zFX$3V43=lR^XmD1*%_I6y{E*V@-hS0Ijx7iucwbFbh%W;j z&;sJU>)2;Y0fw$}JNU-4v2mLn-y1mCbt^vxXMNQ3>}itf{%ncYwz4&e*fSxUI(96N z30J3(xT9J)Nzxeq!Q@{oqpC;_JNr)e4=fT^&2{MyWnT29EMAt6{&7XH^xczVuX*Su z?T#zn1@1snCMJ|VL9Fy2{FUp{6L*Q@XEPY!L~M3`i-gVv(`i0<_<2uL#K>e>vBtyw zdzO0{G3riE$I@lypbG<5qt6G;_bP}{t0HeA9vCUVV{D}WGTv!Nzs#dlzuoK$7wsZg z=C)YBmRuUa?^@pu&pt6Vi1du?pWCr4NJ6u0duU4%Q2g!3m)|g=G;L0s8F~f#8_9O~ zK<^nWEe&+ek+E5Yq)wchk0p4uIdWeAFs05xqmg!DE4eg76kSYod>I^;^qE9tD(jZ5 z*O6$x2hC~N)4PZh;uxrZf>cl_XgGKqkaV;cX*M{r_P7v!+_n@Am-?GJ+sB8tq;VG3 z^QDu6=hXyO=6M=q9)c7+ts_ep#G`4pDxOxFIILSlB(pTu(P($IBxCP~E!9`cMKB{3 z%MqVWr+j>)#E%;lv&Wycj`k_l?2M45yA{8Y;oA#mkdMe1yUvb5!QP_Px@PN`k{*mr z8|T|w*IP5b8E>x0cKds%CiXADZ@gpD6i8zf?p3oDlJ=4S(or`PF96G9DF11lpGP7& z#>GCUHUa$eXS&6H6Ru??WsfQ{*rCxyszAQ zUYPPC+;nshl`d527>Sqgw$KmKy(Z#b7TgXYz&z6D_m9oamBU>>SXdn4EQzV7u7rD4)B z6dG07>&BFn4fT^)0B6YQa0v)M#S88C2S@+f8W7{F$~$*nFkhQ(H<~qKP3C9&gE=v4 zQ!;;TLBuz+x6F8%x+LwncDvB_lR|-o)Uf=&A2mQGmk$z%uTE5gr^%dbG_ߍ)` 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 F{{y-(fDr%y literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/142_100.jpg b/examples/data/Fruit360/lemon/142_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f6dc1cbdcfe69d248649e598cb64c19dceaefdce GIT binary patch literal 4900 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 OV#QMaekl=@iT?n;Gj6~D literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/143_100.jpg b/examples/data/Fruit360/lemon/143_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04bc6b92ecbfdad5db614660403f1820177d6719 GIT binary patch literal 4877 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/144_100.jpg b/examples/data/Fruit360/lemon/144_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44870d7763580a9c85aa75ffb4cb429bf5be6edd GIT binary patch literal 4877 zcmbW4cQjnxyT^~-iB9w`L??;f5`w6Sh!TS+5uHQ{MncpmG11Eih9O#XAu&V?NeCl) z3x+784hBudZ5e7(^NywNzy_i}=ufChzYIILj z$t5tFhL(eqi~F*exP;^tDP@&w*Keq*>EFC%V0hce`0hRH`!)}3?H;+hxqCeJd=m8Z zS#U^b*z=fIv2pPUiAj*R8JStxIk|ZyrLeMcctz#=hQ_Amme#h9?O%F&`}zmI4i1eW z$A3*sPEF7JUS3&6t*!sr*xWxj#2g);U{BBfa*+UJ|6*PE|B;LNf{XO;7*PG?A|VaA zsASCK6haD=EV`Cd&H=2#iZ7|z^wNv#yJPWn8*<>O=&pHmRKtNfj9)2G|1PnfAam z%Ry>Ge5J=_DE6~I+4sYzIT_Y)w-SyYsD+q>X^IHgoJlusFr`K{$9MZp6NXR`p3AS^ z-i_nif1D-d_Axzy;$AGd;hQeh*QHf=1YeZj;w+p%t9ovMo#`LZ#fF6ZMlfw$o_!b^ zPGAPHG%45)b}&1Pi2qsr_|z4EUsL zrwPc^??9^sOG5-GK-d87o=E<0D@Cy?krIy4Txh?whPH=#+`+*&&EmfQl_J^xnCs%|X^4UvN?q#~LeKkQL6J^sxHrJPscY&H-2XF6U!I0Uo*Zc;d zf;QLRd)mR{YZ>}eD$L#Foo-GHTehk4ruj?z3Y^_`=bzSBET&D58Y&P)aNoj>DSeL+ z8dOl8?Yf_-8WnapuwLS|Ix_QK`q2LP84-wn7vYArJvOJs*);KA85PVB&AzM3`Lj2K zx4KZY+quUBWm?L9ve=DCjiT?=z&_Nl*+cf$gLIq0qfGNz(_e=N*$!Y&F(-8!jGQZ} ze9LDVQ?#9Dc3z|I#8X1@PDRBU*YB((n<>hne;W1}0U(Pq#B?4k02U-^RCL-V&30g5v zg6*xnt{CKu$4n>9%o@ItaDLt>4kNF}ux*IF z+{R86$c@{PRd}fKxBNcJcyedH*{^L&9ds2UD3;^KR+JMkd1{SC`(!Q13|%&OI1J|= z@GX>#z7-cJv)Wq?7y4iT_L))zF#K~x-ZM?e2{fUHZLfOS^j)oqcEk%BiA|~%kcc@Q zy0)bD%m;-%^-ij?T|jT(!DPPi(}yfDpC;$v&Z80U=aW~KWn`zmfEXa9TI-r#Rh>xJ zxu3eZyyC_NAvXq8o!@R8@n;TiAw2buJ%u5pl^^Mo0u9N*IdChLjc*I166HlTt*5y3 z(HD@rC${T(zY^`^4#wpk7KiSR9Mr}y84fTd6g7sV3h(c}l$$rO_QM>jChhR97V{}h zQZ-vo>X|BJ^y`32kH zr*IuqxlSm3W(r9oTR0vpu|)*BqEf)j_;*^|8$^IrgD0SUVP8R66gP3m$bStZIQa-v zxVU$_D24U0HfQt5%SoFcmAH?OCubZeH4@en-1W@B7I#1J=HZ#^FzV4avUu%#ZbS@< zmWg?mjRlOE?EVTE*A5Z{f8}O z`;0wbjt>Vr%*Keom#O8yc( zfp>BpEaifFwN!nxZ;Q5G!_*Yfkbn9I@%=zr1E}~)T0C@Zj&(78p()SS zYRuNjU*v`hY~}g7gotYQlzFYrQ8ij>;@B2qAQ0-!|1NwYAvq?;V1;Fuex6%Lf=fGX z1GKJU^wHYq^WxDN5$F*>{;J`I*^ez-`e$eVc1_q(LM3+h2kNb~P~PCja@Qaj?5@EB z1Uryl?Q`zgE9Y|ulciLBHh$YR@bmD;qsPp)y5RO_Uv(gohG9JKG+0N9fB1PSn#0u- zYP6;ho+;?@cNCPNOUWzznP}H0XSFv4W7tAW$LXKh`@R!qKky4?YNnM2a^;2EOObe* zBO*Z4teUhMRfRBbEnCPAR>6;k2tqxD+98@tCKy7xL6sNw$9S zVrsW~S*kBPbwF2TM(<=E3`r%U47tgQiu=NdK#Cm5;!~Eo`n}9YfpuhGcBl^2NP|$zjX10y zRwqK$#UbuaDAx4k7m-`<^5|05P)iVbgcOVViyQbTyYA09xj%}n?@LBZIM3M(|Mck) z2pS2U=0-3Qq@HL~cFJQzmit~M)xf;`?~G;%*&Km-npMZUw|;GF=$6`fo!wiu zx8HiaBLfo{;HhxaP7p>=YF#zpxgGiwYNL8LHS=td2#|MShlv0W;*mD(R(3YTJRD|l zb_>_Q*r20hq4~;(3nzU}_U9zu_yN5cNTO_f8F63>PR8-{S63QmaVkacnmOhV?6+&Z zyx3IFbZ~(5q4sfidt#?{D1;9#DciIDFl7%Oy$Q>x<`~JKnI%vu-pJ zY-%rL7SB_e7aUCRRei&xLo!(FWiMEp{OgY~7my<%% z;X%P3$rko90a&xF+m$BRZz8le2QZGp$ww#xqHe3Q&Rg{D_KAfZYSgvxUV57puGe+H zf1xn!q{g;6KyyVhW{~CmwqgNGsZe9u@(4U)!YnfsmZInp&1*cA_)I&aKD|{{vzwbQ zFx(wxlCM6=$+YTC{dD?z`;BWJnrdCh=(r!k>5 z7&8rxBV#C88_hkLiADYT^d8wUu;ylrF$fr0V*^_clTK`jIGVL-$nh5SSI<8*Z@c|& zCm3am<5q^U&~+HU0@D9ul^pr2{s&I~K(^^L+njsn_QD4ixbo0YhU>l8#&nq_sNGUcr_N5jPHnmcnEhmCjfjA8VH??r(+e|c z3@3q_ZfO#U@TlX8(3Q!Yz}XzTksN4`mSQ%wCqwEs%t<82ZC6)YEHa4z*`XY#gpq$t za_f5RXI~;vFgjw?NT2c8nnEmV) zNa!M6G$CB-emWD_|Ak7M8ln01_d#8GuVtnCVUxbGBd~N4iWE!cv z<+sqdg7WP$_{!6W>ps=ynxsl1@s#hGSXVuB}FaoRM;`8J=#ZZ*S#I7;@!{W=`8Lk5?G(5jicaQGbNJbU5kW#~t?4<-!F&Bz(ngX~)~&?U(k z`?+MibmD|;AFSUsguM0Jfs@?tF4*`dTbY`%{I=J!b1)OxK4%Pw(EMmVG

    6o?8&# zMSb04Gcv3;>8aH4u)TN4XwSJy3Gz@h+akU65uMRNVK?21c06{1zj;|cd5ncT|M}`F zJ%%^P`Uu2QqMO!~sTcBUe(*%)>yu8I2A4_WSX^W5w@hp8ggP&(>>*!VIj-`_5LA1g zV!TDM3D$_9rA>d~b^MJ$6T9c4{c^G1FdC;Kll?ZlVw%s!YU_NkmT_qg^W8;z2q8cO zT>M^uCGj5+Pxx57W*AQwdU^vq|dgxYx$t|S@#C+r4*V-p2=LK38%CD-aDCgn80=`Y~-nZ$NePS zv?iM+s97M6!X?6B@7mjaiEg#D=;pQ<-6-$T)r-0O2<5yHlQdiM*4TK&rSyuPv1RaM zoCm(VlQ}ePsVHqXLZWsGra1dU(8gWe-SPcBjEF!@*zJA)=#}l`6S{--lB4d;$f{$e z<3W51?#j6p_O=?=_9r8F|A5K(180y3-XVt^t(gnuQ*{EJ*w0F*>G^G+ zVBQoNEDnbw+ymxz{o@4r`4WxvIUOD@_W%fdR&;WCJk*AnyG*jE>1Q2VZ8*hb8v4t7 zm8syM?5i}inpDqYtoC#5gWFnM-B)E-nn=)&^oy*uBKkoA!9Sf7t{Q28`J^QtU`NYm zZhqr$5D!#%k%OZMXA3o}Ud<4R${ZeQYiBDCGm^VI`N?pf%KcRIGu;#=OfmxQVXqF(=UUN2&Eam z;lDAI+SjIXmQ928vgfp8S71h!LtDoPw{gg1jhjOa8p@@5#?SIjtR@|I8wlwa8R(vg z+>{yeSQg7)w3lv3zi@S*K48wvMiQZHl3dMA1Uxj(C&!g7L8EOEn!IAvqp%vTDzVk5 zD=PtQ1p}NKX2K50d>;g8OXuQrev~0uk_1RIElc#6#}fe#oOIAqS|XGQdGtdZ9iWn0 z>MeTb*lk3zr^2o0%Ic-Z|IA0{eydj*CEKG|lZ#|D8~++i2Oa=56~bc(bOZ18VP0U? zG+V-tak-oO(?(*b@8Vn!DuOOO$VgLwMLl;b7#P)hhbZ@R(F)fG7*41M8H)bIH2K-*-3| z`W*9S>-Qa=<*aO2RQ$egV($w^5r#qai0$rk(Z`TK+KqMHkpex;X2ZU+GLOQ1%jag3 uKKFhFlq!D6bzu!8bgzpC+zf9M*^W~n1Uoc<3(4t0hA literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/145_100.jpg b/examples/data/Fruit360/lemon/145_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..45d8ad71d6d6d389c53722b33e0e1c5fd716724e GIT binary patch literal 4831 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/146_100.jpg b/examples/data/Fruit360/lemon/146_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5df2900db7a2d2bed63d782929030ca8ad336172 GIT binary patch literal 4801 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 U$<8U7I@{1b7U{Cb5bE^50dR0Nd;kCd literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/14_100.jpg b/examples/data/Fruit360/lemon/14_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af818406d81eee8baa7b0436e6c2b4f805800d7c GIT binary patch literal 4827 zcmbW4c{tSH-~Zo?oyZ#5!U#!Ov&1Mq2p{Hym=G#u-^mhYLRrVYls$WvF5% zLd-_8WoIzVJ$=5{_51yE|8d{<>s;q`opYVnIoI>?I_EmqIh5}d9B|%9-%uZ*p#cCI zY5^#7fG$8w^T+;p+CN4I`s3;8=s z{8{8bQ)%fzAbJ)?2F8Cw{#TCD4RA66kAcS^8gYP@lLo{|L+J-ZsXFQZl}8o(AETiK z(a|$7Qf07G12E^Q@I`h)F`Hu7}tB z>lRq)kzXV;3*QBPfs2xtrKDx9D68C1Ra4i{{Yy{Z;Eth@#a&A)*gb0-$Hz~coLyYq z`~#i_1_g&ai+b@gIwm$QJ}o^XGwaps?406~(z5c3x0O}(4UL$l=JzeFy?y-ygF_#N zKaNjKPECLNJ~N9a5EqwzF8^9t-QL;V+dnuY9UcGSq5(kv!J_*AmWz|hMf+zD82@n5 z&<0T}h?9<9Oo4&xwi)9?Uv6>52qqq#)S|i`W(g(pE#60dUs?FT%6Q4`KWP7w{m;N6 z|4(H95A6SQ%>ry78tUeOI00?olw2Gy4V2%%Z#y$L92BIX$8*Qt`tgIRcm_l879hN; zWpQ_+(GKDXvuaOTm|alZHIaR2W?*g-Mt}17>__YJKwC9Bx{F;ZYpBl<@+tS_(c{S* z#|6cTA#+$D=SW0}_;+EXVocJIF|71br_87No!qaThT0(j(5ygz+(pRAs{j8<_M zZ06}+8{{PkLjmadNMc*7KZ$p?egxTryPgw06PPxJN11kQr6gwVKrn;?SqczY5oS60 zd5d(tJLg6|TdGE%-0ZOCSA}2Qzwd&d@rrl4kMAwDo9o{qdKswH~be3P=*97GKUMbx9k zERWYWL&+xSmU+n~cTv;#uoo4^Gn&E>tFBadD0cJ^GEd^B=0}}mP27~wC7~aLU9TK| zabjv?tS)%E?v*U{oE^V9wbz;dcICJOX;YAnI5*X}(khq`qFb7qP+?v3##h4TOlZGfuyg;;eYXO>jts$EhLpO-hY`!V1u-rFS_k+|4?n~o zCT}XDg)Srb2ef$a{YqaM6Siy{wwc3tb}14HnO$o%>p~rpMJ~i@Lt@6BTp@h z>&PG?mW6D(m6)6q##?O=TE2QdPOes5ola!vOVSIg0R*(yr;=W}t)j}^DVuZ`ui@{L z)?lN2XhP3pcK42%o)4nYdEhUS$=3L$ZS!lnJzU=drO_SrheK*Y)0S%!eP)?9NnhhV zk0m@HBDGiAT_#`|ImSQ3W~gamJ}pP9$TpKyaV-|>O`C1zElCdh^&B{UT-D(rXuQ*` z@r&2*rV#Yb+u7KXqz?CzZTh95Se4;@+v=t)!(~^=5dJK1nxRyS`lh*ce@eX}vsm-F zGU%lw;&|7{Ca)S%bRf^ds&w%*PY@|Ft^lntZnNvGIjhI#RiEp#)|B7l`sub4em`gJ z=(<>d$rag$g7>@etbo9IF6bM&h@6S3s~)IQ{YX66kQpm3@3b*>;dg2}wy+nYJR)*z zd%wrEt~nolct>q1fg^WoRB5)R52poJ$-3iljjr$2`;-7Wp~XBlk!2|mCJcT-dcdmB zUnf2Dc&9^SW#RZ>!nSDov&;!h#zZ!tYybFIC}6AqR?Ip+_f3EYDEXhzoFcilZqjTw z=+HEnEL%Mp5c(_qbIw?R?={w20?`EDs5B06xY7j5dE{Xb*!ap^G?HBVxt&jlc)7jx zyUkv%xryrxN=q9*daU+#XI@Lo)X@$(T%myzLgodcuWbLNV7m|{9{a(|AG=~d@^-F! z+FKxoK2BO6?%)xG79(XkZS^V7d@A~&wt?M88%w4odfEOCB{A<#xQc930J`>56b2DR z0R$MkvAnBks?nNyetN}5OE2^1I5KKYIR%SAo$QJx@DdnK5xc4pSm8}bgoMAcYA}#% zZ|Q+qvDH9cu$=at=0PNfwi9sBmvBk(&+OGD1K=(fQ0Sc!$GV|vS<%6+)^;9(+fg~x z;#$AaPLY>AIoTL7hjLvUTQ0m149{|SJ@Hw3@FQvx)vPgnR&RS$(o`HTdqCXAp^+58 zdozxsnzR^f-@9~C__7%1&UXrc^13I#FRX@cklhVEh~ExdkR-)bVHf)2+dIfhEc?y~6_DL>xyDu^CILR~d-1Ky{*s^9x|YEFC}Dx!u8m(p!~4|@_% zc%aKamB7stLkEh=^9w$n_Uu^d_cMN?noY}^Ece9pdBl*^$vnIJn`n1KW&P=rG;ie} zRZikGNq-k_9Qi@b{iCM4oQ5mSD}#sabT%{hj1An6pIXh%iE<`XT0n2go*76GjlVnk zSI*koIsILQ8e@0x&(je3!6v#@Yf1q=wA}gqAn>6CNKO5t{6@swLK~LfJ@6mwwGyp< zF33eES_QG4JCghg#H{($+4fztoViCM%=gM#kiu_>K~kyTX=NARcP6SiI+dt>YK2XB z!aBg{2H4E6IY^YWUnbKD3SsNfw6MgwEfnn@J27m{vtcrWJNcGE{+qL3gdW7@oV34s z5!pQbMIchK2#F8rQ6H*M8woKOsCGq_ra9BwE6#n%^VIa+M<;&5Ehwmd+r>^yd^pLg z(yVWA&URChC>auZ9uj^VJ*7>OP>oeVAr9o4&SpB4!V~(Nr<+>FhFOlD+zq82+C>k) z_jb(LS!(va6joKCP65==QwWl{=jUeaI#*XzSX!t2%)ZjDm=T^U#K)G@c_b8Nxo^DJ`cKn0rgF7We$ba4;NZ-1zp)`FrFcpm zBRPJ2WW9n}STkr?4d(oWztXwq)m2Ra?4BJ65Jb6e`-}Zbsn3s3lO6|f-5{d_dd+I%Ni<j>Dp=AP40 zQzdT5FQ3e>5XrnAuhhMmca}*+@IQ6Wo~n6}7uSSaH`nJdzjrD-ff0Nwhq7_`2(BM) z>~GP&W;hsHAp7wQ>~6KjS`@7{7kJ$R_f(}5#<1<14nusaT*Jxe=eF9wD>7WZ+DR_0 zBOR~mfBz<-HY^}TriT|HdYH(bh+6m=9%SD;B{0$ zn_!c+@|Xml#};EV2A)X)db%#Mqr6WvNqqy&e7RRu9Js}2sIL;Oi{OV+OC1P}v#Krg zjHP}|m93sBHub0rd5z=cJ_RUDZ6<`D{5gBfz4s6?;8Z6#;uE4K$U0r(~B$^oJAi78a=EAPq zM8ez`9ONhfYoTqAdgQ0wRnIn=lP)+mZo9@N!{@oA4|_0Z9A&#&H*!|HSZNQ#_={X_ ze+8YiHvqus3@hyb-?jMavbC=vZL@1BepN6D-ZS52YvI4!x)JIVOlS$+JpWNUglG9CB9?RL zU6lf<^*3u{zSnC_(~Iijer19UY>qj*mE-+T!m|rdnhQZZE~I2*%w&G8=8BE3^qsun zK?XH}ipByl3{=V@&DDc=>s_MMn-qlx1o2j;&Hvox9 zTW|_ObDF)G=$`x1OhaEDm=n6!Ev#4)zyEf;rWl8TcCBHz9h8G=R18b=8_yco-AUBT zg^$yyTu0o8VM@YJC@OVxAcUho|5>+JqSVn$gjk{6IEs908#{w@c~W393f~^}CHc?? z#~|Bn2?Ab{k<(@xA4+AjSlfP4yV^His_F}k`B8v)%v6F&nrw)VLohh0 zow$phgOVi1dOcxy(RE?G@i}K%2nIY`_cEpWugjO{FD1Rdh2V6EcWBV=z0P?yp)EpI z+H&lh9yCLaCnb!zNu^ihe7j*(fQ3pxH21?LIQ#T6!aw`&nX z!$;`)d;Aow?tM72gT4ni*W$O=94>;D=n`2rAnj2O?+_U1dK+GJ)}cGyW%h-9PmOK= zNU7Vk3eMpq-tA!>-vZ)W^bmITcH~V12bw*^=hP_Fxd-JQH-i2}f)aOg4WKh7KcW81c^yx z69AkI_xzwq7_c&O`(oRa97`Cz@sSite|dRCwb26RO>XOqsY3K{P!}w?7_)wY3qiPy z#UESr5fGd`iI>L-@*<-n(LqAU7Z7c^i zPz5oyPS{bFdv&%M+3$wlvN68lC8=(QLR+>vrZBbHwOG%Lu%&X~6#kENaVJND;*ZXJ zUMrsBvf4_C{RLoT_dZnX3T9cl+FD)JQ@gezXLUBK%-N5{O{p&M2$_~%;QmAV5jvuP z>+}s=lcb9uLhhf_U+A-&cC7D6H_cMXG^@+f6<0g=`?koWnLYFz{@uRYz$i00xsrgi zzmmiUAN91>%3Vk3JJbh}xt0&4PLbtNHl&+d@CE33UE0C3E8oghTVK53-i=12@h#K! rrbcSSAG62H?lbkuCl=QvFMq^T!*cVf@}}BeQonId)GPuB%FKTOF>y^R literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/15_100.jpg b/examples/data/Fruit360/lemon/15_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b02c7b8532e03c81fac831aad85c28cedf5d8d8 GIT binary patch literal 4817 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/167_100.jpg b/examples/data/Fruit360/lemon/167_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..107ef301c7d8984377b2fcdf95fee2a5afc6a929 GIT binary patch literal 4808 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 HNI(7q!4yyK literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/170_100.jpg b/examples/data/Fruit360/lemon/170_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2b381882e8b4b139a3dc3ab8f240430eba4206c GIT binary patch literal 4806 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 PJS(!C{q!pcqD=k=hcs5^ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/171_100.jpg b/examples/data/Fruit360/lemon/171_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..067f25663ac521168bea6441e19ff2a18289d00b GIT binary patch literal 4841 zcmbW4c{J4D|Ht3fL6*jnB}_DyEXlq`$u1;YB+8Od7&|c&+4m)sFxg3##3e*gUb`2BvbdtR?|@42sg&+~C!_nvbv=@)4ZxTvS4s|Ape0RY)~ z14vWA9e|wdul-lM-jNB?*5 zcawjYl2cJoP|<;?LI0%up8}}`0Mh^tfCB{?KR^y9qX3hUIsnMIPO5+8os0d~$jB)u zsi;BcGA^7a)LuN7PeE}mn(AEfd3NymJU|JiV&;>)P0eEb1jG+xl?qADrMas9xs~ny zj~%GAoo6U5-6eJoPA&mKA>nHxGO}{=3W`d1G&Hreb#(PiOwG(K9#~r0J2*addgkon zX zf06wc*ne|P0`wGQ=f$G{18M-_EH6eF$a^odGo?Px&LRfOTblU=Wciz&EUA%&$)5|o_E~$K?)kVW#g>4&EKjh+>Vo17# z$1L@!{>+r&39P3?`4PAAqhvmsh7 zn=iTYUL1kq&~q~;+Pjn`>}IdEqurk8rYiL6Y$f!?@tUYv9nVIfYcg8UvAHZQ5Ehxf ziN)aLiN@as?Ke32?2<%LAP<`3%H9AKd0tOyFAMkXv4i=z+<6Ta54r@)*%{+{iBZ_43zu9!Q(gDc6aGUR{h9yJy`{*6w;1y(v+0tU|WjYTdNqt5grnbJ&Pa zfxct0u25PFwU2c^2CC-z_R?FR^jW?=kZeQ_Toh(w-^oeP?KPUH43+mawy4d>YY2XX zhm2c`Ce14#py3>%`kSidO(cMaJuN=gb1A3}R%7p3iRj8QBM;CxP>!NdHY!xssg<&M z^Qzm48^h|cy#nm#C_`+r#>z|Zv>xJxw>nbdIZ`P`mRoKr!+lQ7xK)Z-7Y|O*eP`RF z2cl-COGPU;#Y?jzESz~pO`szwR5MDk#+adDtlHN&Ef$@W^&OHt3+5O>#czWsK5lI(!dKPCr*yus;%N&-n2~{#R%m-GWZVkh2&$l zdnJ^Qd1-I%|87+7I(401zESKCJ!`_a;0>AkKXX1+mAxvMW#zoNoVk{0`6K_W<6g13 zO0RBFPT3djjq#0Gy!NVEEqkkhG}b%=>gxX^$|qK%8-KGmF*{%*@bxs;!P;3G2?)Il zA6c1;#2D|icZ@S!ipEY{n$-4dyW>Lw#FiAV2osruMGrrszb7zYxq|eQhC7P`&ZN)J z+WP+NGJ+45!88=HKl#?73A26YOrp5w&oLFNvF-h!5{o{_j>%AT>a*V$hT&YlqysYJ z;{817Zoh=cnuf1i!Qt`n%}$AgG-0D9$fj|1Us%q zaN*RLzbGyR@jYstG!v)9d%5ETgNuR3dH+pO7pI|KPmC1Wl*w6PzZS`L4=Z9W z^u6!qky*bsCd?5V#s5aHqUjDFksESLq0&gC{c&z&(5^vq=IUWndY!JTYi;4CI1*$3 z@u!&tyF>j+010TnKFM)B`Jynp`!ll)bMIP7I^Ie~-J`eP(CGWFrBzbO#6W?87wXde zCvQ-ld{JFYHu*V9nX5hz%Zf}R%M_~dL(Bz}QdY+CwwQL8M@avh{-p__*jhFjI zv+OJ3Izv^J(o*>x`yz4{z9ViG~rs~AYi=xYK{B#)h8b8IKHDpP|FkgPCP#)`; zAy7R>z|vAAD2-?OV+B@t*+;CKX6k(3 z(|T}NIZAg{fEy64i#@#8Aa}XvuDTp&*OqQ&chFN$5@23BbwUD;#^A_#JKHH)+hYsj z8yJ(n1F|O!(AJVI`#^K>&HS*jrGJ)hu9RnJC1gw5diU)mva8lBiVQvF1Jd^*?%pb5 z^$y$gQx0fds1!;7RhAvIyT{;H$X-6W*H;*}K1k>nid zq4DTW%zL+E1~Gj;N7X<~n94%vhebRLH}1wRoxqz?OqrR8FsQ4uX>k2mt@^Z?YP4kO zI(poFz5maa+vDLY35zb(-DQ_)%x?7uK!OH;u%N}#8nZ3D zOV~&a`5v?0c)QHGnmYZ0H7&eY<r&w}m-zGnz2}O|moe5vm_m9(Y~LbLkTAqN6YeLLM^*+?9f?;ruc-rP zH{XWlf`me8RIq5n^#vo`H4@O4l97q%6czOaKWaaExN;A39DA(0L1qmoC%IySZuO7= zl)qa6b3LuU>@9({LRMmAw!sg(=z92BLCZq|hDsr0 z=#Vd2C=?S5bi@k1etO2VuEZ$2TILeSbX3^Bg*O!y?Nzm$<#ov-V0%)6X`b&UKG!+! z;!hrMcadB1(&lu;a3{V6;BRGnoSWt2w>0X=`4`-@)8#zm<`N>W=DZ}hEUZnwyfsYt zyb%A^k=ql)jbe{`X%V7iX4UZX{F+&<@1HQtPkXzb643?T_t$<*_Eyva z7}@c>NhJn+Dl0eG(v{m+jN|^2PQ!7$W;DVU{?TjrAKx^xYIB9w~#u&rGDQP?n% zL!-2)q5YLg8<9)kfj=yIrdJtWoUq_xZDC~o4qbzj`p5 z{9~a4Tj*2ZPjM8`lk7GL4aTk8$SxqF7R<6gm4}F6mQ@yCLagw2UtcY|4-2a2*$XW+ zdK_EEc|t@@*?`r|C8LXL$5vTPOX0pDsIHKP z9s3}s&&QSBOcROo*FWR6f}ZaTwLPL{UN5ofr0R~_bc|K>9aOmDlu3+iq?l`BpC1bK zMw0pail-~7BH0S7M94(B!h0~B3O&by=<+kc?xn~=6Nsz>;TN%TPc7%nZg5^DRS zy%27+<1A|;BW_*uYm8z?(x1RE<5Zr#{KI$*qt3HIY8vrSDugnO1VmK(EXA~G9W2$? zwG+G%S5Kwex0G|^3%LbF^kmI5(Xj*YlENa~aZpQ-oO<0X#|2!@VRg`5(||wz)e)=U z1oP%+yo#gGmu^HynQ}~lTY-IZKHQ9JzEB3Cln>zPxx!=AjIcUWV{7Ax8m%#Jj@+!O z)GIJe)&9XwR0^dg0f|^^M%JEI**;t)R_0y{VmRsIJIU@dINN++F(#N--Lim=W5xa5 zD1O%(84Z{EgcdJlN}>KffmwOp+?qwn&1>O3gRT)IAgsNER~RjK`l2QkG}t|F{l#}x$^c$L0$QOYU@m$V z>{C`|ln6n|heN+_@FU^x=9O1bGmk#d_3q_zM*BHDsp?>StEg7)F-w7!OuK3*Spy$g z%{V!MfIC%SX^X#fO|w!nCK4^x1g83rjc|OG8{khtqB~{8k=aW%@~E-eC^>)MVXTUb z+@Pwnj!NhZs804&)OgbB;R7p8dnY;!z2qmD)@w3Tdf?_OHUWgj;~O$k8_*l0X8COP zC(`l*l9prkCY(|5gW2hNfyK}m;fnSFI^n!mbSurmL4r8P-Lf`zRdQVI+#`t&rJIvd z15Z9qik0@JO@HIm2C|fr+7&5{H3d`69kuRcmZ-PeBSe zZMJD8jh%KshNi_nJ`_9c3WsrM8LPT)(cVxELqA3g4%&5(@p;)$DQJ05Bq!$8(-_g+ zxb+JW#o0gag<3V|L>^!m7GOSKy_l5JF1v|rqUF$c_zm<9?F57zF$(mqW9T^~no>m^ zZwCMMn}&dFhOSK(a7je_;9rWa#|zH$e@jq=xN=PV7?oq9Ec5=O$+o$OvzA%W)uWwR z&&4|7rX7{ombl_&vTLWjP8A8s=e0{gSD`l^r&}eq4TXW%ln7bmYB;?{6Sb-B#V33) z;c3bn-Hg<$c5(9-ik-ninrx?LO5T6&q|*vaJcBdXf^AuhN6Uq-sg|Qiz{R{6k$&~_ J4K2Z;%3_)~>GJ+5yTB5ge5JI%5i6}ut)FF%>olzo! z$V7C52@Xad#?1WXoVD(Kb6?zhpS||8_Fnth&-#AWe)d{>lYfwxfJ;XDFns_70szoO z1IV+0E&l+&hSGrvzQXn16D z>f7{p^pBaJ%PW}GwRP;Tjm^FNgTtfa6a4AfZ!Qo3{uk@Q|BqZO7hDv-&w%O9hLpBPde7pm2!%u(dn>E>XK0-M?OXlUDlMCOuPLYPnj2z$A&YRSb*reVJvu;h67NU` zAfEWUm3WogMJp#UNJrs*HUUS|Mg2sd>g9+d7~jNHz5$0-*MbKHg} z0|c!_l>f38?;^}Cqha{n!ialwRzd4Xa{xO-s(}{~L`?1SF-zz|!V@w+Q%-i6KjuHb zt?0=gFB~g!YkwpR^Wh6q7<#vZdnKCDzx3EHXyZEx_H*}K`XNy<%3v+RteYFlFm-&y zT48XCiPY*ZtU_C_hZnG$!%O)Y*v<6-c5{cWL0|r#5psBsD*VXivg;#zeS)T=Rbx%> zU+pmgPg3#Ko8O-CSX8JyV4poS+TB+yGYza9%;%WPGoEgj{e0?5qT?f&c(HAIEHlR_ zwLadiJ|H5cq|=n)%P)lUncjC=Ow}v}+BZdf9?Q8JTV{-L^x1O!UK?nC8f>gF3iB6O zQmYr$xZ$OtdhG^%ykAwj@4VgtR-$(j@%(l8K05*@EJwTv3`yu7H#KHqpa-Fc!_ z8)7EdyUHyhHkH;v5}j^;L;_VAvYh3`dd9g)I)xk$UNHQSpt&uht(isS zGQGP~^!MJFRAu!o|AE4#OR#b8eGrO2zBYf+BV}36P#fS--XwKI{5aZ_gJ+rd8I_!r zm5-5u?(Of`vU`=~(oA8-x>9eROBguNd7ru1zaMs$&Ucd)S_hT?Nv#t z9;8~a_RR{VxPKQ*_IU`T7zxVf_kNVeFa4U%+-5Wh? z@-$wXm%ei5Q?0kKFi|`{fEN=a3A|BLJhI!CIAb$>nwxMu(O~B24RrkMMK-^(){KT; zSWT2cbdQ9Vmo*-=Hym{pU%6uSHNtA^(akRwSCUCPF7!ZYJyewA41+F64;3nu2aO_aulk|BBo{(6hj7@o6p%aNB^voL-{MoJT49;&PGY|t8RX|Jxo2; z9xr9aZ#0G5M!vYg6Zes(ufjc!!pa9oXI_A+Go(3u*Z3C9?8gZ%vUZ(pRu{kA5o7+T zBttQ!KQ{esi#ZucOJ@4R&x_sRA3QzarS(D)PhNj$b<>~CBu=|f- zjcYYzpr(U#=vOFhEcw9rhQeBH@4$)A5{~wlf)gBLOta*ov%^c=nLD#B3wc(00At+W zQA59F95?H2Nn@XlEN2yRlg}6!*BuDu4z%TI-icgilD06&*_4~RH(y)!KrqShfo~5xdBV2pXgHqL$R> zDfPTm3@X$~A_FlH{FDQl#2!NEQ~4Q}ao00!ySm9wWj=8ob~`S-NLt~LgJ{2`|LA%A zBU@_G9a9zKFUrx`C6qeO4aM_EOLWWxu~>YKd=V2{4M@pl&3w1|$id2sP_=J1q;(j-pw$i*fs9-u1604992d{E@Wp|u_eG`;2h)-RQ?Xi; zT~N}sMO3BKv6!7aHoWlY%TBgA_sg}|msUo{Bc~;)z zE&Fj?U>hOTxdT7YQr&a+cM!A=&eA$8J#7x~w1K^V{QjPqiUsv zAWE899?6<)PwVJhFIta8fZY8@8}Jos;#uAqd2@uEsE9;oYrY z9O1Oj{inUgx75{A!o+LLv}5lS-q{dgQT%9ld9JQcCM;Ks$?9ZC^yZGe{QF`dBcYb0 zpHkwG^Y_jP8rlqUWB_ztl{KaA!7w#6`KlS#a)TwMG}r;$E&QQM!K=;dk7S>MJFTJt(Cm(*l!)t*#>kcGL3hRO8FZ&blVG6R#-m@EiMmk2{q$XJ4CPl1AT{9~=mM zwwagL_N0hkI;5;0CIisgXsbO)(^@JtwKssvQ=Rx^veN6SOp1z};r%P2hAs1h)O-?} zAFz!k;$M>kjp6BJfE6EaPD|Vs48r)S2W~rA?@{;Pn4K9G_+;KAn{Kvd6XCH(@e`Pm zD)aAQ$>%413Z+ib6nKxk*=XfbZMs5BO$HF~$LXut9*U<=)z(ZEE9UHL?7U2UCcTR- zb8en)9cPkgigD%Ecvk|mCpzpiOLd{p_gbWJFbgDFFh)OV9{+HW`{)EQ1fLmQj%px5J5^`Z%i^nVF==vZ?_ZuL?!i`)O1_S-xi;@+*ENS06WM+(1o+LcaE&70r6cifvYJm{}v z`HI)+OZ3Bey$@fJMt;U6zjbxJ#1w_Z2T8{6U8;D9g6kd+*_2tR510NjF+(YTueSCz z?v!izywVEih%i9LQ_(+t_pArTU)0-SV1vh&8VxYKatYBE<^NEt)!)UfTO>iX*xClp z&|-6JVPdRaM{wHr-}f}g3ozbMTjV*{QL$wZY{}M1+YLvH`mVSaKCb7?{;>qK-c;&A ztt?)`7apQq=|@{wU-q`TU;Pu5;U{?%OQKaG1C*xtXEh6V&qIiH=L#|}Tp5QW)p~Qk z{@vP<43XF`=1vLri0`|k>by#7=<8rfMA@W32PX(-CGa4`5I$85lZ?3DYg7Ysg1c+D z5!FHqmoHK(6JwMR&!TuTkKf|!-zoBR*84W}WcS(tFR$m}W?7!u4V zKGw8+Wz+Q{F#jXIAuAAv>{3%e#m&f)bxw>E-vZQw06Cq4N!_#c+pJ zMS$&!s%q@GMfrvv$KR`X2PLDdthWUxU-uOL_K_)|n@rKqGyS>UO5`C8!*MXPAMj&E z&U@v3%yDv?P67>o8jt~6cv3kb@}Mp=YzPcukOw#V#ET8nDP)dCit2HkS&2`TU9}U* heNc?&3p?6V;xqafkhwX(xN`9&yqj*W#||RT{0A$YH_re7 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/173_100.jpg b/examples/data/Fruit360/lemon/173_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a29713e8b07b171fa4e70989fee5de6419df417e GIT binary patch literal 4859 zcmbW4cTf||xAy~~<3p1m2!c`s1rZSGf}((tUW2rNGy&<-OQb`jNpFHuMS%d)d+$mK z5C|<0A<`3Sga8+x-^}~|bN{&ao}F`MclPYg_cLdAXZB*|0s~-rp$b+7kdXlZWS0$a zF$Z`GASe54eqnH_XF51?SCWVt2&gzBoU6*aFrt3=3$&oq3>Rh=Nc zaXkNnS016XbZpnyIj#%b78JU3SMs5hw2Z9W(`PEGYR|zh^bHJ+AjU6EtZi)V>|Z-L zdcO7Y_VM-e4-1cojEatdCncw(rln_OX5|+Y78RF#Dg9dgy{5LVzM-+HtGlPSuYX{0 zXaYGoHI15?MK7;lf32?Jey?v3_Vy1BkB*6dPX2O{0f7I(x{UuV7xN_-`QI8)|K%bh z_qlW+GX>=>aVnN4y3|(gS9v8uXjqj$e6H%G<$Iuq2fgwbr(@%nToxewMf;cRe+Cx% ze;B4Y&d%yDT1%8K49>Bjv+|0QsLL4>hG#s?znRcJu4%Bk0u?_9zX2jknu0 z&I;Qx1!AWC(qZT1ufQ`~dFGi)Q*kqjdbuUQT^@^faJ)=Z%$^pgL;YH&kq&$|sMJrz zWodaKw@)*1E%RJ(#etCVJriXtEQ${J~c{b$NYo4P*{}SQ9kaeC&#P zy3omLo*q@m!Y1I&1-Xk1*P|P>m-d2O1EfYhU8Tc0m7~H(=(XFG)Oa1r5mDnu7 zZQOxRkq@O3#Z6yVkdH=eXxxth91BB}VfeVRGQ(?>kQ{g@R((=3-SmgzjSHhL(73mzC3L%S{hg&ck zBpz~GZNp9b<`orFAPEGocnLmO@2WQ1z z(CA!=^o};rl&vPUwl)2;SmpT<29E3-j}@+K;7_pTD-rT;r48fmjE1Mb)@rbD*GuW@Gl}mw1HzdH|%t~TqK)kB%(OG zeRDOqbi>QAtn}vq4)$FG5&qNI+F@5$ySTq{Zu?E@AFahdzxK@){GZ-iPI8KVu_aoT zZL9nk!y}UT09k9)8h5kB&KT=F1maVfSF}{qoE>;2XMdu5DDn)n6aee2MxD&N^)+e@ z>?v{nCWz=g=uKl`qB{l+1#%I0vF)?S72AZK`xHwG(rniNX3vbn8>4R4IB%(OFF1|2 z@f)Y)zQ)pV+z6RVEJ)s*Xz}bbdD4(NbIZ&UwdCgQ95YmvSgz$F@qWAw_*Si&bdTi-EpC7t{;2f@*ry!fJiQf#_%ta-qjCYXI&9xU z<6L&73|_*3^Kx@t)*=M09G%t$zZS}epYY+7+r%yap*bXQvJOEs4qrD2O6ueDdix@= zORbN}GgRuGdwk(O)E>3wvmLM^yvuSvmV2kEVN!9T4xN%{+K{Z&tY2#o01$`f5Q{R^ z$+|pCuGt%Y39L`Ylm+cZ$mGuBthUUNd)j=0higr)S4>_cxQb{*ul5ndD0wKs)Cl&w zLGK=tC_fI*VRLePE&xiKrDtHtQp|+LwgTvL`Qk8V|9ci-RZr(jMO$`dESKSBn1%qrpFs!hP}#{+=)WZ|C1qX_8Xa`H&Q{BPA0nga$IM z@QBOwd759bay8&wurO73$c(7{wcMy5%KIuxWUh%tGl&5a(J8|3Fbm!+Kk@c4`)1Di zar38nZl4Zy&CQxpkI`Wxg(_^T%(SM#q`)4RjS^%Qu0{Pk&ZQS=Q$f4; z(QPj1`QZ?bfVe7|zpR!e?=>+vd(tkMUY;~{!&eUJ#j=Ssox}e*o6Ch^X|{K4eE(4F zZv?mDmL9GJ->HdTwCC2b^t}?~G;x?;Dm+k~R1!VRb)zLVxV^}2@y>T>u9@igSndVj ziG|%u-7X{hh2;WAr>YKzliX6wDANqF{prW;T@eJ^%EHPk4h~}`55?5ebUbh+D7`Ns zbdiJj+1gFO+#U>fuwmY!(vcdD80^>wRX!5Nf9pqw)Ku~+vd8jdvm+)Gh`icxL<{&7 zR8;Xfi2p}1F?SCQO2iFE^J{zxu+2F0grb7U*L5L!VhnXy#UBs3dk6bvLku}opP|rWA%PY zojm2fx~zn$Gv0PKPeN6@p#9+B5I3>>0>IFs)AvRoH8on^CpQzbe+VSO*WTFc`d9nC zCin0gg8#00q=#0EcgANM89mJZjtYh+Z1 zYM%8sEpGdY8!_rQLY|!0lNd5dPfBLgZ>I;j9fL(mM!YPIl(iQJSB?FRpm5ink za{hcd0nM%QsxxD|zm4H;_;vKCP#t_ZrL>!`i=L6l?Vjgp;I-|lrS5=fuHt+9j;~b0 zo*Gqx-8P#UnL>3B{Zp>5UfzV>**^Jw7&K#rS4hpD@Yy^Mx<||@Zoj**`ey8no;lD9 z7`xVxch$TkaR3pClTUcDPEz~&*!j9xC@+H|bO#%Y$|Uw1&0S@b0YH@Q>j@_dcMlbg zAJu?9B`XZC;G&Z?E3@1q-z+~l{1IFP>jd&m<{c?a?(QTrfmi0jL+ZVRSydXgkE0%4 z0O&|*1QLEzd*sS{&QKte#{+036tBD)kkS6?T5f>nbu-_gbM?Rr0E?gZ1`WyJ-0;j9 zlg2Y^=TUvi(!RvWlj7Sia{>6KYaUbxJHl>d3FWsJjjkyRZwhN_4LQr5Q>M{JXUP`0 z#K(#~ISGTNKsj6FeU@EWH=4YQT#x*$Ce8mT04NkR#FcP)Z<4+p!rK6s?{P*TZ+f>9 zlPw|lW69c*X~NH##0$W1Fh!VPBcIP03YUA^W(iG_7Gz)4Y5w!jE;wxYr#%;y-&XO~ zSN=AKCDLfBeG6Mc6??Jb5poVGTmF#+ywyEeA{%24R1~COQbi_e-~1IHAU@FRjyfK+ zzZ2>_q#Sx~*-2G|Y|#-}dpWh@BLu;5w&}^or;>QGEuEID7~~30@{X@z(mLq>q1PdNJg_w1td7i1;0om?Yja*fUGXDVNr#%EIFE40-KnjfdC z>KZkNo?At5#&iNH4yYAE`ayO<*3Uy>OIj|9x;25_CwR403(g|>jaC?9%4vU6APSX= z*gQFJe(U3ZSfld?BCUrJ7Y}nzgkdZ!`S!}PH}?`BO^w8s^-$=`;o4;mNHDpsPEOpsY2ZPh8D$nC~_X_0ZGAhC^z^1;8SDSx^t`@#p$P_m@_-^HAb9 zb5G7S&#G#5n;agKJ)Y=u{`xA2#3I?X$KpSOiz|HlR|Hxs*17Fe9u+9~AAnZnmf|6% z(`k0$83mTA{!Fr5kVTu9_Y5Yp#&7J07LacrTmas{pC^x4%hGb$Bx%7I4o{~p02ElF z?iUjK8Jq;f#5qb{8!kBex}8i!`#2cn!S0O(gNXZ=NxMYa(%`A3T4)qWSW@o>@6fhu ztxxzn>qrUq+$YpBeT*h&gu1%=?{)D%CqVH+iTt{sIt+mTvKcZcO7ZG1&kozQtdLE$m1Q&O?SJt4s>E&l;%?XVFiFVs zVsnXg@g|NAdHV5~3B^+mWJ$`tDp1-B``E zn@!cEvPNnOE-n^1F4#i?Dl%1Q#U9GY?Wi~9P!`x;KDr(cz?O;HE6W5vOL6RV%wAl8 zz>s6>HSJuqsX z*z5IOg%hyX+UQYL_@f|WbBAEoR5GVKpwV=Z8I06I`RXC{u4ODEO2#QQ zT#}D83WoKP{L+49fVDGU6cDYa+IFk=AB~>V9G}uI1P>`u&h=X;R*Dmwd&LSCRCoc? zX-j^*hl3lQ6K#F@@bk#7QD+bX`t&KI5Wb!R`j`MmjFC|s!gr`X?5 zbA=LCu!AQIR&y;%X&FT9#UE>-oFR%&&7TQ}fMq?78y=z*Rd6t+cg&s!haVAR!ey#p5LLvQc|0sr=u^Ec^kF9XLRsjN@C6 z`QL6r#eBnhzTAIThRemS(5eiIEWi{DxqDRX({Pr)Md1^S@ zTe2d!Vc+AQ25WHP_3FUeY`#tIDOWYU74>7piD+3b|HM)Of$weo2Yja@uufT+wd>3T ze*=*budh`(75HV^l?mFs2pt&aNi)+Fw`RZ_S9kF#8|*x60L|`r&;S4c literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/174_100.jpg b/examples/data/Fruit360/lemon/174_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aec21f6dc9d9118c810ead91f4668d71e57a7a23 GIT binary patch literal 4853 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/178_100.jpg b/examples/data/Fruit360/lemon/178_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc79d2d17a4ab1cc203655a6accd490cedd043b5 GIT binary patch literal 4801 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 WG;4hRp<>F45RYn!5dFeP9{&%OS3-OM literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/179_100.jpg b/examples/data/Fruit360/lemon/179_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80ab87e163da6d2a041892a6db7bca962844db48 GIT binary patch literal 4821 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/17_100.jpg b/examples/data/Fruit360/lemon/17_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27f47f07e3524b1e6f951de50ec4baaecea08a79 GIT binary patch literal 4831 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/181_100.jpg b/examples/data/Fruit360/lemon/181_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6aed01ce617da4bd901bf7b12d42ea3194056eec GIT binary patch literal 4872 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 RiPyB5%^5DX5kQg_{tHN~MaBRC literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/184_100.jpg b/examples/data/Fruit360/lemon/184_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7dd724e9e4ea83ba069a4882d67336e0cd3f556a GIT binary patch literal 4857 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/186_100.jpg b/examples/data/Fruit360/lemon/186_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..325b334be27ff1b211091a5d41993f1d6e269be7 GIT binary patch literal 4837 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/188_100.jpg b/examples/data/Fruit360/lemon/188_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6c2b0cfac542fd60eb89092a18682daddc282ef GIT binary patch literal 4819 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 Cd18wI literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/1_100.jpg b/examples/data/Fruit360/lemon/1_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c5c5b50ad4235d4131dd1251bd88778c75dc5ccc GIT binary patch literal 4866 zcmbW3cTf|`x5tAJLg>94kfId5bZG%pMA`*Jgh-8a6cJHMfKWx0(4-4eq=|qSS|9?_ zI||YTq=YIU5K15flKk-AnfLyAf4uk3&YszwJ-hS$%sD%As6VI+0CuBWhPMDTGynk2 z*#J;y0J?y4G=J=mKljJzX#aR19UUzlJ&>OMp9ump(1XArdU^&X1~B6vJ6ka`F*5(z z{CVWxtLK2Uv_M7>J?Nj1|C6J(0yr1|E&vx=8Zp2*4jNhx8fqs%Gts~^#b?nWXXgMq4j|_Rh3oWO=8hmSA8y5nqRJM8A9$gGx?GO-s*slbKaeSXBJJHpqrgH6L_6y%>4Z1D6@gK&2`< zyROCN8V%GQYQn(cL5Tw0Y~V;mTAw!YGUjz6<|#ns!cY&!l`cU zb$L2nwkuppJc_?K?THy)rz!V37zbOun{{J z5fd}FPdwM%?XjLhFJ*Y5>Q)X71g?ReTnfL%K;OVragm*995Pp^wpfi;PGWo+w{7wI zItX?ANHylCqZtq3MO>avfV3*H58X=AOTrT#X}-gMUk*_hrviFsL#P0yjh#q19>$_$ z@!9^;(olqjnLF~Y;(U6A4+|{A2AwDAEIq{`feVSRAdJM6eEmiEIYidz-Ktb%&9pI= z%}Jy5P*m_VXiV8aFigQbK+b2RE|i<{eV(($HB5L0anu^HvXxf#VV#dN$vXhty?kGT zDv`KrW}a)>KU89aIX?ieyLP)U=LMiepN|&%)l>Mf z_n>`hezY<V+qrgFUvlR!Zsq0y=J5eHHVitrsO( zv`;+r2{AwLeYmf8(O(2_Br<(xX(4P2Km{-~S(eudf?^Xhgf04!Snrn{*uLq;=(`Ip zIM73~J-Ss+#IOuu+{KP~YutcvuWhh?mt@LV`6yD0^%{C+XUcQ&OG)?q6cy0k!s+$K zdrbLNe82b4JC?UUf(gAtOYnII@Gf(WgD}DyO|UCq0_mJhSru= zX)T$41kXK9l2k#9ht7FMBK&Zh_%e7g5j7bqa-RxtAD;aEy<=>9$%mgH;dg*;klp86 zB+twt_F0VtfiPtx?+Bz2A z+Kvq@-cb1TuC;ep+8ldz{3PED%6^@{B8SNgswHT{=Ap!QaJEL&yHdG=1fyD;MLQWhjD`8Plg%}1)sRFy%LUnQ;dTOX(YRe&S zop^dZmh0}S`S-QSDAfju9F{h7V(Y6o9`f!Da8Jru;!;*(W}lF6A=KJPqkclKr?Wa( zn#6=MpN`BJs0y>CR{drWP7ET$rShXXT!u5mR#Vo?VVE33(Cj6@g5g;Sq@+>WhSQP1 zF*<`VI`$Pi;YECGm$gl&TaA4Y7VDaIKPY+F6mZx^*Aq50rD%Apl|gvt6H+%i$-dJxOYpQ zjhiKp>-IMHF{4^dpNh!krlc_VHBF2ke+mfupZiQUI$ZRKy=Lb4I>;Fl8fNtNOLBeY(T||V=AW1IYJnep+MqE< z@KQRi&92bsur{!^G#oK`=rn=k3l!YK&ox^K=yDF$NFzo5_CgP_O@kpjx`8vaZr4Fr zVc3`s{_$YxM;%nN=(;Sj#8eQe_=Y*tTk{)09`g37jv(bDo{j5Hf-67VP+E^X2~Wa1 z$SmMuaNx1v(Nvq0tz#vE21*LOnR0x8XxIK=+WiIQiqUL;pLfYO8TsFqV9)`20L`;u z7E(61DfeikPpd=IKnR+>zw<5h9b$v;Gv2hyn}5Kt*iI(#jaLb`70aPV zsFyc={d1)=%p#JzwTSSuy97;SH;=0^*Vl78XJ+ zyLTRagtJX@naTQ5DXr6;iH?O#Sqv5oIv=&^W z-_*f4gaye9F`XEv0^k$Txs8j!7p}b3kFG=m9o59gQYJU;U@?BblCAXyXII%B$*X-BcGN+A!cxPZ*m zaiZGLchuU!z>INY^{~OrE8ySGIjsj&z~&e!wX)w_?tEjNyQ~>=d0&3#A%eE+d=LYA+x>3|qm!DG^>g)9@q{)Mx zNbXDI64U-Zb)5#e)1ipn8&3+`2xAR<=(ovKfcOFBPyJaOD?h5zhnmp!3Y<4;s9bnH z23r-`lEi7E8IbxDNL7DJiAaiBCOwycgfm_gwoX9WpY?>7i3pN6>T;-Phnoq8fK6C+ zGpXtlgD3`Z>O)DeHe!5Aj~cG*HRh+^v6jH$DeapkRzzX2bUAXOoS^$PQbG|Ig}$U}m##wKK|@OGC4Tfi8rtU`)zvTO zJAG=lA@fkJ%qJsRvsa~DuR}T6OPr-Xi8R)NPkl37fEjn?sC{{4f$R~PlL!Gp#@ls2 zi5stAR@o137Zf+{iWh${kPtHL+5R3!k$~kGsi9=k1%vEEO^_t;%0Urfl60V9V%8bJ z$3SsD7ZZ{E1~h`z;cYp5?dg*J&h?~M#V^#Wo z06%Gg(1+G#dS3Sa{ai`Oiw+ruBXhV>^;qq3T#!r2fTClEJPp^RibxD5s@m;DGo4lx zEVM&o4bxVZK~gY8H9K$k{t&awld@lM9=D^!4%SI+=b zsBQUf@B;d*H5LjT4ii?Edrsl0OW!!M8(WOzOH58mIqB}Pzyv5jP@W_cqW!{o5uA5N z4i|1B;sG~r)?b+{MGCD9*Q>5c&~7{p6Qs1^Goq=0>dNF!vtVoF(J5Oi(rHLs<8Jka zcfeONZ|tu3w(5rh6#305yKEehfR8mMj^pQ!+Uh@6*(nC5^WDJH#EDG&eJJG#;%;#;RQ* zu9c{)jSw5=G$WJM{b>PQ@N$v5yx)enp=o!+mz`P6r6q_G(>Bzy6gZ51lddJ=0=#aK z4V2i|GM%yj>w-`9bRA9Wbh5B+v`V%aKd@GnXwBZXvWvv74;fJ$cjemG_nX`}Rb#yx zL+f-3v25}3nW^H@=)Y`YB;6=Bfr37W=FaM(htG&ej3y#={_A-fwO`;?&?L{ogIzr@ ziMu9$>x&K=L)a$r-!559^) z;o&L7tfeN)rC=`wlWN6JYXc(YL|BriNUcjO_$RaU>16~xHjEdEsBQ$VHV$w;5ep(H zZnO6o6|5z^=)PS*KKvLo8LNH4y3NCXw%cV$;1Zayp0$VOCZ=n7-{!EHtKBnfwQ~`< z4}5Y2=TJ%H+5i`O+=f;U;yCzLHRD5bsDL&}odwjK+^%U$N$B?$%%_Me2@&T$lFVKZ zm_lkEy2KUsvMF>71`0g6Cd{e-8+snMEz9#NF58Qz(Y<>YF1V7(%6cbtM?1;HK6mo0 zAZ4h4NQ4Q#yj}kgLu@RFKyOwmB5Xz$*blGX+*gvLMPh-^l0VSUc{{=j4+esRgN=PL zwGm<{2_|8m4~%8>0DvzyiIUZZlUjH(oNs8Y7xp*B@Y^$}m3LyUOk-0KWo1}Sg4E4_i`i z#K#v`9Hx}o@nIk6#<=_hz(k$n4$l87Xy!sGeynDXHyB2xe3_To)3IBC?yI2%Q#YJ0 zNkVKdUEFF3+lOXC-4`qLeKRyx+Ad&eu)-&k<1KiD#2-`uE^+JgiS+{!I*Q^$(z1;n zB`@Ie$gfEsJ&h*wW0bBTcWmFniWwxwqo8R}q}|ay-aM7(3!n4cVw1mOg6*9m8AGF) z*}UenA4vtAa@HS0$SKM{7Kwg%nAw=0_4~FMu!) zXaS@of8tLj{S)M5e=-F*IT<-61tsObjf#evl8T0kl9HN^nuhjI5bx;eXzBkv{Q1d$ zJ|(3fBcq_DqNMt_;Qz}~z7D2g>)T|E^^J}|kgzlOhvc2*|(B2T1Ull?BQTx~IeR~fYKUimy=z6=~KGqe?nO$C6Ib-OuACzFEt|vHGrnJ`|@LAC|VECHI1F!2BPvWHZ{^W+&M5Urxtk4)C-&XlXM?L5#=Y zxjxc1&@=y(lXvs&IzMjbNr6Wng^973jiO@!?Wj`QzI9920Z16Je|8W_5--z3j%UL~ zT&AY@9D1{a`iu?kJV3k5ogGViEr z6yC9(dl68mtE!xEZ%Hx%Kj~B*TX#FLko(Ey(H+hpjp$*sn^g;$nAQ+!^oYd6s?))A z(nw<@ptYv9gcwFPX<3KfnuVbumsm*qwuq}{~JKIL#H zO8CfO^o=r)%BFfUqM57$g!pMfF+t<)ET_*J$)zIn@@YzJDD@8Yflcg^*mq~o(ZVke z6!xKY2{={|i~!WbKQ)Dh2x=?Vuj>5<%;_yRyEt%g8tmZRwl~u}nfT9#$9>HX-mk;f z*f^AmoZ#|VNPYN=X}o>$xuMt5Z;8VkL;>1ga$^$t?)UP78~6~KtZDeGa*Pr))WgRZ zBx{e7rrecr;&R9*9dY!1x0?2skPrcwwDi7`rRgntQt&&stSVEJAzQ@wot(L|PM!{{ zskW(rHd|K+f&j1zU_ghB1i&JGT{qB!GqlrJPNw(%!N-x;Q82S^+pQNB4X?7?2E?;$ zzn^+Mi!}XKb6Y;WLc^W_gofgg>3D$&zLma@)sOdXB)@su_Sxm@y3K`yVqPnQjhXCR zhb5wc<^^h>-85;wPUCq9+s|EJkZM|$aQu2h{OlXi>?D5$#bj639{RX8pUHdo zdDc-!xC-0?S~IS;-4=FQVPKM|@k}Z)`rUvu{M>DPc`8UL&9>Q1>vcI9JK6y6f%APMe$5d<8ja_!T~x=L5Xtw=mg|%jC9y#jH{AWUbDOJF z)K%7Ks(#)}GQfzuii%1nr?=O6LUIr`5_C_Zp3N-1g?qkkv*U*=GLcGHM&a6pF?#xJlZp_Ik%h#82sR7huqErxn zpK@eRnGtDTN<3=~(+3?cPRsDb!l!4PO7NW5ka6QP{~_byow8D{>cYbji&3ny#S2&QWH zc0((z+C<=j-P}dEs*@>T@&5pJVoHa~*!fRjPs~l&Oe~7O>;ud&^O;YJ)pC-RG}ilD zda_|YZgp)*OIK>73{?sjn}RApbKc<{mnUzEu$tO5tHMQc$S!bc>_ZniDn#x@|*A32^^+B>ExnM9YZU{a+=MN&Ec26x< z(;Zy|lO3q5b@s8tXgxuXjBsZ*WnIs=x5mhaniG?w$B}yl(PWT}puP}FuP^SJIiODw zxfQ8oXa@7;fXa-xEhx#x`A%*PJf?c9Ulp)8jyEapzM!fBBr zt#Lg4vFzMlGsg*4-ah)*8e&Sgvr1nA9LQl=ih&FF#d)EU{Ay=y+2>2TH)ofc<#aB( zGzulRt&PLV<|L?(763&50O{hlqiP*SSN@k?ZKB8}=!4aa@iN7EOT59f$&%Ifo8bMO zjzGChgq7R&dwWhk?4yOccP%%BW3=U{ah)?`!!m}kysA8zy&d(A^pASDbrMyU*SzYziOEpJ0wzu(xfoGm?I4{Ya?hcw;UyV6`)-l|u&iTpdQNz(V) ztPdd9zo=hx6K%ieu>k3AyxJ1tg|6dMcWoG%w@g1fw{@0Uxj!l-ix-Ef+rIy@sP86J zp0j)lta>5Qnr$DG)7W;MR`(oP8`jqRh;NL;e;&;_mfrdW3P%mp_RcOHExwCT3%&eJ>h$k^9{k>HJxGNd(#!#yUh!F#e0^1bpI~449Rfm0@y*%EJ4x3* zJ~ra>G}UIidIVOa2(b;)&ap$^!~GNP)@0z(%o4W=HE}*dttDM0z*Q4dbq1u@XUJH3 zQ8p2Nr<@&3G0{J=2*9|>1Ww%1AvJlY@S^@U#H7Bz{^3UB7xxw3yibnX=cDMVVdn6+ zvmTIs7XsiHEJL;NeD7x9`>o7zWKpzO^l_RxUokju@LhH`v}XJ6`LH&J=YCl|+jzJ2 z_?9!frclY!)^u%!60dki(yc)37x+&t`O+l|SyI|kb(Yhv%hSqjg|ENqIHeG=rOfvc zVcG9-!Mma`B?fzLYlW_t+}!ik3>%AUw_~%2<^E zys(-2-0hb#SP%DML!=f$Xw+O6h^&nZZ^HW3114j}*m~vHk?To}B)m@&t$HI1^F=@u z2`}Zu6OqDJlZlNg;zBpe5;wNWl=u6RPzi@ zJi$KgMTKo{c#>0P>cKcVtNe7-G*&ZwV$2g(&S6%I85WQs#^!CF$G9w%fVUU~2@6 zi406iWAdGjL5AH%h|6o`9V$Vn_U; zgJ~uTvOStruJ3RpW2YYQ9d`$w)>`KDT0aYa(YGUxTOaYXoS{7mvr_DMi?1qLjVj38 ziHDzROZAU3%3fsgR4M*?<|OtFzws^hjYRCju$jiy_}S_^TQGJeWuFx9evaLX$!2ve z5uB}HR1Q*NK(h1M8A+0C>iMsb)PabeC*KeSU64xaxMuk(&r!x8mGXM++j3*BTT~L% zHzU;R4zCAn#d?nD+O&jo?xpYjVs{Di5Xb-r#)qU1+xX3!<<876QrB~;J?m`CKBQSt zxu=$-sk)^w#&yS{sKc-<&S3TaQ;i6x5BlfAn?Lj(mqmt~k6Q;4fb^k|Htrs>$GJ!K z_}23)I$kC8&Gw(%LunU7G9p{okn^RxFRaUU)7HRW%ILSk;#D(CP;NJt?zUfgAEc~b zO_Ajx69(H+Ptm+k5m;tNG4sQGgFY-G=f_=SH1_Wjk(7KN0x-H&TGlFm@d(PUuno}^ zHL@TLh3)k{$TPL6TRzl+hD#rgoe6xOu94v7u3_2nvSGJPkYfsuO&GYS>9d(_TfG6r zng#{`)L{2>aj>>}q!$}GNbi_kk6YlO&kb0E794~VfNSk)hk>irQHMR&Z#d)v#4s#q&EAtd?{NgQ?JLej4 z5Z3aAQM?Yie`p+sX74)3U!SgmrJaA5<4IC%RDP+;A7&+Q=BRJ6_rzXI-#}`F?~4tD zy*q&=hyj!CwMyJBcJ{tqU%c7BDiVWv&f_VgNsof~+wn>b?WKPHiBt5uaz0%?tG`Na zXTh3cgtr6QnYt=x#WfO%6OwM$oT&#|d({_v>@EKg3;5;VZJ7Bq!wv=U? z2D`roVjozwW+>3$+DY1mHCJsyH5i8l%*W#pSPJ>9R;RuuYs}z8Z?CRNx*7>zm1iaa zh>^eWr5n+52HYe4`7F^_CaByTcZoDh7o3}p4PK`Us zzjE2XrrF$js8v~y`Tz+P@GN({cY*ZPrI5 z78(kNqG1}segR-wzw_=h)!r=kBEvVORuZM2#hxU5;O(YNI@>$%=Z{lZwC zoe`1lhQL7tfTrC9o!rBv8yTcj_O?}`Nyh4JX1|P)U_5>3n#%J8d+#%N$h9EQ_~<88 z*79}Bo%94ZdJk3q`t^;J z`PO`6MD7dcxrPAfY{;UJXrYQm>K*~8bL--x4|2tftug?Z9`gy*_h|*JmD*UXAy;#} zPLHcJ_sdH=F0mTT2=^JM-^XWcWBbxrvo+C(NJ7d!KQz`P#31{U@U=(w38Ac6Lza-n+KB8jc7~*} zX2~#i6K1SKgP*>?bDrm)=a1)kKKIQAP@im zo;SeR3_ue=1N>uuJk1}Yqy6LQ>F8+b80Z-o{^=klMg|ZQh=GBTg^`K*kDZTLS(sV> zO#U45pRF|Xw6yfhAO_GsA^#_L)(!wO0-OL&v_KI64H!rZ2A*{TAm=*i|B-ht_CE%s zp{1i|0G-QVIS;72a4w&g_FOdmx#IKau=8~Q9hja&SVocoWMbywy~xKedR0vPn#3*n+jkTcl{D|dwX}6~^-La`njy?BEFGPkAGUgofb?-FD%2rp>71S_u&+gjbP-`NGbf(!E{B=n8fYii(}@2-dYeP|3UkQ?0*Lq z`TrvOFR=gSng+1a0?(623kJXdC)A=iaX?WS@%S`;!GnLbTTNuFu(qc5<)ELRaMN~i{Bb&fDRq10fFy53E$rTR=-BvbU!5h44{*S7RT%iC-_Y&qH_qIQvHqkp#6ki zwAAUvDraf6Z(d;Vh(|z@wIO@$2mXSN7D129cyA&0%Dh) zn{tvx2wJyuDC;~l!>DFXW{e;2xABHQDv|sqMD0+@}^IPW))%LJwKJTsE#b(YzJ-Q*S3^yf5_FxoASR`u9A-M+v z+LvUxeFm`hb1y6D>f1}`eT&&Hw1rZ9XYb=(a>O&ZQZTf9#EC?gdo^vjO0uzv4;YjX z{eA1~ed%uaoWBCR;~xcCoQj2c{iUGhdl24(mRCe}*hU<)kXjDT04G^(5^hFoImjfo zG~}%|D;~>VFc(*aZ<;jypz#Q_E4pWxpF*c{HSm@0!!0wDesm$yPMRV<*Ff5~t)_s; ztEM4e_zBMSxc!z_vIqC>k0t)tPsjxr{v7_`e#p)i>eK0?C8BVBLZ-ybQcG_`YR>=` z-IjFFmNX4v>dEIZlC+dy#A1_M=6QS9G)N1L*|W-X~=wiGj75V)KGO z;vzlTu#%Ym8TQzUxNeO^(IDOTZ{7x|X`b&+4#!O=$5XxWpjNr^h6A%~ojKKEO17BJC&{1c)o$AMsZU!H-x;(Q(+X>Xfz9g!#u_+_pRVbe4F*Mcho3DWd z?w6DM%b|{Lr&OARR3OVJM*h@~lGqbCCqZ!gfz{oa`;NfD|88x;+#dd=CW!TJRZbc0 zQiqPT7VPS7odG`P@a*M*ZLG2qvM;hk4P*4a^P8yiVi_+k(kBlM+l)8RfA%i#JjfCT z-cuC7s3Z@>SS-8D?H2Y8fWHA369U!?+7YWGUDJ0;x9|&xXbLjhr1zWO&dt?G5An}N z+7~5dpfRkF1fQhhSs&BRn+0F9IWMk9<;-Sc2fC%uP?ufvfk-3%s3g7I9UUQWrDv5h zr9#lxeb*djLzhyut9(q&Y;2{8gL_SN61dFY>GF=hV-kx5oEEEsAU(+}g-jtFoAhtJ z;d_GNjcA+J7z>ZD>U@CJ6-92z3BP&HAtk}Bcl+(uGF zQJc1qUVPL#X|h*oJC9Jn`Yz5^6`Q&-d1^5rH%Ys!x+6E&R)+4vOf4?<*8P?W|K2R! zJ;R$)Rkig(siavAuQXmQWQZ1A9EXQbQxM(LcM_=b_5?h;b>)Fl#`|YHH5If?Lh3?H ze5(b)X8?HUO+rJD;2n^~TphGn8n*mqNGfzPo7zBtv3`UMTkA=Tx!V~1Dws~jZnPGp zgvW`aamm9PZ5-znlOAe}O3b*Owfmrvs9vWuCXH1(P_I{)Q~SSOWU1py9mttdBY z-uE0NHFZ7uv2+yof?jN;SCPAJ0eg>ET6s}KnBTE{H6LdCtu|BJ&c<%B+G>@wNUrj@ zdW}PiF+t5?FjdKMnMy(L?sA%;CZNOXf8R|j8dZAhAXdZ1tnBDs`w1)bFWRw*o@ULO zYi2A_${vAVpGVtaf>qd%kl?7!os$oYPb*4`UggF_TWhUC?R8XZi9-Q{#X}_)mAsKFY>^j+sD=KCauC_|o82WZPu*NJ2N~`4}?v%m*p1haxF7Z)Bq&G@P*8Ma2MOyYW5lS72 z4RAL7>iinq`_Q?XEl8wE$YG=F*HAsTnNO~yi>LDMl{PQ6cH?48BhMkVvWgO%*BO8v zrJr}?Z}IKgp^VVg*UhxMj)x)1d>;|L0loTR2~qB>A4B-poEzbJ{_!jvbkIDGh0s+LwbxA94$_K~HoM8%%y!~C#D zGCN3C5Xu=g$}~73T4G`0ses5PYW!gWg#6e=qR%0qK6rG(P={c}6dY zR8P3cxSpR^QRa2AtE}9rOK9(xmb!ddSb%I`fFjlXIj+?LWuYbgZZx@o zHgZR5MiRh&(I$~Hs-j6)^Pib)$vIwE8|Rbl;eguX8<=I1^7juE!=LG2Z@0-EUp@$) zvYFehAJ%^Qvt|ECY08Ogo*WE=H6KfEWA4iJ%|XXXa3eEW4oS1ujqc*gpPQ!!L>fX@ z0jm%_ED01tRSz}ZnAXYd{|HSYs4jZS-e)jeQ}VA!)Ae|2Q1WGvAyG%u7h5MA8#M2) zN^f#H6Z37V@HMS$%;Vfhmb49cpuEh(3Wu;Z(T1h`=0|roOE8_Owmw_9gfe?;ei_|{ zs!1fVZ6%=09(wP5E75QJtKab-u_OFjea zcg1BHG{e2pc4ypJXE|a?;QfZSmm$&W=&``G1EKsgR6$JkVojcb8XOqZ^j zbkkX(Qv-{FcY%IcUG#a)#sQ|>ZLUAVQ3D=UAt<~a2Yf>+e~{)1KSulOO^ z`y0!Spx3%|DeKgY3`{&1EYp+I%L8lMkv(T*oGCozi8Qqr<=@*}3Qi+_pDT40G2W0J zUIFHZIFw^v$-iiHuKwgoR}5)-pb;_l+i{{%AI4`>c**45UROf6X$dND60yOE6Z$(^l`as@65465Flr$Fq4hwSMODkY?csx>cYOBHD73;E zKy5#pz&k@~m-Djc|-<|Wz#7b{>aA)3W$qt!2G5Jb9&|{O2Z=hHj zj>R6zFBM!+ab>X%7-^OW$^J?F>MF%1J>km_=3`ShMKI;h0N-amm@$O3trf ziAbwJ%`UWbp$VV(^szLIxDTTvN2$Ch9T|ML@0DW{@Ac(W+wi=cHc|71R2mc5nQR)z;HY4HnCX!wt`)lGT6F@n_HN<+B>H?SWeH>?Lh^9`p@@yqq{IJ*b{cT zz}orkc(2eai&AVM0z|VNvaHW#=)%|;;KF4W)!lvc)v-_n$DF4{ve@~bSb>0X!?@f2 zI9%A?d^A5fQukwG&>~W#*|SzKD6r+1*Y>r`AxXuJusGX#+h0WT=z$?61=h6AP6gU&0R=B~L;%XrD{ZQz&bsUOKAFo8-M2jIIS98wmYql~oB=M` z%PIMEIXD$sJe$^UK0&ORSCjR>^$lpYFPoAiHP{8ha)Z2-*?b3E6wrBn-5y3lh3;S8 z8eVl!moIrweJ~DwnR*JnxIDWg7$!G4f#K^WRRw#LNj1BlYX8!!V;)#9o?9Wu-MVg7 zaP3>Lx1`z`pbxBhi39F$gfrwOyutH7&Rq29ea{RWxeAc?4ZlSpvSrhj)OEN7DEma{ zvviur)fz3&e*3&Ol2mnNRP8eL(QoBeBfXI1>|?|meBgwBL(cMtU8gr&r7Ga2P5vNvBU+=T<@>;7(f(E#r?z((V7#m z`B)gq(7L~F0p#b?IudFj?4a`4Iw{*V$Za}rL|1}ukak=HX4cuX22GWe~&6qf^ ziAfVosB-D!1OPrr+nBw|9|=?wTC?Ro19*BdpALmX^Eaf}t;R=9WD#x3H8z(O}2~8A3(u%dV zWnvVBgHp6)GndKAXB}=DBSx>qFOG{<*>PVx7Ds-^Yi+Ad--skR@w&$?}aXqY%<$oov}c_Q9Abm9i!KH$)*z8e^B8WXqmq zjCB@E*2Xdn20wkj=RD6p&mYh8eD1lQbMLvId(ZoI?(#YJbn+AjxL{%kHU!Yn001;+ z1#mhI&zO;-mNgo--^eWo9 zEJsLJl$`^jn3ykd^YHSCOGrvxl~z$zQ`fkzsejAB(8w5UVs+2@KIDOot&6MMBXwRKHYC@bZmSAGl`wT6Nn3oOUu7jR=2iycFBADl!L=RTr>dSzgTDff8=66kb|x`pOA?oJzzFlDD=K*Ltv_i0kp1t# zqW)iG{{{BnTvGrRAkEq40oeh%fMaT2tP~)xLPr#SiIaNF-6=r+e$W^R^L$O+9BZPsTBI=X>sXMYdgP55oEJcgj5LW5Q|rbh zuNW10#Vpu!yafoPIfHpJ;F$lG5wv&%pq8ep_P6M#uiMrSB9F z6>M= z5MXz}|Iq`gj&;U(7bN7RM!jxwE3tCN{Sh<@_0Gi;?xYGq=;f-6#5BFtAZIY7N} z@m->Jv$yxRDc7CZgHYfSBXc3mI@`7`PKG*1^cC;_nx&0?gOZq8SZ^>?_qrMa_Sw-b z-_EWAy>;Uxjaiz=EX~&V4K(+vpqQ0uSQ&P*Q+lQk10ka(0j5n}u>u!?Er4!~UR>_7 zEvdvnZqM?He$>aUy7_wD_i7d@B}=?ZEa!E?zfS?E)K1Z?AW2!)u&bjOR8aG z#LRsSDn*m3Jgo*5XAUE^SKc~ba<*WS6!WviG?XVff-kpZ8s9Q$oO+nBt`;o`^yJwS zHtEl~ntY9YUt+z|S36R>G^!Flfh_tJWL3gz*fW61zg_w$$~c^bJOKOsraB7+{C>?l zTzsr{|Nf|vcEK>U@G4gvh)y7i(Nb~6ap<#M^{T+4;+W!cV))LG@MPp?iG;V@z0&?Y zrvNQTO~>TwS6NpttF%mH;IC7F)mX>3_a^ceA!hrIjk(3TwP_pz}ITE7`$lKXg|sMRIvVSAD(n=*}ea@vH{v6!4li=-62`fcCe> z8+%t^O(Fsy(dzm!Q|5I#Va^&ht1p)CdQB^eaaHD65O-e6-nt{TLit42G9Hs@cL?@g z3p`MNL-8R^L~7oJHsm(58Ilu^8+LcgSEce=CMo6Uf%)k~LiH(t>qN~<#vLv(s`5xJ z#L+HAh?Cl{e0GNq#R;>vKEQ98IgLI%VY1Z+MG5@*N{0P3R0G6a?|n#kPH9-NS(anO ztG_$rU8^o4-y?*HwSEv_2PdgK#M<=$HE!V1ERc&sRN&R1W-WdYZdH^@GCBS1+EMQm z)WF2fi?;cVLG@j~OeUk|RMPUJK{GmF z#P9=_%^o<~?C<4557PT`Oj+{ug?CPO;pl5dPxDK!4>mE zvhL!InGcU6*J~Hugrz#p|0Ni<7P};$_m@BvS4LX*7H~Lry~(g*Wj|Tp-{u{x5J7IpX#5Vjf)PtJ{W=E+B(=|cz?aI(L|fivpG^TDAET} zgi0R_0AC?1EyRO`mK-K^o9M`8!rdW@&tte*`2@<>V%L1jB+K7e!)lvinVEF!9P{Gwv(=fEbjrAq!(5Xv2B8}&0^KT%eIz2~9% zDWI&??G%8^Jxda;ct1qX9Ltt+ORafAG^$pMn|! zK9Y+UMSOGDpF`6RU%b5H$qSpUyL>zX9Yh*42bM&2Y@%ggf-W@fRgA`Z3h z;?iWPN-ynMaAyg4TrRXzjW9eQaGSfI<}bB33`!t|4vMK7G+f{bfYP4@);%H*{QQ`^foP$r3%$Aydv5aSLsZ9~K&-F{ATf5M6 z{>GgoC=+FA>1UroE)&1gc~UojtGods8rj~I!!ll-h#l?HQEzx5m(xgawNn%9mul~d zAckYe=24s?kn8VZ5-9FZyHnjuj}52-RI8}zf!5(;hChe zZk!ZLm4heuwGN)u^%13KloV*Pj>_n!N~GS>H{)0^%X+fH!<*f<$1lvn$tm#s84qc#8R?M)noEB3oY4@gF* z)M;mup(I|sXPBt&-^PG!n%LQ4)dM*i?}&0RzoRy#XLsrA+R=(!hw-+w>@B>1?#`IC zH}sN}Y$HLINt(xnbci9f_@r5XdL3f4d%~Z>ZctdQt$*Y!Y4|mkK7QfpId{n!Yd1_y ziNCu}mY7|sYYz`S-R?4}OunycDpt?gCKb5<>TgEXd^h3^{3D-qr$uhIE06S}+MZ0h z#N%>|P%z{@lzHZ{^-EdN=2JI?1$#OD~Gv1ANosDVICxocE zOBZwc*gtplN5P`zM1THRj@IZ4)=5JXjzjoiuX9%JB{sA`foqO8iSxXu#U1QanyZ=3 zTLJPiDzXrq)-WKIU#66xv1+g-+^OWSvf*+uT{)SFZXp}9nM>th!>z&Dk6$;j;_U{+ zzx>|Zo!<~N;eMQ=(jBt-{PSaUm%=1uFARh9J_SrgbmX$C+@K9Q@~&=~D0;~9Wa?IX zuGUWDCQcwb8?q}|=vk|&mgSef64J+7Q^3U9boHmkxZdZ)hXAhQS9o={CbVphghf?O z+~{Eib(ydiDqtFZ9WMNB=F@?~c*=+Y*Wn7K81fc@6|RazZ-7XHb`DBdhQ=avR^c6( zl1mDcPQoD{`A|lB_o}nUk2C{VuT4H&O`?{Kop0>@C+?u34)fT(@Vci>7HZE3a?;-X zUmszE{j}@^G?N+IcL&0VuyUg(h$p82DVMLb43XN+YkTMR){dXSWsdH{Y?mL9Mrwaj zpVETJgP(>Js~oYJ2)@)va}tGits)$T5Xv~aIi9Jw1?Fj3q|ZqekGE=G()@B{D3_}gPPI5 zWI81%{Z&<}6Ce7Ow?CJ+QEy<_iO59r3rDO89m-q_rOtKjq-fC^YauIUveZvVfbnjw zFx)-~i?4ehCV76{^vNNjsFadxQAZkl=`Ftb5gGE8VyXB~AX|>pja&M$r3yp8jE`RsCWM@ogo46%p zax`Lqu*$)aavvZY?OJjkpCsV>5o!z{ljo5pjDHVv+_-xRz!nk8K9)>+sH^#?)Y;N)b%xmS;tSv0114@-7)01> zXFL>?sx#3%5L>2{s`P(kE>kV|QayH(a0+k}rby1O=N@r;JXt}~wp_Babu{9!QJpo^ z4@O>{`e8SiqT`6`XN(ukKAzf(l|nbgi!p9@+Jp(mjF;YTHquNE@GA{PzP2#nGITQF JybC(T{s(<*emDRC literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/217_100.jpg b/examples/data/Fruit360/lemon/217_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..673cd425fa0b6737ac81adf585dac13b18835ec3 GIT binary patch literal 4910 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%0D@v{li5; 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

    gxVR31BWp!pcFqT&(9@lz-O%{FjS@ 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 eEEY9RGdJ=*Vy-Yk2ozZI$ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/223_100.jpg b/examples/data/Fruit360/lemon/223_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..97d5838e01264e333eb4e68b3366a8bc9ac7db72 GIT binary patch literal 4991 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/224_100.jpg b/examples/data/Fruit360/lemon/224_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6987cf69d952f5e77440d52f48b3588e76fb922a GIT binary patch literal 5042 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 EAJ5&pw*UYD literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/226_100.jpg b/examples/data/Fruit360/lemon/226_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03a831bd6254913bcc5407eb5dc62bf5a39a0975 GIT binary patch literal 5071 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 REbU>_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/228_100.jpg b/examples/data/Fruit360/lemon/228_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..15d8d77953e28e4bd69b2fb7b3deae0d04cec9f1 GIT binary patch literal 5039 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/229_100.jpg b/examples/data/Fruit360/lemon/229_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..048fa5fd445b161b2114a35c942d58457aaac57d GIT binary patch literal 5054 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 N=9#p=SvukIK&pr|sY;1Qq$u^!d+1FB z1cA_`gg{V05^8`z-gwSh_kOt_?!9}~>@~BVJ+uD5nP=ACq*>AmaQT6@o;E;10RR-_ z29Op2O@NZ(xBd2%zm1yew+B&EQ&H1^XlVZFwDfc|wDhzzG<1w~^bEg^JYr&GVER4z zy~)2zDM3_JAO>0*+J8d+Pma_Du+jm}fHM_^06@t~LB&cz>I3-6Izj))Ba8jlC@86@ zK{T{v8I0tBhRbC6R8(ZqAhKd|bU67tK+OtbyD6tm!*1k2E8xo^ANBe@ouEcdH>dFg zP6+Ji7fsJ_#683U?HhlvOnEYiaA~>OC+qH8Y1=SXwzbyF79I)6M;v ze?VYRa7buOY+U?{gqMlw8JStxId9(P7JeuyE-C%^sjRlHzM-+HxuvzIx37O-aA^4R zoLzq#fCCMpW@paa>wj zAja3eW7oAmtbkwi7?^`lt;4Jb+J=A7Nn=RB{Z=HxYxXqa>Z;9PV$ISZOOaDW(NW^L z^(Hcm{}J4j1Vksp8E}jvr39Pr!RbfxG$S|H)$>ioD(diwZcgGW zM7TinAdi(%x6;H5eJw>25OufhWG<-VuaGEo&skB$OIj|%X&OC=G^AAHxh{sc+T8~ajZOoC!c?& z;17fiiSaP`UWRF zE~ys3ol~ynK&Fbhm^{7^oaSF4kE=)k+WHB`z3K8pE}J2_Jzt_EBIGB_L+BSPzQi8P z;`kLk>~%>G%ht9j1$r6TVrju4D`RHAzC&zoL$QVWJqL`djkr+RFVU|QgC?nCoulLI zN~r4tHU?JZ85qNChEuVU?VOFX#)ZvD%cn=s_|^7oE_X?5JHv9HKoU^N8EYMEtU3hv zMqdr2<2OVX>Q28H=ki39-O`z<_mt9i)OAXCdxMsroi9bIZxPT9CAeP=GF-EaNdt;` z=C104+Cq2)xPEOO$(C)MQ27XFuv2Jo{Jjck9vYy%KcK;07n$5y-L-DlgC0!}jJ|)V zehu_UCFUfkWQ6g}$e@7hSpf;KYnZlhYn__eJ>t26*S_<}eCiG(YyI`bls7{MyJiZP z6#h!F6#d%RFRrAe&1XphoHH^~HFGB|ZDG!(Wy#eQwnzh8t5XQ1AYZP`WPS3&AfhxU zxPbFvJo;9PTGk*TW$f;Enm^Glj@5hV$}7y0Nc@wW%#$1(f%YpRgSkT1!C++K?= z`fG?K67W`GIR}=dF!|-Q)ew>B_Rfs_GfP6;D_y&nz)j}`L^J=o&H1U)GuE-7`R`65 zaw&Jz=y#%7?x8!iC2>6?wo~_b(AKgXKVhuTVi69(ixNfD zs3+hSmh@BgH zM4@N2G-bvdlHc=aw+88-%dqJsR>2-zm#cM2r10Obeg9UF^zK?M8J6a(dUY5t z?k!(?I3q2fCDscT@80(K(!i78C7blXj}c>!trqDJM02)zxn|{j8IrCm6=)ALn|iO3 z7CS^Q53KzRh4#Cc=4a-3y!*H!$n9VvPB=Z%SCz2-xN%mdI~e&8x}`&8r$swMI7oma z473IDaI2E4%0R&yh zlSp;~I|~V5<7cN2Qq(+3*dIJUtN!`!1Ezr2PDFO6KN3@g#USKX1)(>JEu|eyaOobz z)Q-)<#EW7`o<^r!gpdt4TrVuJjw5MVKPoEwBvqvIQTZMg-FIt_5PhU%!r)WlsAJGS zu0RM%eVpG6$(4LU0)!$;S7DN)68(op#JOa?%0^F0ZoO`)yEE-U)`e$(&%j+Pr& zN6oH53Z9v7mRaz+w9RxBOw_UJ`G}xirI7$^apb$vJ$=~LDeBYNhDZ{$x24$OlkME_ z_5S2}dO`RASNNm~Yf^@}>^&XX9L(Y(2sE$W>Qy$@MI%LfNLlCD?l$3g<|u=bdNIOn zbISklsKPe%z)JU%9KTAs_Tn!Rz}&F?wco7wvC#)n*N(>h3AIMM^2tHrdqR@a_1UEc zK4>=?J8l__iJ$2H_jS-$F`FB+gHL=BzOUyi-0dXu%(9H{^SPxm{k_l!@0}GWp%lA5 z7H;6zXf0Hqvc;^a2=>0=OtE)%aPHpU-xt`3bgaFZ^*5+By_u*iI@9)X4L=!!&G4Pv z>Rg`L4flx@D2;l*W0qZxBi9NT-%bvn>MoC9Gva7Vs$-hmx4<>j)?xMaDX(ABhs{@a z?8RK%)VYOgl`aB)UMQj*bc<-X;-~0^{MJKt6t zH%xEo_UVwI`?-L+!V&J)%t|o+6;wcjp|7#4pGPC5JY+83lLV+-yv51K zJqZ5g;ax<|(EM)*4a0owxnV6D%LLX_EiDe{;Z5S-oF@}!PQfCERB-d@`d+qPPno2d znrtR3(UYj5(}NvY;o;sgk;7^AA@tPtUEeD@Ua;uw?z~brUrihD;RRn7Zb<+G*JBM#ZLS!(`xanf2a=mD1Sz|gU{l2-$U+bre zn?fw%P4=eDy(iNj56_Q&vY89{gM80Di0h+%?z6m_u{q|*9hRT1?g)Wgk54F_GNA3@ z7MEQR=h@Pt|A)tQlis~NB{F+awI(vt^N((|bXQ5k^=`ATjT-w7`CN2r?wY^r%K=?l zuNUsHbBnqD9Vai(@<_c3uF6o~xO{rio@{=pr1+}Shby_rG_?s~)Pn!43x&O9uV>E+ z_B!q77VpxhThZ<*9q6!E`cKlo$I9){D9vaOOhR4=rdEYiIho=MrV^XjdYRX|_u>kf z3*?)-i7mS}O|R}b@v=g4I19tDiM zo<~}x2k+a~H8E96(E2Y9jhGXIIPpwxaV_9J^qc@5}VhYo#5QbqBABPo+RC!uqn}Zou<6FBWACA&H1W&k4Rh|Xy1LxM zKw{$lQFLwEcIO*$lh4^$h+TXq4GAy>GX!{vEuKdgWOPiYKAnPlc;nM+W%h0{t3Yp7 z6Uy~neB?=he@rxcegr4xTGQZN<>~n`%#AV4doBEFRp5U9YiOP(clsROOnVAq`Qivc zlMT}`lY(%+HQmOSx+cr9u;Wu}lSVICCAVw$tZb_(G`>*EYsBW!Hauba<>Is1&|EB0 zwTv*19!&IvUs~~!-!dgv&wW?2@6=?6*tP=XdISX{2t$ahlq6skS?qw{JsSLK?`6JN zajF=*{@P`4VckC+Oa0t5Dd7~eif^JlvSV3cvQsI`(sK6*M6I-s$FK1zk0^!Fq2#l4 zaQ&*VyuG_HfmITtWlOE5%nA-9jWVZEAy7ppI-|rxyl7kz~C=6mW?XG6`Jiu7rVlk=tQxqjOSv7 ziGZZ&0FoL9>q})ZST*Diw(7O`=1sBhdC23EMc>Wy+@TkE#ATm^)8a68Q+RTF(e_)N z+ST(860njCt5MkP;b({2;i_K*bTYZCh$Nw|%q;Own@MB*FHT2!lb#`-_AYP|3CDk9hF40g^(fq0W8RS1* zZ;%oblTwkBk^d9&e{zKH00RZ!3^)@L-34wi5D_yF5xN1MYn`P3$h#K%A0xU!OhQUV zel3IgI-r66T0SxHwP@07#n;gh*X;la11aMjNi{Mi6G!s9KFm_DQa@4fJ*n+vF-4&H zrT_AcrlewJW9PUfa8FQ3SmdFM>?1jO1$7NgEo~iLy{Bg87M51lHcrmZU0mJVJ^cIw z0)v7>LStUXzKM%ZNK8wApOKmMAv>q2xTLhKyyA1^*Sh+K#-`?PEkC-tdwTo&2L>l5 zr>19+vvcz+sMWRgjm@p?9n8`3$?4ho#c%8%E+T;VKUmlPf8=7g=DP7`4aom+5#0#7 z&cqBPq<19A7}ZS39etSYO1+|BevLac@8CIIkej-5T_tv*MPL=Tr^ zDms}KIV@sZZ`qBvZ~KLcprb>Ng1bKyxW*>uIiGrYfVs)5aHAZY2~q=UpiQ3oE(l{^@*Y<>NUJvAS3Gho65*nviZmt9Qq4SRd@O1!i$NlW~G46!{}9l`298YLp)TI z>*}#(j#0UK$hT$ofnKVaM+u6OBrgl~ z8j!()-Gak{c8KfCv@Q|yM5|n>mehCOlPUOektpr>6Akm=^`yPgC+93DbbFKpfRw-E zLKH=96iooQPNfL|MQnFcPGGH^I5zyXqe%*XuMY85UiZleL?hUJ)$Di>F?2j6k~Se@ zYGTm-erDjr)Fw#Z@AyC(T`8ydu=bnGeDc?_#l_angZ&u^hmpO=T!e|$(!7U-kB36U zpaBV{`rQcUb9z?q~2O z0azdatNa~g7k)gi9)`ii&+Yn~pTA&k%4U@Z9cd3k8ddfMYQnuRO|ymXyFR(EPiob_H5%6K%p2g5Zd`gSf|lnm zxIbP`_n^FhSnnWPEPX(Ul3gXsCVEMGMuw-sFzU4-(Vh}qWU1aUFM;SgAWmmP0OSfhsk=ZB2CV*3HoMd|)xi^6&OvzCQ!05T&_kwhQs&2NFz4 z`vdnwbDffC=!_+EbYC1YJR0Hetfi>UK;6GQXlrZ^$pO-D@YB}0 z^2zZBu#ZMmzHXezpu7L(N#DW2T3F6SNlE4bdg;w%Vv!$kdg$gUu{;vDL<$ulCGAKfn=@K7&dis6 zZYHnEt1MZn-Pw@m1Yqv$Z1|8@gzb2vy)B(3q1=Y*<9X(QSHwd>gQw@00m|b9AX*uZ zG*|^u8(m5VPa2O9fVlnce6CECg}Y!K*F$cKD+I4_|DaS9Tv+CuJCZZ})r93WT zJW|+JS`}+pUGPHN4!_=EO~j3VVuWP5j3@+KDD#i+;nd3XZZBbHiMWdzWu|c7^UW2uF3wM32iDy_r^ME)gpJ=*J_#`&0ijl96xUnDuNrT z$Wh@|uV8roC7j+xRV7$jw8ztHV}692>U{zwS5j*FXax9#80At2UO9}*S*i<)6f>n2 z_Z1X8kp01oceY%IB?W|>#y&EYer%^VY{#=Qwz~^T4o2iE!sC=)+vgtqDtQ5yjVxX9 z0&!`%D{5qQxxqwt2mp!emS1md|Gy&lqTsMq+ZM%xQ7=aBQ7F|tIlk@O8M1Uv^=z8z z!d&`x9|EugP0`Y6;&kupAEd&j&pIbdgErSa(muy~dM#WM0N8fH_=g^fvKO=S9=Gb5 z99k;gGNO|2$NPqq)&;M(8s zFT190kSo>Y=lXet?dp%bu(P)gVNicrx}s~n=GVv9qzo^0y{KKArd?^5s?xn{M8jKQ zHIA#cI~Duke~xOS34f6Bc_u>$YFnRCgJ|6kIMnprJIK#$jm%_~aWbXy`~~}Uv30tA zthn2aM9(eYG00)TJGHrCmVA{SY_g_3AvB0Sg+~HveB8c9hS{hVgNW74eZ zRekN>pRH5ZNxbAYy+W5Upc)>u-dJJ~53`CB=%#G3Li^I233tB@gHa9bb(fQVmC{I) z@F&RisfSwWR#R)OnH)FfL%!0Fmys*Rv??iSAwWTpPEwh&_6t`GxqiB-uEuTNMmNXB zVEb>(J*r;0}d9Em0Zh*wApDQ^Gx$V7g z?J4%_I_LxM>;8>Sy$X))yFA-DxB-mkaP1->@O1qOcYCuI1 zr<@@s#m+?WgLV0oDtV0mjQ}iHw zZD6~H3PYY+Gm-+0o&;dMs7F+{i`9XMoNJR<#z_k;UcMsJFvAbenb3c2L2vhjJyWrE zHqix2gz_m#Ok){7aheD7V+-&NhTK1d zpPmKT1i_cu#>(Hnz~+NiuMCm= z<3+r7Oik8@ywSmeiTE)T;S=&OHu{GCK4oi@TCZ}Hb{&w9h^|Z}y zX<~42kt=`LsL?|4iro^~MO|gW!{+__GJ@bdnQv5sUF7b38@%bcx1~Y3!5`BI0C8)~iW@_;$qr{y%Vo$b3AmoC94SK(0d8{^T*ZE)hJlwBCsH0vKQLPdDI!n}@k{m4 zq!XA#fkV1shpg{lZ9i09l)IdFwcMehsVw;GT2fnwBVV+<3?8x}Z(w&%+$3$Too>g$ z2&`);;ny;8N*%+P9j&??d7QL41M^TAX3e7I&Mb48SJO3>D!fvI-W%%f`C2E7lK<|t zw94WEqVIW`=;>(g+#jSqfIW72{9{0OG5q=+*;N;IEEZmb_3yY~^2>NX8pRotatA5@ z6iVkhUTTKXUmskLZ&Er|X+LAqBxfN7dg1d)E^KZE#8u3@zmd{ayWE3bU> zx4@PzFU00*>ng5|ngCG!Ix|2EzILul=J2eiF!<5OZa>=P^B1{aD(G*XFRtIkY|pB% zO4}Zz&n6@u88&{iZMSfV&(Ps}Ho>$#Z8_Ut29G#dR9?`XtT}1rU!biQW){s)ECf{U zfM)aQotcKDLQp$eqg7w8XCeTy5cyzu?qv6B#WL^V-l1@4JL4tP;CiF&Zmz01h+TT& z$BuB|3rnA{l?B!;(1c@%|5{Siq_`BqZ+FUnlV$&*h56RgZbXJiA||a);X!jwv!Vug zBJjOE;zAo^x?qK9p!B*oSsq)IHPpr=IGUDB^+1j{NoX_m*Fx?Wj9L6Q7gg2K>2P`o z)s^K{3jtWpZL!?v^!8g#i9OG3F-pi`16R2}WyOAs<#U%=ZCKmdE^J;6{ixhnCv`PFxLpaDvq)75Tt2Tv=m_7Joo+&%( zzK}rgH_5lE-;0R9#oLdbb@e_Si(=@#sk*0a*ih0T)Rm|*joHMV3r z-Z<2$ViUgdv=dV{Awa3PR=XM6tnv=l3w{Z`V^GQshn8kp~(&eSCr( zScs`;?D(k)6HXtap-hkF&X~SB?XHZkz4M}ui-u^&Q1nb4Psw(DgZNG1Zw`SkRq@j{ z4{jalq`P&n=Bcrc7NXoccfP;Va4i-REF9bY$+I&3uK=s*%3Q|?5QIMx(u4EKLZ7jk zlucDO6dfNQDJ|eBsV~`wE+0gW83z~l&XWXoh+>}9jLa)OcByadJ1BHQ`fvnttIONH zE9z(}O2nsijhDuLy7e%ln8mp*75DjVujR0$U-wKysw4F_B$duXofh zN)m zR#`3seMNSu%!Qpnr#cwJ9~79~(hY8d?Nj$;>ZnJp-JvR^Nl&JGnv3krzk88~8X||( z*%v-ewkj9oILr}(4a>zze6RLx5ZbxqJ3n9_KE9Q$_r7wV!@SiwlmH~k>?(1hB9G z0LxJWnB#x}aE#@5{MKW?gBA2!*;rXYtn6&;?EiEyCkH#26U@%eah!vb>vtTDxQ}yj z|DOCl4~$8 zs~gPSKOpc~5Ii^};??Unkx_4>6B3h>Q6E!M({gh2@(T)!z7&^NRAQ^DYrg+zZo#*< zwRd!O4g4G&8Xg%PBa&w4<`)*pzm}Fax3+h7_x33VhrhX40MNf!NBTc<@f~p;`&|R@ zZ!VT&K}Q|L$I5p83i~PjJK#sY{1;SSa-6>L;d5CNr{vYU8v>90`nd$9R7n>%f1~|F z_P+xQ|9_GF7ubJu5dm%x%Te(_d;kQX({iF^fjk%MyFJ%|CyB)JI?uWIZrm&uNIYF!8jn}MvLfGL6FX#%;!D@5`nnB_m+}RH4il#2z8iofLd;3#pEw7 z3GI2Jmx86g+vNw=OcmF{1J80iN@A~Z?q6S=3=RrRb=U$$pa{}G&Yr#ch&P-G_-TN- zjBX9!65yC6FkU3zl(a=LN*3Hfx_8%M3PuLn*F>Oi>LAHC)UF7j?|28TO`~%fR_(RW zl6w<$%nnEBYYOI4PYk!)dT_zGnf=2?h$@_QU-E3cjCA$ixS3)|B_uM_X(+%GbXQwF zG4SzHB7J>QYrAQ0v2OUL(%Ggco~fr!VCgcQTcqxQsJ!7|#kvzXbf}F)TRh({Q^;2W zik|5B(H9v=_!J4=aJg7S0JH9mVLEeHvtKZQ4J(NViBn&5H^}%D9EpEOELjq@=((3z zCYHCHs+)c;$onrQNOl3MF@2=WZJ*c`)`3tB=0uBJPyV&D=K00C*?p(|Cv4 zdiFOc?R55Cib&}g?F@w!G5|MPBzOPB!rsDE$&UdW-C5R?kVwrXXutRw_>j(CrH=?% z(Op;aj*`{*nCa7Om&!F1nLOc4vhsn$ocuhnV$L_0SEqP_rjsZ4yq$IqqobP{-Bx9h zmOsDdW=+jrOyJCU*nL5{{< zlc;OOvz@+cK-^RFf5`NS&{Gdg1cLfa5Y(V9&19zIq>SOuWadG9S=! z*6M}k#4VJYxajtE^C<4}j7L#2Vq4cmXmR>a2_^2A!~F7SpE6rMFo9+CxS{_RtK?!M zsNv}1Zh~Tb>+awKONP^Z7Rwz@ZLNA`Haulic9k!SoV2~g85viKMUp4$r;%MFV^30% z@c!2MA{QQh*J{T?nHQSv7D;1@Yv={`xgP6FDN}I!M-Q@6=efz%=m%K4OOsxR!40hz z85F6C%;f_XQ}GG&w-WD7%Bg%=(P!XOA985hV)I3~JrxZt=o-gR#6!}If)Yn=%=1s4 zhvm3kx9U8V!=|YrrNEPZ5bxeM^f>BsK*ELSQGb5rKL4>dAVGal#58kG-j z<9L^3yt#*-sy~heT=tM>*HKUzI=pdf;|&x(#uklYs*|*og$CnHjHt^)jDrd zI%X`l?c+SujW0M$i#`H`zK7D#@dyX8*kh3@W zOE0;!sE&<=-l=_&HR!+`p@A7+J$|oz^JEMR11pcLuCFqkdFY=U$PF=oP9yj?b!sBt zNLp0TS9$zwr>322SE{ll54`aViNXXjV=5Y}wUTP@d>Okxoxa#@b;l5qh42zMXrew0 zHL9V+Z(7<86$aZ3bH>%D_2iqiMS5vvF@a1(M5w`VVoL+-uv&G4VB7S~)ZC0Jb-m`( ziqGsLdkT)da+Wix6*?UX-g(}inFkkguf3ZQfg z?ta%euu#b9&$W~pDk$$f5RxxzIn(Aj`JFXlzh?Ze4++=5 z(6~dDe+b~U=%vnMA}&Ad;BmfX8aGZh+sm*9?4o&yuRtG2NU>sKtq2a zBV=&q*Q@^OswEh;TRvzjDVi9aG!EqMfBUTbhx{pyHV(b-1oz3|F&CGU;hHD^Q~~wr zhLt1@*A13a|EQ?ik-FM;<%I`%t7{-vR-@ZN;1C^9!Khmc`&+i{c7-hy2oEOU#k6l@ zKfK;iY1>}33Qh{|GCg<`5*tClBC3#0iVRtY(A)G_nwoD>f>(gQ(#I=7-H;@>Q&uo| z2h%wnmA10199CgFD87F?!G#H!q}{!*D*BpSq^Y)#qwzk++ur}!OptIJITPL~Rv3jQ z62+!{9i=a|4{|X|HVlNnO&D16a9-o8T>rXn6EbeTzU4;4wU$biiC*E_j=o!{RyB-R z`#3xv)L@4+|CThG}D9>>NzE#@QK;fZ&6ilk2F&3L(pRSe_I zA?_sxLwoXN+o(oOd6yBf(nJD8qqp^23Bxkq_#dK~z3^(3s^)~kqI2Vv|o$p7$L)6 z_Xbys#2C6#m^{ZUZ2na{r?E&<vw@}IQbs-lG?izQ0wu^&xhV3ZT3sAf#*X7 z!{QEySlTnxTTw&X?rOV>sr5ei)x&wGZ(q;i?~ngcTA^C5jVx6(+vx;}XGH8`6qH+w z2M^9A7k(XnwiFn4`Byr2Z~CupWtHTB1$4s-6MzQxc-kCJg?9U`pO@Q;@w+Amaa54B ztpA1`prLB~#aH{*MLNI-vz6x)h$`Ev4--`M+wbEyjWGN~bDg_v&8wW>Jn8;v$^((A zFsj-U+B!wz&zYag!SQk4GpJ>^^A8tQTHwMR1ji7U1`-p9Kt9Ea@ZjT28fOO-V(taK z+)CxRbTDJvm?d3H+}DcjgDc|S3k5ZRf#8?;7(wx0uRU~rUqqPo*b17hij$5E3wHGtw!5_EcxtX;z<38UB2OdH z8xVpM6rS04=+ibH-moGjPylmg8P%sY3awOhUF%z;f)y7l)8l!IjV`}WSad1G7qlEZaFyJMB~ z>y6I$I-HukLw)17TRlf9Ii#fI_mCP9%=W%mvUT%pzKF5Q4&=)N-F!9KUG2#W2l?dTz9&djUMSaZ>UeNivyYj+dF>W9F0q{7U4+ zpO}kT@;Md7JL^x78kG7BOZ?ognRDxZugith2T<<@w`ax}39vg1D1P@8GiqE=;a__qGK^T8|3Y9pAA=uX@lZ=}u*$^0sF?#zp_?`f z#vbvdN7N&uG!}7Z(9JckrIV1D)I;wzccZ1OISjndDy~5Btte@! z$(>*~f{<+YE(}W;wmS7N;>zQD@fO$?5-gNTpf6K<>0;c2sm$< zAw&5vYoc>`M*DaSb!_2Y?mIO_yU`f{{6zyZ$^}OPrwD>Z(7o+7=^Gds77dYh%$G*1DxYABn>{(GB zQI!!xL_#y<_0Q$Ec~USPs8_9>bL@{b`BGkP(9d_|G>QT~n?KaS88U{(BwH^WL|GvA zwE7JZP`n6&&4p_)xAs?E{B(`$)gJdJ{Yk~0wMseeSu!J~=%?$sgYz)2obIbHo&{3t zkUAqcWRpAtL^0kY(hDy!_(R=>0`KHk_Lrz9KPxjc&@l@R@a^x@*vW}r>-L*yxc37# z5I^ybo2=Hew1B;MX24={jLysGL~h)SAKl+mEYshxB;71uj-Y!-Vf~aa^LhH|VCmLXm{Rd%R@7w?Y literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/232_100.jpg b/examples/data/Fruit360/lemon/232_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e21125a3e0c608764cb50aedeceb142af4688a5 GIT binary patch literal 5034 zcmbW4cQl;ayT{)#7%h5F1R+RtAqXKkIa&mfF{2axAWDc5QBL&UdnZcNiD;t^hD;bG zx+qbjM#d0hF!;$iYu)?L{o~&I?6se@_j;eb*Y~sb^X_snbFl<4K33OK2S6YI09_W~ zVh(r&kb!>NZ%_8y$icro1vxpGoRWf)@}CN!rlN#ULntY!XsM`ae%ob>j+Tb*cjxyc z{|+Ui0D~!LAe4}QLjF(gq6=W60&D?WFz5zA#smU0fi8Lh-b%n>z~mH^ zkV_e~mjR88m-4~jOVJdUiZ7!BF24ihOcc!g(hn(F^sOK_Ub4!(O)8=i_@l0y?b+y_ z;2mp^U}_q64o)uan?k}Ow{FYI-IZ5Ry!Yr&HFXV5t;bLU7~Igv*u=)x&feiKM<>r$ zUfw>wul+(o!@?sXqoR{jQq$5iGPAOa-<6b>mA|j3{8-=6*wl<{Y3)Jx_I<*9?jIN% zpO~DQp7}bvyt2CXeSKqdYa73R@avFpL_9wE%>@F$|6*PG|B;L7l8fy38bE$?fyjI= zE0~F#f?t}F`Jq0<>Ltq!nYUD|e8r)aBwhr90=e5$EVwwZ%P!61&+wobT^ ztW)Z&Ty?3)FM z1|*LDxmEH^_q7zGZ~S}n(&(%jdSleFOCCs{B!gURI;xLbkBqr zK_Rp!#^+af%}C4_KyWQd39nlOiBOT<6hLRlNDfubwImPL-KW{#RAon0$=>%-!{1Gz z>{#A~e>)l2zE3#v{umLjc1Wk7QV

    w$m!tiV@VK=KE#lAv&sRBS{qDh*Pyiurff1 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/233_100.jpg b/examples/data/Fruit360/lemon/233_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db7cc870afa6c652e428bfee5746145c624d64e4 GIT binary patch literal 4992 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 JpTOC#{{Y-BnE(I) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/234_100.jpg b/examples/data/Fruit360/lemon/234_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9690c239e05a631be3afeba9de4a9e29412a8aef GIT binary patch literal 4944 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

      UBi?O{8#7(;r^QYkr3_qvyz+16=X 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/238_100.jpg b/examples/data/Fruit360/lemon/238_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2de2a9e15daf5167f3a6cfebb4f0b3ecc90b5e40 GIT binary patch literal 4965 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/23_100.jpg b/examples/data/Fruit360/lemon/23_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fdf36dc7e2b2f15895bdcd3f58a2dacf0892fd9e GIT binary patch literal 4801 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/241_100.jpg b/examples/data/Fruit360/lemon/241_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6588ef0ed4e9ad9ba065372c4665d6d6929b8fbb GIT binary patch literal 4974 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/242_100.jpg b/examples/data/Fruit360/lemon/242_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18ff9486e61d9516694f0db9a62f194667410795 GIT binary patch literal 4961 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 ZpBu-sQ+B39GYnLj^1=*M8Hp|@{|i#lk2U}R literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/243_100.jpg b/examples/data/Fruit360/lemon/243_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1362a4e0a971c05cfb42960a6eb527cfd9012569 GIT binary patch literal 4952 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 N^aRv;&sgv0{tF1emDB(L literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/244_100.jpg b/examples/data/Fruit360/lemon/244_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..198ead43e71186893a6bb48fac12fb876044fa40 GIT binary patch literal 4941 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/246_100.jpg b/examples/data/Fruit360/lemon/246_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8d52c754b52a9233660ded74443ce71d87a4add0 GIT binary patch literal 4939 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 DLwI$; literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/247_100.jpg b/examples/data/Fruit360/lemon/247_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..adce19fffbda3080710446f0591d95227e4e4f26 GIT binary patch literal 4922 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 F{RdRqdXE4A literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/24_100.jpg b/examples/data/Fruit360/lemon/24_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c8a36a0dffbbfd842cc0d6b3d199c36779c19f05 GIT binary patch literal 4797 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 L;swt%XcPYh6(u?? literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/250_100.jpg b/examples/data/Fruit360/lemon/250_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25ab60d8c8777cac6931529d88a82152035ea17f GIT binary patch literal 4926 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/251_100.jpg b/examples/data/Fruit360/lemon/251_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8583e87b11e98948ae2ac888878357c6a763a6f GIT binary patch literal 4955 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 P7@9d=F;oZOq>29kKqhx) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/253_100.jpg b/examples/data/Fruit360/lemon/253_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..734b8ef9a58ffc92f2540ce194dc19d8947b4960 GIT binary patch literal 4931 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/254_100.jpg b/examples/data/Fruit360/lemon/254_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78410905e4fa8600d6b07edf0ceae84efad54671 GIT binary patch literal 4940 zcmbW4XH=6*x5pm{5Q+*Y2#AVOLhMkEf=h0#VUW)6o1=!F04VU^*}j4J`vL9sM6WZ(U%ZzwoE? zXOe$ErKARdsOiBp;D18?PmbIHFw+9|fIWzU8=z#S05MaLy8*6qoz(xxI~V(}QBZ=Y zsA<6GG8oPSuuSLjL7;Qd)aQ!NqeIWf0V-zd%eTcI&|J~C0dpf*#9t=n((lIE%f0d1$;~L)`{<{K#l2Xz#vU2ij4!z04+$saBX0Q4``x&I%zn9sQ=|Lg(y4;KZc z|9J&5Q&Ha*qq+P*A8doT!Y%%imPIu&x9SrekHphmR$H%O`m4N>OMJLLX#bG?@4&+U zUu6FU_TOAHzy%P+`R0L`0Ttkkn1{LxrGoa6I?T&l%jPL`n}{_Sqb+nVQ~@v z(!CGR6Os?p$v}8yKv{2^7eREE(*aNoip_$~xn9kR+wF@kS zk*j03Uw@HzOM35UlW9${7x7yYldUX>{Pe`Pps}Hfpu6bmR53Pi-T$OZLUT5xTFB-8 zQ>9BwJt0lzvy9kz3&k1<>sqvqa&S^$kGzu7RZ)4w>g9le%^jx*>bp(p8 zE6LQOmTMaMz5nLyDrR*s$YTqH+teKsky27vCIhk7sfRy{ zn#4A}sZ&+Gw4O{Iu8*QNpSLgOEe~I}yFQ6fPYs&(D+hB7UmCB4Xf=6fHC#{L$5@@kA>HFy zNuRR?Yj9)(4>v}{Uu*$3)A593)Z zV&h+POTxPk1ZATQQYXLS1x@5tSY|A<76vSG6iL$y*xnjkO;5ct?XF{yQhQ|W@daDi zA7WYRk37<~z&^9ej}B)8Z;7IM^MW0MrJhkOt*8xBjK`9JgEML)ley}}q>tHRn`B_4 zf`Jp9Zp0)JX#GNB=x^iWs@@jk_Xx{i7}uNPA3tWaPt;}n;*1}*v-xdLp9R1D$$lY1 zIGXJuD|?U2$-seEC=BU0XlpWHeV_gX+=&Kb(p}xVa8HO4SR(`DPm5x(Foop4D@$N=-ez1Q1yr6NV2ws>6o2;T`a0S=gWyLPZQHb}k(B*9~=^yOL)XdJz zwHfkGKO5MEqiQkN2|BvC)L8KW=aOj+ZxAG!)8av|hB=%o3i%<78Nv6M3`DMvRzSw{ zx7)Tt(~g|?H1LclIVvyot$=iWto%_*v(A=i#!=hz(L5C7KmvacGZas_%k`!JC)yX> zOgVCF_Eb0%A;wDs66)~#_9*OyOHfo@V&SYyedH@Q>p%xValg_e1c9DdOTaF}a@dKg zV=ZcdVMmu|Ej3q-IUG6B5<79m%OrV6r2gWNZ8ny-?N=cgP~a*KFbF?9CT?Os@(>2d zK$2Xu)4cRWad-nTK}vBiV;3tj$eQYP6_Kjv)sp+Z-n_epm-_qHymLKDx0pwRVUT%X z8<~R4@s8*ocl986pIqTIEH-a-aHP@^65CGY$VkWujyo9QN7E>z9}0syPITK6Ipdk1 zqiFBFR&-;VDLVcAwIQnu9Czv9N1eeVCyFFrbY|7{Tp0%CG%|UIH~Wb87ObK#$Q;>sR&{vVG7M%uep`d@!R6wJJhDczH=W8e{nW1@7OSeGO9~8 z%dUXaq7ZyT+jES}F`l2m*6O24Vn^}rkh0iyhm`A^J@tB5{834|-d*o|lwlQy6`W;t z3(a=<{AHHn&wl2+9MwC+TuH&-8#@R&dh&cnhjx0E+BA&J$9h2|!`RYwoTZug;4Q=c zuA4FGv$&h3HO{;1shYzN^Tk#BEAV6>;2wZqH{Tk|-7*?YY}3=+*|JJsakddy-iZub zsWF?Ma|`9Hn{<|`j9D1=C6#BkiEdhn>Ow&TGQg5<7+IQR6FYc)R}M1{C2;rkLWWQ| zRnjR1oAR?V#w5!qO z-p(Ax!A=H7%v>#?p4XoPJ@H?okVXOExVK`;-^jpq`<#J0@k5G6oqcSbVbhqP%)A}< z_&KC7bhPPiUVABYRU-PV0Q;Q`Tnqu@)awh)UpdA+cB^LoTY_5U9dDS_acqf;a_H!n zS1`|Sh!+x8=P6uEO7kx#QsC5c>>MXAOQ)MW%ul7?=-UHwI@?90%Cge-VEy#f%Iu)Y z1*Og7qII^dw%jP}mUHNlRqkm_#6||1r*(492H#?Av??=O?QT(o)N4GMv|Dn#_bZ$; zBfRH6A4h=A0FbEGe-3j&eGxJ%;-Msi*2rdHmOFK9VIh2oQ2ngTQ9Q%l)#>7z7)1oVT zqPwZ=FxL~!*W#sqi3qzJoGRv*$KQUhIc54ivCpb0uw>^THGOvGc=TeoEsMuo;>K4z z#Xi6lv>IYp+*_sNUdg20%u^q3mH2|6@0FaphAL#d2fkf*N!BG+`{F>mpTIl}YhON> z@;zk6sfmF)+{)Zg&ezYv59WIyH;s*HOGsP4Jt%R(NVzfaM{XkD5WCfb9ixv#85&+P$5((K$TZT;Cu6ye$KZx5kewDq@wu!HUn**P1SVTKgg2Z1Q&9sE4WEDvDRx7M{!bIU91){wbufOQOi*uLAxf*nx@)PVEZx zVyD!HqvSZ_Z(1bHGtTon`s5wSP=FAlbIL9|vlU5!pJVL8no3Fbv=ka#;(L>O-+ zNPG>`U17X5KGa~9jyft)_DD0>Utp*Sa5x?-)}4N47K9;yhs+-R{_8LN+yg@ndRbwM zi>akQDV+6yML1@pp=dmH{Hi+i9i^rc%|)m6Yx~}J9X(~dD6=(|tUBf94GrjG5lJcq zB@Gir-WUtL`&14LnLjx+Ae!@cQYUPDEV_FLX+@TeQqjJeHVEFwj2ySLz8bVon!zcR zIu4B!E`;4UF@CKbxm`{lrCg>K7Tr*Ku<^4HHmOgskZWtnYUo5;vP#cP@CPTu7A?$s7V zZx^;KEZ;19j=wI(gA7Y4!4L{>DEGf?%;Dg1?g>~x6N9DB)=eD6S$}f@L3k_OBnLy6 z$yM030=PHZa$yngx) zh6;y|CzpqQckKpSo|TXR=XeI<^-&%_UE^mDf|gz|!%F6E4?Wl`v*WLXoQUt%$N22f z5?rCXb&2$Su0^JOZj`0e6#A-YFsK0O7@*UIAM`q2E){mLZaO~46J=zRt^In9cgs7l;Ah0icD*=(dU0htE z$LidmYoT;avcRZ-zN$obMr%$*0tZ>ni98?!(eqNxgy3bRJ22N~*Y^*bN1fufcQV}v zW*1)Zpnh`WVC(feMRQu!CbQ9;_z0^?73|S(x!r}s@{#2+4DAR}%l7@~!7GEE1T`VA zmq*E7mCz>=Xza1@sR3z->n0N3`qVT`Ab>I$5^akq?z_4fT<&H6W|YSo%z;_WVOE4> z#8t^keZdC1q`}u0N>%a+{PCXe-`d4=E1P9V&hIp}YmECK0~G?QmLS|;GN48`O3}H? z1jTW2OX-!&3;P(l7DBT;qlkc^XZKyNP{icP*i|xc#ohgt@r-!{84yOGh<{<4wP^Yzgj(H7gX8*AeaF{OY(s~eyBFE%YEDM1FM zkjyX(nd!(K$(^Iv0U|&wi*ClXm0(=x;CUTKS3aL|$5Pm8{i2aiKT|w^p*}=@Vk0`Q zcwGJ-HjJzjjdb^!qxriBasGZ{SWvf1Gq454@)>;Y3YS%^*L%-%(8jcQUHwiu3y;&C z#tc$BXoZmfy1J6DlgT2@azJV~v0JM>^Q zgVGu4*ggpC=jW2^u#~_`WJ-hAsl{g|WRzJdqKXFvTVUV+*&I;O}_dIlj=|U7%$iP*Xqr%P|;{^V(N@dD&bWFRK8iw*!x(nW`nl)_$*V;P&F`%~dVCKCWM#G|-{JyG_*K(_?_dhIqOpS~_9+`}KEs}J*R9SwmGT}UQ&))hdi(^$P8XaE z(RkascZ-fqzHYs~zk{e5-G`tZ4M?Xq32`f_V-kl!XSd1;`enhlgC|fF!7K_#`L}WJ z3~gpRe@W-rw|Wgo#?!+J&)BG1z3}i0fKmg^b`&Tc!A(^cI|J*`nYXR!InPj6zsa*( zyTiKAQmx~eAJjS9D^i%@>uGtunjcWm^=2F%d2{dfUhukN`H66>QZm6Hu~f+1Sax~+ zAcO^T7$BaeKU@9sQbP!cRl#*rr^e^)IV*DCX%n2d$SrbD9^w25-?n1ukF2y<`K^u^ zV)`M#pU#jt9@gpAC_`WYA2nbF>;Cc^M_)00JcPLw8QmlNMri zAN>-w!>vZ{$%>2Yz!_h9y9#$_`Gp;+!I(pK*1MpRh-qS2!^6rNGGN6mJ3ELIOk zBM8i^x!IKjW`Ed+Q+CQlUD3VlmEBr*bLz*kYsdrVDB^t`aCC9laEhLZc7<{JLR_A! zGof#4zTEW$$?m74oxyEZk>1p8s@pXGa;If?Mt;$87qx+4wbYpMLNYy<#_U9tsQEhk zlMg~)fg-gW?9!e1N^XXmKu;ZBVNG&;?9^EvlNl^nW7dzVAvQx*YIN)wnzD3-j;V&G zLyK4g#`sJdYW%Z&vXLE(@Zc-n^;LeBFJM3SkZ7#Rmaf15f@@??b!l!_UlI3b>lB1>V2}f~1s~#-Gm8KkMXpoWyzk zU5Kw7rnNw#O_p0amz(BCU5vpcGJb=rv_Q~`UdXUZdEH0523zI{x{=T0Pt&L2RgmS~ zoC`o&79Cr|eP0S^cgUl=L$VoAs=uOBk}NggAbQ z>NV$mA|K}XJ;{?@VRful^ybyJbX&dP^=`x~ejPv-_jLUsz$fx3~uUw>bLuw0N#XVyfw#CstdW zHv;^gVV2>kmnFU?cn0nTqY&N}8JVIf{A1IN!i8;eCsByMVdBNQa3!R7`N>1tw%G=c z4S7cgT;gqCbg^)4}+Bi>U^K^h=~?(`9O zu%?~X4ojxp5C)jth~q1W-mSl-SQmokpAVjFaXCvyP6<(D5p)7eKAwrn!(S zC@MFSc%?hlS~`;>nPDyi_rhDS!T#&b5Q_^y`POxNp+g9E?clO>`D4-bMvweJlb9Ud z?!LQ1UL2pz90}d|9+;NmM_8LE%EGTv#xd|1HertINnO>vcGlCJKjUmc2c3R{Z@*he zU5??N))5x&O*+fGnLJI;9ke<1;t)Cr{$91tF3#!X5N|PeT}OrAMdFu(;)7Lc&O|#% z1>T9XiP5kY$MmaO@APQ&xl?)TsSHcrSPfo@*DpKpo}NjQ%lrjUH2b7rpaTbqM0%}@ z!~N3jQs$i_r40dlkI%bYuM*yv<|{|;>~8Of^r^Y^6wZCjN~2zuzN$g~By)Hy$xb_xt@Uw!wYsPC{g2PJx(UTaknZKy}j`Tm5E$&Kiw`k zdI}fI$fR2^vh9fyYM%%+QTkfc?OU9l;$#(GuiW7tf^fsvnCq&iV0!LbYM>g!Mm5s{ zW5_Deh|G3-K>Yhzm`>&DT(uBkq*E@Qr$zgd1-ZuIGE zc`Ny!7bYLfYO;+1YM!sgP^PG*xW#L3L?L1aMkBXk^UB;J-tEZx{zLfL$hXUO3_BV- z(7p1bbRm(iZ&fQolUgHNM=pSHFGAoaE}0eOb_t3CXkeVRE+nLf_pyDKqUU#11&pdo zJ70XptMoc#(i}NKIPQe;d%*5&=Ny;zi4pbZLvob$1V6+QOO&&Q*pIT%;xHL3xC1kk z=V_lIDo?i=znu3ZAxMP}haAv#IUZ`tfQWpt}Lw2kc0FGWej*K=@IXbj!+%8Xs24q29>o&ACL?rtIH{w&X_K6>7e+ zYoeR-vGncNgPUvM%vDI2o?D)!A{#1kji|Zx^^KEk7p;HpeXk7Z<&WZ-TIA%LX@1rEYx*lY7OM>CPkN?bu^^Cfswn@#m67~_TM!< zXi?J#=6m@AXR}sQwtjGDDT|Aq(EB2xLIVQfMg24-^))RyP|JwCHyP%@s&MSM~oJqQMDm9WCc;zsLBLAC|mWW>uD(*DG6-!uNR&Oc6+Sn&u<{8IJf#d6Cu&^~3cg~A~>yjK|#^sUf8@+I7VzBr3a*B09QxVslvQ0!-&JKn#a zJyNn&CaP#kpn{Ro7^D^~RZ$*K2!jT68^Ngd&2XW#=g_!RGo8P6n#-B5IV8M`j}O3g zFI(i8eB}U!G)pi6!Cd8d9fiKNh)!)WfrBDBjTSKnM3hNmg7IG1KJzbg`waRREYwX zU4LPCOY~+$hbwiTZrtdc@MKnKGmfO;Orf;zu9&mXZnM6uMAQeTJ8mioWbADDzbMaW zw{-xGHStB1S|Apt#PS5YOkzhCzD^)8qXi!FHIXj+j9e~BiqrjA$-K#`6=nAJA`Dpg zmu)tGJSFl5t{}k?)$E+GIslU6zyipUp1qtpq5WI$YmF?j3YhC`nJV7fSXaAGp2b`M z6lr)Jf$xmdYHb1PeRr)~zU-FGYizzw(eqRx0EA7P+L1Y44jDWdQo9(b#PmFA0OyjE z=I}UKY0GCbGbwchRyN(snL~^xNEVv;8MS9{UmJtdx)z&vyOKwMXkuC16(d5P;&t2i z`#n!q%0!(UQ8K6CFgz;Hs9Z?SRi+*#-Wy!eLaOMSYb#_{?Att8$p`0!!Pjj3z-Go; zD72ZiztA9ke@|BcXk_WN3g5kjQ3Jzw!ba{njR8{6HR`Ms%_cu>3pN$cz;S#lFQXLH zml$u%<1cks$XmGhp!HcYkk?cT=6|gET#|I=Owa_~>!0=eW^QvYzJ{x(Q_oTXy&1Lb zamE0XIxj`oq1{HkhMCt#>yLbD=z@rMtNN%H9)(IykWX(yk}rTd&8>A@`_T(@Jmd-i z6!NV4p)t~-UflKe=rKImvxxE08qx-O0`Gv(Z4BzLhFkS*ZI}OhPfxqXLA6l@g>}GFAC7zFPA*T1P^J+&m9Npci-U``m{_Q_Ki!c zqP&1(wyUD1(M?Zd4=~s~MaOJFm?E=5Zdv^jy_A+=R++I%;x1sPSzoc~GvGu3S4j|{ z9jc6Bn{Ys@jR)T%n4Ib4$>`_ViyqI}{xHpga`V(TrkQujTMevH%gG6Zg&kIMuXf*0 zsE2)NG_IMOd(?K7->{?VH^7+!Jvb)PGLX)eH7+y0S>5$aoj9X(xnbPP(j<1ZeSxi2 zHD!bTfp?0rLWS(jrM>z4&frRH6q&umy~6h#s-o64KV*yJJS)N}?>x!->DAfDUF@&AUKdS#y zUsJE6^YE%5{6SUsjnFc9D8NOjg!+Wdaxqg-cs6dK4(>J2cZeSJ81FO*J}8)8l3y?fAS%iD70l=XQ~DOohmzTDXzvxR0(9zimR~W4!=cpM*Zj;J>V4YBIrDeI!as-h>c)0jCwJYzQt6M`qTmXDW33P+6?w>$*g|#pyrm3^Kmu@g7 zDj1i~a|pLs=;oW-8@<*IDBgl#L)r^!(c2!&jG^Ewb-LONV4I1GrIyCAHM5=9kM^iA zLkXd8!@)coukt%t+mf87X;)a+)d|VlIBw^x@%~~#lN6sI^K({WzcN;vaoX}oy(*L- zix;pf-T1tvj7|0{lbR6MDedbiLia~>AAk5;pcVQXBZ!>1GhVE%@L5Z&Ukyt)xw+yZ YH<_ANU@{vLO)3IURY+Gy>Wi8G0N-$ZnE(I) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/256_100.jpg b/examples/data/Fruit360/lemon/256_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0573db4b8f4dfd1d505ed5379b04d7a36d214f6c GIT binary patch literal 4890 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 JQ!@O-e*m>|g$e)w literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/257_100.jpg b/examples/data/Fruit360/lemon/257_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57193274062e0ac24035bf678917dc1f1b572124 GIT binary patch literal 4880 zcmbW4cQjn<*T;{HUV`W%X_DgUQH?gCh80Y|_QL?H-VVx<7FQjpPrz=ck#f8sgii-5qO;E<^3*KcBC-^L-*-lb<`zR$}3SWsA0TvA$AUf+Oh{M6Lk(%RFD{@m9; z@MUm(VsZ*I{cUD;1-rVozOngzYa4&?^Vi|gG2!I&Hx~r}`WNdW{*PR&7hIQq*MR0X z7saK(3kR`MQvD%EeMQTZ=BW>xp!_RZcJ0)^>bmKK6wGiO_P%5EoWhDLBKY5E|B(If zz#{)&Wd8;B-(0f*BZ%Uncpz3l6Ce>k#)$zRO9{#7Y_4d3XfkV1rp23)L5%#*dE*sJ z{mJQGP2}kA*{WA;_S8~T1j~G9)=HxW)K#L$Qx;H53Hg|B+`JQaA|t!%9u?_J2CAN0 zN-gzLRTdI6J$Ju%_-n+(1UcNox|K3XjG|Qao2o^5G4cMreQGu18brL&M5tz^i_$4ZTE=>S4G|9 z3S5)q4r)C^vrn>D66g5l6$}VY0rvgE$Dx{)k5k4c{v6{$PUrMIXVzi2T9ERDPNqQPPkL8o+ydg|GS>mF_x27+ zD0td*hxf5kW&9>|E-J5uFWl`48PG-S8)x9=1%HGEhZ|ldhWKGnnnOfW{G~j}+1{HK z;k&~x7QXMHm{X4sD;jJyhKQis0dp&mv#I=%%{e%g=5i&Ris&KI8H0y{TXCI5LX~hA z&`5*ds|+a(=f0qBro)3TQMl75WObzWF?BcMY0k-n&~$XO#YF zm3Bd9_NeAt=+Vz<&F3bZTFaWTnSKidNsAVXtZVU|=|U`OzeaKX^97|md`a+vb`AXS z#{2Rh#zV0|D}#?#kWjxW1pI4drlki;0ZRtx${zNPa-}JqcrGaI7oYDeo*N&3-$!kG za9qwU{kDA?##@~k$age-v+~nV^jyZhr|D1hA8Jt-*KC>N!Xx9v{=D?Dv$J7Bs%Y{B z!@D=MLb8hWN*wHr2qQz7(!~zAcYX^Nq|mLj#H6MfhFjQ)8x9%M;D&-C+u=be>V0m5 zqY7b4I`1(3SPfnuuc=>#!)-$2Uk(OOMxGhc7zVe&>bK7gHb<5|$?n1`!$R?4o&31N zwG@J((ffEYE(tF_$KX9$n!JFr@2blP$$sp&3Gv7ohxnRIe(lJJMxH4DC5=F~)VPik z7YJg-VN*2W6mnA6mt&gcqZbUlnpnCnuFiG8VvD=_t;fdR!dwd}JpEY^W4!bmE+!7{ z&*A%(AGQ~FiAXB}9w0G6j;N*Us^zk&U0GxtB%BjbjF>R|8Z|7^?aq;$5VtrHrW#-% zIA`!MdO(h~IrTWa&sPC<)r2V)jarawB>A_fR2r%19p7A>%Jj+-qM${)A{;>K)Kt&6 zZS*tx#8Dt{cYZA zFS$c}CC7RlPcm+#8@xNTm|71O@yvG}*_)L?y~<_ucTlMyLakv3YKuF)WWcF2bWVBJ zmfkSg#Mmt!?-hft8wH`kp!I>BJ;_PWxL{qY8$+wYmlYldCSskjvVB;SuXpIDWj|Y5 zX0+xJCBWO^K4gIM6{)5=3{qqpF_h18OZC~5;-gtOvyqRuJ;nj(MrgiFf#kP#-=$DJ zD@Rd>(cocFQa;Mrgqi4sTYLWj++l4Cdxua+_rH$wElhS8j@Swk{cHnIQWGc+>Nm*Z zUox+Y+qjX~By&xxOC6sR!EydN$P_(+<>xA)AMdac*X^u=F2H@8z6cDRi{gICyC3hc zJGj2s7j84$mCYjqO0K559H%}fwUABN?iXwe(e~`F8_zw#e$EuNd+Cl^-J=f>!Tm)M z(L1x{&NkQfnuKrYHXsoJiN*}kX5R!JL)J5s8=p-PpM_WSjBxH9fDJO{^)^InwqS8V zyIGZ7v=Yka!YJC3(}qJ?dT+bA+hw*jkxF(|WB_qAMlWnpZN}1WYCKHbRuq|Sf7$o` z+soeNcTz%tJM^TIp6QGg+?0g9!;4|J)583;`i6!XrExFIlcg(_7CXA;nMNI&*Unym z6|(S6(J#`+sM;}gUwqg{dEUM&87RrL?PBY1;Xv>3Gsi!ywN9LB2lEa*9mZhwsM)-5 zpO%ASA@ZO zt)1ylrQ6=>6{6P7jcxMt;LA$-ul3ZJ;Ug%4HH$iv83VkDesM+d@VPtb(xIi|c->F^ zewVzyr%cFZiV^O-#i`TPifhX5A!`%-B_vHCiaA*WkOf z+qbye(dIAp8T!KA_D}?6uYM&En2?B@LFfcbTeYUxFNr0HCnSWdzlOttxZ>0KT#Ldb zv`9M^5pe7Xy-GF5(QfGEI%j^`F>E7wf>-P#s*HIK&)`Yt&_xRJLS1NErd>v^4*B^Q>QaX-!oF4nmO<0jc%VPGGJtek~xg;X&UF$ zenm&6uQd!;2p7z?etNSOYGaq#a+V*p%|F<-^A#m%sA9Ki8i^H;tMz((ymbokx}zoK z{Bw9v=d51u^1i{Unp}W=`3c4#6{J@k32*dfmzxQVvYJf%CfTjdmj&jqV|>9M`& z5zxM-W51qxPFPY@??G1+3%5hU$;%wu-15gxEksE(TeIcD6eN=m!%eH;qJddDpmf`3 z)cA1FW^C zjbBThu+hxSyK^#W)HCzG^Y3WzhaQ;`|~H=+6UlkM(%cCFE3A@Oe{pF^S2;0Swrp;F{M#Att#Jp>!aOo3PF4f_Pj~CzQj(mnq-1Ltb zEc|UIwJ7WgA^BOwYpPV~$qJc}gGYS4=SZ9zC=AQwVJv;lNt`($196X9gFIO)Oe*K? zQ8-Cdx4@r@rn+#`{J{-K(l0N<{dTSjXE*1xMog}v4|?^DZ;aQudK@u{kXmH-y;Hh< zLMB5_$}c^YPQ{E_XsIZo7qW3oWLH@3Ccy9kaMrn5{cB0cCFhALfrLGZOv*JDlZX~9 zN*Es%8XtRA2mym~&pa{>^w}7G1W6C%KuMV1y7i>jzZ?UB@SHUF+m$7&N z6<*lCCb=UoRg7F1#%3FDD5FWvYLR_n{WLU8L_Jg>eEIznJ#6{-hvu>@!@^b{<{(_y zZkr`fP3goZAdDNn}ban4*mp;PBtr*xW(J5TuK zAu*~oF0H7pNq$y zGi}O#iKuMQWrytaW1rduo*5JA#yd5`WZH4*12f@Q6lX2Fu5)k9-sQQD>s?pJg+e}> znp)-Fo?K9^C@IiGN?P_>CE9q7$G1i}6O9QmE7ERVi}IZWze<86rwapb2|f0C`> z;NT*Z5wi8PQd&{kph3(}N4aWp?6YRE_60;W)-%_HAeOMgnSb{4ZI=|20fmd2c)fNr zMcuADJ(P74Tik5g&QrWRB$Y|m{E`*IksG)=B#aD>|Lci{@9vk?S9StbVGlyN(Mp8_ zT?cc7YLm|>E?M52O@5`<`6%7}wtej0utk?xig*#cwATu*Eyfgt-6iClcJ$87*~L0& z>y%TFBuCn{u!e?buP2ayk2gH^Mb}B0boh9!syjd@9ma@vo=NXc_5MiWwwKv6c~X!D zD?#DzqX>dciS0UAN!aYwqc1q*Y($#pkVfjtoi$16lk4(|gAqUOvMg45tNWbp(|YrZ za@q0KAqA(FbXEx!@%7aL-QbbH+&1?SbROa_pf=nhUpbtoFs zv($?T6tgl6<=b<)KcX3;ox|FttGYJ*y-I#@adDiovGJ8)oFW6CPbqylH30atpPpy+ zJau_eJ62%i!VVYN$Vw7Y>L2BRV$;qtbq};I_93{7-BcIg$i-^WK|r*9@p_B~_IuCYz=laQoB$QH6pwqy-cgsj8FgfQRi``8BA#y(L9 zMRqen3^It3F@Ai1=RD6p&mYh8eD1lQbMLvId(ZoIKKGn^KKJDN$s&NmupX zcMngmfMIrYAt z7)z0Rj%>7Xk)~fsGzpky2Rp?)KObU>b2_>dCp18e2*jw)kXR+Dg8lsViMeWb_cU(;Rqf=y$CCK3aeBpZ#XChW4b zgg%srjeC|}vYTH0b`Yw1!2YhACe&$YE)X`pv4@zgqBMF;Q^P2`o)wO;?BKoy(9G=m zB?bQwr-{dgNQ2o@?`EM`C2ea{0-PfKcGG!#{<(TH*{!j?cv}DCMA%UF;FzEwpA>J_ zYcS*rx+j5fMWHZ0*uY1rXGQYaL8ZOK2p``8$`qNp?)Wv(wEG!$Xs0(U95!IyeA)jqWQ+?t=q0xZCkI(KnX-j{{=W2If& z>tAubB0d(<%h-h1tZpu0B8NKE;yOhxs%s~XFn9&fr<#~{ycJtC6AqpFqH-XZVgwx% z77kh2eRyAqZ`~rjGUH#B)hB@5Cz#?2!*6!JpF?`Oy+Xou$f0t+sIB`mt&KF&JjpR| z{#fYX*f>AG23Pk@-udeusW5Mzcp1r(|D>XTJ(fO@UhpgSSUQq}%fb-A{nz_a8&4}$ zuds}<>%P8xNYBD2veJB#+1VYi6F^i#I1INP9PJ&+ONk^CK1?jRcZAH)+X16;;328Z zTdEFLq3;NFg2jz`xSrbzGp#>6d_L~gh1YciWZmr=oA;UAXu%=%o*mcXymH-_R+9?9 z?Ad(~-_CmnvDce=iu3YM+mEAX99Z>`c=^*9BbuVIYa#xcewwv>kBMB|aJf1NdY9#+ z?vYh&R?(a(FZes5mGuOmadk3&R}nlSyHtx6ECT1ZHdxLTaF1Rt&a2*>rQrtaKI6nc zy^rZJyrJx<@n@i;YHQ&WOl+e2y0r5PXdXm1O{3YafeGjr%ooBBy2e#8LU4DJ|H%~B-PbVR+ zKU)g%_p5(>lSC4lmDOzKexYxHhQie9lDZrJDwh3=T;c;8kaH|5dOVNb{&AK;tc^v8zetT6|D2m6Sk+$3;(@q-46$m*Gpoew#K=eqy@_8a5tbY{v0l z5DVr|McTBc*}8o%FRz=lhXNOhtnPmOGf89qedKIP9O7Bpw;}HrNvvlJnrX%rHm9Os z$}gN&k6uyRj>otFoak2AwrQs$XW+sMTmxe?Ik9Jw9k~`3b!*B;SaqibU5*k-j@%5n z(z`FLzMYaq+*G+AqAtf<{m5fR;;+9Kg(<_((|j3(%MxwK7ufaHi^3X^i4nF&}<2P&lFPK35i$VEK$(;TYhHjZB?v4JAs64$1cw?JOM7gY%!rUy9 zw?6k>W*#m%61-IXxJE~U-+Cf|dJ$d$y|-P$NOHGS=AlTqtuGu(urfbFF3Ojxn2Y{F z7}!lTt}WAB;?2{o%yLkkPZOE-k2(T%{SoA2`s2N&5@z?&*Y`X#}^BK)Nrfbv?JiehiDM!VQO@u6`h1 zsza42Kr!ey&vWnyszm94H!MKCd~n`@^!2-oN4kG1FXQSgKQY{#AZZ8P4E5OzHemc= z*fQ^S7|*-3+`YfAzJ8a)FI-R1&b=#8cK0S$Of+HZZok{6;1fT8+8XzYgY3i}CEVh9 zIBMDW9P{H>$zKKpJw7;4z`94-4^3kUt4|EAiulWA^dh*^k#AcCTCY}J_6@Tuoy&_g zbrgU+*S6_C)>ZpFykASbwoz4WF)eDnr^shvZbX6H);uSn z$`e6F=?=NVkOqOi{vkJbx8IG-{jpxUU$9XtywuWh0!aJAux=>ThRCF;+s_(=)f$L0 zfzc({$hH$emjLa`x(N3P;E^}ad0z|TU*XVTjqLS;jCf|{)k)Dj*baE9G9j=iEvjBg z)X4>HdxWQ*Um&+T3M95x0CRzSL z(-9|Fc{{lG_YcZU6lvyj@NB5*&-?^hJ~Y!@_qak`yGmp~jC|w0yWi+dlq|61p;~ES zq-Yvta^?1ipv{nBQ0&T8u!K0y3<|rPhI9Ajs+5d7V%_X z@VZQg>eNqr@%v*vg!~SkqP6EFibx9u$}7vgJed_SarsMCq1LRmjEo?)bLV`}TVJ0k zlyUG)?(iBWi&<+4LSm1%T8dvl?8hhQaMn4~wJoDmymVp9qEnM#9ub#Bf`;9Rz;W)& zKe4wh+jo39N{M)%@(aeipJ`B%N8kk}W$3jDM#vfe@=+A$3D&qG?|Vf-vb9hlg*Eyk z6T$~OXzO4osNAKLs2CK7vSN?^;6%p&w_T|Dwn4aty6E#*q+RLeFlkam${LKLUroyX zBVVDE!O9A1c)qcf`&KUT_VMrbH*>c5m+?K*;S;#u?ZXKNeUm(>)EQHPNB#qj&^uyx zjR7gIwqe6m%d&>B^u}#{j+=C#*x~MiGTlRHvX8yjZD-_9HQ8YkJ}G?8i$E#Or5(sY zwdVb=$(wt{GF)9r5QW{FOtq||v?J4(oSM09>_xJ=+-%;Mz&n zG=^Y`#GZJ9G-lo4@L?Y%`EPK74nw8KdH4P3z!Hg3b}Cr#FsKTi~+y z9P5_|DUp#3VCT3lI=NvO38O76FkPltl4D6WDI6_9#d@P9Nq#f$R`|f>Z$@sdCQ#q> z(S*u!e{fWp*^gx`P#jj*g)gmq>0HTB8i)7VhG8g7@!uWQ+sgQ!G|omb!A&NyUkfb- zBxk4A&7Rt#@}Kygi{X>MhTo;incyv>JYFKNl?W1=hu|#kQ*O7UwEWV|*Z40cd&$}r z2LdfWa4>;X`bTnHqONsy{$9z_Obl-ZWSKI5f1U9|)~JJNqGq_+CC-aI`c1pQ)yk>g zGPB;CQ7^U_3fYYsVS`0COsr`*jCcpe#POn5)11ijV-}1YqwrPcl;!%hT_B zAU&;g-erhrQ}yIyTKbj)%YfW38xSSFIBOYcu>5jolY}nvHfMq~N!=GMsM82HE$v5r z)&$K&4`AfUiWnc)tZVd~!{+KGOO8TC4T|&~4_%;;s{{KO5wdlXYnl%@8DDJrn<_`D z)5)*=UEB7Eh*j>8hK-JBPAQ~p7FHX;F9CNka|;wHaJMNU>I6{B^il_0I;Gye_vcQ> zS7(>p`dh&wURL8c()xPK@_PRY4R3SW;ZtQY4l8IE$chU8i2L>~(g12J+DB^esPq@A}zSa=jW< z)_nP)}#`mvqRv~op6>h8k8#Eww?2nfhs-j$@wF4%de3A2dH6B=b8G? z2CG2NdsSxR*)3i}{G(OY7i`r%TTK+#&am4-zH5gT&tx9yX&fPfFp^0IILm)h*MHJO(@(79>(QB9M@}dD#CgL5%HU@gD6Ft zIPx#vYSTV64;ZO*MKN8F<6IMP2V=m}eXnA$>Nt$+t3<1n?uGsZP;Be7M`lKYO;*|& zMy$HE4$p}qpcyYs3G?xRH>rtTF6jQ|Npf**m6yMVgHY}BnRjLMetj2tLV5S-jHGaP z;EQRvZ9@bU zOy`8P;|L=u#EvV26gUG|W1h#hKC+vCq{}z1368zcTctDu(^G5!d046T ze^SVeC7RagvNv1d4=gXxr#a@UeR>|EAZlv&;O^CeJGFTJ7v%*n0749UxMHPD+XwPG z9^=#GT z1iH+&@XJTtZ(Sk?FX{J%-!jMjgYD3#m=B>8Db09$Z8AgP zb*b#vYhsT;sh@IEc2c!Yzab*kn|k4VGAhMb*=?o2$zOu<6R4#49V&y?L9%p3Mf;^g z5$v`VENgObyv)|DObr9BYmAxG#?Q-4I6Z6oI#nff;)4pi;{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/259_100.jpg b/examples/data/Fruit360/lemon/259_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7dec9b899a55b5072c455faf489b1f425ac70b4a GIT binary patch literal 4896 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 DUl>+* literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/261_100.jpg b/examples/data/Fruit360/lemon/261_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8485d98729482fc56ec7561bc58fe97d10beeea8 GIT binary patch literal 4844 zcmbW5XHe74x5s}FniLTP1!+oo0BO>Z7E$S9q$@2{Y0?Cx6M+YjB1jidK&q4wkP>>7 z4uS{~kWfRUOGv1pC4YRLnS0;d7x&(?bI$C}p56I==FIGzS;|k!0&u}VM_&h^q5=S_ zvjI@1fja;-)gSv4ss9)a=uf1jp#jm*(bCcVV-LCz@ zX);O>mUny_b&m1UWiIY3B7cdBiCJLYBVtGM{owDgS3thd=Yg+;|BrDY$>D?ZiLH#8!fnp--%x_f&2 z`UeKb&_Bi}CVx(0u#31~OUo;(YwN`Ao!!0t1JdEqA1*2Y^e@&~{2#g4&bX-m)PVjE z7Zr8jnSbOTr3R5#k@Tf5`rK zU{U`svi}16Z!QeL45B(K9*7M91E(j2@nS$>!H)(hux?GR*|?7*vJsiswljn^=XfTZ z7u6woT228L3Xbr|N}C}1g=bR@XvbN;xt8dIEKx2&89d_Hc4JwkGU1aZ%U3&jx$?or zM2k;po1BO3Sr(z$tml{C=_c%Rsmx6etZ^Zf4@D|ZAY~n55n~j9PV+*aTu@i<1E!Bo zQm6Uu$5Yb+oxlQr2)o2GG!8~EgK^H<8aff`K2JQ)T(VMV`|-Xs_xXKcb1rk7fCSx2 zd)OC$k$t$YOH*5FFxRraaF(A_vgurvmMin!zvHa)vv+<>ZtHTM3I$~en3!$9lGM;l z);Bt8tZL_oaK#79#5B`UGY0K%K9LZ!>1z6op$mh2w5z9?v76l%XK!<-fPpv*5hE&fc=)|VC&T? z7!b76iMn{gT}q+=U#`>#Vl3cpS(hx0cLN+!c7;ChY0+5pz#uvX`U?1L5_6H5ey_nW zEr;bv_(piLjMXuzU3Jx`C)v%_!Mp`K9CCusnXw)C!bnG%{ zPNlV90D}7wJJH>mQbR#y;L7-(A6~W}`-+7E-Ab0m_X2&s9#MeU?L<1Qbki<}#Z*Jf z36sW85k3S9y=PH%hBb-Qnl|Spyjj%c@Xq}vTuKWJ8oKo5!LusA^9mRTI?(V^3w=S;pJ_=Fjp%wKHS=-W^brM_rPRQFWhK=MYNrwcJ(of>UXvQo z2s`_-6@97w48CBE5s%#s=eL+g9(|?FGG8NHp6^bn85(Y^jA61JYLW2Yd+iA1ZqlWd zE<-QoN;kYv%0UKwl;4^SG_eiL*OUJDwHa0rZ-`~NZC4Y=E6zh-K(U+DEz%Y%)W~J# zLaOMP@+{vnM%=8-LsI~n7pI72f@rr|{*-Iq<+1n558sy(c8p}cx(9yMzd&C&5H)iF z^in+wfwm%t@6AH22;d~IFdytdSne@TecqTk_~~8yLD&t61GRlOQmYejdI9>fL;O+g zY=ygD`=I1q|v=Iq7v*NVX#w}YCB^$?~fkq+sR7cRWp%93qEM(w?+;vO+?ivye9rSiSFizFPj$;%7EN8ZOLUW_u?T&X zdv!bLCKp`6zMqbv^9_TB#L4E6he5}+;Z}jsz1-J@NkyMq!r%Y8EIV||6`5%rXG;4a zibI-2UbB~Ntr_9ZTMERMG=E=cC!A*Ftx7)?PMXty+xrt>FWO3p3es%A&a*D1_E3QO zBE1qdT;$(gac15#HdK>WIYmcn?TUPGtt{ZK?X}6e9)DhT)$Y-mj10%CF%Dm5Ma$K9 zmr>q?Y0eC+oO_kwQcJ}C#L_`#3uZs0`1ir5PhgcrgP@A0rWUIyIGDa{cKb${(}G&7 z?K8YyB)oAm39rj=<#w>e=RsVVx91CDU#!&b%QTa^)Jr?A&Z%O5%`buaX;S+8)lb7E zrt^FF`Ov#xjSL~}!9uFRtjyIkA1}WjKDh_cdbfwTIPq*F9IP8E!K%dbrgFLMyu3df zx8R+bC_l7N4my!wqs%K@`m4F3+(=R3(8X;^XFxOnV>9el0t-#w=$BPFYG6-&{yKA_ z0}(NSG{m>qEU^oId(eXKy}?jz-4|k;a|4A&p0jJf69rHz`NB)9_3eA~iaW#s$uedM@9%wBB5B@dRIu;s`^;{p50L zx?MjLz8+Qw{R=@-_TR(Diy=0g4sZ37B2^j*{K%W(tqQrRJQ}R&ow@ZoZCZG z>2ItPk0;lmz3psacL-VCs;0KVRJ-NS;aUU=1S8dpc^E=-ulRB1(%m#s@t7f3beR=dp!bovZz`q_&-H2$Zs(QR z2l;^IOeyM4(Yy6?+8I|!98urduvW5)`O^GyVKwFc1d;mV(D_voP`k&?8!{#xzmY23E;1c|zeMO}-WFA0$Kh}kT@)R?Mp<79BZP~Q?9fImzxeCI0i^agF{;e7{5 zNe&0+merDBpI}>sF=VJWGF+Y6j<0zg0o!O%{)^~L0USIn2uJKi>@_L(dw7%lM>HzG z?b$wkb-rYGjf5NLJN5=f0@5mjiQ2E% z?W5FVAf|~pUS{GqiLhgphcoKp7NqfscnKplpHJf`L!q!rdPc8dT}b}MX&^VupW&WD zOuBT?LZ~GVj?Y=DElwCG>|4~}vk~}Rn`4Bx@|wM`*@76k;n$q{cu7;Lwmx?)d9oy^ z`9ABkxi0!aX>qa~acSFj9X;56q3OYASiZr53`wy114ll=_%%D{y{+$ivhQ{Ur-p-A zMs3si-?RQhSh$>W%*pTX^)RKgUn z2}P4H+P{wwD!|q&9;a!Vc1xPwm=Q_vsS36nE{;GMYjd7Hg$ZUfyq9C~(Q6s4j$^Z( zR+r=4X!ucn$`Szyd-8p&p7j+bHa15pimCUtiTSm3>RZC$5_=ULjAxxtS{OG4_*;Ha z^hB!i8Q5`RKaNL*8doI#_%k5N0(mk+K&V67;B<7pj81GmaY0x^xO~BH%+8 zF_?qs-dHu5A(h$KCkQ*s^#B+K(Tdt9WX?k-!aI+sZDanzP;i(>~ETcp?QoS zq7vQ*o`y>tshqwepI-w5n)D>sh5dvyy66&Zul83W@0e>vQ9}^L(@5-PRtS|&>Gi_3 zL6lO2z#`e70W0qEJ!D`9tc{$b074Cg@e=!8gsas~iwB(u<`ZXv;!2dd@e@1o?{A%T zFho7gjq=TC68~X!UVL`1d_rOdTKe6JfrsyNPqUFeR1yVXJb@5Uy;sU!sOy)^SkJG0 zFvz^8E9vm?<*WR*V*jR)g>43YBd^7A-vO4vlPVoO+#wPANuVC}yLADAfpkf@RO?9Y z<*K;Y3R%U;i*)RDT_bPv%dy_3;->&9s78U`&xojf^T|@xmFT5#?lQOEd#$%dyud_e zB~26m(Hd>o&7f?o%RSd)Z#v}$JRFe)Z#+(3l?LJ3l%yp8lC!BBn+#E&m^|J*;$~S~ zI=*?)&Trl`>AD(}yYFH~)GDL#V2x>8&fP=!&5cN$PBEx4>W+v zhEugHd$FY^J?z?V)aCK~f#5m6xDk2o#SQO$+bnHz_|LN^3ln@zo8tkMx#BGS9imQ( zAC>~JuTJE=j+uF^R>`yBlEeLG&r+B6VJMq62ep@4(T*~i@$`&1_cW!A_E?>S*smga zmTctlOw@}N1O<2rnHrbcs3Q%M#ukPt(0P=&Yd#W2h!!^X467}&#_t8Zv0eAt zZXB%-wJeY5g)-JdFuMB%1Z1a-fX7k#6$`{-C7;sf?!eg1w(M+BhN~`BO&>i?sIhiX zuqHGzQ&4;?X`@gx_m%v;-aM#@FKH5ZJQe9#!nWMso&4 zOGnQ@mBB;}s5wuS4+2p|(@_;uqr<4<04*CGyD;<)J%_Oq!)0I2Ymq6rj3Rd{TewWV z6Cu}~A4i=9U*P89y(oG`Ok6@z{>IH)3W`eV8k$<#I=c5v&CD$>pCS9$sG3JQzf7yn)LvAU+VuD+r1OKV$uN9WhB z?!lqqkx!9;&Xa3}X;SU$h znLugmq2-YP+wszkQo=POm3}T`ZAfYe zm{fj%r2tXUYdGPNhoN*t!=(><<5_tPqr>4lYa+DTzem;vOySUWJ9rB5q1|>?x}o`j zb4?o7v%GJ;5f|H#Ox*Np3o3Vtj@f9+NkQ+TQf=^U$9@ag4P~O`9NDBip6tdtnP*1< zJSI*Lo+x$z{GfH6@+=&L0<;)6IR*R4Vu|?A2NrT^o}*jFekv`8{5o%ux1pHyXulkT z&`v0BL{|UBbeD8NW*4L?)#`YW0w`4?Js9~+ru~jyz`v5M_YxQE!gNi$FIDUvtBT(G zHCeT1e1vUu#a&qBVU!@0+l1w$z#(G`eWj=aH0h+2RJ+poQi!W&{DxG0DsN%Mu)_qc z_hUAb%kT45l7WHHQA`ZX2S3>}|7P7&?NV)}<4fl2lZYp4kKLu!=F{;Z97SLP4}pJ- z@4fn?%g}c;_fvM|7GGG~Y$gikv@ABT(;IYpToNRxuI*+E#Z8Bu(`)yEO?gZ;bzC_JJ1NrJUAd1O0sV`4_NEbDky z(}l#)8GeEEW^P8g^9OjujEFiUfy>M-GaHaVbl{ObiQFjgDL3xr{K;~(#i$=$Qw2_tXM6Xn^4=WV zw^xK--{EV$%=-2oo-K;7mqs}~!|R_NOWYMEgS_FKlX~P+TkN&)8B|SS<+f$pA&f~y z;C-+f*N_L3O2#1Qcd=5AeP%$S&XL(8ogcbKcgefRrh6cu*DHYEB;o#kB{=a%|JtS;*#l)#mf9GR{mw9rVICH@1rQw^-d2!`0J< zTJNKEW#HCoRbf+Pd7bbK+NAs0exEyiyr*J~T$v;bd3n+vwW=z!jM9-ryC|AKAR< z!_rhmu6?O31Gz02FDBCgICiG)AN#-u%8F4Xp|I^{e4>i#V_{qsF6pT?umsVXF4|qj z`@`HZ2^Rx9F_AfZq=KS`{-Q#yG4Wm|$Y-ZkmxN7P!Vf&YNoXN%C5vH1>fUZ%s!@}} ztl!XJ=Po9mU)e~y&js_g6g;-P^J;d>=D0A>%vdwLDO{h6xI*S+YA-J*yPkH{eoC^c zj;D*{WLK$kX}oPzcDua(&7k}>oq2OD>&!WtHFy?EDAXQ?K9xc=R(Geo?lZCQWn#}~ z;Ac1D_b=~OaqSbyAU+_BKGxg(1k)f6oY}TMDJG|&o<1R$J?h~qXdepAX1TM;np>(< zN|1;mM~;s$@gg-a0`GLi#aZq^qK8M5B?*|9l4{6lFa=QdyI0lbT%f!;@behAl-DSL zZ7nfSsL~B)LC)oz-FhhER8ODoqO(heT|a{YA2h3fd0~KXx|!wW1xS9gYc5U0)InZU zM@G=}KbE`hAUwx$Mvr6qL%8|$EIxx?cwWa`YuAUD zbM%;^Qj2NXDz%;8dhl%Rmrs*bI+v`Z(Z20BxZNOIKCx!6Kh_M*h&7e%RgtIuDt7)w za9*`vTWj11L+<=^_QnDAA4it!>uYM|c!AnLtYiJ1;Z1V|*!*DAN{54xJ<|h=)Q;`x zm8*Pi=4pG7$RwV?MaM(Jw2H?<7&|NTulwWh;Nk$sGnwzqJ>zA+G4gaNcJ+r?CXhbD zYj2_^YT24Vy*uSjb&o3bCiqhhUoR~ZhDzN!6$6=_h*b%YhQ(}xtn2#phlLNN?lqqR zjVBbvQ0lS1LBDnk^)v>LYy+3Ege8{@J^P>PufQa&}`Z7LFf1tQp zPYwL0RSe%8o=m;x=uU6glRnN-0JPe9giW;%EOuYBVQ3@nh#aTgKWlKJO@P1tq2~L$ z=22zzCzWh}!6@7t>UF?ETE5C0K9+NdXjUPmyCB4(6DO?lHs)E8kbTW>uetu4Rt~}i z2C8D*+`E==w3=lb`JC^xhyxN~lz~_rp#b!o;doOk6jXV0U?8+ch*_?b7 zz`lOq!Pt^dyj#6eQ;%}=Nw07xXez;ScXp7TtHhNQVm#3hcA&j}dj3RV0m}aL1pnk6 zj`lgi_Q-uVQ|i1KasW1OyGCnjr!7ztjFEkeR$H^6k1SSgF1b@pctWGlQnIGzYdh&4R1D50Z-c-l*un8TQ{~< zJIe#v%x15$DbXw(v+UzW3Lb~-tD(4K!-vfA``_~s z7Td_aj^xq4e2py33idI%G=b#}A_6~>xXj;88>-HP`>+_ZtD!UU}01i--|FE8FyIQwA z<1eWDi`e!`I7W%x<$c(y=X3~XT zLXu+{0LxTrLhGBZT~?NZ>=;UQcguy3{_T^yS1obnLogn_nQ)wT$k$>r{3^m1m{L6^<>3@kAf^v+7y)(~%sR?Tli_ z9fMrb{n|JFX3mO`EN5S=zsn%Ls7bU%kE6}sgE_Z+8k4roz|}8iRDvkF^<;t$zAkN?_(=tFS|^^*!tg{KYI!wK4@@4b>d>S9F%Fu-8Gm(^(<= z6%M(MN8t3-J*160Hyw0qL4j22cIkrB_-}%ehg+u>UlM~za(+(D(Lh`Sm;Tlz!<@aP zUJB5PxV|UE;^*l$(N=7*YH}04U{gMP6cfPxe047I^S;EY%}u3uEfwKzDs+cse((mR zCsoMQ%aL~!e3P=n@uP)xBX3>Vc{yQ@eF^B(GYkA>WvucghQ75QPO)G5xrpCWC-RGw zn%hgbcc$4epTD_ZV zG_)+(d)pGG3Y5=ggYhsB1K=w$Ew$YSxCeSQh?PUo$}0Ndcp&OEi+Vh|b!p9Q89 zUnXF6r`)ekmte$Kjs9NU&I)TZ?K-%zEC}6x_RW?|<$FD*1J`qUUl$`|gXlw;CQVMt%;?E=DXue!ja%*^PHvKU2k{;QkvY61#r(>k zY8gr8C+QJ0A_VESq_bTrC*V^Y5ffV!k#EX%V<;Wv5W66Fbw%zudxky32kiAd+pw)2 zWwdx6{s9aCFX5n}Vnlog>Wo8>P`gErt7)#>*CJ-l=*d9!Y4ww-HP zmj5rqwBfn+(PAtHE^vAwD1SaM;f4IYWfm9y3Ob^IJ=Qv1t7kCpky(GT+}{)yfSEveJ>Em}gIyqDNZr}Pcv9PpH<_xZD z)Ps{$afD;m2+}TdJi3Jd$yb#L%-`~H_<_@sKb4EJg35ef?V3&Us>R7a6Orcj&W#m~ z38I^A>zP92a~?8YP>Hgyc)GWLJiJXhx_X(T>oNMTYv;RqE}o*W;E{rNBbZ62^#Z=4 zr#bVmg!zaI*Xa|8(~;OxSJLYR(bB|xg`G&IY?S|#a`s`I^em+PL4>9;`Jo(wx^>%m zWksD-M@L;UkP{oL_9R30?B&;5*~vCtIWHDid0S8-aQLqzX94a)!fJc)06NqfS={SX zi+MDC`;te(-g14j>4NIUOmB!<3Qt3h$5~FV4Cl_IoSI`01)!~@9y`!bQ_^n9Dwdae zDkg#nn#2%$-qgYQgusi*#)rnN!aOM_U!XA$ToWwU_(eb0_db-Ag&uNSR%v%{-{M;0 zhefBY8U3hDF|z#mRET_@?*KeZU+jD05o-LsFvi6cIrqsnMykHz_r`>UfZSbSo>R33 zuHyzXvg-T>>z5FLqUWJE3R>NqTpm`~*x0@`L*L*r2mAqW1AHheoIc6^St8i>YWu#& zj(cFXvtMs_P~%CD+k`)SbX`0Ty`hr)=coGbSBJ5CLR_9>f&$xGaUR89hbftx>pmN) zo*wEW_WWE<>zbVRI8jo+R_Y>xrNB+WcxcNdHxEr>5$hqcrH_cO;o`}d@p_S) zeNv9EifxQCEG%Dqw{`A#O_=3EAmo}y_?D7c(@;qW>I=XbAKl2hA#q|D1fOTX1oWBA z>WzjPAq!{p3I;CfSL!Z3ce^I?-Y0u5T_mz454~Nbj|WL>m=^Ha`)dzv3wmS@eI9;P z0vU#z9`pasM9pC+Kn3@DzGz1I94zvn5!c|#?eQ1cTI?WZO6m8+llt?Wm)5^`JhL3~ sH-`T`RAiVI?3ikwT1h^Hv%xux`>Utl9oJ5g@1n&^pkVR52pDDJKWofy00000 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/263_100.jpg b/examples/data/Fruit360/lemon/263_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12736cb86bdafea5e4ca177f1f482a64a0abb6af GIT binary patch literal 4865 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/264_100.jpg b/examples/data/Fruit360/lemon/264_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c021d491c6ca1c23e7dada4e4d3dde51d80240d9 GIT binary patch literal 4881 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 A`v3p{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/265_100.jpg b/examples/data/Fruit360/lemon/265_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7faba4e9cb7c021430e50b979e3df2b36420876 GIT binary patch literal 4862 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 i&_hF#bI literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/266_100.jpg b/examples/data/Fruit360/lemon/266_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ac042626329ea9980f34848ad76e46849206043 GIT binary patch literal 4845 zcmbW4cTkhtxAz|i9T7o_AP|H|M+AY;BPd*^I6FnXMzajrCcku;aV*p$MR}hsDK+Q%4Vxzi117M0y+JEIy#Qw*q zs6jNebo3M%%#?tJD-`)45JfaCMKLA%IprLnVWVZgA*)Gu)zq0@D1bxm&*TCIVXeQr zIL*G}Aa@=IzGP(L;=abids9SIOk6@o|C0UB zz+V2J$o?PL|L2+pE`g{h$pf(gFn~lXM2Z20m0PVf*#%zjc}MD=b5@sBNlOo-_c(>M zd8G6=0Mr|p*Z$18Bc3#gc^Szzr(e3^JQTQfZ#4_AYgSrugE$<~$%&8A?`jF^UAxmr z{M&BO=&9kMpEf~YPqQa8pKZB4kzGXwY2ta-IUwz{{9F?scTz`?!P(7W@$|7~2PBKM zarxz&Y03Y*^KUyI_8J*sD1no8Nw3mrCw8 z8R_sNkxTr4HSI%6M(2}jZAjsh=z7by753EM@;KZ(-w{xooV~UQ9wy?3tR^KXX(Wf@ z{KXVl=s=sy(rhD>&BXS^VQ|u*IN3LsJ|5=PISuZe7je4g4dy`DC~!2KtC@TK5}7p9 zShC_T2n@%MhHD6r=PrN->+W0!@1TggEqD$l9@p^*ZOPeQ!7h-L@v-2$z$(VR%etIH zx6&2MRUsqqDr#&}7sluRUK@Y(Ec%mNxrfhBF6&Pn)uLG*AlPZK3re$L;LuWk^-TpCe-6x!^`&;o4!_1 z{W=)?Flp!WIfAH9N>;P?D_xi~tRUQizf+JF@_=-|*;j**`uOi|1iXsJ967z2S2dLD z)uqiV&aSl-sz&`v8DFb@Qbz1Ywm}L%?Q^C;5tXk(jQsYRs)@P#v!vj{+6YE${-p>5 zTx2eGl+HUgtYoXPJix<0A000zrz(IBRL78NsuZM)9*7FrsXhwpsBZ) zT#%y6R3SIi53t(V;TL8MmnSZO%N^YMg`OCutc<4Y(8RDrsfZobqeZZppk$iM+6@_=$Ea>&^eK#y@Xn!~}nU5i=rmdcGS(>nFiQ9Ug4a`^(7nW+jbIU(d zY%w^MmWIy|ERdt(Wmh>G;56B1z*EMKvY!=#5 z=FC}PY+XE3R)-6lk4fLkG^nU7zr<9diYb6kgWnt_NXa)1)ecqM3)6V)qTHQV*b>Xd z=zP8Ui;`dtUt$i%Jt%eg;DKGVzGTDj6W8hX`rvKUqb`>cD>ZzlZ}n+TMqTj|@#pMP z$H|__x?=zys`c9L!7!J(pA`LrU#N$Zi)>%^jQwwyM2BG#G98(rHAYBjXXSHe`SH?&H$JzD$xp7@AQS0HNvbR z`2i*aF7N?qvbT4IO6YJwjjTZWwM5ThqWX3IavMrTv2JVeFkf z+LsBl)}&w4d2&EBR~JHxp)g4U)Ey8~dz)wLdT;4?!2~*^)u>`dPU2DTjn#hjuzoen z47c@dTYLR5gqU8T)`99%OAv%?d76sH_BA=m>Bo7w2 z>(bNw+pdN&) zPuIbt!J+|?0bv9zneO_Bs!@tfVz`j;)=$B$mM?TVi;8$U;FLNSP=~siwyfCr};+5^IWiR`OSu$CHeq zcg1((TlXD40cE3F;Y^1YKup$7xWdrQeXH5oZ>zJy)uOUG?}eb|R}kthkVl{wDuFhKUr-C7hTv4|L9r#czNpCJ-ZE+^+eoo$+FsmN zGz4CBsJ5J^n5SszwUyE_ynFZ^CfV86gLmrrnxhLxc)`~MpC^GjPT%tP&5DmYJ9<=1 z)nnG&^69Lm+1^^y_>NeA+MQ9@p)^f3%VML7(J1x$=!e2iSBIELJB;adkQ>Zosj zjWCZADF_^QV07Hjv(im|l`)f=r*ereJfh*S1G1Ni$=VIM=)#~J zw!~TM4H@DURcuTVD%7bDOx>W9p;@-7zyE}l%ug$s#eUlC=E~uaF z=VXRIm)lJ=Ni9jQcNIjC3$|k@+F2$v<4>g_Bm=+y7lG%JXW3n|5ub8QjdOQC=GYzE zMT&!=%kI>9u-5_Xa2q@L$^|e`cVb4V@$Kc1@N#QXMw(i~MD(52i=)zVr zh$(3|A$>&s?A5N5=8NIVu^bPYG@+wk=Bsw?*X{Pm<4x{K`Do{~@%Z$8QV5A5#bzb#MLO=$*y1LlL2Ytq03D2 zf*;a5QTfLcm6Z!Uz~e+=AUI+LlNw=xDMBC;{W1^e16dGc#Yu*_k)OiX*|xu_8F`76 zDCs=@pr4_<7N5!t_N*8>^HC7f6d8fpwQ`;8xY4Xerf+xRbXfivz5r;Y$9(%{HKHs0 z>4mv!;AjnD$6jAA*}GA}v$tX64bMu6S3q4^NeQqgpDzG`e!!CmU79KPc$a(-o7OE$ zXhvoV7~kU zNFPn#m2tIYie(VQ-LY$&PTOntY`UWS2$mc49>d~R@$Ir!^t+F8a@T8M={5~Nh2zts z(_>Tx;KW}ewS&!S2m|wkEWbloxtK9$S)ZYO@zdC4!??%y?(LPdf(VwC58e0hRxSZI z27ybjk3c}w*>*~{d6;1pyTl8*FU@nOycy#Un;Q~x^ceUpR@T~Lo!57EujESjxjt>; zZACw@zQfH=_x;bKG6aj&RJFlN?o}nzpDm(zz9w#ApAUj7CklqP_(v}l4Fm7;)j_X; z?aJK7(^9s~3e&4%2yv#-GR$HtGWg(MHNw4TXs(JMbn$hU#5wKJjuLlf_Y!^2lawQ@ zvx)ccg)=(akTPRqP6%J{W)5c7O8B+jQRm4DDE#N ztR>-!`e5|}sE=*ZC~xMEn<-r9ICO|%^2}wfP8s6OB}zMva3jQ)M5y3OO0%OXoqB!Y zRQ}AWpG+~^`5%p1k9HuLZRjZ=a=w;l1)(iJ$=S==jdXOfbeI&UB zm-=S?RgshhCgm8$jt@~SHKD!K$~vD-sWqkx0P1$2&P(ZEGbZa}H6~b-ZYNfv2aa?7 zmBI{S4&qi-qo-QE23kc3=e6rz$U$StwFXSt{IquI1CD z?_-aq+}jL2SWiK=bTuT|2M_HYSe8_aq=P;*vqNpSkXXK`g~arAJ^DLkwfx7v?j~7B zdNh6~z3H@Hw8l7qU@;#0L%hHWKG_{F@d9RddH{}v1~{BTQ$*H$B)Hb`oQSr-#&@Km zQQMo5!EZ(+aRxckW@%}z4KPn+saWNm*{CIGysU0I6nis2ht+#k%>~aZOHSZiMuYQH zJ26Q7`F@;A-F>`~kc0qJ22YKXIUys}U|ju2!Ut#O;4@6ot0iTLwqdUFZpr!Zyv$`8 z?#;%G#PNCg)Y{|6dYo&K5Iks$n^ovO^$`;t3~cTYgTlkiF@D&wdQY0e2j_oi1wKsj zCUIN_zVf+uS}zIE z^t%MGc`GJaofw{NMC4z^KQZt5N7=Y|UnAM*VJ9T~0w7*-Au}F7D~=)kt#K>VvseB_ z>C44t!F0Z=_q2L9O)SlmC!5uHNrn~Sbbl5S?6n(k`){6p^{MhHu<`Zv9h10^yv@N{ z;(*$0>!i9T-PO;k?FH^V_Be1yWG~kZ4TcWx+p2TlZ@syBy2W9t9h~=vsWt~-9bbQRcIOzJNyMDiNhCP29nEvM#`o|;Z!H;o*O zqKc#rO*$zh=;cAaBjEQ%7POjva@M1ruk&|9`53d-5IB~JYSC|!l8rl6^(>OhtVl%uZAWi#fIhAD z*fUIBWEYH@2tBum{65b>P{#|SdC|O1vB#di$Ba+2-xg)E#a&&kPi`$gy}N2+uFbi! z(h^B$QzmMldZH2cHb|{6kGi4*($GAN%7$e~b?N$J5i%f$13N85sVZjLb|7jLeJ-3{0#{%q)NGY;}&6<=mgm zpGW?46+{mP)3Y!#F#a3zzjCMF0US&K8-NWMcpU)Z0D?Jyr)>biGoAGR$~zPL9|MBG zbo302XEIpN0%|Ut$p?eaMAM%sK8p@KI|tBl&~sjsQDflJwPd{R&Mo^UK9@=O@2|}~ zdIQ@cP%DpMW)|LyeEgSg+!PhNC4NWluDpVx(u0TUF!&>l$NEnV42_IUOs#EfU)b3@ zIC{SF^7irddmZvNH0)h?L}Wr@QgTXaT6)H(y!?XCg+;|Bl~vU>nA&f3^)0P!?H!#z zy1EC4hDS!n#wRA{2@8u$%PXsE>!h9CJ@WnmG~ul{o`8drO_G`PkBMUghcPpO`hxO z{I@k$0q8K4!zo~D>p3O%Ae)7v>2otHH{zUYkyOw9_1HPGx=PlgJ#;FeNxDlxUeXua z;@x;?Rg;vln!1dS+P?ogE)`j!?6x+KtPftM2eYhKd*Nl2C=4t z8f)!8iI^5|uYviK67e6lxAr$rN>sSkdrGuOpshA{@#I7;5_g{`cOD(U7(*7CTQcT~ zz7id|Z1gBmj}v@CQN^0LVZx{twnKWg_)4~`1&RSGpx-o8K6Iu9JZ?KdmL~d) zY89?$jbJlWdbev?40FYyE&5Al$HivL2~LZB7#a(z*%-+|ncSIGqoC)f;#lxnH7b)f zyXCA0B6D{vveRcaoz`PS4F}0HcduHj4_h=;fBS3u+0^5!B8VrgA&97>*|0W^8`T40 zLhsxCDth+KP8w-9Xg`o5)dO;n4>5>l{pYAc2dG9O2m@9YIT__+yvioi;dBIToxNI+ zVPzfMXO-yvINu=o6o5_1k=unYD;v$<5bIBYh`4MRX*JBaZq}Alv$m#BygyY2ur8p^ zQ6Fu`<}9EY)+78sJEoMn+j$DYVf<94Rk)Rm>Bxx`KTKEa-e)AMSU0D8LY102xBdma zd-?V@@hv6MRWjefqbXSb{XR;SR4Y2Pa&=O@`*U9T3%qbc8lm&o0!|x9mg|Y>(Cyjw zl94mdqnkQJWp^5~GMfoTg$X1atNpnXl(U=VWuswOn|wM(39#kYg+ht;#}35D|eR--25TXc?|Q$B@=l?+X1{t4V5 zP=UsS-py%qfpog_1{!fhmMoR(#_UDA5V;%7wtQTOIb&GGq&eB!6ru4$i8I*;L_MLJnGr$&-?>PP$09GlopeMQCA zsW80zM5jW9_cFxK+8oo(|9#1`nV;r`aZR$S{KuwfIAhs#O=J=WcPXvFn>sp#bShO3 zkB|?MfoyQYfqwToOm;z>;?Y=oz>|LKW08^pP_)W6nfM%shUv{TZ~7h?W%};WH4IJO z|7bCn;PmnXhaS%YgnWOUr$Fp;pT{X6SeZ6niwBbqs8Fd`vh_(+c|+I7>fNlA)Id|Y znU=E5OmNKiOxpOaC)y>>=O>5D$GJj-9I4V_E*~N26LM@O&xf9 zTz&{Q#~LnmD)cF!YbrL0za?y&8j|4LGSvxnt0fE?)Y4tyh1%$?06P-n)6p6U9lz`& z*e=iCrRT@_0I#iZ5+olb6F761XgMr_N+VVvL+3FF@=x+G=6&2s;gV+rF`Wgio6E`|{?#hJ0S!;vgyX35A@HR@v#1wm~Hb**DK z>!p9OsQ2tT3f^n_K~vp&1bNW`<8x19vwGF^NiWwFo>B2dGVt18^G0rc${;N-(|2#= z%yoVwJWBB22vc>8Cq_z?JvIiFbZhg4Z6vrOnH=0+F{<)#& zf%&vyvFNKwN9|G5iO%$$QsUuf*K^KS9&YHHIaMLe_l(Gm$uqI8?MS*v2B+fNma%5` zwV~B^9#cB_CBGvp?DBGRHWB+F`PxkW11tzIGwiL*6-nL_@J;w`KCKCQTnl{$ZG~!I zdTJ#d1ab@aKZ+e$QYxn%Q)-xqwHgh*X^(Rcq_1hXC|$7=BpP*7qEZ*{tgFqx%s`T} zrbfpGAPpvyQ;u1i{(cO?7xiM+y$4SLfi-I=)s~LCXiLWj?J^eau(=*QHkDwhiMVfR zRs5@^l^<*V1Exh5=rzP^xQ-DdU(AwPboSs17~>K#ZZE( z_jh}jG2ZjO0M%|=SWmXQ-uiQ~?ai$Okry2G0KYCP_IU*TMx-6a zXEoRNYN&r4l|#y?eh}pven&wPe+So(eoKm_Yqqol9D{&V$Wc`DbikKP9VSuRd+lfg znuDM`;W;Sf-rKL|%Po?|QXzpV!!9Gl&q};VQ|3)j>sK` z5TeVE|IygBPW5z;4)%9P1W|VXt`NQ5+9CCDk+vaN@L^JKIRkrK^9(l{{@xSm4Zy5`9y1`fL>MgHX>Fks@Q)gE4b&eoi;+}Nla_z>E z>W;j!CgHG#wQJ}?d276+uYew!MRiiH=NaCwKkwvA-TTDrQr$q&Z2xV>6|HY0VIRw4 zmO24?yi5zip05~#WdnPk4om4i7P65H|JV}ZxJL%BSnWyfQh}@q6R1p9D83-uGTsut@64%5^hr)TA-hmVUrd zZXrYYgx>X&)w&j~MmE}!B6xLY+Z%2Fw7$@un}NIFM~H&kf1y|$k+)BpY)DDc7vHJ% zOWD>XI$Yzm|M?($;spqohZX5rGE*%u2~3GgUHGZ4^h`9$!@n8b)VX<{TNg3bNjikL zO}?z}3nQNwm}%+qvA!+V`SEtB+KJOnRcF0R>1Rse(;=xRt~FVC@##AEJQ#=K5oL1Q zg;Z|vTs=jUU`G|jxGiXrn5Qq;h|d6jC<7CR#YBUA(Lp3G;o?l2wN_tw6s-Jk{1^}D zwG8^X1VinRAg>Ei-7DP~qrt;E=mpeUF4NJY%uV@lnkDr?uG~+&#*MIC5qZ`i5sN%k z#9*1phRjEs@KSbl<*~!H%%vK)ZxchAFNaX+Cz>#~at#f~veTQKY9;Ry-I8?C_it${gMxFqb>C+3?+0HB~uA@-?Tl_<1|SklzL174WsEdsL^CQ^4DZ&*@nOhj;gWF;h1n z<|I!z2NR39ooB7!yGHZd^`1rXk0W)|u$Y_4luizzFwbTOM(PNTp#t)3jM0?BC^fA~K3} z0r?E*0UYJ-%A5f{ZhNW&QLSBC*vC93nW#B*b=)~cY$~8oAh#v111C+D$@L9cP;E08 zogWL!n?;qab4;54^$X~5^^0nsWuF>iz~^_|@qJ(avko+yD!*;i+Akg>-i(|QFJf>? z0sL5@i%wY(+DC7om=%z|N}TOaO<$2u0dI;ag;D8?w=8l~)sBaJQ1jZSfT+qtfp~Rp zBVy<7oY5^(&b<6PnkL|d1h9Rvh?-n^7r`f7S`Y{!FE;a%(B|Q zqUXQNu0)KPn?Nr70<;l#>gzic!MBp5!Yr`tQuFWAAHqIZxGLE_5-*AEia6}*qC$QKsG&7b!adw-MyldR zf%G0qscpSxZ5f~JO}RmSONoxRm8)a@+4YHtJjAvpJLURHToZKKIKbiE4Z!WMC3I*`GSty+ctO(eukewh2MB0NxI22rHXe#7?VvgX_HnI1a( zpZQtemh}Ll_WHr9d|U*0wB-rGk@y`Fe4iOSz4s}Sx)r(eo9@z50S`(9+4tQKV~1cA z)vL}QE~}UtY%`p_Ks6}Q5S{d5ug{Okn{2Gw2T<7OQIqKXh;6$TsR+|eG(##u;`!tx zO-r1hu>3Us8K%Q`8k~Gp?Nj8ghcXU)+u+U`9QosjP59^TCF4tjp(Zy!5ldA+Atp*` z%!p$~WVe9UR!iK(2He?DB+9$7B6nEo(nCJZ(qAT)p2KN|(mIYuoRJW+f_|a4@)r#$ e3HFulkqyGl6+>;E24`IRSrQFx{^SsKI`Lo2qHPlZ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/268_100.jpg b/examples/data/Fruit360/lemon/268_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86d79cec834f79383da411245b5dbb3c6ff85f54 GIT binary patch literal 4895 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/270_100.jpg b/examples/data/Fruit360/lemon/270_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eda62aaa23c969793de7f021b414a3cd89d73c2a GIT binary patch literal 4890 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 HLY(<8mFQv* literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/276_100.jpg b/examples/data/Fruit360/lemon/276_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9ffb886e2012cf0b464d57ac9173307e3ea8df8 GIT binary patch literal 4849 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/277_100.jpg b/examples/data/Fruit360/lemon/277_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..620dc8f1db0c78670ddd6315b871dee63f356f2e GIT binary patch literal 4885 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/278_100.jpg b/examples/data/Fruit360/lemon/278_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..32575ef62a3c9030575b4631226405a81f61af45 GIT binary patch literal 4892 zcmbW4cQl;exBnk?ltlT&2qGjwbfS|;d_)j@5G6*Rh+d-vqmC|mv=qSv5fNb!y^Stf zMDJ}ziEc(4W0*VneAoK@{<(kLd-t=>Ue8%)pJ%;a&pCUabx2dBC4fa+LrVjopa1|0 z@&k}&0X2Y<;*b6Dlz)tx>W`U%C zRMa%IAhHZbazHf;Sw0mNSu_n{3sy$NI(0r_=ZDjn^1Y&AtZfj@n;OOM+ z;`7qi&mR^L7#S5E6ZJF$LwiSOS9i~k z-oBC1vGIw?sp*+zG-hRWZTgza&>)PBQtKX~QogYT?d3gS9F=w946 z;GNOwsvKyLK-%Y7R9To`zB{OL2j}rxVYsC85lj1f)5?Jd&pQe&xvuCwmvpEz79(mX zDW3FbUnrs_uj3DtOI5y_5Sk_8v$SS^>fzv`fxN$zAhF7VnMMgEIx|D3MWu`QQ1FQq zp|%G(L-k|=zRcHzN1^3gl0os;3dcX2@g*gjfg>r|azAoIEcR6{7?{triC3Zz=b;u4 zgh#K@-cw;|N^fqV8+t3heB;{R6gq6y{k=niw#)PPp44Q+T{J2mM(w~eDt0C+BxDbb zrJAV2q~(tWgO9DyDctsT(Q&3TY3ZmgLD7>2cVsi)Vre^3H09$yuKi(um9hDbLmE7e z0NTHD!C-XuAlM=6I>>VDL;K8FB8%zf2(yUB{WK2>5)e*9bp8FaFf?v1D$|xLy+7H>%V>%pZ6h=(5F83UzE97$PMfjDsFvQnh)ygJ z`kXVW!jfUnsn~1wF+X1TmGE~RZdTa?`7w2|o?lE=o7lx!2s(v$Lxp~A*sV<7YD;r_ zDMC7xx5aB$@yBmnZ;aQ=az*WT@nypi?!@G8On;TBaOyMb2UN9?0Nex1^D?-zt{O%% zVSTi;ESAW3*AhP}{`7tDG3R9&N?NmUjEXM|V0Xj&<+uwRk^r|%&dBsyuU@D}wcsoJ zt0NMukxe^mWkKt!ykX$lf{m?XIozb6$Kylrg%7@<3*W;3(_UD&*NPy%{Wb%lZ*rva z4JU?Vd~GjPq%FU3;eJ|M0?)I)%(*M*m{IWz)%w67@tKXLPqMDHtE4oI1}n#pIcdm! zKV0DP27cma+;X$@1#_+Ce3dhInDlMVN>7Tmok_Xp6GIvejjk55$xg2pQtrw+=!I^E zFA_yDwy)Q~<>j4v2HKxfPsSG-XM>z3bwjl_Aa|;=#%KGFl-Pgm7-~9=0?B^ZK{a^< zi$+q|3X4>m5_o2_K|T7b*c(6AR%}jZ|IK?pHp6)6${fy>XCt`4{Ys~gTS1ZdKuBs_ z+hqH5uyEgA9|`xj)6;B!GY zd z3f&jnbyCm`g^IbEAK5m;C(K_k)c)YJk~0;eaRq*UAKC#2zub@Z{-bpJbJPhmT~`5 ze8)}wXLM!W)0wM~)R=)(DZ!6C5jA=5A6*u4w|Aq!rDQ~AGhr4`;R5lQVnzu0uMphq z!NGyb#|qE2_PTB0TlczD@vm*NCN@cw#o6m284GmE;O;ru!LbI9t znOSRF6Vj;lfI&-RQJkSie<2C@c{09Pb(W=wVuP8BS~xqpKe2rHtIW=frCbTKdcENw zn=lDN2Z@^6=IodiCTsnu%?XsJwNN@1wa&pL{5}$Y(9>~p_n$Z?3F{}73sihmb1U|m zp-NQo2h3OXx&8lYQgCZmkXq-s6n2T_?%{PU5u@rmZo7f*(l=hKx2F2A=Qg5Xx0Ojq+8KzVieSwo&liT%%c~?Ye!|4R>6Vz=ud?M z5%a;4Y`Gc-Rdw~MjXZVyki(*gcc;sBF*$PkV}=Q5Whl1L5Of(O$Irh?4EA)pb@sH* zH#IlA$h&(|6PHRpt7~c+L-K=xF?5CcZGv%4y7xMRngY+MDm3?QrO4kA`*c749$@nx z+<@joYfR!oN{N?R*fn__>f@bXJ-d@#7658wAY!oY13kuRV_luLD1%u}f7bU zf(_Lub`l`YJliDXmC2B5abR`cdwIA}t4w>K4dN_Rch+;`*#-9nxL9EO!f(orMcDIU z0R|lT*~Oi48#f-u!R?bZo4hMe#{tNvW@8cS(9R>#v7+5>QLEkbmhn(>yo^kJveI9 zacO>u*|rC3E&g}9bY#1I^zCc6PMU)j{SNOpl}JVl&1dhH6l?nX^Q|1Vr<(>=<1B7C zJnKA&T&US~%darIo!a{xwqY5YP?nc`MdlGxtEVvrfki@T==5BqrU;6%>vjP>T{$r7 zY3`=CXqlrPmCO+G=A)*qnAkcMhYKC3q;T@Po3 zV_4f}WQHn`zh2-K{5t}(QCCB6;>RQ9zT!i#-68=UYn!{i4N z&})Vb6&Q<_VCuSk5)V}nnmV`6j~6AhUZ^V}5?gpabg3}P%`+`LPtz%CylIf89gHXX zVX(-4MBE#nY1kVBiB+*_k!kLwHI#+uLGAHAUfh3w3;oYzjaNnan9Ti>Y#jZnPx8lH z{pL_J^n|)HCdP94T7w4(kSN-)=5i=+bNCrGUw?e`ASmK|@dsKB35!L zuyASyn_M2p$2-Qoe{6CClbj8YmYy}5zopBzIZXmwP~lSVIG-RD<*J9z6*xsQMt4(G zYn!qZac?a28K)(Q8pYmaqHhkrZj=F^QMK-*J*7z=!>3h z9Egbj5S6I-M5P<$2ww_EfIO7x&-fRKI;eQlb!={p2fLDS%3M1GUs;em8g_{6B>__; z;5Y;uyW@MN`g@VK>82xpak166tm*-&G;y~Ao3*}9sw#?B!K8tLX1F@y@&zy6br}*? zl@iOtRIXzsqh3zFZO~0p7|`Ag%0_gf%9`#h6EXzE+P_x6THm0$0b$kfHPep(`cwNQKE7G8#Xy>qbTp4a70NtOtdpgl`>+v4v#^-w#ktzGU_$X(;6-bo$L(&I;Z}T?>`Li=zEodAXtZYiLO9ZdK!~Yb3XURjYAd{n@7elaP{A zl}<@U*QE+vmrcQ-He}kJT!+;N@Nn2DRnF2lL#08&WczX|f#j$WV2NCri#nNcK&m1%0*2BVKS%h|)nd=+J%$+E;Oe;MkD=VkoRYkxfgztCAEz)6+Ta z3EfF(V)9p@tcQb%ZZipNZ-+%b-Ux7`)eYj%V@E1|DLfD9fr#IAUGUQ^fTef(Ebuil z=?7Q<%zxj5AY2F?E?HrtvQz)0H&Q>z@xKxV4DqkklYmREaFz=>Sd1hnSZ;r3w;;$% zC|Rg9-_gP6mlqUC0`|3D;Q6i*d73NFKa#VqnSuUj%1=KJ@3MJ$(e?u}NAU&P=;X;E zpI{CA`O+Sz*a2t{ut z4Ek6(?TY)(Kb(QxOnP<7$2!~HSDSxfv$qeMES=RAR#K+%yh?*5ON&)VLC5jzi6jh)%~eL-HR!99nFqVP=on={ zS4cDY*Vvv%gwkIuqN>*8T3CX8#)zuyAC?yxx=KywoC2dfe;x$v=OwF&8S-g7N_x%4 zgOFo;>Nx=o%k-NULZ#iU>z5rUw#Rvv3gl0JKlyO%avlx0LrpV`JXUc;gcDR^Kj*wJ z8e_Fa@AQW(uMZ5}FdEA*w>(Cg=f|HjNhLnb|CZ8GWLRicuUoTdvP;fz@)htkn}Iq2 HCr$qsrkH&{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/279_100.jpg b/examples/data/Fruit360/lemon/279_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ef75528bb040b73f7840924459aef9df3d47bbc7 GIT binary patch literal 4896 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/280_100.jpg b/examples/data/Fruit360/lemon/280_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..783aebf6e8cd6e354c438538b08eec8c4628e095 GIT binary patch literal 4883 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/282_100.jpg b/examples/data/Fruit360/lemon/282_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b1aed46dd9b18f97278e106d2e156dcbd58da79 GIT binary patch literal 4877 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/283_100.jpg b/examples/data/Fruit360/lemon/283_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a96b0a12b68852e86db61f6990da80c60b0e774c GIT binary patch literal 4890 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 a7G-9&$EErWvn@1d9X|7`zyIzT?!N$?zKj3> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/285_100.jpg b/examples/data/Fruit360/lemon/285_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dbfdd0f50cb139c44d3aae517693b345e05a9e88 GIT binary patch literal 4923 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
      wm6^kIV@TM7DU9G~>(d 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 CqiVYV literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/288_100.jpg b/examples/data/Fruit360/lemon/288_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22a0deff47156b7a2b2f259b28a9a590ddc3d030 GIT binary patch literal 4904 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/290_100.jpg b/examples/data/Fruit360/lemon/290_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..209597976cc28b2903c62f2afbbb780e513b6103 GIT binary patch literal 4925 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/291_100.jpg b/examples/data/Fruit360/lemon/291_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d70d079469724db2047a73ed9b474f9af27c9c06 GIT binary patch literal 4879 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/292_100.jpg b/examples/data/Fruit360/lemon/292_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41dea971262877c65c8f48a309f962a94cc60097 GIT binary patch literal 4891 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≷Jx4)LhWSb{ijQV>un$V13fN2=Ncf`9lW!zP948A4hL?3U_iFt>) z32`a&!+XPd9_hwNe{=^oOW`r19T_O;*G4(?>;%RpL%|Vskzn9ooGtYaIea zow~{bE4fFg#k#c*Q)Z)mcpuOpmr(H9(Rk1J^}m__owKaVhL!Ma zM5i!ZR^r_0KrLD2*fDSQpbI~Zt*YhPQ!^Z9=eo~aJ$wd!LP)>Qy*am-ox28oi0EX! z@|S-YS89{3v5RABEp{1(iY> z=WxSK=%Ew(H))E;tfy}3?UKA`u01S+_V=nLD$rmBMY>-c_lmn4^=qq7gOY6RBaZ<_qX}EpkG$`_S|a>nfu<&Uy(KOhDSAS=MJl!-Z;G zEx!+>Po0%tV;&d2kmZsEDvuvO9h-yrF#e-s^MXy5i`&x=52JUFf=`2u|CEJ&%Ks>u&9?k*E z8+$kZY^}`RtCH;JcJEE&W}*2K8L@2d)U^T{d3isemPUjCU-UI9FgN>)FV>J;5|$Qj zK>#afBqXFrlp~BHWs+^u$B(ZgkXa*bkP=lE2OQ**Dy86rjrMaLkxy+E)`~pWoMnDJ z+rBRpUVGg!oU=Ui2)D%2i#h8ad9Sx6uTWYexxU!EA8DE2Y4CY%?`=B=jV?P@CBGZN zBhu3lzWEJiu`KAX0nU_W7;9uktCOJ8QGFZ(wve!rtAoDq)cGoZQRc`Mixpd!U+6gr zWxxEYAhvJ?Q#O{y(H0kF`vvH$h$Nk9s|TKByxV2f3!Iuc&By4Jm2dWI%Hg-|)MLe; ziVB}HjMVnu`4WIGLs(t^fjkn=_4y#3;*)u)MDf|cVyqxTF$3^#v-PvA zxH^)QNPlO_&cpY|O1j=p!;R6z zDou-}Q+8Z?s|f;vTjIY9y!o~hMs(S~qH)~ZTM?Xz+r~N)Um;g3B41-o&)*hkzuiRt zS;>I;kuci0Dp^?F;YPdKj}VR)?$-R*3ld3D0=*^S#R|I5B0MNPa=e!m%EFEwt>IhT zVtQ;IN=G?9*L=oF1&-F@$J;{1OD;FEeBcziU&VsLwr|OHI+P2RicIg8o;Ur=9KB$} z-CmI7T>_`$%Kk<`yU_ZbYRKtLlvuaFM-VdxbGwuCAx-EUw@0;|UpSh(5h?Vmr6RF+TXfObv8Mb1Tn{+ibUdW5i>srVGp!E>9-w|@dMXDXSqOky~FmZ zf(CmZbY28UB`<1Uc)7eX0a-cNIH3ZJyQ5UV|AanRh@z8s=4!82iucnYy^G`LZ69ZR zJ^mQ_c!mydV@W}h(Zpi{q_e+XU#Pd8Z#*pH`Us^*x&EXkW1I?b$b&Sp6S8{{N~Gna zv2ITv=Vz|(TkA%HaM+PSROpdcf;NujrAMiC*^7V**}v9iB5a71jL zP^ZD0it4nm*&_dfJc%fmnrikeg4-9MJL+Apw9!}J#XFcD`>6)Sj@pQOhe>b+vUB~_ z!Qiz`L;G^}hZFmOWj9ir-(11|P_SZW>YBv)34j~yZw1}(|=UWo| z=G@c171zcTL%$!a9u}034@HhCN4ScFdC>ihe!l49foCdsvk#FweOkhzN*{!VrTi8> z5Gt^N`mA&H`%{iwh0?X_Mmy@$=0F@Qqk#lThbzIdf46gws$LNp%%?x6MDQ1@jR_ov zS5bjZImBEF{#W6nveR!84b15^JWM}x=k@BDW-{3?&utgtf>Quh4@SsiP ze|zotUNdgAW{=lsHVnDrkt`CK#}SF-;a8AUp?~s?ZsJbGkqcW=X?*wfBpJUR>8!=| zK8e&}^&jf?GfP@iR6y0Fmi^M3ma`ZBOw(0h!fXd3VODGxN;W%Hp@7C7P5IoGy84{p z_+)KqpbQj61$>hDZ~I^Iwez`TVW~1ip^dEZ=`>prgttv1;?rz~fdN_apa+XbW~aHF zQLis38krqxNmxpBvKfz78jBa7y=hhVxEN`sj8LUX+`JPN~{ZQKDw+$xw+{FhNiMss%9}#$9q|W~y5$S7x})MGO@mJcBIU=4be}=$WQi za-nnHpvEdjdkvnlMwlK{OJ=UfaFWewsBSTYBYbTpRQHWfGS{uD*Vl-urbNnc>(F@o z=i#*=K<)U(`gW4`5(Cq|z}mPiwA55RtzZOFW>R)CWX8qG z!S(y)_a^`OlnKnt4Ca8aLjDc;UpdBCfR_#M1U#8R7XT(+5Hl}`(Fus3=mh^O??mi> z48+9D0%nDr$lyE)s6TxopPBhYH26gENp#G~I>5pU=95%5VCA=Uhg=8}P^bR+GO}{=YU)=tG_|yit{a<}nweYJJ2*NyyWF~c-_y(6 z=Yg+ZNN89%G9ohSX?#NBv!v(AuU@~wWM=)5ol}S{DlRE4E3c@jt*igk(Af0(TSsSC zcTey4zQLj45&Y=b_{7}&!s62M$|`Yjb9F5VL^rr$My z{N@5NAx{P~FAG>wnU&AL7UCYne?jF5n}FfVf{*R&P*pp!phxfk#~CTLIcdsow13I| zXJB#vC$j$s_W!vi04`?GN%5F@0T^(6RG2Ial-!w`9RIrSjAR$EttLvn{8o`+XJg^N zyPKEob+x!`TI$RmMeX%Z1$SEk&yTvXOl^AThy9Z_PSlnvD*_r=Q=Om&;Dg_HTj*|c zYh2ZuoZ>+t7O10XH7M3T)R%Psh9ZepxxPuIA77#_yYUpwr3?QRQ7XP0ef2p)PPeel zc|2@KFNr$B0KliI=Hz+bIvBV^CTUl#?^o=`r?d~#cechPJV9|hr{K!e4myV@&6b*T zNbtQYS3jsILvVHR9YAd!kBi=Ty8cCd0Y4)?q9mEVyt!zu<**iX`^Q|0k^A}fsG5E` z=>o^^`mE-#<3J;LPqfuShUm&4O-2yswPE}~sh5H-P9{>LVq!Mv81#nv_?wolI;ouI z+j2gyf}YO-N0;R(Q+H`*)V{%W>rp*r>MO*xu~ZGG{E6*IJIOV!$Dau4SiuA`1K4{) zJtiA532mpy^V|Se(vC^j+iOXulWL@Y)7_a zT9;E)eJWN#x2UN{CQ;OZ93gS;$aAF5Wl-iAzX(}&T2rtgAbW7h@LKVV3lwBWOYrsQ zNkX4PU-5&7Z?Rx;tq@%kh5htX6q;~FcVZ-1Q&(%gN_u&4@NRf5DP;R^De^N=5>|fv zdag_x6q&MRwJxrB8}?uor*oVQd(g&8AIj%c)PqJ?JEogl6t%ZjVV1`99j{J>Zy5ag zlP79Nn_l{D{tSeilGn2zwr-v>ewn(wp`j#uQypdV8XI5qy=3M{|-?99e$9$4A z5$Z9|(<7!fwj+&l++InY!SHo!q|rm}@LaA_E3=w*Y#kib`<8>)SBvJFcesL5S40ms z51rj9u1-aN9#&*2+CWn*tv4?r@r(sHP!FsxYqx>3cVT?k|*In>U? zY<5*0QLuET+m)zn<0sumnqsP^u%*=o8{UPw`EnezG#0swL#pd<8+h2T@TwurzBKc4v0y{WOhfBt2&czjv+X z$RhXkYS2V+QW{rswsc6Ga?V1um8W9=1R<6{{xPY(>b&PK-4u$6gvsxVu4j(E2L$Bm z0>49uchgyGQwMhH)-GmPGk`dM`k*42fA9Gx@=R0MBK2|irA&>!pYe$+u*NKqxr|f^ zt7CFKY2S$FT8MkR>0z;H$s!6i5xwwJ${e&fpHy~ z#W`y5k6k*K>PJgOD#unA<&{eC@8U>sP{gZ>wV{%NPj|G&Lz}sEM`dh za69S-t0+?`gC7=O1_-3lVkP7=dzl4sg)=;$zgbC1$!(&l{h7)qmDHFbuJXHur$qsSQ2F9}*b=WJ^2aRKIj*d1?18XrrXv z#cW%h_Oyht^e1n_c|<~npf#h>m*;vn?D|bcd^C!FT^*EVauGD}xME{JR1z}SB+j%J zY*6V-fvXff`tq?IK3z%TvIh0zbd}w3&q7lm*CCtRz0P4o|#z#sFGDu>)M zbSdvTI_(CRq&v-Y$^r@})=J+)ju0tX{o%8V?o2OpgCj-IH%9MMxJfb*|MU)OOWvBW z{qDZLhIrYWX^!PP80(NH5o5JuqV7|0DSsC;01nk;qy>JbW(Zj^X*xK4DaQL|(Fck@ z8cx39Zw{8two~II?M%KN7ubv!VGts$BZ8c9%6-7DqBV&{x>PEu1N=q3+S~2Kh>K z4`yM`E4 z6}s2Awfi~E9|jii8U8BBUg0&(;!V(k4u?rSc3Q5Shw*fkbO^Rmy}Qqm132a5^fkrC z#726EhfnIwYHLFSG3hR~&B(i2Jq<0U<$kA-(BhJOF5c%V9_gwb_qeMq@26*XIdQ5T zW^&(5c8*yfcvxD2u*80?d~(<=X+HC#|BwMFEs9Cv6MhoXWfaA4ZvJgkKc-b7^aJJBFS5?t2(E~!;{CZE&iH;cYApXMwO5VpYOn-C zlhu2B331BncTMNtSzk*tu0jpJPdp3$yf`|vI3{g(r>EsvyxnKD041i$@5qSGS8d8N z1tJXKj`N5(+3*V%Mv`0TWCO&wQ&)6WNI`qJ7dSSAW1{aY0Ll$YFM3TK#ly%3J{qvP zp3ZA!FLR{Hsb*4uKZImvNY+)@heNJRO(6`OTAK3d7X3*S`8&;LQ`#J|=vMr@7AGfa zWBcH=!Zu{Dh8hEVqNj||4pN%LNd-Ym{yDk*;_p!T&OKoWx+|lLO(GJTBk6x- zdSBG^N9;A;JR3nWO3HI~Qb*B=-K}E=uE+qGNmOQ)TgcPK=Hm``+H?mfS6_#zPI*n0 z>$5>#XjbR_aKu1QUD)i=s+OOht5TO!93b~~M!#P<`~9TRg33wt<2lCm(0gLs+M@@Q z{H5U1=aYw~yXrC|>|&HvW?8L4)BWd-3sKAs#JrufYQqXA*J8qs_jkysU}x97dAtGi zA!syrxzY{Myu@axEd;BI-noLo_08mu?hYr!J zjuzoO-=rkW*UNotxSCZv2JuTJTGUUjta4hcSW~mTkO8Esx0l|o>{oKR+)vzu7oo|4 z`yFqmWe6FmDET!f&WzLR#54Kf1F_w*H=o^%(KsCh$IJ*0L_5;-qfH0(_^DS-vh4A@ zEDd#5rJ#4Q(jVBrisb8`LL0W#Fo3UU9@I}5Q}Z=4qT?kl3rk$hQk9SO$&K}Vu~4p< z7X#pk{jAj6CA|G=6;;?&)MGkiuJy{w4v`>$yRiBQQBqi9n>xQB9oiSaWbJ1gj&MLJpEN|CXj3xh zJb3?Uv^~@0)Hm8KOiH<1Y$fa3*H~^FnbhsOk%)P!|B`2%{$16-m)DO$IQ;A+d{2s8 zO7bN%N!GQbm{Qc6@6$9~lmqMxdd>BhUYG5*Lt9YSQUA07bY)ckZG7!qzBpBHuWxyL zxM<7tk7~%#?(;+K*Hg~h8cBLWjq}paJKFo+esQvzIIJVBRQT*5S%O-HR60y~l3t}b zdJcuRepe6iMvEAd6KJ*_JUJ?3up7zMI`$?0sutF!H>XD9jVWjLdXMuMz)kp-kVN;F zc09?5x+3H~Gi%F_y|`~O-$s1RyL&bSu+|pDyb<*L>I`e*jGb_vZY$>5<8rGDnOyIq z%*J7NqDIr!^UqcD8MPj8|F!iea8#K?fsoD$Jc_iu692;N1p^Q|pkr3uHSNzU1e=Bw z`n{8NtIM#b^rT%<6L!foQo7P80itqj1@cA^z2i)1`j=cYy%p;YM|moa%<(!gQur6_X2YosM3ect+NUyaE5H_N$)Qo9fLH>nc14N;B6Xzkfgmpdl~ zH6{vm#02UZ>sh)WplalmUT;ZEP%029S-CSp1HuJ8J?ltN_G{iPX!Naz?$7lGH(L+-o)uXC`^29WYsk-&WFOo z$=3tNGPm3FE>qhI4dz?UEm)ID)1;EuB?#X=^&AD{y`G=R<}Q3f61}D(puf@Vt?Cm~ zRGvxLGqD3#;cOMqC(j&(7CS~_3^6~KF}$oSbICjRp#PG zq#bp?b0WS${K4>fUP1YSbZ!^!NZfk{KzP$un;(x3girExh}VvG+wiVCXHYrXG3_m6w;K5OzMq-BX7*6WsThFM=+^C90396w z(9s@%ItAzf^mKpiuc!ZO44}WBk%0lkz{JSJ^lt;RFf)N!z)VccY|JdIe~tFW&c@3A z_v7y%|LIE42m&#(f|CL3EM;Jr^B_i;mg?h|_d3{wt3r_CH2P z4`N_s0@Gx$(E_SCY4SlJnrKFvVp?=4?LWZ4#dzkd%5^4g(|^E{Fdo&H$)A~}Zj?9k znhoHkFFN{!v#|2<3kV9y$U@G^$*ZYrXkOB~tanrYmVx1IBXf)UmR1j}ZJZuEySTc! zKk@bRe;xo240`oC;!R{!bPO`(ZED)P_vsm5a&q&&<`)!xtN2k_Rb5m2v+g&#rM0cS zqqA#pXn16FYPu#x8_A!`n^~kTn&EjJeFj+hq}8x8guiJ2lKs!X z!v9ZX{}1f{b4>#5AUfLOfw%x&fK2)la}FrjDlI84ncdo%zvLJna9gpI*CGfB=b6#F zS20-ZGQ6))i>axJ&dqYSebN@A`XJ>Gps{j9oskB;~ z(?1s1Be_t4@E8(=h>+=v!~|QTt{1jg^A0UkSpsqI)-V?Y0rpqTW$7dbD!_P}T%ZjN zgpuFP7uib=hVhM}O=1uAbkS1uxb=Ec z$40xc4x>5R)`XLTBtm@ENJ2d!v87`2;Z3KyO3L_qeMzxT?Tt^FH)DR|!R`H%AWTh6 z3F$UQJXVOr)q15DmfKspIDf98owE&%z>{waxgKR+G(5*^~QTp zSjpJlTW~)_!YqC0`I&28wzp)k(9bbSJr6;kVD*Ybxe8N{haA^G`$vY9$o?0->N$i***ZT!ERMaM8f$e{VGyU zP20XysXM{=4qI)JgmDKd_v6_QSf2&?w%Xk3&C5k?q-^@`Hb~7w)GC-e?{ZFV%_ zjncE_B-0Z;{Xis zc#J@gw!#4Nt!#?1=a7|gNIGdh3O)AQ5ptu_&XsQn>NgtC$YW|N5W!=mOVFF=NW?cb z9Y@CP7rvFrWglp>11aDZuV*a`TNJWdOfPL9>%G6&RICntw29%g@|sZA2qDvQNR0f+ z3E%kY9j5Wkw&AdP#OcCr_MAfv3_-AItsPt-ac)hhL3}{%<poh`@u&%NZuvU^Tmj^-*wgpl*`dr7ywp1RBYEc9ro(b#jGg^^ z*!CGmm;mDNiP(bDppjfvs8{ji)2^-24TKdw!8j5d5+i^(3f2ws@=vi1(zkwo(t#a( z^fN+J;z|Xt-ea=LWbvf?_iLb|>ruM?b(UGtIWi}xvT8LE?TW|p93~gnu1Rq0k7&N0 z>jVz1;+LZ z(Z>0014j+kiSQ%)K01lr1cmIeRQr&0?o;G_kw*c?R{o{#qo!)zZmlgIzgW&%hhDdP zeo$&wTqfGQH%iN**awAqY+d;-kSYfuOC^mc&Z@h}3nYA- zSx+R$L?%N%GI;Vv_BOS7{88Qz@0yi0?`#5pSMP?0GYLLCf{gwW;k6RXHZaOpt-Gp8 zVQD-uFvf!qqAT$YRY3!A-!}GY&5r()+NZlG(a%643vZj+0@yRphn0?DPeL&PM(X%4JHw4j(baTVBvxt#-!R##of zU^KL5ww<8G(F$Pv*Z){8%_=Mnb=7Lrzs|HHPnB$r;dQprJq-f05^+nVpUQS8!tzhm znX*3@wupNn_#Nl~NiRI|?e!ApFwWCs?5Rnz`*F_wjND=6BR|0v1n9xjB}d+cGng!g z!D=<~HFR!ix+@6%Mplof_2%@R^9pQgva#RaLAgX|poL_jvtDns2HnVW*$?VmDRT}M zAAAsD#+e8SwIT^muc4F*zuD{O*>#u++6FyMz3;Tq14nDLKBAK<6AfHL>0v+ev`G$Z zD>)-22iN#yRZw!C1}|8av+FbCtmH6cBSfXPPo2WoOneTn9lai}sFpP5@qV8Is%FrS z7{U!yR;DS-t4NzqdCiF|By~Y&rJr%YaWThXB51QVOg=xaMoNHJp^UH_a>#P7HLucR zwvHIr=YMWKN1=*#TDbkB>y8VVIlXQ-GmPwUN}qx`_B3S%J2qUrRIvDd#K^Am z>Pgw!OjwY(Z5l*G+pj#fh)cvd^*JHD11wcrs%iC}C7eg1V_Z66wqa!INqHNAdDvCy z*6npWXjFa-r=DcN@|;-qXdL*L)Y^s8y*_W-*Y-F6s3tY}hrJhTj1L{70u0)OjmgMn zD!@-VUstb31(>No)Xjr(e&H^Yy!7h*CTEb&KK|CvP(|BM2^Yq}HJAEJLbYi9E{>GW z9V8JW^5j#i5o~%obU64={bN_A#vE;ymXY6tx9)RBNl1kM*nHv(f&oJj-rrsKJ5FXN zwNXwyztU76;g;R?$Pgrr;rQApPr0zhl`THow7$f=Eqmqm$sFpb>Se1n%NkdmoScX5 z2Neuy!PZjoQ(u0_0og5Mi{h=!CdoMAU#j;N@pc^vJ-I#t;Re8bBPU_f|MPGB!4t~i z5dxiEM1(T;tCb)Y9X`mpRrJaf1;oTA6m&DPA`uUHiyapawd*-PWrl)>5qr+sl*>5*? z{_7LT37jvFFV?6E^(Q-1{LoMryMDjaTekjO^+CD88KjgUPQWfD>!<7bbhc5ktn2<= z@gEVTC+!X?bv5=MPgX`ya+uHtNLE0_E?GBk_oh&Fu~OBU+(#UoVsI)Tl<)7C6h9~$ zm+R#?bJawC*yetE`W7UU^97#3OV)&0A0C!>ihRFu&FYdopzZo~K8Ssh|Q%uw;0uY!gE3OCCY_StWvj!f(G-0CfyJ!5aBng@=IQNr^iWZ zx&2ZZWK4PV#8kz=KfHqU^D3-=(ZMw3QI1T{u^2^&%k*b?(6+nVp_S^^E{OBw*QM2c zriRb78jH6_mi#p&c*GFz>7WE}pTsRS7z{7!I&=2Q$;Za+34r#?iV>J_4diUtA1c7* zPyEuuhK)K;8bocK+|W?Hv~ntJ6VoQx9WQs=!x=&akUy}fyCIpvG4(StR3POh+2l)% z!igG1pOy5RToM9CU=m~NdgIaWoPQ=Gp^62mx2Ks&>w5eQ49c*xu^MhuY*rtMYOtk%r{RcnD&PuZFn@lZU%B5e#5Q-P z&vkl;^B%4Yn!ju>npNP)>T>19rCE>YV4Q2v!O8Cmty!x-p}~HICH|{o*CIX$V2;O* z2rYu zUwBb^qo5gBR<{fdMD-Fbw_RTju(Rq%vsfNHF6I#_?d!HAFg8y7wtbkAcJyWzJf_~~ zk#T(W^L0ftxuh32c0BkFA4bs|4=W)irG1aAGz*EP*nmsUZSXdJ5bw&LroQ4752uPZ zLMoOw8&rm`RX=+L25W6Tv{2kGCK(du3vJG00+c3xIA7FyZeIKv%7yi zJC01?ha#;%8cJRH*esqJ+F<&s#OOmz{Pv%HDW<|oH+X*w=W0h&pZ&9d$1tMRswRn( z4cnIUnZ!VFZ6TYq-XNy5$X9F10Imr<^5|8h!p?_giZG#ZlZyZ`BpPFcwYIB_9gnXB z+qy})c&AfbB-pW5zTD$-SBs7X$r(Cec<=#?D2knX)gT;UDJl*%TuQ#y^TSDLS@gE& z?q1m{6=15h{K}Sn@mq<1w|Lg}mM$A1RySYdl=e4{ofNZoZ=Gsr)reF*EpZNqjusT& z6Wj4)Cd7I?&H~Sob2iSwHkln=Y?fe3#y^AEU*%PebLAIQ_-X;U>}wwT!zPCid+>@F zIG_0P;T05KId+q8c1?Wdw&Y!V6E0|a?M_pnIWcZGV|U71zyOr|bi!?lfqQIq+o2@8 z`rXEDtnMWG_g%&9oBXG$^faKfbM^>K-wI5NSH7qeU6cP|R?Mur!A;#Rdx6#^N_IEWa0!rzlfk;ZxEpKaE%$as4!z3+JprZ8)sfS{P|Q;AdD^UpJ~ zy+^%z!nmtyD;d93d%CP#^kLhx{}hs=b+%});oC}`QYyArYz%$Om(81(8eeza)q~#4 z&{3bYAct0zgR5-HR#8l>Z|q;a5kgivmQVrk5<j zXgB@64HrYjNSb*5R#6txMFRJ4p|Bs0N4l=V=hLp`3ry$k#8U>73`%(J4L<2{udUCS zhfWSrm=jO9=7`E|y8L^=-n?#ymSW=djg>=cy|A!u(UyA`!Q>67!qZ7Q%cQu|Z{?O6 zPlf5YxnlF9B)|WuDq2Mv-chN~@p@-H4dBIQdQW5Q#0eH6vG*LlW%Bs3TvE1m0s;hRR^KIv2! zRd?M}KaryX&5DixP=WDfqnI(Qa`PRwk2f@|F4O9i0q^bfv7Dj~jTXc@@>AL8f-jAR hac7w)XO|~X$6vjGJ3SkgJ36m|mDcQ-Mt&nx> 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 SB=fbCBQ$wuqQgsbJp3OXmm0?a literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/296_100.jpg b/examples/data/Fruit360/lemon/296_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80f89a8ca8e93106679f02aa17f4c993d4412c47 GIT binary patch literal 4829 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/2_100.jpg b/examples/data/Fruit360/lemon/2_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca1144e897e9406ba572950c44b7412c4b9a99eb GIT binary patch literal 4874 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 ASO5S3 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/301_100.jpg b/examples/data/Fruit360/lemon/301_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96f129082c304f173233058dedc9cb33fc752a69 GIT binary patch literal 4812 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 suU!5+{n4fUXIb<+JK?^Nu+Mnz3S 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/304_100.jpg b/examples/data/Fruit360/lemon/304_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f06e05e1c7c0d07f0a149af8c10f6689939111f GIT binary patch literal 4832 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/307_100.jpg b/examples/data/Fruit360/lemon/307_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f15a98e00136af1e380615da60b8766f5ce29b26 GIT binary patch literal 4881 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/308_100.jpg b/examples/data/Fruit360/lemon/308_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e72786fa1c3a700d82933e2dd52503817a4b3c8 GIT binary patch literal 4911 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/311_100.jpg b/examples/data/Fruit360/lemon/311_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a76215271df7585a67f45cace3fbbcabfd9e1c49 GIT binary patch literal 4914 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/312_100.jpg b/examples/data/Fruit360/lemon/312_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd80c888b5ba559660fd8fc76bc5927516095f05 GIT binary patch literal 4902 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/313_100.jpg b/examples/data/Fruit360/lemon/313_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3f0e36dbf4b7bf9f817345fc47d0fb074d98bec GIT binary patch literal 4846 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 M!dUh0K}b{o0sr7%LjV8( literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/314_100.jpg b/examples/data/Fruit360/lemon/314_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b56c746e3ac68460e29964bcd0446a0dc0bc940 GIT binary patch literal 4853 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/315_100.jpg b/examples/data/Fruit360/lemon/315_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fff6b66f9a18aab923db6d56a94ad48b45319e5f GIT binary patch literal 4817 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/322_100.jpg b/examples/data/Fruit360/lemon/322_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7cd3e8a3469c9d47aeeb9306eabd90fd7db01bea GIT binary patch literal 4831 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 D!8}JU literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/323_100.jpg b/examples/data/Fruit360/lemon/323_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..638a68063ba2d98a8c0929aeba9a59e90274631f GIT binary patch literal 4813 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/325_100.jpg b/examples/data/Fruit360/lemon/325_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60e6e22f692442615af45df12af4162f89b80fd1 GIT binary patch literal 4806 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/35_100.jpg b/examples/data/Fruit360/lemon/35_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dba61fb4e78a29431349b4cdcfab886af638234c GIT binary patch literal 4829 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/36_100.jpg b/examples/data/Fruit360/lemon/36_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b309ac7160d3b1038f672c9df1800cdb6a3ce29 GIT binary patch literal 4816 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/3_100.jpg b/examples/data/Fruit360/lemon/3_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9bdc655f636c9776762042eea9b08b359bf7919e GIT binary patch literal 4893 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

      oQI2#cJyf=E{N1iej6bn~+6*B(ACp;=RbwGi zhXvU6y-XTgIL)<*-1h~6L_~Ibp?Afg!|9dnJv)66QVUFxsB~+f>i!oK;b}ZKmK|HGkO(7%^KjS z`1#m&B*cgFx$U6ze1+K>(cpTrbq^PG2r*6m4U-QNO{5QBqw5@f&4_MmnZPh_`q}=V zdwZ`xH3n}Tq=40MlJq#x%`CN3HA-2W0+{&hp}TbT*R@Rg zQh0pYnTgy=E5l;a*@Fng;36XP%Z-_+1kv!Q%fA4~GVHy!Z}<7?JW9=B&98NzJ`Z>* zpXw-Aou1Ol7v7F*@?Q45#>}T)r}EPMUVYOiKX4b1Ut@Fs>I16%(c@v)g$)%$%hr>=o_?(<+=9Ru2VUZm$sRKExZPm2%lBs?xt$SYi!0PkypjM;Qusk4CE8Dcq}ouVfvmh^ZC#KC%MSUBxgBZr8;?3v>BC7dbd(L)mdP@?Y^+ZR3WMl1eq<+qEBt*lD9McfxtHn z*ksF>762{JBhRGOO~=^tUOiHfm~xmvoW(7~%=6aB&uwNGTYP(`JXN_M57DGGLY!z5 zy%)WqxUBANPTbGf#QN+jSu}qM+`H<;Pcs+wHBByJ80AbfNNZ^Zstnt#%X~iz-px`d zG5OkgYZEEH;_6ClI1&gnfk$>ka)4>e-cE0-JUTHdqDy0ZovnN?xm<_Y7!JrWS|fir zZPcLOfY7R;0^HRLZWQm-H1b`(W8J8HaFGs^E7PLq?uil|c_}TxXZ97T@dLZHx(z0& z5}}7L38M2HySFbxV@ziv3twb4q@NcIPvam=KWbL{P>r}llJl}e3P}*~pK-NvCGQ&$ z``Qwhb^86f$Yp6&v3OO@%k8->hJ>y*RnBXXv^PzWo{#g6Az#r#yCd9nbc;2$Cb{P6 zj|VW~3;i8&J@x73(V9x2oxt)V%flDG)~gmeynDHe41@^nrHtNmWs3{Z(v6`U94cB1BqpBPo&QFfofjcm zvT^C=6US{3$$MRE<|?0z0t#5WvYf8`a_73y1OystJ%{FHVnbQsj9E8bpuLZ|4T4V~ zdAsfxSN@jfHyqqs%iKPW#JG&Z7N1i91Y_?o+}k7=0+z%tVzbdyQlyK^VSF7tK+Qbq z&uZ9Ry6RYRf9g{7Bz1j#j7YKqqo7B=dNoT^xobr2FMyLm>>Na71A#bqUETnh>7R>8z5GD11!Z9?2ml(v4NuDcw`>q>TU z$pW4BIzYUiQ7{O2-jQ)Li$6F^bt@&q-QRYfw=j{I4DEb?H&O&EemR*s^?4eg)>|oV z6!dVZ-mt-E^ZVi!S+{b*ZZL~yPp2Wdol8QhVfK8Q`W6Dl-BKz_PhV9d! zL&2|ATWz3lsRsTQizU@O?#)||4-iF3@(L@uS&cz=G8JHRnBc<1)5mXA0`rTg)9kt9 f_A|T=Y837DKlrE5H6V#GTqYI|&l_$4iZcBlCN(Z| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/64_100.jpg b/examples/data/Fruit360/lemon/64_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e29a65dc0a0a301aa2c58e6922e6d6a40a13849 GIT binary patch literal 4814 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/65_100.jpg b/examples/data/Fruit360/lemon/65_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a8895cbac1eff8a29d9d94ce7233d16471bc532 GIT binary patch literal 4896 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/67_100.jpg b/examples/data/Fruit360/lemon/67_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d7c5226c69ea9ff54646a307e725b8727d5c419 GIT binary patch literal 4877 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 RR*a)$8j}{^T`+z0zW{x3bXEWW literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/69_100.jpg b/examples/data/Fruit360/lemon/69_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa3963f03d75c2081f87e28c7a24f9af66d3307d GIT binary patch literal 4920 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/6_100.jpg b/examples/data/Fruit360/lemon/6_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80a57f1340607a02f0a5a3ed6453c26190418191 GIT binary patch literal 4933 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/70_100.jpg b/examples/data/Fruit360/lemon/70_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..95515b39f3e7eaf4a4c669bc62a4f124f9fddd53 GIT binary patch literal 4882 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 BSbqQj literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/71_100.jpg b/examples/data/Fruit360/lemon/71_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1bca6c984271b2262be211aac9a2cf4c20efc370 GIT binary patch literal 4899 zcmbW3cQoA3zyIGXR?7zwkqD8fVWSfzN*aO>LUchyZxOv_S5}C+qL(NMQIf^#oh5n+ zA9aIhyF?eO?po~Ke7@)We*fG*?!B)$^ExwUUNh(Um^m}AA^#vR0<78^S{eWq6#!6C z3P7F(9s<-Mbbo5O042*w_(qd*}Wd76n zv&es@QqzJ!w2WXn@V_DdD@Sez*ysU!z#c@!2T-$7f!L_XT>vjdC+)xTC}RI(RMa3E zS~@UA1`{QqmX#tO1fqzhr6{IEzov`>G;FjNZ%W;#V>hq`^Lbs8ev|l#p8r8*2Z!P4 zu7J!7Z#V_p}i?Zck#Xf*w%}kPx=l0r3Z zk^Mig|Ial8FoUQlhX-N<)PS?o{FqxneqyG9PBQ@X3+&Q{=8=qG9rt)UF~?{YRpu5C zSy*E;W@L!ped#U#C;r5S<6$Mo7S$Wr+Xa!*L^~hG?DsZz7VMkQ9WQ58+&>5mRd2oM ze7^Ku9F=c1yH0G2I(gd5%MRr|m8(!nN3>Yk6=|>smvwax`SsD1+KHbg9^dZ{oyBvW zGkQ7D9CHPHOL)iP`vkiBWNJsbR>1FUC`cffXOYB6qH_#qU8)JvWpby zc$g<$vN2fI@}g}u;28B#_~_jk66T>FXD!t{p?s61?sm>pnRO$&fDovWme_DboJk~m zXQ#-jEzA@N>$nbcrrHg8jMwb6nfZWyeYP5Ph++#?jg16{blczpt*9 zl7ZBopLGXL6OP>A&Z|A3jT)D)Visd?t@ZiiU;E9(yh;nz>H@+$-B|N~C(KscD(S` z=FDkQ$ni?B%~=0QUW}K`yJ<9YH%5QvpL6?K8?43bq{~`J>Lml4B3_zH2I{~i12Zzf zs%+`8s873LE#4fTb6d&Z#Y$`D4nOCf^ouJ*oJiFRC+Cv zLYoq2X7&E}OVX@@#^sdx5YH~^nFl2sS|YV4*{5WkV=my7#(>NN27 z02K(HU~9XTmEJvCo{KEQl%YXQwLt>`>%{j$$yY0~++us8ZVo&em7;C-Rzc=W-G1~! zCo)N;WUKuC@Li|%+|=og%N4SlAC8);GPlPh;aaIV1_%J)4&j-Dz%ib*+Z&%HulXe& zWlY$6#W4pg8+I+(>gC7}jJu(X%V%oQ>K@ATA6CY4w8tjRVVy*oTzo`pYL~YzFi=0> z-C`fWn;P`GH?Bp0cf99voAhoPQZDr{d+_#C%c1)N+53oI9th>``3Yx2m>%cMnaR5K zXc;Q-G^}n~tKeQM{z5FaggmgP-3dhHFJ(KpqpvX@IAXB}uIp=)nTN7#hTXPSqN93Z z=EY7S=T2MTEd!FCGrCs4{kvN4RI=!X|DvT^S}WJJ2<~kE3lqVZa?|C7Q?`JkqzZx` z>7h+1JLZszr#RM@Z8}qU27ah`kCVHZCB+vtrA-FZ1Lal7fLQ|+A+Enrf13<+)sqfj zGDL8^H_M?q2 zzRkW~z1r{VAK?h2Q%2lB*sTuLbW`GPhYWYshw^~>W21CafcQEHos7+7l`e?tq zaV&BLCUrwvKGbgn`lbcv@cZ@d=f-_=HS9Xv?zzuy8Ob!PXkdLt8bB&<%3d3WTni~m zn)`7(<7d%}K29Djx%a+B6EBli2c_4+bNoyplDM<^K%rHnYsl(S8>^z~8k=w?XW zA#{o{`_|Z2Ga0biosat7SmjnJHrGiXUt1NVmk48%Dhz;IN z?(F&}sci?ZxU4^STYbDbLwMeT(J4q{(-XIL(7*MbGkHCnkjvt3%28yaS-cQ*^{!7& zcQD3j>C77ve&m*(cB^55kGDB_UusQzdwbiaJ@6~9@o+K2I?DP?P3A;~eaZbYv9B2WGFieAQnUOAWe^v>>Z%~ImtA9$&+WYp%2`gw72n+DdTp;)wWo!_DUa+2N}tB6_JbAt(#RY^-o_-1&rQUBajbgZ2MTG;86DJ`=p-em{bkI}uJB>`Hz1@{( zN#+{Zc8TW-0=v>~R}1f?7$5svwQSc9oQ-IwUM?abJ;?w#Bq$DFRQPg)XGm-%HvgL( z6nN5MluZVjex7jcc}DwuUS~;ptDLwByrLRr8RwV}oY}E#%(Q2Fysr^2Y53Pz5J;Ko zIIR5ub(av~Rbn|3JDpNvK>rQ5BU(Pm9b)Q8CzZ>ebE-?ZCzwIZT*tW4y1G!Hd_s6E zDJmtbnJ7Fyg|j2v_;olyhGod!_&P0Sfb*aHBjY zz?Q_2-V{IaEO7YTtR7MFqWay;aDhF2cG&H z_q_9RuZYYhun#vlwq57FSd(6AMFt>wrXA)f(rtW&h9TN`*wIm5 zCUL~;i%Q)`lp@XQ>b2@&#cp3E`KaxJRL5KQt`IYF+MOnNJBuKhc!j;mVtyZy{yD^b zGO#(Nj%?Z?$<21O()W0OJ{lnd7U-~s0!jvn5YbxqIl+MYEg94M4nMpO(NE)h*oA%2 zVVfjRd;_MDeC7QY_!+nTYT=XCiNzRw(U~z;E4AQz9-Z83NRyD94q}2u4@T4 z#$bhS2R`TuEl@%J^}CBkV~g2-RowWVzv{AY*)G8X0m+2f@HgdN-?T=nZJvHV(=;=i zV%YhZCH&LDj~yPo0tT&Y>07r(;ReqI0%x$;9UaYE+SFFZp_Sott#}hZ8&0do0u2}V z$`y2fvj1b695~Xe>s|f%Yr*P@=2hOQwrZjN6~m^`W+>f!zoFjWU3inizlxEM?SvkQ z?QtyfdM)gt7CZ?;Hl1J2uRuHVSWXpR7sl!|`i2Mie=y^8v3D}P*_<&DVu}TCdG4A% zJ1c@Yk1(Cej~^Uo-959AsN0H4easPlSCQB69(UGxtgp&7z1?52PD|U@e?D}vb>nF* zy|-%b{K*&w0H`fB#=W5DRVNwI5FZQ33K|Pj4DA0fUKaH!EF3NN>pWOuqE`Kq=_VLU zWz?ee(Pdur9|>heyGzePMiMW zN>C)%9(t?cT<}aCstLv9RiSzormM}GV!NT&TAim>hUC{hGRm>)3eFj!r3xnQuiF>y zuz-ljt^_7GEM$=LO$7F^YJE?wKmml<&1ib^4JTA!;DW3@#pq9b^7>*{U5a+4VUBzN zH5pc#3`w{=V*wGZ3Eas+vuN*5L#2vh{f;~g=J_tY)C7ASZyN8M%T7No{JVEhg>DhD z`{h-dY6{Wy{`xX>TH7qR5-m4kKBersx08qod-WF0G3=(Qny#PlU8I&X$>%sh@a_{KId05-062fL#>xTma~lrE=P6MRaN zkfD4l;CEmhN`hx;r_>8vP?5DF39dl+5BeKP4|F36eCj>b{TFiy*tX^TnDf|gw$6(c z_)l6EQYM;vJq{T!s-L;z&7!Tn17OQ7?+w&B{&^K~$>1KX0bU~FR1T+d8Fqny?wnF8 z&+!HtD<;Y=208$65I?*OPPObu2^@Es;{{WY9+82?1m4Qx=r*pv1RNrv(Cz&Cq;Hv| z7Ee+1SK;ZRlp*h(>R!k}^2d{h$kUd&P?JCR`^HbQ@)q0nB)}E5EFx` zbWD!ynZZ$udP2`=zv}=8mw#~aGVJe#YRxS#lI(e(HCx>-Y>N!+COrPfIDHX?8z+s=T%9tu@{2_bRV`skfR(^~< LEoGm0$)hwQo{#H3*SXH2{h-YN+$ILb1^^u$ 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 WUiy8R9Q{y~a`8F8g+35V8~-opieX0p literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/73_100.jpg b/examples/data/Fruit360/lemon/73_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae7fd2c22504bbb658074a2299c6db741dfcbc42 GIT binary patch literal 4879 zcmbW5c{CK>-^YisF9{<=C{oCtJ%ku*vP71Q?910K!k7v5wGTsxGE> zIKu&S0Mt}}?2o7ZV>G}&o|c9NNJB?UNB2*qXJnwGXQZd2V_;@rWcp+0Ef!`bmOq_8 zi~Kv4nidG8Wum8}|0m@C0Tn6)bK+VN-`9R>gXxekd=h2bp;{Y0VT8^u-T6COdPw1}&faIc(?-_)(E84is z2Z$o_PJz*kOqaNMcrRZUy>U}a{I-IklCp}b&OKc{u)cwzh2=vl>qj=W&MvNQ?jD|A zLBUT$LZ5|&$Gmv?cWhjILR$K(jLfXp**PEb@(T)!ic3CLR#n&3*3~yOwtvHZ@96C6 z?im~!9vK}QpO~B@%r7i1Ew8MuZSU;v?H?Q-9iRN+q5=T_#X9%@BNzKQ7xkYU(Es70 zq7FT;Kz171tFm+)T4wZ50ywY9MKOT1k?$+o7=`7{iCj*B15B4hZqHrc{)6@p+5ZkK z`u|1tUts^uH3?t=Qk^Fc$PUm1kVzjBZUR0av(1c}0Dx{0A}zGw)Cz|8nJX>ri^bCw zCYKA7M@GNs&2hRfJ&M&1K-QmZ4=E6qNjk5HzaHQ6ePX7~{M)bcF=VmHV?Pj@CEHh# z$Ql!SyYaxNDUzFTB53$*o}d)f!siLcX{c`N7G~2i>IB^QDasU6L1#m>399CI&p9q7 zNRvS8Ce=!cXyz7vgV4pIt>61^(2_c#y|N3)6=)k;3nJoWI~GrRQf%<)S*&eSb3IBg ztgtaRHy2mRf2a`HX&~(edq6jLR4n3x}ctDCA_?)?qe>FT&- zg7|L7xJ$&2WjGv}Pi*GiQzQvk$YK~V=Fv5!)U)$cO)en;$v;UV$|()y#p@Qa=U-j^?w`b2sv zi}IDKj6PZbq=rYDPT(j&eOlmd2JDx6qdbXr{d0aK8f zwVyt6Y$G`Qg%9~)ZVIUe+cDgU#2-r{-@o^~HuwGQrLD(Rf7`qGM}!Be9F$g0*xQ(r zQACN-C$Hw;hMc&V+vzgJ@LO$^ckdb+bjWuJ%@PCUW757n98d0PQqIVph|Lmff7u~p zhx{CYgd}#d-M38hn`v2_l=_IPJMyYgH>@dK!kfzRl}RZKz1V@w)d@<8IXTMW(>rv7 zLi=@@Z`GL#fh}rc)hhaCpOufUNldGKgHL8Xn3&G5tgmO335{$v5JGmEA-rRE*$!4S zhh^B42Xy5YWIOftuE16CTrtVK7L5T*MiJBH$-X(YnWlPWz8L%3ppw3_!4~`|T45;= zC0!kN6)x@QmkYe07eSWzv9z5P2fKXKj_W{O9CoW{sd#I|GFq9cMI$f`t_kmpzYLCk zt>9hFROK-ts0voWzrw1JyaIo@d8md-W4igFrTAC|gFXYyz86q0cfvmo79Y9f3RM@`PQIt^<$c^Uk0h&-Z7FD znj+xFCOLQKp+}R3gXI|jyLoJXf?#PQhsLdFmF7>iEK))=f}XVuK}+QYT$eqVqgGMg z)&|~hf+L=lv&X*XFM6$A#gc^VpU0@j&OK73-Qvw2mbfV*^LxK+Q*C2aCZZiw?Nahk zndT&A7%@9`T$fU6!S!aignKLkXOgmdvc2%`!^yRsxI7CUt2(PVv1tJY*Bc?G>K&1K zvuX=_s&=13tS>Y!u6350KfeF5*mSAgWGY{;|Bw)7RNIOY5ioyd@@@uVh6^rEk^k z1b|)<$~Pl|ThR|GkZYK@8qtO{o2_|8!a9eEpBu{Fu5FeUn8cp5?3bn%@7jm9rgyv?hZH|x zqV3M6h-1pm9d|U7xLI4xS)!dW4i7oXLx|yfuZ{!lO6F!yzwQS5; zGKx#pt?P7>BnUq(zQSZbZ`bAq+_G4;eHALB z{;5#$F@h)QGzy{aeZqTWu+40IR6+c9_b4OZh*PWFQ^w(Dv`J6W3bSa$=3ga;7LZ@4 zW`3kdqWH@jYP*nXL82~Rux}nSF7d6lDq8ci0$;PF+&gG7!E6X~GD+zrLS)by!VCwV z2H|Cbvja!?mZQ z)FN*!Bpb6cl_eDH^PijW`Z|)%n&iP&%S%U zEHPr^ZGf7SIPsAJxr#8uWwf|Osd9cbWDs{^+FMzLJC;Ry^<8wj2%^nX?$h`(LIp#6 z8sWOx9b=dD^OWW4plrpwdxd?0R$caB*k*_ht^BnY_d4m-4K!+ur@VSU-!5Tv6&J}i zI0JyeG|M}Wu!Y%jZNr^7)RI12! z7DH0o5p6BttH5%=&oCuyVbs3LeC?FQ(o}Cfp_voQ8YESAc~!%*$#*f6?g8UezU&QQ zWR2E>GrAZfv;A|p!XU8f*Qd_K8Ff>8s|hIgs7mI>iSc!X`)|!7*|@gtmh7Ug@_{%Q z)z|ljC=8N9=?6Sn^g_?@4}cW1-Pi(m(sCWbU_`6q!l>j-t3&H-)XM59lOZp^G)Z(a zN_)O|r>sFBPX)7XN>|)>YWP(3re;UyqJ!*k!rbd`&H5Dn&dEJ9UAUfL?-R)Rwo0^+ zX7UQrypo0O1B!%BMmE$U3+CEy>UCTI3n5VZCsYs>c$;1e2bvoylSrV;@N7BN^{Gr% zk>N*~I%TkazG%Jk6Kvg_;I@Sf!ne+Orlx;Rfu^f!s`X8_zJEJRba;}det z!8urDbD#h844}Gl+Ye-mEw2(~Z=*e?aS7<(MbsaZTX$S%&q&S|l(CWuC$qZPh3&9a zbr$oO<@4Hbheu7#$3T|P03cWUhU%%@ate6AmMxwA1^82W!IL0g_RA`tfz?h*7Q8HB zJkZKnMA#iV72U7ssPHzaovLU*6L+PBbe!{$C<{Y9a$Q5 z@h77*07s%7Tvj-~U5e|;aoBPi*y6F}=ky#yqaTYqYGQNEI9T`@0J0F=h^U-&*)^=F zPg8RS-7`%s*WPlvyQoj&+>dA`#dgdnC=GQTa)^t#AEwn!cWtP98`*CAEH=MQlQ)Pi zS_o4ndw1V?JnyXDV10Fhhg9FG@x^-7rQzO3t5#_e5bjcPBS;Y2m}H%04ziF?gKda! zA6fsFCUF$a^}<={qwig>lS#fZ#+CZxe}(jjTNB(jiii<5GIzqId;$s8r4iLUqHuxw- z{9DDQ!?hXVN+XQuU2fL)^e)V}-{hMEVT-b+k^5Jw^>-XL!C$EE^NOF4|_+)$0N>5!y0({rBk}xu>dh?z+c2aF2br&Xfl- ze_wYUYKh&mjwOY@zz+S*$*W9zfhnZnP z54aU=DwzB%h~#0SI=4~7F`!CyTABYAZJ$#Xv5lIZ$5sO9r^&NlG3^jW=MvM*PXZ|L z=CEsQDc`RBezIxDg|8+ekKC8lj<0=IfX8V%P7S6#Cvx&rt#5hv)CeY7rK{;b)pG%+ ze&r`$2(pJKz$7GbPU>6oYu>mv{~8+uF|dx|>yMUsA$#gN-|<|&(vIg>9ehM8SHFK= zf5I%bQsUb&?0ol-I5Ij@U z=rnXygeuwu%ZMqlBLPpH#lV?4(`SIJpk0L2{8a1JZw6vwmJzysaE%|s>*v?NBsB59 z-R}u>o9XrtVJ1On+b>Qsc6`I__>F0uZy=c1bYc1~q2>371WIE2oX70v?K}fpSu5~P zi|cDb)nCEek7C2R@f7MEt@ATjs~u#f3*a(!AW~uox#B+b*put1JZFCZs)sTmnsE2R zT^E0?1z^{vE{IhzcYv5e0)Z(Eo2QqbwSGm39g*`rRS*BJdBZ0hdH`YbGAqa*I_~{G zsq!JUSi@IQuPZ_L?#Fr+N+ijr%q#rqy60%9FH&TahYI1(2s}2^g_?pK{R5KRN=lpX zCVgYdY`1&8=GL^I<`4gsF@whtoK`8aBb(AL&oVg%E`q+;wdO|L*x(}K49TUfKKNLC z)gksLJ=G*#9}JegQXIW*W%Mvoj}(?7>g)TO*X?+^ viv{=KO7X|{mf?{g>vd$3)29q1Y1+KNuqx<{Pcv@h{Pk%3{QO@6csB7L(E@U| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/74_100.jpg b/examples/data/Fruit360/lemon/74_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99275757c0ceb02f208edc7b18d8c325d9a39372 GIT binary patch literal 4895 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 Fe*ra{RTBUJ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/75_100.jpg b/examples/data/Fruit360/lemon/75_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..173b938a41448d9fa560ce8e8d78f156704800b1 GIT binary patch literal 4905 zcmbW4cT^MIxA!N6E?ufL6?_naA_$07MKJ;jf*`#~liq76g3^1C-V{Wd5Gj!&5|B;= zL`o2(_a-Dj2oRDRpWj;V`_KL3-n(a=z4olxGwb`Av(MQxFfvCXL zG_-US8RsYoNH&UmFqk5mhN75~9ZI#OFxvAS5(&3Hy}SZHZ`|=>+I_8>Fw(u z_&GW@K7pD1HMOv~w7jyqw!X26#qA#);*SW&Cx5v>0Qf&x6#w6Hu~WFH{>}m2UoH?; z0A+yLsc9}r({kL^qqFfke_1Aio>M*TU2O-0$W8q{uIJt(jNGEK3ss zRF5=wvU9f58_~uz^EIh>z&719u2!YJgAT2R8}uPs!IFO=3KreP`valZGH=OLpt|i}qMN z_jdP#9RJ~KmXeH0))Z?#{HMY32OQ=lP^mVaSmXUrj+oJ{ruk@}&t$a!MWrkm$eHp9 z3$8I-hKH5ynCM3R60+iw?9pjBb>T%o!~!T2xRzt+8mNKYKIKi&9M*#2rEnCvU7q2@2Po0^ln#6 zB211B)@-iLh3tWwTC&yxKk(Wh1MY<+uZ1-h$819ZWkcG}p4y`ZM~7dD!@rcw zs?4^GcR#w@=JJ)WGL0zM`-xnN5MYB|jEAE{RGCTRWI#CFA)!H+KCmuGwy!Pd0D`}1 z+Q*5j#@7eMD${(|Lsj#~q0Tbh zAhM_)fAuX@JS3ekgB2QGFzS4)-E+Q=+qf9F19ElGX|nW$qLjT%#;X`POZD9c#2eR< zvL#xj!L_9{L7MNsTE+}nHIjjy%kteM*c)}Qd#+EN9GEbiNWD%v#W29CK>P* zUb9+jOd#4PEDl}HP(UB~{(0k3Y&43Ru%KCEq;}{yeOT?5yhZoG9mDe_g*YrLQM5Rcc?Vq$(7%{bUdP8;Pt0J5NhFq{f3QJbyB53Y(UWF|6~#3A3^UI_%}% zMX8A0wa=}evemLUV_ZvGZU`DAMnXnHeBB*CYo~}CGZkwl^X}dzri2IMq+*|GKkr`d z;P3YrtlCmAy3uVPIN(?QxW~)sLqhrUoe@;r)^(t9)KD_tx(YbN#}sNfFt>`1H?iP>Zu%xrDuUKQ?oj^re@{ z0NPG3MK^yLvpybPtSnXVbWtEaT2ZMVhHl7&TZPXLFX@Q)OL*c#&1kN?w^&-^`54Zu z@9zG&j$``}^&p_)8d_qb}cah*PGoEKmB3F-u? z=-f2#$?`5&?+p^we~F;3EVr1uF)C4fGlmR4%hMF9t^6^8Q1#hfOYqo?E_prB;eqaClb&hpxWx15V zPpzd7AaI$brdo!rqE`Kz>CZ`J$Jb^Nj#ZjrLPOAE$uVbZR)+D~9q8?PrAAf&eLN#XqnwXi+N66O_2-0XK> zb?KI;N{37u{{v%M<~er;QQt+>TNN?GQRIxowAoK7j>Vt288Kv2;);FJn9L{q#a9H( zK5Q}Q0wf@jt;F9TU@&Z#(g$u6ojwxpoW-^Y5X!6yR=(ujVe9+j{V>|(k`>Ya2ITZ+ zhwC?=j>Q|^zvSfhM@TUXmh$#*mL#vMDz&{(JCjiJFUPlBEk=2%Q8N;2DE+8k*#_&< z)g}V}e%~EQm-SrLFhCkHeu0=rC|E!zom(`DJwU(4mDP_4IyTxwCq^r?d8G`XE@9zG zkD#pjr9$;tq}1V2;x*r;Jfk;_%T_1)S50Qj2XPD0z{OI;vzCX;7D># z3ziF2^}u3ICgy%*HzBXiyy*8$@CxR7pM&z}Wv<1wGi9p2wFVznwImJn27KM=2)Wdl zBgR2v$O}aLcov#jbuFnq$kxRq?f%osrj&te8Dj5LsO(sD2YY4v{hC`xIA-g1j}zmW zqQ2OzAp}uc2R96_K6zVl_TezBV3Z6*I5dnG`j(GZ7`drcZKBH7U(C)V7&>q}Uy%W| z+&?y7N)+mqE6nngG&&a~4PR9s^hwXqFckB^$O&#A#d%$L5nz3{wf2^KMBaFRFL-aU z+*xMudXA!H5I0&Hn#h4(wJVq8jO?;r6GOO8j7v244@qoT_^xbWwDDhdKYW}@7TUOu zKb&jaI9m6~ZL4Pf%@H>fQW`a$LH}E;vc_uzUbZKdMdoQ zOUhOIUMGt**)h`U4mN;Dn+F@St$Dphn%5#C7u{{C>sZ!Qwn`+*=%1Mvsi+|cbQ3o7 z#krPNS(Ft5;85r58XoO*f?h&xtdLfF&}v=%F_g6wP15~*vxMwwk}GL<$bpw=QiT=n z4S=jjgWUr~kzuQp0u_4(A_LS11bb0736GK0Ye=tjd~>vJ#k|oWDss$TKqI)|wi}@Y zi?|>mwf#uh4bedPKrlJb;MBAF0o{LTwCcFiv5*A)hH6NOb9XPnk*0ky5*MDvBXj#o^OTY@Bu zcG%%g@?l3{ebYM6()$85BIs(UrD>BWT`~oJT^Ke1BELR znNE5taxhA#+SA?KWaQ14HQ7v`o6-bZROdfMWYQH@T^#=2p~Dr+9CiAhh3?+iXu3(V zN#WYl82&b#dTo&H*|-595Ww{<-9x^5lfIDVJr75Yf>RSam+-$j}I}PbmxY2Z<*=JAL5g&pUAG{`1oVPEE=CP7k)FWY{{9>Rh;g3 zyJsS*MOs^BuM0F`Xsh;}vZ#?Ogadh^&0@c7HLIQE$jhN4mOq|Db2Gf{OW+6s9wCU0 zi5uO9_xnGS&+rn^QT3Tq9WPz-;IW)Go*($$yxiP>MAiDGM@V|V#=C~WUAuf(s2~_K zxomPjPX~j+$@?y8v8*~YuR8m5+S|L2>iXO;G(>ag0@g6hf#IoWAXt}RaVj0i+TLQH zpNX9$n0{}Sfty@`UlM(}%(~>igbcexsXy6p#{|?A4Bx$niN1o|mo1Q4@w;X}8InK^ z4SE87APU@^MZE>6URK_qy8}7p`La z52v0+SYenv*AUToPq3(KF2=MmV%NY8)nIooBExGStuQ}g(AU6VKsw*tt|sS6e#M~9 z^+6>>8es{0+MYYtsmAGifg4q-Eikd4y$U@Y=tP~CCA*;KG26M%qD{D1ZePS~sqMs_ zvJuSi**~r$4nprZ35m!jrp`)Q_ulRusAHMiWt~8Ys5z&+MDd^;tvJYlJz=y1gO6fk z#!a&eoYFGI&)Z}rzfIL7LXN|`!p}+jbfNho65iYzEi)7T`J1NKSm0ZtXH!o3__T%8 zx~YZpw;m~}olBq7_N9;8kh%ug%6X`>;pAR-;9~3JHrYEx>pwHki?Hc6O}|QBt8p$M z13fO!qn5u+PIj`3iNcJQ&P7S5R-E=J9hcx0_20=2!U~ae zY_9OxBU>N*aJY@7StvG)cR>=9Blf4}2kS=elHYLLR)FWQC`~NOUc(wh zN0G+dP*E>HMXGy_gXR4K_sLxW>*KuW`}v1L8R$T7VYZNmSQW(U5Rp=IXT|7J&x`fQ z#@Ko^gpEof`J*$U-6{elOa@$b1;t*5JCcEz;7nAA&PGXn3j3YBHy$}d+_E&OJkL4Z z`7To$;Cyz`9ux&4b$+^s6p(_@C--k%?;IX|YXY`foN&wgGOi+~L2>_lsV8@~}Am)&)1El6@W$ zV?SljjXO(I|V5vcs_$ zE$nXWHS6%YR_VrzE!~;KA(xF|f=Iyj_`LA+9Da5*jF#v(hV=Wf{NvA|cu#`=r^k?v zXk&DXDtm486xe!iAgDMV8|VRkRcM`GQHC&F4&~u>;N3J)fil8%Gq#5}_~+HO_xE)1 z&j~>udsXwoouRinFEH18aGUx*8I(uLI%f@#L9#o3XRe@RyIum1uo9+1!g literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/76_100.jpg b/examples/data/Fruit360/lemon/76_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8244de636c64af168e7e25e167362656f0382765 GIT binary patch literal 4943 zcmbW5XH-*7x5p00PRcfK(~crK>a%LIep_2uSZD z9aKu_5Fm6&NZ$B7Yu)?hez^DUvu3Y3>+Cb@|2s2huh~PKBF+Ph`r3Nh02vtokdZEc zI16Y3f*hiT&5e$SFXS zRMaFH7f1m}Mv{CA3X*6_l44TyOVV=y#6-z_Ra%{j#rQF`fH$j5Sn>xNL5-?5Hj|NE zAz25Xa9TR{%N(3s!q-GZ#jeZAE8J34Qr5hyrLCi@r*CRzZeeL<{qTw7(`Qc4on3tW z{9gnF1_ejFj*NJ-vND zN5{q|Ca0!n78cP<%PXsE>l@g;{e#1!!DobyT}W<082cCPAF}@)Sor^o z?7zVNn`;K3rywIu9t9Hs2F~#x<3xdvADf$NM%{%`s0Q6fkr(hZB>%w48;&n0igt&d&nq#6oUa>@I0zS%8_zRRG@%l-sOuirVb3jhbz5X1hL&S# zsSL=K3{Hl~;LV9Zc+p0%qb#DGKXR9`dU4{|rooB16!)OB?lBRlO@Q3!RVau5IxjSC z$zI5+e&}q#lcLuZ>|?b0@K!K=023ye%s4&~iBInY>)GyKwjS+${#lL)Wa}A18*$~m z)@KFCWwpyoLBS>ij+;icRY}FEO{b{jl0dn6vN{t17iW4d`>Dq@ zQ-e*t0@DHxh1*dM1Jow2n4}Y-XpGUq6w1-_VkqCqDSBN(#edjXM`O z&w{z~N1~7nuhA2soMjTqX~tq>HO{|i;RQVLFy_@lhM%ax^3ist1^mxiwOoJd}V$pZZ$xRr77_0$)}_v@CBa)tWE!BwS{L3%~a*82!N zE6Y(5PL3JRy9?hJWr`ZFbT8iME)wC-!j~^4T>E}|wxlI1M`)L3cwQ|X*3E^PiwV{8 z4+v06QSC(c`|QD3R+Y}oe=7`$9?Z!&-AkdX^vwRarMM@7$hUYy}u)V9EH% z`%hgJ3a=+VNDc3Kjo#&tE&8g9FS%R))Rf7b19UhnqDWCWdYJ(Sj9pkJ(QBRfJs4UpxGsH88l{RFr~*ZMJanH0CY-%~B8+UsN2lPDG%YzRwWNfRf)^f&N$VBS zUy*46+Pq_lG{*>aZ1u1}r)ZtlKATD%ovxScP%yn8Uc6WBN=F8BP-2^olG~xG_-3FD ze_S6nZR1By{Nm{S=i3!T0I}yZHhdwfdwyB_n^~dIsF59C(issDJlZ*eopip(hn}c^ zz?<(Le11IcmZIlCPa9?X_y_vK#eDH<#1QO6fFC3FT>fIn(UVEU3*FOkIgTYC+3uY} z^KLwS3XJZY196}ex!)M7nf#zzCrHaTNY7dLcynzSt#-Zly4TT58%p6KJM`-13drx$ z&vc?6oA+14TP#V*CpK^!<9Ps!J~Az7bDQ+7@Cfj@Q9}hBwDzDI5TC{ONq@ltHZP+N zJ7=Zf%@(4O;fZR9ad%)S(a}GVV%`_Y@QMs7brRPZwyE<>Q5$~s#eloxK_lwA&*>IQ zwtHrFxG~$`-?*M$8cq5JHqygKd0&5dhKgPkeIPqmTP$X0y!6&m$;asTT#ZBhWxA%`M)qd{G|JNWCP$n6^?@e(EH=Gy|Z8RRPQ z+LyMxd%NvjGe@no3HM}rDiOF^g#|eLgqq z)uNk2g0$9+bK!*}wS>cQm(<3(!h}(KwQDJPcTq;&XRsh6v!)>Yxb;egUbqB8dOhOD zYUyJu%i5h~B)mF2RavO*33&68VOuM(dH}cSR30-a{-!hRPre9|Bxx=k_9GWiI{XCJXG_~Kv>1hM<6Mqi@Pl=q>$2uF3^OH6CUDTk&G68mVYc`<9o z<5q^}x2AeRL2)3s!!ILfphb6Pu)b+iB)Ttd}D@?%TS}Uyqe-G2Vd^VdF4KCsgn{w`E5n7vVpLLxTNCnq@E_1K6&3t!B0>VkbiwRirK(Ho3G$=}Wb0-U z0p2@cIzrE`sdSmjH9^W7=_M_};2(I|u3y#JfwtdoH?}IN+)?1zg}yoQNGdfY^x9VP_G24O<fzuQ~C}sr%E zNxXJiDxki0X@*AHHu*~P`x=eQ1Qep(BYNWTd>W6%ADwq6*>}yH(p#T&y`&O93Lwyo zzYGY$flll^vijQn{du@&6^&$7g6UHsacbb^I2+&Pw;YFdzp~H!NmEY`?4iKYUr&0tu%iR*Gs&yj3zEx2t zCNOGty=AWH$>u13WGIAh*;8)e)Mw{@89v3CK#x-c4HRasj>Ok~YJdjZhl-v&?6!=$ z5U${~avGiw&huAxim7oeO1v;zNUOu$^Sbx7$S2BIJqOziUl3|oH-k%vYqQVHhs+Ql z7ITVUEz{_UT2hT7^e9thb!AKW1!5m}yN{h;_ETO4LTB^*h0|dqhiS*c;-u&3N^oqG z)q6WloQxQ6);%ALPh=Xo7po zrwzpZ*q`PWKG)w?8)VCoVM%V$OMIR0*v}lwAe*=L?@iufZ_2)@_u?Jn(62oi-;EI1 z_2unQLn+#ZjJuF`rw$J|r0S0=ZuoYjZnKZvHT%3&@7oLRU$>L{lJaS50u_nN^V`i+ zM)XW$=iV%j9>l;gZMsk5KhO_YPvxeN9jdjzNAP1yW0KwZlvZ?$b2wgyTaj&cQz2D+ z7jgZH#@QyVJiLP$iUhmCpy*hiHmOz@VsFTR4qppHMZI zIDQgA1VF#f^AV)&I{z$7yZvQXi%k7dDP|&I?QfKRWAW;+YU~xV9mo$+vODGgph%9Y z3YF~Lcsi|8KK5|1JXr9ww2Nnj<6BoET~1@T4-}zwa*ecwh2}$L*oN>{yKDs=JJG>) zVLLkgu;)DqVd>s|$@#fq!_9tXW_{ARwvLrq4|2-}4J8L%T6E9_7_#~MAq&HAkg60m zKl8;t*3)2na|=b4z}xvs2#E;0uerUfsgze1Vm!cf=g#L}zz(FO{&PmYtE}ixW%{Bp z(lLCee;|OGMYWf-6EF-~>4)mIU3~IjKEi`g?E# zG-ZW1tb4^a9soE9{@t5k=8ihUK^C6X6kQOyCB(8Re8G7Thvl_3SJX89`OOB)ixiJa z#mLY&81KofdT;sKqM{2YTLe#{X209B{45!hzoGH?VqPxIz0{r#Af_B(-=T488U z$AY5|VGL{Q0j1B+Jm8$8?d2T>GW{0@riF7;B?F|FMCrh^hX~fqYl});tKcRP=OM7f zh*l^A+aoWpw5MFo3V8=$=Xv^3>5fM(*O5;pt%WL&EFQwze?=Q&i9n2dMV5O}l+5(6 zei{iF3q+p?v~i)H&5=X@kP7sb%w0irNojdWv_eEsnW3LSO;kY0%ZjQUKQE?+i?6sr z3u*gWY-q0uYHF1>B~v5&?h)_A$BD(MV_s##+s#?$f_TdF94H9d|A+d`!f-1?WVTLZ zO-y<~TZxT>L6mWgo(eomQmC~p#llIoxAIS%_@QHph0cCWu~=`PA%;|g-g`?r*PtLy F{|6m)k`4d> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/77_100.jpg b/examples/data/Fruit360/lemon/77_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8208eda9e457b06fe3ceb9114b93b46bd05c9e1c GIT binary patch literal 4946 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 JBRlQqzX3^1h>YyE$FjXn2V)M@G>aMsMo)Ci!X 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 g+t@@aF_h}65}qO*^o6o@kQUqo4M+yDRo literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/80_100.jpg b/examples/data/Fruit360/lemon/80_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b45d01147864a462efaf80ee0519aaa6562ca16c GIT binary patch literal 4994 zcmbW4XHZjJx5p1e2p~!k5T#jwfJg`FMpU|#fDn45tB9dUFF_PRIzj0W1qA^CsiBA7 zi_!^57o;aN1EIX}d1mhYazEUA*Pgv*pE>KS^Z%_qv-a%M@zYs=SzBF89iXBD04mA= zPA7qT05#QL`|GLy+8NMaPjluB=nO3lE$u%OOixD(rU%o~(w(KFXZUNB72{b3#=j4L zll=QBH4O+v!vLlQ{}b|ma;J>|3msq&*n_C90n{v1AQr0AR)CM9lja|J6tVvr6*cG# z4K0`=<18hhf|(*81fqzhp(v(A2U6YxXIN-huS%-YUVzzvueq^Fy^Q}zcl~Zj6T9IL z0>8Aadk8%P$3@OdmjwhNLc%v>WN*pID=6N(ucoe{sikf7(AWfSYG!U{@8Ib4_{md` z7oJ|;KE8ghUWdL33x6AdPI&h|F)2AEH7onm=bYRxdHJPfE4!u!TUv?U-gJl&iYrGeG#V%-Ab3uOaRdXd zgUwB4DuT(9h3bV;D`z@4{*2&Q@~gZ7qYl;7gK5b8*M!$nU3O)P>2VgKzaV&#f}@(u zQH?mq0JSL7XWU|k*mAhnDUdUe6C`rvNwOnY=v{13A>K6Eu6Z8PES@=U(|_y3GWZEs z%*88FW4(xr(AoUUqlw#Q0m3A!XO@;MG}F~eodS_1lJ^a={gE~ZS<#b{dEE!A<|iLj zdcU5P!LnYo)q>>xf$Zcxm*LFGc(76(raFp?C*`gPXD)~+`l<-r#q7xBLOXt1zg6;f z+Ng$x9&jL>lDkGR&Q%?QJ@94kZRPC!x1^?1fQF8g_HhRB^FKJwEy5s#d0+dk($q9AdVV zl7n`9XW6-^bxDf(W14&DWE7y^={NIwqKL@EFww7mrwC<6u>2PN?F(?!FB#{Y5Ly>B zAeCR5D0x#u&P+kr&x#@feZafqF^4<9{LuE>*0?P8n#n=i)*nonMBlkqVK?NBF0L>3 zFP^;t$EotDDdMgLaRiOd@Sz;*?@s?|ww9``9!xYu+#MEt;=*nJTuJLdi-C47M4>Gx zA*h!EnA;qS_iz68wBh`yZJ04f)1D~96DaEOPr44Gn4iR|gijv|<_dpnsnY&^v84xH z3U^I_2Oc2sSgQ+Gg?XeTHiDpA^C?iDNA4EiXj4)C)G$yqP`%0qQww?%pb1lB17K<% z7!GBW9igM~a%>dRA&Tp<{=}dLsP`QqUrJrix5E+yGj#n7R#4(EI#C zpQk(0JOwUqDx{!+#BaAL-jNCTvc?e$WIrlV z)VUQ}rt#L38N@Lh0KHJsb^X{~=(qgAf$X6;;&&3m@;g%Om5;G8+Yw7vpUTnXz1_zr zlJj*jx#yimzDb#@O^erAm!Q02`)Jr;h`Ry5;XRZtI1_#`jz_wYL+-;}QT*n%{IC8c z$kT!^3&B#-YX}&;kq--wv>j`ZU4yBD)D|C9el42u%`!*}8@tp|A0YnrQb8B#9*enH zUx9e_DGW|Dz)OXVfnJs9!9v|01>y(E9hUa4D|pIJtH z7+TLwzU8X!4=jmT-nFp$dDS%Hv`&F^8&PT{J@&=##y*mnX{k%(cLS4%rW^i2m(knL@a44;$ZMEM^7fa(z{4PrbE zPk|o3W1;5nQv)yfllp{uk~DZ|6&41IZerbfT)4C?Iqw)OC|F`v&%p>w#q53fNkyDI zzPlQ_j4v-1jMb}8oM$t>7r%7Bw({F`XJPI~aVlyU1^X{OUttyrRI6dS?DUGHWB>?^eQyk0+rl4+1$nsysT;CSS%U=AgS1lS;!2 z6Ww_}#6EfdZdYWY)#y5PdRMP2Ms7bcHce5}g zFa5dbpNIbG38vFGsrPr{JtEbqWNZ0!*2;`0mcd0B?`$b*y(d2YzLXgf=n;IUEu+epwqY z(4~rO#mycrqfy76E1Al2UWz4T-R;_r?Glsj53q_m*NXvEytUbU!Mg|}!JVr%iI8tH zrJd%Vv$4Cld+XoU{zy7Ib8AEj#+=pI;bUY=JRDnt9x?ZCI}eOILf$8b5*-e+5}KpG zr87O(Uq-}1S&%G+y|%h_)E_)$$yTSpnQ+2p{Kr$E30epC|9rn2Us2z;F^8N_p3;1M z0xLurk*>aZ=eC!RTResxfTKpTs{Gz5)yr=qEWgErqQ%S(6wgMrD+KxTy5v*`dFuvgG#{#0CVDdzvOHp9oN~k1Srp{0 zz_sV`NQo|?R$Uf8G5YIXM~ln==c31Yz$sw$#!A{GmDVdNJ5C#`wsA1b;f=jz^PKi8 z_ePgt@H2%C68vB#&3+9WRd6oVUuHA27KONeI2sXiBi#{m-_NQ)o8MIiwsMxy9YAZB z*z}0I4hlOge=*uI$go`N0-vL z50}?o!I8?I-mZ}@uG~FC{yiBuRcoD(;W!a;`7x9!rFeK`@B~-9+F`_7^5scMXN?ZW z>vo<|rEkW`1TL-w7#>`c zYZAO~nP+!AuX-$!QA6Z8@J^Qr*YjazRuL&mwe$+awZF3oswdKSWH+zma@U4+8Z7xi;|lW~ZoAvB4vjG^q?%cM8Mt1s+`af1 zB{)@qPuFw77v1@w*8=h&KA*#}@n4rL-xppeg+<@+xA@*qte?Wde>~ZTg~eBXdQ2to zRs~#-QauGqG+IQEuVzY-!MAzw<*&_ro=$6A5F9lVl8 z$0Y&Mb6?hf?iNB}x*C?rc8is7vD~hA_=5oz=fktc#s>KS@Q4bJE3Omif+YSjDuy{L ziK9nOAUp6V-&RTaRZa%vY~AP8T}0?iueneb&KSzUu-qVgq%wFS>~q0@p!YSOb({5C z{F{J0@Qs$=sKOUA54$DPE$xd^4AS%Z^u+p}#&+oAMdljH2xD!2n6QcrMa|8do1e~a zivUK-yn%kPPq*y~ChD9OFwf~52j)UV_Gb1QkD~)r$hssyok$f}dA%R!t;y+YA!StE z*~=dWg4}*PZ$tO1j#EygPkQis--%%%6?C@mBQ1UgW<-|>IY4^e2dOuDg4368rxY(i zS&l^7^x1EEQOiaC6m?leX}f}XW{JCYuiJFhbJHr0#nhF}oLo2phOgF_GLekw>mH5K z{kl7+$NtJyq+Nj2b>`!*(zq_#b^5a#C(OQofY|fF{b@d; zUZ_)^sU-j@#Z{VR#Zl8u#n8!L;nkqr$f#YEvUhY&7*Z$#{Ey=rI8ORzSWbbbTcMHj z$n#I9c?jb*L%ZjsjU&l7yLdaBUL;;j4&g+f$xdhovy<%deG1^34TBCQqSTV-&{FF9 zenQ0|^IvIc8Kk1+bG8DRChDMl9*U$V`R_lAnV@SYEDom^;WMm9#x9@2U5aeqno-$s z-*Fx8hxfC6Q^j$1%IK2I~o1GscGJzR{HsU78v)J_k!r{!EQzP=tp;PEC zm(z6OWqYN7u3Pyj4qgIFarsxIG~9j>}%F+>I8Kj;Lz37(F8ys005mf zfI0=-186{h?XRc#Yjm`KJv|*AEgb_r1H-?a@eC6K;~7Q<1|}A!Gt7VObi~TS%=&lo zca#4trJ<*#rDtYjVEi}af90r+04EdR065TsL;)I35G^N&+6suA>ZJcy-l^FC7>I_J zj-G+>R0hjwKsm>$d|KL5(e$T^Poo1)zXNof^jw#&-(lc3v}F`^=aCPJ|G*@6_gfRM z(clhP!OkQ23^U(3eu4Aimn9^nq!pEJ+*DS9+*8-k)Y8_`H8wGQ1b=LXuy=Uk==9Y2 zndeKCm$#3vUr1xA9C{XYkX#G~WCTp)nCMFQ2vi<_XI^O55#k-s#k_7c~f@3d;*L@^u zpfJHRWs{v%7=^{Fb}cpw-lO$7wUv~c1IKQQ9UX4rF#7KV-=%)e4!WVs8~#k1q&E@D zlOf+GHJ8FV#Z+*~C$g9(6D1Nu@&lsIPWOa%C97!N*qZarwx4x{2hUxJvn?Ce$`>eZ zt&rUHhKnQlwW&=rGC#s5umJ}6y}abx!M@Q6?fgMa?Z_jsNHjKe>qgxthy6rm>mNfI zb8}lbtk+imlm~`YUa-C(rE4tP)SLgO9x@e>;vk(@7rXct+Wf_5O(Km#b9y|E=;1l0OOynt_|8UqgHqKXRO9_bc|{px z^q+6wJqtc(hZKv>%~dglikaT(+f&hiL3nK=Hwh zx)gCrDjsPa2K#;(_I?y9@#=YwjHq{q@8@2$8lBp$9(9D zNG|)5I1L`1L&FP{YW_)EFaAW#=GhT;Z>9qE+1rx%N}l~)Ea_J5t+m2I4c=n`!X*u! zhae5!{#V9?gUp?tM!&ddl#~g}WA?Yvnhx*c5^sYY)+#&$pGoWUykC=WNSy1edAar| zCzN-}S@zMZLlPQ29J7!q?-q(aJIY}(t!@nW*{cQ#YO)U}%vJgk_wEeZJ0O3q%4=^{ z?-r=2tfQ;Q8(JL=k|R*ml7FVT;oB~7GTW}sr7lPNgs#nr0BK`7Lv1lu9p+oVgtQNC zQGq;6mav@rSBWTMevT2Pjc=ati>tEl!^ek*Q#>&ve<^kZHoBQO zA0MlMIv>jMU~x4<<9khcoOe3XO|5}n(20&u+4@yl^SEPmJr*80%B2_PQ6ftIqJ0z@ z(s6&@A5~y1d*E%5>;9+~;X3T>T%MqdC|LI6hYYR7)LN2BR3P)WFFe{N@-eHU-0ibi zHA2u46@aYPfe7$+3{4%zmcZTU7d1KeYh1c1z7uY+7!yH|5`?=gA{7++giWu%c@Zjg zp(c7s@TCy4o2&)ad2z72Ic@!ZEgC-ZVpWwpdGP}xG{cD@&H4AZB@9=0TvKInOO-`h zDJM_hisFIu*MiOQ-y}kuI`MEPM4edhLH_k0RVCjAIIC?6D@4$nvD^!FG)M*LbSXKr zXYH*hX;8gSpjC#EmrNfeuEHrElC*&Rnu;i1V}ru6aQ`5gbD8J*pkEil$_SwoaD1$Y z;di&vGLGnP=VZ-_%e2ofhb}ar=caMNWR0Pj_kkhRw@TBZaTOw)?-LpA91}+&w^(Ml2RkbgyG^&gxC}f&6epF=E_hsegXZ-3mJ~Qt04YL^A zg@~MepXBg3%QU@fx2luX!iLYiPtN`Oix+ASTss>~kp9IMI!N#`SCWkuPc(Zs$duHr zkg>d%<@p%G^WscyT~+PO^H9+@;!ngMbC+;j&(i7IK6W-Jc7~wv6I&Ont18pL_O#W~ z*sQLsI+W7EPZ@}boG$8ly;V9mUC%1UQYoK+eSVZ-l(F#>xjWtuFUb0IoP&Q8vVL>h z*YiSU3KjT=G=3Pn7AT(^A6HOsr$;kmskE}xS;~?Z4K>_^3d#uxOf#rbkU2JEhyemP zY9-u(1hsO?cyA9lsomL#P3+x(M`L|^L82@;#nKz5I$h8#oq1trC!SyJMxSTDJ}7q? zTSp*Ar%FfbUv4(3I5X{=pCEVf-v9WH$6l-WSc&7ROvU$FxNuf1g#-mE3$kSfTxlhn zoDX=|jdf|^v(4Vyu)-6#w)~@_Y9E!G95uy*HY&3zDJQ1Oi27RSu7c!jOV~bR+G-bE zX890yr|D!X(ygRF49|zc1ZAIprABaSsmyxN7gwmI(w+1uT8{0DYH;-;-XAKys4Buw zgx@E4CGnd-t9f-ZY2o#WH141gv%86 zpwwcb$Gko6do&F>HJ>m&g#YOeO3lQ`W&V zV!keGDN@f18>dFHQ(qqlkK*jn*Dgo4xqy8}65nK9>=ho+o)1{)U%v7#;c*pTktY%y zY+`ERn>TscRN6eK9astm8vA)6>o?)?YE$dG4_*{Qen1*WJ{fu`+U?IkjL+e&_c@I1Okllw(2!pQKclL%-fSNXJ<3uz&l&SBO)0 z&yuOF4DU0z5%BS{Zo(}7F@8RryT_e$wy5E5+_|~e<0Y1F_YeAz1S+s7bJ#6*4Pe}g z^~Ftz5W!ku`xrKK<1PC7q4_59Y)99(IfsQTj(k-V*x} zS0X;$D=Ne@b!F@Q{Z&OV3Snp$^z;c&?M_4ojyrF3#3Mh~^I*l)j^@jIImWm0AR#=2 zB92SI&*x{eI@J!oqyld$ZmbWAUXZzcwg{{LFd;f)SFIxQNcd)tFtTOTxp)j8Vz5VM z$IVAKtDpneTnY;Me&ITao_b?B-&1_o%}o9<(!~`P+xpsi5!#%kQuVm(IWrsGqd7b} z651iLM@zw@ISCI&gwG(@>@jj3E!9F=wLuTZwHhu=0ASi_*n zBKp!%>xXIg)JFIQj|k>n9J>OM`94koRrK1*8?lVSb*L@8o7?kV=amv*QAyk@+p2C{ z&3jQu!`4aIE}Xx8?>hxqnspxKkTx`n8Ew!~m(yw5T+2VnC7Ufy&FHUdZ#l4ardt_x z*sb1LDTq)C~ z0StbmOfZgrMgA`R^7Yx+n;GTycZv#7H+PwnJfY0!=Y0;QvEu7G^Vd`}#`lFtoUd+R zLaj>;TBtz8Zt~vMIwjg}u!Vfx`ybs}cC4XjUSiy7T`)n(Mqws<4w`n>!Ww!r#SH4t zXH`qNRlBgbHY&reUj*0@C&7)(G=%`Dk(c7XV5J2ulg{)lc51c`LdnPP2_MBDW*WP#6p-YxMSxk)Mg$FpX1bFEs z3GDnOiv{l&=p4K?4Cywp)@=PfKTKxdBTAOzj$1|F??C%x!O*w%JFF0=54g_k$;tyq z;xCe%PxwE?xkgCnjj7b)Z7kQ0Zlp;W_|3bEi~?)H?D@!}xK<3yb>p@kp};72ZxuoW&a|m-9mJbpcyh~J|*u?dfIe0MD0r0q6aWcAe z&YJ&j(v!D}XM@4ALEYiYe)F-AQ6xUvi>pMvcHX1K>$XTXFR}9YQ&jFPvtj3>+yh;d z+!l1uTg~2tkWpdZC$T~sSPwhDhQdXbYOsjSs5)@+KLiOAx2@nfvbi2{k_A3n)y{M5 zXIK5eU=hqt3nlp4i2R9e-8^XXe|(M4qbx(qm|I`2R*kVWOGP8_LR9V*?WQOm+Ss`` z#OnKG1ThRZNrbgP6pv$by*)}M5w}_N6r*pO0^Z<2scZnvaxx%NzTL`?7Do45vz5zo z%>D3&9uOQ^p6-75m}I=G9+lXm3Q95@i9VUeG%3L5V_|G~yLT||2B|qSV$mY+v~&9R z==2AYY+mN!pwv=*2b(jEjr?7dxR5$ETx8LC;_KaE%YA$f?D~={$1WKgS~!T!bbX^% z?=N(Y%mq6+vyZXE1hW+R95jm%_3QMQAAFT-QNp6kAGUmjRH%-R?HgJTr1_BX1^$`^-S_Tw{v!y^^U15QEdEoz|Qc2D=~%yCtt55h(wgfvH851 znRtqDEfN?OHkC|$nIw_2CjOc$E+wHumn>aR@G6lJtG^bOr*V~^i?N$skTj_A>Kw0) z+(TW%`~>H@dj~jn&-*=`VQEDOqZO>~X6+S>`LtIqL88rT(!%|Y&+B4-@YUPs+_YnZ z6Q()R6*Ba+qz*orIDpZip-9LyLgYYg?1S8Zo6(skPvJf>S=!6ZH{_;nKY#gTLxXqW zMLP=vfl#l6cLa)xg^>PSvQ$HaWGiHtN{l5YijkN}NQf+1iwRk?ugSiJga~6_vhP{P zzD>w(FpPD6)AxJM^ZfJt@jTDQ@Se-?9$$m>GY6$#f=<# z{ab=E&mDaj7&$L+aq|dW6&ATBDtq&moV>zqmHVn{aCHsMN00RlkcLl;%*-ubSiZEf zc6#IN;_Bw^;rqeQKOitDI4U|OHZJ~C!sm?4tn4p2xp`kpew3D#V=F4Fel|6?w6?W( zbPfy-4UgbP$HwR8@xK=qm;NlT5Vm)AiF^B`gTudEQ~>B-EQe87yuw9Y%rf0twnO@w;0Flw#;&|@Z&&Vk#J10c=i}nxM{|?OO z|3&s+VE@fE4lseJD9Hn{0x;m@I3rjD$jGd!!j_arZErY-iA0n}DKtF19c6=09WOd% zq{=m((wJrO#tw`JW?9sYWJ0>%*>l1+!g7?{_@r$XNjV>-m6=CS@Io}}|b#-aNcOBiqtGgT1S6sHBC6e`hw_MLk z=k?;r&dSucnw`)|kLR@nfUY8@do-(o#9yJ~Mr<)x;Bl&BU z2ZeYD$DWPN$}-PjDgJg(S|(gFpP$yzy{I2S5_VmGv}Lrk_iQWteGLN7{pLDGbs!3d zEGM{pE0D!qvWqjd-?$&REfd>i$0yYwJpXi)p?e<;0n(MwpBsm3c=uZH+ih`KacGYw zzZy($$=6Ub2rvBBhK?r6s6dtsFy~;CNH$GlJvWK2Yv%QlVwl+*$9-cJ*KyScUO)-l5~$uj=fGk6Z5TV6z~_jYK0iwWv}0R5jEU+3EPS2Y!h&Eq?)f+ z$Gm`zug)RXRpzpWpaOXXbp`BVfU0ARd(bbcr%z?_YRmHsYozu z8^JKu39O)`t6uIK-O;Xbl;=0k@zafxcIv&oWi6^Bo3OAIv_O_Vi4K1%18}v=+5e@ z5x)X~KL_8(hqCdADG>beU_il9Log}27eNMcAAbbczUgZ1_>bE+-ob-}p>Gdg)KkvP z1-A)~R$ipuz)1_|9C#3(PqY;nHohM9aIPkb{ZhUA%^tbo@_M0P-{b0Elm{vIgv%`= zl?i$)bc!C8J<9V#WK z!NS|gXEe$Njuma^G3S;$@>Jez_>XgnHwoMA9aJjNJToiva`5Ry!Pw`tmpNQ!nz-^M ztmHQm-wICE5eI{st8}$Drs7?W#15Tb;y14|ire+lIQnq(%fI8#a_%uD`S)_o?Vx5} zIeuBNh09&l~Ot&jK3sv*y`#BrC~9IK$OQ|nhl zRsIb_=HsxL0=BMX`Ke8pxUlKfA68>lUZGbD6D$ABu4;`74Z`;f9m^yyd!#KuT+m+w6*i&LvgMLuN+Xq~fAD}9_P zIEZ+WaAb3&^vThFagD|BkO-C%RFjNU?tmYO7niyllK zDN}ciz=Ez_Ee)?dgtV^d7nqc|i{AQfn%Xu{sP@x}$>viBN=veFNto_H2Ss zt=V=_JF>u9{dw>fG-pvXy`1T6^;<6$LeY)^_U02!1e$bva|MGi2wpnilk?X@Mj;1B z5YR6TA(Dx)aSs$RtU}D}guz1jnet#IiFxjuXO`C&-8m6ghXONQ`ew9qkz5UpeDyp_ zZxEtm%42WcD~+W^OS}EPOH1Bq>xwOKe|I-)Y?4o6Wqf5@FzIGR>|Tu5H};f|Da8E) z>TDGj27N2VW!EnSie-HI17(BLxR2U03&jq}ngy!2YU1kRJv>(zEm!TeoV*4#UK%+; zJY!y6RZ}c!_Ul757>GyG_7*Iv3%k05;OF>XuqVxiS4Z|0yg`}t2IckS^*Y_`kJNoP zumZYa*{&qtUTCRT87G#T^psQG_X-E>@*e+~{L)C}59@~?YBQ_sbe0Rs2DA&yk78qq zl{3C}s5O@o+zu-K1aXT{lhN96_3 z2hF`J5M0MobqmL%lg`)He$hsa%TAAq#z&^bYlkG(V)Qz!Mj+b_2Y)rbGX6#`?%+~H z)Fpdn#rO7}s|V`@v-W;JeQ@G}LEDrv@kojc(4-Jbm2aJVfU;hhhVEF!?TngeK+HEa zl8Z@Vxou^br*0ex`fnWM8DK7*Hn=&ASE>UE5jv(1GxO`dQu}*KZt?RXa@Xo)slQZL z6?0FZ&lDX8@T0gEkkX0S&0SnyOb0a-naXEq%gGW!|7Rqsg(v(-&10 z6v(IS6nuPd>G`fciMz%|r6XsBmxmAz|et)Jg_%97;#pxtdr=K~j+k{R6x z1)owc==fBxVu{ze3D^un>yrwZO4Zn|YLRX9IBN$$72piaI9%;^{? z!jrk|TBVDi3HUz#C=u9SivE0<#B2#?p^05f88Iqw)?Tf{^`q6wp**B(L#}Zr#F@i` zy6%ZY-4{cgD|?gqZJetYUt)%zkpY20UYyLl?ZcK_t(+%atTF8u9I>5R9L6jtwauRe z;pdfxJA1_Y(?0%=!pOH(>|T=6GdvP~F9v$7t>dXSY@0%J>sP|{X{9tj>_qITZXTeX- zgPEiqyB&06^W;tpk2H04eX!;Zr;?TBPm$6(7hdu*%b@cyTldD^ZH~Gp+BXp5(x}5e zZr^P?AQrX14#eU!qzZVy)${g#(SYUw?3B@JtCq;erbCLhHIIVx+FH2j4AX0LO1(0V zZYKlpaUBk=hC3+U0u4J#wWm#;?JJrMX|y;vkrU1;J(ynIR_5y`uD-R2z!v`y){u0G zKHwSDh9jIlx`P`YHb=6C;D6XRC++i99^ydxs!nDOf)bnDM7m3do~kM~`6gEC=C_Ly zym4I0Sq|g%eY}HL4Waj!3wYvsY);|CTCQ&o*axTh6NJ_qs{CmOL$NXQ>OWNj6q?MV zsy~@=O=@c?7k`=Q;AJyWId`_S8NwQ*<35F@l38JBD|6tn3|*=WmAD+#+{i8-G734i z)*=HJ`BXpX<%6OZ+Xu`mcA@y~BC%0}MQfy&&eU1u+@$zF&OcU-y5lfooGo9l;(GL- zi6*R0Q4CZ2a8%Oah;v)ujnZnx_#gK}7s?H%)%V%&)7azRYg}@4!r{2^#G-TJx4K8{ zqViedtwbTPsaE&H&r6%ms|)23b{1eq*2#5wjtQ-^dRdj_%eBX0fzO`LdCINb2&{Sf zHgCE^sksH7aJ2eGn0wWaNCuRL8%XhJU%mP$^NJl6DTyP8iX+0Q69QNB6f&W~x9VLQ z*Rk2AYpj-!=jwLU60Eqap%{G;Zrb+(h!xF>^^XboJ)p0c3zh!lb)g`J(s2c?oWmad#*DInxJ$Y%d`)&`9Z# zE&0s$N>7TQigO*}+`A?cYu2B4tG`3ALB7u1O)>zWWOGOlh%lxBbO4gLRQ=Cd82-|uw+BbgB_Ml>TlEPOkk+SDUFAMfqVLbFQ$ zMX^FXbkwpd!gJ)9<&X9o*~gtyNyg@d2@jLnAz<~BVmDLx%mJ%5LgW*{vl+*L}uL>F42 z^y9c|9_HtkFuxGiH9u*x5syIcz_Li7aC^fwsJ&Zd?vQ~|HTswLvFU3X3&$ zaPz4vh0-AhmfAUs;bT@q>1ziW8y>Ccc(oE*D~*XT4i75h>1u*@UH2cHU2hXZnY-?a zsyj09RJ<^aWo*KO3^>CMhr3p0&OKLu5X~Y+;~yL5u#Orz<2Ugm$(ga@vwi5;pA-n8 z!JqwU;un{r?g_d_4Q&T4jtIEH0D$AYD`q)sN)vvS4P03o;ma5_mjJ2HQZ+00oo z@H}FMtxjZxvre4k?Gi}_vcD<(82GvL8_NWeF;A+d`UTKRW6WkZS#0LNw${3B51Q=O zXTYTJH_mMz$N6TfX*wsb#UoHN!;!xz+g>39&loVz>%HqIlofqA3H8CIVV+je(U$yj zLf`F3?blC-JsngzP8b5327dO3ifZ-;m%!qSN7r;LKBfq>iuLMHK9@~6+bNCc=x;`m zjQ5P$^Eb}Axwi6LZ}UHXk~U`T;XMAT>if`jy_YZ0YH+Zjrz-nH*>P9+BKDXAeoDW8 zbm<-JB&iPKHJr+PnQ$Y37|u+x)2ilU(H_pcZPxW^C|={adl;hoPK-t6a*G$YwHIV) zZI?I%iIAzA%>V5jONW~d7MqpFQu+9VWNKgCAM8HKZ>kxTZZ=)~IucV!sc^Ni@^Ybm%LOxtM}H~?1;Vmp_3iTnhdf{^hxbUA zkD$lrP78SVRDL6ZQKooos>5>E6M=Ala+m~ Tqf=+yk6rgc1m!;mh&=Wm+@7Rv literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/83_100.jpg b/examples/data/Fruit360/lemon/83_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..afaa4a2f31c8e2fff99f0a8b3cd17b89d32cbb8c GIT binary patch literal 4977 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/84_100.jpg b/examples/data/Fruit360/lemon/84_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f083267b027a772d6e0e1cd3df4b51596e264470 GIT binary patch literal 4961 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 Q)k2oW+Slo;!go6SZ~D!Lv;Y7A literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/85_100.jpg b/examples/data/Fruit360/lemon/85_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7338ad5582713a015353406729d9d2a69e665b8 GIT binary patch literal 4967 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/86_100.jpg b/examples/data/Fruit360/lemon/86_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c9edd761735075f4e37752b18a338be7a0fbfda GIT binary patch literal 4949 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 VnS_*D^=M9f*#Bo`KGlN zI(i1iGa0OB0ri|`@w$aeM0i z%+Eg{FbEzT5)t|8b<~^an55*C)U@=B%&h!^!lL4m(z5cJ+PeCN#-`>^-95d1{R4xa zzl={zPEF%xX7MY8)wQqd8{fWf68H8GejOf>j!*t@(Eyamz~=XV|*~=t*&N|{`J&g@jC0hAgm4sv8yDiB@@#~*%K)hCHBvzq8W*>^T^hQ6Iou~4j$FygZsSnNrE zw9IMXx9oYi@BmV}8KiKvw=%OhwPpm}580@v0TzLrHpcBg5&U zb`>j!aY0QEe&2h+L5e&!uk64E52ANV@Tw!v#d&{whyUdkhnxa)cPxLP0z7rBWmoh( z-uYQIWt3g8>XwW=HMqBjCLW|(k9XB+`UC)1WHAlTbA=d zsUD0Z;CS%O1et&w?x-K=#^9rRAf+TNGk$!9ne3*`#i2yqsYG)MeuEVC-C+X3M}Ts` z>NFMi4g->=bFy0YWAVllR#O3be1u%kDE#4Xn^?Sg=soG#Knn*~3P-`WkW^lChYw(G zUUPkb*Zk2&ALb2z9-FT4Ci3bhrDQiR8>Tg%c9*>Fg3HNE!u|P0cPxrG)LoK2kFPka z*~$1-TBt5p%|SxiIC7}K@&|{yk;V9@NCpz4b-WkGSr%g=sP!R^3JfWR@+`H>u6cs4 zU+>l^SRC%;K*%B_5n-Pt}R!ZFgDIOCzfrKE2t=*!2A+A„{$`WCl(FC8H-S8)?xW=mrQO_lD_1T{C(&Dda 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/8_100.jpg b/examples/data/Fruit360/lemon/8_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ddc8f60d5b0400671a4cf8e5e843b05defeae48 GIT binary patch literal 4900 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_133_100.jpg b/examples/data/Fruit360/lemon/r_133_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e8c2bc5834fa86a32f13885f48e9660e35fa866 GIT binary patch literal 5246 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_134_100.jpg b/examples/data/Fruit360/lemon/r_134_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0e8f2388a2e0640f3b5ad3e7007b0f59a9e1090 GIT binary patch literal 5192 zcmbW4c{mhaxW|WKWG_Wy`5D~PXVq27#aT9pUC*fn1FvGGZPb#3B(Kn{o^dGr$8*MEFjP+_EW5Ef9zz&!Oq6< zXYuEfe~&UU1A)wJEFhMDQvOfj_zU37DS#Wm4agu0U_8SBJi~C@4uG8KWd29qiP(RQ zff2~W3}QKv!G4lZbNWO+5O^Y*`9$$acErg(fawe~&jm$2&{^|)ETaDBl%Av%oD#cM z*~)A2gD9@-67ZCjjqf~|UqC`qN?PWkit1%G^($Ae-+<~H+%z=0V`*h=V{2#c>gMj@ zdH;b|U{LU*5Jc$X=w~spsJQ3xscEm$GcsRiWfv9|mz0*hD}P`0xw@vduD+r1Yg>Cq zXIFPm@6hnb=-Bwg&&hfG!s62M%IexWX?tgvyhow#AN=8B0095RI*I=y*O?P8#y>q^ z`NPG)7;@skGfd1E6hSW586Lu z|2wd!|1Yxt1p6s|>rC?)sgM&7|m+OLFYi?Q;0Mlw-hIr|``FqFwFtM2f=T z-AZumnnjpK*wC)&4eV?W#FaXD#HL4lp_hRlY-^M(D>oE8!?Yn#taJ>h=>q}R8!+l5 z2<;r9(}r)$XZ{!fu(j)USgKE5?Rm0R{ZWT*wWB)vYA9`cQ!2{7V$d6N_~w~Uw^9eo z8f;*{E-5@P;oS^da*^w4|KGq7eLcC1doJ1no1W@F|4Tq0i zpu$K90_DD}hECYd!y zk~@g%ID)0bYUom7 zPI-*oIk(TugIZtq(0x7^@p4s0Pt4S<%qAYm

      FpIwC=Jua^;7);_%!A$}pV$TvqQ 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_135_100.jpg b/examples/data/Fruit360/lemon/r_135_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30659861577762ab3ba81bb13a8bdc490e781974 GIT binary patch literal 5194 zcmbW4cTm$!n8$w*igW|g6o@pDE+EoDL{LOPdN(4yNK+v|AR-_|id3aWx=0CCq)4QL zGzlP0N~qFIC_*5C9KP?&-TiTY+}*SDJhMCd?9TVIyED5>o+K{-=kMw0>HriJ06=k8 z0P+l=1yEA_wZD<_uTg>iMrtZ55ETtI4b4AJOLvZjmX4N&<{ZO0I{LqMR%2wKXZ+jv zJITL8DXBpqYI<54+J931Pl5au0G|UK0Y?yp06+<*0D&pUodD!aC-pz_&cyy}6qFz; zY8u)z84PC$_2|#ib~2_x3zWd+||8jVrph?VQFRU;OOM+;_Bx9 z^x1R&09as9ctqr@sOXs3-@?xxi;!lz;bt_AeI& zWx$z(z*N-yGBm83Mzr?6Yyz@j=Pukz%Byap6O=Q?vp@D5q2~~~juqbdi}nxM{|@Zs z|BLKD!TyVD8ejxboNXQm3}^r+r2JSqz%dgLNA65?8Ad^wBnEK_El{VDt3X7iZSS2A z+Wp|))G*w(0`bW&4MwLHyhvC9XJ%h?_hJ8KnW@Hwoy3eNH9U*$KI%0Ix`+f5Hf@w~ zG0&|~l}icdqcIiQTy?RCeJ)IeUikqq|pOyFOFmPyuoCk&4A>j z%Hr`Ju2EI@2ARBQQ=9^ty|>uv*ixTqN}+DuPh!IKrS!`+`MPpe9u6bczgo0ugRmsYBo@<2%Zg($d>bE4IsAZ9I6HWW_aJ zO_cS?htum;a4v#_dZBQ4!H0&a>z%`-x<`64YE@y;>hGEV9QC2*Z3(Zfkw&fQy8Yj* zb$J_~PKfNGI^ixmym&98KlgbmqCYllafW&Jty`A>5@#J%CHmj*wQ$2RTH1Say73Y0BBK`T4>53|=Cj+Lx6P==e0$xT8`EIB3Bmv40M;pusHhDX^`5G5U+Hrpc7x&BCeW$WhsyYQ*^Pp}Dx zI=1I!-ULl3lm&V;-eY8L36NiVoVVqiR!#9rhJFeMj+GWDo&{1 z9yfkH#oNaKRN`lN+2TF)y4C<=V4Es)R0G!bRfA_cqTWTk*HIA1m$tDW*5?``FRI(# zBl)qSJ9$0CN#;&iM3U?$`YI(VzHYP;Vj)wbo`kH6Y9GZyxZPRx7SYT)tjD_9a&}*t z$B=5e#JtyjmbvvuQ57?9;@+IUwZI;_*o2rIUK%F@TkFJouIh@hmIYOfV-D3nZtteX zNII+VnRokvEnC%0EpVaCJ9f5F8j1KW6G5;6EK%XmMad$Db>oEXr9R%1srbnUAg?UarMT&+IKmPQmud5{iv9Ar?rzIL{z^|4Q+eoRR>KKqTZ z^Xax=Y!E1jO6U`xDVs%qsjV1!fx%v?#KKq~fszdtnM2LCv!AQU8GiZUc{(U6yPfXp zUmExFoP?jvcf8t0Ys`n~>0b|!wavm`86>hOWWsv-hlLK0Gl!d8?SGJ7PsUE)TxpqH zq<*2e(YUsUitzyJF|gB=Z_m#*g#=sSFw?U?f0+uJfTcXv2{Zj)hMMM12R$EUim&Sa zFx{1GgiS8fNGLt9s_~h9YKp73lKK+{$?~QeAVzlO(NjFo z@stcW|EytM5KN9+c(x4qW(SY$&GnaU7^>};Lb6|3-If70P~SW!*Qa!VG6Wmf-#>gqaM9<6iZ*deK&0`j^z(sskR9d$)(T>X};|VTTe;Z9CY^JOfOTF4CLl$ z`&QE#2;xcF-^4-XGP>DN&gJ_CCwwzS_2szMrkr<*Lrn4$$EQvHidiRbRJ`r8`B;jc zDvy3nyH~xQ`^6)mi}SpVouc>i3JA8dhaYT(Lt&uf=;>@64n>uwaVaMe`C;)h4D! zEP}7dA-z0)6Z~0Wy#{KKWrHj9�k&!hf7Pp&I& z?{rg`{V0IQcRG)_)Jg&8Cj$|nuNH4AUT&lqP*uwErcscA@7nAqo2hG-K}UABX1c zgEQV}txr3gUAWhr)h9rPl zC_y{skS(m6_Mykh{8UsI8MxRg0(bmD@Xee*ey#3E@4qX^rY#;jw!6m=IwHY^`*zvz0UCiYTbfx2h08?xVt<9)7~p%08y zHmuGAbG9*}sa=Gy_0ipV!25`msr8$s3n|?0BnKBccLzPLsvoFg6Q^U$Zkw#*qYwZ> z8LdNO9&au=-BNTPPkGQ}QPUug8bOHRc7u?4deZ&)(bRSA2Fb0g@rU!TPm?eY+dlTM z%<3~@i{kp-1@8X5?k>}U4R8Pntv1f&7)q7tfU*?V~H2{m0rL zeH1!swYHu|{&}j=)pRWM>T0T&l>&$4S^v*i14owT}`HF4H=iP*{S0N_Vs7 z@WOcL*QsZdftLj&LFJ-^lpS${@A+>pRXnHbd(uH~#r4AX#d#Eo9<44v&orZ@Vz&Vb zUb`lO|FD?^t<&HRh0KtQ3HId#)-^?RUAqG$#8R0VF>M4**5D$6OJRDQDXz+cap{OxuwprMkSYWsnNn&Dx7VGn+{B#FbKEqj9Usu#7w_5u$s@;zv%^&>W9GRg0yi>tP}eEALfIWghkXv}jCSu54*cR_14K9N$2L z?Hl7OU;Qf3QHd#uaVLNDmB@u6>1eda#eej*w0n9HUy94gz)daZ64KlIb%*^AwWOg%jaB7_r- z;f^EfU;>+d?&6Y3)7|A9dx`X&ll3c)WOnmu9Ja*!TcnFT9*T}{*QxPwq_1vhCvZ6s z2RfG$G3WrqLIMJ>-$w=<5fsQ+G%I#?anS!e*LLAUPkzL^mnup;E+433PYNPFdt}x* z3A^?nc8`!rz7t#>QeXQtPj@Yhpk=$zj02W-L{uhcyZ5UmNQXC*8-9AqwaL@Gs?DoV zU>o}Gg|4Dx3Sq>KiJeHVD=v7HYwVZe?a#i5u19RyEg+_i+n!tIs!4a=*hvdFK9AF- zwHKgNaH#H8-OH8PHZ?UXxc5cDAipWN*dwabqTSrgwXa*xIk5vZEq&llC?Kkk?lg_S zpX3{GSXmpYX}aFy$)*J;b-Mx3<%y)t%%QgdN{zK>q8xv>CF%W%@+$hhHy>OPuh6*- zZqZm8X0+N!FTBy&9A?`&P^6b9cy&^QQHdSju>FJ#P)XyVo$EMNLp*IaVp2J7;ab(0 z-84%oABZt|z<^FYJd>mn(*nthE|oB_64#yGMURky3?h<&P;0=GDyQA=_*Quw{$p(w zLo)ENdFpokyN>_bwx;f!@*~D^HIpUY!t=lDET^(cO?tonW`fjdY|#>7aF!iBUcYAx zw-^sSPj~j=imJ;%VT~Q;I0qXni~~U^+VDY`OBW;z{fRT|+3TF(&iPuy&frT79xjco zt;ny3>(u2A+_LxVr)ig<*&XczBWCsYBsH}DyxT!B4JBv$g55TEr1zAe7fGtYZ+&13ICAmpy5T+dvDngl~2EG;2+F$Z-mmHyloLC19VqPiY6;o zw)7E9<^K3uc4myhuW+IBG=9FA*3`3)NO&+};bY~FWKSE@jcaR%5rm%m_K=AaL1cSt zk2Idhd5iAW>p#^ik6W~`$C5=4HG&#<3#V)PmBg<)sZu1=7c8LYH*+=4j;l12Tk_9& zyZhBMZLI0e&MG(QX@yc^PZ$VnWPoNMbSzZpwZVAnb+{fL7g?Y;a#B#-CfeL61M1V_ za;>?;lbesehp;CD1Yz2(W+GE>Emw zf!N@)ht2Y24;fG^rWFi^G`%~z*(dp#`s7-E>cC1V%edPp zkwf9BK(z_Jx1k)Zzz+a#40>Xo(YhSIakZOOZHbNIeF?o0OXbmkpKVy literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_136_100.jpg b/examples/data/Fruit360/lemon/r_136_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b34e7f4f2d9241b43d388768a5efdda57c0ff393 GIT binary patch literal 5227 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 E0$G?0jQ{`u literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_140_100.jpg b/examples/data/Fruit360/lemon/r_140_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e8aee19aef97300428bd4882c9c26dae8c2cbf7 GIT binary patch literal 5180 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 Pu&B%bXyAWJ!sLGdfguR& literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_141_100.jpg b/examples/data/Fruit360/lemon/r_141_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..69afb4bd0b6fc20c876ba0f65729990d07b20ca4 GIT binary patch literal 5175 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

      #Op`kT3_0$eDP$)dTE`z`csIo%#tpdv?(@ma)~s z$~UxD{D}RX+$79003V_K*Y7pxLSe1Yq$(!qQJ74%c9f$@9G$#cUQsSF+b2Od<`L$bdCgGKNCh^Oo*uANMphA(&0+qyM)Cy(LD$`Jk#6#zR z9HsrBAA*PN=d^DK!;gq(Bz~e_$H~Yrq+rcqzvO;EJyz(3j^LEtr&F;q4EXXsxz&Y= zoaJz5KqwMJ1M}A|0L}sW)r}dCb?%1+*BWVtxGiVegr5)OY$3gu&4)`8m;0vLi!lLt z0XEC*`aK3Wza#x>7K0!JfuHMLm}}4nyJzW7@}3d8bsSoRn1VBL^nL{8&S1U~=v2GX zW4|L7ZNdDFZ#49KVI8aa7XC+NE|(`jBvHVfE_jenI4wrruTnq6HHsoKnS-t=H~eRl z`cSZ-e_U(R^#(#Rx zxjV7D(Y4iZINVa7>UlcWG(duA)wk-G@6TJbSr*RCRB)$7Mcrdag06k@7yd}d9+>bY zlP`q(c!$Mb8Q5M`KAy?0NnPY5KcmoVS?xVKf7*l4eLs?*#GRkA1wXPbIvF_;0Y_JC zaDUv+bIqIFX-ZD4)O69)qE@v{#d5CUvgL-HM2!-Dg3dO?d-SGq4H=4Cn4W+NZK;C% zTT7YMM(?l(`i{x}K(z{<-MP>u!E^ zSn64TdQXW(q3#@HV%9MI&{B$9<#jZegMI+|#67Hmt27 z%w^1=D1^7VvP*cotz*YjB{t0J)!2mf`k_Zb`0{bnQTgV*evd41!Yt~}-fXWx_ooGR z!``g+*`_$^_aj9@NrQ(A*Bh7!!Og5Ou0JMT#ga(pv=tWsipX8&ElJXC3xpN1uylP=b2g`NK;o~cA-!Hl_PaXt zctu-$f+`er0=cyyVPAd+C1bsQn%MFie8mfK*Uk(Xhp2R311a;Hg|t3arTJ0nIO*Q` zoul<3y0)q*Nz7ZcPfc4?g{6f6yj7CZl#R=HO+cE2!2Rf zTx}Wv7Q+mY&9na6ZSE5r z3+PY~0um}*JC?fIFRNo>?~1wmX^Bs14>X!T<|+pxraM(~mW7_3(*I>7Mg1s{ZS4d{ zYX?4jo+*?7yBW8fro+XD(yKnpb_jCkL36zAlG?LRv8X&&SxrBO{Q%(!!~}%Cg&r1q za+)~1n=CeTN| z1G@697P{uzjkjbKWP+%U^j-qrx7sDEk6&r0YF-D|m8G53ml$bwY#YB6{#p?TC6HSe zS5CuH62!3MUkdjXyH=k{eZhA%q%6F#785ji9}_yD#E@xsQ0m>)BopX0Nc%WU-Mcze z@Lt_o>^wq)zKm1DvI zZlb5M)*+?-NpS3;I>O41+G~}(P9N6khx2An^}=(`?-zd=6TJW!C%HWGP*cJE;tJO0 zzA5Bo*4dWsJH*RV-*W?WZ(v)2zS9p?IoAT_JRfepuA;b`*ow|_#Z(s*8<$Ta3e;{% zprpCzxxcZ@@l`Kp@eIENv#po^nuMw(^-QVh#7T>mcbUK%E&#jQKZqjVzifV-w%jQjH?Nr#fr6rPCqJln8#-{NBHz0kn!$p5!76wo|$q|16NchYz^_6K2_#hSfS#? z*Vp zm}na1+hMoH8f^hb`$wkC_hsNGB4bsO*E?SMq#JzC zYYlLfVNa!xZU+HJp5ZXy>cmqP`FU;3(Rz5q~G2=_tRIQ==THt9w1?5sGh@eYE&03pxEKkQnjI!X|1uTS{MIG?Iz zD8+W@-K05{%HyG367&$Y3)kNA#Ys4vnfr8}>i z3Eo)#0m9j|a@wSyQGSj++|NZhR3D~vPn6C+pz(cUuY|88Y9iC Lfd9eCE++m1H=qL+ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_142_100.jpg b/examples/data/Fruit360/lemon/r_142_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd2a7dc5c190818c2dc327bbfab4c432e2c6aa53 GIT binary patch literal 5155 zcmbW4c{J2t+{eH6eIHTTLS-*x$ubkgSVFcWG08F{glNLdw216mD0`Mrn54lVJ7X(5 zWywy~W~_r*9{qmjJkLMRbI$WTpL;%^bMLvId(ZoI?mhQ>F6{?x2H-U@G&Th2=m3E3 zxB;{Y;3_~*_t*YL`oG4=@Ha9sGBPkSGchy&<1B2f%q(my%*?DDtZeLm?YPIu!Or=2 z@OP7cm(nvaFfg&RFthxV@_!1nCV-C>a0Of$=p+GpJ~{?II$9ebeyo$}A9=@O|1~;# z21X`kmSY(l#|c>8WBCjW$D)~z6(46KkLLkKJ|_M%%6iNKmd-4aejt@+iSJmY^edVL ztp*6vs`vb#v$3BL5*aY z^M1giz@W#7C&4emUWP}!ii}E1ew~t<_U3JRUVcI0`=a8K51%W)V5_QYaJ4P1ZS5WS z&aUpkq2ZCyu^&IjXXoY@7MGTPudEWcws&^-_DKhaf4S%YhJUe+6tkxnB=Q31*iimyGxcd^ zD4rKQyhi;* zhs{#)Uf6@h?a_e)3V!4v4Pb%mTstU+rsiy$tc2D!ru{;$%vp#dPB#xqgB6LXY43GP zYA+3|vCb-Kxw1$})>k`H8qjbq$x%-QvULDb2TK2oOUt=2Q$$q;hQb~kAwRC2Drn!8 zKPX6u{Qys>hQ!`TnrXVO(v?({$(=$n_u7f>J#UFuYSCvu8ct3=N|S@GYVxoUlw*mA zNaMXIOIYmB{WciEk_J3|fXfP$$*9FvNTX~qMd)Tdh}+ta`6FnYdsPbIlm?@KGda?ki>nPX<-b@3-Ki@a-C&b7tq%Pv;Jw7GMNqY?705>4pRkHMl4enrPJz z#Y>NzL>s^4=zxP|FW_>{XCibnoIPuCNL$+rpT`s$9NMWYD^r5Ykjm)|GeY!U3V}2V z7F%oGFv^`;(QrLGg2NM)jHITF#dd#>95o0DhU1;*VLWP@#*W6?@9Wbc(rvR9!dhGT zPTT@#B6sVCq_;bJyRua* zEMbYH>N#C7Q*Uews%%oJGy?!2akSAhjv2*gqhz zUzf(t5m}vr+IxPRTc}f~q|Yxd zV7ENVRMw}+AtZ8_k4nv{H?(}g9`%8K!Tx`9jxrYj{nUF z+e4Mjz9e%m<~i0kW}xH)#PwW`%)}p5c+P#IIPUg9Fd7!QI;*TEnxUx+wMcaBf#S6J z+O2Uzb6e@R93IO5sujIv^7$<&_QmN4i|&d)xx73|3S2(}`+V;oUyWp=L*~hM0gxsL zsNRzxgja9m1&go3-0Lc`TK3(e@n5R0 zzacrYGpn@i1-^W;sXN<9Q@jwRi+Iiu;I(MVjNb+nzOrEgX~6UA)P8vadhd1eY*FN{ zy|pPZ@GUm-l))`4A}eCyK}<5%>7vTzq{jF4-19nyEXwwVl8*~*kE+p}hYsBi5N+{9 zQc=rrrNRgM6dCGaY8eJAR&wam0AF1MS;EH7Z_5(K$RL5aWJJ!KDZ-?ipqm}16V8fW z%srZkTe#RBdf?{MRopo^5izlqqp&QxeH+G44lF_Rbfi%wzowqt#3&VHue31Ue0(;J z<@!zc7Z09o!jG=H@m8`L&iS)SxUB6osZm2n74dEGP)``2c1@ATu8DH(;Gu5(n$L+I zmz0N#a`J}xn2%T*pc<+c1DvU46PU=k)Y&M9el)Y+sdF@vML#-f1~xutif}U;$TT;E zpZ_c{v^deU+h={}J1*!`7pIdRU-t*owoDPYCjJV79P8oHz5Ql}GB|{PdNRr;BPPN z%Jz5uIfruVn16~k+0?N_!ULaxgcPdwrrn$cD!BC+CZy>Rjh$w$d&)%c4zT-5uOTGO&c0VD{GG^N;Glu26CO z1T*G-`V0L*V?;(!ri)0_w~@sdhm01zUVDA~$?_Oojnj_ej*R&n!r*fm-WiuW`DUMe zdy@VSEQfq4s=c?IG3_HDdpTSc^s_O@NGw|nC2DL67- z5=RH(1knfkxRbvLQYb0&C$tswU!i?u$s3sY08+G86Agg7lVTKt!WPmBcgUx}w#3+$ z_mv?`b#Go)v2G(Id^jipcToAnjCK?cw!V6xUf^-D@!9GWRXsocFzvL{)wSD`JT6Wd zM@WSGbQ44<)WuJ*G_}pKckgBe!AT=jvUr_U;>CCQB@Uk0Uy>xdS!1w-J;~R6)Yq+6 zUM#2dSB6Is>y@p=v1;)80ct2I7? z;YwjPxYrt^V|J)2kKa0wBb%xFV8v=e#H$_Ly3)m)n!ZlzO7&ae>TVqY9Rckjea{-? zJkqa8YL}^un+9-?R^ft9zuA@3&lK3f^z^Zjtx2uKw7u62L?k}!kyl_%ZK~Z+DV90u zv~YM6KMUJ-m7Y#9BfJpVPG}gjQCB|<$9~AU1mdfR_vg7`lO4icf3HEiO$n6W^5#&G z5D4-;jYWC;E@chf94L?IfB0QR#3C6tH|w7D#SAudIPEgAg9bVD!9`=Eu6?^ym}HQE z`8lSeG>@-295WZUymiXaT=3=MtFC1WM(@QqoWf`Rf^w*YYv$wf(|S0SNDaD zUOmM!YfjbuD^qyUEx$je9}qo;R)kv)y`VGvWs94XRx16+B&~RT?XhLZop5pP;ew2x z(u4QMreqq9rf%=Wbtw{sg>F`#)oj@KLIbohJ!2)95BC$gd;|8PBNMI(I$Ls&IA`Ji<@c*7sfr;*r;wjb_juC8)&o`%Gj>^|w2st-@vcY0#@Y+H7dm)$FnLXjBXV8# zVv|A|xrkOr{-V^+%=lh&gz!mnupJL(%`!*jicL`pcH*(Vm%JVEb>))u-G$6$X)5Dh zIcm+}`7N#}|3O|>@hntUl52{nQ3qaK>x*Y|6)FwgESu40MeW%JM+@R2sQe+A-K3f2 z?ib@xhecG@9>N8xAbedmx1rI?_tGz^VI{Q`W5tL4($6*9yz7$C{^p3ImMCgR*F*nS zw@b37fr1C-RKf|@t^L+J=Fo(!4E6P=uFD^ZjV(l()CVvYv1e6wp7 zP;$%W+6&`_ghm8&W&w}b@$YrD z?L^_lUGK+R7dxeHu%)Pgoqt1Tt@X~vXNjcS&{14 z&v?o%G4bl`8S9u#u>gwl9iNZ$zu(9Hk>(PSp#cgZH34fm<|&zu9b(`ocMj z8K}izO}rr4xVApN=jBrwzb|6Se^y9#KiwuFvc)Sj09dh%kqQb#DG(`3A7vBED}?(x z%@NeV<-@+n&CSh|qZ?Tk-32?ARKcEA@Y(F0I`j4hmozJAzuyGe3+#A*&i#kI5tYA2 zaKDB#>5^59)#Z=(UP}&Yag^P9`A8!qa=jGj8~lpi6QHC8PLB`mr4ssDxxn3qL(2^U ztNY5yM;W&|4urFRcJ!m`*PP^MEI8I0`9kfSXZ~>BG7dzRz^;0Ed3vApgr^z{^6_%p zM_&ZEahT~w(pfvQK#?gWl6o2vNp|o^LQJ=vh^j3J`-qK^4nI<1DeNkgogvene6&(_5V(kdk9gF_O7d@Q8CQ_hHq-j9 z?d1w^O3GLcHG*tc<@YKN604?u*u_#uAr(2TG+;csRp{o}(IbjynaS-{PvOfCRfQAK z{NW7QMkn#N_e|tP48@M0{o>K6*RG{Qt8b70D6g9DNjZgO!i63Uko=Aeso$mr8{wh` zWNo5+b9INT8k^$!AG508<@9pNl14bkMh%Q8Hy5J5K_|kn&f~#_R*9=i3WO*5Mo=gd(Sc-f zqxMcimVdaZp?9x;A<6?UaaVR_w2^<#f`veOtA%^;1$_^ee_Z12gN2FyF;eRR9>))D zx)vsVDzqHsJQ?a7HOdmJWYaLJoCd&$(&y_Ph!eJ^$qK=F*#@UF^{ej0a@u#~K`EDYd#eAOQMsm5-Ib<8yU(bm9D>pG z1bpuh&1>N~n@U3a&bIoT&zVzCM!(NUzUZGf#Z`CG@6)CZ)4Z-BDyfnNytvc&V6byM z0zVxgEx%Rr7^UZg^k&vZVRzoZcmg!Xhf5ov+*0k_r^2H?H};WBQNfO+_wr8#EkB|D z^filN2g%|jW1`S}U;H{sH1q-iyIJ<(zSYYr?B}Ny=Nl}XS1lMyFvIAlIRvkqh@Hg< zJ4#-oM_OHt{i~V*vhv+&coJASvQTEWc6kBQFaDE<%C>T(L~Xlmvj<@a(NyXvkDiv%hgd+n?U?XV>mIi_q9Uw~s;D2&7?dN|0AHx06 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_143_100.jpg b/examples/data/Fruit360/lemon/r_143_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ac54098ec8ea8b81351d8dd1eb0481ad6d9de8e GIT binary patch literal 5181 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 PTJv|s=D#-(apFG!pce^U literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_144_100.jpg b/examples/data/Fruit360/lemon/r_144_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05678e4e0cd0822ceaea7773b6407dacc4ae7584 GIT binary patch literal 5147 zcmbW3cTm$?l*bc7FG46%M39bj>755kRX|XP)Cfpb(a<|$0hAsDL=dD&Cy(9}ktRk! zI)s{lBArkJ3CZGnGrRxn&g|~FbI#n~{Lb&*?`O_EcYc&<$`XLh%*fOT00aU6!1Dp1 z%mS_hsDOX$Po(-|)Sy3+hMF2gO-n;d`;XHx(9_Z}(9zP;Gto0J{;~5JGZQ28pNBt- z{QD^t4G2WTNJmTePs;x(P(A~|^neF|2Oyv@fC>x*fq|4BfZ(}Knt$Y-i~ZMtR3K^^ zTDo%?Oy>!WZ0GVppmWhQ=Zep>BhTLhsKGSsLf7s|Ky!lL4mPo-t$6?OFujZMuht!-brdwTo&zYcsG z9UGsRoSL4&U~$VUKYy+MUR%fS?H?Q-9TQGY|8M~TpntK>8(e${O$KjQy+ zd551h$}qwcpK!EF=vtmVdE6mi)f89yL|9Vh61(D3N_M}5NV6GXL3(+Je`#H<-=<^X zM^f(Mw^MnwC)o!xbPS%_hSJyqufVr8MSDAY#NpNm%jF#qLDDF~1$U-&b3b|_+RM3E zi<}cb7+M;S^4*z1{}o>O03XntKFhA%ev{Yffe5jV24jqbLGzAJhng!LP36j?l}Fn- z+JZ&X=l1VfFJ)Xamow2JLY7)lqtch8k~MtU*__r*2hPwL@*QWE^1CnSc%Z!TZ}Yv1 zvlh08J6$P&=V>JBknWoT#YuU$XE{>7+MJ1y8O4Z7i{0&3c$N9YoWF&$EHdhJ{3;Bi z!sc&Pq1wB;R=KhxsLpUbo~ajDLY|)9z?*AC?IkgUiir{S>!&Gzc)jikk?rxa{EBFz z_vyqEDoKw4DQwPC`Wz|z`!u5mANtzcyUb|+ai7KQ%iWjv)NArk7sbbGwjRj4`^#8V zb{D0Z91Mo7b}bSl<+m7iy}D`oo8RZe{O=ALWewwOdmm z6Bs}@^kZkmrUh`p?k`czLt^pL1(dMV$-=he`v~c?QVPHu!Ac$`b9uZfYM+veMPItS7?6MBMeeTA zI#V=u!Mov{6LzycHF3nD+B)}xfEdy{JhF_(uq&OSs?KK{SaNbNpV_l zchP?E2`mpl_mK)EgNO8(Y15@?Sb5_r#LG*^N|l_lEH;TlG+6GQcjr4hufG)RAa19VFXPb~-sBOxah{l!#I}KHtcPHTLjR`=mi(~1#m^c0G8?-6W=N^xlB>?< z?M;VMwiJNHfXJ!TxPtPyWUplZjm(5yje{R@E_27Fk7E3iLv01Jc~?nNE4sXGnL@&L zkp*{GOj$+LSKN4OQr9-hoo=dZHZzMz76n`>ToGu|GyBlMlq9G2wpRkasF)MVQ^9s^ z7`>Qx!WHN@u&-gZ&9@O5uzuh()kXoxT7+fiHq=ANP1D$4KbDQqb&?vN4~|rl5Nq*l zCT~>V^0Ta|3g5m}06jvKmtr$BeYY~M0g{Z@IRTj4QRdzh$c$CUL~|5p-uMl>E!1J~DE zMG=auSt1$;>kLyZpYW;lq?zw)&JuWu?r65z5Y!j7I=h9nDQOv{o@uFXep-9#ebR^F zN0-hj8=^7ISjLc;w56#Ac;>>D`asZwV)nYL)X$T-Y8R#a=y*vvQ-$1CRn{ye&HTwP z4-v-aZTckYM-ow&JP{W3p?qDyHUa0(=UeOuuNd;@pyBu3=YmLl3_`34QWMbN43Ap0 z^zgBYQ`M1mn0UL>?=wp@=@!;UW5`n5U7bvZw>=EzYKuH*cY43C=i>E|?XzO4K0nwn z+BF~T*{`>2mGb&n4Jpw;2zB!p?)uax)@FF$W+m{e-ZOO#MCN8us$)ARJNvZl^|8yA zjX@MZqx_p32w@qQEmL!2{rxyr)MM!P@rRZpP>drqPUgF9mfA<<0rq?iSKt1E)uvF1 z-5qF`?zQD>yi=EK)7ukurjN|jEX~78BU#rMn9ytP9r9-2`QpW(pPr}hAyZGU`=<%I{-s5z%UCIxxDwExD{lRrP~ zr#GzcfaFIi3^GqyUuV*1)G0FM6~4{HtkzBiJ3tI7z+t_9-!#2TEwUn;Adrzx&Ae@C zmPd-g6BNMt+19P}uT5sTy&)Gc8&W;cl{cyN44V#M=Gd+tR*BlS605JU$HcVAycX+8 zc3dGXu~Zn*^K7I|)*tBHSXZKdf{O+D_51XDw%tlu5>)sC95Q0n@g9zJDP8RKdT_I4 z6slrs@Wy!l^QCzH^21^K)9iNaPixt|fyU~L8VVqD3SzO7VRz(^FR$t6Z`ywkp*LL9 zdFV70-m994i5$*x%^6j=uyP&Tb(s-9ErGZ**{Wk1CP+ag$D2{b(^wl%qS`5v1lbDn->@cVo?RjR#lbO$T{ z5myF|x3|i?HC3raE2ZRdT=5A!(y}Je+SWrYLC&q|SwkJLAyrY6IF%VPYl|8Uq(+XF z2Eb`eMc}HKt~!gQaBy#sfXtMeXOiHrlc2p2*N4NT$C^%}6@#rAMx&+Ao?0Ftkl1hj z-8doL<}<5UsW(r3>`VQRZys?FF!>Fvo7Gssc=#YgN2JE%K*@r)s0?kWkgWva%}Y1( zA=gPc1wg%f-bOEc7VD!wYaj)>*uNrhObH$Ejwi`n{Z}Xezc*yUz`oDDs)|=W@Z%Et z=8cDXXuMwX{sM2Gi+`1&6!@6)=aZZBQ9&n{hqufN^|2|5y0W8>ww;y#o+xIJ7JOGj zVnv__5Ui6?@)3WH%KEze&{ksUxs~VGEL#?O?{-NFkH*^K1_qgMuA?l(qQ6U!N2Svh zZJGUPLdN#jr1H|B$TLwuGOQ)f*o=?>Ju5;AlQ?$gQ3(-ZumYy`cz5Gwyur7l@awcv zT|6#(v}4er&>gz_wH;79SDV5Txuc2ZNR`GCkCYinPePSEtyK>ep6x|oQsL?|BWrdU;GTDR)^*>Bq7}O~@(4;5gmT?Z_Bq3>@ljOs3mk z1YK>t9iZ`5gZ~Y-Ll2k2G`luxw;mSRJ2&*Lmv8f>tD4_aKUR_Lw7iotU+ut8aj+-F zvlZ=9C+xm{Cc{Fx@Xm1X*n1Lw8EcW$`nE*0t?@xay{Xtp;Nz1LkBy&=QWHND`EIt^ zA0oHN7ge=Q%S7xe*DWP;zs{2SPHe(yKmZ63$I6ZlmdJT!u)G?>S;li>+Ct^m)j8AjDn09^vnZo@Qd z&|2{%1j&52B(EqOCu^~Mww@D=QIy-v|vC`45&=EmNw`*!VZ)wmTYKOg3< z_5r6M6gVucqf+1eJB*vexwGVsN+I)LNG1(WvoQSS!26}JSP0Wz+8E6XK^JJIpkN2@ zr+G(}mc$wDx)WL0qaL;NygSJ=fYosjw0%K#cRnjILcS~nV&!p9<&uVMiTirR`rWjh z!KfSLx#;?-q$qj<-04zJ&@E1renp{+oIYgdHZnT zg7)=pkq@=eFrN{lcW4d;ozJB6~l*-6UHiegUHj>!x}XOpuUwcH@Dwj#Kd}xk6Iz zirf_#u~ZDT0pE^U7)P?|1hgzH||*)lYS=;(wKvxf*szaR$=yo-z_0 z+v9#(&!H_SfPyJBz0uB{O1xS!+QcL04)FPI#WW_mf6dY6SEou(4tX^6(MjTr`>7|Y z(?6K6@q76%^rdV3vF=w^C(DqPqI;yhSg3XQ)ZEfuytVCXG=u|vF=_ULGiK%8vbcf6 z&K}IUmB2&rE=U22WZytH+!wrn*H$PGUp|3(&yAiY@?Ksq% zst6&h&V|#{ZStP9mvBR)x0=Z&Rmxj_|BaYumOf_`!1--`|NKmAc5oBfNwRSc69Fx& z_=RQ<)NESCrNW^bQ|U;tytq*zdE5!{jUD7t>0zk79Z?=IUtrsd4t?$)n;5= zW{=Ay0w&jr_PCF#&&3Bugb`R^Pcf`oro5TbQ0WB<4U!=U7 z>OYQVqfHBx?QG5C`SCbIbeIKB->0Y8g_xWJFg2)0HHQz_d&TDl|k%2$UDo zT5~I+m8@`Hg(eE1VI!n2T<-;xuR|ytix-mk^{D-{pvaHmqik2Pj$7AYHio- zZxP*YOgr>hG!Usk9*<^|Aqzxs@0u^vM}}U({0(eU9#X3nrO{8z6a_+S7eN%j5(YYr z!md0F#NX*#5XXNw2#$KB=zEh#)l*AA=$G&5wxAi&ZOM4EoTwG`{r%lG`Oi;YhUvxL z|A79kOpH*fUB7uvmf*>CXy+Ms;5B#?EZZi6t4Ca%xM!x$_ZXRMFW>IJYDo|eCb6qw zk2kG~F@zl)b7s^PJoY8-NLiNly<^12g(U`w0#~|-Kt#P{A?ikfK{6k_)YM+OfH0(X i`OSBjA|gKh?ZOrX;6TG^<-i|f$ax$1KR6v_=055W&MRAi6P5iFl5bI zvW_KdNwy(OW|*Vj@4C+UT9g(Khq9UTDB zojd?-8qfkx(fzSM@zft8Lu{&5fsGZTmf#KgpWnwf?5kDa`+on~eG zQ~2|df193Sq^D`VBlcnyeNB zJ-r|MM!t-WjZaKY5f>JhmRG)gU;VL0+S&cJw|_wXefWoq4xs-R>m>eSw!Vcwz(aBKeL__yS5-s`h)fl z+5ZkK^8ZElpJ4yRMFiOB=}tP2o&$gZN7TajOF&^GH~}RPAw=cT^aoAxjC3XW?O=wm7G-SmVx`)` z5Ev5{U_H3OJT*wg7VZZAE-*;l&iCsyY2`l`W2L7<#Zy~%H;uT+U)x(*A|VC5LwyXBTGD zPrdK~uGH-)E=jyBet@spx=#ZbMaYab(56)HMXg7^FkL(b)vgVD7&`5(W=gs;oA`*g%Ey>kT4MSC91FrJ4qu zLB)I*lrl3KgB{f#xo#_UZ#^S$Iww!J3!kaYgD;v%qtOSwUpxg7DQeLgnWGbn{g1NH zM*HRG8y)>udsh(D^6^%78qj`&2DrkaAdJm(7d`zDxJmY$vU;j!(Poja6BY7{UEom5 z`Q`7o!S#Zlyf?IWd%nFZCUC9Pq=4k13QDFj@7|&U_0aYbl?C$=CB}BwDY6kn6bsBP zN$Qfnr^yv1yLK*Dr3|S79X<&S6jC;$TL(yI4E-zO=xNV+ zFC`Fo+?CP|)OVdb?NHSl;tJstLXqN>gGPSM%IT7+xuj{SsRjsg3EoRrAbEX7fE zi7*;Ewnf(7dBA6&8ax{L#N>v+10zs@F4|M* z`z;(qT`t%iZ4vLZlDKE0o8kp`8|{}09Vv@2Og?ZAwTEXOTl+UY+f`8!%O{Kzi=uPj zkxH`t(3_E@r-{i&;SjD)Ro$ZdMr<8_CGU+tD(9ZAoAG(xt#|)D9I;FqbbeFC{`1 z6FVv2BctI!WKqYqJY18|EKv)x{agj$NR}Ag;+%W=yDu>snLEs3-2H%)V$ zU3NvRw zl@I7W?CLNha;Vifr$+`0n;8qNnL?~)Z&apCnC`+jk@up5GK{zlVT9t`4C{spn~0xv zQ&{tr z%MSF4s_96yI*#1qmNQVlIpPsE9jq_Zg8ZJ+jh7)7*wv3lD3G(4^heLRijS8%rxMKF zSQwE%;urlV&&_q~VY0RO`_48!G52kY48L86q9gYtcYd33k1JDa=$MUfdY|Z3YZuaT z-DvIjul^qonq}d+L2gPV6@9~daLmeVONO3D7IeNDNcbzP~{mYn(x{sk+RuL5bCkUXq9QB zp!Kl{Uf@IRszwG;P8}7|64_57=F_{3V^tCm^GGY^fUjahxqyz%-yUgciB1Ye@RrEq zvGu*nBF}qwwShmR))s5MCb&R*EVqtp3Z zs(eHd%odNMyOA*ciSLs{&bu+|8-1G-StxkL4#B$MerC712(}4F1rPK#rWLz!^QieH z2X{Hy*f7D_3Xs&8AYHupTJR6osTr!*5Jb2$2=ORVx!9Hx=W!TNQT6MqT#Db?Yi@3* z^IbuayllzyO52A|ApOmcL;ajWWIQmAjy}et^UHpzA(1THlgKPvKAIC{gLK`OO=3P`^nD8yIX&&1xFgSt$#VjT8rOfrE4LG(k#n%ty6Wo`NwDxy;c(pxCnC($fgeaAZEQ=~6 zyPIr}z+$hd6t>_=XW6Xy?+UV|d0w>e;mv5^=(!M26;_>ZX20K6cU=3fF?)P}3>SLE z4O)BgrA6tj_r{v57nT~0*>YCFhv#S0+r9b%P+>}6McugC&H%xQkP(YzT zc|i)ITs$&9SdLKpN}8}sG5rNiE|woa=ZkU~e);9@nY|NA1G2A2>5p%!-wfi2y$Mh> zL^Jz3AKdY=iDuN9XU}tg6b|27PXG~v5Ud#t7W>Hyy6e9Nf9nws#)|fC~@OE#vD&-c~Mn+?w&tK4gQ)<-lu#GhxH(#JeIZ% zdoc9F)shL=HB7l%AH`z?;X0n(nl$sh3~g3nIU9utLWCW7eGN)0Tl921f43+*Agx3P zceTN@{Uui$eWE2JmK<#zciwreTZ_=IeL+-7{Bi!141JPPf?fBGs=43kxS^lm0nvkD zY{&}xd*|?k%MUZ87veyI!3y7vUz^meT-u}oSh6JH=?AF#Uy7L-a(1(Y+**{5;Q>|u zN+a8ejm1dBN~7C(Nd_g}U&7C|m%u_l0!j6Gj$N-Bx)yqewJ&P20L`FtLJJy9U)^ zDf_Wx%W4kV8(|(5gyBBypaBe_N71cZ#KVS$B-ny*>+a{` zQ_LM+K1SN~)L)hNY+c>x_^rl@&{v}sDcH&72nBb;=0tt3jg=(P;Zq8{rW-%(KU#G` z&Gq%)PGn?w2UQHOdPs`hKN&J7|Jy$86VcY)!nBqraAXr44T{1O1j8TMns&)C=SiS- zb`;Z>pMXoR|MgHQ_JV6Xq(1Oy#m>NYPJG;sSHJ$7iMgKYyU>?l(`0R=zfZ(mWp(ug zXhS?$)TmPf8l{J-aVs588+DO{8mc;2UalmMyEF4D|K)d~eKykc`qOnaOP)oru#w~L zH5ceimcv=6)$m;#a9p$d8=K9n4Hv@0`uWBZLkU|mn!FiM`G?6ZK;pUrwpv5D!u z#5QRJU%Vj=7^Xs!8pmG_@L^f^es_dT{@SnfS~6~g%hkF-zWAnUn`9WLFK-6#s5viN zPA|y4G_inlKNhI2#z|Lr2I|BeBz;9?Jk9<^117ij14uj@wiGQgYJMW-qKh@9YGU9W z&-#9O6tq#DO@{tDg1#jf7D-iEgvHuP)NH3jU$g%C6F=RsF&{bddF6^|l{xR7kPQ1) z)V6L4S&}D);7Ev$>dJ?VRIHH3@vc$EP0nolS94`?@O2i}yX+XA5rWlxSo$Fan z5TEkLgKHKTZc22|&aNlEs#0|6piPD@;&TD}mWB{{vtM?Yk8)-Gk@_?O6@5$N@BK~X z%DMRX7eB^J7Ov&mC0#ew9x1nYZf=sBogQT1^@@BzIhpa>RZ*@fPXY&nOUb%M9OQ6s z=eyY2LYJK-;*gM8n?G=|-;>B9F!9l{;EdylWcr9&9H)YZx{-tr9F81PIoVv!-7UQ)tzkww{BdH%UUzbjkc_AItyNR^kq^eJ^K z8tQ#l5&F>J%@O82S}X^7q`x65*!i)8y@UHevI|94#O)X1Na|=5Q>!u=cIVTxzcItH zC5?6X%)s0g$7pjy9bPu1%|YAB#>p~Egb~*!7QVGC!uY5b+kHRBE#wCaSC7x;yKil< zJP|Sz-*l?yaLL7853%fBpo(-aeA_sC?0Up=EJ8R9XVne;twtS7dG6JEakJ4Gt<{j5 zG5BCjNVdjtq(^a%qUVdmR>2&M$V&MA0rJ5j;fz~Bz1Q=~FrkrON76)3kwYDi0L3wB z!Mq1CXY3xzK&9%9*aZCBv8A4b`B54GSoev;>LaQq?PA)E=X0H4qyxJ_FuOc#Mekc8 zgxuJX7HH~81D+qdEWc=#i(b5OzJHRe&NgAStu{~S8YY_dpkd$$4ze`GYSbHJ9LZQjrLm7)t9!gupDzJ3qvma~fUZWFK^eUL9SQX~%5uU$_` z9162Z()EpI%JE!ZDWu>u+-N}L15~>Zm4(7HO$^f^mtBvEr3MK&6K%9P6c3F9I(}{Y$m3!8QT{vZ2$79HJ383H72*J2`3Cx%VFa(UKH5xtVhOQsz|=^&o#}T MtD67r^t7q}01tfrga7~l literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_146_100.jpg b/examples/data/Fruit360/lemon/r_146_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b008bfbc2c4053a5799cf2c34e70dd2ef570479 GIT binary patch literal 5173 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 GPW=az#LDde literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_147_100.jpg b/examples/data/Fruit360/lemon/r_147_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2dd3a1986469ea47db262d0de7fe618b85d2a29 GIT binary patch literal 5194 zcmbW4cTm$?l*fOeH$gx;B+>*#d;OOH*1P5W0{+AOa#vRjMU`2uKqU>0N3l zDng_S(t8UE1QN*Ndo#QL?9S}&`OP`=E9c(%e&*ac_jkz?D?!EOE900;yCpz{kL zPXo6A3eX?>6Dj@}73H5uO+`gXMMF(P^N-Wg)6vk<)6&q;G1Ad9{IT;pCPoIPKM#K< z`FAJh@<(gALO8zo2xpkM`2vVzFn0OVXJ^*{2?#r|s`3Q8(! z8rpLijOPip7tiHWQl5*ZK39C69dZ60pkk$F6O_@SVK=)^D->`^HtKmEov?OQ2Z#Ca zo`{@FU^G1gCl@ylujmyqafz$)3W_(BlvQs1t#eyfPv5}8(#qP#*6yyWo4W_p(+d_9 z{2(M0feedz6#F>t$lnO_4;;vP0GUlefX)V}$+m-B*J!HKk~ zk{X63(tEKz5nbQj)6Q>j7)jd(r|HqVdQG1_wP4?EGn#JT_d=UyywYl%((P>gXv9&C z@cW;GZ-0dx=NdlS%L(e1B?BI@d1K}yntPGDKfq%6$`}%dPgc%fc;no{E=i7LM{T^I zwZ_9Lo=RCf%l0TyX^rj2R0?;0s6sWzw3oYNLELE;V@(QbpQ+phk_-2RQfNcu&tXq`wFOoWh(G2FdDuUCCTzy9dD6(P68{p{j>OTWZ! z1Ctsy!`)Em>_;-tp@)VNaDj?%v6#w9Th`3Syr%h^LIU+3|A}00=afLw# z10@{Co8hv9eUwE?99bcoHO+DT{BVU|!zVg;HL+c@e9=h>X>4}RI7#aajFB%f)3hW5 zhq#044m9r>8|qdLpENb<_HeD_%e-IaU&l?8Ru~ggU1|M4Z9eaLz(Hv6+kL;IG3tsG zF;Bjc|I7woX+cmXB1tF$*CoX&?^TXMZPsGP6S)oE@5-coFls0^-yUL1w)0d zCaKfnHpJ-{3F+=*pPwBqSQc8fwx*KP$?G;pW!T-SlRO5G8b4Sbl$atM<}J zi-A?k3=RIUd7I~o5aOAu7_bAjPp=z1nOpb68Qis@>vCIgR?TB}8WK9M%9$aZNthC(*o zew&R8n3x2Nkz5Itc__X;ouNd9s+CK8Qd0Hzh9u@~l$3aSjhShTFGTv2tOyD3Nyhlr zp@dpw%cNM~Am-VdoSfN=W9bAZVe`2=N$*unILz)cMp})*k-=@d{g8-H7{Tkp*l-8! z$WFfBE9ilC=jIZwrzpP#Y4FC8%5DNlOJQcT`?0>-XAD0XkS=s@dtLlPXJ!46VCwJq zgy*X@SfyMo#>EL>?S+v<*ks9Yf<#2VT8gJfyw(3>Hi@zjy z`*y-lVK{=*yi_;NOPZ~(8(BebdXr~~IV|OClV{8Idh>)pH)PIVTfXdr8zz?%SL>7x zN@_W>bZZzx(%hr0+4Mqg_>@QvnP}O5AB6Tx*fbeJn~rDvmU7>X$>c!A%*5554}Q8n zji6zt`L&$bXSpxSEQc!(I>|{Se)hk}EwO~}3E@pDEjqaaQ|y~`EV_#9mBSXgAfhfa zb&h5~s*1_tzS`{`*U-PvBE~cFdhPej(MFAWBKS&?icMp`RO(})^_!%BOJFP8wZ3TO_L5 zIm^NN{RGX@#z79kWZ;wf<_TX%j$F4JvfKXwlo($wA@sDP( zcXpNJ5f(%eI z5UQo0s3FM!oyNyC-oZX7^<}REiC+uqn-FSp>D7j z&8e^*WFVw!cQ&03`%LWRC(RJ|SFOLxVK!BN@Pt#2B`ni3chZnH<5VB2CH(A)5; z_WB}EU{CP!UD0Lqm)tQ2(X5fd29H?owJD>cW*hY0tWIo0Jm0X7$ghlB?0h*lDJjW- z_E+_?^1TyVArn7$IQ5Uf>36=jYT&?ETUShuGXI|B7oY1z;bZAE#J`PERhOB#V{q$< zOXFViaD(vhATKWw6RFA1PphRsz*1B%Xg&AN`0BB{92Idt0Be+wSbYfr&nQd!dddXezT)BX>idp!uwSC-RWkzWe1Pa zp#9D8klNYPx{Z3J8S7hcrZFkz9w^&oHj1*JI5A;?o}ejQ*-iJPs;WpA8W0&^SXZ-> zioY?PAL!!wIq*W1ojZeE6b^@BSU6bsWhe=%b$%YxaR6~xX`|%PF7R%ck*}+3ayANw zk%8-RQ|`|WpQ^VHo#-&W#ZT7u4WcGQ?Wq(cudXalP=_3+iC`W;Mk-zpBSt!Wnzbvo zWQM55)fX-pi~GtkJuDUPJ5XNp_EDEGaH!MBWL+E1S}0pno98tEc`%9%rbT-XkOJfr z0)#t*ex-rY*T(O^_xA9f6sER%c|@VgVla<#4tARI;$DhVHL0gO8J~5NFVt>PUDJVC zCo~eJ$pBRwfymNpGI7*(lG$Dy+dk}`rr(mevmAP7nEKx0JDPqDU1E*R!gx%(CnN#F z5}dh524Y&g(M40pZNca%qf&>5jQ2u6K{7Z_^U?#xc$KZ_#vWn5yS&~RsU-uH$IUnP zy14A+D=k>8WgZnwnY{HqB-tIZ^g7Df?fE@9xBy<5wcU~bqHXW}!~<~uhKbtlL12^4 zdnwD)R|*)jX@aWRKIE$IiqAfC!M=(*BJ0Y3ocIli+6))#GSPd;1t zyPp*+w0rI5*-i*?{1c>ZcN>C-InzR-Ptfr-s!}4b;eM5tI|}r52T3AgV5flS2DJyh zI+6A%a}Mn?3l6$t=3_=8)79g|*55Fqe1wj%IQHJhYXT1P7Unj-<8=upJ*1RE4SEu? z8sD3Jy*L#ssEasCX~D$gR&s1kg?4AF5VuSOVjEMZw9V)2>yGugCq88tfW!TD1&mOV zL_tIl)*o?ujA-}0JeB?@Yi&kVit?&AIQFqha_i=%Go!qU<42js+=1JtOD+yftXTE1 z#PKKUR942X3Wtrswn^ES|2HCVKyf1>tg@f{`F%xA$vr8asSg9_0@bTXdSJ( zWI`i8E7nnC((ld7nJjM;^})w}8M;EUpbn~~M9jYN)uf|@^2!N&J1w{`7ln6R02m+D zA;7GBw9*!c%&K~~-iaFD{!-TVy71D`q(Yg&kVSu{jd`t;uf4RY7va1ctJlk`8CHDC z@@0R&GpzhVF5P68AG5RBC)5D9w`^*UnDr7tv)=&1n7;GwCd?$(S!aFJXII2sh9Hh0 z20e{gEq!L?*5h|K*GqoCP?PPl(3#ObV^pR0$i%y3B>x2>wl#hU zXcHNK4_};0ZD!N(kQxjNE>^Q!Y?ZWZ=KMw>_z3C><$oYnC59_RViQQ=ev(^JqZ~Fz z0aTm2&ia|l98iVeu)RIGRpu|Q)W%`^uYik>uzjte_`ewVP8I43k*8; zK5SO3!OI$n|Bys@uEnHTR5@?kG?aj@5o9fZanKIpL~`0@%6>Cdik7H+__&dba@Xq> zEw0S8WX^FRQlRtRw(FwjvYht}a%0Fqjq_F!6d%4A^18GOT?RY4@J@~WlKxhPtK~E1 zMMOIE^p)g^?)AAuhrLS$D;Wzlb=Z03+^5RM>@sDyCI=io!ZyZ2H1f~)%v=&fTrZe^ zBvR7u?q{5rES+D=M~WArzK*kvKGNUDmm%G`k0R;uV#&Q33y4)i`cU~XLw{F&yS78* z?rb~iObEfHOURfj*X`ilg24|MJ)Sh)?7bqq{EU)h;NSJbW^s2rX-}-znOZ}1+ABvC z=cenjc^Cs`n`6FJ!p|Rt@n}#p@5cvwT^pkLfzIw-FI$h$a1K~P*k{jg)MqaEOtp({ zZx)^u1ts9NNK$h%*EQ)TYzynsZxY!hri2~{SSGXZK$0|hTT+(R>miza~4#f9gDsS$8wv6EC2WNO2w%Xg0cGajOUt6NOPR93dd&QMA>{#)o zHIE)>=KVFwR)oj~zbuC-##?)b3{?8+L9|B7oC(ph>#0)E5J>gUjv=#*HZpGH|blY~89+ZExu@{UD$S+H@}UcV-ykb5ba+oavc4K1MsT3@DL- z#I>atJQjtLW3OP6^|^f~U2|lh%aLntw{wPe9v$~4S=ETeFn&aa4Q_q4T@ExI*<^xiAp-Aaf0={=gI&gj5T%#&g~$HuD*x9(E%-kG*a?s@*v6u*v39zErEn3{H) zZY^AH3DObDNR=>^{h+Qz8!fp+2Byl+=%$HRB5_$aGz6nZ$UvvckE-VaI}bNLAY-Fs z^+A-#%dU@|YL8i135HoK3IYy{W^MRz^mJt&@dgv3T8*EBe}q{duC)8hG16oy@-J@) zpNot#Z;bXv;mr;GBY{}|rq!O!&8K%HQ1)uTP_tMg7DlXJ*d_6K6U~hlz2I%^D9=5s z)yIp>@S?GIO*PHWwjE1{u}r1;AzRN@$J=O_AbUPT+mf`M=LhNh-dvsX^k(3iBLvdMt(++^hC z?ww&{>@sbrS*~xGHT=BFZ`t=cf%b4j3MXcmd}y4Rz5l0O1saUP3+Mfr8&S8)*IW|@Ac^Jrx3Ikx%(E+ zoQU9v&C$I1HfZ}*!%?0EHHY~I&v(;gfRQxRk8FW5Ramy5Fp11(vl-t=LIfyY`Y;MV zlk%{Qi=c62`Ca;5x4+#dH&mzy^TSZrPyDI03PhGY-Lng6r_V`LM%bRp_?#>F#7&_V zX*g3DjG}$-B8ZeoFCkPRAPFS|2+6~HXWskgy_xsk+OyW|J!kDbzi;n3XRpH?W6lDn4fUXU z01FEMupBjjISJ?h$5?*b?|AIDv9bP+>}+hTY#i(y9RD~cHx~ydHzx-N*9k7}>-V>!mk#?HZcB;&+U0_OCQd{)*Y(dv5!>ggLm4K43kS=-#V zecW1zh5H?QANcirSHn#f2yv*)YjEE zG`6+lIy$?$zxE8_e+-X|j*U+c=jIm{mzIC7tWq|&ws)wzw7vb`Tr2?VzgS1{zvbdP z;yU*G3^;#tu^bCOa#lVz_6yfJ__fVB9|fMdsPL3a;LeMJs#b0ZMGG>>IcV_sS;-qj zDavoOf5`rKV1NF<$o>=Tzqlp<9#)p4!(-(Gw17i;A^b8>SamC!BG`)MskuY}r|pdS z$O+8es_3oTy%*}T23cSN&k1A;Gl3~nAI6!V(Y+xnU?~v!W3d(Q8=5r)S>A_KuNC%SBcJRe=9RD$kXfhX z)UWSjtOqjhi}-vzX{dNHZ(c;ZFD{5in%D2pde-ym{B=r6L0rm(h@7Pr_#e=pZ}YW| zFH1FM`gRZkHnswtQrxfxKC+S{cJWINtA?XYpw15HG!-{aP4K7n(ldsP zGA0G7LA5696y??yVVqe#BfG4Gf!C_0mhtdU#ylc#VmfctKOT05a%-?yjB`$4a`@De+$pSp1*a0;yst#-ZYK@vqUUg4E?(F+%~7>Wa?Nkm8UpH&pr*_iNSeahAuiB7QbY)1l<$ zHW6aURnSu6NDX6)Ux}&`~xdF%Y=Dh05PT+feN+Lr`CgV1z z5V|+UigGH0#r0~)g9rq|^7+b)Z|Jp-X8>b!}Oj+)ervOV~s^etDHENlT-+ zcQOG%Oc`e5oOg3{Q|62ESv|#Ft7zWhpr8jcS)Y13_3mm#ES%>=V>~>`23vZAwncA0 zPM)1DF;#p@Kup!9FU<@+u7~qUbjH*m0EVr`Jy-}6*l!vo=S$q|SIrQ%1f^A6npvN2 zCPm9jzM6K~zw|Po!9hx&*F+EUM@~v?m!fw;RmQ{GtGBvJOFZ`^5q{Y& zj(e{KG&&LCP|O?bE&WDPI=EZtvV9PgkUp$gemRqseY^jPD~n|8`<7GV(i!dX_GenG zUW%62iTDm{?C&-sy{3JhE@cIq$72b5uy#=?CXl#LS2ryw35Ep7-c0Y>sth;BOIe4( zHF`>UP?#|MSjCr~j#~+?e=Q5Sa;6@nd*_eLU1m6-l41{SXvzLez$&5~@p5~^EtgTF zk$P69sMzgSaI#4{>}5>F6K_RFyw;$waJcVc*r?9U)+)c_3N@Z707HUg8&&_>9wP41 zEhN6ly$mi6H!sujz-Z)0nh3*qG?ioY4|6re$LVG?-?CnI9A|H1wX?CxUs#t{KKLm8stE`m)wgJT+-m}Xt~{H!{Xd@XU1|ff=$r=RPpE#_TA^x z^D(BpVxmZp`cPSsA450S|#67&^D6$tqJz#)sR*lA82b zBWigPd>FN&<>>^{nIk-p`h`Jd*48!VZQWjLSGWDzx{SsI^+P7_bo=St#0}}K&~@lL zeJ~{B>O4iQUwF>T%C}Qt5&jb;2Eqz12k-YLD6B??^AK0GZEJEj!ppG)n&5}46=*5= zG<8ER+0C-G-!eTfE_>ATym3^_fLzVfkywH^d_5*x;x7eL#V2u?rADQl_UYbe5H`12 z#X7N-J*dcU|M;)Z>Sa)uQn|wWx?#<(LCWJvqtEI!Ew6Q3L@%?2pr7_EL#<;-C_AS@ zqwgEh6;}BO)Q`RZd@0DEgeFe9@4j(FYNGtb86#Dh+=gi#O9tEzwXJ1wqI`LIQC9wE z?Iyhx4M#u1O8l;f%7ye_+3glN70c@O?AIF4SG0ba9ap9WcY?v&OLvGm@_;+qN!wz| z(Y7>coq8Xgv&%JVX>{?L0QY z-LiA>Mk}M}%)LC*g0N4|_}8a|j3jfDRM+uYwC(OnZ>OwB@;(b!Z;OU14Msd)%Ly__ zvU((mT3gS+3V%0K?V7hwZ@5JXAk~H4@}#gYb%H#GxJrF#eBEZHzwOAm z38=AdK+v)Hju7ICno+i#Sz)nYuV0D$vki%Ky*j%mDE8cZUf2@kyAm(I*Ng~7DFc2Z zH|0Xp$HsJTsD$K=Ac!B2=HH-Uuf`9-vd@&?ywg#RVgkq&$Jlw#!HOY+&HMAg`M6~! zkirPv7d%x)tO{8alSG7XP4%A9Hq0xK3K>SCw4z~;ou0eQBiFWwW^nlz%4Nk8_Q^hV zhy+yDFT)(V2RZ{go6ZDkm_Pzu>_F0l*e^sd-kOZ4T(iqiy7nScc>xek;s^(K!Wm59 zYar=b&o$a>4R@|Ok}pi4e=hF;lJD@wIpE{-z=VaIH}a*kgR@|MzY=m~xkk#wxgp|E zv?n&q;`W$$PN&)qT86>|*0twOidd$P_#gASW;gMGt5V(~+WAF+h>=2M^Fz_C%|iq9 z(dX#Tx3oLE?J)2TjJM4>bVTXrQlrNhSEk4lAz362v{1^@M=8h7`h%ZsFkrl-932*NEwJouFBU|WV;W|N)P)!Jd@ z{we8>`p>8A;CyN3&9ovH1g)29IY5srrWqN0q}+7x%$^JP@+1t^%LIRT;dAU6}c$7X$a`? z?uN%H>EET;P+yv9l*?s*FfdY|;&BbQFYg$P7bA7#xUCF@tQa{c`^VZ?fxP`Nc%rAn zdBvXhHWlCIA1_txe}R<_WZ}+De~$BNA#do~#v6QtYK1>+(VFR3U9rzWl{>DUdHu;W zB21RWC4Jb;n&LmXczUn&p;Y}H6_%+HceYpu=m8 zL5pa$?58S=JzA+yk|Tw$xVVd6_cAD8c=ACd!Nz>{`f#O5vuhm!YvTuR!Tm}$9h$0m z45Y!|&(%6z6QpPQu zdwVh9$<^VLV=%)5I!dZc_77R~d$mB!Bd#XoTLRe_7C)m&OF2+?pvAW#?%^kS1swkP zeo-!&@3z6AE{N(+=PRA<+igXU>9<#T zve#Nrx_vO8l3;m&oke!t(np%s!r*U2R2zEwd#HyzV4943OYTX(b`x6bW3QO*!e|G} z$MrHj?;ogy_20d1-VtXLftpomX97ZWV`at_ql{`he&5*)=U@KTZVT~vH0ua9MpJ>V zglAl(D-FkiS4}Yf>+p^XKQm96XAFMyrp!}wXxj7Ocr1tsRDTXGR?1rd!k_T#i4CNe zA40ak0zses_#q0d&{mC0^F#X%4DeFiQ({`m9hxKg@{vNFp zlW#F+BN*Rv6HkC2x32P5+?a|;6do4s7l`R`R!@p{-KKjVH{)wNz49P+u;)EAwP8`+ z)g94Pyjp7dOyc_;Eh$jk?kIv`@Qu7vVB1sJ6gzT&91x1it2x9M)lj77Y#Zv~_j~2P zwSMZ|b3KlFM+$rOC)6)gjqgJ81wmn#E>1}oQlC4)+x(XLvn+ReX&@GMXw^om#+msp zU4$n35Wl%2je|2rKGV-Tt*?4~2*DfrSKm}8oSU*YaPE3_noaohvL^1R7$p5g@lQkO z9^A5dF?qYZRd2pvKEL@(qs;|09oopJR2a8@oSwj!wUI}0jIE?)m^U?y%NAF4TdA=s zQ5*buXKXT|V(@E8wd!Dg+Lx4O9Cb@R6k34**suip=mrX@+NrXb9k%fIf@Fd zU+{i}bnCv<@FBH0=;MRQ$+m9}V^27H^LSo-oweD(()s%t+~cUYcEWMf(z!@qG~IWO z%O%#4Dik0~?6e*h+8mS2@!`qiiFu10sRt)Yr{MI@JWwtbggN$ZXo*wKq`q5J`^hmY7+w9yrUG8d}(TbRjCo_iZVw+T&x* zf%P=RNRP_5aJD_G$tBjkGfso)#U-ANeW?gHbZKj-ufjTFW=ZOWXcXw7HuwPzPpv$< zx4?0|gc^qh#s#ulRT=G!buMlDCGuEYM(ipfCPU%^&Qp;{GanE^HmjQLI_ za<3V~(qcwL+HQr35aD54`ZG)bXG8QT8aAOL=L;yJ%^H|5&x&!SVqD+V_D3F%rmhvb zT{k`fYD?09tf9wr7$@fr-!lP^GzbpQ7=48pZ7mDQEx$KVakVDb!RWwN(#F&EKWA4|Gg6hRl9S3tQ%kKi6g5vrK zpN@*C16i6!gypP!+Z#xGZG-c=C%0#jTwU0T{VVZo%R2QS)nm=25b|oaaM@fjOp4*& z=^iKFS$su@#bkOX=lQRxy(R|t^P?XZI2pWVhnk@49TijPXPV;uzDbP+T=B-%t=GCT zV>;(wb2-kQQi#JB!Ve+5$*9D_GK;jr3>;-_&Dtd;M}qIFrxAKDOj}pLx=Y+#R{;1Q IoP|05AB{dJzW@LL literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_149_100.jpg b/examples/data/Fruit360/lemon/r_149_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc4571cd00871c71611e4e87f62a3abe2b5ae529 GIT binary patch literal 5165 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 B4_5#H literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_150_100.jpg b/examples/data/Fruit360/lemon/r_150_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c9be3ca27736ffae5353292c44246f662cec5fb GIT binary patch literal 5121 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 Q#!Yn=U9$hdsYz4+0UlWUSO5S3 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_153_100.jpg b/examples/data/Fruit360/lemon/r_153_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9ba0fcbc1d537e1d68e6d8702ce37fed33409b5 GIT binary patch literal 5164 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 q_gFZBdCV0N9ZykK?&@INJa>^}f0@&(fX literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_155_100.jpg b/examples/data/Fruit360/lemon/r_155_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dae6045eaa9989610a8031a58c9c812254aeebc1 GIT binary patch literal 5167 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_157_100.jpg b/examples/data/Fruit360/lemon/r_157_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7b25dacc6e41001d0aa9fd4edfd451bf2d3e3d0 GIT binary patch literal 5185 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 T-}2!S4)4VC;eh|i$rJwp@?!)_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_158_100.jpg b/examples/data/Fruit360/lemon/r_158_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..639ff5ca2060807b075af4d79ff405d755f94ccc GIT binary patch literal 5172 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 IJBT#-AKljF`v3p{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_159_100.jpg b/examples/data/Fruit360/lemon/r_159_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e4830b94c3704dbe0e3b376a0c5da54812b6954 GIT binary patch literal 5167 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 G`#%7A2=nX! literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_160_100.jpg b/examples/data/Fruit360/lemon/r_160_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..727fc39487b4df23de5dd3b390967f66886b4abe GIT binary patch literal 5131 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 TY(Ehc)#biN^*=ZRdHO#9I$7YC literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_161_100.jpg b/examples/data/Fruit360/lemon/r_161_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ebb4cd7d3b294fac05d62dfe5c2b5acc33737e3 GIT binary patch literal 5135 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 bcj$LRkB3VQHP{E-->@0p2LBHZAy51Vr}frj literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_162_100.jpg b/examples/data/Fruit360/lemon/r_162_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6be2f5845dc02ab9334137c6c2505aaebcc3958e GIT binary patch literal 5091 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_163_100.jpg b/examples/data/Fruit360/lemon/r_163_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3183c02e953c34016f69743f3cef4be9aa13f913 GIT binary patch literal 5128 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Πs@|brpK~4`{^nc~7#a#pxq6 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 B1;+pY literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_165_100.jpg b/examples/data/Fruit360/lemon/r_165_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d53c6db20e107c24b85ce715e01f2e848dfa842 GIT binary patch literal 5104 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 n#XWMLxrHO!ml+Y27 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_168_100.jpg b/examples/data/Fruit360/lemon/r_168_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd663cd7af0da5a54f1b1df3a5498a6824a56e36 GIT binary patch literal 5059 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_169_100.jpg b/examples/data/Fruit360/lemon/r_169_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5473ef87430fa22cff0df359df527b795b1e8c30 GIT binary patch literal 4954 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_170_100.jpg b/examples/data/Fruit360/lemon/r_170_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..635a691dec2779beae41a5fa4b4fbdee0a8fd28b GIT binary patch literal 4968 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 K@jp43Joz71_N*EJ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_171_100.jpg b/examples/data/Fruit360/lemon/r_171_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0a22fe92d5cecc8903029f2da14651afc92cd13 GIT binary patch literal 4948 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 I5=@->51AQV@Bjb+ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_173_100.jpg b/examples/data/Fruit360/lemon/r_173_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c07078291da2a047ca9f1a8b92914dbe4949c1a GIT binary patch literal 4790 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_176_100.jpg b/examples/data/Fruit360/lemon/r_176_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af575e268597633811202dba35dc3cdcab2501f9 GIT binary patch literal 4767 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_179_100.jpg b/examples/data/Fruit360/lemon/r_179_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a668b0a49c7661d7770df7e6b565753b91e3b4f1 GIT binary patch literal 4739 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_200_100.jpg b/examples/data/Fruit360/lemon/r_200_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d70ebe80ea01559bb4f897509a29aad9399ccb4 GIT binary patch literal 4744 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_202_100.jpg b/examples/data/Fruit360/lemon/r_202_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c360bafa7899059cb3afaf0c05c16939089ea4f GIT binary patch literal 4799 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 bOg7VQsb1Qd`DOUv3f;}TSit`jXTSdgdqq2Y literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_204_100.jpg b/examples/data/Fruit360/lemon/r_204_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d37049079dc7bcd903a95d6e78a97ecc97e2e64 GIT binary patch literal 4805 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�o3UJrGfi3bba{zHrhg78~Jhm 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_206_100.jpg b/examples/data/Fruit360/lemon/r_206_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2217532fae87c4fe85872cb7be2142003a6e09b7 GIT binary patch literal 4834 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 BaryuN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_208_100.jpg b/examples/data/Fruit360/lemon/r_208_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bc64908cd98177ba38f1848c30c0fa2f09f5bd4 GIT binary patch literal 4911 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 T%ARPjncTRz&w&5Q&!_(bH3)Ha literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_210_100.jpg b/examples/data/Fruit360/lemon/r_210_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fabed71f38c3044777ee23b648b117de5fce5e5 GIT binary patch literal 4983 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%0DH6Rad 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 VZxm2-#ZcYx*@XcAQ^HBp{{g?fwqgJP literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_212_100.jpg b/examples/data/Fruit360/lemon/r_212_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78ce2d75f4c38ec9e1fd6440e5d1c62b120df8cf GIT binary patch literal 5020 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 Iz?zv)NfQG@Xsw>eO-Wt1^{SI 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_215_100.jpg b/examples/data/Fruit360/lemon/r_215_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84618288d97fa87841b6ae5cc99891f3312a266e GIT binary patch literal 5013 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 E0J2=8yZ`_I literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_216_100.jpg b/examples/data/Fruit360/lemon/r_216_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3dc80f8b94d45fcad3b7686969bd0f5674f04c0b GIT binary patch literal 4998 zcmbW3cTm$!n8$y#&^t))AOZp+y+(Qy5R?u^0YOBHAiXK56lqc-9R(ruASHAnU5X&R zNeLZk2{l3>hwnRc_s`wT-90iW#*rLUiV zKwwbho443N~>#X>k#z~jZGb$UEMvs-~0MU$Hpfn zr>19SQOhf}heyXJr`SJdf4K+%qJOcj;(yCUf5k=kw+5ttxd;gTubhaU zn1oLX#Gr0U`uGJS|LxagOd20Pe{ClhkTydzJ9v*!ToaT*31R-C{X_P@1B>{7k^Lvw ze{szMR73<<#Ur8zz`zAAKlTQY|9M=NgZlcAk>>rD*afoG+T=l$`5iXF6o`1(PcYha zSGe=g5H%bD{jk_i7d7c(*OQnG_Jh6aA?W+AxYZpHc*@|EEgcb1-d_zPS@d6HZVt-} z+C2;q!1>PPluFDsirq>~|e3@%4#pwwp+libuUh(o4vok>>_DFECipGw)~cjM3Hw(q23D+=cx`&?!zyayXi{K*J(e96Ds zAgnm6P(Dy5wuIzUApN}mP*5$!DmHnHhzZ$!JqV3cFMz7Zg!tCez(ml%eY!n65KBq>2DNa2j z@BsS0Wc(uKU3U5SLT<6q@#6WgnWh+ND8K2Ua(J6f+jdk~lATn>WISh2YSr!qJb_2q z#&A93u(3Dt&m;{^5h%a>iEu{HtuI$$xX?wMa@NteP3CFum+*=Q2 z%#G2Ol$gbn*J$Byv{cmo-SxqH!u``*m|KU!o||n&P5X3inf~uy8Y1bQol;U)WK+u= z$a$3(2x1@^$Xb@JU6&O|;xX;DZH6XjBiO0#kg}q+0Y&$c4e-9hrl_!vRK|!Uun;>* z(i@1HZ}<|Qj0J*)=E~H@A{4A&sJZl+*XgkLRV+HS2DL@kWA;xY3zr6!DShp-K223JGx+ZIerOY37+-X+iK&v_QdIFfZlsV?Zqv{Pc zH&uq9Z5O2B!@XIt!1Q638zF;PIdbw}txrp!y2_8^jrE9qkIJ(yBotX5d0D?Bgge^H zoQRRE&vU`z6XXNm5H?=YEp{KTY~6ci0~#LSo|$K}itPL2);hJrETEOfZ0lj3 zx}ms{lDT?JqCBA09D@RZmFB1|Y+k1y2K=77J!L|Y`a3#;>dI@ zfAV=wqC=4*_ylC;{Yes9cUKi`@ z=OWs=uKw=fuFS`&+c%|ks8pGdO}g#n6A{>Jb4GiD!@g3{#3Y2$%$eD~x0jPan6fW* zEIDg$u>CnufM@P|fJeQ^hPHYkqB=u=>VnVf?1I3C58DDA+7Vf_FvZbJWga(B#@%o(kuP?QwZD>Jt z9SQ_V6xGrSiy-PE0j4J{Qv{}VJRheqi{Qd=8L^(<%5HOKm$hoA^xCb~jgR=ng}U@g zF*n5e2IGux6=dfIFZrJQ$YN@3OkU^*eJG^qRp7WMPb%n>GR8R>nr}q1vn5kRa>pPE z>F@bzyN`Kn>l#9k>rOw*(|1-s^{yEewmYyCIC|dQAU>x!tsWGzIW`xsXhXEshpUSF zpUMTKXNVeR1>=E_IELM}4B_dAD+88L7Bh7JvaCKxZzjo*6SQ=+M{6)RN${%6m$D}u zq220aZaz&3bVqE6DxIBE%+$8VOIAV`P3r{>V#uHT!VDgWHVEt`-}}lV&sr&O%L1*^ z+Zl1z`^qvzsok*h2*`yYjgOBrDkx-bk#|TK+RjdnwA$yk^vN`PRFvAWDvXyw7RD}V z2a52(#2}ciN$oAwCLN3S-5eUy7sCSFotdl7b;&O3&*Jp$9?_)1mdTAbkG>1D5L3Tr za(o8=@w!i8172vBcuy){ze*)VE2N<#$tT+>RP1m|bD_mj3rRiP)S>a9IH-ojd@Mf~ z^z^kvfp~YIf48B$9zRlpL9d7y5w;t&kZ%E&8QkU&EhbYOh8tjp6VwEMKHs6vEhrXh zJ3LgX>Q9&^j+^?4UaW^Y8mZg=+Vsp6S52Ie#0n>N2Zl+7edngZ7+sdv`=6YMI~G@0 zQh95vG3y;4;A*fV5NYIcMfUbA`6}9t({z3zgMU%CD)C%Lz3u69Sw&M&iBabN3~sUmdd| z+a=0)V9Dg@>182`Z43(0 zxQDe9@WhdDJwYHw`PzTcJ$e<$jSE+5Ed0$etFaqb_4vH~-~;aA1@;s!kC>#FAWQc9 z#R{TF7~p~Ur+A=4^Jd~&w_rL^TyJFDF?fR+yJm-YFrQeH!z}b<{Al`kvD%G7vXWa* zE~(ww&gnHyQ$UrR?YER|5ICWH^fB{smQD;Cq_*NGb$q!ruHl$@74eWa`d9uu5r6Lc zhSzxzxWP>F9vQpXn@K^xc0LClpYg|EQ$|x=Ak>zbIVtCOpb%RSfw0yotvwHijH&W( zbZ?aq`_s+ac6C@>zh;@%J1>N(B^X~_NvIntYB@c0p=$ayGS1khkVRg91b_x zT0FiDdsP^fkcXbf17A!8pV#;PNKja@{IvrKpfD+2<+R|gDeH9ikp>yf4awyK!_QKz z-)J&9gt~fI!6@0QZx9v914ce-e3M%GYc~UK`%DS*7;F?qdB7xBho%iPf7~`i(i_iJ zvMLT)5!)rJ<-85~aDFe3F`%ZW%|5$F%-45bdWAw=xUp|5fdKvqXTNMU*}hVf6r;9> zCfmAXK16n1c$m<+=?u;L^&}I!kSgajf`>8i@fL8qajr*ckJ2vO@R-W3fJ$Xirw(k3 zTzZ#Bh!erkp4@E2$S2607d52x_{TgSkofkqqOO>j%3I!JJ@)MWC3z&eZ6C$5BaS}p zuz_Z}dvfT>`Po^e0N6Ly%?1V??f`%mP0cO3p!Rm36XQ&Ugf-{5;=?HMY_V@uwR`@NuJ+o z^cbPklT(YsE;nLwN(XU_5bajJJv%8zi_^*|LzWnIX&<7tbUkbziM$=nRKG&p^Rh6d!9 z_8n9Xi`hdVq`H>)6f=B2?05zFR#MAy#0WqZ1)nsMgugKlt}sSPONllctBj@(HwsjQ ztX6+N*Gbf&he;zFFtV++Vk-5)g_3#4S;{GW>*+v( zDb|%o@3EY1Yi+#2_28t^vpbJ*meodC_m7u)DqIa)N!kTw*tr})1gs=1Njc~6?4NUD z{`f#N)4aBGvZC@8)>lY^pLzx?E{m^zt*dD6KVas~jc7tn6P>tVtA;**HDF0^-*hji zuX{~O-xJIHAQ%Ah%SRwcol6X*KpQRl+;5kj}W1??!3 zdNWQR^$8GX9yf_8)s{>ZZH-%+=)_lHW2bFK$_(tPZHf}RhG#ubq_Ka_m7djm1$4Hb zrOjtGTvKX|yB;9n1@s*C{NlCXO>7yw{Q{!;`%*m7C{=ZUlbQCNF|$7Jt>Fd%G<>uF zq<`3~Ho4QZHg=gjsl4h3>q}o%bt4B#0=?IUHaK+i9HT5I*Yz6CV=lP|b zF+FiR4OX!QbWT2pBIgSoNa-OJ$^Ng0X?Il`Ikw!vgBOlM7zlG@1T4N_=%ZCLxDgLz zV8x4Zy0&_eU)>Y(8YKwkhwq6AU5a<|x!DFjpqoDA*6cf@nK)ZqUc}1hooJ2A7>=Qa zxdPTz^=#~@rFWGoYBZ8>2{C^|P~B5ocq2zZ@Xl@NhvX$S?CScbKte(i?_z|z;RLog zrQ|cMJe%rq37SG?B-B6;v6IEt^5at_=3paxs%rx6&swJ@%~ zO|Zg4@@>k=B8FM%<_7U|ob++0qzaXuR@f<6K{gm?Y(rR?9y7PKYn|k@BpQj`hMowT<0Yx`t(h0fQl;0 z9yD;b3SoqpR0=KCq%zzrekGdt3Et8lKqNY_S}6WJ%s&TPk>U7h3*|Tv2FD=>(X`V% zm*fR##uG|(b$AEcRWY6gRPOaF)WMk+dQ`U3X>%M*yQH8)z-pYwO&zz*{u}Tnm~js4 m4RvdYXj~b6H2i(}@5z+Z+}+0ncdlk^o@i8F5T7E(+0@M0D$a#03!IrCy}Gr{TX{+s$e`ffJB+ zehR0hV`JywymDPo=!UR}jI5lzf})b<9W8AgUA?;|re@|AmR8m-u5J$>xqEo}2LuK^ zg9e90zKn{FiG3B9nwFlC`6eqnr?9BFayh0Spvm=a)yp1gHb2#KO26K;ipoS;z&!F#}DL_PC!k>Gi3ji)ObtRdSA94xW<$ zc(O+bYwwXiCZU~uC)ic3&bKAOK_Fr)L{2g{H!?rhBBlT@sMpIO6gOHa;%j#pVPw;^ zw(GwCDLzSN+)u5S(qL#moW1fp%o=QF;Q!d0thrgYd#$5ue8o1igm5d2d18Bca^Em6 zM1Y-1QI9wElmZgMltWy^Bm2kW3RuLsw+GH7re!Zoa`H!qX70Qfx>g*F%2R(y_sdGG zm-Xg|I)9DVF+uj^-f}vm*-_$YIqR&k5s?{|eNsc+joO7n+l^muaV+3{_SEk+Y@_B5 z0&#m9f6gFlQgzHA^Co?M9PO&&mRY?zTIk^MTy~~-T*%{Ev+V&We8W@*ch^!w$m zB(%rS-YgkzcG-%wo;eyUIZEqSW1DuGRZ*|D_c-+JTotRTxgsBbz?%+doa{hj=7^UO zONd_1>Ut#S4-(L0QmhRGcK-flq9`gz7+u)TM6@n06oVOlo4M#nm53_CJc+pD@516O z1&X;))jY?w)~qXW6%KBMPscv&hedliaf=ZYXA|ld)ZJk;-Pj~DuN#vx!EI9|jzSG# z$!2rw3aSH)A%7|lX=YZxxr>`ZV0b#_hVbwW?|mi27OUw0O$5VlyMg1_{-*wkr1T zDdQBF`wiQ=ir2I_n!~g0_FJcK#y*00dE2&j)8Wcgaf&<)xw-xh1<;g%5x5lls}fd` zsY%+c6`|#}K$!GqGbD-x%zBTfR(ht(rrC5(*ms=pEew(X6atIbqO8z=3=5l85;c)V zxgR7n%4){5tGarVjWCl5x!YpfcP^+&Uw(S;h3|qe&+f_8qD6|rb7CoFht7U=nMaU4U&+sPA(8;>6TvYB#8nk@btd7ah69W6M!g{YhRn^gtR6?4 zl^C0XH`jF<@n0J!jf6(6>#^TBw8;iXOT#$;D_!atV>inO3 zX{x)2Fpl}a;M4nl7WPy3qbQr}oAXAO0xA|IxfzG4u7Vn+<|QN(y;g+Xb~855o{#_t zL>`edWx|Oq;cAfbk!c=vkK5p{cgnj2PUl`(TeFf!-DvRxcNjkKAMU%d758MO8)VKjKeG44L!8LbRf?bXmD2>t9}zps3N? zu+1;5c^`j^-D!*(H`^SN8nK}k9c5vk(SPKJw;3P-fEu55m@ba0RNyK4F2ij9=Qym& z?$xpZjMu*Afy-%e7%kyGQMv)Y@=}&2V)C6V2oAUk@#H?|Z2pZbZoiDD zU`cg>eX33Cyb|iLskd)$c;Btb?vOawXHQp>@3u4OwB)TN8?N@lyfGX#mqBa{i5Q(Q zLfN4mP+H+`QbPMizY!k~j*ufHtvS%|l)#5F^u$9- zJ9fTDfU}#NKib?!dPM74F^YWh?p{gM0dcpR$IE-Wn5IhBv$Vhy`jQ!i1RP;Wi(_bq z_Cx+J9$ZBrR;?kSR4+sAPMe0fSt)s4BJUUtxc3xx<;=}?fgxn8unoC~y!s^kj4!@Z z=<95QnQnfljB$St8F;aBF8>End+wdvAC|Q zR#__S8?bE#idKbwd1}ww)EYg%StEu~3ytzH+d(T~;)!iKwsX@fmpwGeOK2K%=FD98 z4QqC$Y}&4WFZRVaDPkSuGGWTFuDQ8oXXrQ4pk%JtsP{jP3EzcE?St2*5@$w!Sbk9q z<^e_B%caOAD;P#>G#Ss^IxDKI@!wjZZ+H+jL?M(L(EzmXT>EYlabT4KrPDCuSA}4N zE_&8Hu!eQnwH5e9zbt=n_asZHKm8`X{=?#AHSZdUaL90kuuXOSNBhe36gLX!W;l}9 z9$BH%9Ed1hjGfDOq6DE^ zCWN4Rs#Ou=ux{lu5nH0;X;S-DY@Uf(;`Rf0e^mpUMv|DWUCIN(v9t8igaa3>o0kN5 zkN_s4#A&8ayGSR~YZFs^!tyIW+2e%g66l0xn%>5c!$Ral4Y+TdC1tT<`Y4wlW?Fp$ z9#GMPTdMK&8tFY!(KkL ztpCEm1jI3^oyZ)Kv02b47z0}*0ZI9y^_@*}11pyKSk|!T6Q6%2Cpi~0?IZH`s~=F! zA3|xK%eSx+eXweF_ML9867C#l=#hXm!@b&5)$Ru2k(=*tbX+^@NQFrL&$7 zU#MabquAmT4ae^E$i!21zHrD;!08j|0RAj#MThy+KFUMxhL3OXYllC*t=q?+ON!Fb z(hu^;2^;5y$=Y2i-qe* zu{o0M4H_GAR=LZjMYtxT4V8l*`2_=JpVw{vAUX|M$7~!<-zn>tRel6%FzGxJNR|RP z##M}hua8hoZi>BcVv1L69j*XlF}np$L)8#x2-engp13#HuyDM0oHf-o(L0zC(F(J- z)1O`BZSfEbE1QvO;ph3t-Jw_$wA-g&+Goo(c2(d-PMY3*;7`VQDchenSM!rIU-!TYKnar^?Yjdo0lq zPp;pqtmSiIxK-IP=?y5cWk|pUI7AeyxM87Z13k32%f}80Eu4tlGhQ!o>`lAH#@DXo z#U?)%pLG~RcWr}CQeu4ym+Kwy&aj*k69Cg&bs?g@M!z)&uo$-lwzk>q(_mf5n zku6fW^3yxRGU}Pa5n!Al_789WAXh%tkKW_HLmpD|3ldX$UPgTTVgWv;w^0`zhg$!% zDbVK^yDaqKhocJ$sitBe8dR6ntFV(-mqxTn4Bi{Rd-~}p8%NMMD#sX@oIm?lj?7l; znMt6Q2X~iUeE0Zgk$mc&jBwO=cR}n4BC;VMYy5FQkDx?`UXiHfU3u4J4UqrWx#dnl zTt%PWLm8J)qWQL$!yjVOOqdk*PI-H0-K_crLeO!9PMUtXW(gVH^5>3Qm_I5@ap8?E z&mN1TIGkb>7RF$7!_$+dS-Sec@Y^MquH9I-uKOdll<;y#`pGrE&mF+_(cJF+M`_&# zJ7A5G6@+IgmFa<)9wP0y8ylA!sc%jNa^SH@so(PSxyVeP6hv~aes4?oYARwNNVP(8lH z}~K#$k!b=Wsj$x zQ}HS2^)rQzAg|YNo#lPi9_WJYXZoS9v9il=)C|%;Nxg{7f4#O}<1+weUcSROO{q=I z>_`sd?rB!P9CokHolluB&V9-|F;O>t8IyZBK+Un{pp${y&3hYDs3@>Rf8GRSiT+E3 zk*S**kwd(Y7y%5$hFt-Xg>c}CXWx2EFor%`EXmKET>ENU{ij9I*d=;aiavAjp@J=} z!CnIcW+dJ|T3JGi17Qldt+C1qPZrUj*~SSr(Y~crC9(~N4ibRVPdXABh$37Jct?+4mF?F^Teg!eU_< z@c4Fz_f7Yi5{RB>jygNcv*26NlF#OL)qF4FNZMq2@4zu9qV|Jzwo~&Ur?SL@O|u|s z1yOA%;;rmBJIsw&Uap^_X6u)Klt3B3DwRRb53dz}%H5%>Wg^4cG(7vP z*aZ%COg^}FWnd=Lhn>hg`K~SX%i~Ofj^@MFxY3cFKC`Qo--zq;5gErH{1+3=vc62e z7t=nmG3+|E5x`q;!r`R}C1Y<)H_ui|u@STz4ws@L-{cjOn^JKdDI-x7TuQU|NB}F_ zW_3gT`g2#OUoLGM;~f!gP~_PK+-dT@>XqX?Fz3-spm^=QRtMC+O%PmB*M-BkaWRgX zCtsthi?5S%N*#l8I1)BE9L%a;U?SS!7{H9h({^IAZOVkmvcbn6GXk50KQ}E^j|X-KZ-S~JKkifj3RYyCM1R|{T6}A7 z?+}E(J_mcBRvYwUe;u-?wsCer4_{wv8?4?`9N}6ORww=F^oj~gMZ38@7+n@znkqjFMm#%x1;b=7G=R6hU|+uO$!Bk#lDW?9 z_7hprH-Rq1FxA%XrYZt~`>X_Uf-0<=P92j6t|JD?8{#ryoa;G(%g^LcO$mWit>LRr z+up_NJi%O2a8C^V-P!b2Mfv>iqw~15%FXt*Y7b5ChW2qQMHNf*b;iY#mz~fN+Do5H zRdwDqnVn}G+eNb0i3V_~hz6UilYkN8IB@y`hRK1EAsv%w1k~t1DIwx&Hj9#M@pdPS zYQK6CdSofQB{RoZZwa{gIZHceO=yMBC1}(D`Ko?0L6I$ z$Y?+vprrU?e3FHlocQPW(Yq4~!_v=?bWv>+Oqi}V+1>HgSxje(wy;ZNhw zB>xVjyg)^Dfeu6i`X}Z86v(Xr^F_cOu&1IB04SL$sF*3p-vPdJofrO*cP{o{qoAas zzCZ&ymqCA?P<{DaJ{8ru=nLnH&$9#1`vGd^3oO^9)M!`@Y(N6;S8fNt%eg3cucD33 za0DwPZR-(2OUKRu=HwE-E+Q%>en&=DPF~@z`uztQnty3&8$C8Qfju!bv$KEt%;CAC zljlpXSKdCpes4mJF$Lwm>f&aUns zJ-wr2;}erp(=)TnE0~|FYwH`oHgWq0hrf@G@h7K$xF`Usf3eQvf6K*u&PDlW4M2am zC@8(por;kxK>qF9hF~KU-wpA zNX zhj1q=gZRDu1Lcg=h=UhofO-4x$8*`RZ?MuC1VVGl$O4Uy8yk$2%FcZKMLTGge#xtR zY{r7{WSHgoblJO_BCxnx8@0nEO18-nr@o^3U8e?xL&nHl(tGes>S|+(JG++RBi4PS zGKg)Uc6JuZAH;HK1P^`|q?M5p=fKU#Xrxn?pSqMt7@D|c#b}aoGrCjgOhb-fPGlN` zUnWgLt5D(Fy1y4Y<9GvZ@#-e83|t#J6W8j54MSf*XBxj#sxx&4ijQ~4e#!ZpUqmGs zmqzGms{9C(xQgWVr|WO7Zs8P>?`B)+_$3`(a^u!59fG0qbG%flHgwMjl^-N{#M+T1 ziABX6Zu}0S$A=6(s!k>3#;DhgT--8v<^hz%`Ha4$Y!52-*N2yeEzfwBhjG z%e&uFnYnKaRB`LLT&ED-8s`mS9(ZMZR!(;)^;pm>HYrCa&2j$Dkz@JD$pa^uuM-8@ zWfo64o~2dkSE)U?Vp6DP<$k7y7z<(|0}joS3QC&N7MpUS0}chP9sO^aR-p56Ps@me z0J|bQsO>Z&=C=~K%q7h-toh|3@Ov5|voFM(!b zbZo8t>t@ZL@n=+~2zsxYvsXlZp*~G)p4%)qj~4aR8~vN5qVvxQ3wwR~nF~?iA@-H>Qc}Z5Ilsr^KRX3jBAnkMj0Gya zF7ax8oD^n!>?+LUw7E34nygz~mt>am1GK9EifesIN;Wqd{*v3UKRXcQd(cr)neMy9 zi&-dqqCFf^0#>vd>I-Z{sx)6Jwo?#Fe7Am@m9_6y`%bf0{zqBT*Z3JOxodBj()nM0 zL0Qy>nXYThn#OOmE+GP)GsXj^G4^rlEEFD!9`5Fkif3!pH^d%$l?Y6=4aM^+5YrHX z>NrsA@!nS(x5J~ikzaB_$u@)pJNW19Dl*WG1P~*rOWP#D0O&+sUAV#O0y>*-R46caMs1W_nq%9XqmkBS_8m}N$S7Mz?qT|w4 zTd{JNqm>5e9b_*_zW`;sQD{DNX`I%}MZC#_|M|S0x)>+50epJ>fb*c6aOLI-mm@EA z6_%}hm}OI%_KU4l2!l4lD69K#WH_NiZWqHH!N2p9dB>{r>?xjz;195#==V?)l1;tj z?6jdHIZaZn?;ANcI@% z>MC^Ri`DtCu$?eB=%AHCN zW3~Ea2JtF#4qRv+ZArt|)psRvZIXfh=Ie33;NTlOf~Gf(^=EY(SRTiQT?F;Ki~pdK zKLte+-;4HJxgS_(+iBcl{!l?J5Kn;-VpJ$E*Ra$y7+Fpe{luylCEVApbL&Huz}p#W z{`-a?{j_>rp9OX9TfG$zBpyCZs!EYO;cw(V9CSZK77U4wWPTXLhU0m>X zb9Nf(ejU1Le4JTE1|VC%M!1jTCInIY$Vo?5$I zQL)iH@QIUW8Y!Kt%T;1Ld4pT>wtw_KJj!Ix?Xx)?T@SO^vG&IX75KB4i|X9VdM-}! zOtqVH=zt8+VH4tc`A2wHU*dn~I7(s#ZRJ?HmFyM^0%7zT)eqb0xYB!y^kCCOBr%u- znIkw5-#2k$EVXwzZ=$LYeF0xF#~$}~z((;AwmD=V*rAyXmr7vKJSv<-fJuEYD{$S2 zO;dM_>rYdWx22*|sb|L3zG30)-I44wDj`yauVJb|Z+xotIIbn+&ksOFOnR zG&yW01LoX((K58I_fsF~okfZCyQQzX=50k|GzyOV!_`IRmGz588&Hvc8hOj;m;ri2 zQ=9tg%*nNR^qL_Pr0ecW@*NmFxO zicVO@*S|uFt+hm`xOtsFjS_4Mnsa9FGY&=BHqiBmiZ_P;)%!EVbI(dYck_)=cAuQu zvm0+D$|#Eu6=;w%o43uRi^mO2gF9r3J+oCk_lb@MrEq%atGJf{cEd*YG>z{bX;WD=FGbYcg9?dw`uOOPSpf% znf)%c{cL7ly;@q+qJy20?0SiP`L#zF_51t^ON0oqk6B!fO78ddd^hCk??rH?BLm;1 zrthN>hsF0lcpk9$FA)~wxMHi+#5iF3vh9yAfce7p^{NLqXU84oBW>>emdH!!sxLN3 zOxsudmA~j8gY-$>IqdoIE_nYhy3*6cEjW9?LlwvbNm#P<#vt00|fy#NI6lBriC%1()|ZHs&G~FFuXvi+MGUo~T#KKA1&WVE1UnGqggrLv2iDJdn+kRmpV2+T!G5mAWih#n4vM5yVD^e$MA%CO3di!Nk9?>VvrwUih{ zJGIQQ&9@XN5O}Q&S*@rgb3^+&_s6FmY$)*PUC3F2NP!Z&@x6%sE(n$kgaom>Ul)+y zKHuP0irOB8ol{%zYGlOCuVoJ z3Y`wp+K59DnePuQp+8m&#;r%&(dHrAK=hlekiyET{BJ_Zy%lW>YMA{p`d>md4YyBX zvmAxQHa~17#_Knm+>MMjsdHf5zFkba^y-KRIa$2jV>dWEPHbd~GzxFl+lR8asfl+L zz2_WvQTD{AeIytOt^ZIJw2BeHxc?qB``H(lBLNCU(ipSJ%FwUOIvns51~6`AxWQey_lV>&ETdO6yZRsJr_) z$h(yVWuEP!YY%z)5usUPJDBUW;HE}^X(jEJDT>)}-?@5xupIn+W@?jH#n}7((zo;9 zg_P1R$>)or75<&O#1LCkPEuUw#4TVb$ZSo?7zeSt>U@7gVqudMHc@LV&Dj)b;$mg|`L=nvaP5?CN4S`2901sjS-uUyL2!Yp3V5E@6j5#H=H6nxHFFO|Xw z1t+A6oKkhPTrS2*mCAdJg_onfrwM)Ec_lkmIW3CElD8f=MC-flLG=f_Cl`2zzwOcc zAi6v5DqUC9y*mgof6_BJjZux3UIggGSJ{a46@(hJ>o#P~4V`#IRYlC%hIhf~zmy#Y zvE|G|=F~sj)C_D5oPsX2{qFKb7C!$HV8R}LJG6K*ZsnBciG-_&7@ zX&WIzE!GcqD1zAwTV!kzb7a|oUnX!AIkS(pkKDFGLn`waZke3*WE=BO^`W>>OHtVs zwViiRP1yPHie-Ovx|fbkA^ap|xPkw^o22nGeruMTDG`|yJU>(Kor~C44w#w(91Fx3+`J$yMNwnD!#l&4?u(PXinV*KR9gE^s5Ij=9 z!-sWEhyuTVEEp+nGx)tN`USs8kUl>d6wd!p zHch^`oE9#h#3Ls%5DL@e;9y3^Rx3ZF`6?hQj*RR{eDT_qPx5bH$`;<*P=zvaD=Gao zL~t0+D0E)M!JyPTMpN1oM{@*~;_SVA@lm%t!P~Ze#|?8m{S*3wNVBOVpCZb481V@< zR-27=NhPqc>$v2tXm)62^lDu~&VLRYBKq?#YX2g!1hthztC^y`AmMl%Zm%7|6$Ls~ zn!VICTapwXmP{J@%J;BFYJ9Dkfg==ud~;FgZAHrs?7Tc;(_&F@DbpFloz@?&XqtJD z0jO@v{~B7iT-+`><3WsO*X+euV;9@@F3ekXu4RAQG@{~Zu8g&Bd>6}5(%Pf2g0g@* zFyUoOk7V!`X;u}us?G*7klZH$&=$w;D-<3&0R^73-dsCZ- zI;)KY<^z2KYXpf_80&n*F}g!=EW3i^OIZJ==3PE?dH=t_x1neQ1Z-w0JQ_E AUjP6A literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_219_100.jpg b/examples/data/Fruit360/lemon/r_219_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54264aa55ab2371a6aa142c6fbc2e948e3dee993 GIT binary patch literal 5026 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

      x5@me?sd2*UqH37#t#OT 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 Bvg7~& literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_221_100.jpg b/examples/data/Fruit360/lemon/r_221_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..614eb8360db22bcf8e85300fc7143fa3530e1b9e GIT binary patch literal 5032 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 Ss_PLL&u*$k{XZ0#Jo6t-wV?U{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_222_100.jpg b/examples/data/Fruit360/lemon/r_222_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf6e5fac28c5ebd37d502321db4ca46d3b755223 GIT binary patch literal 5033 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 YKV+Lj;{+^kijxflt}*=&$;O!Y4}ATu$N&HU literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_223_100.jpg b/examples/data/Fruit360/lemon/r_223_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b89262d04a206164c4d701bd41fd174303d5233e GIT binary patch literal 5009 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ℑ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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_227_100.jpg b/examples/data/Fruit360/lemon/r_227_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a673d31bbc7cfb69563429a23c834c2d908cf19 GIT binary patch literal 5085 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 ATL1t6 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_230_100.jpg b/examples/data/Fruit360/lemon/r_230_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..684516346d03bf8edfccc7d01eb06380443a78db GIT binary patch literal 5131 zcmbW4cTm$yw8s-d7lj}oN>iy4luMN!5NQG;y%P`+=^|aKARvk$Amt(urT0iLQlu9V z1ccB82_-@ZB-8*YFWx)z-aqfny!Xz|IkUg{o&Ej3pWWHnvy@rNF96#;Z9Q!O5C{MO zsSQ9`0B8befPd^yr1@jCpg)n0mKH=yPe)Jxk25ea(lanI(9<)XV`O6fW7HnYIcAnW z4}U)L?@$^#5QvVMfu7-?l>bwpd;x$N0WJU+5b!#H1`Gs&fs{Ug097a5Kk}$z|1}^D zh?b6?fhyx1HKCD>Djx)*il(C~re;S_-vemDbnMrpH0UoHJ271Me3h2|E+aE5`|q5B!lL4m(z5c3y84F3rskH`ww~U;{(-@v z;gQLyAJa3)*}3@@)au&$2Kx8r7JhI4;PB{}aB}*G3kU%Hi$#t9Ef<)|Me}D382)ep zX@aQ^0@Ko6lcHzWFlKP_yLestIU~oN)Q`2@OoB2dIL?PpCz!c}WLJdof6)FR``>}Z z{J+Tl6YRgZ<^e1qAa(ITU;q?AA{M+7160g+HWm^h`wtDn%$w?(Qb?}-i)$Q7pvuiLd$ zCNk9wE2OLn80yM?L-sEy;$iV20>^U2SWgOIyrnUaELxFLLe@R2x%7)=HPNJ^D_H-e z7)gX6YL-fu)MQ94U2Z81MuE;008_$I+;n;OYoq2+@c5ZD@Dn-k%T^c8Oft?QRX08+M`Eb`KD0$Q`Ct@Hq@M234FE6_ydV!O8m=htaklc{d z{h-t^v{aPvIg(+E0A(cjywV4o_(xVi(?~`YyU<@1&xi(e%{^!IEXy~-ki1cE3|Gbp z;(cfn7{Ng8(mSgypeMTo#@>($!H*ow{L*dV z=halh9Z7Jx)JmcvUZS>q5bi7`tsx$pSL~nks7rUns3@VSPdh#|K~Gs!DR}Bze{LhD6zx?C|L~h?up!&cvjXVNt9Pgz7=3~24x0LKhEv}G0F;)J) zXrMAH1QIIo+t7ZZ>!=h6z&kX;epvAau}b%7a>nK4DOQ$?1|Sdj?Tvcz*(w&W#7qG& z!{z?DQc}eDBMxJ&z}#*JrZcNZ>MerjyPCr`$vD@5Ihm0bwu1AgGjv(O{CnLfy5$xNQmas8gXfw!jR zk9M7^MNgX!%;L}c>l^td`iesNdKhD#Ys%%I4RlgKvDL#jh4072-`A!Oi*`nM{A$rR z-B8!$>thfsRrSNb(3#G!`!={YQIKyVCf-dym)bgxp(V~=?=W*rr&;JdZn$N$xz`TX z23r@I)ZXP~*u)~Ao9%k7^kh3eWT535GxE3hXof|(4B6otRrT{doa$^}epeNW5j z*zucpd(&=&s~oiGRKW4q%O!twQ)(MN2hL>+g71PhVPzCRtqwM{AaXjNCg(^W>{PQU zEI3_d@bUSOLaGvbDTB%r>Xc`wDHzo$q!un(_k21M<(wdoK?M$%=TcBj8F*2xmh--R zL$Q|4iV*+DYYZm9%Yq5qgQKxc8svCfN}q%q%Oj2_A&Jc|Dz>MP866x*Pi24MHe^7! zjsWfv5A>_6O_E8UspV_3OXGUP?o|Dr+cuWdsCWKnR$>5;B-s7i`!I~v&NW5yr3bwS zvX)1C?v;fn#-*1Yg%45ybgYE8X}SCwUsdYGhra)hV07;%-?i+jgaoHIUj6`B{NTs9(? zW(yCt&6Glx&&)0874|j71h{2>SCOF~1M&{w@g(ve06DX= z)6KwjRtg=o_=~ltg#ut5j$*gltPT}xt?vNO7p2zIWx%8X>ViV(Qjz8lZMK(MY8zVP ztxD3pUUOgOKKlZ3eEuVv!Gpvg8Ydw;t;NUgS6^S>v5ok=@g_g35w0&FkWwn1lG>#z zSp(0=J6<-DvF%UvluWoKB>llDfN$+$d?=7s46y$LopKN5Bav#>UgQlrb|n7&TTvii zEu*$-;$3a*-UjO7?)i6|jAkXWcS2YFu1!W+z;?{Zx(wq!eouhU8 zZ(S{A=_y1EKkm0VJAAfTxLiEt8C;!Dr^L2?AKP^w9>46Daq~wIUe@xQZ1NoQt|;gO z3*$jIbw45S=9_f^Q`DTaeP@XR2rgmj#^fUT zR#P~-e~~zS1G$`hCQ=rCY58wIWuWEVU+Q#S-z5YJ2UWXy*JNhRZEYWVTNnQ9HhW)@ z%Z0#G05?AesuZF`$~}F9V)WFE{&GQo92cm5x^%U@xjk85Sr2IKB-uRO=68aW!HcdY z#LB@hYpzsp_y<3`W+CW+tgzz@j|(T;a{VmnjNX+jKf*GoKE%(QDfPq z%C(u&E^|bTUa9lpDw!$pOyjYd5-H^X0%P}lV6#Ms-0&8OYW#VA?bNp&vj)<@##x2%_kc#$BHqFZh~ zv2olBIR~)$i@nHBJ|sdm;?d7)ghY+nxDx$h__tqdtR*3v4$#1m({L@@~M7v30&ADG&-nNbr?*4Y!G zy){{}9r;@hjj7;(pj!o1{AU_(?qp}Y8;XoZqPRydmYSM7Zx`O<6fED8=NGR{Ua>XN z$y9xwJ2W7Z!F?em#y?uwBCh%6+|i=d+-S4zi%je1*6Ca7yFg8z`fs+bS1){CTorug&wBcbt1p4#n5Z4em^Y8mjr98)INia9Btg33)mBKPY52V~@EoLQKcf?Z6 z3K%1gQ&dS}t#-N-Fz0RVb13Bpfv38??c)IG0-Wm802s2IDGaYx?CZ9_Y4IuEc|BD1 zDNPd2$Y{&c4DDD(698|UoJ_j)d9iz*A{$UHJhjo zE!sW`I)* zwHABGy5G>2c30kY^TcjFjl!8O$FZ&m@b=;*4V$!LO=z^<##^D_PcHDLX>uw0{M z{c-~@^I`VfRtKXGQ{wpr+i>yCj7_bRHA3uv3oFciSc^8|YduEXP9gZ@3%+N|OglrM zF;k-|YN$)%#y!JlIHL2^&Rj0tK*`OAd-iIs+!BkKAPNAHV@1>uAIwOhOBpF{sW^T2 z-OyQXK`G1mE6pF@6#y2WeevEToAd`Y_9 z#g8AexQiuf@U_#QdRA8z<$@-gtHNPowYR~eLOPd4?((&Mkz4)bDPD8;>)99oRu@G( zzuW+gTMq(E42XJ5Dw7G~RqK(${ppTwCt?GsE#W2)A6+`Jq^5X1BenZ~B9m z*wlRlGj$V(6j$NCBdv<5?DA?#w6;gfsz03&kAWw0^RCKS zdBJnspU!S%$O+WfPHj0zx3|C=?DWJDP5z@;QesN5{*5p0;MT5W1FxB%u5+gzr3)u9!2 z*DDIrwD6f32Va05N#S;}qARU()feXHk^SfsQJ-ytHoQ-%WQW>N!&tN-Xk;wS)=eCrMAZ_2VH6 z*XtKh=htu?x25SVxGf}Dw;)^N^Kdew(U}F23uk!T=NnJHK1sCXY#`W!?n*ZvbT9B^ zxZE{hStF8^9(8gMM9*$fwcY9RVCB^Rm6Fg^*Ojt;2=+kU@J8{`7|P3QsXUiMW^wrq znf#(|30STru2R0x;(JNX+4wXrQshaajU9PT(p~@+q*OZ4A*p@NaXwi{J&$H1%NZzeaSDH&>JaC2rdn|H>O)JUt5EDphxS)3gQ}<$lad^S*^LRDj^WplHIV* zBlDgU<;!Yf*i#TCcWQT%U`}|i_EBlThvf?|-Js%Wa1G|jgOpEJAs!nxWDWHjWLT0B#fb=_ml&S?c5%hC@iP2W3R_ z%CDX%R$e_|vbR_7o-MtAQg4f^|Ij!uyOJf+%otWQS$scEj@e^40Lt0_5U;ScSM6}$ XB&>;g8Gh^^$6>5a_dmD*W$r%!2K4Kh literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_231_100.jpg b/examples/data/Fruit360/lemon/r_231_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a8e2b3ffc8f130212f7210ad7fe475e3abfde06 GIT binary patch literal 5096 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_235_100.jpg b/examples/data/Fruit360/lemon/r_235_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98c6683ef3123542b7944d615048772791b6ebee GIT binary patch literal 5135 zcmbW4XHZjHw8u{fArz%3C?E(*5JXS`l_C(8OSM1*0YM1$V#pOKB7`a+NJqMWCQ_t_ zTuLZ{fe3^SDkb#Zi%3m?Kpx)v=DjcP!+US-S!>Rov(B3TZ`MA0W-$kt69BKiww^Ws z0s#Q%XaUS&KoejA{kGqc<+rhde@6%_E0~oH!p8QGLpj*lpd3&(Hg+y{4$j|p^mL4i z^Vsjr?;`(x$^rp{A)HV)=szj{r@*WS_}Bq^z#a@b53ulozVaW?p(idf}UB98EtfH#4otQejO6}CM-N6J|QtFIptkyT4q-Er<~lp{DRW5a$-egRrTku4UJ8d z=9bpBA3eQ&{nUZMp~83+0RM}16#qvqz9TM{-#vi- z<^r*J9yyqg6>?6V?Zj;a)W-GXd4)iB{yT9QC1ef>#fQHHY~8+do`PMQlwALf_7BBVg9}(5!TE6(lv^g%RW?*{l?u{YskBFL;Ado4=T<*Xa6E`coFS5Q@lTLz!Sny>GFz5 zBfv)=`l!euGkXk_GHCOWbw$Y4$`{5_u~AzSPqHvSZO8@lu5tA z7Bcrcl#8-^W_ZlpHhxwDrt5!77zcFtV~i5p7sKI_Q9KjC^B(gei8!)R64 zEw=!lfQ-Eup05wiWY+nqbnXrMwThW^GXaS4x;}2iSGp%`_4A>@g3Np>x9H)|kL#h`hO7e(EPs5M`iJXI&T zi!EX(PAvX#-MO*(Fo_8$?TTgKxZx8S<7K#5hnO}dV1?7HNkfR3>}A8i*x4TGtdTgY z(Of6losw!_E%MQ{=+6Cu%c`Ns217aV^#aR<|t9I)?JNEsy zy}s%N_wyEtn84!a>%+;>iQAWOpBqHZV*B=*AqVFd{uF#?ULZAo-o1z-6zt*(%T3=Ob|Hy8U%Q7Kzw*&z>%H3|^Lj65e0o53 zBqltS)IB`6&=BQ)_R{ylJx`vnhN%T@B1irm{l(lD)C8TWcTwuTk|+fJv{2JvPEil1 zbY_J-=WhE>-vOQpOj;}|GL+~(FY1Ps5J|OlCM{)}_;jo14#VzS&v}%su$Xs#jwjFj$m#z8qfuL*4lP+P#Y%2b zFz-`d%1M;K%1*}Xsq0By*NDtkye(M|z^oOkC30=Huk$~f%k3Zs;kxhxBk8XKt&h2| z^$B(h9QxYH3%FjNeVFyEwPKr!R5w^m_5T?Q6Nr}^GHy@wk;p?;V*-0ibFt5aEsyuiJ??RFNC!?fcMML)4B}ILRr2r=R_(c6 zws#(BVnWXJ(ay^E3`bn0t0v{Q$Dc+MN0ZZP0+6|}7J~VGdTrzRZLQX}nqd~bue`uw zpX6oj+1ErwWLRcAfcJk^%oD?!)m%FMaJ5d+l8_Q2H$&e~^eU-7+WID4X6#$WS906! zs@{A)<+x67&RBSzLCt*e-1jC+r`07pEA7TwYv@@sYg4RZ#9ZwofwI9QAY?yRJ^DpN z{&Tl>kGSeCb}OB;+uihJ-r*KXvk)uaR+FqMq9EXd&vAEkcDtEo!5WN= zH)*Ubj<;7ccr8`c>HTKq(Z1IB(eW(biIZ$1AAVhzUCu$v%UofUi)#O(^jzIgw)-&uv$?~)%N+Q3@+P?g`<9X_$NqDG?C^3 zx5&$BhPi8({V^HWE8w8QdNwrTunYc6Ix+hvgu)W1`RcWBQ{lvhrHqp z9gh!>)xGg`>~xwJ(R(cQQ*#t42fvByQv)Sw%C;=tW;}e--M3^0NnDNQTovc5!8(5!7I#)TFgE?BkE%xqi7Zuk)Psr3x0!}15Y^CjbdrH@o~R&XU{jvcB3TxP6A)I zn)8r>KI78y`zH97(b^rV1$u}HeCRH3Vgeik%e7aY+wCalqWRNi2`)nEGONL_;iL2K z_f4PizioGQWyt{jg|Lnj5fd+z_hqBF#?@~NG@__ZQbB9Lhyq)(@+@>7CZJp|B+l#C zf)5FuEIR!DjJ;|zHH{tCGT^3kdBRJj8G+24kr6cK<_#I$F6}E+-x?nqw9HAdG;Oq7 zXd@aAR}u;s*LDe2guH=aryESbxiYbps{;06QsOM*;OA9?j840Ok=C4_y_{{YCbVyy z(rMj&i}Pr~hfmk_Jge`UNH&xj5|5TY6Ys{$>&@cYgG1=$Sq_S_%9fpf((PGo9W;_+ zgym;6xjbO=o}hk+X?Kv-EIhq3EATSSXKR_7S(`q(@LW4<22rWtJWkzRs8GS%woNz6 z9sBI1px@#JWBF)5oiJdEqpul;QU>zeU|Q#IwZ;TA2rQ0C_Wy-nbtdMWd&+vhb`|uJ zznbJGMwy*MDGqTHe)v55V!+>R0JcSRv+bF|Wz=+72-;+OvB zo>}fMkDN{0NZZTbs!@29=c!Wd%b>X14ifu=MLfczBcqG*PW_%Y9m8pq`iVkr_w6DA z7ZPP9`Ag)i@{i&hpW2fKqpV}tmmm4+O$nB-%9uI066yD_?pDQO5F@U4m+x+B-<|1a z0@S!=gZLr~D^xB`tU~PXHOfGA z$d`^9!URHaWlUhD(|tlrxMUy6kW})#nELf_b@~-I`?ir*z())>+CV7Yrm!zm@l$Wku&CKySrTxdMY%6p^9*U)zsACT8hS zA4FZc)0}O-RPhjog1)12h@1H6&y1~rU*YW37^PkIJdTH~XO|)#yLiL_fT1c72(%!e^>$BpalaDm9-1lCC z>z5RVYFr+NUWk6~apk_;i<+9{XP1e@xJ`P;@e722u01AT`J#GoNkc)q#=^q#F{jR{ zrXbx!h(wh&2n>&%?sQ8TQ%FW-n-Ov%u1jWL)u|9yYyhfm22unQf)S!7>fB>yT_Lb! zCg72SY1zFEzpMjZ(jazQdA+l;2;asCPlxbHe1)~J0vWN+NjX=pQ*0%j5~!759A*n2 z488b4`_VY*wr9MJ_`K_%!qD@@1muk`D4=%aE(Y0m=x<0Tn}{>&`KkzKiR;KlT<~6O zq#8nr0Xutc0}rd(m@%|WWy4H}oVcnQ+)v6}PfR&YfQ6h7VucL667b}{k-t6TQcGL4 zx;eGKcs<(cZYJU$*GAHQ<5rh{5Gf^eQ@Bd_a4epdHhM7hazo<{^nvk08y^vSbgpqm zT)Lmjf9=HbyxuCzu`nZb&Pr{J85Qke;nCZ^hXvuYG5yTNB!WHn%_QxA^Vvg zJy|G(?LY43199l$h?cNp0$I|89s{~$3i&P}u&%^3^*3B3 z^Bm(TVWl?mLRLtt%a)VQSk!qOzHS27no2u8ce1O5hX?MCeL@N!-g11y1jxFF$0~x? zPauV|U7PI)7#>q`-)bM_=-Ig2s5W8v zBZGv%fiVN*C8#&OOMNoJY?yjihpthF+4hAr#wa_4CeX5S3l?dAVWyXC?4M!;VWl4z zAC&f6J&veJeB!!hT>FS?SlhlQcav}0kMncn`mOsGF+Mny>ScMn`gBidxhR z52Y4MZKU$H5g@%KQny%Kp!+&%{Yzd%`zTCI!JSw5C`W1pyY6`Cj&PFDG+zzlo)ZBZ?%|M<$$Yi4Q9|+ zjMt0foWmhs8boqCBzN!nK|j6x);2Hcc~ZLPwWPn1L6e4xD=6F%Yg@l^>w~&$ch8Ti zoG-m;LwCcIvJ?`+^e3i!->1DXrw7}xrp9uKFMudKB=;w|;TjTJ&z_z03B`!`c5DE= z-p5RPtrgk|WaLBV?>Rh64*6ocIQfiLS`1Z&?ozY;$xNVZJd6pT$A`)qG{8MY_dctK zOj#}W)Y>>`rXDI68o?FuZOUo0%V#{&z>rDHT`{4_+a{I zCNl7EP&}l-LG0`A<&`2Cx~=ZTx^aOs(qb^+JyvnkJ?NIQAYqJgb0RHi-H>9N^|QgU z(vPRzS9@wtNW(%+okPkz)74}FyEfa?vG?YF5B^%T>bPFd6dxJQqRDDUN8B=mi%aJ( z5Ek5b(JqAdbF4mYF+tk9z%yaWKQGaIc7hHPNj&~PRBsN__ZwQSyuK|*jC9~~ z2Uy>Nw};~&+@yZRonitLLH=s}#IP(nYQ0_euq(!LmYDw7HZf@TQYp+sP2}YJ>Q?1W zf1^gMsGpybrqwXAr{f?!v{sjFh_W4*SgyIhYreCawHaz4+KKYpvGZ&QD3lezY|*X_ zlFrM0jQ2C2y^u0^2UPH^_)RW%i!lu8KB`_${iuve>NR|dE2$R+ zRx>QSEBx+ztL-~M0E?ck1AF170#-RZ{c;#*e&tk8VPx&}F0U|DvPUdCIW=CE>6|#l zwSmPPUISL&RzITV_%t2NMxJ;?lCV$0kr`RVcb5*VA$~lF`yYpC-3Od#*64&RDbui zp7M~ORjzn9#Fr|KBwET!DidJ)#_(I8CE=!!Lq3#KR-C18#a55ATr{B}bW8;2&VS># z!TynYHfgVEU+$kjMrS23>*xYrdy||@o8ymJwy26yAEoqx=iWw5$3Xw0E?~soB)aqo zJb7sT01SIO~CKAPd>Eoe0+P^yB{Qk1^m;DAJW71xkwvvY( z_gt!HFdte)Ih33H$XWt>elpkcj0|&%QZ#>c{Hb^{wo(5JMn!MiMvLF%%~gaJKXBwA z3zP5Ve%`HHqn>&dUn=8t8z3P80FsLaoKFCn z04d2|`x{CB8adhDNI_0cMovjVN%@b1E>Tf}E`ca1sc5J!QUA4z9xV+u?cc%QP5xa< zNG&a3mw)2S^!7$QVh^I{=;wofQAbyAb=Yk&u#+Q&55~ zWYAnBz!)y%laXDBrnpdiksWq150EobF!4!gP%@j?f%v^xq@yxEPzl`q+{*fJU{_Ga z-aGmdHQN<-j;lh#BBIyDWaVzlD<~>y-qX_7(bdy`WNKz^VQFRU;P~vh(+g)8A74NJ zfWV;OS23}1@d=5L%-30OvUA?PdtY2qT2@|BSyla|{wwSo9MSN-t-YfYh3@*kzKYpD&zenQvbczW5j zRo!J~qW&IUN97EJcjp_1t!5?F#4pom3&bw$v?%g=N-O@lgU>~u103N31mjV`Q5Bnc z&fGtFKtPvg5iPBx2AcJlhZFy^jlgMbX-aJ2^I&flIJ@owU93ADC(_5MDEtbHd*5M7 z9Jw-53ohPTK3mw?VGf@ztWS+9>ko05{|OUMh;#S?`<$iH6xFU2%iWYQ*tF4s+%@$8 zq1}70!s9@KoBV2+nPVxnx%TZf-U6?t4kwVPKLmiF)}l!wsw6$?iRvNa*b zAGHnYW2^}|%fW{#va^2%mvC(R58s>v^2awKQ@s*$lHAB0Ls_`*Y1J`CF$SJ+r{>aR{A(^ z@r6iYwPuWE&ve?IrWsKz&up$&Pk`4NsVQ>LTQsy-%u#$`#qfy;SaKoV*LN-Kc+xdWc+e%AiCMy*d)k)=rhY|`6f81s z7G4eKjcBXGJJbaJc^bq$IKvPFWC)}ucn0#ykm|s~odeH-PV0)4P)$Fm>y?Mbe%{Mg z?n3qkPAYjPUf@i818Q$hC3c`)e`LM z4FdKQ^UYS8ztab)Wa_~s#Xs9G?peP6DLB$BsrTmP*?3LtO$K%H>`kCjhS@EDoTgv)r8RHBrrbNo?lVy*G>RrVLnAid6K5 z`1Q}3yMOIb4vM+G|23vSHzqPX?_{}l)tvqLklS;rZ7PvI60hWRqad}Z4f~ZlEfB%R zCRheT5f9RWR1S9oWkkSX=k zj?rZn^hrJ$J3zit<6rO&o##-K4rm|ow>V`A7A}0g`F^76cqd_!M^mwq4 zfp(09n7M=%?n8pcf|0Y0{JeD)(wlqJ!a&D>Fx9`F3iLQHHL!}>OlK~Ke;FfW@cIj~ z+Ft&n$Z=GcWN4lsCN7$R+C6TYO)bn(*Z<*Y%*&>*xIp=xo^~?m_I`)EP(bW#cDwIW zlAB9Yd9MhHWU67}yUD7eV>R7VwPQnsLI3?P8x@!Zo^2>G0$lN746oEZ)cu*!d41^q zN6qfj?E8#}Q@ent-eF1>);ZspFzd{!3vKpq6&f@enu-B3x@d2WEfjraouuLS)WNms z0hQLPkyy0w9R)tz;$_9Iok-W`%F1gu?BSojrmj1gBno#&#w&Yjw4xP3*R;apGeu(C zL&SWyM|Rv>cEo~RLpI85%zO_c7}LtO#HNtzM;qlcV_FuEKfzOHw$j_42v7D1rl*3wWmxm5sSY8O=y`?2USBS(S6`4+GaHEB9{oi?uCdn<4)m?+NK zS-_V%WDs)Q)^2|(Z*hfnD!R>>E-k4Hs}0T}NUe3>s-Zklo>Ffp!S&-L@MwB;#Gl-@ zLWU+hX8Ez=Q>5-sHQNC~nNi5>^>ZM~1k7_$6TIhu>r4#z64LQc6CakR!`LIVK)fka zA^X;NV#zBHp=M1J@M^e5a<;l)yS)?Eh|yydb0&HwH_ugG4pQxyThl(YEN5n}2}gbOWje1T>o>zf_ixSxEWx1;W3|CLTgr1Z5#*r{MpY!8{g1@$ zs*Gv9^%3@!9qy`eUK1_i=pE>ChOh(wCM_$c2=w>Z9w@Md z?A?LM-;+z~A%xWE8C!VzaiDv!lpL~jBT@?&1f!Hv;0}E;p*PW`xb3ZQ1XYCSNPL9u zk^H!3=)Q)@pG;&$xUDMKep+alM^bm#mBm(XeLq7AY?c|Z+C2|8%CALpVINPlwyaC- z^W2i|DrpIJDkxzcd2!O2oaqraiP1(jiEK$LZJ+VM{rio)o;Z7uz#qBV`EK}-Wv47h zNI(0Q0SW4MB->WfpFGC^-OnO~zoDkl~t(Y+TRYUYxG&6+Pv zzu)Guv+G2dWYs>Rm-Ra8XviIY`VC%($xp3ac!oe^`i+dv%cT)*cg3>M?A=j~-1#TI zb=DDA<+^T!R8DGAp>`p6*;Mb6|9GJ7Ga2pDyppgu^s=Q>xKNC=tSEow+2q8XC&8pr zT?BEqqmBsY?{Q%oYD3=bUako&arV-BBJkkAyfKcX!X2?7*pAJRc_|^&O`XrqlcBt@ zp`zztXlJ6g1RDeki_mEJ{22SugbgB>p@~v&<|R|XM!POt1JAw+OzRYQhz)?yU_Ndy zQzgCLo2}e{lV@|Fw8hsYIXSFKTOw|X+AZ^?%P%gvZR>zCen5G#Tg|cZvjU z5MY<(CY>6CkAZQVvJ&<&&%PCix#_Afc)-JA6Q*S>F~3TI=l2Zl#-Yf$}?wZV{GGQbTYhd{m~`3?>3b>M8ekshtkS^)ar-`W);}cW;7n1 z*)?9IJqHp$AJ+HY-#xqmQuN+}ZB2Ba12P@R*$N&I+Zf6-aE|pxt(<=hv5fMzF*7Ca z>9;}SZ>|ez45eU;n(tn2-aYETAmdcDihAt4JovQ&|4{2a4B{YXgtsUc)`seE zdyc3C`(@7T!`H(CNU&TVwColSKDN+*oRgX6B5 zSDXbA7#6ztndz#)W`PuAoC`etG~tcc5LrQC{G4rxE2LfqjJ|Hth{q!0_>ozGNpUN2 z9R`NT(g=;E!0y2J)CN@>@6{pqzAbh9RAxQyiN1aGE2!9mtNWSRsi@ol}nu3_sPQB)ViRnW#c0En4*JT`ufaZFJdaGnLm69C$wEjFI!EkmmCH@Be+(*DSc4zB zAC-LTS8t@9Lpb|b7}vMb;yP$mmh)X^yulM`Y;!LJhubsuJoQ8vclpgXh$rQnKfaZe zmaW|*8{!4W_G#1+biSr^TfH$?ZDr>n1}_rKu)@l&_9@;5dPhtCt6`K?~x(;OSef-B2Z!Grga!T3yPL8X15ehjOQ5=K%RP zV(eCgeSZ`q1`knqj*Un#S1x3j;`iY|_W**gWBUc4N&yQH;!%4YRn?;_T<$m3HvJ6x zKO7q;5bQLs_f*7v5Zo{|66<$7@K{7LuO*2qKUVs6Lk&d%VduA;O94?;-vV%e$wL$H zZ}i@(MbsGv`5BdadUw@3u%g|oG+g*AOiHWix(%X%IOIO-r=Yen+PnwpZl<<;ZqGxcb*2_+ymAMa8rD-t5jdk6ret&5G!wJLLgUHeCg3^iQ)r~EG!_#G zHG>V6v-zN=1D#&?=xVQ~M|W8=?iFaPz~xT+u=_YOy!ff^8u%&x-JI?ULW`76du9=l zK$}jM>c61eQZ0uG_c1kQP$L@*DGb4p-#CKfis*7Ks+AjyNy`N|dVPL9<+t`}CO zv$Gi(q-51xs;d!PV$CW*XTvgFW$yiO(87}&!RJ7J+6T!qDI22zjSyP>U^OfvY9h5z ze}SNZ)wiNeymk_KOl{yD!F`BEpNgJgu9gkgfHq-RG2Vx;}J!;#6Ydt(`=4w~*lJn~5eopH^`PKrSmSGrYO_qVG zh!HHP0wEDdU44mnzyI@r+!1^;;~bzIAcSFitpgGxTqN1Y@i*IpT=S`?%^HUX-eg7I z*DAt{3-CYGsgOJAJiU3=re3eJ8DD~awi_`wRR%lCVp_3AB&$xI13S9fUU})t&ykv4 zO)4K^tE=ZT57ZUs!E6FzM%mz+uwcn|vxU2Q{dl2*oKv2_$KisZW&>`|v9R@JR(nA= zC4nx($&|B&3XNooi7XRvg-MAqz22kpj~RG($t#KId7&pwd8J1$MT;TB%haO9k$;_c z_@GbT`ctm{s4V{GmODc!ZcIudqpPC&%O~D62PgzNeH&)RJo^34d7kHw=a1)kKKFb+=iYNa-+SJ#^SSqX&!vsfrU4!^BU2-Qjt&6m zjvGK50}KFqy1(`}(*HF^hQE=Ck&%IsnTeVCA7^1>WoBVxVPn_pP`y|lc!wY{^uw@*4a{L4iLF#L;k9REiy-eWHMzcpa_ z%SA^Yb?gkhj7+C5F!NopX1Nu{FQxK`_2kvmys}0%X;qsIf!pD|?1Esm8JW$$X#bG? z@4({zUu6FY_Fr5CfRlmlxOfb_fIdK_5@l)Dr!WF4<}70E&qe^m5r{SxzXEJAx~#ouhpUHpfZVuGs-PNm?X=THuK; z1KI5_u;ike0!cxn&1Hs1@xL`N9o189mcrA^R=oLuok`TdWeXf)|Lgi1;QSXMt zWw+Q-2ZbsE9qKYe)%QU$B>Wzkiqg4=7Ohur5z?xh`J$-sXU;+I;N`g^?BdZG8W5Kc zG1K57Y0u2>AR`vw{$|hc32m~JMAAp&Sf%UD^DHQTmo{I|8@X+GhMx^c9c%aZPA+y! z?fqHQEqLBx0)LaGXr90-S`+VjzD9cayZ-cNl;UIzBK}m!_=d~TbsBK4<{b@awD%Pv z9`UWmKNo*Z?mhX3EBvn2qySj!Rt_{MS8h2raN!e)2F!Aun(SZU zMgEx)#Dk-;Iv1x$`*2@y*{?7M_zo%q$(IH&@l)UGogSBo->ZnoyJ@a$;yLIksZKV! z_TwxKfF$nAbCAVtx^)e%*C#AY`b?bMFcBAvP7veuK!y>{`d@O8t< z&My7bjT##81l65Z@@gi^3LORN~%ZI6sT;@@Jd=1DeuR9q~eh zpzg<+?8~zD%8Tm7^UU%Av!?~jk7Bavjv%P5sR97e>{5U)&HlIRBz9 zSdV{Z-<(U{u{hfzRQL~J`}fy?Lr^{h+RW3VdcOF!z>;mCB{E}4U*_w9bmriEu60A; zr$VTBO;mcPDu1`Bu2sETS$_);xD+4r_A@#|m+d2GoS(ZTTOCMq_DTV|-7!`o+#grTJ6%g3ksUs!^19QA$Asi4 z3y2Z33E6Gh@sAenJIy)p(iaPfck}?hx*DIOOVgp8u8Zdc>|%c8Bq3_QMXaV-IXy?JHplAAm7ZLn~<@1UKI0c1M_RXwLl*bsc+jXVR-l%zLyQW}rYZ2*b zTh35vXbU!SUyhtg19127UE@dS4H}@3;GAmn!hI)GbvK#@AkW~kjovC>eF&NA5U39n z-nxF_M^TlE_qmZC*ohdp);FY#MOKe~RPepYQ>cYNr&Z7bO8(PrL=Ty_>~()>RyR+eSAar}kIHx}SgT4i7(xs8iM^<{%8*Qc~}g6;Iu941~IND)h~@ z#V7Pd-_wCfRlPAA9H+*$eHSkyuRI0oLFSE2f|5MRr>LMamMI`)vU~w*I4b0OaIm8I zPVd*s(%fdET*Oe_d@ye7>w`lY;QA`Y0IgX5&RmLla0_Q-V8XUe?N1rB4#8L45{xK* z7s3)$#^ZJHh+BhlVh9`Jo#p!gO3cbJ%=FLe8ErgL2o?F>qe)?skQ`K_0acVOj>5QK zZHCw~He>-a(;L}^Hf_h;7oG1{(e@U$qt2!K4PEN_zq8Gweg>Nr5Uc~=V0QN@hkjv4 zr~3-HE>(nz#=bUTIC(=g2gMwl42?qUb}0IIZ(mMM2{#TkSaN@}$!diY(@LE2bF3@#+no~8+l0CwZaSM9Yi=r`#dWCF z5;cdl*n}HpeD8bCPTYeJ+xE$B3g!e!qq;rb3IkV&!QoT9zNmq*6&D|3YgnLE7h?z1 z!GV!?J;yG)r0_%L9=yDZTr=ay@wI|;p{7R|lE~P9)EFkI^leq*u|R+3t;MJ9R|`ca z&u_suxDT!h_}>i3g{$tZ@9C4i`)sc4g>7J3-dtmo8G4<1vw0!pLYMH!H`Ls;I)y#) z;K31V*=EHI4M@OyeN7f>gQ;T6YoE5MH)$yOfS*x{VtCsbG-nfOfT4o8Tm^amqoWi>4~@8w z$}Hr;w%z1s;(jLDg;hQ@iTJgcqOprHX3CoV(zP{KG}Jj99OYO(fgV5j8A6}5TKXmu ze*i~n-866KFOHZfEfJprgOOwB(siLXF5zUW_39&>!XVkRf$7<^TdU(84unZVaFrGv z;uYu4jSD&UH(gtCmz*li9V)AzFg+StdcJ~euJF~BXWw_ilCM`)I2$Uw5i!5n@&apY zV|sKxI&%BE<(cw`&l6Z|;eJ4W@V)w>)>|8DORc3=ojd(&ns9>5#U6f=4K#~UMUqh7 zbS3!;ktIZV$~|zdOMTi0i+`a%Be$7=->bqJ$P`;2yq7+x|*ta@CB{P4f` z;{Kp)sN$A&@EE(!}0196~*TS?B9IQXx}OIvK{mpqTFb@LVo=oOsvvf zwzxUTnxO$cYkH8bmF7g4%)b|S30L*3a+qD{c2b#amA=_-_)k96>9a;_E;7qHb^~%A zUOSmbY;xpt{va`ZAM%uVfL8Wc1*vIEm^cDkZVi3hxUc3oqQ7B@kHhH$G{6hb1mU-< zNDw!yY=nLm7CpCZvAuTqXXHd*;?dN16_RIojGlzK(^a{{u_HE$e~U<0j63vsi5ct< zT0Yvna|{1-V~Qkqd&Ypbk=RrTSzJHpT3Iq_T`Y)7{^klleN{5 z1TT$qkM3I6tgLpynqxvphVLkMNueJpI>X~FnW?aa`ICYPm&1#-iINOSd~6~jn9dU~ zra0>iHr89Sad9!m{$Re#O`0Be9TY^@<#{^@s{KO^AcV&46fYKM#r<8}a%?-@rr5_` zCueh~)g^d;C@JE{8rFc_TUGoa!`7VdcHx)dM25Tl={})psC47D49AS*v*p!cAr(C3 zZCA$WOSSKETVaN3q(6&7d&Y3e8U*_q@OB?Q4T4CRk8k<0VtWXZZ?kQ^)qm51YA%NJNWL#gA*8P>nUQU<5Y6+X_E zmR^^;%1?@v*+e8^*7seVi}(4E%(Hbc&0^7m_3U2;;IFwMPQe7aozJH*E#`jc)>nBd zusfW}EZA^8CDI$t3!+XT)!)zf!b}gj2X}?V%Ij)wvAS++5tW<>Lq;FaP=P1O5s^}B zNt6OUD8}yikrQ#$)gVvB=m++2`}6p%t3R#OZW)X*h9V}K897Dl7S}`5IuQ&xn!0qD zw-j+-;(9Vl^$RI>W6`*F5F2Z`ru{(F{F;Jy>Il;fmQPan82oe==*tBDkLiZsdG5gV z(1_W3&yt>J7)chtm@syv)sGr!X_1u_`TZ$wh*UvYSo`hwYwh+cy)g7#19&r5tVjtZ zbOO9$XW`$gD@v|(_w5}T`sF-k>>tS2e$s?b&AREMFaSGg`y2Dy;NYQr3k?X$9hEkq zzNdiCSH6+=)3NYG|8Yc|I-)8^aAZtBPK|@DYkZT{8#VNCNmekFwal-*LkhA8l7S2s ztb$?El;92HL_Oia;i(gKH)lSrhAPV1JuqcWmTpRU8b8(@(a(6l72^0J@~u|eeC0?% zI^lFn5zlG5-=^(iyge{1xqowe&zW?dZ0bieC%v69S(8D4eDROxs$YmqYb=UwX%9E* zi|9{3($gM_%nH%tr-bzC^{6%OuVjQbZKAEtDws?^tmlSGYX}@z@sT2_@1Zw_amFE& zzN=#Lvw9qyHDM)<6hbK8HQI^t+vAxKZv}z+DJhYS<6BTPu`dsv=#YJn39Fe3l6+{Q z0B88+7)ACtKHJ**!HCh&=2~0}Tr37WAhSWu!3YoRNM>%b_PQ8lo6OwF(1BuTrH5acV%>d{tBAoi68MO4?d3IZg`q`EFcV`N&@_>`daFyo_1ymD@WW}()2 zS|K_EpLaNPe2@d`B_P9Ai!^{UmLqoazGerHM=R@Hb2Y2&OMywlM`t@DY6Ti>3K6zR z2#@FmNop!S*urSmX`1?4Px@N(lZolhc}7&$83mYqKSlm{L;AoQuO6wA>LA)pQx(36 z)A&H=I~+wzU0#Ab{FPl{{9+9CbE&Yy&jV&=0I1D~# z_uKZyhvHOH$a$e>?YCuI>T(M9gU;qB{#s-|oB!~yOV^iI3HI$Hx?>lqfFZaW}cb!>l&Y8XT+5g{Ovu5_DOi+FU|7fXcssSJn0D#UO zfPw?=0p~z}?QcBy*QmgMBQ+Hjn2Ls)hUQ-mp`)dN&_QTuXc=hf=>OW;+j$21^M617 z{^Z|N&ryTH)btP<$iGtlPl56iV4(%<06Q> zAVE;d=H(kYdQL8Go(n?4BBEEXNz2IIl9N}scmIK!x`w9KBO_xIQ?tkBws!W<9US3K z9-dy_KE8gh-o6V74GVuCk&u{_oRaz>?c?X1+`RmPFJB8QDyyn%YQNXjH@CF5wPQOv zyM~5GM#sh{Ca31`^9zeh%YRl@iQ7B7d;15Z!=t}kAOQStth4w(aq@$X_nd zIiE8JvrtiAk)&Z&HGn*GXXC#aOv`>ZKD)e$PC&|#z+v-pke*XedQOP=7wunU|2wcZ z|1Yxt2Kx`!6mT94Ix8NS1yBLVC!Zr;4BvBR&{K>EkI-&_0!ogc(JrJW2}i)rDWyLl z&9JDn{FA2nKGv{0a3ExU{!}+VDRP(4NDM5%_-gnu}!dt7R99c9@(lJf6S2 zXPfm>at5t5+Ngt%<#f{diZIVOkkZT?>b)X(DvV*C$3T69LSWjEx7KE*yzAr+bZ_z0 zYD$*F>XRFDq4t@EF(N!SY&BO?rx1hds4TQP4t;|Hyh%qY46h4aVk11y@$xPXKb)E|_JNfjx+9v0@zd>{Ra=s>-*S!I?b`KrFFW)FY)6h*<$E6kxKX zgkBDuuM?!aWUZkq*KQoxo(os6vccTy=^rV};wHp!Tz7KG*}8g*1QYmWf3|Gw=}=T# z&Zu-A0Q{|60T$ zcK_zthP)-+*iZH%+=?jvJczVlzeA4eJpQ&WDmLg4=Yfh_n1^PJ4~~)@Ql6&;y1$LN zL2aO$Q3F3^uC#nKav~zx?LMh{-R#8^sBpbXua91i>H~IDzh;i@gN==2?HQ8O$O$jO zB>RGn56|gj!}})Rq}_M6n~5U_U|y;I`V&`DB6D+4=qpq-T~x0#len!npJLSADDXjf z#{9sAlL6vZglpqt{6)+^P6tAp!by#ZoQoA6r-8{N3J~?gUYTd^Ahbnm^qX+vYEC7h zcOC7pq6~E#@j#wca&%?b-zQZsVRj6AD=^l}x9_K2)+aZFT3_e0`?SFm*+L#a!6gCL zzGk%Jjog2rohN!NE1!QqUi1#`X0cwLxt6SXa17o;&#O? z%?oate{#xXt`0waqbb1I%VNCffQ9g=ke!AId%+`kqpF%m*CcQZQE48t1E5WW@rmM? zceKYoJd2&mB|@pk%uD`Bl*35GOsHje>$Af-W}hPT@oIzDu+F|CVa+y&zWCO5UAJ~Y zH(hjYc)^E;IF_i`7lR8gV9W3HUp|f%R(VP7qWuiMES74retsZsXOVx-+CT1}G2w#Re|ZJ zB6ygihm<|!wf*zZBHK1W>042hTIW7ooN$YAh*ga}%A2Eu6mKG!#5o-m@`Cte!mPw@ zaD6Tr_i%B2Ze&+SP29ibAaQb)(?e|EM|OxkUhq*|Q);p@9;0#A$0$_I3OV;gUL+WO zMTgx=YH*I`PvJW*;(2B{(Vr$O-vJsufd1r9jm?Y+x!F)oDLjwlO!P1!XPw?A1>tAn zu$-npr$5J?kCT9jLia>_dOC4AxA zU%z7yc8A>pJV&vExUEVRr!R$87stgFb>@!wSj^-cU5f>>ZWhtDe0gCP;8?oZI&7-G z?XP>i=TPsIUX^%PW<>g|fol#}QNnyxzwVWRmRPnWlnA-wScNFG9on}1IyO!n%<%_R zHQp*iiX~b+COYhAlv4M$i#obd-?UTA2@2t4(aKRL{RE?~k*mCpIL8=2; zw4&Ul+;K;hC*!}y5#$t^Y9`wn!a;I=w~tC9Yq-G0L8CI8E?MUVsGI*@u|EU()-lu6 z*gnJCtJamY;u+^Q<(#`G_JHMqjB%c9P2RTB$(CmR`2CKDIS1;3VV&|&s6&m?T7K%? zF&FFg{kRr(JI3;a&+v445O=_DY?i_j=0Rtkgw zQ5<@KCObI$ovrPykvzP(vir;UNPUK~=EB!`%vM1^GMIIpGFyk?y7ez=Slij)$$}5p z7vj1Cny_=`cXXWW;KdImV3$8G8C+!V{C(Ml8_L(PqKW4`Cyb8<8g5uOh zVIo(0Ja6q1NDmn*fP}cWsTq}eQUGfb#6QY`Lv&BY;H>{X zV5%{}Cl8K=R}`#UT`$7NE`+}ImraTE@^~*CArVy}>yMI%B{6c4w(N=41_b?7jT(sU zLwi17uld@ch||fA?>o$TLM_ecO8p2|OLG%4bJLD1{c>c_nn})MwVR1>3q%8MM|qf( z3NxS4xc`i+_t5?1jwzdLwip*^@|Q4^K5_T-`45l%CPFxYtDV^pMw3LFg*GCiUInf(JKZChF6pa?!_3OZ)1cDOlna#!mfpJ#xV}tFtifbi<<+U&iY4QR zVd~GC{(ei-01}(B&RCqW`4b3Pf2sFsqL!ZWw27VvbDL~~Aoll_v?)HM(P1!eQZMz4$;VFr>01}nRYV9Ld0F<6ZTT| zu6nc!Q<&p;!V}SYWR9wck=5%s$^PM4+E({C{< z(3@U1N%fhv+*=K}bSWbz%xL)F(eTkWFJHI`{MKR7eOvkqb-j;_>P8#2)3_wmKmv-d zg3J?*Y|Hp{O*16SJBgPnIfHEl?x$NO0-(;NA5aW^o~5YTc1pPKdm%usbu(`1~7?w6W~FQTDW&xtn{MQxqUA zkpfWPA*myUDoCYyTawd$-ahM08z0)0tv+0%m7kZ}vSvakAicMwaPK1oqlzk`gEatR zhI=S zK-A8Bs=#C8aoL2PnY-inX&rlt!uFjvc#F&;J*u)5W2A$`^-w7od*?a>cC zBE#ZzoM5tiPOqzCB+>-j4%!iiu=jFKW-lI=6#qJn>>^eXjo2*ptlqX2)>ysz?kPaF z&8Jg-eUM)oQ!<~_E&fsA_1&%7*>>g7#uhE2(sb4L<0lw@Axkyp0f&gu#CAz_9;q@1 zm1fB%tW`B(s4MeYs@AgSp9fZ}2e%p3@j{C~vTMuGbs>V-G}gMQR&eJ@#|Z+3CR+Bq z?aN%c1L@$<5SXd!Y(!8`Px$|StgiodiF@OZa&_7l(o6^4c|#h2+^*vJ3c6Qv^w@4a z_3V(Zx6OXFot5MzNHl%#mH8OmTVT;Iu(>$lzUfyKpjxU^(I!^3sNVPFDfscn+SYJI zyjY1_?nz%M4i_`p;aiD!Zqz@NoCaR+2-G}|Ee?=nfVFC;u!LZwO2qRDZ^_)A*d-75 z-(oKPnw!2bLma4BQ(|{5U|6Liil~l=>tlM_wrJoJN z5Y{G5Hf^(J@%oOGoI@}~t8LFUt5O%e=;_e|1FRm_^%#N%X5!rOzAQ=hREU&l4>=K@ z5snrbNfNed7PGT(=@*d`kGUx)jPWAu1Q(jNW4R(@8+d~{k^S9`cjqt23tK1{31-5l zZ@~V{WMXdfnUZW3^QP=%}y&H^-E0|jg9g* z1Ou<0c##a|UEe8R`9ZLbLCWqQW$iN!0bewEx>zOdG5IiIV_?e^fZNIY$P2$x(ks*| z5ij0KPY;lo&A#&_H?pDe;Hw+j0` z8?8c6jb&S#8c3bv!onB=lrlSN$BL#ELoSCzn+Vx^@j#X~L94LsO(DWQPr64A<`-G9 zf6~{w6)DVljl19d(6V58Y$oLp^${^2ncKtYHuIF~X?z3E8uk#M5ENlzZUm}k$TNi& zzG3ipP=bw804EiaQ0xZgSjq81ZS>w&XzhiV$b0}ZHFF7vydHQsyYHy28(DQuF9neA zgZ+-BCVj*5@l|&sl?XvCQ(KYO=hQyHXD$u7T;F^ska_x0!-9KRt}W2iwB`I*ri*z} z)%N(Vie-!Y0i%thhg!uk1?a;LUPx`f=r<68iQ!j=u|;EvCATd|*@EB7Hwi`9MG>lq zrJ^8P3V;hTsZX{gC!&RM?3Za0o4C5TvryaJsA5kvaCY}|pa4y(fkLFd;U)#^^}BW3gTK7H*tDD%_${ylMbL?z)ZUk@u!s#o zF>Tn7b3dPNt$%mdqLcgeMMOr@qu1VVBghbb!hQ;;Q@)VE4qA|Co}Rz*)Dnlr5P~`m z3r=Z?6o4vc6yuP7TO~HA3KH_UoOm0%1UDDMNT=|~nnH69GT2OeShWx^GT wWc-D6>=gwAf5g>ov|-Hr->>gsG*J>>TmD>a2ZvuAg{pFKOXv!~xr=Yb0by85~R6%_zb zoi*U}2cQLF62$*jbN>k%8&Y z;Lj%iEO-;i9rUn0#@_!1ap8-}nz!7kyrV<9uu~Jd9Qk`}If@eBu{*iYk_Ftnq zM-8H(1)s@aJWD`bIFnCJeI}abOz~NE*x5V)Vx?gdx~@sfZu%H3?9Cw;m0mz6a=WI3 z(`=Y1dgF;tG(7{?MQ$EmG4U%BSFgz{C@Lwd+|<(6(bc=7Z*bq-!qUq60nEYisgv_F z7gt|D|A4@t=fN>AUdG17CnRQMX1&gS^VeI%hr*)blG3vBzdzO1q3RnNo0`9Lc6DQV zdi(lEM#sh{CcjTjFD&AJE-e#&t^6i!ZSU;v?UN4<|8P+O)c<0g#s86u^^EJ>pBjMw za8aELJacMR5RK4vS~g8n@MCXwVYw(ej@#)4H68RKH_V8fPke?MxJ2a_#7KY8{vrF{ zfkpqn$o>=TzqqCWCTgm);!(2#P~hbFL*mo!F0NPVgJT2y-sR4L$_!xNTP)Qkizb*; z;N>Ymzn(m&L~=(}7H&*Kc*I4^MSkA>2o?;AR9{_2PY+QTXu^tc1M?j8K9P1l`F46b4`7rcq70n#la1 z?#7zZ24$i*U6xR8DRpR-LoTH-JSS^33_jNp_oVk(=)u9DK6nJ3Xwud(kGpt*EX zG?k=R;o{nMi_)Jwp2A0Aus^!xqC}co{kRgG@=4JV#RX?3tu*QC1Zg8|w5L@63V@ur zcJab`(bs8$@dA)#Av`qR93EngUp{_^I6|l!|*H-wU=c$nH0l}j9H9>ig{!d>){*DU4%LIr;UlmB^FA?A!U7YGW|zLJJTaU zozV58OQ%4`?Qp^HQT8j*y8}AkTFqXi?Ob&_&$+^&B!Bl-2iCYVgNh$qR-Eid7ZKysG7mLqzihv>cMoV_=_?yFi9DXNwEFv~elGyY;7dZ=QUPTLunkFb- zcD_uEB%Qea_1ZMY!8!1XFmlT2Deawc3u7NW(aD2@#EP4!+|sJeG0K~F3r1p}WMIEO z@%gtRMk221LRht-t&jVt8+iCb#_}CdDS`vZ)q;Qlt#@viZyu`VgNxDMpYt7~jI|_( z^I!^ig6KSpX3Y2TgB|fvDINR+lO;ALT4mp!BkKd>@TRJjvl@+A-07U9!0k)WzDM=J zwVf5Irse%}ZPmVPE2FR(ZkRB#VS_y;9~0MLktTgFwDk^cK>kLq9~6e8^nKJXLLn5{ z*^2F#rrUhK;a7GlX9Eo~KrA=plc%mZq>(j6a`8L8A4;sQ$v?H6G#qpp85*)EZhz)S zGAPQjsYwZ8jh(scE9^etCZKWx$t0=jsB(YiCcvFl_7tW*CI<2HEYflE%fCp^jMmd! zjk2{$)JznaO8p(6OV!uH(10yC+jCwQ;Iz>lm)dO; zo`lsg3AfhkFP@)-mp#t^JZwL!Us9d6#DxfO?!yty>=TX7&%GngjadC)V9Y6NZ9Vrh z^acO+7D0hDyY~C3oIa1!6;W9XWEkx-l#oQ?TWm)zKHDtKo?c$%GR5{>*Jifx3ii65 zxV8UwLq=2@ppQx>*>|VEovk}525cT*xPSI`sI0Er9%*0FT6))VFBdagGw6TQ zZL6w0Z%MT4mE;?GFMGdA^C*cuf@&L;z$!7(yf7iJ4LUS@3fQeXtdSa$rJGLy`^jVW zPovObd3X%RqlBU@HrXceTl!8Q)~M)4td5`kG;cs590Uh#8L8dAQ;@RFDYtV1us#F2ECNi1|)reLMD4AdO>=f2W-;EB>1LM~gcmqs3l}vJ7ngO$TCET@lSF zY ziCv-GGX_@$3i7tgKBF+ALO7>8UU3H5y7N2p@H+$w8XWlG_g;;JdXix0Ibhj_346T- z7kvnk-+y16vC5BK7^KaMCocUyQHK!s%yfV?FICKOu7{^dCHK*Qbx zBFW5U+V#bJvtVK#VPjVXYpw1CAR@(^&DDylp+x_u z5R{M?jM$6#Vf95RoQXV)v=)CQxvqf|t^b?(I=yJgx8Q1A&M(Mk59y+otJ3|Ncu-;d^OVzd>H4GvZfW3QRHG z8D9J({k10K!UJ8}FS2^Ky@y=48;dir_m^wtxbXrN5qhl`uVDzvIv{RrNUBi;bfR;B z5w;SV)>LlH>GC_+ISv*1txg=n4!`~d^EF&gK$b(Wzgbp4u-|9K3&2L*niLd8YveU%h`t#1lcjT z>0UawzY0ez5WSK)Y`NOgHdj0iFL@uCkzG%Lo&fK%CPUSC$DkOhMpZch~c|Q$yID?k&lH?!~_Z`%a+7BttBi~+}ym*9bu3tHM{+zwKJ%im> zE!BJ95J5P^ngh(NHrq|6h6)v+2J?UXY+ zAp=>f3*q-o-&;OO4wEStBdU5X`RZkU-_`E${?OY*@fea!2O=(7P2V+R+LddNebaW$ zbHRJ`wVUid=Yj8$K`0$buOpw^Hpl@Z`MCam`_%BKhDRBkS-UF0`66b`J#46Vr+KY` zbQQ|=D`8$kIGaaOGQYC{v9+V7YC3KcIDL6W(+&JY1N~Cfn8Xxd@P@_5e1k8?OCcYh zq;5I*&_xO%ldYSeb%JkEvASk}Faf2J_hkRs*bkw>_nQlu;f6NxsN{8*V{(i33X-Bw~{ zfnA)TI+!dll+5wo_qg!laj8^-|E#m!_(ryX#+<{Ya2NiQ;nhK>RTeLE+D6f`&oUjy zFCBkFS%tPq?%qon-=&dMtM8@=Nbw)7xp^Of8=wf7Kp5t)KmFl^s4V zSSu43@eD_k#KQnv4Sp`S!kcg_KtlshJ#KPoK9!E3QL3Y3;8g*puPA}*qHNVI%yMe= z@G?C^FCQw9O%|1iGF>vLV_|P>TH%( z#4T*W0_O8xzNwIX0zPf+h*-LpNPJHW?Dk|TDR9krp1lQeLx6w5l=urok`u{Ri@4(p zrn^P~b4LqG7(;7!ri`2%yC=O}!e-Eb^mvOHnq4=mr5TfjwHvwwEi3Zb3kQ9&V9)yT zyJ$huewg&=@%oCx_GR+cFWqmO?kkiUmWRPkIld&10bL85x8qKXk%^s|zm0+e*Bwp) zP~%Ah)CtW9&%Y3AMWlpmvaHmyiq{sj2F8<)yYzo*58jLf+sjbr;uVN-(V_ZybXvGj z76AW5x(q(IA4Ou`(sL={$V##hWYrhyxz$tsBuazGolKnp0rCt<1JR zozkDr{^+}f&m0)dV4a6+-q{>!j)==A-o=q6Sh|L|r-MZFPjZeQyN8wWYftATDHJ!V zh_I;j*OUVMwNyhBZFdD@$&KnlWFAZWOl+3TUec!hvTt)kcYVEOeZvdxA!^@x^~mM- z#JJewrz9o2x>3I{>5aXuawyvJvq!>rRrl_k-Dx*UKeVQ*E)dPwE&v;- zegRQR@aKNfP?hUpk^afywz)tgUKp*}8>&(80#Tk|`0bbwe{5BJ&8IM`C3tmo^AwP2 zJ!qlOopnIPq$_KEH0U0gX%@{-^(5_&TqAW)O+~Clwva+9T`hN%k9wzg7SUP~AJ9gH zy6+fVImR=f=P`J1l~`em)&8x=Ivkdz5~eyFz?oAC%obOj)K1}S^yKBr9|*suhQy3r z2okPQQy^9>L_}|5E9N(24{0;~`f95E1~1WxLQZCT-{YqfB^YbN6D8iC`)|&2I`tp& C^x%{L literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_240_100.jpg b/examples/data/Fruit360/lemon/r_240_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..709df9eb185f6c76a6e36d89f53f18d9a9f635a9 GIT binary patch literal 5120 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 V?6sxEMm3K9&l;C?E**G2{vSaM-E#l{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_241_100.jpg b/examples/data/Fruit360/lemon/r_241_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..305a64c05ac5b4167b55ace8998884f288732c43 GIT binary patch literal 5149 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_242_100.jpg b/examples/data/Fruit360/lemon/r_242_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d276826b45c11143ca1a6c5f3a0fddc0340375d GIT binary patch literal 5173 zcmbW4cQD-F_y1q3t(J%g5yXlbM2HfdM7M&sx@wka2|;vXSs{8~(OaShVWX4iJqXdG z_fA-K*|om%{>=P-|9t=We!u6=IdkvabI&{$jGV4DJcKi)r^{olKSuBZ;}5T zB_bszCZz;Mrhh?o|1*#SVVbdvrn?@H`{3`9gsLP`d{ zl0kKqP<`V{J~8o?XwoaiSJ{47`v3_o>CJnOo|4h&Sc2JIZVA7O|3uEAP~J+fJG9R! z^1?Ncf|B7j;~ge0Zl3$Re4=8H#U&)A6qS@!RMpg>din;2Fe76VD{C8DyO*!*-P}Dq zy}W(i2E7js2@MO6KqY)gOiE5kP0Pv6%P%PWTvS|9Syf$ATUYZs(xoEGri2mLI_%9cT$m`09 zX-P=$JtDjLR0nM7LdP!rj{KHF{HO9(3Jww7efk%!LzE1hqKjOZzi9uG{m;Mx|4(H9 z5A6SQO##%zpsULxrUm4I3w%z5ijDHa9e|iKVK{)H60f*4NbL>npU0-dE5C;E-Yfe< zFK%JI%#*MqiOy=a*Ph;1z}lX&UdLLL+e=m1Sx@wPDS{y0fZW;csKxn2CqWcji=kTL zE;w(FKs@#E;Y2s2T1(6zCpY9l@OVsf6yj0qND`~yG|aS1PzeV$*iRyecKG4{1-I9gT|2mQxTvA?Fms72`h{Z$vjY{3`q8{FDSW(PyK{bDU;Fy> zEjTGc@>|M6I9ZWYcTm=xu@nE&&`GLMxaoQ~{R1hF5hu^qW0FI7fNi$=b>0rB29;JO z*NB$g=?_BamV`Eix7{`R-BrHWpObz)=k`b}AEYA}VHeplW&Z@uPAtMID{du*&c6g& z4UTU$D`OySVH`Efz9w)H`6gmO-sDW#{h-3JYe{wXsO08GxmuQW1}$7rqkHehhT*z* zFxO<;V|?=3+eC!;!lYvIZ_}Sp7=C`m53@f_pybENVsSc5hJ~NavHq{PjY=

      Lrl1 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_243_100.jpg b/examples/data/Fruit360/lemon/r_243_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f826cfd56b110a48c0a54d97ee4c2f437191e79e GIT binary patch literal 5161 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 C`0RrK literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_245_100.jpg b/examples/data/Fruit360/lemon/r_245_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8735d6194ddfabdac5f0963454257013cb09b50 GIT binary patch literal 5155 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 Oxh-_)&Rpbl`o92WTMID& literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_246_100.jpg b/examples/data/Fruit360/lemon/r_246_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2765a72ef0b3b919dd476060c2247a20c056db3 GIT binary patch literal 5132 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_248_100.jpg b/examples/data/Fruit360/lemon/r_248_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0514294d9e4cd442fb75fc5851863812cd08476e GIT binary patch literal 5158 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 KeeP^$KmQB;)ClAN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_249_100.jpg b/examples/data/Fruit360/lemon/r_249_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..13603f2af0656671749c8fe092d34da8aea52b73 GIT binary patch literal 5186 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 P6bxK_XaRpcg7D`*^-0sp literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_251_100.jpg b/examples/data/Fruit360/lemon/r_251_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c2ad26d335d3966070b77fefdda98022dd00a90 GIT binary patch literal 5115 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_252_100.jpg b/examples/data/Fruit360/lemon/r_252_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9259dbdea2c9250983279ca1a1810744c2fa6657 GIT binary patch literal 5079 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_253_100.jpg b/examples/data/Fruit360/lemon/r_253_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..358d8c9aad643f857885bf6c1e6c54cd690ee376 GIT binary patch literal 5086 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_254_100.jpg b/examples/data/Fruit360/lemon/r_254_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03ff6f266f76f6fab9dee1d4601f473888984c8b GIT binary patch literal 5051 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 P_Z1zzNbYm+`Q(29>2%Ry literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_255_100.jpg b/examples/data/Fruit360/lemon/r_255_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbf22c86cfc28bf9c10e0f6eaf9c9cde2f0844f5 GIT binary patch literal 5079 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�!8;`C@2RjG zuXqmzl2wveV^h7XI4`@E^{fTC%+tKw=XjxG6o|3vJ9>j+TDPr(ZF0`dgg41XAvX0b z6bl>g^arqT@GMA7UtUZM@QYD#Idjx;(OO~f&#anG)fg2ZEA;Q)Xsr1#*6Mt+)>fl~ zA~%|^3V)l6%jm2wQ8imA`mT@KpTp2Ly3y4Z*I;;dX}<14kh(c94i7P4xEHDk`@Z5Uwe2~ z2_IFqJ{eTr4I{Fk`$j;Ot8e=Y4dx+R*wlNKOp4His{jDvr3UM17baxon3=483XUW2ER6aJSZbgB3ecye z!F~$N+XxT@xLnkDn)Mj*x{p%k(6d_Ic}h?t?aC2}tT8otd;perltoO_H9K@eV%yo8 zF)kk#$hj{=QVPhlsq?lC*wMsvP7p$eisW~PyoB42wb`-$Nrdfv7+=Ahcz05+)B!FI zyJe-9zU>bBAs~6)ho1@@1!6yM&94i|k8gC7{pZ2xnT$Y1o3pRWDDuae7DHYK%*)=| zNCF}@fhz%L5P&_CW{saglk~NaG*U5Bf~RM>qvx2~s6aw)Eh28_WJN=d`PPobzY8V4 zcR3?qm`YHO?+^MI=Ffg0b0`$jR^Q4`aj2Rg*X(9)L0Y4BqR{ZHu1WjU#b|g!v9MOh zwB;%njK-|w$!hQcZ2h+yQ;gyvC@kKjG;O2K;~R_&9hmvRv=Ki~1*SOXMPCyS+nd1C z6O21<9!8TlEsVgKl1J#_r|1M7Xt?c&SO+4yg_mqhqypMxk2wiCx7tnacIA7H6|;A6 z3~;xyFOpu}_(U&64d+H05w?4i$ZKMiyKhA8@-<_+QJ3rCI6y`O_^^^QX|*({5LhK)7Z0CRm?_2D`) z3R~$oj)|>(j=3T+%MzY|7SDUGpTF#p6hgcmGGW@41I77PnC^NKDOL$q_os)QpVlvm z#TiNsEy4vIa`5Z>Jyam9&R=YD&X3fLRQo7faZddO86i*Vm2FeZPv)%RS- z{P}q>LW<3jFG!T*ecmDsX(P#j{?(GKquD}*h&^TCs0Bj>!tD^VS;*Vfc)hK&>yAPv z2jU}pc(*VkvgfN0Kle$yPsr@+pM1D-(!MMchqKAup;S6K)j;^gmoTDIjHMUqm`Vr*r;aO^OCB8>_>p#q@-HI?C1fUdiZDbh+Is{D4vh49<8^xIe3 j;Bb}s@lVd;l@X~{{5}PjKK0@w*^Jf0;>6!FQGfggpZCoH literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_256_100.jpg b/examples/data/Fruit360/lemon/r_256_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0247a06b8ef51d24b708c6a7c767a7d108a7a483 GIT binary patch literal 5037 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_258_100.jpg b/examples/data/Fruit360/lemon/r_258_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..afcee446c3ea67e9d2e79315cb57680ec7efb5ae GIT binary patch literal 5026 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_261_100.jpg b/examples/data/Fruit360/lemon/r_261_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b29c81f6f841b94b68de8f5c329d001d07587d8 GIT binary patch literal 4976 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_264_100.jpg b/examples/data/Fruit360/lemon/r_264_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d28af1e29dd5d5625d11e81b452da6ba5fd87c8c GIT binary patch literal 4989 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 QIRgz=I*|e-;C%kS05nsfcK`qY literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_266_100.jpg b/examples/data/Fruit360/lemon/r_266_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa7144c0bec8561dd565f159db96c9909a62b32b GIT binary patch literal 4999 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 Nio#F-dvwUt{{aMh%8xC*=aN=gpeg#x~Zm6QNKT z>sUj>3>hP1e5d#4x_-ZZzJGkb-`Ba$>pJ&!zwUEAANT9N&pEHt>C+{^Sp!{tT>uaW z003zXa5@XP4WI-5wZES3uhE14dIoxW5IrLUBjdjv%*@0HW(G4dGO;o-v-~yMh>ewn z?eE3kN&fRF9Rmo&zyf9j{~PkZa;KdDP9}gOz!3x#0nl**L7c$TUVsoyC&Rz;Xk!0k zKspdT10$FwgOwK0aF!+?1fq#%ped$BhtTc==s6kAUB02k$YuHjEaJs2AD&deB&uE8 z#bfr3Ag1utJA#?z`~_YDXD4c8SgW*3X6(AmXwy2SD@iv!7yqF?RocI^*U$Xxh zSj7K{?EiuNe=aP54Fsem55x(80!}D}aVs6F!OsX|or|Ec6%Nip=2L)`^Ggnep&&`B z^ECeeXKX=qf%Ny{BBqkrAhC3O*4F}CE*r&iogp)S{g<=q(6jIiO+rcLmD**aN31d~ zsdXcea7|E+MrcGEbl?;~FcpeexZqaF!G1fW%C0xFDV;aXeeK0>Ia^O50zY|UWeR^| zWejmk{PS-?M2kM($D-D>-NhiW6F6>M+{h=`{=B0AX3z;$^Q zZ|a+BpX6_3GW8pL?&1@jXonxhhKi7n2LkZbaAdDlKwS&o^`(>Sms=&MD&MkYcT~bk zgBa`C|_n~*YJQvxW6puWo;idDHP5S}Q zd|Mi8OFy-u+SAoE`&VBGkgD@psFOlMQ~{%lgDt*4#DFUk2V)w z-lhS1d^eNg2HOe0M!$crU%1%$&s z(v(R(-;4Q1BTi_y#R2plB8ZaLF)rxn^vWl^Yb9=IB3Ne`^SVRago_NdX`a}@-*s7Q z%uRYNydoVWz?S%$=XjT%e3Ct0E}-lsUqvv=}X``O`PPBLNMleFwJQK+hqNjlg%1>A<}jfcPc!lw-!Ryo?XXUy~v z8)veToxi}E{9MM6-g~g>u6gT2|*lW zZzN_?8<0K~vF?I3EN6A6+Zu4hnb({7&wrLi_gI+wDK@!V&MwgY$Ky-(HVtyAe$A%! zl`&CsA=&5pnUj?vNn2n$^XjX=kS}y{nue0Ww`{(A5axxXAiDXP`Z225g)hi1K1qz07+$O!!?&UHyOK1=ga8O)E%@RvsQoh3Jt?3!Y)X05Aa zyL9I;Xt*JmEq%9UHva?)=|z@p@C5jb)`+zccFNhSi|yaPbT8)Mjz3I$Ej+cUN8!pR zjn|zN1Pg=;!Fx<$WP^H_e>{f~4V~($8q?lPzxj4yIhRBlyXnelvtlfRp%4<;j%Z zXRi$w963@lXGLhy+^Fxse=6e})gS8pv!X?=(!Iuo)H0G2N2F!27Ij@X25=x4^bI!0 zTv8JzsW?%0OO&=Gy`kJsu_EW?@z%E_+S*^5>{SM)WfI#>LRsRDYQ}$NGW2Hla4lB* zV(K{(b|5}P=mX-N##4Z^?Qv7{9zsXX2hoi#&YX0*D=gqBv3S-^^Hg=n zOM6qYt*vJ2_^xrmKc86XInNqjKXGo;N9wXXP7i7R8`)nzk!v%=nb;zRso7|kRfx)V z>hXFhVU=h8sYu{vH0yww@pT5h0(jh%4JLUMi<6^M9+Q^R&h7Q=yunA2=?!zahA@Rg zADjZBEU<`%o4iTEBh~c+J8CNeepQH>CR|3J$+=+HI&y> zw|#-Gx+DLw9hkXii0_!R`QMcEIas+ zkcC4C3)COJyf!9lcs9sX#;ib!2Yy7V3 zc9D@|V*jX87-dv?uaCJtQ7)DLzz|mf1#67$QMNavzM0j`aW&;1Odozqo##$78kOih zr(0rX@?gm-k&OMLh;f|zuo8WshBW_C?25Os;%o;GX(I*F29^00@u^9Ce(gZaf&LQnl~mZhq$cOUSgE9qL%pN6#$2KZK|Y>&0!jQhBOzN;oZR?*Mg zWJ(cVbS?{qcZmx7sY0VYl~MNh=qK)2?5G+oyvAapDMrK3m-bt>+#X1UUehDze}~+R zFMTsqZp@*_?W!*@`qq!lDXw61b^-Nq>fnsD6B-q9LqwqR)93;dwV|w~_}NSW%TLWg zJ30;|W8J|;qg$kzPxj7N_sTRcbogw-QgLg)DkQ%9Q4qyZ&EJdbA%+7mpd&eZ1@4FB z+NQH;%F%ZNHt|_6` zdbL%lz=1PP98TBoc|Q#rHW`XW7JgC4F@~NoPSe}zdnn#CKYyrFmTS@6VCYak9&A`@ zGb@$II5%V!T*1z+H?Ov`hkwwfUo~7Y4~_{_LIwB({v3`t%!Rze>afnnI-19%$;D@o zu*QJWY5Vu4k7FxELe@2bFGvyzQ={Kal5`IZchtVKcx9KRmo&ZhJ(@W){E3B$eUI%x zb?{OliYh!;oR!dM=*h=(T z%UASL#(s90Z_wHq3;D6vtFIX>Huz$+(rN*ZL7(N8yc!MsQvVpH6Ykp$D0$IesL z@PN0$+J9n@BE8`=i5Ecaq0L=K_WDnGikhqa%e5MRCH-kX1fjPLUdmtW?)?Kybk@NU0GB@uR>th90pnBCMq zd~|rQc_dUucJ1|@=P0ub8t_mg9p}Zcbx4L36rs(4YCM)w%lWy{mcI8d_Du9^A7%LfLE|&U!M=eRri;kM5Z$u9Eh~9PHxHs1&}L zHQp_lEHZ+KSmxfRV+W49PQYV~)a8lxVoth?xmx&0I{~VOo8;ib)bOu2mk`~xewa6n z`v{R&Q@k1$0e{vTKBhjE{_I-twagfHe!#T~UU9ujv}LZ>Pm~Tlb{5`p(J;`tx$Qn+ z0L1&pN^1Fl#q6o#t6!*Ca(*WSb2vQjPAeG%TX{X5*Puh{i9YV97C zSLi6Oa5pE7!XaF+3K+q|_9EKUK@eM^~CVfanGIQv)k8m}sP_0nf} zmaRH^_vs1yUG`KM??@^9)Qc;BO4uuU@JQa$*_f3N28??fBsU%p1yY`)HnF*L^0%ey zO)g7`w4kCNurrAQ5}c>9mi?~r_4)ByGjWy;G1~e59@|Gw(Y`ZVDswe1EKw$KWik53 z?Gkv*T`?7PZ@giM&ftI;V!pZaVmRy8nNSVt$aKqNq*}EN*;cgVa#xI<|%+x z1n<-{H<)eWJfAe}h1V@7J{qTI8##lKb&yrx*gTO= zp;&mYttZ_MQr(8JT19wqI|WWa?-gaO?KhMltfo3d4MP+RGVW=7iKMvYOoocvVPnuS z4=uu@hr@ELa_oamCiwV7JslsbFh16#fR)mzGKu%M8G5*ckBbHJKPYYCRNec;HZkb& zM!)C?RB}_rO?%sAOx|3+7{KYI$r)~Jx~p2T%9hW1}#gn@%a2uEDQY_8>Q0Z~fx$C4o51b}Id zV+Dg932BR*M%~LxH;N{C1*FX9k5V4?9-vb$j=i+;B3sewlxn&-Nu=YEW?`HpprWPb zb>Vj7`h?B6d(EBg5;`1u9-X{rneN)r z|A5l%({>iFwy_NxIR)Tr2`OD2VA|n!$qiG>5$*0&N01NJpHPGs#ND$SaPx9^6AO3j z2cA(_!mlLOo7#Q94mZFEDjwK#ZY}LY`XiD{Z46D;!`8>J?LyQuA7~T3D2Y6i=@H9@ zy2CfqX2L0Z7o0*0`q@T1o-_Uo>r#U7EoX;uUyFhmRw9PK26Ac!smN3@6_x~M^v5hVzsM;Rr`geVbZ zj82M9^cf{uFhjx^%={+jtaa}{_m6w;v)A*icdz$(_xgVJexJSerhKDd0d_rYU2TAd z1^{TN4WP^cngA`$Z~Gl-e;YmB@5n$;Pe%`80D=B-FylE8m=O#Dont=7$n@K&Pb|z# zEWbOy2l@9?S_V2g1|~2F{7=gNDNs5Aj&pz$;6z6w3ea-U&~eaEdH`XnPKJNvQN{ji zG_-W|3?ML71~WCGk)0}^j*cptfvT9A9Y%c*&~q?wipbsoT`+b4i+Xd(MWz;=gWRmc zaGQ+cq4E!Wq8OQYc=`A*iit}|{vmZ8uAr!-{HNwEEp46Kx_YK&<`$M#_pBYAoLyWW zx;^ss^A89NdKw)4JSH|S9+8li{wgCg>veWcaY-q%th}P~ZTEEg!qOdwTo& z2L^}6#wRAHroYY1;+9ud*S@cBY;FF&k%>5FP4 zSGaha=Ca}`7cVv|+BvQJue3euJn;vaW76+3$(ybsaoF>rh?AS)Qw8coLRDDi;Tm?V zI3s7Oi{}qMuy7C?dL-<}N}eNp-MBkKJ{9s(HjVA^^ns<|+2wcH22UO8t)!A{l?PR9 z1FYS?AN>fQ>|VTZqQ`;CHRx@BD!Sukximr&UY0rK@?Bn!cmB|T&pRZrQ;^FcJ zNBY%?`u>9g^e!q6!xSxfC2L1LVY@HvD@iWk*dSlYsAK^)f!Z2dbZ)DB`2^fnIrKzj zu;is9gE0SPf_2Bmv+{6_P&Kn={CbavA@jr41BRj&M-ET1!oWoisd!izsh%Nd(`7@^|p})J?E)%jWm~#vY+}wineF z@%5peQs|=kqQ;lv9J`Ma2lnzfrRc8eLIFnePfK-$9{24(`R_+S4x18)6yQ*h0z|#M zL9igP#h?W|-!x9&XQ-PveCp=cO|&O!Ui#LFdIuw+p~G^EBA<$qI)`&OPsV>tYqy3? z>tLUD7^e&n>bsV4pTv&f3+k0IT*h{F-)Szhq(A#JhX^@5As$iy4pmo)sOxICIKVt#W!Rv< z#{>85HP=kt+b%B9)ZGx$H13kBcWC`30jrC04cmKUZnD?D#yvbrG*(eIQ~hn5+omuf z@L1;a!06B3dp<^h&*wiWz_0D1ap^lRR)4HFji%|e>o`ATXO73M8PX<`%c?a61fZIvD_Ako)c+$(t=%w z2-_b_y-BK>zH2tf5zEKQwHhH~J<~dA0Tau_P3d^Y$KM_5E}CbfKbS^wkLokWR2uqJ z{FwG=4h|1qEv?;)vF6#?v8tE&0vG`to%uiU0>{H$@ zXuNW<_e-nRq5k0vGe|4X(bczENQ0?00!Mt#{8p|QIYgVw2#N6CnVW4Qy%KabWok*Y zNDFJ2+L{U+_pIFY{@SoS@kqtJ#D4WO`GVzmB&)7qpwM<2fi)XQEeY~XJ&N46-L3P) z-`8cSioI#JQUo8`J~V(DJRz>))nIXqCVpE!?QCV3$-`93;7k62Vuz6xI&U`>#RcL8 zRZS#Vs+B?L+Y|tsr_r=fzQc^;Cc3TY3aMHaV@?KbW9K$*9NUKMGGheK=GXHq*L4s( z(U990RA`1PtBoRsFE&zuXBvV(We~wyD}7TJUq!gzf--u%pnj z>j^yB{#+w=bI?&;`pA)30Ivf|ATJxheUIT~`Pus#r(Dg;1})PKC>pD+vFc2o9siI= zAg=dV?J%;*(w*r+o-C%Z+)C!Z3!a|BCefZtT(&{!hcQ#g3Dta(-;S%mWeSja`^lRV z3J?>7&Lb2qBw<;t{82bB!Gnw0g-{y5{oOH!|A}v_+wkAM_J5uRofV0XhT8K+dGs)Pi}X3A zyPabMR$bxkC$LjC0ti94>Xk?;?5WClpVp-bjw^f;OZ&Ms+sJ3$JH`5>T87!U8w)}7 zozw+-kFQL9u_M`7-u5!V-^JK`dcq@D^!!;K$GB>; z9NUMgkDk?O_u6Z|-MA<$Nizc49B$IE{vN6r_NaNxLENM_2cDR?n)1?7sc#FuV6kL0 zmchEzU;w#&m;Ivp>%qOH_9yuG+>o(5W26s_r;Oe4$3GK zKuBmpOUXOI6~fcXsMjTN->c^#<%OtI?&CtO=jBq;+5s(nK{+@`bEc|O>Q^;bf2d;+ zq+RlTg}<=h5qv9L{I%ADBTh$eLy$X0)wRm#tnQk{Y7<~OvW(WnJytEZCTs*}aEa;8 zpEXc5TAW%N3&4Q|`t#!C^%=R}E9Kq{WQSANmduNiU3)Gyep)UCTC=Ex`;_Vl{ z(DmM|dY-6jmLMgi)f7G0*|`CjSrwKmA* zDdA%tPr{|P6{kHQgWf^Ci#HBr!FlVozV{9CQm=Txl3G8qHtwLC_agm;&xempPlG|Q zg`+CbS`PECH-)|J7$3RL+x=k46wwZXG)C|RwPsj$xe~J*+e*nsHmEl8YwTx_D~4Ke z-Vx5>7sF!{NAAjlx|2Y@L`=etTW?t z*%8K8NpDz*yOX=$`I}(EdK^`-iYl?O#aw~O7d4)NAwv0CFNzx8+c+>b9dL2>*53dt z53U9;zyGDb34fZ@TZ+u`g9=d{4of*H1Z3C9MQbq&(4RpckydkXP7-`hW8k9xwYudK*KQ+7;ZA>5^?458hIhbEQ-O4d+|;3 zZOsBsR^OEHSC*|500ZgZ5stBchkAa+`ELCdp`%hssNn8f-@WHtmPb6M+E#aJV|d#f zxrxHPZ8s80iy?>_A*8ZK-_jcjK$Kj<%(U6y_t_8^%`2WZm{<@)-!KPa2aHV2qn?2b z`KH%(;^88$qBrBdSiC$p7jWYjWDNZf{^e4C&!1{jag|;5HVd7jdev|6-9qOeYTNth z!=AHzxY5jBUsfR2x8jQZ>i1?IcP}S8DGkG-UaO zN8_3~x|tQ9)m&{(8TLQg-VEgQY*u>2MflE=DlO_+Y847YjHX&xf^F5x4o%_0L-yuT9F6AZ#Y`QSOzawIwz8 zGopk)^78kIc&k%n{k=HRcSQuB_!p3RMTde(YcKBD#qF!>5-hDm_uwe0@(caBiXZA1h&LN-a419AK^ zFO@hYjwC2Bn13b-4<5W2ENJ$OKS%ra(2Hmuy#oa+|dJ7k)jWczw`j!Gd3xKN#y zTos!@*N<+@icICGwb>R8&LFbDIbS$QrAZgF8q9=+@5PTUs`$u94;Aoqyoccib!)B* zPAdI1PUue-Fn=nNtc}5@1@#)8z(PS&6yTBYtVFj4Lz^1c&RJDuPu6=ImIehJCe6NB z-0FnsU`OX(!WP4|+xmk?*W`1~d?`S5sD@)YE(N@$(U_I^6aBN@G%O|d(yhMBCKmT1 z$%F_w`8j6$kq)6JKkP*GGe?uFPn&z}M3PNk4c?gb84acYolCnKx~jss8VyVb_jubM zNSj{nj(lgKHsfwSa~d;NU^CB^P~1>~S{hz+nG1BV^Exp;1;#1BL$6px^$T)ZtR+kh zIp#erOzDo#Zqrw&F#@T1*y&PZW0O27OxL5$jW3c@m2p)U8x~6QM~M!EavX1B2YXPf zG2Sb&?fTTmq>>AefdrcSg{{#8st&DW?&X}Uq|^S-_3{w<&Qnlsbdd`VfuVvBdl6!iQPOzcy)#}Beyyb1X%RR-Eo*cynC$5jP|x88 zS8WvM0vUdlzHE@$n0toV#MGJ`Ejus1>OV2m6?v6Ld+jo6!e3bLbgP+W`Q1U==3@W0 zRk+B|TcqTK(K@N%{afPM9{uhYAw=?=sl~OpD+`c{5h3^oB5sh}?sGcCc-r3^u&)a)# z&LM$*(wv)RnVS2h2Ga+d#ywX*c}-kp=wPK+X;z3}g;D=LC+ggZm+z#X*l&)y+k?q$ zc0y9lORSB)FKld{)zUrxkag~}GWJq2T9X1eM-UYT+{i}p8g6@tR8Wx5toAcSU4G~q zH1$YiMX*0H0DgGvMf;sEHa7(t(oVj8dZJ8_5bLxJF?<@3j7AV-PA^0p3KFJwatU(= z`251S-SqCMv=>PsCeZ39ouy8m{VX#8&9HJG4TK~?^v9oc6*9H4Ax~BC>X}W!7O5_o zQx@AZT#nEq$BBZ~bSnx#hj!hIrU38bqTUcA@UERx!Q#0r50TOn+2XU;%5?d%UM3b; zr4QB)p>2lb^3;uE56yms+4~+-0K|uM?w;36?xwd~NWP(^I!o0a zEfHdxx;D`!guH(}PVPD>)X<8Qhk_GQc9f|n!{hKyjmE%!f#DQ;4z{GnaOsE%O!Kv5aRTt$DKq~8;-;(F literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_269_100.jpg b/examples/data/Fruit360/lemon/r_269_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89a37b6dec2379651a41b0f1e085e5cca52f5156 GIT binary patch literal 5031 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_271_100.jpg b/examples/data/Fruit360/lemon/r_271_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87ac6dd10c3a76c431dfea04a387310f2ab1dca4 GIT binary patch literal 5090 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_272_100.jpg b/examples/data/Fruit360/lemon/r_272_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd6e5b34dc534d243a9e9225b3a46e11a5de88da GIT binary patch literal 5124 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_273_100.jpg b/examples/data/Fruit360/lemon/r_273_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4783426d2c18ef514611437d6c71823fecb8e235 GIT binary patch literal 5091 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 F{{thB(|P~^ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_275_100.jpg b/examples/data/Fruit360/lemon/r_275_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5124f11f3b8b38ed8b87fa288f79dfab6f3f6433 GIT binary patch literal 5107 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_277_100.jpg b/examples/data/Fruit360/lemon/r_277_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..438126c1a424796ed5706b7132a1ce1ae447dcb4 GIT binary patch literal 5140 zcmbW3c{CK>-^YhxCVQKtM7Ag-ME0qK5Wb`tOH9^DV;lRvge+NNvLqQoLbjOfM%Iuo zhAbn-F0#y62ebV2{hsqY|2%&@&-1zG^EvmP`?>eLU-xs)y_Yf0m;s#B*U{4fFfjoD zOveqtm;`76n3?|ApUC{jSb%>bD+>#d1;h#h{o`P^6Cf}f7z8@Oae|Hgj~(|oIoLV> z4E}8L?^0$~Adri@BlAtx`}~5!4@Dn~OFmcEV87JX)i<=YcXW1j zf9vVR50Cs99UGq@%+Ad(EG{koT3ID;ZSU;v?Nbg8|8Ow@fd670$N!P*)G-(HpBjMw za4|9a9Xs$83#+gk==2>Eur2D0hWUAr`zpAQwx4Hs9wDhC(-lA*g(Tehd@Vss+pqI#G=iDGX;Z~c7QE%D~Q=9BXR z{K^tVMS)ubXZ$C-1h3blACe_v-8Qc~+BxI|7$^um&dRs7N59JDo_SR49k(I;{Q(>2 zS&_=AVLa~5b{Mbnyhex0qt1SKft6mM_Dvip^ljuUU9cA)&8dFc+R~6Z*+_lB@q5Zz zXWM&~!y$YMnM=Z~LyqnQE1#OA7)Zs_&a{u*Ku2Hpw^#(bldy>Gcii-F7( z=#eiR3Pocs?J5h8iaRD7j`Bkl8-fK&Bce@FUt2FVq`)0uyS~~vi`lvvS{K7HH^ujh zekcx=6Z0t7QE2-uY46Iqx~-m&em~<9dZvjs@0y_b#D{nSUtP}axC`mNZsAO+$nEOA zDO&Dz`gQ6(^n)Sy+xVR&BocLMwylb@drT%LL=J8lO2F{Nv_qoCF1Wo5SX@=DyK$#x zHeKCuJjmlL1Av2PkFo7dEYzbfSNjeK5~IUZj*q8nxYx68Vcgl$=g~5vBw2eq=s>92 z-?+W9!%jR4mN;@VdJhNNnh5S*QJS=sHfPSoysg{YFHN7MkDdf#ll!`-Kf3ta3cR9* zbG9fXVTA}Oc%m84)%RW>N)6ViR);Pd7>u#c=lb|~YrVYEicR43UDDClJ8Qg*ah;tbL z@qfnma>H}#MQe8}jE_{=i+;>XtiuhZagB8M{Q7Oh(!LCW;syg?`37b(v8o^1FLk%- z!|gZK=!BfxyZ!c4=8|dlP7~;Dp}?Ifc$+Vjpk6uA*t8` z!RlJ4;9jPJy9z6+OOB}FMS)th7$^3XT!mo?jYtH3%4e&YcD;OSEkt$SY{Szst;VI} zTck>-*I`*&Qxyv&NQ_mKzr4}n`3*~tf(SbAccj)ywp&847J^`cr`>)X{=8W~gW|h8 zuRQ`iGO|nUy#A~3VegHKAvopA=6WfTT+xmp6;T61VI7C+kYD(3{>`<(=REtbJ#^nM ztIy$7v5kqf(qhKV>E|`Lyfg(U_4AMj$eEkCI2-Pf9Kvebic_rAllx3P(6u|i?##r~ zBS|k4svLYf#`lslOo#LmBR84sVlJVl)C2S)tbN2`GFP<0P`>N&YtXHA7|4s*p!gS zwhjtISbTrumczcx#RftOKEL5?3J; z;4s&e>I*%P?Vx{|72uL?yqu@QvG##x*+{j>B_wCmTi(sxRbDZ!B5TGKjlb-p8J^a~ zJnPP`yW}Te|Fqo8oXisVC~dR^uPrelDm|p4;>L4laO^n+(cM5?=kWPRvDY1ew*CC( zN*{9h?)VbSN&*2|S8{eq6Sueqgp7Qa%1*dV_gTSp_eFmT3M$$*r!fFCbX`IybBLNn z6&k9Ov|@rA)m47dUCiJ8*j_Vjf{+gnc!2+M5}Zg4S5o=C&3!^MbEo1GErWh;JoqBT z+I41flh?SsPowYtSjJz}A%_{x(;oi6)a;tQv`4H=cv!!@Ug5Y_ljLUR@@UbDB_TQY_YBb-p9M zcv+3vI)ZSY-DvQ{-%_W$E+%^3ZJg}8uHLiQC2AA!8%@LpQ1#wC+2*I|a&bHBYKyyi z?^y2!T8=fBdoE_OkGm6p_!{Taaiwcs4ePxvOU`;cso!;&7y$MK#kW)GYbU7%o_gg) zU3^MmlQDY3h1-`oO;z|&uhdc|mCI#2_t_9Gws-mKd+2GTn;-R+Gr*-d!OnlS z3r1@>Zy2-QH+WsSyx(sZ*iF4%!Z^=GM+!n#a@&Lw1eOLlLIClIR(7O-o!-zy=pgfdf_KT&)~ zN6kOE?(!#M-tND-6&y(vmC*dL$TudY=etv~n)PTJjks1pu$Q#>>zv^H;15W+4HK!TtuVlKExX_Q>r$QR zIcpk8^`x>krZ##s81*)Jez$8Hq|k-zPnU02J)K-*xsf#$ zph&S9rBWL*FDPVXNF6}_W&lV=S(4W`Hy@ff0FqOf+pAy++~Hmco=5}pm&W*-330R; zhewo7NddL|L;kMQ2r>;S@XfIuQ}=jg zjj*YE>-~KpRd1l#BS(}hJ-R88xpqU-Wv{|mw$;ecPovj7NamKj`ol1{jPdPQUx|nn z8x$G#IDV(~yuJ>lTF*b$#|M-SCQekylHKDcO)+b9-`grPyNZY1JPy0h>@KfY zJt7nutsRc--JrePggk{u!bzArMOq@|rHUUB0@U~z2Ege(PV4yEiP8j(sLLHOJ8vWR zuD*kH_+{)R{9=1*EzBMu`0;7QT2sc=Hm$39{OvZ{VRiKTbDCn^-H=Y51lkW3@hx8l zKz@^Y{6(1cUcFiI@`82Kr%zltxu@YRM|uhC5((FEA}w5_Sg*6GtSQ;d+;c^j)DSt? zBPp`M>}U+xsx>P)Lj4YN4d31(@bf~~RHol~&Fpy*+!e^Pz*5pe>f2j_+k{+kn zC+V7|_w{-!-5(2Prwm`g$&!(g>9%*4&gT2M2T|!^Z+53Ipw5c4Zhzt+p0pwa&r9~~Z+UVDv73>-rA{U2n>21{ zNFB(^_5QXkvCv%#rNxx3i+U%0X`|mmyWpdM&r$tuTJn~{IUMDvRKFd?MLeZp#7=Sn zSnS9(c)0!70QthS5cCK|zD$XYqoLg*EGPu)h+$AZ{VF_zJN|fN=2pm%@ z^)Hw363)!E>D56#$5A3K_1+&kS&_hBd!}Zt63YO@rXN0;+^bMydv&`NV!3mpo>y1= zL(#n(q@);Rh5sm?pz+EL@m1KsyF!(WNIbom9jBxe&?krlno-_yjUI>sQdPw1i(U=M zFI}DPwn_j=+|;ZQ+z^Oi>$2FDek)xZ z=WbTUJJsB>PZ8ZM-GfmK+({C9-Xy;^DQAB4-ND(~K7>lw9CyfgycF&|F5jN_{Kv8s zYP4y=>d5PbjY-$T=DSV0djuN#CWK($DmLltyIJAf*U)AG;_T(#l>DNKP`)IOoc#Fd zw@G1a!O95i<*&f||U1W@XQ<@Ig%pF$xDm*H|69 z%uaR)mVTQjmiccK&$HIlLslLqRJNySpeSP-xb?3`Y{55a)pP-a*+eJhoo1(7+tNOL z{^73#LV8Z{d#eiw`p-9q{zd;mBlFz5-#bt<9ymDJ|uL=c^;ib9@~(I5VcR!Bu4W(}l*5~eIyGHy)U z=+}Ye8r)*J^SOB*Bw=?a5HS-kuIc-Pj57e%#?gPP>-T(Km@DeP-bckEI)$orTj8-p ztZwH!*;%1>cW&!vxBSL{>xRhlj@YOhM6m>;p>VIBWpE2?*nQ0B{k8pBp^3q^P;cSAT3f{{S1E&Uq|IGY}Mbxi}U^b0*31Fdz{FXhw?V_zcEvwdycOKHsUk`*2Y zC*Q|Q0*)Ohzx~yQYsArcmxs+6-H7n&x4n2Kr(PVnK%9ioPuL%U>63JYYVv-E3{QvV zg^_jpG{oChLIIR{r}65Pe2qLvs+J?Mj&r)k#6;D5RZ34{HL=)EYA|i3zwE_)ge_R9i;|QEdD6x>#cN3;V{hvu0h1=hx4+7*G?%le+o>KZosYGXM(2V5ylf y5aptAvH>Y9dd+)WINI+1+Il)9E!E~N?wt&ZK5KHD_1J|N6aN9TlK#E` literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_278_100.jpg b/examples/data/Fruit360/lemon/r_278_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f1867410ffafad863dde365a9e916d5a6d0d811 GIT binary patch literal 5134 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_279_100.jpg b/examples/data/Fruit360/lemon/r_279_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2de71150774d4976f282274cc68855b9d4073ed7 GIT binary patch literal 5179 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_27_100.jpg b/examples/data/Fruit360/lemon/r_27_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e26b0df0dc0e0c9944d019b7d4a19ff1ad3dd3ef GIT binary patch literal 4745 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 v+lC>&`243uC4))Hd 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_284_100.jpg b/examples/data/Fruit360/lemon/r_284_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c02ab3cf9b66734f27bbbad34ed4af00069a6c6 GIT binary patch literal 5179 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 X`d|j2F&Vrg`%ez$2H?zrr{n(xB6;TB literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_287_100.jpg b/examples/data/Fruit360/lemon/r_287_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02983e6d5d8640ccd1ae15af060307a8be9ee500 GIT binary patch literal 5101 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໪vUeh#wG5S7r;%l;8^XaO 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_294_100.jpg b/examples/data/Fruit360/lemon/r_294_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e663dc5727916399f3c57845fddff6c98dc0087 GIT binary patch literal 5033 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 Und);-2jKM2-KY5<0!*Fw56ZS}RsaA1 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_297_100.jpg b/examples/data/Fruit360/lemon/r_297_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f25739cb4258fbaee77bd9a2be4e749ddec1e73 GIT binary patch literal 4829 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_298_100.jpg b/examples/data/Fruit360/lemon/r_298_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5ecccbeaa82985d559ae48fa3d266035c67b185a GIT binary patch literal 4804 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 aCDDV0#OAom#`cevC@&kU{Z9!cP5lQ9gf~3^ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_311_100.jpg b/examples/data/Fruit360/lemon/r_311_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df50c5188500d49faceb09f80ded44603466486e GIT binary patch literal 4754 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_321_100.jpg b/examples/data/Fruit360/lemon/r_321_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37627a76906ea0e4a354c7365ff01dafae158258 GIT binary patch literal 4747 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 BJNy6u literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_33_100.jpg b/examples/data/Fruit360/lemon/r_33_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f1ba82bc7b879ff62e3331ce2a6899e1e8b076c GIT binary patch literal 4742 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_35_100.jpg b/examples/data/Fruit360/lemon/r_35_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57deb32c0e1d5a2c1827a39cc4958fd151b9b738 GIT binary patch literal 4751 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_36_100.jpg b/examples/data/Fruit360/lemon/r_36_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a422f105b395d2afd3613417e6c2e17131450d0 GIT binary patch literal 4772 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 ZZK#uxPcG*cx_GPjR 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_38_100.jpg b/examples/data/Fruit360/lemon/r_38_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6806c0b1aca99195ea76b94a0b95d55e0c5d0982 GIT binary patch literal 4802 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_39_100.jpg b/examples/data/Fruit360/lemon/r_39_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41f07d5fc1d5bf789cd508e1600f8a3c63e13667 GIT binary patch literal 4781 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_40_100.jpg b/examples/data/Fruit360/lemon/r_40_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4763ae9899aaa591c1e4f928f73d5f5e498f6f17 GIT binary patch literal 4775 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_42_100.jpg b/examples/data/Fruit360/lemon/r_42_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0eb78dc47c0438480ad823ecdab1cb13f648be2e GIT binary patch literal 4771 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_44_100.jpg b/examples/data/Fruit360/lemon/r_44_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..020547dcc574e26d4136a93b641fb0b158332ada GIT binary patch literal 4782 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_45_100.jpg b/examples/data/Fruit360/lemon/r_45_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f64f8d77640017aaf63fceb6f5f185b0fd9eaf9 GIT binary patch literal 4805 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 TP!?)*kya?{_5YL#=VSi?Gd4;) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_47_100.jpg b/examples/data/Fruit360/lemon/r_47_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..628fd0061802de02dcddc0f801d9e6549b13ec9c GIT binary patch literal 4811 zcmbW5cTm$yw8wuCI?|LX1d!eo5vfu{lp+cOmtG=GN(2PyEee7Xk)9yEi>Qzb(xq2v zL7G4i0tD#+LJcM1;k`5O{qf!(@4d5g&g{;f-T8iIcXoF7Z1QXlV7;%SuLDp}006~# z0nVlYZGe*EkNt_1e~b$BCsI>Ufv9MxX=wg&T6#JfT6$U<8ahTgdWJuCUc11^aN$qm z&m{j2rKARds2ON!X#Yw1KZUbafQ=4t2An|@LI5Qj1&EE}tP>D8*Gc`4ymPVt8U-bY zikgP@Tn6KLLN)8Td=ThdH1)aS^X%~Ret?RN`r;KiEt*Tl4zxl(>^EK}<_74t;N5_A-C;-sESm*J7u!T=XQ6z7WvVgob*(rE!)0w}0Yh=p)#2!x4^#^mF?S?@iyjaZuT9qA{p zG3y#EY2*F zgv!qVVN73Lpb9$oM3hSu>vGtnDZhSMdbiesRN3O@X?OtrP0aRj1NR?sCKVJ!Myy4$ z@ZeKy?NJ2n1-sw9W96rzrM=Rp=yjN28#j!yf}0Cue}t#$@IpKkNK8It-^hcPN=a*sT|{Y+8J*bHHLUiO+SL|RA&s|coo;LuO?TDrn_X<$CRmI!yt^@EkL|AqK>iLHBr6YExruoNFoHb-9!;WINKur|e}WN}1; zQNB-JEvKcTdjz2pTy{D-h0@W0OQ39bBjFNxl#NOUWu)@Gp(uM{V3-82XEtY42c*-+I_U z!y?>=XND|gHX2+F6|t!NIPUM#v8JdWfx=}juRENIj#f+Dre@LoWn^p3tIY08ehWwT zqE`!0M0qUK5X1u2_~1!uVyK_P{qH1?-@;D4;G2_C)cs}@~}f< zU+4Xk!UlzQOv0+S7VCT8yqpYc&ie_*H(qzXsJCG=QeS4@@o;=&Iev4jf)~jJX2nHq zL3G<~ZL*(jI#&c;MrSot?Ln&wKPB(DpVq2h2!J4$>%?Doo0wf$siQc0Zf&vW3F&$cZ5M7WGVio-Xz-mH61G~6c&&-c ztsz-8wE>rqkBVMpsJ$Dm+bnXnSm)Y6o#+uw4|0fR?zl66<$IEy1e*sY@I52OkXA}J ze~rZlGDE%`l=cdjC0uAN#r;vbPug8}DPdjU>rCNMM|>R%TRQ>~a&?GB$$6F#E-X8| zKOIgIJKz3eL+GK%7SG%_BS9?-L(I0mN z_gIcoi2CHQgFPa%lqvxRcV2OnalmY##9!khr%1*$AWbBHwUx?sVx)Z5W{@IQ;0kYgSVcTG?%kgQ^!1AXAjnYl1LVX z_5MeN#g|sZPpg6h^%HhTad)m)47U z_xLV;V|N0P5~1+wdi^<0!a%p~3uVQq594Nn2_J>`KPw)?ZL~zpcfFBUPKxQ%nL|qV z6^^eNzb%Yz*LhV?%nOZJw?pDRejW_lK*P|ojH=^V3mazus)I~lLSSq^_@Q35lt>8A zjmA!zGUT8$x zL#!eEFwix?=E6g63G_}a#G-b8d89}9Q@6;Q&xE?i1lyzf%=;C&51uvKwarw==y^@< zm4CCS&4B7xU-A@T{U(o*$#Y5ZG2LpL6L7L^+PUXLJxJ=6;MDvjrkb@2VYwe|D|5tK zJMVu6&=wy)4Aj7al+lWz?uTapB&my-gQf}$ylv$R)?3etlpbxFOBdktZf1=bui>W( zO*c%!3Ee!x_Y7$K2#$Us{=36p8LfU8jsgzIsW;vl~f=q$UrG1TYHVcYRxE#-FS zVg&=eTIh2t#fHycqTkMeMgxtC{UOz|uXtNw>(yoeER8MrukFo2$-B@8||YQJprA5qeZ? zNI|nYh4*nWrczh567`pbvs_0SJq$mLW)B z62A{4Xu&UUE2GrDP9#fO3nYT#j%4^Eb%OSJaG2z+PGno_4d)khW@-Yq@V)CtNNIWl zgy+=S8KC4pVY7bNLi53B$kgfYvFag(-)>%(&1ki53f2Jn#7T#o!ig8snYk7jOM!uI z9jVH*i>crtTj%3ls|gLU?5A;x6E3V35{;Kq+K&A=(qNw_@k~^gBrep)qPKhMhwAZ` z7F|EP@8dTP_Q?(FtIlb~ullnUpqEv<>mHSrRbbh*oqfLfhHi>Dsfc6+@L9-}t=HaY z{my)csgaK%&2*gKFL`GlVQpe5w9OF$Q2S=geg^;85w`ftc&9wr$wDWp%pyH!mY0da zxKc+Tw)##yUQwyiQN2fydGQR$8OJp%j5&^@E>i?K%gJu@D{CMyr}xMCrFjIaWyB<_ z_!cLUbc4mC{rb!7iDd($g~1QfMFCAk-RF>x&zdP_%n~{?DmT%Xns;JTCr4)h)ebQ> zlwf)wMfAt1-x1Mw-af`8U7q8pNy4Y%Dx~See+@&jVcSM5L>b5nO&8ddb_bSTLt-^e zHNKd->vx|v)f_2?-pg68wUsoYyXCWbU3~?$sm2`mq9n4IVgITEcd6T%WTg7zKC(WTB6g^}VA$?%eZO^iO1|)>Z2hYp0yI0sv&bB*c@K^{>lC%~rmICpa zCql&0InH|iFFzEvV)hw_IkHdLyxh{?Q@taMMh2@xcV*ebRBW|*oc_jwtL?KRTvz$Q zgkm*z;j{&NEaMJ-=QIIanfV}^=W0IvQt}~1(ba}K!C}chxrR|SG(eN9%i~d=YZqLl z5lq=dAzrl7`%8`ZMi*%QubW&q$h!luM!7@VQrZr4o+4a@O|1t z8<*S;gra zd@Ub27I5gjqfpG{Y1|Zug8V|fE1LZFcV||P`Z`Nzjto>wn6_6+n*%Ke?`k0y&O`l@ zb;lh6{>H6=1hbmI7)AYfc5>|N^rSs9@d$>ZWkTcJ2(Ap zS>-0jHDBdcdUs=|Z!J&>P&Ts_QLY^Y_IZ_qui^#mt@X3n5kNqj$Tp3KY|PIHby87; z#43c2%<3lZak;y~_exbwto+{s%^SKiW{)f@<|rTy0^3H|NuxGcg;M*QJ>}%tlP=Zd z*syzLpPtLSCR^pJy_v}4AaTu?P&*P3^RX!A`;P*5y(>u&r(G6S;xtp@W6{?ITlNK& zkiML(p}o!16hRVFb1qZhEA7VNw$dG<6Do{%yCl}%=GINs?)vheh}li(w=y_5>Oq_t z&5uuoAjTA=OeZS;BWl%hw1n)#j#2x(Djk_5&Mr3hw1%}Z$M zY9N7oa|0#BoGf{u-t$OTa7Wq@UXx<}#3!|2)NoKBv!&MJ^de|MqwHH3ta1PuQe4H8 zNDMS>xo+o-IC4y*7P%Fdu$!u^EP~4&NQfg}AmumHLZSJm4~VcYE2fz^Z@1&L)H`&L zfau`jnzE>@0cw~mzS5|VzEiCsv|h0!b+ezK)EH&F>vbvkclz7s5>Ccnt4Tgzt-Uhcs=?wH4S zpc&49AhjkKQhL9+gUs}RNa5+jcbHq95LZswZGKNxv|vlcD`>UNIN{*=?AsQig3=uO zlnn&a-z_Kk6yeD{NE~{QgSZ)X%`dl2poL5^ZPCs5X?8J}3=DlYNO;rGgt^uqt$n4P za(UTXYeKvvWZ!$r;y|7BLGx(>_jHi=yynX-1xx4mx`Cy4<)AJzah1tzbUe58XK&Bz zFSNL8u)*4zVcQSAqpe8^aFhnu8oy{$b)}`(6#^$pv@3fc$5JPCS|G_1rwo?w3XeKJ z0_SUAXs{EXOt-Z#HG)grLhOnRz)kV#9u+$9Lcl>+`4Cmy->BO9C<75}Kf{?Dzuf8z^)!h%E6)QTkh{_8DE3?BR?Yd{vHt1#i?l5M R@jrhDfBp~tyMxZA{sW()V0qMO) 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 R#rsb!;JhC2-yKYu{0|kQC7A#K literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_51_100.jpg b/examples/data/Fruit360/lemon/r_51_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3d0697de0144072bac70aab1c1230cee9297c949 GIT binary patch literal 4759 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 O1Dy5({=0+d6aN9u*(}Te literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_52_100.jpg b/examples/data/Fruit360/lemon/r_52_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0b4c4492487948125ace9aa74fadf024b86b9c3 GIT binary patch literal 4765 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 ZZaodvyKZ4;P47K9YpMhMPmZMF{{z&VPg(!~ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_58_100.jpg b/examples/data/Fruit360/lemon/r_58_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..150a608e14488e22b009ea64fa0cfd06d66e5128 GIT binary patch literal 4741 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_61_100.jpg b/examples/data/Fruit360/lemon/r_61_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49e16f92eade45e2c84a7683215d38d3dd555b05 GIT binary patch literal 4786 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_62_100.jpg b/examples/data/Fruit360/lemon/r_62_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..32d7c331e47d32653c31e9f470647f33648c6018 GIT binary patch literal 4752 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 AKmY&$ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_64_100.jpg b/examples/data/Fruit360/lemon/r_64_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f891d3d114769f1bea6f2d2f7ca25e0998bcb370 GIT binary patch literal 4852 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 D!ft5R literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_65_100.jpg b/examples/data/Fruit360/lemon/r_65_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7559bf806d0ddff2473989b7b5d2a78ee22032fd GIT binary patch literal 4764 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_67_100.jpg b/examples/data/Fruit360/lemon/r_67_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..027e64aad0b02091a19ce48baa3126c56fe8a40b GIT binary patch literal 4818 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_71_100.jpg b/examples/data/Fruit360/lemon/r_71_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..95d35ced7e2dcf61c9fbe25002812f8123a685db GIT binary patch literal 4838 zcmbW4cTm$yw8wv;g(eUnN{<*iQj}f{D$DnbMV6e%Ji0zyDK zgcj*2NQcl9$`wIE4-nwty)*Cq^WMyR@9dm2yR&C^zMnZeyR*k*$Fl&}b$ug!00aU6 z&`AT1Cjec54)n+VM7lr5K>sH)GBD6HFflSQ{o`O3W+pHTn2Cv*jhTh@kDc_`*;v{C z4E}8L?@~HOdU{4yFcbKnl>bvWZU!LCfHUAs4>||XK|u5n&~YmOJJHGbkGvDH{~Cyn zo`I1Gd?JJGB%zY)L_R(JiD-F0?xb^FWR zBOoy7-u>W^2hlN)pTs_W_B<*1RZ42w>o@7|b3f#L%>PtS_@%s}vZ}hKwvO<%wXMCQ zv#WbxaA~CxJp|AJ4r%Y7YX-feOMGK-+7;mVkiG#Uf_DfM&K5(v8()IA z?d=nHh+n0o**J894U9vBa7m3~5u?Wd-;s3BrG}-aK62+vpg-Jq%=mIPUT3F7k%IxU zT=H|;?sL5HoIH0%0lFx_(h)7tz2>|xao{_TE$ysLfd!F- zIuygvh)($$w%Bax8Z|Bd+5mDPuYpEju_1p!a6X_-rv6-VKm(5wGK=7*1Lx|Td>;D3 zA9AqlTYq1eG5WTEHfz6A&<&gNM{QpcnC5bUN)uB;2o7Oi9Fue$?_>$Swjxbi24Y?X zYA`&AHpcZF0}p4a6xvba-G3?DYgwdOP_}GfW4iv4o{OpDEC{Ce_n!Ag6p&R8pKbUdOiBr8Xc*LoTz!fUDrKsWPOLl16AMirMJglXDM zIz;b-`U5J87P?d@eYA@?R(g$ImLuv;|qb`;kyN`ggcFxcy+#rBcmu7j`3M8Fn~lWLZVdAh$S z=kQ7-ZZA7KiFU(t+$TuGrZ4sOR&RirLGBGpmzG(I$7)_feOUcv;TCPH`06p+9bJZ) z*Oa0b@v@)WxJ@z?+kUs~VzHTzx$nJg@9ZYy`W!}PS@E&1gVQeVd1k$>0_a@ZSCUZ=i|;8*#9j4| zdB5deF}Q6|2`eIz=9Kf!)ZKH>{RtaSK4Q&7JQG529OgKsFT*aJJ{2LF_V_~d5(lmm zd?`djoAm(uwNbPmZ<|A;rhTn@VSP`n^!!M*VwKf3c+{x~iQo?g=z(u6?cV?nju2eQ zF)*8O3{*xG6)Y36D>Gy{2lsayH`ksJN#2BWf;?A0Y=F8;uQZGHUc4FUPSqu4=^%=P zaH?s_#0tsb3S5u;YF_Tf5KXHU#i>{u!5xxiCt}lK`!z4yW~cl?adFu`+sVP*GNp#B zqgE%@p?KuFfbS{d6g|i5tZN?T4C)8R0Cgt>m+9k@GQ&RBvZRf!YkEE{H$<}}u~Z&< zte#rfT9fO)#>%F|jrsZAU+G)Ymv@2aTp|BRfg{j*wrX(#iMVZ7hpnp@|8Z0_$Ift( zmXsn^=lN^+aN&~z1dvQl$Qt&TUe|r*|H68awdWN$mkvniwcc1 z5>jW>=h6^+)H3U*8Aw+nc<_n*>WaYY5f!$@M=8#59PV~j!#c4#5XQrH>FUI)+M?lm zQ6;{1eGtF-OH7iIqiG6hn6;7cc@j+=*7BG^u6j0DBZ;GfOY6ZJ*AXKZ>g|t#k`L*N zu|O?y)fkL)3-fwz^{V_B;NfniwQjd*3d^*68os#KuGluNJ8^c7lh3=hqr@{JJklW5 zwXV+2KXvrI;q2Y0vcz_r%k@je@p$XgeT({yf!-TVMu}ZyT13iLpM3Wx%S;3H zn(cwLaEAl=XR_O&zrJ6uk}otdy-(u^ZACbjA@YRl_Iy^)%P2DGgPQq(@C&znDqQiU z;V#~k^6R=>O#KfvF>QekVnY%G5glGZ%;PTlws&2+o^etRgG&tBL=>tLhW@^#SI!o+ zmodAEB`xKJjmRVgDNp^bm>&JvZ@=%|u)4h$B=AfU8mS|D^Z?$6$2@q%t}8ytjWX@< zXgN%7lv#FUiFEHfMJ093U2w0XIk;sg=7>wE-Q8mEpcLysY$rX>AQi*Q^f6)|oaF;1 znyzp9a!pA-(KZ#0Dc3H|Ob#TT+pv@%f43DPLG&d%qpmHCU9eF1I zEowBcwC-V>7&kPL-_Ihtb7!&Um#~#W1^W%&jIhSakJm2B(~5CBJ%R`M6R$;l9K3JjZXS}a#rPAiRzGG!->;V^#St$3r*{w zKOm5D>s77Ixs+Pg$ueQE_I_YVq0rV8=@{Uw$L+0_Avvnjj~dr>;F7Hl3eTk^YKG*7 z`eakB;2>}{^}reuK&}yceVDPj39`NH!{?UgMI}rV=LEvd_I2dN1*@9Qsv3h~nf~yr zKS&kf-nV1*jsbo7jztZzs=*c^bi>N&(;2zn&32E0SVS}@@)Vx{;zDEE&B0gCNHz=C zLYlvBM(J~a=o#1_EaKTnvDh%3@O3bfa#&S-Cd=e7r#w-F{MdZ0g;d?B9CigiAgBGP zSeGG9ovXD7U#dal#n6h>cESf6*?&6ltV@)U^A5Zhepc5H{q{+cd#UW;pFiF^qi7U+ zHgl|99XA}T7EA8Ywh#S~R+ltfwUR~(JGmPc`{!u2R+vTa2~^wOIPA*|#UNV{#uw41 zY5(vd^oL4Zv7B(%UX)ideBxpv)znspV%)?V95?5-k~|m5K}F4;t_{gY@usDw{ZM3D z5J$JnU^Kk$INxzH5H^xMuoKTWOF+fuYi&yDX%%_A$CB|I#phiEp5pXwDP^P&drh6Z zC$!$^BUU@g4eGBs+x3x@{Jk_yG!!r8H*IvJ5GGQ)BD=ZaX(RryJBjH+R4qJ7GXi>` z@X38gv+@PeHQx=|*3jyzF`KT~xvbB8mSRwb`=&5)cgJN|#|lZronJ@A6uI(_xIB)ZPdh&_Jq7ErI5PN&5X7ixvK=TvWIcn` zs?!fmNtnqVA1iS|rRH4~f8w^2+oUNA+y|r~{40Gp?6M1+s)Y_ef%5S~)u?x?SA1Zc zydq1xl4JXuc2mbw4!8SfI*(#Owo8B!+*}^P-`GIaZRJC03}@ zw(VCh?XUKIyN@wO3H~&dj$bnuB1>vpzbu7X;j8zAxAs==l>}jy%WZG1xFd7s^;>7N z9heK%G)Hoj%BthX3RCw`GM56_m_abi$8#T&Oz1Zala7gOe?c#z3 z>f4#|Dvw-AoOEu{#IiL(LqW~~Y3tgPYt)lCQm$>Cvz%UfE!y?F)@?u4o;IhglsqM0zwx&h^Il zc;R*25QqLqOIg_1T^IC*P-2t31>{lpdJ9fYSXzU+cTsy`AR%iz#T z3bkIVra>ll1S$@($AGKsCG)mA21xK|TX5q@39H&$2C<06u_Qm$7iG=hi+7g(QaQXi z7t3b-KGREg(Q3J3%bv4S+mhsk5CjQ8Msg$8l7AnbG2TIZq&UWGMS`fhND3-;Zet}d z9wDfuch;>Zo=)Bm=mjITtTLeoy&apf-u0!QeMM-OC~mFC0Q+RHZbud@+HCOm%gl=Az6nc! zm8GpT92gMFXf9N_Tu*MemiTzgS9MoDxy4q?*M~+exF@~AVEA`m@#`|E9#r$8WGv0- z+eSqJ31=o-k};#Tw)-(st1iDS(_>)VIo%fYhCX_ftwPms#ZNy(y~JmeJUs95qXi>- z&Ck|Iqwk~Vjv)CAO|alVHMsurfg}MJH!Vv!dWTa;4k!va^P@GvpG!~RvY{~3k|f}E z$#ao2L5Jd1y(;^@p_IzFK0}xmv+WV=C$VV+;>r^yR0Xk0>l4pu2WRF`r9Kw!((+xn z4TELd$hZ*k;7^v>@Xa{KgnWY0dZbC?Q@)H(y}+qxGpvY1>ZXd^m8)BVdGtDoxP0eh zAlf~0_QS4mvD))S0fUWFR}{|_CLtp{IpZj6t19wD0gcz#&1G2Io$}K<{zaBpoi7gN zBC`DzcB-6dbtNMLxmml?#H;>*tFBd#HnZTFE$ z`^Gh%i@Qu&#D;&KF}CyyoDg(%OT^w_+|@Cb-8P?1qY2DVny!S};SwAxo)mvBx>kJO zW$sY={2MWuiv{O#s+TqRr8`$-*RbQ!JHTP`G2kr75IdVq2$e-10}{$LqY9A&3T{%& z9L_$F1mm#Mhx^t;^AY^IY_^uIS|L8iKo<;}9b6ytN?4os_Kbn2LWlJ(3~~=nDSbaPk=QA p>Wuxmd1F*CdP^<24^5L6n^QBiPva_%90xic3gdmy%XiQB_mdxOMkm_w@Ad8yH&rVfoO?+Q!!T zv5TwQ6L*iN0f9l!f}e-HdL0=R{U#Q<(1X7^^MJ)-M#$-@*(Bu_%{~=0QhgLv-sa~@tkon z{=NgyZ!QMLXJ-!NVPd|fz;Z#?4D`tFqL|`K)=PJi-&eJT&7OCgYy z;_Hl&D7=n@ZwXuf5Z-d_V@sz>+FZ}RF?qg66rSv>7m9APEIDuJvt@K|*ACZxlGK$a zqH{4!b+2H@Ex~i)^9!j^$XhK67|g1n#f^x~Bk!JOSM1^NYSHIve-5u`(HL8}n@?=& zzj!@7;9HX1r40!2JE;$TbFR>LchlT3F7H^9^;j8;qW8z~?+E$@>N&bE03cbl7DbYfr08i|x z*G}Kd()t#|UAzJV?o0^E5+ic~1Z!0Ib5VJsB=6~!wmC7+fz5f>P^) zgLelY3pqccidSs4_8Uyp>IaYDm1wt8vwOUUZr#k6%x*J>{W@`^jr~}Nb8iu*YUAjD zn8G~qgMDKiBH z)~X2fxWUj7X|&_2aym9%;XCO6b;>jBs|gY-TbJy|lsu<*-(|&G$f;uHp69z{{yy~W z^38Ewaib?il0E{P+Quj}wA6KDTDMJft@=cg<7Y`{MK(JO|gFz zZLDS8{m0#_P6gXCT#e{p8Y%(dUT5@NJ;uzwg%|ezs=v0MT}V=-%4C}438epRZ|y8K zrc3e@@#Tg^RQu}XQiI|6qPZSi%lz1Y?d0(v#re~?OoDMqp^d&-iaIdfQjR;=199bv zoM3>CNBuVOYV}j9BRapK%#Bnt>7f6?CL8f?rXowY3ni?fEyGTP?LE9m&O6wI4X^@J z6wn7V2X3!mmTKZf*(N#%*f_hE!GbRn(Ve4D8yo5a3xLV=LuhvNM- z>_Xo<_7}T{#nd2YcDj)bd-W%6U7=U|mF-><8?XP;<+D{8;4g+&JZ<>ETrVX?vW{{r zP#H;g-kI{gsj_Zjni8Ts9TH+qzFO)mwlQjGu#NuEH9TJWdX>b^^+;kXXRr+hr6o-l67cYR=Hp~qjg z5hoVyqL*sUUo98HsD_OoX7e5n<8Cz8)gf*3q9`$otNgOtv@e7^Pxo)u z)r>g*n!cWo%jfFkiii3@V!jvdE0SD-K(nV0 zpOd6yK=asg`aB7?i9Xjl(z+Z_CSFl_>Uj34cyM&aNos|Nc=R`K3%lyw2?d$zPk>^3 z9-0f=FUYUv7WeT_6JwvZm&;$N%He9ASTK8Kd8y#b!NqquHWTZ&;-{a=*xBm|N{zNx zc7Y{R{3f(dtL*$YZCi?M?RaH4Oy-|tO}pNe0j7TGfs}&AKZj<|?{Dpjf+Z0`j~Uf3 zlL;D?8SOfd2w?{i8nIu`p-3Uk^Ktmd2v`79*sCDTON=fzYd=>Mu+@C9on9C8{Yln1 zjYW-39AvA|SbuPeWU|Th^1reBQr<2Zd<3uFQ0lW+1Sk7&PYPk>T+kk zP9G|Gp_I-xco7Q8IU||_a#~tR+(I={-%E=Bh`kZzd zpyh4Qqrr8=X4%5-&l{5Fig6CghnQhHfP9crJ%SJ#-E=DN(KEpGt?bUOHR*~EV}F}`)3vh4zQRc~#B;{$kyf(y)y99(L%`whHh1(}s@ z6&vw{au_!!! z=);k%Bc=#jKd^RI4~`XWnOtY9wmlP@J-8<8ms;MF8p&y-l0>I?WkJ*%=ZGhn-JGee z;GCc<^+?9NO83;wj65&2kMxD2u>Q;*pgM5p$1g{p@Q;HFbO5&l{_z91&x$O8pU6H8xhspgzEX z`-(4PGfnXYRluvp-oy*HE}w5MKiUp;5FJnA>3}E9U5BX}mj^YL z-eNQ*M|>duHRae(^0AZQ|;u=D;>3daAM1g5Y)ksBs$>rw9HIW)eNcnQ?Jqj z- zww3#QR4Fx3&@pKksPQ}}w{~mnsD>O$W7A%OQ|{v);aFSi7B43Yzk8NIuR1Zd9;%gE`%B_u;5=ly+x)g7;c#Wq=ddG$n88%VC zp20`(JgXoxdws};yzJ$xn6klL%#_1jSoN5v>qwx?{k3|ulF+xWFVjZjxpfy}sU4?v zIM)h0asVY#tKo*C!8?ysBfp~A=R#K@Um~-whP~So_z{0%wW1^Cn`_^m_4U(GQ_4z~ z9d_tw#_~|KnBvu0^**ewsRE;Xg=)3g;uaehQ7FbGw+d$YI6YT-MTk&XwWz!Dw2Npz zS5~3)VKz~ba)ag0Nnjbj1NOcE^DuY~B!P?H%R#qX;XcYAn|D6uO9&n-&aoNE-no=L z_6er`-Ew(!dsWA{dk&Q+r|ZyoPtl4}Gen?E_!h@d4-y86*6sbVUIw zdEH_S`!lf1HfxyS;>D}*&xLsz^RH|sZncz%8OS!7bHDa>QJ+5Vt3hrC03IGa@#u!lnOz2 z5_yw|!oWYqMC?xOI+JJal-GMC$=C6QUYvPJ5hRSZ+;opn{Spzl9uy6IHr&*)gdw=^ zpDH)w3F9tDmL|_0pCUG@n=tYf4tfgp2a}~`78#oEC`T93xUGeRYjZANQdU>=x941$ z)`VXGkjRKKRGT*HF+2`hpSNXJ7%aU>-h^^Z&OV>+e#zdR?x!xEbfSMPB&iwg*Of7- z+PnkmBu{(QD%sD?_kyvtFZjGV7jFyqVAikD*o03wZIJ}g8kM(5iKO?`%UguIVxZ+|Pi3I9If zR+G`USG9i_)dVf3z&f%}kpWM7Z8p-)Y;6lv4Z8%HOkqese&rDSOJ4uEy6yHV>azt= zP}lv3FtXcDeKfL-)VDMk zTPt&rWfiezwJW#yT4Rw*QbS0XH`759yV@ZH zFR4HG*{Uklme(p3evRXF2*H1>*GntE%}9kWCymLA$S$Yl7npl<4ag#I<*|0{_*gXG zbIBIa^72I4R?z`$)K#da1!F%6{w!qo`)n*ewI4d(>id1PF%0KhZJ`>fm=> zlU+W2bGapFCtr;snHg+boxlmW^WgYipfXad;jh<3*`(@9n4>1K!dJh;v)xPFplcbY ziSF3Zk6z>=;;Hj1h`gJdbb!GAXHR@{VU#;Aa$>vepbIrn6_6{_mB)8*Fw`Vd07r!2 zzY%haCucH}v#&B<3R=S$p28`jbO1|3nCLf$n@AnnP}X(>#+$=77-13zlkeNjVRKRX zW%`V(K~Z72<>)jA_lRriF4-*Jn54fjmst$2<jdeGRN#5vix=XBa$+&v~-VX^lE0YnmWEoPr@qo YB;{vQMC|p-)B*PE`7iz_htjA116}E6nE(I) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_73_100.jpg b/examples/data/Fruit360/lemon/r_73_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ce89207f6ca3b7023cd21c40ba87cd089d9e0aa GIT binary patch literal 4920 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_75_100.jpg b/examples/data/Fruit360/lemon/r_75_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da05a89bf29d5a07b8a17b374142e0519e6240d3 GIT binary patch literal 4937 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_76_100.jpg b/examples/data/Fruit360/lemon/r_76_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9c8a9b5eaecafedb2e8f46166e03cb2a7a3e916 GIT binary patch literal 4962 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 CpMGor literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_77_100.jpg b/examples/data/Fruit360/lemon/r_77_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5714976958149b995f31780679e05e9a96f24add GIT binary patch literal 4944 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_78_100.jpg b/examples/data/Fruit360/lemon/r_78_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0d5b717d56657777a4fca166d7485c8eb9d4b11 GIT binary patch literal 4936 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 fg=zVI(1`SgDP&83eN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_80_100.jpg b/examples/data/Fruit360/lemon/r_80_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a85db312b7b8bbfacf876a68af6c4cb2b591c833 GIT binary patch literal 4982 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_81_100.jpg b/examples/data/Fruit360/lemon/r_81_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..413e659cf4db193e35fead1d4f458d317f50d34c GIT binary patch literal 5043 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 Czs%ME literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_82_100.jpg b/examples/data/Fruit360/lemon/r_82_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9751d8048773e7f1a1c6193ecfe38541d93eb7f2 GIT binary patch literal 5094 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_83_100.jpg b/examples/data/Fruit360/lemon/r_83_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..160156e82eb567a289b3ec2b87e231460c7ae52a GIT binary patch literal 5100 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 F{|8RF=DYv^ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_84_100.jpg b/examples/data/Fruit360/lemon/r_84_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff2aeb0248791078810deb9e703d52cca2701d09 GIT binary patch literal 5083 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�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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_86_100.jpg b/examples/data/Fruit360/lemon/r_86_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0998f7195537308ba1c202d7e810f169d66c1434 GIT binary patch literal 5028 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%0AjaE>L)m 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 LpGmHqjyU%pijoqY literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_88_100.jpg b/examples/data/Fruit360/lemon/r_88_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fb9ce3f73721a607a383d9515daed0c0e8683279 GIT binary patch literal 5183 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 qOnFXd{(~dr_L9FE4o@bS^yat0FYfY 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_90_100.jpg b/examples/data/Fruit360/lemon/r_90_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce4b302f65a16a5d43ceead71fc1031b97076d40 GIT binary patch literal 5187 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_92_100.jpg b/examples/data/Fruit360/lemon/r_92_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..230c40a1948a4cfc0ce5cf6736f76ea613811e72 GIT binary patch literal 5218 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_94_100.jpg b/examples/data/Fruit360/lemon/r_94_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..841b5e4d50280fc4e1c13b157ae756639d28c507 GIT binary patch literal 5278 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 ArvLx| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_96_100.jpg b/examples/data/Fruit360/lemon/r_96_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8b312e6e1d46d8682d5dc448e9f1409975f67d8 GIT binary patch literal 5299 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 wo6Pi+q8(0EURa)Z?~m;5aX)twV!Z literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_97_100.jpg b/examples/data/Fruit360/lemon/r_97_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7860e4eb877189980a67c42ee9f8682756d429cd GIT binary patch literal 5295 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_98_100.jpg b/examples/data/Fruit360/lemon/r_98_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a3242be3613f5c370fc407fd55bb57f0a0cf092 GIT binary patch literal 5309 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 J*Of2l{tGzlZbkqA literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_99_100.jpg b/examples/data/Fruit360/lemon/r_99_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ac0d1f931642eaf3f372ecca7c47a5cab449dbcb GIT binary patch literal 5288 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/100_100.jpg b/examples/data/Fruit360/mango/100_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f70461fff38815af280e9568f5efe8e309c4e3f8 GIT binary patch literal 4425 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 Be%k;5 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/101_100.jpg b/examples/data/Fruit360/mango/101_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e04f7b8892ec945ffb0b64d01d8eba426d31eccc GIT binary patch literal 4473 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�b86OsYEO(J}v`gOu=2JjD=I86c8K9rYzX@*w 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/105_100.jpg b/examples/data/Fruit360/mango/105_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b1dd10602b5530ff0b0f6e6839655cf31c74d64 GIT binary patch literal 4398 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 Yw}p;#Zq%CD#Tl9Da{&M86r}I}0je8QY5)KL literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/106_100.jpg b/examples/data/Fruit360/mango/106_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7294f6a91f61726510361fd0c930fd76b97f709 GIT binary patch literal 4407 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/107_100.jpg b/examples/data/Fruit360/mango/107_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49a8c3d28b3e8658063e241df9444a6df6552d62 GIT binary patch literal 4339 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 SCF%a#EF3fp*-wp_!~X?qt3*ct literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/108_100.jpg b/examples/data/Fruit360/mango/108_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e3ae52f8ebaa0c6d54dc4b95a8cba8eb769469a GIT binary patch literal 4369 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 Nxy^3;$HmU({|%A8GCu$S literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/110_100.jpg b/examples/data/Fruit360/mango/110_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed65565d26391e76822d54d8eb1cd4123f8bccbd GIT binary patch literal 4397 zcmbW1c{r4PxW^xc8CyxnGPXifytZU3%Nvb7V^XqDA+nSZhA@^Sgiu7Xl(Lg$?6PD` z6pAckA10bXjCHciobkTrI_IDB$2sSIuKT{8=X&nn@A`gz_x-yWV~kngn5m(OA;7`{ z04&T0U`zl804vL(9Y)qeV*?#Vb~ZK;8<-so{>LGl9AF411Ptcj=HTQyH0B!*Hy6+0 z$KfXbE@fp0f!MhqV8}ly|EIuc2lzMuSHKm-atdJOV*&B8FuDLqrcU;MlF zHg+(CDTAAtfIY^P4+1eovojSlv%{GG0X9DN<0n-vf%%cQAg6o<&PAr=b4cq~bqHSl zz9ysU>=(t!bwWs3L{#=P?95rY^J?lEnpzhOF2fCtj7?0fu3fjjVPk9O;(FW7{f>vH z|ATx9gCqAc|g?H{uL9az-= zi|oI^{+nwY-~q8PiwEKZ^nio?H}PkH_YMx1JV29^U#sw<=|O?*mKRbz6f5p7mlw1& zy>N+_QIf7|w*;H0{ed$8c3B1xl}k&Twz2h(IrP26Yq6T*y;SSgd@r1|?KLj=@_ z=fXmDrCqv2S}~F!%|&}+X-ApMt>nG{1K94M%@ms|hM%TfFwE3S;Wz#!t6n!JB9F8?!eJ2%V1MiN!@UNNoE(bg;=NOcNmMv6cAvsXV$s7$Tw3h=y! zmF;cg?|W_c!l!?8xsCxuZ)o*7?;)cMwg(5#lQNO^zDGu38|Aq%ObM}gUP4EI=^AuS zx1Lz3OH}l^dwz+0@-ca|Fe_faSC8PmRo49S=8#gC!kwgMuyW%-_(hPV*N{P&_u5#x zN@Ocvzv+VkV%7uIkbVq*LvfKp%FfR6T?POV__V!*0nsN!+0?(+a13?ZU8(!tTHuZC zl2b2O#2;c9$7R9mb z_2(M3edv{S)|herpGm}2KSEk>F@BGm&dJZLSUMH544*4S5I$``8mS1-i^+=lCK@pL z)Nx^e{TtX?OVVU6elX18yBio za_M0qgS+^TyhCp4@xVNVkcvAy=61) zSuC;FKy2-LO!%E&PJHnX*sNOZ5wy{W?{S zxiQ)z#T5VG#ON4chZe(~m!5lRV;(HX*rR7Qj3qjoPYOY? z4a9+m4(mQoniSskZ8#YSpP}CET@%JMkL zJ0!y-WfQ0`G$JHI7fX^*P5N2bVEp)->fgH2N9(vi8urM2#iRIu-nNFE(6{qr0M;<(9Mj;Uy`pm?sVmx$ zwIB-`q7e1Q$t(5XJw+&4EAl8`bl{&3GRk|D6uU1Zjkl|-*)!{yEiSZ2)y4^ zWPS3h9Xv7pN&!2FoE@gQRS8`)%m8N;S&VdE7t-)iK4)yx&Dnh)5#ACqiVf8puJU{~ z(cjmQm;`;sxqKlR6YjN0o|>84B%7R z%L-&U-_P{~u!<7shi^wY;?d6bC(|UMRApC5#da1_TJ)-2`03GF9bJO^o_?I*{rQ`E z8I9YO;R0vy9BGc=`o{Gj+|+Tk;evpOqN|Yff{3o8Xh>8@Zh7e5JakI5+g9i^m+hCP z=k+fZA0~c++DUd$UQAtW7`1V zguWgaP7LcmuD9HOpg=crgn7K(bc;VzZjo2n$xD+%b%`TT2esOMqdVpD9=priz9%l$ z;RRy&f;R!KgPF?3G&+}2*?COeK-aIrSPzsq5FJL*B7M}5@CK=*DTGE;>0}gI24PIxEj*8Oq=YFTS!cs#j zRPm!)I~7V@(=x5G);9DX#tuAslL0bR20+2x-D>LB&iHnX+^Fh4w-^T-dGq&;WQfaSSlk;E|Ivf?M zRzGevY)C>~x3uu6HP*(|1@|zSd2ZDt>UMSdyJ!2K{js?sVzZmOH=ffHY*IJdb`6%T z)=66xm2;0vbtb3HZF{S@pXpeH+{ju=ZGBo`cDARd+iR*FX{U}=H(gLK_gn89IEfIh zB)_5`DW>^X&_Hy~;Czbca8;tV*__vbQ+vwJ?Crf`^83pti+%x2O{L zV2!Om6zA(|>z{@Wnn|-?mmodU6Q#FdZt+H*Xsgj!_Fr3^4Ja=s9m%8F5foQeC(nO( z_^eI-{saiE?vdICZj2!vUb;0;?Dv--cZQZjh6RwuWG*^}*~2v`UNxo1n0ibCu}N;J zi~_NWf(!q-hY3qAnu*@5{KeX)sW&@|A@Ez$lGnamIVcDfew(z^@hy(Ff@(9uzDCP>oiOA)jRc^84!Ur0(cb9e3Uw>yuvetLLuYSh6=j z#ou4j@!JiKJ<$_gxpx2vCp%zWBV(v?ubJ0|k> zE|GB65{$6JI}*B4Nj77S`OKGbS(ip`v$>Fm)Vc=djF(-mo>oNbDU)f# z3SM~cn>Kc{ue*qWM+Nx5C3iOlyKZYF%G4PdU@BK$yiF&HX#%tEAkfxMMG!9JM;+D8 zoaa639w@?p$)SApiLGsA>Pqs!V_-h3n+i*SwbmlkNj2r=&mq_MYx{x89guF zi6G-2p^onol8?~jRLYk;)S7FrRx6*_{`vh|_wt_<`;@)MY+|FE1k_)cj#HS~oN!6z zfI)}%>;^^LlM(u;KxMgd1Gk$!q5_wjY%ykk^Mbvl=G!o0O%2&V&ELy8JP z{QR4FXzLgfE|^ke9h9&SBQgMS8p?9bJ${qaJQQGNRQD14EZdAfs;p2VZzNG*$YYAL zU^sK1!T>t1G8-$q?HB{NiAfN$n|}4qX*yJAcAY9>HdpkIQQPvxhhyE? z_{QS*OAqQWvtztR&?Ub&x=~eIUa5d;E@5YpzltlOj*at#;1@d0sW#Pviz}@ zMwr@ybM=_>>7PfSGgVz{Ey-7s@nJ!DOTuY_$<6r~JfgdC%BA};R4}J6vtZI64@gWd ze0)h`wlf=)d59G>Rosq*K;6MBAGIZ~8y%yY3f6=&k%tYz1&P~9q&%{dIBZ#m8V#rQ z6^BZVgd&N>inU=PSov28N5T}Hn=W4tj2gqIXnzWviWZTZq-MoyT|f>y;ks1{y|RO; z;J0Bn>rZ?KUxx$^JyWGz7*#1oKfeAv%|D|@6C$iTyqd#v5ZB^P9o>#wD_qWB%k47H z8i-fp$aggQ>=q^PV0y5(=v}&6KR16QexwZ^F2XECo?V)Qhg~IZb;1z*#I(HZ*REdF zgufwYFWhej&0~0Uo)1V{&niv4J~$aJ=~)5*Ri zOLo}tiLr5eLz|YT_e&tMi5U3Int>AS6eN;aoE`V!9k4PO%v%6`jLILS5{O3b5nE;E{HR@NNN(NFL*g# zr}+s_N~ud!_s4=t(_@9E>PZI-;IqKJ-<|Pi-rFGI0>FPdOWOPh_pGBwJh(f}FYv=> zy{3CdFq*kl3?MdCp&ZkJU;yrpr+m0PJ`g-bH&Ncz^|hP=@8)>AlEX;8aKRzC(rtBj zEA(#eH^}nAo?v+IO!XJXD{Dft>50U>gfAI64}YaBHvUB^X}@w&`^lqIiSZq1veR3* WU~j6uD7ygCoHhPT-l6j{2>$^-D`~C( literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/111_100.jpg b/examples/data/Fruit360/mango/111_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c2198e948c4f995d675bf1820347a019d147b7e GIT binary patch literal 4343 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 TFlgo=I&u2&-uWL6VodxCs5nhv literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/112_100.jpg b/examples/data/Fruit360/mango/112_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9847d2b804901f95e82dfe08c7190d976da9c292 GIT binary patch literal 4330 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 L*G-m#ndAQflmI*C literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/113_100.jpg b/examples/data/Fruit360/mango/113_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e34355d5e90500b19b6734829a0a81ce91b80374 GIT binary patch literal 4409 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 WNZdIm^;yv}ok^-7{68H=nfwp2)?R=B literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/114_100.jpg b/examples/data/Fruit360/mango/114_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1985d6ae179df8e875cc6205cf6ccd02e95ae6d GIT binary patch literal 4417 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 z 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 U)gF(2=0+$aPyI*G@tZdOFUB)NFaQ7m literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/117_100.jpg b/examples/data/Fruit360/mango/117_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e803e941ea962f575fbd645bb6dd48edcc4f362f GIT binary patch literal 4362 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/118_100.jpg b/examples/data/Fruit360/mango/118_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..499f6a986f03b09e439f214d18dca4d9825ffcdf GIT binary patch literal 4325 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/120_100.jpg b/examples/data/Fruit360/mango/120_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fe446b7332b4a17f33c38af42910342c6de063c GIT binary patch literal 4356 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/122_100.jpg b/examples/data/Fruit360/mango/122_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d2e93e6474494cd37ccbda21255beab5b78d8a4 GIT binary patch literal 4339 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 NY57e4<8tire*wl&QHB5j literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/123_100.jpg b/examples/data/Fruit360/mango/123_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1ca16b9743caee3bab5e1026690a3bdcd68b2907 GIT binary patch literal 4313 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/127_100.jpg b/examples/data/Fruit360/mango/127_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..102f415d2c9fe3d203413aeb50c6693f641adddb GIT binary patch literal 4334 zcmbW4c|26_+s6-M3tENrZ7Z2vU&V;pSk$Jp7}IJh{DaUL1tjGK#- z`{?56CI3Fk%nAara$N#Qtkc z%pew4Hg<*#E=E8TA45I}#1PHOP|S!9W84Q=z^o@EF5O@|X>7}W&Wm3uD)S|WQ}XHY3u0f>EC`}V*1d`+``h{!SRWc zv&&N-UqAnVz@Xrm=dp3|35iKr**Uq0ychWeugXy66_u~6-n?&UY-;|{^6^u552m-T ze_(KE?ECn{^!U)M$dij9($4y+kzGAyODGtx;1<%LeSCK*XY#9 z;^uh^V_XAa{&C5*k8}XByoXZMta9@j>u^T9Tfsx>!0T6wwrs4e_eq+mh$n6hmoM!n zpUg7!HnMCloi+b~ZT&GU_lUY3VBfh3zYI?hF0OJ$i>-eptu385nZx>PKTD*k5p{dH z`iTn|`6qP1dQzG_j8@}I8WtCQ`!m}F${#*0*66hHt4f{@bnzwykH(7|Y_}I0Hn#gU zv}Hkci`o2dt95a6NQx6&;l13S98>bPHaz*_l*Doe&w5_^9%J(?%)N4rPhZpQ4j0=@ zVPgMj;Sw)%UFBXMg&^t@YH1gC2mN?~tmfL)p*p_NAs9Y`*tHQEcTk+24eXoKY}JUL z5kP%}w;ppEl=4jCy-kJ1IeXYzB?lq&=CmZsn1w{2gU8KCE<_E(rbFxc*&p$MFrVV( z?YeJbWQhfeV6_SP!5e2-z4WGb^+*7&>bC(eYhV^`7@CPhXy}_46?%2vjF{k-*}wVv z-~#$gedaGj7CfDDvLp9Nae4h=kT$Q`fLM4)B*)UHi&2{fUOE0Z(; z0TTz39zPRliXx!3+h>H`!f8>i5{iH5!iiGVsP~Z1kax{6g%`|wcBgMhr&fypG+WMi zWb|T~L6CHjSSS&{X)|@`O8aX0p}#IwRDxI(&~Vo^?6s0hwIau$8}h>A zsEkVI)4;NL$$l-Y3o6)r$nF1|<7dG=i!x8|n8;(cDJAW#Qy4EnRX;CiH?JNoY?QOy z%*G=kVCT0zI(}p)iu&aWMs>i9rQ~PCML86K4)n|#tOE`oGA%VjF)NY0byKj&+6EeU zmgy<;ErTE{%~GEt=0F<$gUZv+UX;r^>yTcybp~K_n_HM|E^}K_WPKo(*MGM?%}F76 zq{N6QcQe*EVq=icuuj1|4P=j89SLGXJBr4>!5}WoTO(UD>PK082Kt!lN}=aomP{yb zD(VVHCB8@?3GoDgE3;7C5umoHSgNfdC*PYu#YCXL_*`F6` z{MBZ66@SZCv)98uBiDFa5^YJu^U3!iJyk?h_0N^eJpMY&mE+*)&6znMzO`xdaru#% zNm4-4Ptsv72PD1Dl0*m2&I~2)W<$K)#oGGshZLFB#njH3D*Nl2RZ)c^x;W6!5+mI4 z)0GBI#F95tqL&GxBfOaVMjDzQlFuk)`WiH7lF_>+QDhoA?ITZXeGp{z(G=>Oq5h={MC4bSsB!H)h3Ngd_gy>c6(ef9x=LI(y zc_n$Tu8U~vvKc+mb{ zaD(++-_YBKe4Lk=wqi!1QM7pzxy@=UfYP(=}ujbFTYL7z5gLq;` z@u_L47Jus6Ma_3gCQctTX#zjz6+Wf77~gci?mS-Qtr#RNX1N`4V%S1M=e+HPH&&vQG}ieT*KocdTY3r1ah`82haxh z;4@=(S+AISu?YkdC~V1HJcUUZTeo!cV18b z0Y!%AQtall1-eJ%QvU3FhCD&n8Ih&oDU!s64M{>WCUYi;i6*w{85Gh$tC*Ac5=LpG zsqC8jDO4Z8)=3)9=-_$X24igjr|V|Fcqyln`*#b{``vka9-dIk*8XN6x1+c0oAN|x z7kiGTa?lP>g%PZ<+!0NP4k3{m7dtN5E}@3F+*>80<#Zr#N4Ge?`L%X{>kd@s`%dfd z@T3dZ#W|D%;J@|7NR%3qv@;stA%(4!LKl3N@yrrwZ z3bvv=;?#>6_86PZy(BXy?)XJbE)zeZHi<~QmY|-Vgak{yD=`RC;BF9p^UnG_-wkmj zygX1hkzxvM@EyCg_*?7uuZGwzyd_dl6ArChI*kB0a=W;Wb*>jJqnTUebx3-pBoD=W zx6Gn&=+38KIh&HTsZjHUs`RB)$C-%@Or*of-)UttE%G)?5VI5vS2Sn#f@noEMgL7g zTW2{_XpZrZ5Hln>-R4DovmD~Ojy}GKrh;EwMUCkY?lzn?fAM2&?4mb!o5N%70$LXx zc#Pz6ndhe_bb$XZFmbdsia(?LLLOOSpoa26`unR;N@xR&`9SmT;Z54Nj^pG)1txKnnJ>e; zOnAFH%C)kRwx~P@`aYqloHDOUf5;K>G_D?;$g}HIlockRLZM+j*tDh(88?U(HsJCQ zNh8k^dc(WTy2S{O7O(}3AzHaX2keR2-IF#Rr3e|Jz% z-z81&Lg^(TN_8~RqxAUqM=~;O297P#A8zk>ZWm^`HRk6oU9*(goNno|8B%{>EzyEB zAD>*{o<&xPJnc`^ybVF<77sIJum%2wB5R;rp>o9XxYW|su}5(D97HhVR%|{t0RYtT za0`U(J}O(q*fYjy-H38l>+r-QiWU{+K?hunz+@K(!d|5NbN^FU5Qg{fT57X~=3i>m z=d^v{hZzc)!aIhp(*c%7YT5;~9ef(!6T$Uo!#*8z^|_=e(QRF@A3^iu9->u1usmTB z0^6n`YWY>BjsBLB70<0*s{eE+$<+Eheq#e6%ttLBXTx{T%YNJ3IewMK7EK!Z1BUqM z^srhOv6#-tOkaVOM3CiHHrSWp({;*@$a_#l?x5U|K@7>yd4GSe; zaPUzjBpWVdLw*Hu&`n64rY@=vP~;B25chh}OcWDB`)G7HgbXvBQZB^Ec~!0<5|xcI zbUZt8k<#3Xx^{A;<=tsI5c9a>R3Nps&GGPT=z}&w`C)!}1Xo}TRn915Gew*GL@m~R z94zr93uIl3Z5V6)mwSl*(&oHOn zY<8%mNep;+E)<8^AL=nyX%HQF2FC_0&e4HBSmL|{Irt#FSQGr>G109esKDZ(N}52H z0QbJzqVVQJ&7}@ABDyDCu$S;k;WXED*_>RLRJLK|fP;Js^+&UR##O)Fm81^lSdJ=# zTXP*x(4S^3FY`p4Ht;(?Tg|9wf^wo7!v%)OTYU)sT_>Xto}`m`;wvy5T$ij%7g zSRv%H#cP+BB6@hSd6=uUv2Ryb11f%0_i+8tS&pek4IG@ocL*?4H^2!d>B*m@`r1PX zTRpTB2-#-&^b|k*xgaGdDZxGm{70|0Ajs}{p5laBjnODqzSD#U^E(M2(re+VO$EwX z6-M4lDS$E93H)hc)J^UicZk_^iE-{SqKfY$~> zGZ}y56WIrc7iQqXG_{uG-9~oP*&*GK1rtL zqy70aHOT$buqEWj1Dm{xzk}V*K+|mnYRVf8MB3ZHv3g&*S?{RS4xp#d(XYaGu*_1iTGQezNU~B-;&;S4p z^#Ujhz-@q*=G@Lb?YYr`&OMlp4n#)}rlI55RH(@B}*cun z1uw4b9-45Gk&}y?hgU*U>Z-Jiis}tDb&Z?1|IjxuG%_~1XJu_;YiIA^;rYPJ+sD^0 zEIcCe5iIKQlRp!al2cNV*-xK6&&hp}mtR(1@#^)Px9{H9H#9aix3spkf9UHU7##XI z{AprxYIfQ#D7-U z#NFK}Z2QE9AWYM*#PWn6AhbnydrX2u!zyiFG6sf48hxtvu|%y#x9lcT0I&=Zd@9}( zZf1CwyhxBk;shZ7`b+tbJ|Dp_Cb40+xF}aX0olEVm7gSz*~4~Xop{c?LRtkrFjp?+ zi#;*ux_N=|`nXW1NIZ|z9Inf48rm3<=S^U0sPtWhm5 zWKo+hl^vw`gX6ZW(Q(g5bbh}#X>4lWCG%h-$~uI@uhS{l(}wtRC6kS$GgUC;tT}@| z==9qSlOR`y{u&kD&2cxbf+hdA9(Ki8e=fyQC+K&5Pho+QDNj3!b($+R}{n_YE=by(v%ZMO~uSWZUZ9d6^H zHj~|+kon>PHD#FjmS-a#k#cRWe1J z7?iP~r-&7k0(;sYnZc3v*I{JEv%NS0Q|3<^WVQjg>U~oLPTu_ck6qHb(pp7s)&c1l z>TrZu=sQfGrT{)c>G`wi?l1Gle*7GnC=Kq>_vOCG&1m1uO8*^LiB|mSjKD%J*;n|o z=hR^&1yb)a-Td{~yTyc9BsOSX9igXSMD|X#X=y4bHcyIy^R;(2+WOzwv4jU>!ZPNz zGY8vIY}o1QZ$+>F@Pze-iQEBJHWwy09glb=O5&yJkyepwZVcl4K=94gA`0-_x2o7Z zJ{ags)jaB2~#8hl$bhVbs@YLV*w~Y2`4J^J% zO>`jF?&%OT-8sAxd-pD*M&52+M3-m_JIa6ItTp8QkmBstk~2K0oB@U*GT4S^!Nt$! znCx8f7a7vCW|#J>-$_|~^J;v9mj3R-8Xk2`LGaKNmaWm{?keTV{Sgo>HX%>|)}e?u zf1^x37$S|l76atWlI}w2SQ4%qIvfOXZ`~}wI2fg4o;@FdJY#Cx9f*2^D#_yrydf)l zRjQ~nm2@UM`N0PM)mR|wAvu+rB?(I{O+R<*PC4g%;kRZ5_Xgphh%XTfX_aWD=(#Mb zg~c0iFL@p-Z+FvcDEk z4GSheRzlyiNiiBc+RGV0FMaftQt(~(8FRaEvgfp^VXMS#j3G!A8Gd<20qdBRvt6s&qP$5NU zD#d@2=@+ zMXkRbh;_Q^R;sVRa8FtiMgda8`EEsD8mYdYCF`Yb%d;3~ZX_NdY&+JaHdWHn)vm@O ztFpzZ3dycsz;o;e4W!N0C`i^izA|WCn`*gwK`dLHTS~hXozr!7v3%>%C3aM^hH<8h z_RpHfkfBbPdVi_y;*CCku|&cssxjYlQr$*<(Bx%bx<^x#E$Z5r9Z^fjSk|t12Dxcd zP@ceiLnq4Tm9CAua$D>%T7qDJKE&9U_#g`#40LylaqYEM72~>E<_PRMDo~q0#{4rW z+Q)0Dd~4T z_ir36Qrh3;$f}1gVBM7`&~Y;NPPxRW$NWYavY|ruS2y_*7H6u_r9gBsZJL^l&4}aN z;&&a~m2D+W=kB4W8A)N(I`&PO0`ysKcX=}gJk-+=3Xjbeizj|ht;B9=e?gS4dj-yg zW13EidA@FQaXm6H49G~oINU2X^?0^{2yw8kPgtxevdr%H#0v2z7;!H{{P0&8U7A`m z>_M;h>Ih@spf&!D_`$Ylx0`nJqt9*SmK4MZpUKw8DA=#rfTH^)*;*6h{dJ~(hj$Id z>jlL`2B#U8GqnGcsp+HKVC($z8o5roA@H34IZbs&Vavn zd};+3CA8bkkHF-o%UQ5IE1TI6q1?6ncI&n9tO5;aYByUsGK$eDC>#`Cm?#6$Eea!T z_iLKrqEYu76YjreTFE#*^FyQvieaV>7SbYC8&OSG!5xp`svrHil!j=3Y;wyB2dyE$ z5el=top@ui+7fYRZa=G0?}8a4!uea8g6Cf@<}dtUh9CWVSRy*s-@8A*F4Y+r>1g?z zA#2kafeT_DksD_vU5X9x<=t4R{@SccBo zV!4tUH`B8W@kb`bAp#Emo_XDb%`1qjLiOlg2rDW2tRzMP-`!WlU0~Zjt9t4mG3h3( z`a$IhjBfuJB=n)XmIBZbp*qB<GNg=o9C{c+RIrU-#~%&dvfxbX6Wu=fL%GT`geylgp*u4d zLk7E49}pBsTx^H_(_Poeqs`RX+#ym{J@yVOJ#ShpIj1sV-+ElXs3!uho0RigdBmd| zVTN!C8OVGyp4`4M31tOSfVrTYwFi71qn}DvKw7eupF7OhnL9rl)yaB19 z9^tekrB#ZPbEM@fogAS*Ri#5keTsi1rCO(f#v~lhPSAPK<*cQ;KKMX!oo!MFxW=A4 z#;nFbwVRW{m?h^I)+(h)gL?;7#-i8b%9&Ca=3+Kmmy-S5)bK&+q@EHA8Xd`Qsqgxb z!}k8?{Y*BWS!bcy{f)pKw5v~GwYSc&%=O;85KEi4<*vRe2xvFn9zv9|O@(@7rmJbI z5@So2%POg-x(p)8&M>j8IV7p~jGBwfbK_6CS$_m+ z`kxArj4*h!{VvZpALhHZM^#@Kr19S|GRg<+o$@Mt+u#6*qZc`{>F#%`k6F~p`&dgJ zJ;lHcS1d@9kFt#AUw)FQTwz`3OLX6Mmh3Xdf4)!#Jl}T*#|E8JPnx~7h@i}`Z?IR6 z27V&7MTilHSG0{RamfR}j_W%z-q!Vt$KP&tROh~Bo#}V1Jk-skX$|SyAQ`k*z`P## zd)#DU6XOtOE@=*qs$nGZs>9xy{;}BQm3nXfv9cVob?H-cY2D!cqz!PW3p2^vL!foC zYHTMK$EPvW87t;S-Qgb8%3TCQ_eFk_$9wN&;uZ}}r{pGZAF$e^Y@>W}w;%e}YXw`F zY-?YkYHg;TJGxQE(c0zs$i7~KsViwKD7S!ruTp@pkM<2jT)XdD;nNPJ)p9cw`eVJ| zUZKj1ImoA`QxG+=CJ?=12WTW2+I-du^>InI!#g7fI=KAbm&B3Zo3mS}y0h>B$svYf2kYMf7y;liZ|vz zG0o^*FJX=v)(;OIw2O#nS{mCJ*tR{{gSyGf%U8*Z*44+mCvnfHyXz+Eg8-U2K*r>1 SO_=NNUh=%3L|z3^zWxWFa3lKw literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/129_100.jpg b/examples/data/Fruit360/mango/129_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8c90e8e9477514de412796a69bb2733c03325694 GIT binary patch literal 4317 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/15_100.jpg b/examples/data/Fruit360/mango/15_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fdf5d2f1f71a41086a1c61ebec613b95eb72f745 GIT binary patch literal 4276 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 N>3sqJ=Mlsk`wwPA8Iu42 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/160_100.jpg b/examples/data/Fruit360/mango/160_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8fd862480e903f79077321cfe4981b018240173 GIT binary patch literal 4276 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 GJ^UZOI4aBl literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/161_100.jpg b/examples/data/Fruit360/mango/161_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fcf7d506fb8bc58b5372c39fe0852773295b8c3f GIT binary patch literal 4270 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/166_100.jpg b/examples/data/Fruit360/mango/166_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d03e95d25ba7b52e16cd0f004a83f1931d11eb5 GIT binary patch literal 4308 zcmbW3XH?V8wuk>1iWH3?9TX`_ReF&Y0qIhO&_OixL$5&~6hVkIsR9Cm^eVlBv|vF& z>E(scr6-gSA&?v2cdc{3+z?^#p!5T}V~;F^wxwgx~(1^{HF0ubi_ zHQ*B2AN%7k{V{UTA5TF}4kD+dprrh}Qc+)~q@t#xq`XXfnVRO0ky>=LG<1JDe-`;? z>Lm&gh=PWSlIrh}|Hu(P0`!*w7ytv2@c@_T$w2gE!~uYdq?6)rc_gv_7}+HdIRzyZ zNd_$`py?V(J_tk-O+ivjiVh`>1LX7+4BX->l-G^ysd&5@B_duIT;^4+>t!Jv##!_30U#(w(_zkr~Sl(dYj+&MvOLe*OW0 zLGa+H7tt{54-BG)K7Ic3b8LKK za%y^Jc4>KKb!~m)*X9=X;PB`ecY^&T`5a66ph!g+{k$CV0jR6s$P*lF2?HS3{kdLJIWYEhd0&#a)Wz)CG zuZ$^Wp$rULA<|CJYI!l=oO%t@O4a!LMbAfe14;8Z@!&H7^LZDu*~Z|-xa3BccPdq`eoZGW@JD-Ox<%-0S2OGTfV4oD{D6G`v z1lZp%^~5d+U~C&amlx?=1GAy;pY~blZnMQdwrc(Lr9Yi_++;!Fr>DEUjmqSM;Q^rn zjt@#5WY$%Ib34&RKNVo%H$93FD%M90oT|vO;@a}*bU}OE^jQy1k_beF69MOui0rP+ zXo$0(hFz>Jqf;V(Yfs2lhO0wBijh|seC{MFPS^gasZG<22^h_$Pft!U1z{RY7d8kj6H*&^1wnjymmr5cTbx^?c+2o#3X2-H}u*bUy` zK)3W&2QJ5SqOE@6z+%Ql`(d%Ioaj13?@<`;onBeV%pnzl$qBbW1fpfp9r-i+OY@n! z%RSeo%R9$!rG901&uONnVhc>BG-N5QJR`xVQrt~$eA~*o-7-H?G;f^WR_kvPy=NVlq&_S`|TS7-zN4C;Oo zbus!a#~__@(rd+onw4$DwkI4Xy?v7%le>1@DE5t~=*)ywW)H^7bx#R_DkG?2%rOT% zog&?^0Wv;^u!B`_KV|3X8`t_I=_;T0gsqSbtZ-kit(h>l`wMrKLqUS%P#4^PAx|o6 zfg|^Xwu8PhT-j)Uda4J%uB*U-iVWiMZy}Gr7feT(zOdOIB=|dfR5>EoxfvpLlG?R5 z7n^+gj7{&`4i%{S_*KE1+c;V1MrG;g+f3j3k31p*dFg%lzGVg7Xf4<(-FqiirZIff zF1_u)9PPs;rhm!PEGgQHW=itC+Xy62oH&-d=PdoKkUf8ti@;%e2Db|vB?1lpL||tO z3$jVsAIJxr+Ucjj`BJoxN}rUcuDvkgpl9XCioIVuCUjv7K}R7P&q>kSq&t5DbG>Q! zC(iZqV3N7Yiu1#;ZP++dllV!9UqnmmZqP?0Y~slB+xPE^wGK82>%g%g|g2 zU(*@Z*FhD?{emA$Z!eHx9E#WG^u@l>D?}1<%mY7eCxuMK2RRug>1W6y4cUs&m8+3K zTk>9{m(aF53d8##Tdyc!`X)@sykNwmxNiPj7>yal;Y;#{qV9q%F|z#$va0p3j3ZH6 zv+Llue5+O72mL^v0mLqNMOg?B{YeDW^JcYIU68V`g<8pC&x$iWOVIEUF6&d%{8+!= zQpe4$IafR?>muotje?yv^HH7q%Tq|+i{UnT6G!Nkvkyja8BLPH>^CXt2uLU4GV2z3ZK|%ZdTUTJbV#^{fJ0WGnn# z!6Sp0bD-@R%L>J+wFmch1Z=B&**5ds1_>@T7LRl-wb;^S?u!=abv!G-B&{Z7!1a4kj3KCvPC`rT72MzUQhqc^@FTLy00{!uwm%q&hPY}j`Li#jN9=Tq$A<$`I zGWFOK!u3FOUdxjlC^+U+?-gO@>zw5fDF19r(oR!2S?^0Ry^>D{kFq^6eH zvM7OB@J*N2z2Osa&K7uL~XHaJfS*m=}n&ALe9iPSf=C@SRE<1%wL6G_2 zW5i2azF4JHiYjC@cJtkuvjUS@5~*J*vaI<(9h7;E4B)R_a?Ur@@0_3mq#%F4M*PDbmxybicL`}iPr2_r&+5$a)|Nj=PIbNvK-$lXo5JKaMFoEHnNYzFvjWMOxW-L<*J>% zG*Nsju@iSxC7hM5$$S51Yqh(oG0XQ1!+E->h5FL0+fT|EuMaUDwFVs&wI@AmInPyQ z!oOVJM}e;farFl)X0~LPG`PFFyRol+5e`e9S2pV`Hc#D) z0-9x#omFkXOMB98Ipy!OSa$m_l#FFf z1Yj02pNz7!)%l!?5f7zzCy}N4V%r_(5KxGMPiME?I-`-g?+tEsMnkG$B7k`;I<4^) zH-cB(Tyu8cIpQ$cOVQ5n$F^N(;p?%{1)Qj_;mUZ?8B21pZgGKZvvDi8*3y*s4 zJY=~`F<5IVzE{1dNKW@N4hQP3l7<1J;#UPb6{4CGi0u1YhWa7c#Y0HuS^hP1D~m?e4bgZC zD8Y>#rR{IklC@!KvT?O(2ZAx|nU);LuQ%AWSxE|C;KXW8iG;{{d)_T3eBn-UvwEfF zVc4FOIZP`6oo1pH6sjl^ILM_!4-Ls+C^NA)$Ci|P{0rO+s}Vv?hoPsXd41Fyh%%^%fAM9U3&*>X3x$H#f3r94yA8sZblD0`#H;$G$!^7llu^&5e&##i!nk#(+82jh#^)AV^uLm< zbvX#ldQ}!C>UbIW@6M<`CgZXtt09n1>Jk{ec z^78Q2%S8nu(8ujqvzt4RY2FXZGf*5~xOtugfz?vmTDsb@oxcg=GXKk5qA7Q+C8{dJ i*&b++P`s#GyennG&z?y^U*-gJ1~_14jx-0@ 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

      s`hn7RZMbF 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/16_100.jpg b/examples/data/Fruit360/mango/16_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b403e0d5d465835eaf5e3f89b82745518243b8b GIT binary patch literal 4281 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 UOmo9Yi|gEpj@P-&8ILCZ1G9c6p8x;= literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/170_100.jpg b/examples/data/Fruit360/mango/170_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b2436fb8207f07bb5a24601842cc648f4893a93 GIT binary patch literal 4311 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/171_100.jpg b/examples/data/Fruit360/mango/171_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d5be4e873e13242a693d5235a935ef0d72279ab GIT binary patch literal 4319 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/173_100.jpg b/examples/data/Fruit360/mango/173_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3c6d18b8269826e868b4f56763c82186b031afa GIT binary patch literal 4301 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/174_100.jpg b/examples/data/Fruit360/mango/174_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..840e3193f80202a0f44040b5ad5222539df8d379 GIT binary patch literal 4327 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 sx4-;H6wDIK%)aRO$r*5h((p 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/177_100.jpg b/examples/data/Fruit360/mango/177_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df303119ea7b89e0e7f67df86207927473a1fd13 GIT binary patch literal 4335 zcmbW3c|6o#xW~U^j6M4rA%rMG(SpG*`!Z2XmdFxW%i4r&W#2*}WbD~xoygdCAw?LB zJv)Oi7&CYDd)<5gxqsYypYQ8Duk(FWKJyStN-!lAgo^5Kqo$>yqNb&$qN1Uvp`|-Ba*u(Yj^XU(Y?6P6 zQb5392pu&Q_1}>HlOweNEHr=}UX0Te7CFbjy(0SJ(FLjKAli~ZL?6ktjS6*XA~ zJvpG3nJga+CX0rU6_cZ1k-r0!ED+X)d}}Yyy91YG!Nq#NOelqm!qXx6cd2 zOW)UTLc_u%BBK(M-n~ywN&S$Plbe@c@TstCN&ymqz zW8)K;x%q{~rQgddt7|*Edw=#14)I6FXIvlv{4W;S|BqZOWG;%cJ)l100#UpmH!uq& zYXTj$elQ>m$R#?7$Uhx ze-KXsLeK%@Rvg|hz3Bs^8!EzFSxwJR>fuVa?IU>u!Po5+gM6eOo{YsKl8MXrzI;I| zT=f>&O>$TKw)C-|qT9V!BqPzl(}F3kOzMiMlxXDJo0Dx00`d9&wJyiCz8N*|Q|1S6 z8#`DQFHcroOz%LQA0RYcY}mV$dEj|t^xNjigovANrDF0eMWk8n>`XKXU{+?sqlj!3 zZvt+PC@Pe-g4_8&1wxv$nV=k;WL0K)(yd26Fy|rxd4eptEQwZ@@Wxiaw5O)3yw@AWdyy z@VU3b!d@R{pa*K~JuC;HaxdRhUf_mryl9J$4rC0tiRbK}hqYC3POO_rWu=!@xa2eB z#T5rOw0}_?+eMbH@ot#-d9jpS?qlp85zsmQN~CEg0g!v6&DJw<-E+@6OfNO!y%%^_ zY({dqE*d0xbqHazp1rG>HU&xU22J$2KKs;a8}Ru^tXXr)%c;Rvsag2=Qclk2=BiN_ z>ybZ`h0Cb=&?l%&(Wxq7z&QAVDkZa%*|rk!_b5f}J;O{cbcSy%;dm|Z@0Hr}7oYRK zy2u@5xuv3JE77tE%4_8olD+d?Z<$-QcOyPBaJB}DDzDEQpCDeV!XiT1_1@Nm!X2S5z^h&hj{PyA0;fYt8i{8t=Y!NcXr z*!g*FJ>VtFT?8LrTnj^@41P>0K_Pm|ln<30M3~^7Z#SH6%EAG(;-k$T;4XzP`rBfDm-A+6F zY?PMhg1wFWen{X=Kk*ni(INIJ2v9USmtMh&;-3kbci7o6c@{MJ7l1DzZJ(I-tgT4? zF=+mP#4F4klr*1akbv2IWmeq&@BAyinjK;!;EmP&5XpyAgJV}XN1gO_eIe^=VCXb(Iuu9LA!U;>w;u`7~y#b3EQe&Toz%kEP(lu1cF#UwdSx zxf~{_)o91G{n!%^vfPvZ>c|=9b+RdA7yC}RSCdd<*#6j$1VEi|&?xyd<<}yZB#TnR zLDP2{D!tu;zHoHva7a$Q$z)PrQvDvhBUVaD?f2@h^?suzTO--&F5piOG_~T~PAOR1 z^ZDmG4Gmgh>dKyqr}*q*)+cmo8w{3rt-tL05|L#HrkMT9Zno(XgVcgsiu_aXU`><3 zW0^z47DS0j)YfcSTRnC{KtY{Y+do~~m|{e$eS|RXUf(vubg*(wD{qbuDcaPdEjOpr zZ8_-j97f=%u!0IN@3yw5SjjPewuN)hP9pm+vCku3ljB=go|Rp?e1$caN}DBIqEAKe zIEvU2=rOAa5<^`X5gU@Qp5X4 zVB@|f=7FKQ;Rpv|pNQF0pF?7VJ7qC3-R|@02Vm}7Cl4l0J&)jjE?d1J0XXv^2ogjb z8!O4jySXZNZQXZwO*Lh8?d825iEPaOmJz4mb|Kcoo;e10L;AfF~0NY=oV!mEn(E&6ZgoV*wG^h?50xqE$XTLic|vEJZJS6uBE}1 zFppXOJHNk9bIr>mZ3{Pbr$fV8s`%nRSzGa_6}R{G+jf?y7a{c!Kj#l8ye6*Xel>aP zU&*s%k72UR^Zc2Q80!dR|LASFU2FPCC?=K5oknhoAp9IHiGwF+c;KEQD;N;JoCb^ixz1M67}2KODV?r3(TBsj@MOU|oy z(J0DhjuY1Vz1J&wPVUCteQehS>w^_QoYyUd8ydc*5AyNjS63|p>R;XH>jgI<`anOb zvl;Dund2p@Zk_s>oZPMA1BP07HRO-SxJnF6w6**%TfLV%9#fr%xQp=>DuM~s7I9yn zE67&x?aGWzV$f5v-?5i1hLVjod{Dl`$mZD*v@?7ZYCXhh=ET@V59Qscrp$oISIRy1 zIf}eNSOX_=0c<}-n?Et(<>Onhe7GS3>r8uq`0xVMd57_9(NIxuBlE7hw+L;FSDQvI ze@@eD#u0J-7pP^=oNH*UrZGZkK#-w22lYev?`{Gg*U6o=^V_c*Z=9&EGS~Dvcr<7f ze4@NtDuT#h{4$hEyZW)I_84Xn-;I22$$pv@z~VeZ!KuYcNy*_r zaYWP_9JOZyBrg^tt*m~0i8YvCz8X2yN6t|$X)6TX61_LV5|Y<|L|Vbew#c8ja(jFy zU3Fj7k&S8a_9VypY<6w9Gat6d*WRYdK}<>C)Axhx25&j+#;CLCNXwA36BYX|V_!#{xaY0!3(LCG{wW8;aa*ZKck3MfwS=f5U=K-8JvFnn@onEE^cLc zjku3Z6@})O8b(^>+Yc-T^I?*aBG#{aDwdmxv^P#z`%j(*j5M+1|4~jCX;AOVNl_Nd zR6u;Y?PAqfFQjg=JDqECR|K&0;^C=SOQtcxvWF;cs?*i~0ds6W2(QfL-uEQ|3B#&; zbtjBDQIe@^H<2>0Lk>^bqWMpK9UUdJqaL%+=Q#A33#kHyPj$!dkiy?WJF5@vgyU-AZ(?jf%n|Y$G?U);U@~~R+WdH zFb@2AD6cspR~OfmRd;{g*Wdm|BJ8T}=a@vb64tyEc;*TTVE5A3)qSMSt#~V{g2agMQ!gEwrcM0K+2BZVjp#FRP?kADQ9@CTQq$RRtQ)5uqfGt zI3TQN?+8SD^*8oIRwSC`dGlXZ#P~ZMG7L|Cy>^Q}YQ6PG@kYIAs1DsR$NqplG!rCI zB$gQ4O#&?INdS}i8c}HHTzP1=;~3W=3gtfeZ~~)dmpt#tEu;~Vm11vG%x;&c!m%Y# z^^CwKa4>z^K!8z2Oz@q?te8OpA^Z6_bG$`dMLZzeC^^vTYi3Lfg}IN!`kxIbJ*&@5^% zoQ9wy52-cY^e>4&j{aC!->RfNbfz8~@J*n4ET)NyaIbD>tQC1~ebseA%NC{oLNjdB zhF^8b#8{$?_#HSIR(C5ce8ioHF46pT98X{lC(_Ckuci2QZg05ee%LOzoS*G3Uway+ zc`4oL>h}jcP;V8(@1RFat>l_a7)fB`ozL>bP?I2w&v(`Fb%L`Q6>vbKas-b zdk}UL+DTh;$%n@Z|9r23F+4rM^5d}a&YxBf?v={>$jh&@U(?8?i-@2o4sHPeiBa}@ K*ZvcpH1Qwp2~@`b literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/178_100.jpg b/examples/data/Fruit360/mango/178_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44827b360b48139151ccf7d48dff02612ed6ccf0 GIT binary patch literal 4331 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/17_100.jpg b/examples/data/Fruit360/mango/17_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6dd668dd7856c59b528c093ddc75b1bfd8fbf025 GIT binary patch literal 4276 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/181_100.jpg b/examples/data/Fruit360/mango/181_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a75f9e8025bbabfcf7df3b7b048668f97b90ea1 GIT binary patch literal 4396 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/187_100.jpg b/examples/data/Fruit360/mango/187_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34bc1cbfbdf98dab0e230ad77aa8023e134e9e4f GIT binary patch literal 4352 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/188_100.jpg b/examples/data/Fruit360/mango/188_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c9112bc52f6a505a147c04cbaedecfaf523b719 GIT binary patch literal 4359 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/189_100.jpg b/examples/data/Fruit360/mango/189_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b5f0fdfc00a377c8f17604cb02520d384f5b3e5 GIT binary patch literal 4393 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 T96NOFTsZfw%V2uKXjA_I2Fx(} literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/18_100.jpg b/examples/data/Fruit360/mango/18_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..abbfa7e6ec0da85a40d74e97690b0545c2038c72 GIT binary patch literal 4320 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 GAO8U)mqYOY literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/190_100.jpg b/examples/data/Fruit360/mango/190_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f5f4d6b9eab9c05bc3d603642d3bd831835a23e GIT binary patch literal 4336 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 W_@cs>AHIFjo+S4-)1h-S#{UBlE>Zaa literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/191_100.jpg b/examples/data/Fruit360/mango/191_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8567793f737654b30e4833eeacaa8446a75e1a1f GIT binary patch literal 4401 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/192_100.jpg b/examples/data/Fruit360/mango/192_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..908f437c7a9dd11c3ee07e4c0e238af0395b25bd GIT binary patch literal 4433 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 LLq%~~^3VSOdw+S{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/mango/193_100.jpg b/examples/data/Fruit360/mango/193_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28a1a67bb0f1a46cef4b34160e82af17ca84fcc5 GIT binary patch literal 4430 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

      voWoKhyWoKn!VdG$9KlRs6dYl}m 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/92_100.jpg b/examples/data/Fruit360/lemon/92_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea2f6970eb30c750c49779013277e7e05069f803 GIT binary patch literal 4934 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/93_100.jpg b/examples/data/Fruit360/lemon/93_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..423c99beab37d9d8d4d2e954a44d48d324c178ec GIT binary patch literal 4924 zcmbW4cQoA3zyIGXmL)_B2_nfVQ4_rr5iR-XEkbMr(Ito)tRRGJh_XZpLDbbt)Y#}P zdRZ1>brEINU0K}C=X=iY_s{*~-us#}uQPMzHFKViGiP2ib3S#x09?GUrK<%{Pyhf0 zxd7)gfCfNG@z?%(%D+Yh`s=Bws6bRS)HF2zRxlkc4VVs0LqkhXO9%OD!kiy9$D;vjDiwG zMNI=H%b+I*)LtaZ2Z6|osTIk)%R(9i& zT|TL&USV{QOB|e+ukZ^9-V_p+mXVc{S5VZrr>Ui_qkG@P)Xd!Cq2(hxdxvL^PR=gg zFMWLd`~w2RBi=+ty^W4ZNK8T|r+iFJ%gOzcmtRm=R9sbEQ~R~9zM-+Ly`!_MyQjBr zbZmTL5;HZ8#Vsx^udJ@EZ~VgV?H?Q-9TSKrf4L|C(0{PV{=em7CUa5#-2?DnE(%IN zas@F{QD2v!VNo{%+j_FzkbF(cb~iq|vXu@hWxUJ&)N2HCiBB5GkN=DIFWLVLEbRY8 z_W!{CKNl8Y08x-P55x?p0jH##n43UO_P7t%g&S?|CZ^4?Ke0ch`1XI`%-9$bbk{`| zv#{D{5V{h7?Do!gUYblR9#Mmp{?h9rDt%>sZfA?Ev4I~{7)4h6>kxa4kp9eDQmFn{ zd!4RAwWA{Y9=$%nOs}rtevCy+*mQ&G^YFSPiN`afgo!LYlErD^86=2H*A@>)KwW!M z1obLlie7$C%D{akinvsL@Mwz(Vdxy7)+MAY@(3Kap956QT&}pyXgjB^!!6Cun7rE{|KMFamRh2y(NU6}s{bf+R{&uQy_}0p^ zP$8(NzBiZM2W@T!d}m1X*??MYcN-iF*N_W=j3ch(H4C4_zI%Bmb1IYR&t?XxeUJTA ztW}kNcZbWwF#DDxtW-e;F2_-ml3(Nz*Ck)@TB?jArKa#(-qpmIvC#+q=*PTTf$!Oj zVA)wLY(|;@n~`-?H$3_XMytx;Oe;Kzaly&IS(YX0}Pb6tQXMi!gCN z(v_W`eeYz5iY~t*J+UH?VB0?sLKWVLj&XU1Y-c_R1=9cDb50ZKUGsw|X<#K6@|9 zVqyC*eTmr9NbSNM*y?<=wF6=)mJbz^kyZW9vw(LcCeV3qN4yjbJsFGId&Di1FxF;V zdz^me?1QP(oW3!c{xo4lT+mD@Z0EP)^4jpzn#e?#N~la5pGRm-EXAO~Pr$p=W;Zt4 zRwY92I2j{H!KW_SdCAO=1z1>afaq8=&Mww?tc)|gbxd{76sUQDvMtu&c44K~@kT=C z{JUX~h#BY`NxQ|R4tN;{XE{gTpV4B;z56OD$qx};N81t`AwRPwCgQs{&FLJH;wgzS zSH$`gf>m~16EL_JRB-WO1Et%#<##ckt1s|>TTSI=y_f1=3StRGXuGGVsGpoxxB8jE zUYTnLK9y64qmr>NFzt9xG~||O_h`p(dc?w*o|5#)!NZcPyj+n;$cS+SGVPW0$REK! zvOxj6vRqbt->$kLo~#>hBlwH z^!dHp;VAy|HRQD>o5g6BH2a=5i4C(TwhYxEINQDqN-=M0iB+h#`&3x=`KU`P*mX0I zw0PP;G74CHj+L?sFx2Kjpq^!Og+aNzf(J$R%CATTHfRG+c?6wJJ)?S?`ghHVS#Vtb zV{SORiMNI6Sk{0OnuBolAzJwzgExB+Dfjs=5xB-!+RAFQ{Yy9>(jyc}jQzc)!UW=} zS7B13w-Re>KuWxhRfPOfmXZEi=hSX^D{NHQk*Z=)ep{mTu$TQT5VueeV|^ls4ymh~ zC-ROyT)R1XtiRbVh20Q?s0{R&!Id9beKveX+oMB$zp>Kr?k?>T;-Vc!#&ldJV8>$` znnF9df8WMHe9lz3Nr-_nBlBDDVs(uH>$LMZU^gOInQ+|uLiAZfdLLE?Dmr(EL3img zWno@HyuZ80otu>}-4JCgfttm}E_odX@kubQN!?v>WteTIF@+URtHbum}yIx{W@1E$49}z6^P<28st^whvcr}-O-2Ta42^~n8Q3}?;OMiB4J&V1CXC2L=tRSqC zSzDm#!`LeqG5a}b=(6y%$#y=PCdfI7&c3hIzR4W(MiAzZWB%5%cI-Ps@@iTQ$oXP; zz(FTD3y*^L>n&FNwx~;8GNFW-#S7Y|q3zPxqO3d(gMIKe}B>3{znBeZacU zaAN0FmSd%D>qV1CTT5S?M%(ITz)yjdyE@I@>FQ@bJo8TJU9>EH*pEyb)m; zVTfJ%UQQbJh{R!#`7LN}dc#2)O4p)|{c~~-q-1yhN>IkoXnnkNEg4$bD-&My*oqqa z+p8dc`)6 zDRqWy(0L&l^7BGUZG6b~d>W|;ubLm$=YPqVeWXHSq6rT}&F|hV zzu=O|a~fXiI9@u_2qYO9CH=+;LO8c^6nZ!CJKd0wFCbr~@*sAOmp zp@K3-Ym8if1?61TCGDh^J8&c<7@@*fu-FiE+tD0SCf~L zMHc78k?KI{nZ@DGS>U0AHi*t34NKg7u2J2BXFo&Q30uLqUi3%$M>~A*11X;a>uUFx z<~znNFOG|QELX({1@+`b8+@vVU%X7UC*NC=J_j?cd0lbkTDyXmj@tIxiG@-jA+_NB z`$5T2ghEfZbzI;^`;)aF&0i-rFdD_NEEn}BF@BhnLv*&C`Q(kpkF!F)))|pReFGeZ zeTa~2q3b?Q!Tp56{X5LP<7DDh9D8%j742(1^Gyu(rZ%a380w{4T%y>T%8hE8dv}zN zUNEh|j8Yts!lp(K?8?kz>Yg&O&i(Ski@*NTWZ>f?+0MzG?DwQNH(ysUFXS8u=~kmn zSy21kwD3G)QGxj&j;XDVxi8&PAW^dCi~T}We3Z=up_2RsXd_(8szGn12f}-TFP7nJ?h_D9%8WJoC&6pQ!LKqc4_{ zNk>p9uwV0-?`$_GM&vLN|DpuW>o28Cc(bsj(b_nBeQRecO}1yZ<+Y?(ROBb?-3ng;rLDKK{Q@X ze{6U_Wjz2)!4MwTUK%*1e>o}5D7Hn*yQ3|`V=jIpQJIBVzFgs#D?=tZuyXrAZ4&d^ z5esZuZNc6~5nmcnw8YCk!`B!#d-H-b1u@~8($&?LPIBstYPVg--PC%|@6>4tCA#v) zcC0?^T|_kvdhDF+O;fWOS#gu!nuZjn&6+qgBLRJ{VHfjGnoGH)Uz^jsY`f_=hg!d|Z+PLn)# z{2XRaQSAtfRQcU6!sdxaz7~E}l|NkIEF@ds(V70DPjB9~Eqf9%QgUfoer%fZaY>`ttYI%S=MwDzpK(wDr#!H*tG*f|(uYF`aQxAdST;XU4M*Uo z`U3QvwQ}{uWYlubf$8}p)6-9A`+0B{<=Nmoopctx^R~B_+f&E-My0v&Ax|Oa0<8Uu q7Q3&VN)`~{YPcr*Nt><+l!*2Iq^qDi*HS{hWbEIt8QtMMpZ+fmv3w^0 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/94_100.jpg b/examples/data/Fruit360/lemon/94_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af6b7e68725db877a72591a7948f80aa2d398a25 GIT binary patch literal 4961 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 a@Lb^D=BUf4FSb|m7sOcq8biT1v;PI@_MiX& literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/95_100.jpg b/examples/data/Fruit360/lemon/95_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a54b84b215716f28e1ed4a9f402a1a6c686467c4 GIT binary patch literal 4888 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 Ad;kCd literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/97_100.jpg b/examples/data/Fruit360/lemon/97_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc6f79aca56d94f1d1bc99315ec975449ab6bf1f GIT binary patch literal 4897 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 U*cHXPQQBGZejM$l0(>(0U#|3qP5=M^ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/98_100.jpg b/examples/data/Fruit360/lemon/98_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dfca98ed10d898dcea34f5312080c99da013aa0c GIT binary patch literal 4865 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/99_100.jpg b/examples/data/Fruit360/lemon/99_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c65ffaea7b953e53d72e1f51fe26f5ac8ae9fb2 GIT binary patch literal 4847 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 R6_8%tNTW$aV literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/9_100.jpg b/examples/data/Fruit360/lemon/9_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df945f3a2470c2260684048aa59f3dd1dfd9f7a8 GIT binary patch literal 4932 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_100_100.jpg b/examples/data/Fruit360/lemon/r_100_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5212b3be6c9bd475986eff871f9c55b6efb09a12 GIT binary patch literal 5332 zcmbW4c{mi_zsHBcSSnjYmPwQ?$&#`}WDAjGk0D#xHQ5=JEKS)aOBhr_*2yy2hDi*` zmUS@pZR}<&V;knD@ArA`{pbF1@BN(T^LfsB&gY!x{W_mN&N;MU+7y7pK=-aLfQ}9T zpgU;*8Ub(zKu`DA{zm%0#sK^q85tOW3`~qnO#e8Dg_#M&0%BrfW@Bby{c9(^Q*5lK z{to_b^6yf5Mj()p6~qMkC*}VXXg>g)%m8PAGm!2gfS!{M$Vo?Q0f0|*GX5j)MC`vt zM-OCRWCESYU^_`bbDYQr0#8IUo+v)a4nLU(FmN(*iO6X(ahp1VF8ZC7f0^`&SyZdM ziRVEtNlfAKvsWyvyyy7%&tJMME+HwUcwOnnO=Xok+B&*=`gaY?9-3QNT3OpTIlH*J zJ$dR5eeNF+7!({5`8p~(CiV>+@jf{vHSI%s#^>BGdHDrj3yUf$tI*%8YijF$Hn-qf z+kUnG?&}{I9KsKej84zY&do0n7nhdFn_JsEl-<4kgTGvK0N}q^C-Hye;ymG^|62pl zUoJZOz!L{@GBAqBF>z^{f*k$0FUr4UKC6}Vsl16rRN(=M=kc>%R$ej1=}Y9lX#bG? z@4#ODzsUXz?7z820jGd;C&dGD0yF?e)X(q*^($ePB0f_stNoYB$ZV%OL?t?)bXAZ42^6M4!?0Z6L~q z1dh|F#=Z)>Shh0|1M)4!n zL=SgZN3-xb19b61+Ty;&+unww2Zud2p5NM3;HH3vZBJrJ5Q`M((s~!2#@_pB{CSkCAA)ebh)ca z11MM=mZbeUg0dtz*Lt3P^5?bXp5;Dd!_}y+48vFK&Ym5ajc%Bt0Y(jH6Poj)+kR?r zT~{^KciFo4E>OJPbt7ftk834Lai>NLJ~wU5=sdnC&$A^K_mU7Lj;BgJo4DEIi%v1P z`8zQU796o@5dl?Maj`a*&y2E>L#)nVe;q)l#i=|HTm~#xD5e#{(j4k0*4)|H4~VyN zqP!!E9DGBS9iOE__Z-Q&dUlW>>f+HWb9b&6b5!2$tR3z+nx15cSHaJfQr@LXIM-`w z3Of7knddO z)5df6i}!Poe(X`{t}2G$=zD^6z$p}?cflHu_whYuSk(sil?U+_tY^v&I)EypAx(Qe(FEBVkJAS%{lI>M*y5 zxe&~nZH}ou(~wJhaB_a8uP42{=6blteokAw8tO$;hvZKK0+di3s(X}Xe+WhgJ#F@d zTc-p~m`q`HCI^po1xEAdZ9`S96w8+ zQNQh5R5`q{IM?-u$TsiUt!Lj*_n_&E{e->dlSHW)qYbAhK;UKcENQ+5E&%0(TY7c) zx}Fv+j*N>0D$gRfOGF}ZgU0SEUS;s3wCn~?%!YF?n*4A89fDj*p3O{efso?_(tvQ3rVbVw<}RCPGz{ zQtxhxf2Gg>E0)%I%f0}IbnPMzq#FY=p7C)|U#M-IjEZ- z8NbF*T|tSS&Uq_kaU{L;)`nf&WyvQoj3%9$EAbI2p0HnFK7lEXHLq!(bM1vP(K$*5 zLf=tPk!de6hYBLW+v5P()O`_!APcEn^%)rqtFXI1a!}yYvJd9iRN`( z-wL(B#Unc|Y8S9>GUGw{AsM(nf4`@q!KXKKUs;8opX|-6$fl^OwhQXIF-_z1*^QiX zY^W-6=gp;U3epfuD_d(=L$KjnN_qXFSDb7!mXvUtl6KpkB}+WoMHM~|^V~fM*g+Yo zs7I9rN&Qw`a(eGlvw8p2HPshp)t|g-i5D^D3sv6+#vd$=a@|FzYCjg}4-}LHCm2+J z33_GT-=`NnH`*hrm^u__)Qy=U`T{uu!V2aQmdzKBe0HzDWXkid_F=VCOstmZ$oUYzM-A-{ zGb=Rtn%w^gr2l;_=^WsK5NL16H-DC))XR+8yImHUeaV<&5xD(lR_(5U?J^8HE}9+@ zMDKgeQVa&}tHBC1`^n4Tz8J)RaCxt+1~ynx^ZMGb@R5HuPN|h!jXiB0WxUtwkv=%5 z^X&;Tt<&?Y#0oCl+uY*0T=L4D=Yx&p8A-k2`qDwH0;QUAWv^Ja)o0}GPhqu&0nwVq zn!en7+HEwz6{2bMoyFU2M4d1@8i1kwsER5>GNZVwgYYta*6&+xK&92baFmn-H16m` ze6m)*?zEY~7rleLc)Xo3Q?eyp{HojUtcZ}P@};G44TZ$Lv_O~GRflxbEEWdI(c7*1 z>KOP|saBw_Tx(~&K%oY)AyjWob6P))h0F~hHD-B>R8-bKuiENgkXxUMUOKRRvmE+* z6O)jLiQW;zlPBRptcl%H`Sqxj$$fC&7&tb{vk^JeCBFN`s((ZDzS@v#dM#jRD5a2Z zcZ@}Bq6GBYQ^ zlYJ=ga?(Q9)l8@S$>sBg{~znc2maF6guJl=T(jCa?{zpNB# zE4|`^3RS8$G#npYON-CDBk{u=r?{|GoL5BkDl+-ra21+(+<$&Ddj0u6)qL8^!zB86 zcXeoM?CGX%W+tCm3ZF0$ejsf*NR^xJx;PXX`fDDWI<{ZTy&s!Z-mP~5&vY==$Q%-bx!Y7L4?!(ON&OlyL?>oJpQmnp_ajR3y!||)~o3+7c z?NEV*DZyuVXBu;rr;QXhrGi#vF0r*21V3LKTtn&Y=1BewGkG)f==tJf(GIWhfqk!$ z#)KjhSd7lB2FFNQ{({(8=MAvVc3WA9g?cGUIcmM-g6C}p_zyaqt9Z=L+e~yVMt4kK z{^hkFz#N0$?bj}mhxS3OOw>efta_E@5{Sx`Hq8Jz6Y+TRG{OBKyacg~y8H!I{;1+N$0?-$ zeuyb#od2@59@~4z#V!v%9Sz%vCXIJ{k?O?|wU&WAZ%buc4 zny$UTuj3wQod!b5bQ5|sn@Wufvz+;Q+|84vJMSdG^9Z=qQwl4A^V8 zc6q1lMlam#jAe)XK*Q{*dKDPMPlA8yrn@c7r5;9!7Zl=PrZd%NidI(c$L*&!Vh0oc zgei3sK7Q*9X(G(`Q{&}tAeey)iFX7OjNJ#nmoP*qaF`Uh_h9OE0^qK#E#vPOgOB}% z;?eo7helJ8&63xtFOe=Nc3b^L*nUjunkclWPsYn<)fGFqCibLPKU(Kle3iZ0rhPz7 zdgioUV{d_&srECoE@icd9kQu7+@Uh!^2C}Sk`xRkUbi$QC;uWabbgFy_9RYVGUQ5G z%B->!_h-c=)(>fbq@>b4_sdTHGcr1^2xX?>seRp$%}_XbBR(TE!r5e+2B05hOr2No z{f0|rmbZP{1Ik7d!t}_$7kLq5=#}6Sjezuar%}xJ?$ZW-eluQ%rjF9ccXK?#kqzM# zE%Jc4;KPD1kUDfFEGxdK#wG}<_{pMM#)criD-535czvwAS4d`>G#b2aIP~X=wGFek z$nZKSU_ai2pmyVGCTY1>-&H5+ ze&&85I-Su-ROl?PZE-X}r`$wEOLf?7ua6L2_=O=!x`ylmP}S-HLWD+>KwS^+at4c6 zNu#6amWU^Jo54EP5%MB~xc2l=Hz;sAnWN`Ya^0)05`)OMp${FLq03rCV54-)Io(Dw zd+Y@gF?wyT4uh$&`WSU)A!+zU5eRj`4^m45knVzqr6wtN_GD=Q7QMHtax*jlw^Ywp zAJ0sy?{SHXK$7pFZ|8#dU-0E>`ZF@t>$1H4FwcYfQ3Fty0E**(wek+Gp z^2}vw0l?EArpM2d>)c@0>5nT)9-uUrtGDbDnta}z8|}hujxF_`-Sp9^SNL`9x4wlv zHcU=bcyM8KGGYBn)?9h5?0G<+AQB}exVr|a!B*X%avxHjALW+L2wx%*mMl#ly@^|o zso)oU=d1Z3W~EwvXTSZ>Jfi7>x;m93J3MqcJ}q!Ij;|)mp-*ukb%_AwW@}0J^dhA3 zfo|PI{Zg1@BkepYxCa%VFFM8~jMYF}I(hV4vwWTz*7wo?gh`@TPjVFv08gv!&JCPL z1PNIkMjWhsqyb*s19PZ16K+UTq7E^vL-yhVD_kR-b zq%zU_kx8to|*a`w)=0vztW8_FHoW{An33VrT+a74e%KO5PnU6WwGmooo z#aIn_hdIt@QWg!EyDe@w)KEh$G~R`I51F-ni9K6{^szVv!t$e(A#dM5O)YUj7V{`~ zew0&3zVb*PfXN61oU^>jt1Q53mGI%fwX%scB<0U_AM?1%fcSOmii~3I7lgfAp?Yop zPuPf`ui&P()B7BIspRt$pJw77fZ2lrMEwJUCE_RgCQkRM3cql0Q~p8qu%);ky`=#> zatPurN~t+a$Gq-=HZHi)CTLk{J)3~;+>CYkca0YOY5|oSdd!R`^-%QSJu?v8*U~VZ zS%+x-j*lMU${&dC@$t**cH`_~r)I&QNi;z8@R+~V04_9fYqD2%fO>M)YWLdZ;quYK z_I+iAV%sKN+thB=V;26C2TxMMR7zgj8u-vCC}eaN7s&Z$`!wqkuTGz7w1qWDnm9Fg zCcxQODCmgmGyG^5__En$*lK!FT339F*C*2nig{ihRA~R;5V49$G}Yl53Vx|`_CB4S zeU<5L!E-pD5g$t6-ZT$JgBQmB#AaqRhIfYYD=d>-FW`pluYZEf?(-JDkn2s_zqR=JTXA%=#jzOoj{fSW53{5~sp~ER0q+gh8?eCF zBsZ!+;0eVzDJH%I1NC>B^@6V6ptsr%4{b^6aS{RY1+}p1Q^p}WVOLJRQeLp1V1^wW zS@tJ(#Oi1Ozy*qE5?&JP?E)OI1BIol<3yIHlXE;8?B>*Q5q>cOsiSB8> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_101_100.jpg b/examples/data/Fruit360/lemon/r_101_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8c2a32ae64910063acad4e041e8cd216f4729fd GIT binary patch literal 5271 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%0A$V zkhI^=;lrlZGUg?e1tkcU?-m6smr}-C zj(&&3Bm74BbWd(|Lp^hI;#&Z+opaKXh?pfNGZDN+yUhNt} zJUL=`(_tPzel1`+9BU@qa@G;ys{_M;$tN`7eqJ&yr1aOeb~;Evk;q+C(}PA!sP_2O zyw@aN(J68P&5&oh$+*>`{8hP=a)g8+GY5Y6b_9Iq4K zb4}^uEZxpaZEfxpo~nuSQ5=#JPMh@hQ7%_?bog%gJ&c*?6^(m(kq+c{$9}07F$r;j zDBTO_LgUoI@xzg4pL}2A^s-G&pWUQvt3d$yB;t#smfp0>-g33ei48Y@99Hl@Fy1DS??gB7m_Nfc^Eu~NLQzG1OM~0=? z8^Zkn4*%TE{(XX|_KAm1jKNMwx&_#(nj^Ej_EL zozz0=ZDKlDA_9GL{E6ZgC+8GBNEM zHEuo~=c+?7Y`WQdar3v#q`o!v83l&RIUU$rb)^$=L5{+k{Lyl$3)7>I936zhtVD`! zUKkQYl2(c?gud|5cQd*VRPc5!j~|~%uqfPW*UB0eiVyRYw_Ew5?oziBYc{c=3q_bE zp6j*sAC$glb-0!7m~Y=8G+Kxk!DLBRdc{&~7dp=Ol%@b!Sa~KZz;EcrzaG~UN{-H< zuy+t@50gkfqq=I3v2vTAVI>L%scei9NAmf{J{OcTmjF^2PWt>#A-Xj>R77b(`!;E3 z)iN_6Q~X=uJy_t^%ps{M{2Ych7C&y&pk| z>3o(B81l<9<4Jg#73$$i;tw&Y_5r4_xMksLxG?t(9VPb^Zylu@0G+YI8!vz}SC9Ha9oxbx{`$cM<;mXL{zhz3Io&lC556urg&V^+ zN6h@WK6Vn^K5e{B|Ct}$GJ3(yc%-`3vLc1&!P<8##6piM=Uu>bjq}sdxchVdz8=uU z+%j$E&0YHmO|e${IATo|YQv?knI+|AhT zly5cPxAmayhK>ex@b^M3N(8q)msqb0s=e?5qU#cnxMhrt%UY*r^W)d7ERRV3T>1V5 U@-bDh5>s{a6)fPdqb?`@1Cts~xc~qF literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_102_100.jpg b/examples/data/Fruit360/lemon/r_102_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c09d52c6a7008ca45ff77e1a79bc5ef66447c920 GIT binary patch literal 5254 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 F{{noDHZlMJ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_103_100.jpg b/examples/data/Fruit360/lemon/r_103_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ea17f253bb095277013118ab0bd30be91bb88c4 GIT binary patch literal 5279 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 DB)&t+ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_108_100.jpg b/examples/data/Fruit360/lemon/r_108_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a67897e1f1fafd2ef49b51e00831c36643566c41 GIT binary patch literal 5309 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 J0KzY({|nR*U`hZ0 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_109_100.jpg b/examples/data/Fruit360/lemon/r_109_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74145b00c595019426a04eccb3e97c0899af34bf GIT binary patch literal 5349 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_110_100.jpg b/examples/data/Fruit360/lemon/r_110_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1deb36cd072f3fc0110ab4e50b20185f4298f75 GIT binary patch literal 5345 zcmbW3cTf||xA#LYN|WA<^e!Srf|N%P5D^fB(1d{WE*&X}pn%i}2nZrk=^dmALXh5s zNDZA3q(oXm4JB~#`OUoVKlhJ&@7dWiyR&C^zn|Hi-E%Q@fdMc-)X~!ckdXlZWS0eS zF$>TFkdytjzn=WBQBwT%RFsqyl+;wz)c;l*I$CNPIvQ$f+AFkl^ndNLb@dAU)xVv; zi~MIQITZy36+I0#&A%c4D|hh&z(Naf1UOQV2?EGj$S7FIF1i4~OPy5z%DWW%A0s2D zproRvxs-9`GN7LMQa%O6rD&>4#h1|$m*W6R7OHCka`&iNjqPa!ec5hDrhKLq(yVD` zHyObT%RlprqNC^Fn zyMI7nP;khL&{wacV`AUL#iypdOV7xBpOyV3FTbF$sJNu`Yi(V9L*uum=8n#;?w;Ph z{(;f4@rge@Q)4`Fw2|KRY5czp7giwr>VAFNCN-*T~Ba*_W%1Dd~F zWaPn@m4bzmN< z?t#vW&XcTn%;PF+ID9Y@bG<>b&dns@U2dFEIf3TQzAQa1)k9ry!oIftjkDfbxOi1I zR2kN;=~-8zlZFqPa1MMXGA@gyy3NaFMzd-H8rHQ<-$VDJW}fuGIP06NEhq9l%-;8V z73RnG$F4};Qek~{)SSJikR7(K=MZF*l-aAPCUuYIEPf?hByX&81?QLPj z#Io+tt{wG?(m~ZkKUZPoTW2KGwVLL##KUYxK(-f^BlX>yB86Ad}l zGNuizbDn(?uH%#qoR?7yB2T1HaSiLvh&z>HU36jFfNwK!iD7a3YB9;*)p>S8Q2ERzT1QaiAi zW#xTX_BKL?%~(5>hAfuA*&C|c38S+KX|!@!v99WSRSuulT{$sd)7>H?ys{=Dup5gk z?&goaSXw@dE$#V4notWOMM%wE0K5?iYh5avxn#A$$qaG}AkFXOyS}M9&wZ2C3y}{e ze4yi|AQxfef^VHmVsiai<8mfHRseF!N++c)HB?#E*zXQKT7qAFlBad5+2RB8S^*N( z9^4dcXwIPZ6j{8{pPm&0c?2%_SWM5N1cy{S9=)N2AC$l0>`it!=VmQrg9a!>TCjoc8bMVeq@=oeL|R)rbwyAgYX;)jjfBvY z&UHGU+5A=PuSh6sy`@pz)u^x}*eoEPr43K6f;y>V?t87bN1~pldRSndtq%mur#3=S zhG?jpXZq>>NC`MSq#{st&#cbl1?2;IUdPh3?5>F|fgEKMPVs-hCqb1lj|a)0&P$aZ ze}ChH<=(P5DF>s?WmVnk&4wq|+AaW<4V?=TdbPMErSz;$SciT^xB`KyD52$UslG>q zy2CO&#G0Oy;dGlplW@^U$u=sd)o5eH@r7ZAnZ9Mzz zHQ}H+{q2kJ>b`AV_N_L&ELl#Puy|SIPcXy;(p)jJkI-oif(h;Jun~iDJyKf2g-&Nw7R%r>5E*oyhSmC)`15ZX znW&#WaoIx)d4Zy3un6JWzBT{87h>ZlXevg8Lh-|{QZmwxRjJw_Tq5bMLf!&a#0opvZLbyN^Ib8Pg|&^)Kqxkbvu@(vGh96Jn=@2_3o}G z$pv|~{l#vhTNVQILc*^o{I)0^13@^*M?0KJUSff9S&z&eFG%3Z7lU)gpR@ct@8jhY zLqEdefcG26CWJfdws=Xh~A<)1wp7gCpc_R&6 zmyo2}6%^I?#~k7q$DyC^2o&5FUQT|MMx1by_Vf&J^I|pBZjJF#bo?ePO#m)Ypy9oW z2ldOUHexEqD~Wk|RyN%>6|Aeo{Pg2MaO-GWf+owSW2f@8$&;O;L8toD&0!70HjX2| ztO`})M6mi^V&vk+P(a3ZraEVafyuN;tZ;-6cN%c>^>VdNbBn)6-I?ElKRf- z0Q6P^r_!zvm1gIS)t1u5uI$E66u)IiZ6|uv$`;pHqI!n~_>r6TMpbKQPf;-6NDD0D zr$tZLo~;A{Ob8%pS6;t%C*aE2#&(Dpi#1c$ljkGdg-8QFVz%j@C6|ZpxI)B`0_-0I z6;uGX$f3>}0>i4Orph$b6m-4sV)Ro>LCDb03ls5L^KVeF{HiXixss?G2#r76$e5ERBK9hk6!AZtQ7oh zMtS&T6N3Is%Z8>m+xe@a{)-Bq73*MR7)tQ4=yl5$>*8tSx@O>pihdNJ&)9XApP4LmjWs!!GS=(kHOXr+r99DI}LbCdCvzKyFLB)4m z;6yHoAkaNCHrWE0{ocObLdx_Bmlk~-d&nE?{iYjc+A28)E$n7=xci^w;!FaE=Un6Ya8*vE@)dUq55+{npF>NHcjvqjWKCt*QOAFmN# zd-hardR2^tp#Y?agAr*^kVcwL0_Fk`&(r1R=3Zl?F;jtUfV;oRA7;Y?g!q!v_c)3? z4+U@iCO4(NG8Gx6p+XWRA)(jwmYHHYdwEQGD+69?kBTR0%{GFc&3()l2LQ2($BWCn zoXL9ff;W4fZ8Yv*FH+mU8*zlVnUzV7Sm{B|P_wEalv)F|!taA*`2N{d88LAEsh@6y z_gL?@?fV*o$7A7o`Tc4?GZy&wgyVX)8RvX+p@`9vZkUHF*0m1|2Zo^+@_pEA!0ApD zubML9E0BIgoLMLOd18>uR)BNPIQoo&e!1Q1_4jf`#0?3mk3Zdq8u>8wz6iD!jipwa zc67p0@sr`^#;{;rXJAMKhEoV{zgiv6biM)>2PPG&7;XbUYOE!s-Y`6ozlgl|Uz9*SF5Bv0Fkz_~b~xOrHJ>=8>l_{chZC-f8D^ zOeXeKQIoPYT;OrQdQ|sarWgc6g_TEH*1cT6w(pVh6DX%%G5%(M$S_ z>+8`zIoR00i08myfL@@qZ#5LYeQrhp04(JmFS%jC|cx+@hYe)snngB8r zeeMyQ({ILN4Mcfo^)j!ut2jM4PhVZl0&^;LswifnYBqm2O^S(hOV-ufnET@)z1aoZ z@aMl~<`fX(fmA(f48srjmC_>rNPVm!4DIP3>byUGeQo5`h^`4tl5~Sq+=fZWhQxcX z5HvPdmPN)K-wugP#+Da-;2RQNaGuJi3NHX)yyt)PwuV!kYMuWCvYyj=lw3YIyu_O@ zrj0vSq`nO6_xh4^K$OIO@G>sYfK;8^=&)7v>E@E-b{`^ANEDs60xMI^z6BtUwYDKx z`cEe25FD)b0#G}0r*ANeN3LhlYIu~}%hUD*@ZL;VN|{T2exv`uCah~FJSotBtCQt7;@+t_aX^Lwa}+7taxaiq_po2+Ys!{q`b$B*0a7<*Wa>Ztz=x#y%LmvC z)_$jj{gf$O!@%gNM}$M~OgUhqdHoGltj6vRV9j0phnR2;C7zLHGn{*=cfzrTtA1C5 zZy9p!`IO4-PE7W@MaYH^`txO4M|qk2M@0~UhkQgmj{=2T5MuKo;AFdYr7{?C?D#ss zjEj5Qf0&kiKakCQs}9%kj_pQy%Gq*U7rGmr?mpU*zddEF&F)O5&Gwkg0tq4pVjyv$ zd<#5;qiD~15AJd4N%Y$oFyJ?nZJn`}UeX=TfCF_mV&>(>)}-ijQIE6@b9Ls4eP3UH zzTK&HmDJhU%tsEtySl!RG6Z8A=B)cBH8JgF^O toj*jgQ)jH=8O!X>^u?ZHTciSrXYo_OeDH8AKQvYxX_+ zGMMaRiIJJ{o!*~we!qXde|*2+>prjR-1oV!*L|Lk`*mICb-m7io-Y9|>T2KD22fD} z092Fp4D0&&Yh6m0eg=TvA&0p}gWtEvl}*;cH`4JEo(v ztGlQ7$LQGj#N^b^>6zsf?CRP&?$^fV{=wnV@8c7~>7Tz`Q~=26f6@LW z`=5bD{-4PHAK3rrngK8YsVIvFWCK6}Bw}GauJtNW58u#^W`eDFa@tCHcf|I^`5ZLZ z6_z5R#gqo7uUk5fl^K2-7phu#DdKZ{Jf@FIC6m{##6Ye?z9>*f%w?Z$VXJp`mOVkL zGprb~F{5UUsL*r3=0z+)XCM21W1$&zoJ6Wtb=Y@0&{ys=%)sadL{_E4l^BI+ZpivF z`N&0$Hp6xhoBGZ7H0k>6RzoCDF&!}e@}~#+tk-H&N5%uI&;0xk!yuu3?XBD)_KY0a zD$>ceX9yD4Lf~Ek+C6DTutPa(9NsEq{Wu0d?|aH5ljKz-k5gXk5EKZ=Fw3#oXF8GI z$#CV*EwCu#{U#)PgLyIA99|4nwM%>b&bNBqy{}_Xynm~4qHDr`V+c~YaVh1`AV=(h z6qB*|@>1ngy6v7Tx}*Q=z4G2+a`#i006KF?c|M0tlmuvoI!uyI@i`iVvvj+GY zNoM1*vrcnsUvnawTPR<~yeayH0(;!kSZ{uJ?@q*0z*rpK1c@iir1)8g$2wquv##j33i;+rOG9F|GfuomO%Y_qd>pQaDlNiMO@R3As73AHQ8J@~={H%7-B z)3cdfBlEAJaoF6zDKvTR9Kho^d^4KhS6T{5hD;fH*ga2v9`TxfD;Y6th6xpE;WFG# z`SJtjLUXw5b~@X&t5lsa@){PEDVg0ovoReCC#IaiVpL@eKA}1f~;_JP%qUV#;zD_WNEOl=0-7m*O>r1tulw}PQ{t2=6hjiW8|P>JEncX`V}1u70ZW)Is6 z+QQxRY-Tl7v?JB_aa1pXJUriRw@g*7y`MNqUkhmdnC^~&IQMJQ@RPPv_2K-jY44Ta z%%{3NKZABo{~F!#n+i0k812w9-y(%&bmu>tbehNzGcb865nVf4Q)g-NR>>V;_QGSm zVIT7F>clD&;7$EhcfZmvH))a(`fI97t1;6(y})z8pN$a%HvQU7@o`rRTO>|E`0yx; zc1|&g>BDSMs$8V{+jX?wIbbP6ux|VufD&v+1~aeh+#OgEWQM=KfAvXI5aNUzm)aHs z`pH0C*dHi%<)e$c80b*x651|!xtNq2_AC$Bsn}FgKkE69R%z2fhDm*L`0nj3)YGXW zSY-1fGqFL3*f(fD^AEkgXr0ZxRy_ig?Q3X$2&VQUH~Bc#=har});gL`u;Go-bzJ=B zytEy>SC~$7lfI`AjbdHJEJ0`XtXjfek%fb{)-!I&Ul5KL=MRp*&?eB{%+Z5fl>@`O z-|gAF+HXCr3N{ZOgS9X(fZsmNbrw}SGs_<;FRJBMX${zRBPe$18RI%ks)++owQ~Rs z3R)Q;5nq&M_=s$BD!d-yRLdcP&S-t)D3bEMO?02^H${~FlI~%#>CBK*Uz^L){Fw%? zZiqZOsxp|vI6S#LHqhwU<7c`qiyRu8sYAha3`eT-&jGMtsT&^8b-4L5T}0Fy1@l7H zUKHu(OXq3l#Jhg;tlK-N4a-Y%xXfEut}7EnnhCqN^}Bmi3Po5!qJvLt+!^c? zIy`Mk&_uJ0(V6bs*`wE$E**0n-p!7q0e0Olr%{U+8%`IO=K_l&pY6{!sTAx`tkZ4Q0bdtL@L6t!zyOF zA+i^lVl(1cqT@EK-j6%{bNN8YQ6p=-Y7R&QoXFe5;YS}I(Iu+Zf(;wI`U?VB(+w7v z`Hyh92pc-v0qyJKp_}^d`Dd=4NTkh{X}0sQz1QGJtBS!b{NXQ3BJ!vUHN|XH!>?bv z#%RLINIRz-5gFtK!&)sKN7vgtaFzXH$B7uc4N7`8*3z1(QI|cxGIQAB(3D6RwDcmz zfd{_by=SEQw0rR3VcLKl_Clw5Slh(L!OxRlBi>~m1^Lidk%2kpI3?`d37BBYp8HJH zz+kaD^Hk+mNOujUy=2Z3z2v9Py{~HYOFsw{w;;Ltrs&iVJMap~cr=Kt^6ZA9oKlu@ zfX6>^O|5PYm+L;UtwrYUy5lxx>yWXD%_g49jAuF4&GYeZw>%}^f zYW}aaey^W;EDTi&k8o>Nz3#^|$FuwOaY-G}x{SJIxO5oj)&kQMc9dolJlb)CulCRf zBl0?o;RF`3$U$V=2el6q(roIo-UT5b2A_Z`3JSQhX6M&#LuAF^AOh=B&aWcE_aJ*! z+2hXnDtLd*kENvaa8Ql>x&R|#3a@EJh_0{<9pGZOCHQC@zY?Wyr|yq^0{I!b?_RYDgW@`n;W%uR9DQRvYSU!d^e1E4mn=89I<=K?}rQvylUHyQv z?(5dqbAI?egvo@Teped^6pdHC{nCT%P*G*D_x2z}vaR(hq0p0^@DdxIT%k~iEeRk#lCMoJh(hBxy2c znHKSS=*m9Z_^6^HFmeu{WyhOz*RA4Nh4+A@A*M?V*<_%}~*5d!n!7gnp zi+7*?E)7U~kcwQZ$N%Yt7&0v>%z5XB+z3lIc6%%3=sXuu^rW{-R?XG2Gdij#0R%!^ z>At*0z=C5dqdRVCtH_;Ha2Td$`x6uRs%aKcG2NyIV1?A5TJ}1@9(z`vowlq2{&(>3 zRRP|Ymx5-U8hoAX%tZE>TUb>C%@CDtg)Zb#X^jhm_rYuVLe0(l(74#?-MB~vAe9&Y zdJ8cVoRsJ?j{6c*zj1=hn-DYV8cSD3Gg?&PhS0pNmxHbLSCa!2wVNhlVrs55Dtd`9 zcUPRg$PhXQ=$?d4p97XdWAQre^`;qDC;d=VJxSgmph$kyLgll-k{uLKKXp^vQDluO z(tB87g0oe8qLR2+XCYj#@Im(QXmx7Vsrf;U(@*YY`yvL{`41cY3z^O-Y4}#NbmKgW z8>o^Ze^33LYR&SARxu0rGf8XNxEw0)UZIn2LpN4iLah7@GQvBlsqyH~q})dRm%AR2 z+mLj`fx`2&UiEYgp}V8LNh9cS)vOof$xlI?jR2!KX0oD)_IU{Bnyw7WB+-*6_%^H4 z^}C-AWO|aIzPKv4LQ+haBb1jsO=QG7#=dr!lF}6hc<<}6%Zh3%ur%!7<;hj zq!A|jQv)6HQl5xA=7 zSl9CQokLw0b@br9-X(#cspUDNWqno6bPG29)*jMHOtVg#=?hnr=OL694IgUFsye0W zQHt4SlN?qyoCtc8S^8ybt* zuZH>Js!L3AR(3jg{gbzYlVuC9bfe`7>vEB`QZ+$}%nM~(-27vV@g;#q24rVfB$m-_ z{>}rPgm$Xc+NE7$ka4%gsCyC8(_<;y)bkCGh7j3rRq-4E-gzu*1*dPu7V+Zh1Yeat zh>kUQE0c`dV*#~1f4H1$di8@*6uEimP8IaR9saRwTe+EFt$jL`d)&R=)KoldakJ2T z$;eUP#fwD4ecJlO<(5qUhKBZ;(Vq^%V~Pyne!UQ?-DeH$g3)1Mvgz08X-)P zwi&;(N~s7`kx$cshwtO>L1z5)NOtur(*vj&R*(&!<;P>#uI`H7+C4l=v?W0Hi0mhN zq?Bex=Y6h~x?IKlo2~UM$-TS<+a2zCS-|zQw6vcWZwY0e*~d$s=yJL~*^uy^NQGv5 zf1T5Q@-jW}pt<-QP@Vip3taw#^N|(+46_=(3FC0Bbs-ClR_f_GEaF3%4`8P5J@d*ozkG!a$!JP1E(BDIiCZ!a= z1@q!z+nr~6gxcjY485qe!U*;OB1|mfF1ON^a2wdz=fe1Xg!?7-0B3O{{XZgG0d6<@ zi;@zrT3A(=OoNCQV~?c?DwK_dl~h7>z+;Z%bIfyehnv-y=TlvI!y6Eia@3FCxRVw& z#;0}~+MxvDMIuMi5; zETuQksWDH_eOcnrtwHV_Ah*!U84M)I;Q!GU5Flvc$L`@tZ+%vn6^4bF0&{=wS^IIC XmDC&#G^*57eit=^SYbHyeEPotI~SHU literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_112_100.jpg b/examples/data/Fruit360/lemon/r_112_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65e5f0f966bac702226c72f45f109ff0487725fa GIT binary patch literal 5391 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_113_100.jpg b/examples/data/Fruit360/lemon/r_113_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a659a8f5103cfab0e335a439467ce12a4a9df1f GIT binary patch literal 5400 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_114_100.jpg b/examples/data/Fruit360/lemon/r_114_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a390fa8348d9a9083b65c78fd34da185f43883a1 GIT binary patch literal 5358 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 YM+J?bc4W05mzf?ti*&(r*zv@F0h=G2`2YX_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_116_100.jpg b/examples/data/Fruit360/lemon/r_116_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad747e270b9c04a67e1ef34b68d61e6361009f40 GIT binary patch literal 5366 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 HLHYe(U4L1o literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_117_100.jpg b/examples/data/Fruit360/lemon/r_117_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7bdf1c4213a7c0c923701edc09b89e1b26ee6c82 GIT binary patch literal 5386 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_118_100.jpg b/examples/data/Fruit360/lemon/r_118_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96c0f6dbd0f749120e2bfcb74126ac65ca791987 GIT binary patch literal 5374 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 UFFyB%^*tQ9E%brE9zmV_FRr+eu>b%7 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_119_100.jpg b/examples/data/Fruit360/lemon/r_119_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c97427a694668708b66a1b17bf5e0e50d77ff792 GIT binary patch literal 5392 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 I0U^)+7tm63LI3~& literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_122_100.jpg b/examples/data/Fruit360/lemon/r_122_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5ca614e28218dc039baf70220e1e71524d10bbc GIT binary patch literal 5332 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_123_100.jpg b/examples/data/Fruit360/lemon/r_123_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c0ed68621afb170225d3628ddad9dfb3737afde GIT binary patch literal 5331 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_124_100.jpg b/examples/data/Fruit360/lemon/r_124_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..597c04046e9acd8fc4e8445d1ffbddfc38e7aa16 GIT binary patch literal 5243 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_126_100.jpg b/examples/data/Fruit360/lemon/r_126_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe8ad510f2e55ce03e6b596c190ff3385db2872c GIT binary patch literal 5277 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 HNBjL>c}Fvi literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_128_100.jpg b/examples/data/Fruit360/lemon/r_128_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..369a9841ada90fb992fcf4f97693ac3303e871ae GIT binary patch literal 5254 zcmbW4XH?V6xA%V#AQX=fq)P7sO7B%gL_pvG2O>lhibxZYjtE3hP!NcKG^HqrNDb9c zf|1??q(*9hP^5>N(89&@U+a0^+!y!WJ!|hZvu4k%?`KU}GpD~!X8<;no5nW*8X5qg zIV-^F1YiKr()_VMk@k<#f&N5#Iyw*?13d%7zYb<%WB@aP85kH@7@3&=*jeoy3-h@@ zjX#t8XDBT_2t>~eW&r=2^1lkF-vJ0Ca38o2q7emXAv7Qe&1owjbf%O3UwLO@|6??? zAUb*m@RlIC$ zRs$q)WhdWACT1>f9^Q)*l2VtXWmHtv)HO7<3~m_SG`eMMV*QVeE%c6^z4LvS2d-}J z9)A7-fkDAfLY}{fihlVjCN?SgZAxlddd9olyifU`3%(Q-f3VKtf6E0qu86|*O(cGmHsS=OfYefzRX?;3jInpW`nZj*T~O=j>lyv{C~=cMQqc%R?%xU?ub?*UH1}MuiZ3H#wxVy;LXd;`8dH&bF+nN@Kk}itDRzm4!@M_2)eY z9{80BtQc7r(Kr3@#55{Yy>+pAR94|pmU^{qQaENT6#Y9)V$Pc)jeG5_a`1uF(b5Bx z#!wd*pXN#NZbbPU;&Ui@`$s3a*lPuR8UaU7FKakU#D9ssst`QMYT>aRP*a4z8Q9`et=%{Hp>FQ76TAKh;MR6~sm)1R}&5#dr# zUDH8rG&gmQJHC{xzLNWg|so1-&hN~IFr@;3z97n%NC|@%rp7i!8R65*N zua?Am%o(d8H&;o?C+(Kjw}-B-%RJsz4s7+Rxq1pjKnL|1a2~9Y1c6d63!30=Cb@lv z_hz+vcemKhISOY{Ld|C37AtHf--}u>3q9%|_RB($9IJY~Bi2yTe!fq^y{mqlBX8IF z3is%5iQ=HMD8Z_CoMIMA3+VG@lT`@S4ct4Ut|dXpJf&090hXtiz&XK=^ zr8~&0vM@H>Px^fdfa_gn4#=#Fp_&Q7cOPCRn|XX{C^%6azLXnFw&1wwVsp6_U@+D# zCZZ;)_H&2j0wgJ}Gg)wnp;-s{&+#$JwVE=zFD<^PuAc%mo9#9fC~4aCiXMWJzVe}s zxsWeOSZRZ1MN9se8K=EBQMY&EvMHH~OCJNIEPuH!Bcdr|9eWxuvEa-6rSPIDZ=O@& z{jU>fi#cbsYuq7KM!f)>8-_TheUr3!IIrC~!SGo2(_qP%el?#K0K6lw;}Z8k0l3>l|pw zX*43ce;)I#V}r70CgVSBRk`fF%=z(Wnbnkp*@F?=>p_3br*xou+AM2Hts&VTgkh0` zBEOvB#xqGRpN%+&J06J+zUvEvLb{`GB=Hr9`GtOD-ao?5`?ooGd^O{wc*z*cIX;+v zpa`j`Cu+1n`o%;W`QflVdq|p?r@3eM=6uaGd8Op&ip~!`$&!@@lYW>skFxs}7T!l9 zJ5F|S4v)qUR{Qg>>80_fqAs&@$^_O!k_s@Y7=ENjwpr?&u`hppMNih4-idzu$9ID~ z8RO#K=^J_u^Y}#j_xYw7MpMV$K~$Ir%3dQn3tiamkqR06xMMB#NI`3{)|+b?a<@|= z<_>6Ly759QJEoU!=GnF7;l;YYJQz*7Y-p7vW$y2WH%-~Ra&VI#|FwinaS!mkA0~r;guPohp3iz{@hWmP? zx`;bdV*l_BC`g`Pp0O$C<>AbguFWeDf;ppW+n`=Oks^n0$M(0llAG zv#}o=rVhhQ82QIn{Ces;2FK$T$B#PqEZFP_cE)V7=lVsH2H2b(fbTkC8+D5Xqcwl2 zibg+G7QYyg7+ULikPB?3u9dFerDplLoD^Rm7>F8r%ChPK4Kd)Hw~74^lPAW@dN}9W z1Aaf6HdRX;ogll+zY?K04djpb`EJ*3xXtFpl2z~TYWq)^l(KhKfoASuL#DUk7c-?e zD+yf$7o_3Su>M8?YwL^vCa*^ecYfWr%a3z>8xiL-5gYcaF}q1FSo06lK}tbn#U|RVEmNuG7DGCdpL#5cxZ2PH~E>*vySoFFuSj5aWnVHy0X}j zvKtD;<{!NNE~(ovs(FHW?L8=U-N-O4w1YSfjD z87<>c){J`zf2l#H+6=E=%$8EV9UkPs%}|>oI4u!b^_AiG`^Wv(eR?T}YNqC%7w9nc z+7*zvLY4lBO^Q@OYuz^)Y6q2hOO;x+zq&g_|21Dz=iv7f>s@*`bgceN3J!yBK|CW= z5{`wlr4m%@1jQO^`SLruyVwM9V=7QG)gnGxO8TR%)kw2?!|1*-^%7O0-#7E-1+CVB z7Xo>j5-x-5=pT!E3hvNp+O5xdxgLS5{G((Pf1*klqYf#=5B?-zuE5Kt^mAAvlfxvj zCXDYCpl2poyXo`p1tvL*G-kr3ZH{tpXA0$qw#|X^B}#_+#eMjK$5Q>e#AySGtBAI2 zvH4=AcAI4r`BbyK55h3k^Auq0%a)%@ae4JTU8gxr z0jv`y`+5u4j!ZCj8uj0#mx!wNscMs5WkzX$m^rw+H-ywb@Iy1FJ;y&66!zvDNUV8@ ztwqkk|Nd&kv&Pu3T1rHZmyu`r2Pmj!J^G>0Yl4XnydLec^jfSnU*OJ5C+G)xoA2o; zHuHp}d8Yf)~`nL$Bg( z$43{HoU@xBToYaTHcO6JO@4PMYfQna{_wCC&g#;V93^;lKB@L9Ws?2e_@^iUqj zgDlGR0DLGrCky%5AiBu$Tq*^Gh2cvaMc{yrtwH^iG@6wgZm8AdM-`E z#5c0r2%>)UhK|_W`(D~ZuAR9Q;@?I$ZAIRmFzQEzyA!!tM%&tX6L|Gp@+zqqT@;H( zq{3&C4WgxJ7dhWA_1<7$_iHNbh4SXTD)v_P0*rvJXD2p{#A;0W=;=2zp=;kM(M!lY zEZM#_)Xs}h%4#8JXD&8+!?8-guv@Lh596F0eaAUVi%iI|Ianb@nK9u*CtQ~AF;T6n z$lSk3qsKxQn{m__$^cgVNFCsm^$J6x@rCN&q-_+Wj7rCqd;VjHpQ@{J0f`UKxpvNq}0ZC%DoZQ{A9@8wfU67$vL{V?jy?O1z2@?(o|Oj=&qpy& zqWtbSkQ7>bFWv0$m*DkR(QzhbEJa(YcE*k?Vw^BnB7V#M2*3$^$1SrRC&s<`aIWGM zU~bydN5SU;qBm@}i98T)A;mr7JED#Okx6b?wFD`g?9e$QWOAY|G8;4E0YM!gTQW5! zUCwc;&G&jC+n_;ExDVsG_-bIP(Q`=Osef#!U8sh&qmgA6{j$X6jmNuKgMi0{IhC+D z-h!?fuiNDtJ{_tHIjmUO(qJMKGq`)iE9WiufNgxDz0O@A0kBLk7H4h81tVwPoB|~C zqs=kUY&DLJdg;!GEliA8o;sV>Ux!|`mS1VFc4V}}fU|d_h9oX*_B>ZSQ(>2^y!`iL z7)qndvD~-7>}Y#H9*&dm>lj6z{c>_cHAv=ZGZyFV485K6?Toy<&t2mD=TZmY-_>>O zRvIh2mxWqVn+S45sE1Dql`o*yX+C%eULx5g2(jq^rl2yeEuiW4DZs+XBTyBWh`2Ri z2mNSz!FZ?$&0VjhkdD0xhFsj0a5r)$E$yQy2E@%5fyf72;OH`yA^!fxGLdoM9u{=$ zdNPSmcb^uns;>&Ft+xS-s==8AYc)LWzTW+WWNez>0;TsKO^e&lJ)&je9 zlR&I#QUc0w<2j+&khiv0@E*_0?nzuha30ibKiZlCo!>jw?G=HIjpPo&Z=V#iwmwmP zsN-?7+CI$M=oro6d99u{M=uIYAFQijUG!E~Yg6 zgQ*xSU8t+i7!Zw|@;$ELXGM6292V?9It3!nQ3*({hij@+p0llj>_hVW9~$xKB)(T1 zkL_W$j+f^BnUypJ;=@bAo6h#{&CRineU+3@mty;Z*E +QaBV=ElZ6PMQ}G$TKAt z28X-sPtc>4=4>g9WdYr&9*wkC9l@fvbqfPh0Xt#(T)}C_kh5FeG=S9CH?f~|lB=W1 zaj`)oxkZa_f!Zs`Xgoj3z~?Rktw6Q1WqnLv|OftD%9h)lrP}EG7 zz?Wj3KefT3ja6i0!^+E{aVFM(vf`73$<8XkRY zeWV)Rn|+ZKombdgfq=UQ_AZ*l`sT^?#tGeqRt*?3NtEYH8&8|h8gf{(SsHQxXHIiE F_Fwqa7Zd;h literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/r_129_100.jpg b/examples/data/Fruit360/lemon/r_129_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1653423027ad22dc696bc142e7895fe0c068d43a GIT binary patch literal 5226 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

    d_j==G*_B^c(h7^lt zu-cEPC9HVw_MKRSDpwZ$1%Ea4Yg9YSc?3r0D>0!dkfIN#oziNH4U=TgiyUQS?~V;e ae}j%@t%wkvA)2hu=UI(40e>7$`t=`J{pO(n literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_291_100.jpg b/examples/data/Fruit360/apple/r_291_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b16baef4eb056fc2bea11271d993fe0abad1cfa3 GIT binary patch literal 5201 zcmbW4cTm&KxBov7AXEYA2m}R01eK1|h)NfDs6nbyrAY6@gd!kOh;#t~5v4eHhQd)Wth@KhD0RA`Se-)_h04F2h3b=x3E&#NgG$2kIDjtBG>ZJcy-l^FC7!56m zj-CO0Dud-Tp@HL6J_vLwn*LPrY4)Sjd4P_S{_J@tf-`{a$QyJ)@>bKJ$(a13rj0&n9W^V7gslTj|ZM! zLBS!RVc`*xagXB@5}zcY($X_Bv$9|0kfgw!>?Fx- zTn^=K70V-7*HOlq0v=*dVM23uX}+?mKF7YMO>*V;tjiOnx_K|Zr>WrPcT^KD^TRdl zOC?>iVaL8lB6(!PlL;zNH?k2oZ%s-i--H{EwW^o?31qqbF(ZPICjRg|ivOtZJo61u zxu{1j`4{cu`6dzESkI&@XIL|Tko+c zwljTzBju=cnNERvrn0a|@j4?RW_ zoOwLcIUYj=2pDvC0FP~&7iz`fhzhhri>`-tu+lTjRpvCABm47Tx3*w$p?VE)ODYii z0g1bVQ1%}6Mw~ycp*TGtSW^M_bYtSznj?qGSH^GhyvW2kN z?{})Pc>(7owOnQ|PABn)vYi+ChDpN66nA$&$b5dUc5M|rPL5*k9`|t&mpfhz?}!dR zz*w;5z!IlCde`jFWjNm>yf^qGj+KUtI&FZc0Qk}g-l<{Zs}`8l5Ol3$TfqKZl1#&& zn0GDdoS3beaG<5`VRAD~pfMuJ#!K0@`ekH7&Lg&=)_y^$R~c&8_gSxttvlhLdr1d@)>HY=JLM5ME%SXsS6NaqvV>_3@UIuJaXkG0M0VeO{qLMEsu6?ixBUzzIrZoeyIT(o*vLoc;0zX5+-(c8>51Ew;Z+Q<*Qlj=qjWQvtzN39=gHJV8sA zH2hCv!0E(?|FEuxdK_x^@6CM$7g^{xdA4`CayC-u zz^JLZY2zY_^OauO#2~_qvnpV%)Sm2e@gp1WRHqriIYn4)7#xgqPj%6b!Aayna(JRT zPXy5aGmz&{H|2}kZwmzi zxV2B-1d0PO(XoEQ#&{(nRoQqD6OS;Uulwa_w3Mv2X8fU9Ft^7~RlRtU_cLXeK|PEj z&68+ZFY5#=H~AcPf)#r{p`l*l^bma~!Jq~{7;z_BY&lfZRBNK!i&w=uP^td2&n5p} z2Ihh#o-aSu29C>1K74e~JaY@JJqI-$9^YOpxaZ6GJocvi86nssNpr@X_a;JLqh5yA zmFhm*ytw_zU%)?LT4})1cI4`z{_y7+Sz)%Y$oRI_w0AD8oS)B-M6he9j)~xJUoT2D zriI^-Wx_;(le`EXxV4<%0H%6$6?8rsNxbX#6iGCKKHXWj9dPuf0?Z-5#zn3WpFbD4 zvg_|BbI4ICpAwqJdqX*`c?Md+9!muTKJlG=o?}%sO?G0?aPwGXXAMW2rX1=`RM}_b zN(ugH6+T5%?xFuv^(rBt*RR6AM4YI*!l(&2_h?0L+?C_J5u zpNf~Lz_fHvQ)Kl^j?)t7Ex#_;!=+3}89QX`kyOudp*!fiPWwr8Zzy;BXXq?>+bs+1|c%73u7+C2+4c($c))HC7^MOaok_UHS8iwm9mYZiTB=I~Xj6 zc0x29VsRJ_3Y3V&Wz~n&$=grok1CpF!FuQ&YAugotD#9j5f9aWnj1F$$q@@N$q~Z{ z2-Am5mEyO#NMU-pG-U>1+~ym0PovtM5o!-F^P>Y$%f+zCACZ$=W->S(i~Oo6!lo7Z zw(YI?65{t4sIbPFR0D%AFiasp~KU&1xI66U(-bW`B^{Rkc2J zkaz>0@l?zFA)SKAj1ZxGKis^yW^MJwu$YyC;>&t>MM0TDkBFoW6^!PMi_M#%{Za!F zmuZVS;)NgeDXsI0(Cj$YaVM8}n)f{vswj$!Hn`u-r>e4LnYY8R#3x$SrcGJ< zvzmPHi9#)utT5S=1^-D=U?1RXUQ!z_6l}* z7F6YolLmc@rKu^#hyLP5bBd|53%kW2cU( zfbZ!uW36*8WvZZ1^B7~802@h84{Pna$Ua?5;@-n<-pG8 z71jx_wX>fgd1$vawd}Zkt#upUbdTUEiJiLe>J3WyWL_lS;B_0;2LaQ7wr-e{Fju-# zn!>z8Sl*=e-byrQK7J(K(`pKr384ZF2{Bd~!tV>tfrMKQDc;*y(pA5W{RpDd!QhT= zePgzV$xiT^?Yj^8z*(i95&06e3PT4lx#7?H;`mveLmLCG{7E5Z5`2Vp9hL^IBJrsd zKO49-v6Xr93&A=?Jo$LV&FJ~hS^L*IC=;_hP25j)t05SkcT9KBUafcG$u3_!Br||F zY*#gW(?$1NOKg&sGx#6PsKSn{Y5QE~KF{-D0a1~HhNZxk!dK(@0zJ7$nXLwhChIL* z{bz$wMKj!C;8H43(K?5>Hc*-}lIijLu*5UvEgc{iA;xds!#0M#Ly)YRmZ`0=uT4)b zZV0_^S!BM}xuYccq_ctU(K#|Ng^^f_kJ#GJH^pcf`-u@=DfU& zh?=VG!k}HH4${%LIZuhL670e!k2XZ_=kQ|uES+q4R)6=_Ie)|1Mvczr?1SwtqJj=vd!dP5I5H7sTlc#vkIjP3I;bG&ilW9E zen6u6!S@ryEsqBOqvx>Z-Zi#32WV1=oQt}x>$KUrxk zksb|^cjb7Z{jhcUeLD|@Li)t==J6B@d#x`Uv7=K#W_n>;jJ*dsyRvx{tJIAn}aLEe%N1w@b zx@fs`9)xa5b!(Bd2v!c-fq&1#VQk-!D*-QuJDKHu1mP#8v*<&7n4nnQ$>pM>N zo7ik3XwNWHfwo^xQfh1phZHSOli-O-uj7*4B?Wy!c_xsCNDjrD`QW>F;C*{JF`k?&tDCQ~9D7J|dJ%H{Z)=qa>Nd$=|av5Zg?qt{=ws4pJpK6XERE#@8%jYMj+w zmSf_^#zl&!iY6#G46W8Z(lk8ya;tlT-*u%f-O^WS5xmX8m8Q%!wo?}T zW=b_nn$0lp!EXpB++mm(#lzC5LWJOn_=CUs>7u!v%xKNNfM-bU6`iE!{_j-7)st?!TVtDgw5>qo8s(s zw2fyeobFu2#$QD1e{QlP$r}xrpWP+DNym3(q_TgX0ZBRkdTvP=yYK0fN=k@$5p}o! zVPSpYyPl1{5=0NO_F6R3z52qf3*i{A85|>WuxZ8fz?u(~Mi$v$T-U)bb}wvuWr`Io{nVhzOH)q+<)Z622+=TUQwYa5>l3MB0O%1QBCyH>A|Ho9|_&bwFVEBaN= zs)ASMts;!?ys^G> zuIuoNXQX5T2IG-)pvTrwtgapj(1=frcIw)`3?DqIy5FCVR&JZ9S*6Q@#_N?#Ie2Az z`f>Y=>bJvNbC1U6krd96gK^S+NC;mi6_{M>Qu*cV!q=s^`s`Ng^EZF;f(}jZ{Kkxr zkR+QZf`zY1UW(pIv|Ilr97mjzkQBz8%8L9Ygvr-2FNg3MK z@=C{MZo#=u|F*%W_f`gOc#PGOp86$tP^gtXZ+tO09Un=?-+a9cxgbN_ll`F{a-9}i z=9BeZx-HOa|wka@B8Ygn6d5;z8m?eKK6nolb%43nU`Gx&8 zO4=pk(rXm(*S+o)=)kdLJ0$KR(iJ_;NA}uVj7LB5@!PLl2#cr)54ua1=*c~wB74i{ zp6<9KKW7&=?4mM9x#1{Gx!63|%kj)eZ~t)?b{>T!nr=_>-HpQ+vYqf4R5-G;3rm`% zca7;)TzzBvV1?}3r|4$A9C06XTg;)Vy+~5*2bBF}WR3r%pqi{4YQG?Ysa0 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_292_100.jpg b/examples/data/Fruit360/apple/r_292_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e45007fef2e19a3d4bdda23bf0323cba6777a683 GIT binary patch literal 5212 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 I)y3?80b6AV6951J literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_293_100.jpg b/examples/data/Fruit360/apple/r_293_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..90d708b4c525577d26d0b14c98c071bd4bf82227 GIT binary patch literal 5209 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%0AHUf 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 bs&s;HXCc*V-=-)AUrCXF%}7sP+Vp<`Th$%e literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_296_100.jpg b/examples/data/Fruit360/apple/r_296_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..043c481ccd01e223c2454a0383a7fcf1335fd53e GIT binary patch literal 5247 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_297_100.jpg b/examples/data/Fruit360/apple/r_297_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff1269a33dcc6e0a492317ad58d54e1447c0296c GIT binary patch literal 5251 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_299_100.jpg b/examples/data/Fruit360/apple/r_299_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5f16e2325a9c4b3a2fa041e7e8362cc6924aeaf GIT binary patch literal 5293 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_29_100.jpg b/examples/data/Fruit360/apple/r_29_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bd591ea9a33a06d0f515cb7f2b8afda1fd8f2a5 GIT binary patch literal 5471 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 BNA~~# literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_301_100.jpg b/examples/data/Fruit360/apple/r_301_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0244c9745677ff396008c1801e57ba204aca3cc GIT binary patch literal 5283 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 Vc{BavmcZaO=7t#XcT;>c@n1G0M)v>! literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_302_100.jpg b/examples/data/Fruit360/apple/r_302_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1a9c4e6586765a975d93d64d7fb62bf73b07abc GIT binary patch literal 5319 zcmbW4cTiK^xAzZ(4uXgv9W*pSKzflPAWamI-cgD)F#;kzL8ME0NGM7R0#Z~!Iw(aT z^eP|`0zwE)ii93oa^v%xdEbBTANSsMX06$0&N_R(pV?=vvp4A{X#u!+SI_R@OGQcCK#jk3BrS zyaS#Gz6c5q34IkE6B`$wkO)VlXJlr*d7E8WRQ$fAw5JF$Lt|6(m(DI!cTaC$ z|G@afTLB5rAUWp(ZM`p)j&{=wl9;rQe)7X<+N4;DH8w_L1bF3P`aK>L@A zf-;EgAXX~st1>i~v>wnt@?*Ou`;zXmcG|n@4tlVh8J^w6|2qSRkUUm+=P%m7WdAd; zsQ(k${{#E~Tr&U@h=RO$AXY#VI6nbc#}QmhfG02Bcu?M8cz-Gul?Gla-qY3Xy2+(1000iQ9Q|Su)21GECv$lEZVbbLwWv-QW zArjz|N>FuPREpnvk0$|}zW5h>3?kB8JE94ca}I7w13NmYl3ILLx~|T-?R8bX+pp&v zSh_2$an3#4mrXuwT-lYyBsd%^RxhP7i7|td^>5P(QTm5eatwB5RmU}Ek67e@2CvEG zO|SlTzM8x!4o4&l1O~0cw4bd;+d}!1yjLJI78`s8EnigZzt-%kBNs={*pG+|);l>U zB@Lk+&8-L=pZen(jy;>;AX~)U+6?Vz&9$lb*9Mu3rHqY3(L=t~Ofo6`GG2ULjuZAX!ccaDYP!#u}=>2pHDG}wNwKl-b-N};|j#~c-$t{gTTVC5$d zJ*s{?xeWQS^DQe9Juqz-`_{~tOSS1kbYW@V&(zNAG<{j3xbL*F6Tqhy!F!#mfkPix zW(YyuSuY;Q@X|cG{CbRS^a=XMd~MYk?-mK5mLUjyw3!LFKtE57pSh6y=|!nAx~{CK zDbV!Fkdo<#;Tug{b6`co!N+YJO%p=1eU@`~ms7@WLhD}#a-~NO?>$`$KJyvxTnSv< z8VZjM>9D=;HeYQtECIFBe2@I;Ok_4Vk7|E%-$fb}JaV#ug(XTozV7utxDtDzwZ}$W z+)>OzRz`HG7w}Lxp)XzMhJJMCFDiA?^@GShP4pCEPEprkrmI?%u=G!ykjN6BV_;cD zRz&QO0IGBn@G1`G2_c9^Y{hk?CLJOON7x&U)pb+WvU1*`m+!DY{+!;xrNaF1A9f8J z3(p`qfuc?v&Ni$UXS>QUHCVi?_eVW{_27c8ACdy9eg-}-C9-+W^R&?tW+qVlT<9$h zoblu*q+pbazWIP^J{Kn?3zfBpQ^GEV?qyTj3#Z!Q{`jm-EFR`S=*HQm+pbOdierxZ zQUgRZ49r6)@=|ZBs4Z|4z1n@ZXUw|=>VtY)eHP43ItW$860CE2|4g-!p8FVH19y9n`t{{l7`jJI;VwMj z2eQG%&qhuC>D^lEP)S&2X{1lKbj*Q$*_Q9qs$ZDcKsdFmeB5@1DN3MRFdKJfvcQ<9 zIBqm|OKa~_{=#u+^mo2lQ1k+p%pQ>Hy>;g65rQ@9f1Z;tsaFY#3UN~A-S6>pILk(7 zF?LfAszNwlrVjO4HuLAn5T;B61<$9h_iIbom(CNZ>(z)Pz~l{Ppz&sn;Sz{7n(~v} z$e&=G!r+D?$CSb1+^aUfuY9_pRweRY1*|9=T{u$#Z|-4leSlr&8{Ky)Vhx!>@-a~S z{)zQF9afbpBd_}ePxdP}P~4XA zzJ8aj$jIufsM7Wghmwz+r*P^~{AbR-gQ|iK7aot*<6rjlT0Q!c0(gBAK)3j;`}P+5}fa$|Hu>W>XljjnjVs=8lZU= zUnGi1%FQOcSYPl~&B0Jz6PvA}K#R_=NlX*f2}PDWO7RMkJ{GO{D~Bf@@WmA`BSUbt z@Z0`=7sC;sE)k`Gd)##Fj&HLb3i&6>8b`qLefE;Z9e%#Of1p`SU}0gBGB?hgN_37p zQ`v`YM&Pz+yPz^QYFeek@&;GD5+CtIHa+Ei)p*PA+o)QAvtfAPdE4eEHJLE=lz$M# ziG5e20>v&q;{jh7Z@(p<%ID3`lM*i3fmmi-F&rF8K(t*WP1JS5U4%vtc7BE`4gM?XU}~`0+;Fhi>8KxVJu1A=PtG1Vb0*sgpD1D;m)6CrTB%3ON?*L zpLbHK)rvZPbDiMY&fRk|3cxYGm1egbFid`z77zZN*pIHynXbHF-^TU&A$30|3D}rI zcS7QvuJ0g|vE!fiOTESw)3=>7E(W^hM>0Hr_Qz>IHFGpzMw!8BgvH=^Uw%KJ%t8G8 z6NjjXwA@rfeMX`LY#$E48z~NXQZ{P0ugQHT6?Q>ZU1Ms*R!S0gVMX^Tkd}J86b$~= zT%m~#dcE43GDQLm^g^sP<#B?r;MF8(JzL?jI&)H%>ig8flBHCs9g$?o!mqvjmI&xk zA5Q4evrvKG4vM9vU71Z!js{qI1uDYYyGa1Zo?z!u-TY4ibZzuxIsVoSERRp)y z3gi#jgCEV@eK|4y1;6)v)wNNktBW=Eunc=}v0;}rcj@HlL-vctGSBS#hUWKXJU@f91=T)qk#lH*V#v?w2aMEL5y}r{<%Zzw+pk4>mwe zt^5Z(g6ll!TXPWc8VuG+5_$_XZY@4fh+-zyHKVOZ6PH~*%YRDo@ zCbyY}Il`M+DY5>+pvq9F`06v$9xNwOTvB!aa3G%3|rzSt9pWgH}eKv9YmFPKza* ztNMMPdB@nk$KCEjX8N-Qy8+JTF%Auy)QjBfzC|DLnwyv%mc^dLa1(5@WJ!ZzHYL{P zY=8n>da9jBOoA=^BmqCGun6)VUivu+;0pI9h!(78<%{fO7L|Khe;G-;JZ|W|jQRG} zw&z92Klfiws1&yLbQiX>^A@82!ib-hnr&e}NTKfaKQzlSX(@U12bGT*r{#Md!@Ea?ZoF&~J?1{X zK9>9A|RPO+A%f z4zoL&LC=_C-cJ5wns~yi!0#mlmCM0FLgbFXhsFff0_YH|);S7FLGUq&9mjP3;%lgZ zOW5+^JkuxB-Eh&JPyfx7cb13bZ_2TT{MaMvY&3}&TtitqSsgNu!0hD&$ zQ;(MMhb?I!$t2Ws^%=!)Ol{u|C|f6%zj3{PG)h}>DanJ!$few}T(2;fFMAp}ShY1l z{zq(`ztePq@FE$*?eGX)j|iT@k`0bm!}VWpWBlRFAf`%--LJ9w3cEe6*wI=8)YIA0 zKPRE+LxG)JSV-4=vIgZOk@L(9|31IDV10^spO{mo&98FhYWl+Yloi837t^N?-=Zk0 zhDgB75%I!Xf)>ulew!USsG;#?EKonwwqQ)5ac^^AOIR?)`5;-0mUVLc03s;1 z>|8($H&EyGAvo`JUlSQt{=U9GO=>Jtx^t^%9`>}}P(dZr@};m8d%&wcssm!i;rx~> z8OZvaT!!TksTOy<|EcLXHd74aFgE$iu3spgQ@kb_m7;YVESPwl1RcuPq&!*jJW}j; zPYXDV=Tf{mViBdR_Pk1@lKC>StztbQk6*krK2=?1ekCNoxniLD&1XhemF|Gh%EsW2 zX(DpJ9V5_Pu#3(Pjqp?vdNWqJ6z?#|G`i;mb3;*;Z!-Eb$V~`t@>If`)6R?ksVfrw zA=|8ar9VUs4iYgC#$80@|Rb+HlvoQK|UIvIVZ=sk$`BUu8Bv;3p~`>xH2op z^+A3#EtPtZ4&(K~IsHD@0PhE>?GnTrXRG91WB}{nYP$*R&>>0|)B9?~EewlTK-dW7 zTf3R@A-gUYP+3eG>(2#3J{M#Y-?e+NMCJqMS#7kzJ`18%FTSw1OEU&Ayc{V_8XT1k|6%||y9*HY;fS7DWGg%xRKzH(?v zK2C>dE+9!jjebuKBsrfQ(F48S*3ghIR)^$W&kT*tJN-HIWEiNsy~#ep$oA^hr1jLH zKyBRSPRU(_7m}id>&co97(;OS&X6`11zt>)xTogIX?xX00$qM<;QrajdZJh*oH9|Y K;IFfgrvD3C>Nr>c literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_303_100.jpg b/examples/data/Fruit360/apple/r_303_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1055adb82617558be05cff8d001bd2bdd17d2e7 GIT binary patch literal 5325 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 O#PDzL{BQqEo&GPCR%S;4 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_304_100.jpg b/examples/data/Fruit360/apple/r_304_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..81f900c841d69a877524c4ca4fb4b785b05b0258 GIT binary patch literal 5332 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 S=K4=xo;BA8{B`8<%zpuaCR2L= literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_306_100.jpg b/examples/data/Fruit360/apple/r_306_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..95c8daf2211a461e573d1680176c0f08296b2c6c GIT binary patch literal 5312 zcmbW4cQjnz*Z(i06QV^AGDHp0qMMWtgCv9~QAd<0qXZ#?VU&*&H6i$n2oXKPL??QQ z8bogqWdxC6MxB^3^GrV9wSK>Uo~-|?p=4EyWX#}*Ewfj${b|{IB#rVWB}06 z000g30w{~XEr6EhkNt_Xe~b?FC(_f=f#?|M85sU`MrI}kMrK9^1}0V}W|lujy<=l# zVf*v&=Oh0aN=pv{(X%izF#enJzY3I2fRhPu1zbTimjGH$8W1N9r56yT>ZJcy9#!mr zjD{9ON6)}WmBC6)s6S7Y4+2p|(^C~wv%{(H0Xj~4E^(zB4BTc9887+sC`Y|0U;^K) z?&38c$4RI-2ShWoT;Ssu5R|+uB`qVXs&-9XLsRS4U-|}6LnGt+7M51l4{U5*T-_eI zdw6;UJ_!nbiU0>J?VlPj z{^6pbeM)r@Cmp@G5(C!_GscJh+?SN2n0Ri!D5&mY2CJCkc%1{rSuRMZu1eznp#4ks zKLd;YKau@Eu>a4s0I-2*sKojix|eSFwm<6)#`493jSdZnr(Y@s z;HLm^zeKJ0zWkK-EA2B!O9sI&l1tCecLz4`y9h)1R{*8S-1NHvp2Zq9u`c?N^m>m5 z(8-m#DV@2(sNC6ptVUu{5f-`xdvvYnvnSH5IrtN%hRC4+y*bC_ z{^f*1o2HhI7nwQma$5uMgV&#p#t1XhGiWrrYW!BSCgiE-DSKvqnWwU}!~SEutE!W_ z@Jd9`2FkiicyPGeBso%QOXqSUY-bsl))mtw%GBY_kwE4j_i;TC zpLn7u=xBTMz2V?rsn<2JdT*?!sI#6%65gTKQGp;?K4*)xnW;-lSP&_$3*IS(f4t*w z&vTD4$G5;T%jU7lM+5IX6Zq;~gPGew$*tb+JIe<|^fJ@JII@J`c_uWw5SGIa&94z> zg;|jD44s=8=e)E*-vmlGAl%_<@4L7yP_#V6kYeXzf`%$Gd(VmAc>wK4oZKwZp6I zays|f-`2|%0B6iW(C9cupT(%Xg2ck=ct4%=qGIoV>s2V6s&e#!{goh|{7PmCH^9*C zlr4)aw(w|F5iRV-Vl8d$@>AV&Wnc;!nL})q|!Ee@N_kJZ zv052C?LK)VC!@@yYZh-2q@#R|2~210>G*7)MxQ!G=ZH6vk8%0Ge&A4cgiqLzDVwdC zyRw~+48LuduEeT8XRTggTR%u7dqR963)-JV>$Ceu{MNG5{1l|J_VMH~_>~Pj{DNsV z%f+i@MKqnG6QLQfav1LM(;e*)uaD}#7FS0CxP5rvOw|(+3aNXV&-UM<89~eq`eP71 zI6lmZ&-x?Llv}~|mFM*k-~4}mz=V1cgF}wp9QqyQXEdvf=O)*)+$_T;2*_-b=)m?9 z?JMA0lWgvPHF@Tozdi8E$mNUhKJ-?64;)MBO;3`{&T@6&xUNmXl4SWi3Tz3k;x?ul zo6(Gw$UC?ro{*)n1@~v&2AG;4-Lsv*9!!J)^j*L3sasKF_7!m#-)d3~8z{0TJ={Q} zO3LiZk&u9bvzGVctMqho0Ua*^JbGMjKCBAx@{!OaM$rLRhDtj8P9}pon@ir*S!Kla`U<#&5 z)fV;I>sb@MpT=jvi**^@ebT*qu%tc|L!Zsq_%JWbTJ8M3WM*~hLQFd= zpa3hG5xUndUToGACp@im>?2>s`C!xEFbI{_JNvUO2B@6aHI1pASwxI1*C}={FLbQ< z#i2Y<(e08kmblr(!+$VOhzV{`j}wkO=9?McM}&4$4aYvGgXI8=M6°ZgL5ER|@L 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 G^Zy0^E;pk9 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_307_100.jpg b/examples/data/Fruit360/apple/r_307_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..79e45f921f56027b7bea9c9f4148a94177fa73ec GIT binary patch literal 5338 zcmbW4XHZk!yY@rxAXREmj36Q^MHE2-C>=yVqzOC}r38>_0)(JQZ=p94L_nlV2c<|y zk&g5d5-9?K1SJGgIPv+?FJ_7^IG!xA+tvZbM9>B=U#CKjni<#fdiABm!K=Ea25$gr* zx^6-92^>ht**}7fUFfW^i0DOWnM<;lm2arryrp{k?mZn{J$(a1i-(qvtgLNpU0k0$ zb#wRd3F+bNgHn)Cl;}3rSIV2nrk5B$`(E%9#gGJN-mW!9hMgO-4 zEPuJ^=%KV^;ALbwufWWwWya#<$1kP$l2t%EwWzL}?ShgyPSDwZf?Wutymk@)7wuoN z{~1`s|B3AXf&G831pp@l9j$o`yZ|tOasuK%3W?XEjtdh?myzwE0gj5{-6p31REYz_ zDIfw0mjGUEtE-eSx}JF^4~ z4T~{}yW$HV2S$X}Q^2eDR1oo{4DM(*02jhVFZo8S4{_1*Q>zSg2(N>b*K(+osuMhJ zAsLZj#9q=Pvdwg-BH0^nPiUy|3}{SK-ZOrb%74(!877qkqtlZZH2@t<{gQWMRO*>H zHwO+p|8xlzh8D&YI!<z7a0B63M6mmG)fi_(@8ffNQ{vyBm5x3VQo$HK`WJA_3WW)-IENPSHL5H=k)%C(_ zh%pb+E%4Hne!+0p8)4nkF(I4_9Q->XwFZrl^ z;MfrRVEH8LG3VZMuk`dhqLt-K?C5-I#!y##PhxT?_m2c9+ra9LXuC9KQ;b8Fm{P4| zBm60}Th+w%6c8l1Refwt%?x)!5>;ggOq9BySTa9`gVYtRAzkou(4&-C9|Q?a%w*+T z*VNuMIKHmXqFOr+lZoDD{M4N3nykZ_oXB3EnxZA4C9y+{p2l7kGQc$Ye=~bkr)DG_ znn=w&p*saIzNUQ%30)q~=C0Y)6D>%09ahP@L@U4GGi}HRZNW`peCMK+o+x#Ff8iy~ zc2o8sqF5(OW((IA3AqL%2dJ+Z9((0)Ee|#*a zdT$@TTk=?VlbFlNx-J}~=a864#}XmeP^(YGy^FuZ5Jf4{P=)Cc{E6TixD&o)m>>`Q zS}H^h(LGXhS&zDz!cn)Sls>BDIC2x)MY;>CBs3FAHSqg*LS@jEmKLv>tO3l3P@NBD zi6h_1OyBHHMc@%9L){9es=i)0rCz1jz;6YGykHECLX6$aK>u6C?Qj9Jgd+VJ9 zUdN=f&qI>S(3&&fB=)2)f9SA@`9OwXT9IO^U?-M$tJBmMxP+K<<->{<9lzi=x4KYN zJ)I{{ial=MwM)9};%}*!Go-2x3>Y&eRPtNH{EzeuTurhS$Z_Ikvc@j^s>>;>QP4t0 z1RHD+Z5o%h+Iww5oR98KtsG)>J)EzTKZk-@GRc)m zuXWq%GtEP<%VS!_B2qi<`aX})x}%ZHP#Usr@9}Pj$3L|p%OF}wSUu$y)iR;7CMt09 zG3(dXK=$#E7u-=XR2Sg1cC~e-54fu4c}eZ!$sC>%aIZQ3sfX)xpvSSeQ{8?da;D8* zw+He%`cjc05`E6kq2+`7^LkSd0oS;*{$_Xh$Zl3L(;s+#5*?I=J}e2%$_7QDHrr}; zHO?QZ`UN`Kdj(@>@)tp^Z5Q(Ybb|`L{?tHhCudyc_{15~^fybP2&p<1Zj3)zbGto? zkzSPydEIrU*|!KP&NOBUpY4k3Gf*o=1+;(4v{s(@Q%L4BrLrI6d#P-G_ym(ExK73P zDS&;y$u)aGgQI0pCYSfvHE-VaiDka*MZ}Xwx5lc&AFejIVR>-1gpb6tYsdvjR9PJA z2mB_w?g6^u_nCE0@=#8sYR7!#{3f>E4p% z+B;^M6P^IEw-lw)zE9G#4(8?qxqTsdl+y5L?i!%6imd~ft7g60`S2@jbYpmN{2yW9 zj|1;QB-wz1RObjZzceij&7zCFwV;v=a}GY|w^|yoa17O#1A}JrBX$<#($Uyv00m|_)K4D1NS5oPZQ^kH{NUMmzfOTWY5&_**yQ@R?ru%ZqiDo_NsN~cvFHs)Sx|W;b34*rnx}+d~vF< zVtqm18P;kE2g`?->rlX?mA1ust!(z6CqJRJAG$|c0`T`ikupNa-MduQBa-7V$>$W% zt==g?_L*t2zIwR7+qK)pe{9j7oIO)E>>{TC`i75v?_;Wj5U@h)k$Eks>=-IQMO~ zyEDUgM|VI9x2e;J0hH_e%&+GMdr__&v8EOdjK8Kg+D(f`w%T>1-;R}>0$h0_5dgd$ zNVF?f-X(dGxi#`a#ER$3qZn;wRbbPBkXJxUKL042$VR6>r3CJc zG2u50XV^wa=VGg3vgF_8CTem=%BpD+=xfZ=6Y`58$Gc&BS`i)=y*&^kRq6JsU_Ino z+OTDg;ZLO}2`+%m!tBL@rfyiKnf1WiHC?|k%uMr*W!sJQH*d3j*0L9_3x~-i&jwj} zboySuwPO}lDszVi8Vk`a0FG=YnmhwK2)pE?tZw*%;SZ7n>}F?;6hKGVyq^5ZZ}wIZ zu-b|q8Gan%T%W8-V;F7M%(z0^#f6bWDCGz`2e>ZL4cE{wy7J~38j`^Bc_J|PY1|Y2 zfBd5|TzvUtFO0{_5oW1eK1A6H@_E`gldanW#Zp*&SHg{JXBMz23I}s{J;sji@2Ft# z`#Pa@Wk8GHx0~!LubHos#d$~)T?5GZ1)c?#o;>T<*0_6Kc_|N{dMM9ajN8zxxZwXd zrE27}MCCCV|2%Kv`?z7Ly>MY!nQ-mS6q@Iy`ZYYbJFl>JRrFVRaLJC)Gf24SVB7_# z2)W}rnv;A)kAngwDcr-`ag9)3Rz~n%gY0vxh?S;Z4cvtCDm=@G6DZd0&b<0w0-G zxW-AqA4qhyqW)gNT`~0+;t{tASes_s@ut=TaKkz~%Vj%|bEif%nQWk~WY?$??lJgOunNt8(3@?K!>#GIM?;z;nA#yNp^~&g!r0?6N z-vJL;Sf-lb{lL%8>o!*}YWu1Wi1SbXo}G$EQu$!$rOH6-XG0d$k1J4}hFexHd!9rs z>i^FFiWTt9FPoy@9L!!k^imKssHJR`3jQmP-N+w$s>)Z`*J zxmL|SH7#Z;ifEYiBp%46&s>ds{Su)yB&bqcscK#)o=@=XY421V(o&VF4k4;57gd7Q z(c)-9(C)Xqs9`1VM-0h5pTI9x+2JPmMT}&O20syOlC}R}w#nTK`%kpucbhp*lxsd` z`YxA$8mL7PeFIc*of$$XrgCY}`s}{lDNoD}CxwwMaa9vr1weT>6!dfR`K$ZK{Eu}F z#3I4IxA*L+&iMjTov%2I@(eBr)0OnVrmAjt$^l4661;r}$L$E|z?4Z4n|X z)c_ipiewIE)k`(Ee$ZBw| zy%tT@{P;>f@uz>;=X*rD>^a^c!F}Ne#d#Lgqs@E8B6?YNXAP?jZwMOtjChT$4-#mz zLZq7kepTZ-(xJ?BxR=x=_hY{=E2zhotJHX-g?IyCwNMNS5@ z-RMyPdo$}0gVNc1OE^mNlIJx>B_^$ES$YTA4D$~N_$$nGexj6vQK^#6j=M+Y25xv3 zRCE&|04m>9Q2Ku1b?j9`7kRM(wkJQ&=!-CS(vFAGe#Dq3ZeignNGRu{d!>VgBHC5A z%Nc`&e_A1}nApSlTFMF2u;w?m@afI)+>L_sGn)p6+_#3rU^PBF58Lv*U&n2h*G%rL z6*N^iFh(!0whZN4VmSy-#9VZe(JoK|_r5I5_nVFPZq!k#4)v zEGWT%4j}IU1x8Oh;speSj|)W-`o{##_jTrMFTHC~)sDaPmY$Z3E(eDy7GVN6Ulhy`M+4_Dz>9ad1^Q)@rM!XzSjP-tINsWhg zlkE+$GU>w9LFzY2+_P)DOeATzM-y>v&8|?CSa34B0xOzSe^xQS`m3uWE;aY9P^`!c z=Z9&&z9I1>{vJmr1Q(It!XENvl}%mg-3sfx(7wUAH+G#pq=q;y4#X&%S-pyMkvLO# aW9MP!x-`|zMn}NPfKEr?!QW&#o&PU8oMtBg literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_308_100.jpg b/examples/data/Fruit360/apple/r_308_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3058da8a674a4efa0ca557d2865e278487804d0 GIT binary patch literal 5340 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_30_100.jpg b/examples/data/Fruit360/apple/r_30_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb3f62819af243be943962a35cbdf32ed4ad897a GIT binary patch literal 5394 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_310_100.jpg b/examples/data/Fruit360/apple/r_310_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..287a4cbbe898a76d0b076e1adc47eca2bc3ff815 GIT binary patch literal 5334 zcmbW4cT^MIxAzAKgeH+*1(m8Oy-ElI(p7p9gs6ZtkrL@a9*Te%S}019h=6pWAW~F% zm)?6X(i0U35Rx08-&*hc&;8@xyJzjaX4agU_5IAAbI#u6N%A6a-cZ*-7oeg704mA> zkY@mGfST&B{f*Rr4Mg)d(tu zr2|uBFi{3npQp&Dp`nPTr6{J14yD`&K&-TEmt-~R*i9dTFZ*!Fg(v6I3u}F9<}@3^ ziO4_ljbLEp;^yJy6BQGexN=oNQAt@v^@jE>9bG+r14DBQODk)ed$x{F&W~MO-P{q+ z{QLs~gMuTYUPQ;lzKlbsq^706ev^^;J}Mu35b@eT+ZS5VMUEMvy zBco&E6O&WZOUo;(YwH_7H@EP=e*ZZ*JR%&Q{Nwt49-+cKg~lbLUKkovakO&*om&ItdHMWt38ZgqWA!g;ijZRoclNua>#K*ry&e855SxAMwF2Nu;> zt=B%Y|Ef^{>Jft7p3ct5JUJlgkA_Yz>rg$?OklmqyHPAwXYj1M>}4Dcs}y7M8VU%Z zo`Y562@RLZ&F(6Mju9|}vl>fWcF}o!87YU=eBY~09c0xRM$T%ya#>Lvd{c6(TF4i)nRSY=kDE4L)*b2fh~JOJQZ4d zHu)y{yh7S=Djdpwa`> z62%p9<$q*SC64(8c0vC8Xi2HVk!W*CDefeW^TvP9Jce7>{Z_VkRrrT9~zcnr3_ZVh1it8DIyu zLt>@g*_FCk>95`#s+YOiqpJz>0|j80Ar{rOT&QqM^WH9+uZ~#76EGP7&(c8DOz^uy7;98dVIDCzV&s6B!cjU$gJb72o-JlDG8ADjC~_fmag z0CdUl_(}H9ZNWL?O=1x=*{F%Lnba@z*|-He{dKV+9DlTkjUBPTZN%=RZyVP#e;s7) z^}U+1*7cp2p$p2lH|g}iIv*Kg<^O0%hl8q>G>8#E3ZJSHg(hG!gz;xw!HQXi7v)8~ z5MnTW^B~}>Ag~qGq(~ehO<{zPcBl5FA=}P&W5I1}vss6QuQSuo4vXrV?kVb:V3 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 UMv27x`r9pW67Q%f4k1td7fL-sbN~PV literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_311_100.jpg b/examples/data/Fruit360/apple/r_311_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5bf8c6a5cfe5623a579d003804f047fd081d55fd GIT binary patch literal 5320 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 M6hxf6E@ke&0CzoSC;$Ke literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_312_100.jpg b/examples/data/Fruit360/apple/r_312_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b18510a0d4c6f3e610dfaba037a9192fef4e46f GIT binary patch literal 5405 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_313_100.jpg b/examples/data/Fruit360/apple/r_313_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..495329fcdc76c8d138357bdfd5fd022be484a773 GIT binary patch literal 5365 zcmbW4c{J32xW~T?#*%EQluR-9DA}VX$(}^EY(tdngzTnd$si$QC)u)0_N-&<6tWH@ z%ozKUnM8vzu71CB@BQcgaqoS;=XuWedp^(Sd)}|}Ip=fU&(Y)&9^ll~)X@a!=m3E3 z_yLZl0d;_$?r;39^nZf^^tUoHFn}1C7@3&hH8X!`VejzxiQ`iz zXKx?h=YIYHfv>_NBBNeMBNLO}C8wmmPfP!h|FNL3sJP@)Rdr2mUHzAa#`ccRuI`@R zzW$NXvGED)AT9>ROEOH{YKCAtFCM{bFPTr>PROgoun5T-k$4|H8)iKXl_Lm~|Dydv_P+xQ z`+t%B7ubJu;eZn$y5qwGaRD&kaIe?sq>P%o5-f`$DXym=*y9Lb^gIH>iu^rjEQ_Si zPg~E_Mj26}=g({1gp4j3+113Rz-tE%7f+P&f{luxbc4R75AyWKGOD!hfkDV`m2W%j z@&}Yvgb#fz>xTt;4y;0FbE>c#FoFR^7yUFRdN=SvA6Jl+2xNB7hFBcQ>8A`5tp~7+ zh)u;K0Bjhnjy2utn5zXc4j^ z66R`f&S^EswGMk);QYkL(aUM{uCSH5LZz3sHy@qJObo;h%nFk^VpY{k*)7e;Qj6ob zUe%_r87YnrvYVoN7ba$wGEe{LVsNW{yqDo=_hynPgbw_gV~{vI@o+I>(t}A+j82ri zrnGAF?3>rM*#azxNZ5iejq|Ye2=EvRrwPPk;OsD0c(e^<#P;30 zs^MU#01x`gHH^^P6PYLWv1152G=3RH5wFLvtxF=J_h+NYY?{@TmL{LcObPtYTE7En zKW$m$5^Wt)y_5O|g0BS7*F;S2@JYsc&+#S|x2-kJE!p%^$veC&-v=Z$XSZ*vDB;Tr zo82}NLv@Epm4_lU42<;5Y(wP$u5X7&AQeY~uaYAsjiU_6r`o1$lqd81zTn**rRo$G z82jY+`HI#~pDWJ{jLZmN@8pqQDGIx_LL9q_N763IXRv)(1NJK0!xUb^LlGD#3{ODd z&eK??0vt*9M7d{_1A^=tSHOPASQ)M`f{W3*OhhX3p2;_E`Z9agxRXovzm;5romYj( z-?k$p7e~DF{RCzV)}X+3Lo3CN!vl@rGl#{kXIFF1hJu1`jW%oLI!`40u(UD1cQ)7e z2lt(WVWpq3bOOmgupfg%(gPz-8Q$XO*t|sUXg>m~<1uasB1epfM*Z-HfVSPXz1f#k zu!CXLu-u;GgSM2F|WzxmQY>u)}qT*)4fo3 zZ?9wtgUc)o_Gk-Ag-Ew?@nQId#JMqAI4LG_TvfGNB4#cn;a7ZWNki__R)OZRLL{H* z;Dtz8zZ(sgIAgg@)CHbtf#gr;lLlejT|(0{ntx;@dR(0N*;_UE>Dq}(J4-E!7)W(J zQa+A1SkI-P=01~&z2M8F*o2*}czbJTD`?b*Wni#Y&a`@(^LBf#BPcQCX3P3~(Y=}r zqX$EipX`eblNOS3dq)6VXo+1N6Id6o@{nD40dE#u6xbRHlsTc>>H>Z6WRd8 z6*sA{;{9@x1CA(%*Oc=~+l>x*?%-=&7LI@i%hulaUKU#F*$Ty9JngAH^ydp7M7Ou` zyZgttmS3R`7kj@UnK*8u2U}cv1bFn=rXs7LbV8E!V%;OxIdUs_%!hHaLz`$9E@i6@ zP9r@${!nJi`giH9sZ6I~k&)`x5{!%K=U%-|{Jza zPk!;=&3vY%65rxr^RS?OuUmKlPkbRc)jt22hftkam;AITe+Ge1hLB9+<8nxP9&weF z{B|?Nb3L!*m4}1P2;xr!Rf?;_$h$hX78FqyG!)tqh658)Hw{Tz9k3cv44Mn`$=|!n z;*J^4hcx)c{$y^=HCHHfxNc=3HZwn89K&EnHY;1%L`qeh-NnX!W1-)o9DcT?SQCCzLJFNC7V0Xw z*F?^TBt#k}(l4AI;!}p*^MWf-9S=XCr~&gVzS`dW*V^sH8t&)D@^*V6e{BYJXI~nZ zc5EDz&NgAyXhz9E?V^+}du2L=g(eT`1ynej6<)YGUci#c06j?5R7MGut(ygxK9VuN zd(z;HVd+4*^?sI5s}dGfgq$7xg^&il&fBifmC8&WGO$<=Jx|phR}~G!PSoF$!0RM6 z#PGbr)>}**rnd6v&r7jxnK#u(swfqSt74g1%(|aT2PJIHR#6e880(q|+C~%hw_H)$&=7_dzot;x;Xck)@v;_l=@=*!;FG5Z#AArN~ge~vJKnW zH%hykz4B&O_oF5&%Da~!p3=_`Ws_{CNGJQ%=2Jop-E6h7E=dZqgC~{nh?ZAdR!6|5 z-AAW=SX}u2#WYayK`{Ut)>b`qP8K(^+RS+v`Kch<+y`~u8gkS5xs0V`CogN{(EHBC zmlt3ltDSEV{GS#xJRnyXo-|2$+|`uTw$bhkj(D4R>$j@!QbWi+?bIs_N)pW}%1cdR zCa%A#oxPB*ZDXSJGSC;c{G5^u&e%pKluO0a`YOvA+z;pkmP^JAsbSmSuXUT50pdJ9 zQFtPDqd;c`m~YtB>CmK8-9Z&$banE{t-=w?g$UatfTWd!Tk@DbwjxB*I?=tdOx+j7 zE_oo?Ni*r_Ukz~%F1%Kqc(+PZFs;f!))1bCCb^kWPrbrxZDbt*42Kh;=cxL_swQ5= zKdAS{d>N9oMjxd^#5c->?mt{oZ<0~alo?HzTp?P{SmeAN`pvytsYSF~!OBvH}NP^vW}(pDwFg6bZ+TUx+6jIBYkJ-Su~#O99T= zLm|pNRntSd9X@OM(>u|!-(gTkc`yK#=L*WIHGG`}n4O~1YEwrKf3|>Cd91M;+oaJBqjkii@tsmJ3o}-l zPbP89ER$lS|7hQIq-Oogh`N9}%hgGK8u&uX`Y775w@l7}TcoIbx+WpN*ddMXL|{_l zb+Z?F)+W|(?ulWro%eH~by~-ci;;s8N0!|UqI`W!>cLl(LU!f$S*_F;dqHItowRMx zpNw0?!=DZFm54_W+^hLHB-Osc-(|kFUbw5aFvUuzM479slVD73mZk5~I)LuV|AzEP zUWuF)Z>%FLMhEjb`h8MAt7kcNi6P>$zsFYS4JL_+Cek_q6&=bmxst<9@If~u+?hzJ z8%}<6-#h^6)!=yn!-p9XDhQJ8(y7&WVCfNJ+R~Vl=FqHy%tOWn-$~csMeAEr2h9lZ z4#cVT)N@g>HEaQbvDyQo$((ObHaiwsdAjt$p0W)%A9T_m7^mr7Bj_eX^gv<)v2gOW zE3e^z)SOy9nQ^hk?BW^i0*Mh+J{?8~C68|vBAd_(u4Ja(6|tu^_(OB7d@JsnwSNd5 zN;Z6#(YY;p=EG=FT3Wdllk;R}Rg4i0hb$xEqsCX`+&3Z=My8{YFWGcV)W<}@?RFJ8j|rbZ>J=dVL1jCw5FS4!PiMcT|-gn*bWHa zq?TX7db&@FU)`@TlLRdP3pFLB8(O-w$43DE1ESI(7Htp5f#DS8c^39Dg+%DS`^S`_ zbIzv|3?8hN5F*|DT&8*!N)65-` zo*(yVz*xFFn)~+YHRYtstYTK=xpnxZ>ko>g;%5si!S4xfihtbW(ZNpSBVhL-*{`Ds zMW4kqFQt>_fZXUuU+e}B8dObSbfMpK7(&_op9D!=Q~NX%vhuB;>D!eVyw9NvAp_3y z(Hrch^LaS7@s|M~uso7T?9!M1WBHls``Oc?QrUA6>RB3w{r$_?Rd?xgOAd6DW;Yeb zcCO%ri27TdXdZKBw&xT9 z-Mzs0EY+g7LF%&mJ%5b5i_&O`sae7_vYX&(Zlar&s2y7Q{PkVom*C7KtJ%_^#V{Us zrU2*|uCC;=y=#2Zu($d3xOH8SePX~;OPRtgoUT2G^{%Ok-Fi8^ib=;L7$KgK~3 z5$>)npE))s>aAj{y_bEa(`vRDEUcz)uE#_Gdj7GutY1&XavBU)(KFG()WZt~pz&X2 zgH1jxgf3E{B;KNSM1&0=#jVj z$pijZHunxd!Ged)G%oZ@s<$I=MeU<_(Mam;1dx1qr;ljqoyqg5lU%*LTen_-<#?Bi zmn%!&*^5nWSWDE38JmbV>9`IpM(s`EvIG@rLAOP+N&=v`HP%dz zNVQ*I_EMEro0wXiCVn?%h<((_lX{hWftgx*0H$=1U+iy z9hWkNi>E8Z4@AHIX2kfMO_1|zW*B>@18ovUa?N?sZ0}c0sopiB#QHq?J|K^ZlpmMX zSmwU#+2xfrTzFMcXGvfW#l!QiM5V(xG$YCXrRh6f)qC-1b<%C3;g|ZynyFrsxhW98 zH(|Ls#tl!uUIabuyX2h{xL>-PcRbK*)21NRp#_)WT&>J5h8BkvPo;eI*dE-d?R!lf zI)4#b$b9KFA6OpGNu?vVjr^1k%918X%|B|wNfV2gngidTeGs}|xl5k!_g$II+}c(} zcLokj908KgRcr-nHQ9B2;c_K714C=$BY@Sn#gq{D@tUlA51YkJ$YFY@2&IthGj!5l z%V3Ta~_Rcup%j$P5dw zPNi~{?#>(*)H;qfvyrY?J$3sjh}>Pe=T7=$geP^*LKC?^^<^Gr)B6XQdjhLtB+30` z$^#M_17o~-{wa)^#{aZ(6?Z1`_j|b+!G4)eQ&P8(#*lZdrh!p_yf?;%jg;Dv!|F84 zKoX5|t%-x^)aY5u-W@HU5R=MNi@2i!h=D$rtG#I$Dn>ntU>=TZ%;80L8SolyX$*6G zKuUVQ7yEz&{$|)bv%8x^*wU#)MST=MlC>%!jQNJzg;HWX4ohQpJm92ZZ6x65{J&7p z9cLuP1EiWc%Daki1MgVX)fQC!@dAMIg#cx-in~@qN*20HW0EHMroR`kd4sfm7|G+x z2KYdj>Rd}95cE*zDB1h{e8gAUmW)Bau6kmoScH1f|Ba55w2*csc8P*{Qby( zUL__YAt9pzk%RtC`Co;rP5?{+*aEgBM7#hon1}>Sbkz$$2s+9Bl}8Z!A0r|rAtfUR z5oAyk5|Gyk@<~VtqR9w~3E4q}=Kv{~jGpJN5;=p86^Pe^Q6dCUK*6W{xr<46Y@h$0 zwPz?L6*CJf8@s?w!CSY5B&F_4%gD+-daUw9RZU$(Pv5}M$k@cx#@5c>!O_Xt%iG7- z&p+Vx+pzG6$ahiENy#axY3Ui6Ssx0Eia(Z=mX&|0twYu~G&VJN_w;`4Lw)NX`0;c6 z*Tm%1G#azCyt2BszOlK5J@|8YbbNw4J^RZ=1d#j(ixB@?E--fC87NR3PmVixg>v#CtQ6?HSd%SHNN+bpQEi_`<$+Lg*y70#*-I zii$B!l4tr4|Xq&cMJJ#U{ zM@KF~cZwHH9`M6pxa5yGucvWl11>Xf_#0nQf_rn#N5p~O5BDrnuYfx33oa{CIQI5s z3e^6nHA{A8WW3efx9|21bg<)6SfMb<=#U!9`J(%>^a^lxkMF1-{d&F-4drh2fLDx+ z3L6_=7AH+=J=x@Heep^2#8Y)>CP4A-TCEfPT|V%eigd?L((^0eC>$1l?_IfumZYTl zS^jqgSq$^FRMua^5QX{HG9=ULyk+QvaNP72K$d?6gucIU8{at^b~#33wZiHV8OxDf z4GU9a5@~`bi0M;nL$*%){!Y%xp#^X-A504uQ~7L(jtjSLFi~xnTaltI&0_(u z@!eD5U_KgB(7GDTj{%ts7sv% zVW7-7Gn5={L$m_d61AwdR%?_kvaP1k#2TSSdVN4`Lv`JuY<_QI;z7Yi4Veoc+S4Rn%Oo4bT0QQL6Fb>eDaFxYM&iyD9d#8vT@Y}`El)rkE1VLqa0Gf~ zt*T5>-76e(eu~swO@0-a*=eX7V7D8;LSCJ?AX7Z#r^UTlU$Xm?+3q! ztLboNJ?MxsQDmX$Cvd5WSV_pSa?u-;RHp295SQA=EhtqXmXltA<$Ei(RMW)~V|`F6 z!-{SMO(nYgc)*Dto#)3!B>7y*Yak47gnIA-lzfSxpZOCl6u}%$?c6Eam9vkWL~F_Q zV~KL;+Tu|QZ7|_t(>t4&>%W;i#$WxYv-52agl8TM?}bWnv9InVt0L@GgVua!Qg@2L z2Z*D!TI2#vQ4Rk=CPvAPi!VBV)fBYzd9e zQA9*EvgKqn%+^dqgim}#J(YTT`$o(u|a=Y18TL^7d zs@6kOOA~u`IEpc0vEXiYB4tpp(a>ZTtRM2L!t3_rmrG2%p0Py z=u^q9>7tFyMo^2-k^aNkP6^sfc)eR}v6qtbOwPw8^sS)Qa zN!{7HNk39=5d#Uh(2fs@+hRaro;qI>J~b8Yc4zs|*XFo3#Db@ z7(?b*ufxHX#)QQLCY1J%+`NRZxZo!z-?*!7|9EoQV!8z*w|HCy{#M}2;rU44BTTJg^L`EA7NTzZ|7+mCDHB$9TY zXB4+F!|cafdxi(1E51qciC`w&tlB!LLwle-oglN|#S6`I*9*f?U`P-3I-?JCanWzd zW9%RQOt_bq_2joS&@a)`_Q|cnv&4MHGniLg2C%!%6xsa91Wz-9tbYC^v;(Uqjo$dG{F=G;OY;=oq zsJIbltaWRG1-9fJGGHZ0_qS%sLzTAPWctAfkj$)d5{OT5rr7JmG_5ws>o|~trsWBd zvif@ROxC`$7Si3v^|j3GO={sbC*k2r^YblVmIv}!vZLPTrj}Z~4c0twN9Nzus|(TD zOf-*1z!{J7$>%v*%yvufu6d=+`pZ1X7}lMOxC~vqXw*T z&{I=oL|l?vHb+yJq8z*}q0#|ADW@2LSXOENK7=?eCz=ZJK%0`s&Cw`vj+=!wS#@ z4k#*jEjBe2;?-o9sqD&<)X;NR) z7D&f5nBU=Fu6o)61XJFYm*Q1m~uZi6mzXTB`PeWBGfZ%8sOObm#*K`J|< z{UG&^My`*6uhdekC`^U2bkNoc-u1YhAEtVlix=61(zH{W_e!>m(iJacGImO%xw7|` z_rh7xGUq*6t5<-vJKAq)tz&uDvK!7S)$b-+S(l#JUbMnH*hs2(uy4#fv)wQ?Id%nb z)+L1F#XIV-Vo@-NonQHk((1IOIxtWm7$I{S`Cd_87nhDX>AnK!VK-~X+PPKulbjisnR!L$XN_eA{j!o|+pX z?SYCB_3eCooAuV~#1uwP07WKK-t!|ZGAiFXC_AZX*d_XNtx#ydX4bm9EssY+cDqZ# z#Cpu&!I+Zk@&n}HLerlb)TX6DsCFtO#vvo#%|`oC-UP=Jle@`03WyEGjcPOmC;bOc z@%dZ^KMSde8%2r5PfU(Ed*Zgv2715JxPCEJb$2xQ(gO`zg@iNh3B4@*qw(uUg{WM9 zLC3zu-n1tquH*B?0%INRHT71d#lR5nWHS+~xMYv}$3o_*!3U*$WKmt!>)E}p=1jNl zy&D9HWh(TIERV08Y+Fu_GaWHT|9sdA)1^!ITm>#?xo^CO z6RavbXAS;7InmA?C9q!|t@})`r{TKEH$)GEM%T`lh1*Gd4Lm0CsHiBi8kyQ02r{A0 z^4?(rt$(WBQ65#r7dPys(H2alcw5h8K8l3yzO2MhToLs_73 zjwXMn5cep0Ftr64Tv8GI-I9GTSOAxMRBDb1>lk$Dc+)7`wQIox50I?tR0BWJyuEi= zCbh?iT(Ne#a~iF1N84(q*t5ZO$B&-Ppnq1DCU8QhME6rQUkf<4d+}A?NVYn^X2o2Q z-3Q@tK81$YYf@%MkKQcYI;>!CFB2+bfLbuFS9+o2wl$h&Mn7*`^fAz!IIK>uIhO>f zx$hDA`X-kx73}9n_#|-RdbIY_LL5(6nu{+C>l5D&_Vb17oFWVyOl)6vsh=5bsa|kU z5{hwu=tq}FcXXD`He2;DW`hgV zQYYy}xT+s>amC;N8D>u>p}ffy_2?T~OWb9-(nhnfmH{Qz0niq5u1_6T?-=#vQS7_- z!f9r4(o3MQ!#O{-Hnf;zn?<*Lc0hNH-2&&E3ab<_q6;{#9!{8X!P7S2IItS>)y%;I z=xv;~-jq2E3g^?d6DF0>_Z3(YnNzoaE_bV%fhncWJqzM-W~hn6#VRm~7!fw8A$(v} z^?HM?9*<2e4c-2q@9fq0i+zOdQaw=V@7&#T*{McP;whTWUGPJ?=3CtNagTxmicS03 z@3$1(ZmzRONQWEgG$Ou1?-1z-8w^4qcbN4o-shJwiCLPsg@@Av4TmRUo&pV^$ zdSc3!Zdv5~4v2i`6NBVnM6|@qM~~KxS3O+dO>9~xZr(M*xFLfAL@Qg}hT>J{)`|#) z-eDBtl8)FkRgJ8!s=E2|^CNfHAMy?F4cKnhl|;OaOHzPY1juS5>!N8R!k-CC_wAv1pUDyx>ywikaoGt2T@USm-G9{h>f@;j zaXJSk@m}iE!(uIl!RGKT8N%NPEh&U>`T%FIy8w#0G`iHJ(hxLzE{ z+pwWjI6rp+$(FzJcf8I8U_zIX1ki+Q_~8YR(&+IltlU5m{*ZN>Q#m9~Ue6J{WI zilcLO{4};lEbcJZulr{=SOxV)iuJJe1`TT6AS&tU?;B~l9tj$^s$RUXkz-D3DyI77 z_^XwFvS7)QwqtSH9Va+S*mtAkEWe79px}(Z#SUXO_C!T}px~)l)4DNnTZzXLGAV9A zDy+hW6pXO+@`oP>hE4O+_{2pLSE!~)$I7&rsDX4)g-28}Y|BhzmD%4mQo{Sg*4 dRmA#9<#p1@%EHjj#)s(Hp<5rKfxmt={a=kcYO(+T literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_315_100.jpg b/examples/data/Fruit360/apple/r_315_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a61aedf1b0eb8d13c01e9358853096639405bec GIT binary patch literal 5434 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 YlyuC=jXpu#G5Pa4LZWZyFkR042f*rsf&c&j literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_316_100.jpg b/examples/data/Fruit360/apple/r_316_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de069a886fd164fff9556da9a816016f5511b19f GIT binary patch literal 5388 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 gfKQ25KD^39_uu|=5tKUe;@vS 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 LW%O6+$y5IYZUw5{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_318_100.jpg b/examples/data/Fruit360/apple/r_318_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad89371a6a28f2efc17bbe4ac6df843c6035e172 GIT binary patch literal 5480 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 PKvPZba{$OraWVT}gRY9{ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_319_100.jpg b/examples/data/Fruit360/apple/r_319_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5091b5d809488866c614f32edd3c49abf616fbe0 GIT binary patch literal 5498 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_31_100.jpg b/examples/data/Fruit360/apple/r_31_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..268bbc107df09aa57e75a9c1640486095ce52462 GIT binary patch literal 5386 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_320_100.jpg b/examples/data/Fruit360/apple/r_320_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d33d52aaa68a4a6e658e6c9e3cd4985c10156dc4 GIT binary patch literal 5411 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/0_100.jpg b/examples/data/Fruit360/lemon/0_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..513d32c757c69567b6a6bed4260b49981ecdeee7 GIT binary patch literal 4841 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 jFZ9Wvqw+UanZym%vGRiQ-^_5>Hh?$< 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 Q*?B>keoYPh7(|}>4hZ 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 qmn1v7#F4f$U=S_i-=ggeJmwb5?qf-l+#cox1 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/110_100.jpg b/examples/data/Fruit360/lemon/110_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01509f59de3790c98e20dbeb0e5368c35dfb34f5 GIT binary patch literal 4891 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 EKVM#4lK=n! literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/112_100.jpg b/examples/data/Fruit360/lemon/112_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6756c3777ffd592f7df012a73eacf22ac826d71 GIT binary patch literal 4935 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 Fe*vWXwU+<@ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/116_100.jpg b/examples/data/Fruit360/lemon/116_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8fb8118f4e35900e46a88a2a97a1cb2be9fb9339 GIT binary patch literal 5063 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 WWM>!cF1;v-7E9(d)&fxEng0NXyvvmU literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/117_100.jpg b/examples/data/Fruit360/lemon/117_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dff9bfd446744faab89aaf2c35b2dee116e4a297 GIT binary patch literal 5007 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/119_100.jpg b/examples/data/Fruit360/lemon/119_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0b0935168728edfff705497137d38d370330bf2 GIT binary patch literal 5036 zcmbW2c|6qLzsEmgFt*6PXHSI`DoUmjl1j+FOvpMh#=eeJ$dY|2dm(Fv7`qw!9!1E$ zligs(V2q!>-^b(Lf9@am-uHRD-{+jid7txmJONc0vLoO)x6P?(-vL;U5pWEW{ zR<5t<8MwH4c=;sGOJ2BmN#WY{8;VLdRqv~*Ydp|=sP|0Yz|hFp#QKGet)0Dtqno>j zrn@0+*5A))WW!sFr-5|ffYd`$VAos;_|FTbGhTX_YhvZ}hKwz;LXt-YhOt9xMZ z*U<3D@6oZ@x%q{~rR6^>tN5MWJpyr`ba42W3j~1w#X61uBNyu_7uDZ0fc)hGQF)y@ zn3bAFqi4?5DCOdNFz3ZB8rKpA1~$3bPXUzi9uE{qMkD|G&uo z3+%tS#sDTT==AWwtN;`^CVvjU0A%Nx^y3Y~D_Cgkxm6_b>Uo^$?{jRHGYlF5&wa_# zEf^Rzm|0oX3XSmnx)tm%QqYr2dfCav?`QqZ_y-kzVu#|(WxKmU(~rSIauwEi&2`-O1KITGBCHH*99Q1obd}i*jeyNKWDR<3VEKBsj761bCf>8WCdOOZX9JW3JNCG#nzSbrjJP z;urB5#-O_bz+YZwW)pSgzkHXfezBsiZiNxM^|9(f8x~L4FLL$Px=u0eh|{oy^%{2! z+_?2MEWzd1N^{0UWqcrsF99}@Jb{{gwOtgl?Ve2t>vr25(>eh_7%Z_Put_NJ<#bqJ zd1g3D^iLoruvx296o35_bB@1x-fEaD;<66kb=vc{Ca|j9wr18mO7nYxvl<&MN7u+! zLmTziW~1NHBZ@2@=uT@53EN9}c7pCgMa0u+&cu0B;S`>4kA@;y%f#m)7(1A^`W+ME zB=KP+ug$yJ*q~0~sJom#+5@WBTYlv|#B!zPR8>K*)u+af49`Yy#|yXZ_Puv#M<9Z8 zj-@LOvWd3gR2CGWg;!iQ`+6BYj(Y>cN%K2%;rxBuEq~2^Hyrh6%f$0QS$4 zxz0U{to$8QrTFwopEqqqF~UT@s%}uGBq!ypP5N7jpQ;-?%ellq-%mFe{inC$EP6%CSFDVOE8gl9DqrM`kg7 zD07)vDQOp4IT2ek&he=13|z2oU3qy!rIGZU{g@^dd497@66}SHbPYJ;DKFLLIx^E9 zb71-0PBG?{&&#ZtH^-Y;LQu&{5^;UdoZRK!7N^s^n<#MEyGsx`lFO6!)iOI^h)`RZ zVw{JqT^+)h3M#%dD|{?lN5*Q<%-wR}Q*vL)`aJ=eP%_v$h9ij9$KUD$j)cf}!iTjE z&}1P$kM~+yo-(EEy|K|V&dY+1B@KD&$4fd!$)me(c9s<-agaSC`ZAu7^6mvUkp4Yk zK5w7_%RI-_5#p9_wXKIl2Kr(P_8%h-&tY#|>e*edH8Oj~ku8CauUy%K=SGi1L!qq7 zl6cdmB$eCS>R$ynQ}geMzqao~6$a4#QF9tulqIvd5x?U|hWJ<&8t)Nv1WChR1Db4K z-tB2(o>|?K!Er-7|)#*%5m)y?jxsdP9{HnFOH%xh!^&b6->b2`{=~oQ zMPXyQ&N5y$klramZnjx{5nty_O#*G~0a)r)fH!(~tg=t)>;C2j30F-?Ez(Y6);h%W ztNq*ypNU4Sb8u#N`O0cPCa`o_|3l~ zeH2i+6~hft)|Zjoa03M*pNm6nv_1hZxg9u_1m?kt%U>quujTsKD41O9t>R`uDhFP{ zJg4g7a_I^YC>1782CVI+NnF&DPSEvom~7zJ88Mac`x;j_U5jh$Pf|=gf4G4?0fy0o zixFIzu9ao?2e{x~GK=$Do>M3b?b2i4Vd%RlBD@Kl9~`t}%bM3asx) zPFieyMSq$0twnjFzA%^(;<5V_Tuz@`8}W*HO@ka$U+`zALZ-}H1=3mm#mK?P=Y%y2 zk9oi9EyOuTnFCu``B`)99TLTt=GF zah**;!uZJW*!)J5aA%1DMpmLSrKNhNQO z2FJ!yI(lCokK>mkDRT*NC6&cTpmYt%KM6Fa&-RbJ-BQDa%vM`_WjjwZo0OFWtLauP zHgEKBH#w42wx~K+^e)>9*I;$97-Ez{zSZH~?SJjz#Q@w-p%U-=$;4dG6Ce@wvcI}s zR^(ZbNghV1s{ZpfUTwy$`jU9jt*TCUjS&8zO7xi{3UDezvf|E!Q z84+uRy3v@8@%YFE{F^xD05}PSldW7#c01%|<;b5PurRHBFIY3Guf1Z__OkmS?z_OF z)_k{#%h2Snrf`>UrWP$qHR^I262HzayC}aIDPe}k4-g~=JPfPL-{(YKv@#aMu%vx^ zDa|dpXbY5zdw{=OT33+|SDG4IU1EgFJY+`70nI$07^gXDWNOfKjGdLquI$0avMK9-cY z_(M?Mnv-5}mVAFbaVHfHN*h^WA@eWJH)t7?xaVQOBs(#H#iFvhig$+pL#7uc%!J&E z_bh#pahKsLuhcGDbr`1sotdO7NuAwl<3F(Uh;p)f%vu9Wn7bAE%5Pq5m-84p({QQ6 zE!e5XCa{{^)0RJ&%BrG97QXB6xaB2bXsm4HxY;^kK_Dk6((`-ONpdQn8_M++=VsPw43TCYVfxAZ7mlZ+l9KX z4m>`WeViA-|8)sxWg^VpL*ImqQt?oJLB(<_=v)W)3%tVj7YYp;j}k>f9<{hhba}jw zf@}-PGzykw_>N?bdgnbIG%w4)K5E@g5a0HFee+z!Z)IaIJJ+hpefg|N%F=@gfJM8x zKKyC=MHLHd^keoXM`WU>U(v^YnkR6ZML4>yYW~+I+T-AHLWXnJnbJlbfmB8zGfqju zp&_)$;(V^q*ruHf+f02JBABP|SD#AyQJk6^-$rhOp(@^_>9dwX#7~+5)MsQ1qG}qBUjoNT9klx(DxdxWqlIV8S#c$BFh^=6@}NsPU2D1>4c30I>nwa3jVN4;pOC71(0cVZ559jGhX|aBfYO~O z=^ruv@eMu*F7baHfGm`6H5I*X$tU%KStF?!D)68xDS;`xR4!dlJ($Vq4%OIm4myxT;_)YlX zR`Ytq>a$B$i~O)jSOIx=p4p2bHaA%>z$bU-CrTz&K}QW$jbh^r#Y;BU!dlVbRSWu| zd0PG>+sLaF2!)H-)aITxt{YKqk{Ov-bm-XTM@^3h64S%h$G zXVg=r7tjwIuxJ=2Z~gSk$R_FxPq*N>>e+p4oOgsu;W~{b1Nc`=Jpwgj6E>wvg7`PE z?-nB7P9};qRxYJWc~TAB&HLq*Q;#SKGnW-xY>n(^i@MZ{-OD{|xA?b~s&>Q%$Uf9j zs^w=N@cXa3twjwX$)<3&kA@JL;HeYf0&ySB5-8{hvo0`; z66Sv@w!qTd&|Cf%$?o9FUvDn09I*dsB}1C@QM$0RN}S7zfeq!nfb!^R@ymxFPF99x zo7R_`^@)Uw^Gf%+0EDg*ubJgn6eZN4iZX^2ux;0PGYMBX*@KbZTT@TS7x_^4+`kB8 zl%&jLxDiNZo2Jl(Wl?%|98LgUoWsZUYo~P%{8~mdTbPqVm$s5s3tM+ONa%tX^aeEw z*PI4|v0BKb`8afVA$n@I&0up}#&MQ5bXqCdCTiCL4M%;+QK=NV=@Wo@?gR+2*_I=_ zl8QdBOo|XcucV#F=) zlw=e2%t43L$#@}>?MZJuEXHfZaKHAANq_!Bea)uMexYCv!v%k@H_euKm&8lR2)Ls{E0x9O zgd%Vi5*ZDJ-)9?a$M^%drk|PmN#(f5et5)oRX*V7zKz9~a48GA=2<)^+JM2paLBBu zH4=3L64byDb;H4aqvl9s`vws~VmwkH!6;|9Ug7B7p$xw{-rGGEZL*GAelEi2;1lNw o#PF%xHm#XsI1E?2E)o%Jl#vVd*K(dSWZU&16MZZ3jhEB literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/11_100.jpg b/examples/data/Fruit360/lemon/11_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7221eb638f450f91f7037ef7fd1464215d3b3b75 GIT binary patch literal 4810 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/120_100.jpg b/examples/data/Fruit360/lemon/120_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f63bb290026d39aff3d58b196a258d511a02c0a0 GIT binary patch literal 5044 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/122_100.jpg b/examples/data/Fruit360/lemon/122_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..305b059030c4a9818cc83384a0cdb946ea446e11 GIT binary patch literal 5189 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/123_100.jpg b/examples/data/Fruit360/lemon/123_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3162d6acda95d02b4d7d3600ea5aee9e80faa732 GIT binary patch literal 5174 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%0DQ^aF7UD&LVSvR|A z)j-~6fb7|CO$I%f9M~NWc9j-D4&u6d+Hgj}fQCZtA9IRZX8< zOm|afuBK8Ku6zmj5`cKd909J|k6J|}K!8Q4Ur0PZ5ohbhX5D) zs7te=b5WXC0>7Qm5jhjw*|7j>0a#RAJ{2YsZC=T=dPuwd&K6s`v6nVuXS}V!L{{w0 z+-tt0@2M=&0%M!ti>(Z}ofSLPHf!^ywO|8!jJ=>uA-~!PQqm>B9WvLva*|2-z1jus z4}CLpd_}qO<}pIZ&=t$N2m2)ckk3mrAuxZ(wXi!X5|?dVW17e2<`&?$8Lt1;hv0GB zQMalvuWIinOtt4LDUc9^t6h!jT literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/124_100.jpg b/examples/data/Fruit360/lemon/124_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2cabd4d49d9bdac7d6ca4cb99024f3e63e31e26e GIT binary patch literal 5185 zcmbW5XH*kix5ozqgyw@Z=^{<3g7hX>9tjX3fI@_Th%^!D9TB7#>CM+DpcIj=QbP*} zBtWEv8iELfBE3U^Kwf;_weJ0LKiqrwtn*(pYxd0g|JFWh&OSpOr%nSG40QE%0U8@fArj+pauO=I$Bx~Ej=AQ{XYZD$UqNf1k=+qFf%YR{fV>V7P zo;pAC_VM-e4+sp3h>VJkiH(a-OV7y6dh@Th$h`c5!cRq?i%Y&$RoB$k)uS4|w|8`6 zuwC6f_@UvE(XnyD#LO&dZhm3$_tNs#_Rj9!{sH;$=noeS0QwKsnf{MlY-e2O{?q{c zhl}Q%|JeYs(b5TDr)R%q0=D(!5K#zY;Jlss@oO8SsG{j6*AuTnri)@qGvZr+(EcI& z-+_hyzsUXz?7z7t02UCNyK(AresDJxNK_7{fOz5ChM*{An>p@^(PTTiLPWB3nSTn^_>t2#z{rhce{ zB_dpY`C<1|S-R&Z?jNJFlwCijT0W0#cLPZ_Rs5x^%en|(Yo-EpOjIB|D%cT)9yn#v z&;Q-Rb}aH4zgC#lZroy*y^NREvt~k>(x#r{7QbQbJab&y)ZEHzJ_9QhKZrWu@=JW< zAM6FTJaz01NqyTVRsB&nQ(1qvdSeHff!G}ss+rc3nkkcEFIP8uiFo!)Vgk3}^pOg* ziBbXg&s4w(P4GQs4;d0-ZnDV#<=im5<6O~@z!%@dUb_~nTA9kn7G>Dq&XJ05IU-9R zn^Bm^RNypma}0Z7@|TQ=z7H;TLOK>3nit|nZ7mktk(j9B z_A;{H=?hJqBRitk<$B^^TbIh^SV&|9S#VHIx6 zKX{$Au0Zo^*r6&%dfiaYY)H9RTNa@^EZkU=4Qlsvm+`+ zVw!ALop-G7hQ2zO8@<@1iQHU}8@ID{!&_pY4WXY_N@Ps#a_u@rbDG=*IJ+04N5QE2 zOjEUi>Le`91C})By?H87v(fRd7J*={VaKFprN-e06GUkvwxpRI`F>+CSZJ!^x!biQ z5coca*@XP-^j&@Q!0)!15<5@hkFeQy`oVT;|_H zD)O?Jb85DMFSE8TRyKzswH!LsD&%K_#wqts2t7D!QO*e{4o0>+T9m>$+Xvp0ANO_O zI%uifxQ1|+NKw?k_;a;D0o5bXk4x}ENQKH-iVrc@AvZ~{9w=nz3wp0v2KkncZ;zgG z#UmUpS@{b!T;`f$6!WaVz%A(6+OLdq$(JIoeXV`h` z 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/128_100.jpg b/examples/data/Fruit360/lemon/128_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..209796bb15a8cd3f9b46bdd674ad131c5dc7c451 GIT binary patch literal 5115 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/129_100.jpg b/examples/data/Fruit360/lemon/129_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21f0861257fbd53621c6c957ad8508aec6931267 GIT binary patch literal 5120 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⪼fP4Axz?6pGXp z*x`ri5vo|vkqq8VJhFu1=Y$tkyYV=1rpV2m|9GNJvatuHPE9a;;|)Kw?was~Be zBo&#Mgg6XeriYFT>r%O8>8z8StAV7#@WVMC_Nyr{bMNF&X;?BI946OzxP8U&$>F&~ z**&WKxj1&t^UAgbyzVLU$nPSF{R&??TqXK7nlJ}fC92t^^BXz-z1|)FED&MW5v1ND zO@`~urNk)rN18ogO7i_QaivrUvECDl#EI_Q<%zTIx;UgS`8qwz^7VTO=_X~k{1MO= zb_CqJ`t%5>dPOpC7kN73+ZagB_!1EiRp_+r8fj`Y8*@75boWAxu|&49P@3_e%Kmti z-&>u?ae0XdUM`ICTjN2eko-idZt~|}F!>;Y0o&z|U%4GO_Ru5n3vN|!exEP4=CT~H zPiqPbz1_QR$g5fuqSfDw%&)RW5EbO-u#&l)K{xy`d@C7s_=iFkC!Bw@g2#JAL5$FMyYC-S0z->Ovl z!|LkVOx3|2DQDKJ4gK_hJ=|*+^9{>Map=6B2RnZb#fzB`;1O*u;t_y)gCfJtn^ a_2I}gN0Im*D^ye1eSIE_lX(RljsF*O;Ms`) literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/12_100.jpg b/examples/data/Fruit360/lemon/12_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..691abf3b70cc157b8c117aa853d22a92b3999f00 GIT binary patch literal 4802 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/lemon/130_100.jpg b/examples/data/Fruit360/lemon/130_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4240a5946b7b21b1df16e0dd542e2811de5063e1 GIT binary patch literal 5098 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/208_100.jpg b/examples/data/Fruit360/apple/208_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4844db9882647ab02878fed7b192cc42b3dfd04f GIT binary patch literal 4862 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 IQ0DZ101FsdtpET3 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/209_100.jpg b/examples/data/Fruit360/apple/209_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a9615849339b1a72fe7bc75b13dceef10811b91 GIT binary patch literal 4837 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/211_100.jpg b/examples/data/Fruit360/apple/211_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..811fa109d2e0d7f7f8f1c557b005f31fab79eebd GIT binary patch literal 4772 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 Q>f{+Eiyr?^4mtnvAMc?#S^xk5 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/212_100.jpg b/examples/data/Fruit360/apple/212_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..349ff66299f5dd7eebc91b3b434e69e6b9d205da GIT binary patch literal 4818 zcmbW4cTiJ%l*exjBvk2GXi@|rB3-2BDNl;1sPwK>5g`Ing&-gzT|huUiHP(PkdBdn zger(akX}NhNRfmZN|Ful&FucOJF~mz&hN~KxwKp+4B zF)n~U0q6n8Ku31uj~y8k_{cLeF@c#N%n-;w4a&*_fwDp&5Egb8R<3Qng5Z;5c{uzj)9q& zAy9@4c1A!QH$y%c%n;4YP|S!9W4s5Lc$j&`l`cd0Zr_7S`0y)7q~x(kUa4*qxbuS~ zrQ+lp$;u{p;^e8*XQgG%$;zp!T~xoMp{e)xReb|Pqid#S<`$M#);7*Au5Rx4Js$Wy z_74aQ3J!^S7X3WtMQmJZ+N<=8%-31j@AE$t6c!bilzyzKt*dWnY-;|}j_c^`>h9?s z9KsL(92p%OC(IFl%`Yr2{az+-Y;JAu>{9mjkGMbp_+KoB|8Kc?7+lAWasWNz0v!uv zG%ybnv$zt3_wsG%Js&;^

u3D=B%^ZLE?icSr(GzCYLmrBn%L$wz4akp1t#BL81x z{|WYAT;l)-7{o{(mLmjAV;66uWl#oeo6i(}6Z8SCadSB5DpD za8)?*qRvpr8%q?ruGuMS`fE6}w8|+x@YUhcRqTnSkSyIB$pb#| zoX-;HhqsJBg%5>sVRTiHc(I!GR(7L5x)(xizt>v7t2waT@%ol8HsKl{F!f_1YN1<& zI;_K05cI*3WWz;~sZ9%(oLeY)LqtKAgAQo}j>($gv1$r0Y<^`Ym6T5|tKZ=rIni8} zk!|5*?6oo@^X7QV@Dh@Pio%!@RXExWC4i9VUno6_Qwvz6%m18Fqp4BwG9A#{Dn*{Y zS5=EnC|{qykM6iQfX_it&Nm$LE&o|ut)~Mg)TDiW6F7~sqyn3b^9W_f$R*m;$$(_UHueCEf;)m+E#-j9Uhj5;Sd9Yn0hjfB54&$5g zint5k)GnP=Xx|#IGs0%m0m;}3#(n*>io+?9QN6`T$ z{K)EAyeb_?3_+#ywAZ$<4@<(IdOk8CIKH6+{BSn~PW#`hnVL2)A%W4tmeGgK6n9qw z7aPl#aq&wp3B&qaWMOj^O>%C<=E56OBzD2`ICqbdoKk^CiTZFMb}Ma1p%q24M^L0? za9kqep&Enm`}yw04&Nl6+dpY<822xB&b66a;E#nu&s%{UuY~GQi^ARLK)g*a#gBkk z1I?m%A1DYJW}Jq`c`3-a+|Ib0V%YbW$jwXWd2nYg6fZu^lu7Q6&e64XfrwmYqI#-) zp#y@nGl#;%NkxQYo|&;dC}?f61R%FTlM6jpNp=R?FDf6m=r_g0+$u0ZahXp~XsPX% ziH#z(LZS>G`9*YnMjm5iLxT>?E)2xc0k#(L-;SJgz?<{hB5oRjM`*_<3+!ptiHP-u zvi<@Vf^MZWSuR?&^IM-}MocF|gWA8$aEHp@BRVn#MGjdEsu`O#4b=&;K6^R&ce~uu z*ES~0!5HiZ(2j)6s$8xgPfl{rR{Lm#Y4W~c#V2{u&|KuQ zl&|L!igKPYgJ5(ZL9Br*UiD+c%dsG*^#j4_!MT;bt53qGdZe6zGbxz?ItL@Y*#>bJ zEXHJQ`oI&ZO;VqXC&*d=+qG_Bhv7X0@#m!bb;rrWrn+GbB zc5hwP-g;UFh~6Q@^gqpK%Rk&je`G+1ncO0G#d=mMI1}wpRrDxd?9l(Jq*K;|o0YqrIRE{S#xJp}jqSP>zhWdG`VQn^gw8_B21yd1e_I7}zMDMhiU zUfFXI6>H(<)CM^2JUtlR(YWbunq`x;~3GGAA zFXC1}i5g8j{lIPFzy%&} zdi!91e2ueNE-ET5j;L)sXWY0Q#o_CfP)$2?sT@b%tGB>3H%@lc%Qf7EQ~fv6?!2`~ z3iW2YUDPjHDAw^=dj57F&+{uqJ`;}cLrZ%N`FdO9gI1Il2dTa8NlYT`oR#DF4cAY8 z?>c=(mOK}*@eUHU9(I){4ZA=$|596@S6x`hcT(hEo*uNQo)_aTXuz7k{UU3Qi?BKz z-9~efF)R(7Ql4$vA#vL?e4YUt);*_Mop5E|Xl3$8R#)-A#trP8u+}|xc`gGA@MmH1 z*QphZ`VJ4DZ9r8wtR^!yCu-CzV$GjCVOl#J6+0Wm-A6)*2e3bqmU*(VfK;>dmJUQ$zq?PiU81Sf9_X*!AB$*auMc=x)f(v3|1`v}1Nrd5ee(IzvxZ}k z?J%5*`@CG^j`m`e8d;-7Xl%|UdHE)&KQE!Dcz9v>1FG}~O?ti(lj_(ZVaSsMN>%+5 zku*~g(h#k7?y=FkefY9U~X0AqSe`zEeWKL{|&GLQs*>6~@;1br<*M)+@fb zP8+&0gH86Pb{pBY2ARLw?)u^P%`|7?p zOO7es_gxVAN%zrZX7kRQnvD}??qgWeo#fHpuRAl;tU7q~PcN_IShtlhLe9iTf_U@I z(ts+!Fem?fTV%{s5^S%O5=&t0<7`1?x4)~+_W0aWec2m#X;Yv+1$A=|y>iRF$N{#| zPGb*b%$j5@C4zHc&HUg}kj*!Z+5<64$)QGpl>zJhm%QFYLp?Dibc%mO6!CPw zPv?WWm?vPFiAw z4*Q>~Fsk}3tAgnyk@U7%bj7`CjAm$GJnX5FkiK7XMW}qJ)^p`1yRqnS zaAb&L1;!RU0wHmzSSl!TFbRZdC)0IGDrz8X!%q2(pn{Ynhwav+SawFV0x7TQP zvRmr5oa{O4lMrEEmH`3k-IQ+lPs}E9WVP%-gErLcRiAcnIaKI7#v0*fRF`a3!y9b9 z64llv0_(%gzw$Kd)l}aVGf(&NcFnwO>gyYKz!)4s*NcgGm!<;D>eV^Uizj8w}C zELe`$PMc87=6E?cLCBOT?k1{HtvqH(Mrexk&*X5yvO;8MF68-~ASXvjf$xXMI-c3o z&)C^C#~PEh9(Tf;F-{aZs5*sc=c^uCUwep?Hnb9M?Th;3Exs?DE&_|JG!eK_S7y(% zK162cEtMkv*{j*JBMS^qMV_sl``f#B*^E{fRT5M|i04#M0Yzlfp3#KE+v>-UmmL_H z5KYEmxP4LdEDvF?qN3JbE;wzT`5Px{%tCri$(|`_*InY{Yz>&EYalG%mL~SG9OFm}YJB6QfuxI!+QHq>;BSh7A{su}T zVNT&8N-l6y_XeYAq{G{|4;h8av_uL+cc9{$?Q=`WmbYtgBQg)m-se|}p0sj7oJn_g zP&8zUa?C48zD&u67`AB-U0H-Vyb?d{Q)}|N%%Z@fsedZ@eVkl3+qw5o|EC70kNpR` CUqSN# literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/213_100.jpg b/examples/data/Fruit360/apple/213_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5b85f7079b529baaef90df760419b04aa24ca36 GIT binary patch literal 4826 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/215_100.jpg b/examples/data/Fruit360/apple/215_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66edf846af2c678d6a5686ed8f8bec95db00b9c1 GIT binary patch literal 4869 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/218_100.jpg b/examples/data/Fruit360/apple/218_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33c907ead02127a3a4a9829fd4ae9b5876544d15 GIT binary patch literal 4819 zcmbW4cTiJbl*b>2UZgjbCSXvShzKYW5CK5}DIp*w(!mHAdI?0ONN)-#RRsh@j8cQr z3B8H*DkM}9NRVKF5Eg&GncaVOXLk3zIcMIRd+wd@=bn4#zI!xrG!JkY>KW((baVhf zcl-cH(|`_eg6^;VjVJyZJ?L*_pr;4XGcqtT{^Lw6%#2JdOpJ`oY|JdIf9?2h zv#Y!3`|!x<*!aZc)B>KcxU{^oy7rT_{d zmy7O1;IV_a=@}%H7Zr=DU&l=5q^+q_P>2-_d7?RY2+rqnT!oe=7 zPv6T3%NfiA>iywPv>$NdJ$Y9}L3=9rFkNLr-f#NO^iNTR?Ot1>i}y_?GvCTgCvN0U z$4p&h!FLco?S(N}mJO4_pB2Awrck%|e_j0i_2<6yY|~oh4jA9L!AXS7hvn3w1vJmQ zhn#MA_sSSJxSQzZ62qgae-hQLPLFyY%=En;dIZdWLK975ih}Y9s7@zOISs{M9qQaS&O_TkXS$7}gY~b!Fab%$MG*E_ylJ zNjLn20&8}vzmasx^G4cU0~)k7{_G`6Ui6_|KzzZN%+)6JXKRxt5#Wm+pUS+YTnJNIed$ z9RaV_9I(7HozUu2&kei-nm9OTbHTKebjR>!2vrk=+ks(!Bcx#^2m(zA_k2i)38h>+ zK!kT60b-ZS!4?!4=}+r^Le{)P(OPnuE&~;(WY*-8o^gNDyhZC)%c?eJNfAb@`Vy8^ z&(#H&y8M1}HcjbCl2S5ixpWd`MM6Jaw5m#Ur44M(nK{)*-$=?~zn{SU?Kj*e5)ZbY z=|)ApqIl~?smfh9fDa6Ae?E-m_^QwN;<4V63YCIxkvg6l0%yz-0MI1Ynob-6Uiqiy zf+80BNpU^B?c<1LJBl|ek7~+E*P6S0nwtK1tynmF(62d91|@5gq9fe!$!rMAFG;y2 zHXn9jW9A=HZEv<+SnauWUmpoK(5sSd%K|S4QJc6k9Yrpb*&hlQ=<-<>3llSsOR+mW z-sFafxQODXc$Af6V(LBEQ|DyY&Y|K5S84+S1T*3} zX8Yott%WjLG8Zv3D#Uvui^RNbmz{jIM^?MY}X=WDMuGPBWv2hbZ3s{ac7I7xE zJ%e2g8xa$?<)0XGzouu~*7oMGZC7>?b3r=CIQ@M7AKh?7yHNLNxwJ?|3@wMaE^Zxe zWc)U{L8Tu&ZkPEMK32T?=T|Zjv+yTcL(s$js*ZoCoTGugE`9V4CZu9muCc%I`&E5)vk~s;$;L4E^+-?kC5Ms}+KtP9jzubWrzcS~+#EJ)x8jMh@+(48O zCxR`ZJSwW7j`Sx%Q%t{z#gm}|ZyZ>nP9G8ii$PfsQDcjhq7Ans#Y3|837s`W1CO&d zI4e-PXMH*9kfeWm?p)FxWo~TO1+{>=fmgE zmh>0d3!XAxUneIN@Xc03R0-_#4_eJ?N@(+|nDd9R5cdYiZpGnq6vKh82dRs+)OPrR`y zZ-;5?UDOfhxm8cN-k{te@B>7YEvAq&@Y|B!3QH~bQ+b3b%GW@)mygt{sdzeiFd(=$H zA;NqYqrx5+khXJ>$wlE%sxnDsDL;<-Raie`@I`WPmsuxhh9G7O8~?$9@^C3$#Sa_- zW>^?9=7pMFa?bD0g{j7KMeYkfYlc>kmN1r%S!!}E%7o<97LuM*>hwNsaz4#KYWG}y zD6SDw6Pg|G_tNbhKv=g&7gD}#S~+ou-*jY4VM7jse}6RTv{$IB9+_fuyLKl>4H5)P zPwu#o;wd@rkZxYAsarbrb9_InMX7|oZYeRi7+0?8UGd6uM16J!nebhQu*PE9DU(N$=%jjnHJJ%XXUF0n6VcF+ z@yMWMJb(0xNruczQ8RswV*B)UF#)RX!(RCv=ZzM^h-*Cc^W|F-*i;wc8AFA+ z{3JvN%E?`L?nZ&Q9~m?1WAL?b@D*OB!|xR29fqQUz&FKff{%a}8NX==KfGHbT!2(l z^k$7NUlUr0v@tBX4g@c%{dwDzr#LyidjwF150ru!Xs4+VQW!ZgGAlAOnpx$%1YBv9 zFZVrih)Ht7H1^Si!+sNWK-yhqzov+`@~NEkH!vGw%fy6x$hjqa7~%N}EHb zm`3=uJ<@-N=wBXr*lNqjjOvCiWZVdReODWPLntN0ZHa$(g(?V{XDlG*?~ag8R(c}> zb~P1J)~}2Qa&K5mWv;y9+Hujp7LLV4sR-Cyi#AAQ_tCF2@8hV2bdipa6_y-_9NBKM zu^g5x9sU=l@AF8oJ#Wg)4rg@bOt#6!dguf{!QUk7u84{2e&~2Z5XgSiyYS11w?D6s zgy(ku=}pV-gGrI#t+_^PBCY7%w7YMtz57;yAD1|A-aKb>@cPB$O+3=bhti50kdgCt zQ}p`v=I!r*6|vUfHF(~#mGx{@Sb$^R*_>h#&!yq8YxzcC+^l7x-i@U5{IMwYqK@*jF}T_dEz6Cp%f zI7M187A1+dbK1pGB=2X2pBVxFrkWSFoG9?{RRZ0DbWjI-YCEA7>U*cl^^I_ygU zg4&>Zztej7+0d@r##p(@W=Nn2gmnc>Vl`pP#ySjM=qzryJF0QpRc<7$r2SFA^KP=n zaM5Ga^zWLXN;os)HEzleyIdFUE%Q26Ck@B?T3pCNTAl>JWj*FTtd&G$c~50R{sE_ENY+rdrs@gi zarS|)RicXUyzaTFA>+N}wo4He(g7WM$R}g<<85=NNlb~=t5pz=HD9|K6Y*Pbqc8RS zG6n!2#J=MZ5E0lkpOOjx(Z>~!haA1N zUU-(l2^Wf;NxyPm>$kAE&Q+6^!Kg+-iUhGzi=sbYrdICP#Od*9(z=~5RPcceL(L)q z*~^_*IAnL7e}@UjaF-+)O@-hOPZ8R}WxxF*U%$F>#cpjss-mC0H)q4|5j0v$O|lyP z_Ax}XY5qNgs54#81p7i6KadJCrX3iKD2N)Fw|)uxY9yVI_*)>#LSQ?#yYuE+>jwXx zD&fboz^n2jsnb0X-C-Z%#T7nqs)O?C_F?1!s3Ac^v<}03Sd5;}7WiO^VptJXy)b1ZWBwkZZGG>OGms+?LzW%fqB^zBRMlJ0mDPFH~i`2YG@P;_uBn=povX4?6rjsM7zFrgAXUc_nN+ z7&8fp$|oXfaa##T09U;ZnzYhBHU|)Ac!RIXg*;TUowLo2qdn+6{c`MjpZW5mJ)La= z{k|NW=r;cA*JnIo7fVvERd-l;$%y8>`nk=y61jpr*ijVhR5SQ!^Y!ouNTo28B5DQY ztPHjKAuV~VBslH};IW~=+XQ%LZEX!pdGw-U9UlRpy6a_s@WV9r?ZfN>EYB=$EFAob zZW%(+du>b8^bcz|IKHQ~h@zbaDd6faKYy@moIfnad&qM%{D}2;PcQP9GuR$Z70~;p z1-?dyxtDZro~++X2+H7h+*6n&iT=e*W6 z862gcqSt7*P_sE`o8#5t9S+Z7Q5>cedzQo8jV+mO@ z8T*V~m{Azn?)3YebMHU*o^$VgzUO()=X<`-_jBH_^L)4U!5$&pW z9`j+csG@679P_EOynOuU#Ka{erKGPaT~k(3y?#?iS5Nkx}uF5)zXhC#Pg)W#{DPJ%91?O>xQF(z18&%d2Z@>*^aCo0>a1ySlNs zp5DHZ(XsF2_#YF5c_L|HacOyFb&az9>-Wy?9(DiEUoId3^e+}I{T_>l^%e~T6j|dGfD5iIdZtte?vU%xxPfpUDT_0;E`=I&_%Y^jJeZ8`<;lVc@hiPo ziU}jG-)(K479Dlyb9epPoh-WSZ=Dsp?wC*B+SSZ58y?uKDdT>&e`$2HFo(>yb*3n> zpvV9|(-yne-}x1KHvO91XVYpUGNx>0`vlPL+~y36KBl9<)J;zS3{5A1IG+gZF$bR$fRJZ`HOZT5Y7sVcP~m?YVG)r&Cz054zSzn8 zoc*(#Dz1Gts>_Yta5UvfXB4I)QU=d?yt2?O%^4h@-q9)}BuJ!$`WA6xkV{d|9f5uF z-;tr_-jL`zWNy-yVAcr$45aZ(?o=fE`JMp0ygGIFTDBP1hSR^)eHxl~oFt3v?jNNi zz4DE`jyd2_-!3n;e!eztdvEbaO>1KYgQ&h=U^R@-rSCoX*$@17)5i!$Vh3M$twQ2O zy47AcJapD@FrHZU;XJ=Xe6(v--yq!5`zickmqyAlG5p24+*W1$d z(Te?{?OXuj5@P1~Du%+C{az?ZNqI!}bwdHhy-r*-FRN34QKU556%$2fPeJdPa`t52 zJRiA784~O2#pn|F00P^u6MF%385#@-pKcXGj`X1X>Ko0{mg_xMAh85Xp(vl1rr+Y7J_-!0-SeUzMol>6U28 zM~}R|-0dQ57VepR?g}O!r2sc3XPJfux?AVCyJZAv1Uf+@KF@Ri(hn9OmwxHa3EN$N z`3H}?9$JzrI&91gpNk)@_xY+G?ot2Jyau@ zNoTxG4C;D-{Ijz=0d+AOyIr%gVpR~bpPt`hS#(ptpZ>$t8NR}uKeHzQ#(HGC1>9gB zmHgxcK)*trCaG@zzU?|=13h0iKjZ69v=Ev2@F+E-)&Rnw+9_NwO8< zrxU6!uVAO=*&i2*Q4J`XH>gE(2PN@VAAxA05`#zTm4ZC;9yc_IZtnbt<=YRMwa_R9rEta~}K?a7n z0)Fc9{654js(&~RR`)|jMkB8~t+5A+7-4MQ`qp6Bth2^`*$+M1vHN`5*67EJ!#auc zw-(ZIQ;5)F5_8FI*NCRY9sp|=p(zG*r=g}fLhd!ps=z7Il@FM4H;lh$NT>s{-Lj}G zB}6!sFwvaoMTR2uziZYsJPFvr*83!DWvI$xZoGDT-S2i`eam!WlvtSMS2XF(i)RmL zy$MIhF{;59liIg99NJO}2XPRtuh%+6#j4W4CMFsc>*>GO_aP7pA3sS;f_(9(!<4oA$3BZty5*j)^ zj)LY1wHL?cRiKdFjls&{K!R;GH>TXM5Up_iJ z9)7lglc#>W@&yy*JgdJaN#h;5J7B_&G=*Y4=F?2#481`psqvFNTGTp{MAxOl{L--% zcM#)_Wn*o%4G#}>$rdE>R`NRbq3-(?+w9%EjzMQj&(xHH4=NY0tf|5BW}Q|{xw5tV zSDD;%o~Rk`F9<$Re6@UpiaMw{W?4T_A0ij;wlq^p^NRUGhR)la0KDyb@Y;HXr1aW) z#cV;B`CEeD$@EXe`Um(DoQ{NoLL(cR^QS#3|ELP_!9CFvEH>uDE@5RWFPmj zD-qnd{?tm{QKC9V!N#-s$BeanMJUoZDy9EBTvx8A>t#}(+tewQef?53LCCVFc6e=i za!4^+#&vorVaOG(F~l$g*U)M|)yMfj`DK+ulum9T5Jig^k#-_pb;St?}iT@%hbKodhvH z+=6yDNr^O5{m2laW|t`&>I@ZT6j_H&hlMp!Aug^`=Q2(W$EEQ&)-+9c(GlH2e2p^stl7xqzJe2us`M-Rd1^ zChb(!jKFp7HXmgwMGLXpR8aFe)(F@~HYxjwV&eDH#yo<)?Z=*R=0D}0ava=Z_NIW{ zELtr)!z5F|xLR&jDi&0@zut|s0}EWimHJTHj#-ejCh(d9OM>67IL4#suEs{b_Ez9O zv?#Hil*YV}|MII?2f%07#&3l+n8u-AIU}mry?Dx}4u;qpi|(l;J^Hx8tk%67gF&L+ z@9WF_vaOliGDrVP6xgbafpo*pn&jITrA9d7@T)d>!o6<}4aR3WACE@Oxrx4dwpw^x zmkLEIHOjXOS7j{DdJU>wE>-(I=rb2+&3kQB|F=Jvaw1r zVBvQ+7zIx%MBAy?ev#cSy z7PR9y!RnrXqy$I1SORem?r;f7VUIzh)@fr3bREtQNy>aM(>(w#w23_%)VUzu({TEsjoS#V|Y7bPE zmZIbmK2XuH+lqQMktI2C@9vlwpjXq6PtVX+h>qz2GyHrLb(S*Oo@)lzqqxi0mD}ss zF6&i`h;tecs#OVgpr8#%V_fhqAFEv1(u*bMV(|1&L;_rp>M)OrL$ZXhKflV?-`;>;SbN0vZ(G{PDNE)rACG_Y!LEMpw)VXsoMgXXJx+8gMDv) z9Ni0db_PJUVMKKM2J(xb1cr>Q@sZ8h%!}G>80RXTd}2d#trmS8Y5sxfVj2@|3CHLg zQjmnQUAm*}Hs1o#)f0dql*`&%*^52L@57{I;-6{dEr>v$vZRFSPA?k5m1AB$Ra6Y^ zlp?A3Urs4A`=uLm0w5z5_hDl#N|hSf%^T%4j}5%+*^KPS^d(!MvJd60A4Y0<>u#lO4S3q=bpda+J&`?+zG1$A% zKJOxHxIoI{P5^)IR7T$e6>Jp#r%?MW_1a}35{r83C`Y?_-S^r;2vS}924_rJ*3ao! z!H@*b8V(r`QB;TvOdvzC5b~Y(nDx(5K^#zdBaj&88`MAloY55hXAQ@aIe;siMI?|^ zNX(Z*mG_VJ=LFw=oU&I`&c|(+Q7^Y6q^S8s2$Gc=)aR4zk>i$XX2fYd2T;p2H9Xp_ zr!`)6O;4s}P6xzzp=1tlNt3EKXMYS0jlmzVBik>vxd!}TTcF0zm30=2x5~!Z*{?@+ zwcXE;J;0_vIQkac3;M?PeSNq;Qt;irZ#ZX1ZA^bXT#L2=xzlD2mw|#&?8n1Sb(>ED z0?UsIF8jiHqJfwFq*R|yS3J0N-ns*^x^M5!;e=l0)QOYKkbVce%LcQ`x9yZ7#-+Oq^F|;(J|07F#O|;%uEc7%!~{SOsq`IEPsqTV`F7u`?L6S z$-hTw=|LcR7Dfife^UNWfzk$WG69c)#~>OpfR>X6#7RTx0z{}f>Hm>O75lHz(1Pgb z85pTDSg8rM98~!r5LGliRWUU?n7R+panf^%D(NtAn>#UzdGaWSzsX?|zggMNYcYbC zPKyV_xJm>^ba3D<>uuVd@cM|R9sbEQ(ITx(Ad<`+11^H>h0?v z9UK2Kftj4b&Mz!3Ew8Mut#1%^_x2ACkBG;=|8UU&pntKb@xSHbq;k>zsR833E*e@t zs)IP`=tY$nxOB`Jojke4l*5^LZobK>Y-bi%vB2{_@)}{`lejW3N%({I583|?EaLw~ z_Mc$?#f1gfKs40ifj9vOa7xOJkAEF2fAMujoXyomi&4!AmSP4YiGAQMD1l4EGr8eQ zs_9Jf`#ls&geb$_wi6ZoT&O*ntUQtH>R9Dw`B$C3jduSLouUYsiv=8El^9RzK5d2I z${@8!RHmN=F&K~RuJTv!B&0c3`@35TcV6BqO53^Nai$AlMsb9Ja zd~QULBt(&IVXnZSu1&vLDE}RSVVO<$hMGCI-K@DkOurht=Sseko5)OSm ze^d$tS1f`z&5qV+L5L8Jwj*&#%Dc?A*B)lu(3KRmi%5${Iu84FWeTCPt`a0M@d$Ak z<~O;-o2B#oNQIVvOc}y^(aWZL{FW~ zgaT~O5v2}Ia{YJO$TE#E2pbV)JnovvEny@0m!4pGu~mQ${d>RFa=YP~IxDOlH3zYt{V*4`Lx zU+Sp-zLWy=ov!YGncA?jNK{<%foC9b*>iYng-HrPX3@j-5Tv$_7iT{eG;fW!NR@rq zKG3w8ZpfC_42Vn2T)X$syN2Ls_-^JE+~~@WkzM7)oXhvYN>6j+A6-l{++GMMm$25e z82cB~(oLs5WOztC#+HWP=ZLEwVA>-Gy^BelA($KqSx-}J^@Tt>}Z zTx6jMb)f(el_3*NDO)FaTLoHw?gubOZenSTVxPz2P+iU1u5yy~qFPIFY<-%@;k0cvNAysjLF`dQ~prUj@^mwl|&k12+ z7P3e>fWMx&F81>>K>|~sD4`gkt8f$O71*&?h(z$;pIJAN!``X761JUb#gljlAFS|s zVmlf*XL)oU)Vb^u=)1ma(3Pc*?!;;=}!PuavkDZ&p9=V6yb+;EM(^oxZ-hEq6i5A)@cn27p-rrw&sa;WQ@StUwLBjFF6^xK z!TIy2;ORo0k=G(l;VAR&PJ<2qCWQLj61~v*WV)o}L039>6>_cmFcnb;;X-U!| zR+hOPI`Xzi7k|piZYkL~bkd(*YX_8ut$!HFLOp5jdy~pwN$uDv37_sjgDu{Z2mVKg z(x=5iq9?jR5Tw6{&ly`8j~oY^mB|XOt^tyEx&QUYEWb-7p?yU}c8+-&6t@&_(P{n2 zgPo4h*x%~iJ5dNBB7DBqWsGE!W9wdLBt!oe9BX53gAxjR$lh=T`XwmmSc?MC8xor+ z03QW-c4}alV&!&ahqbp!@3WVk7{7zU!Dg!RB6^QW&ZvD66yH9|x1n|Rr+mS9e2ipSgd;_~7PfYM!fN&d0&d!V(d3wu@^0^6rsC;BG@O}<962?54gt7GG*;L#vYLh(*V#myh3kvtX@UiqphYbBgw-JRIXX zALUt`9XSZhmM4}=Ry6yIH5lwl$~K#w*)NB6abY`oU@xvGuUsFLAoJ~C$gLy6R6n!^ zJPLY?io`a`d;L<=c9x9zstlz&SyWvci8|D3>Eyt*uDCePx|r%SX_+{i1zftoEo$Y# z4{HBCj;RlOTWomosB~)SGP@QSo5w1?SBmBxoQf&$K`IV=j!(#WeJJ1(=g`@-6CCWl zm*Svd1D1g<`7N}PRR88Au7p0ZpCo@p;wBuiaR~9ycA5RTvq6T0w2$s&Wb4rVQ&6C7JcUR zHNN;?tCfVe<||J&(a||oW4;Nm)P?LnF#c3L3m)^y=Fk8sj=dm3Ly*`M@_r8OOdb&}_OPn@C|I*6qaZu%4+byv#vJ{|yPwcx; zy9ZAWxtNd59O~}L6FgQ@G{l-`mutzU#F1~z-dp#|)!50p#Lp<7)G*Axn(dBP;0>}$ zTR2=Wv0dJMB$ok|&+7UOn8`}3|h(F!3-5I&u8-B`F;qJh`ak;)!!2!7q2^pwqe zy`ulC@`viQYogu9sZf9DwQZ~N@*XBf z)BVlO(s%rAC@IyOMnXW@cCB6C;a!?{g`eL7Ifaa$D)?otKxvebp!=u0f=_r(gjc(`2>{ z`ckta74t|Y^&`{C(_ZbS2(S-{3RKknIl;4Qv0U zsKYM+Uz_W45E%`!%$X&=u&Xgn&^&RCSP|e*^l^$%)Db?3Cx?dO3g;@3RDI4ODd)&M z5ffxb=8aA?9#P_Xfp235SL2cnMo4M$KUPyyx_chl<*9GLc8gp~|9Xe~WHU>MzldLHao__KEO7K8qTc1uWY_uM8%4X4YNbUra(Q|`mr!nzyTnL%GgKwDX;eMvcM zk%ymcC#Ou@S%r`_9~$UZL-<4V8z4d((I)}PSAf1g(5G=k^EsC49VW!RpR8PV$$6uV zXpT7*nUB3v7im4)P`q2_x#M-$Nj7Rq37H4ihMdvW)_*HWlrNGh;q3D3N4r)gV^cl6y&Ty`rp4!m460JYr3vYtp z=FBERHm8jg;063lXR+H}Xovhf>$ih!PWzn4*f)xglN@2dR@=i1Uj&J(ZF6iS636qg=oK;kwyG#cAi;9XN{C!Fj0F1ecY z)wnjJFLep^RN#i=tPIPvanZW~sEb(hn(hbUpzo7Vwcu(!9;n+=;u`JZr@a(x!l5J4 z^29z!V*Cb2knM{fsYdq_$K}6fLqcTgYFiJ(R0O#T$o?b>JLRofX@cZW*mj;Q#e}m8CsB z$cwft`mVkK9SDnHCK4zB!(>Q1grB72Sx$UmL4ZW&eY{~0(QS!0v@rd3ro(Viis<+7 z6>SU4u|&Xe(eueuO&J1T?RkxY1e4kyz6S<-zQGGJIdQz0qkCAD;h%w?_iVEoMjvF$ z%6|#uK7}3Dn^QkRdO^OPzFuo!31|kV`jC*4};2b`C))&B-^i^tEI?l_c7@5shMg0dEDmLJjfs^ zaN=O#<0XH#FEUy{sZfz{oapZp%yxPd1;7m*USy7-YCF7It$OgnbEhes36MS6HA6NmcR;WyJbyPpMRDa5)h zNSsoDL6WT6p2k}@O}K()@R#bqG<_{8u}8rQ*3;C6U_}Q&%8V31eGVAKOS z=mWy@x60)|Jglfcki5g&&-)SGvCj-^T!NhlraPFTsAT_0+^Tp zfa$0Kj0xZ(aE$4X{fWo^7#Q>?GK0Y&Fbgva%RkP_&c?#Z&dS2V24Q38_+v*sP6!9* zpTVC^{#|;E83bbHU}a(bC*}VX7%c!V8{iB$gP2YO$9S1QyiAOC0D7d8`5$>lV*fR! zV<0dy3+s^#$Wa2G=SV&XbR?SjNbynj1%*)JoN?D(U-|`;oXv`WNdc{_5T&i)$R<1Th^I55x-~fW!T+AH;k~E)9aNyJVs{#+?DQUI?41IPoEY1Z$3* zu4HLq&J&7yH%Plo5y~`8jYf`!v4QV4pt^*`EhONgF)i0nUfPNs`x0q4Upj4;SiO&m zQCS^R_;tuesp)ihiuh~&^Z@1*?Iw94(q9MTEVTc<#>aExjLBp%tWfe~e4>ULDf=`7 zh$zB*kq{X2QN3eFs`^VUp{G^FX4yKBx3XAJTS7L&`F5g+DcFw-wjrcX@`=yv9q+6| z1s1Iwf8d;AS9sz|nq#kDh@WW-DRXNbgdzM@;BJa49($FC7E*ZI-Haemqc~M3@0p^f zn!|UC+a~pdGSd`!27aX+q7X);qtm~HwIbYJwL&{XzfEqF(>}0*bj?4@CE^$WbNrwEnCMy6;S z!p>r3gR=C4qSK3}#?5`+q$^#vY;)cyQL?VNykDZoQ@?gcQm3a4D{yuy%EsY4aijb& zZuWwRK;AL9BFTYhLF0qcx#Xy+2f8%F{?B0g4+)LN5xVF!+kJVOb#R6PO$~p^SLKO{ z+9#%q;hP1_F|RP!4?$G__7K*1RZ)Zh)!G(6ST%8g%I>CjqSDUJ-AjGsBBdl*i_6Wm z6`cLXzbTKo^Q@Il-;#$lDL_5{}taLFKhbO=rI|`3hCltgR6}~ohHlK_@i6W7RGB{5LE7_ZW62h z?o4LjonAJuf@skb_8HVyqP|0>uj~0z)9=b-?n%pGTouAI=iQN(yB{T750Pbr$^R8)E@Nol) zU+O3twlBHQs5(7{>)BJ|X6n?~*5&u3SRVv~MVI?=@piHChmU`*revod zi#Cz!O0Ik{$T^ZuGpROtw3s+|jYq7SdrD3Cw)y4ryB6=-oQkhu~u6Q}<@4 z=;55iqOXu2J@<4KF){3tCg?lZ(=JAMIBlN%AsQbp=lfirgxy=5OUr1I zlEs#2fOk)So{;H1vykQ1XIU)Q_rUJ0R#2NhR`wZJuZ^GZE^e4eRm0IavgRxxGz$l+ z47{^hWb)3E?YF85v<5sfxV$0uN|Jj8pSnSxREfYM=d0r@|x!z4&^qL!qLz|Lt!YlT2l6IL2H(Dxu1cxN_Vu?N?nU3F&AMI*C ziNZDMfoNCyw$>zmZ0qW;Z3?@xpW$M|b+13Er@tF-uw{=kZeC!!Y7BZEVm+eAO~Jn! zxcdpaVO?v$@j`~Pb~zrSMy@OsQ}e0{Mqf|;lDDV5y7V}b1dZJ{+^$O@S|YF2jqCs9 z*kAzs)NvxRiYGR;f*>hecA~9AQQlmTHmAz-CeQh2cneGIV{3x7SAh=f)Fu7r#>0(` z808z$gmwb#sX}hOcB!8i4DWvLq?V!>3U``X_;E5xUE}Vgy5B8KPK`JHlvKdn#>&IB zv)V?#oL>9io=(6>E!*bDmm8l{cnkBjmskAO8(i_x_DyJhs05s1psNMDCtxl2-D$7s zX7LxyDSTPs$6!8rS&9(T-?U!c)d4*iHD#*P?Y<8e!CgE_jTEx}?3XR%35Bz6&!*wT zetfl>LS9mC+qIYOXD|Pvtj7)qY^wBlHt1dT^H0%AwwIhMXe`d@`B6tK4J9OTT71Z` zZ2N3-9|y{wjtXjyD;2oB37ij=7~20}YPp2Q@fHlWRbdvxTAQI{LPP!C^y%aXVUq9ymX>#zg0_6W>Nd}c9o>=&d4!s_)_z2#Ldr{~P3EXZ6Fyy3(;5?}_}5?q5qFsE(11dv)K9}E)} zCzIez7OtyZEX^9dpHek5w)b*ULlkmGFqvavW}CX3R@AJLb9q`AQl%)C={5hfTBPrs zXp@18d>@H3peu!4f~1xJk6k-%c3$VeSwShD%c8lz0&l^$=4#fY-z_(v2?r-9MrM*_ z44b6T&V`0DJ)$RS>L+vhO{8AY*HgzQYjlgT6l1JYY(E=LX}TTGOAQ@7E+H3hwivC* zqv?}X<2j3G0K7JLOm$N1jY{%fT3xjpMOG=*WFj@BqtWYG25;l=Szbf6HVQY5r7MYg zLnM3IU}DxunI59N#j$z>|H{CG>Tg$J$AHLD>r84}$2l>3eKa3;x8Y-qO{A}98&1tY zC{7t|UEIF&4QPQZjV&}1+Tk#Nzn)sBshaH{1|FvA!NB&h+HXe7c`rNjgj@-N`z$sw z*D4X3L|^X@Wg)vQNn=TKVI9q2I2J9+ylQ)H>$!4GjeNtny6!G0>@)ukjy%$VQTlxO|JDjRRe`Gyklr?V)eL0Lf7z@cJ96jfJ z50gfAY7SFS35d2GPr4NOi#qPzn+|kmtZAAgUgUL^{oPB#ECv~;n_m+J+~FsLigs#} z8~yU)D~cmH?{jI={9yZI1l%T$K%^=VX?%;wepCZ-{9wj9N*qTIpAE3ff^1{IY< z&F{<})VOv%NA0S2uSd9Xo`!b5_qM)0HUcqsr<7C1qE%A0E6VVNd379GsD&oT4%^`i zw8w!reRztC$}|gMU(lMW6bRgC!Cn!<1`-v73$#yLqxn>7Krigwa+YjI;9l{2+8PfW#?CMcf=5JDX5y6%==SY50J~&^MZq7R9L{;36?}6= z7PR3-=P*CIrJ3#W_#(1yxfdh0YF zO^c%N{=Jua|1F2*zzW-GkKL0}JN>zWK|kX+@_6*Yz7cfmoasKPWdT3K+dUTE@?KT~Sg_s4!--R<)?yx_9#L|k_e@qEu*;b6LI z7?dirkzW$zW-WBCWQ-LR`#ErbpM-76+}R&r<-7W|H`qRg0pJ|^UL(lf2pZqi)ck|= zR*7?yVsJghEO2DD5iI?%By46%aV)TXIMXUe3z+z?Mb99#4#V zuuVkI6U5UKhfk>b41lE#eT~{jiR%b~ud#+cCU1Tj77Ex1aWmyonkSQXSY(W0su;COMG<~+5#oJ{mw++ zRHhalT(MJ#FIX6>GS{82bDLC;u`!Tk4s?!|5_3}9S3BSeYdv}N&~q3STBY+rBi?eM ze*~E8o_nCyWUue5+;T`VuEned{|sMZ_1rFSnQX|Nr%W1i#7zdewM~|j!JGpQTbP)e z0Bmdkz{WZN<}`2#U}yVde^i1!fBXJ_L9Io*Zl^0Cq4N2bhi70m!g)a{VKZ zCH7xqW9Q)H;s&u~@UarA53}TRaIi#ku@tkiqgdkrCzwn4xSA375oZ89GyHo zZ+m&)@$n709~u^phtN5|M0P(u&AQ4s=B7OuD+qI zy`!_MyQjDB+sNqHIDTSsYMww`SX^3O`MFBj+Wxh(yGNz{{=>xvaQutKivKMan8n5Z zXAMAqxY*dkS z{vrF{fyMs6$o>=TzqqCVehxO);&Ffh7;x~rJ1Xy^ujSvSzD8)7$O4ip21B;lq$)#j z?NTOI51BwEEb;h@o2f2-&2qK3NM1%vAPu3`Zf136dGXpg?PKR7)L!?AiVK!Hc;aN_ zABe&2QU~w(3B{#pU}j#0{gzv20uo4fsyTUeLq(e)(kUajqJ5-$$%wnM)Oo5gF-Eni6_>e#*z=vi6L1GFFuz;-$ zW|DHf8cS6Pq#t?GzT35JN1cxpR<%J&6k)zPJ9NOveR_YPvuv)YDIe=OANd=9oTY5? zY5O-HEZ5TCT|z@u_txR(DNvCwr50K=CXo43$N6|j<=fdo*a9ks8qMH)!UQAF%VD(^|Q@}-#)93E@>n^4L$d6Mt0T|6ouD`c^A&L#Y5=P30=-ZpOO z0aaBfxa2-9$HrIM|0V;pIhe@=xEM?z_PTF{hJAF^+x=&riTYB-3XHhBQ1~!egu%~g0k*n(MUtp&hvHH3M15lT^047OarPOIvFDxgZa$?revf{G- zRrRvu_wk(JkYD%xE;j1sqC8&To=C1e{L{{9Z)HGSF}GSLEs+V#RYuof6LDVHNA?(g zlqgBagAgs6_pafw`;9ZE{c^_N-=-hY=@B%OeP~MDjIVmSDU7^0(rBOy9@5V#TMR!l ztJbfkkRIjtgEiGBT$Sc>$Ix`KD;Vy3ZxW$IyZ^>nqQ3Toc|hwa#4DZ4&tKMx4hH)z zV;*OpY8XZOd5xGJwW!4^yL@VwS_m3gQTv@mA9-4y@$qz*kU#j~^!(tZ9e%XtsDpu7 zz4mI;*b2I4V`u~xGt1X3jX2+CU(;~A1Uhr*rC7pZsviDBw3kz9fuS+tw?jXMivhjq zvKq9~=DB5EvG^LjnjX23A33RI-@2yQ<(!Dq?;eBuCnoo8-cP`Nus2w(1jk?oH@U;mu9d;|=GT7m$1> zmH*_&?m&>9X^JKj01$g-l-W4!)R674rcU5}((6=lF~T!F9fO2hLi4W0w{_6p{4tsL zQ0$P?efFaa;vKBqK|I4?8a3)#A=5sT7B*h_j-n8+vT;(R&gW_oe=rn`KbssauKcq; ztxwmHzKwLFJV{{4BDU=)ACs#iRI6`Vu5W}&^g63(dMgs}uD3Xz5oOTX)Xwd4 zce(k241TLrRf_L*_0vqVwurd!2S?Ujno}aYx#peU+}gjHYHw3|%2Z7Mm*MvTltXsp z$g9GG{MOODgG|wB%j?bdrg#}Z-$DLUdl9Xt>!{7DCxAA1fd9?}xKRq!=&QrR1`f6e zNm(UugLET)5wk|Z-n{90=+s-9#bUF`;EXg;N|~g}N9_ZpimC)iEnZeuj0i5_nIlSi zCL0N~t=h$U(U!bm#Ew z$ZOj^w!PsY@z=jtGXVr1e2>Dtdp^+U_2LB+!Bq2yx7vIUhiJ zkxIbX_N*ERr4ufTzZ8ev#m&WH$d1^_?Oo_W%sPV~>GrMBs?fKP@Oio?f5e98L@FqW z>pHjj_2i=-$sU*o%3HO&p0(tA)S%^?!Vyeh%I08lH|4Xfq6i4M<9b=nCDeSKUcCtiD3GO0x4?q>u*lcFX~nQtLKKEXwRtCKp8OG_>&c;;S-VUi9tKu9>yH*NYV6HTIOIIoVrc*!^xMAL&tn5M z{H&Qwy0-gfZ{#nhb*dV9XL7sM(~H*Bqwwg) zUh|2X_`$=fkW<@+L_r5qc1Bt;H5)34jV$Pam|hR~I6KvN`m6tb50z$uJM(g3Yebmt+|r3q8>rRUnY=4DUaIFfpyU=w*g+xCme0{9vC+Tkd_7(DV4e@)q6 zt0G;T9`eupoJ8%H%Uj6fFX~M@r<$5`yp<#7GB`ijrlYEfKTi7~Yr^coXkA@G1MH~p zp4MTr3QNJIK@g1u_aml3u2i+%Hqfzlbwj&penlh}srgte!IDEg(?{R6#ldw4BBB$P zw>LzOt+x&Yl72t_#(nA{=mBBpd{>tL^KA3h<@_jygOSmPw84;>n41xy zjQu)cF709bzW*4+@og3S)@4zyz6JdD8^Vy_K#rfVPpvi0ru(=fvc)JR-Uvh?;7Tv3 zNBqL}$WYIw(S@fSKH&qHfFJH5T&PA|o{XiRoU(iqaLL)~1p|FpSj+H&f6m1WxS_k> zBb^rg%P=2-;XQq}PCmts1N+J<`3;Qs^fC>Te(!s)g!~!PjWfdJL7gv@2Z>SOMe{FUXcF6fW0V8YpkC!CeOr z7NSk(Lwq5H%FxOCX-W907bUf|os$l}g$6|`Azck6K9WZ^*)P@WuEGkia>M$Ugy9j| z;a4ATiJlE1yqX&QR9 zdn=_WPdCgU&VAMo9!gS&*n`*mrEwO^8~T@dpZJgOt z#wVS0Psk~?#2%6>3vnG!_oz|sW%UfWi5I(02gMq+GtGK*kzvj0_;U34taV+bYqe9! z!;L%nUDjLX{JNm5t#VyE@u4g|C}}HO{Y%A)Qb>TcYXtp0$xv)`{jLf2Lp)-%=sd^f zS3>L?Pi> z)YsX=p!NgdL4r=BreK;6*Z0m{YsZEAj#{RoDxYrGqD^QQS`8C$Wbf`ZvfLCCs9sL& z_t=bXg96K}2I#t5uz7G{_1>#w;#*0)5^J+ZFQ7PAQOC1_29`au!ei(VLRylcd@Y#~ z;Be8P*rgh|w|oNpqGi@5+Ue%+#FJ_*Gpuz7v5ORwM4ENYC$=E~kUu zNfnRfyb9hZK{m5Gal6RW<@Q;!$q-dL#EPnggzXzMCd46)wS@1gCHg{%-Nn z**sn2=P(T@2T8E&CpF_|ESWiW7g{&~A&V%@j6@Q=R4?eGgfWeGXVn3tF|n$cTcysc NnEUX5au{>+KLFk@9nb&( literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/222_100.jpg b/examples/data/Fruit360/apple/222_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07fcf06ff290930d07040ca3c17016f77691cb3a GIT binary patch literal 4801 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/223_100.jpg b/examples/data/Fruit360/apple/223_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f2dbe02d1b67acf117e96adeaf529711557386c GIT binary patch literal 4834 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 aG^EpeG1!#r7YNszG;;_i@IN>O3H=`>87_4I literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/224_100.jpg b/examples/data/Fruit360/apple/224_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94a7c15276c91a520a4b63f766c145b0a4878ec3 GIT binary patch literal 4794 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/258_100.jpg b/examples/data/Fruit360/apple/258_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01b7fc51d3a81de5e27b811b3180026ee5a9eca3 GIT binary patch literal 4775 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 RiQ;9V;_nlI|H(=7{{du56z~85 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/259_100.jpg b/examples/data/Fruit360/apple/259_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4050ff26218ff3855f5bcc13ae454bebc7e27010 GIT binary patch literal 4794 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/25_100.jpg b/examples/data/Fruit360/apple/25_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e874e8662f667d0b66b7d0d6ad2d991221917df GIT binary patch literal 4726 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/260_100.jpg b/examples/data/Fruit360/apple/260_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bdbe6beac6f4dd9bc803f2beece2767a666ed496 GIT binary patch literal 4819 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/262_100.jpg b/examples/data/Fruit360/apple/262_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fafe052eca33c27d9e00b14325a5eade3e53e74e GIT binary patch literal 4771 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/263_100.jpg b/examples/data/Fruit360/apple/263_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b37d49cce0d3621fcf95f83e861ac95c722e893b GIT binary patch literal 4765 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 TS{V!7V?AMY@qcnD`rLm2yEPqG literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/264_100.jpg b/examples/data/Fruit360/apple/264_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc795bc63c626795b68b60c109f9b55902892317 GIT binary patch literal 4789 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/265_100.jpg b/examples/data/Fruit360/apple/265_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3c798cb6d0c2745c5b5c4d0bb806422ba77ee7a GIT binary patch literal 4848 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/267_100.jpg b/examples/data/Fruit360/apple/267_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b00eb3ef66438411d2d60b77176147c65c38e5f GIT binary patch literal 4823 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 Vx*jY?EvzqD=pP0C2WMi8{|BW?I#d7v literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/268_100.jpg b/examples/data/Fruit360/apple/268_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22fa1cc0ce2effecd8795e3e8a50abb606782dbe GIT binary patch literal 4866 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 L@_%v|Y2rTsOtMLD literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/269_100.jpg b/examples/data/Fruit360/apple/269_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21a6b5d2a7f6206d91ba9e5d7c6fcecf190f3a05 GIT binary patch literal 4850 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/26_100.jpg b/examples/data/Fruit360/apple/26_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0c4ac3bc5674036604ffae3df2061afba40497f GIT binary patch literal 4710 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 AW&i*H literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/273_100.jpg b/examples/data/Fruit360/apple/273_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3050c0691e9acf7d8edc84c2b90fed4c06a9c00e GIT binary patch literal 4906 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 Y{apvdi#8X76*>+Vp8U9&q}GiJ1ui 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/279_100.jpg b/examples/data/Fruit360/apple/279_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8c5161352efb533a78de41c6bbd8cdc7ee87c31 GIT binary patch literal 4856 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/27_100.jpg b/examples/data/Fruit360/apple/27_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a073861c97ca4ab9387c8aabf72f91f8e7e308d GIT binary patch literal 4690 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 fol-nsGT~l$QG-)9Cr?=!0RNMtjwk*D-#=yW literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/281_100.jpg b/examples/data/Fruit360/apple/281_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc29f063eca88fbe666eb605274b94bbe0352404 GIT binary patch literal 4931 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 UbXQel#fwG6b7O)3$tmOi0ogf)4*&oF literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/282_100.jpg b/examples/data/Fruit360/apple/282_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5728920e57414116def467331b16fafd791ce54f GIT binary patch literal 4891 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/283_100.jpg b/examples/data/Fruit360/apple/283_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e6ac234ba72a4a00d79d1f6793908989b20afc5 GIT binary patch literal 4913 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 CiGI!i literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/284_100.jpg b/examples/data/Fruit360/apple/284_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..114b625c6c5eba6a7217558afc71085689759b7a GIT binary patch literal 4909 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/285_100.jpg b/examples/data/Fruit360/apple/285_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c042352a7e92066f065db9897e089d4c4bd41967 GIT binary patch literal 4915 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 W|1RQLnpk=*@#1UR|G_yZQ~v>AJ8a1S literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/287_100.jpg b/examples/data/Fruit360/apple/287_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af28ed4d594bbbf3ddaf1f5011acf356ee65414f GIT binary patch literal 4853 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/288_100.jpg b/examples/data/Fruit360/apple/288_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f6914fbe9b06817cf3be5552f186c4db43f39ef3 GIT binary patch literal 4847 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/28_100.jpg b/examples/data/Fruit360/apple/28_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d63b72337ded01a63485dba96d8a75336b835b7b GIT binary patch literal 4698 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/290_100.jpg b/examples/data/Fruit360/apple/290_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e333708afffbb79950b9d380c7cfe0ab7a79abcd GIT binary patch literal 4837 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/291_100.jpg b/examples/data/Fruit360/apple/291_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e6bca9918c29f9c7b8e2797d17da5a2dde3e0dcb GIT binary patch literal 4880 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/292_100.jpg b/examples/data/Fruit360/apple/292_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc46c15e2a4d64160e52864d51e886244c914222 GIT binary patch literal 4900 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/293_100.jpg b/examples/data/Fruit360/apple/293_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..200f592e5c0ce6fa424a943ef77ef8e77fa17d75 GIT binary patch literal 4859 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 Mn*jflqZ!lx0g`Yxw*UYD literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/295_100.jpg b/examples/data/Fruit360/apple/295_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2980d3e725bb6bdf025b0f7fc7728d464058d697 GIT binary patch literal 4853 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/297_100.jpg b/examples/data/Fruit360/apple/297_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca6a1f4a99731a03d626495209019c2c83a96c79 GIT binary patch literal 4834 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/2_100.jpg b/examples/data/Fruit360/apple/2_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e1130cde5defbcab165472c4c29dc1c20cc5e0e GIT binary patch literal 4800 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/300_100.jpg b/examples/data/Fruit360/apple/300_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5f57b48df2dc5d832913543f6ad29ccff65ca74 GIT binary patch literal 4793 zcmbW4c{J2t+{eER#+EfIqejM3mSo>e2uWqB=!Z;^Ez4w!EHk#mgbCqCB7|fok!=Vg zdm&@ZGMMZ$NP{u+==VG4dH#8xbDrn<-1GUI?>+bPz32V9pL6fImodhe1^BKSn;HX5 zOaQ=i)BwgLU16#!-jUdU zjfok=!pa6dlEHP9P|J5D9|SrQ&3dHxC_C(E9AM#R6*#M?&n9SjA1v;3Tqz2v30R8-Z}H8iyhFB=(~Trs_R^VV%^n>&BmIz4c9 zadmTl=;t5sI56l*a8&fum}jwZnBXe$GZAY4WHXP zI`Lg!x_gF(N4}2|#>OY+=7|f7OQfI6E0nG6onO1ZseAi>xR?OYzgS1{zvbdT;$r?& z1MnX%Cg#8+2l2D8o>gQM(6ungF;#Oh?57@dI$+kd}vu*;tvtPnh*~51q?1*fNFPzilFs9Lxy> z?WL3@HFf)!3$Uc;w>J!zkLF5L_cPqGF7mMEDHlLkUoCAUSjg^557^ znz48#-v>pcAhL4=RNCHA%eUlpHeOR0XgwJje$MM%}v*S@|hkuaiEDYnHf7PX1Mlj8jik%D{bZ%VI! zMlNUVK)09ZtH%N$E!*VQO7VJa`NV;L z_>;C&D^eevC}{1LhB^0MS*gi#9?KI1Z6{>QQ5~)R8Ps7{sb!U z=2V#zG$Dm~^Yzp7vYSt#Yyo8^24o#s$J3jm{EjDN0cD$O?B%(463XM-Le4 zCgYL((>hh-a_si`-WFy|J3?gdfQKQ|=93SJ%LWCR)mIka&gQ%f;9gMX)`J>m<5Q+W ziXTWDgb~XX>o{-M=6GRFrIW7Gr!~u^=LXx)shFMe_I%S31zJ4WTApv8$dq>?b8j*0 z7dMA^3;M*>>R0K0M8Ax7NaF7EZWK5f^?jnzAxLe0poj17Nd5E28q4v7w#@PzR?_p0 zGTXtmRq?P+iKo9-d_C5232KArqJb2HJMX=2xr*_I+I-2@7;+w>-IW*;?wO4eX0xd; ztM2JJR?w(>t(-46`sLXcQVh-T8^nBMF>xwRrw}$U-p&(pCd=kUP@d+gYhF?Y4-~xj zD)L*T6LiLVSzFRL>f7ZGVjtjrFKWQC1wr71HQJ}sBeUGUD!wXZ8K&4stLKVP1EsK< z-zE8`1QfGSwFfl}fUT1Ow0YNF555kea}*z#IdsZ)B%El6@_q4<<;^r1UV?XFGl+iM zOwFcZV$f(k*oB1Vbe6yZDw4w0f#ar&xy|s=VDBJaH!qL8X&xrEo|TGg&lMvZ-+FL{ zeIBRZHaKmvP2j(uSEA~4P?Ohmlg>dru#{deI1mceIxK|gAE%!q@A$6p_mtG%HSXso zafIi-P5Ap9i0P@&&uyqE%AP)o=2wNs=Lo3|#;(gx8Cs3JO&*10^i?1QMZ0*2c%esZ z8i0?3wo3{w{v%?{NF~RuZ{9mm|CcD?ZBX`T*bPk%M=rq+z9FuA*3f7jLTZIqE$v}J$kv+b9yYw z>Z5R=Vhv)>)#vydKTcB$O5KZ8thX-8=-$cl^{|_piT7s!Jj=Lox3BeCfY9EA(On8? zA}AttlX%%Vw8SYQ5zb90xKYOO)xP4^lV8oH@4L+gZ|0G`pT3(}xoBW@lKA)23nwJ& z8Gy*E`ORn&IUs+kyR= z0q>D7cr(ScY|;}e3{)1I))67V*tl0 zTt^C=AD?xW{7ZwyW+*UCZTE#vD}LbHLZyR8pWeBRLGK@+`}(t{GfEi3yW#LN47Wt>a*s;?Xvn}dp^ zTHLAeHOs^Hcb>mYvbIMWuzLnWuO9NAEk18#zq{%vX#;jC9fVONoYl|L`u%>AQ1ef~ zLk$Qand350SoZf`qUWnH*_|oK;RKv}9vLXGhSo=uy?ANINxO){RP^lYz!|Ozi*@b9fklM~=uH50v>n>cf8g8M_VZn7Q~Ww&keW7!xN4Rp(N(H!~U2W11|+;-TKU zRfxgy4S^tguPcweP|`a~=Fjhxw!C(;n~Arr%lkC5EYj3)&0M!nHnw0=G|Sf~(=`rt z)>g#;Ef4eiaG!$+Iwe8iX;Hw{@4Zd<_$5Oz@{xHt{A&BC&TTjH-|`X@A_jeZzKT2R z4!T;Y0@bcHYsZV8AQys*Vs!j;JCYBxe>UY-Ehg$i5w^MW4B)tq2*%F*yk(-6&Fdg= z2YK0cVPH5t)}&tgRXp?>FUkHlwkb?&rn^|TSM6?OIRj`=9^NVseo?IM*V}R5zRFuy zE`TmZ>EKt{T}QzzIwPPxO|C?RM4{3G*H@a?&Vw=4H|gwq2a2dEc%?i8z#|g`S1ne)(hNpa#?pGb+3zKe_K(mgRnqXg~xRWo*jxWxvS*LQo~P0{V}Z?jRCw3v*7 z?UU9*LklN$Qs`WkWTlDUpBogqUV|?um6u5hi}ZKMir~fJE7^t#oppTS3$s2L+H?aU zH(Ao%rY}hll+)nxdvzY#KEobrNe*BD;k1BU{bKjv)JCHKci*=q%vzD`GA0)KEN7x^ z<|>X(TA9%6hlzUU&F6T9E)6ele|hjtbtF0#nK#(e{>}!pd3J#32`rPg9j|11yZBdw zM;I*!ov}}NHokURVQs& zx^$}8f-Y{C30xym4pv!?o=0?s>6z7B$WlwY^Z?`SYhtAs zkE&f#qFrtlc^PxQJ$(J;&35jcRr?qm@dPd{(28Y`VDV#2*7*a6 zCrBr!t{)nIEx7Z=ey=ttaXnRWfpQ|w#rVtL+pn9pv7hrtb&TZFu@JpAW~S9n--hxc zNDP_X`Dp-0-Ns*&&l&z+AqLO8#TUXaL8 zS7{JGgUP#Wx*VB>jvA$PmtNVRNGm4_yF0P|zGjY{Ly9$_{Rc8w6xeMlZ=grARsFaG8 z{Mx{c(XHP-o#9~rJ|%;)kXvW{wmkz}(aP&wc4l5$qq4{JM$g@gluSJ77{wv-uJtz8 z=Wqbvd3ifi_QMuCWtAYbgsw%e_0LvJ;ATHokc;rbk5^Tvk8Tjo4}II3cUDV7QwrHN z!7TB!M6h_Xx->aIDNXw4Ls#~ZsQA?33#qm*W$*>+?$Z7QW3>9r$C))BO8c%HWh5J* zmK2%D**ua`lq>O}?!`ZSvYkvz8|HN<|cpj0UR{R6MjkA#JtHQM}=i&_*T_Lgwv z@VFc{)bUW~uNykL6qC8#l=6vb+u9E$@BWg-y_~*{fD9KeUJ)aFo~gysARz}LH2=s0 z8>)82DwJ2%BcHu4aq`53SHt_Kp_dk&<;J?DLYd7^&bOHHxAWZ={RvNj+jfUu+r5>l zJG3ZYm#k!Et|!h-=HpRo413Ps*a;`7UX#Z>OsEYT*~Zj z9msc7G646n=?TbRpEWHgHGQRD#-<8VO<5j*IvuNnU$&gfUU$&$_2D?s%0cC1kYn=8 z23(wu7hGBK8;}(zS!iWTWM`$g&L$x^&`bbHb(w^_bUBw{7s8$70D@b{ln5JQNV~EW% zdM)YbG@U$5f;;xhK#);r?p&=bpZDGKx=vo5JB<#;#?!S{N-Xi8;sj;b){-(eV?@lZ zW79faF!>FEdNM~FK_1pM2JdL5Re`q5Q_9BU8zbj6fvTN8UhFi z(jrnK)ex#6lAwkFA=&u*&FucOJF~mz&N*}6yz}0CKewE@m->~81#sRlF*gCw(E$K- zv<9Fq0E_^q=>FQ@cd4vtRFF1I~Ay}W%M zJoF6-4GWI|M@A(+NlH#hO-s+qFDNW3e)hbis=B836|Anl;obWdL~C1nN9TwBfx(YM z!=FaJOij>0hfIi@aT$P@@zmKtQiymF5TS-?R{iKlOAXZZX2&QiX zilAR|*M;p~I!L52ZP|ejT#{LAmx=S%N_{@IhU=Z9LfD^1!#Ylz zJws5E!X}wllNg6Qz9TNQN9KB!ad-hSrE?ZHh)qLnU!KI77o5=xj`FF8iwIPDeKj3f zA3MGX70qe=gw(~|!Le4seqbrnKjB+VW0bYnBXIsl3MW1`Hv|r@9B37eDJ(Ft7%lCp zF-`(H-nRxg<&t0&R_kL{u(cU-W{(Q+1u-p($lf+r{CyHE_fz~~pM9F(`_^lM^g2%1 z%^w)N89A0z*Z@Ap5#NX5TzAsuqZ^mpy-Qr5KP&Rdt(5tiXMW+0-_}V8Rw`_4c0lUOIp9<(IgI8PvLZ*vV;jjiKjMC( z1z)TrD-c#GEZS56&=}0NI@?thJMpc}tF|&l=U$y#OwrJgM(w#N<)v2UJWoMRv#~p# z_w=yz(wHB-Jbe*@?XAx}vyvSq-!T&nHC)?%|f)m;0@z{41gt7U~U6Py4F5q;07v5R@sbVYJb^NZ8!Nr+W8KjAu|2} z&F0lH9V5$cwa4C9mDeOZMm`4Yfk4ncPn7<*aOb;BF0cp{%rDdF zqrT$~#9J0^{ru@qe?@3NPse{XzG7x_4kB4Pz};FclYZ^=la9u~Z$+hoSt_EJ#ADgQ1#s`jNbw$p~}FHcn>QdQqw=M2wLXiV~eP zCUU8DK;FYdpz;_(Sa%ySO2>)YQjTH7%KFNmJ&iaZ^x3i?5HHkY!B^m@@MX%#X=p@dc@=7mv5sD5v#5lUT7+#cG8nu_b8&jseh|dvy@MV7K4rAM)J)e?5 zLNq3y^y-SYqF3-BScnLJiBhPoHYPeA1=qWzFnRsB>DmpS$=^M-p(>5CxZ;IWfZR2Jt0Pi~P;oLq6#g;%@nielHm}IQvq`I;x z={*#&E~5ej#V>u_+@O!jGceF+K^iA{EjK1^%ZoFDr$Bh+%*)?|NFH{1XxlG)Rh`Y9 zNh3(xk9~#lXA_v=J$>k<4)UJ?tp^R`&Xk{ZaCX{W^`}gQQvt0PeyHNn#PkG(c+FIu zOI$qyPIT+X_A)P?mu2rt-=qRed7Y}qAd!dB#|~uE89i0<{aKXc<+dOy;NiBdgKr_XCq>Oae9qNS0TqwH%erRUbgT2-0t1f4!gco+1 z^O$F~B(Xs}tS{=3s;Jd$Uu`OCyoNqbYwbYC*4;uWpFr1A^iI`eTW^Acz5*&dN%CJU z_2)6C0-i+4#E-^(Y7gie1a(&oIieEnkZHDNp37%UF%QP0ZZ(>O@?^}2xl7G=jO)#d z=EOnN>$Z>5=SHMjvu}mJdt)uiQR@W>`0Rz(sMNM@OnaX%EGR{HL23J9O%cuO9f}Ph5j#GBrt@OD}cx$Q&V%o%sPE;yEndj>~sbM3M z0jFbPq@XIH3E5mm#nOs*e>4eRvEF|-0Qg&rf*_#K`} z*eY4tYRlf0%Dd%KKEW6DhupYPDL$^-5iRw&Rw}mxD6!e|9aQbD!8?(JOua+&(x`Le- zGLHz?qjbLLiQUi{JD~!Ka7S}*6qQ#zOO_4u6yq9|w62IYTjAI46PKfhl?0!T?FT;U z;`vsAdetSq0Jp@DWsY6IdzLf54_Y)UBs)9W&b$!1S7J!$nJkPK`-m(W8sORDwvbHu zCCZYm9>8(PM?S2$=ac-=KE)e@Lw_e%3jBH9S?(ODH3;tj5p+4OV=Aw=xcrp3)i+Xq zc25ieOhri;w)rW#-uDS!ut{axEnCC2+u%x{+n3hLumWYR3A%zsP%KJsKJ0e7~?gX<3h56#h4g^+Lks)MPr;@ZxC3}T7M%~Pz2v+FCB8P+V zO?e+n*JjORZ0TJ)=Q5D-- znU~4_Sum>%^Rk098OBoO*|#6hxZ)e55PS1_2Gxn9A^E#D4;^!2Vnkm*7@O#4t(L~j z-@~r*=JbcWzR~3N_2e0?L^0FKA`eBJ^6gtQ8*)5TivYz04a zdZxt=p=a6US$xOhQ~-n1$up0WyuSsMjUwpwo%q(bI7)a&c)BR>(#65SZ+nhLUDc82 z`6TY1sZx!hC?%Sg3V&oqY4=%fVfFQgg- zKUPr%l@?PZ5{G$^?j8-98dfobu@s0gDQ1NuJ@!lwUOfA^p!!7xo3;mUnw03|d$V68 zu;xyyNF;tvC##(x^u0LJDx3EP*>adjsPmPU?cp&zchb4fp;B~Ib`ZVC!{&Wx=@3u_ zA=_LYp@*=1aPWsV0`Uluwp}e7WM?o>hBowhlUxlU#%9`<5$ZF?lwWIFFm3quOWC7 zUc2Gx4&W0H)_;XOtR~K@W@O||!rT8qPm_%-*%+2&)b+JypjSexF#;LeSvH+SiVD1)ErOy>+npBhB%#=XE9NTqT+N2u)$BK334k$Bk>uL1I=} z?spUJ5PxnCXK`jkUn-i1H0?LvrCZWIW#$0)exigP51J__qY)Psn_3pMLQk%K5xj^^ z^GINR`N1SzrQs#`7VR$kCH?*N@CtK5tyNMST_kW0JPnI84f>po*lGO4P!TO`Q>YUsFF%#!tYzt@wl&+B($HWRo)=*$K7O#< zeJl*|JIT}u(d^$#F9{9q5A#)OIWe^k)L7ooz^XL^>e&k=;uARBVK^#4c**VILH>uL z&AU&Zj#;P>(e%IJJC!(}KIjuFK&VAKhXZ0mimury!Zyu7Xgtp zrYNjAIJmewSvPUT|4k`hW`s1j*l~K*Qe$UCnvQ1(<*4Q%*Qq`%6~0_p5bWFXqbx#q zWHF*>HY0R9lBlnPU=NOn-H!m?-65MKMSaw`Hfn;HkW2ieQ6=}1&m%=}LxZxMb zxj5Df?erHo#K0{8*y2uzw|3fhob>$jLjm2jU#LMtt7zdp6m#qtlozE1Zs_kv@!-pM z*N&1t^!qR(87m?@;u?UrPtYW5nwnTJ@I(H?+vrTFuUGf;o3_40i==f# zaqAo&ZHU++$}sIfY6+SH66L4PWnecykVNc^9r6dFhFwb!!;zU;UA{Fps~qnPq!rSK zn~g{Gvnv~|H@j5T{VYeP^k7qZ@CM~lM4RZqc_U&Yet?@a$fTpck~ZUMsVo|BK_{i4 yf)6+n=UJqv5&I@T{@UHEU+~w%O;}ln3G()Z<{@UXRq0iR>9Q|Q{SVGTo%;_GAUQGs literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/302_100.jpg b/examples/data/Fruit360/apple/302_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6ac36d43ac8ede07c1e28a53a3f4018a7e277054 GIT binary patch literal 4839 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/303_100.jpg b/examples/data/Fruit360/apple/303_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66aa72d44328b11825f5b6badb16f65f8adcfb93 GIT binary patch literal 4837 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 Fe*l;(k$(UH literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/305_100.jpg b/examples/data/Fruit360/apple/305_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9438e032672284aada6f6dc56aabaf03fbe3f4d8 GIT binary patch literal 4847 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/306_100.jpg b/examples/data/Fruit360/apple/306_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7dd2eaab3cb2d20b5cff8e707903468d1ec2644a GIT binary patch literal 4863 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/308_100.jpg b/examples/data/Fruit360/apple/308_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fc621e1194479b2f028256875badd1d4733fc20 GIT binary patch literal 4866 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 PJ#T!64fr1%M4tW+DM>;% literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/30_100.jpg b/examples/data/Fruit360/apple/30_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df75ac9154dec600f8fbab58eba2c6c3341562e9 GIT binary patch literal 4705 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/313_100.jpg b/examples/data/Fruit360/apple/313_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58e0c377415c00e25b294375e1a00ed5d22a45a3 GIT binary patch literal 4761 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 Hmp=9%WAqYi literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/314_100.jpg b/examples/data/Fruit360/apple/314_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a51ff96453c0f3fdccf9aeea38e208d499888e6 GIT binary patch literal 4795 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/315_100.jpg b/examples/data/Fruit360/apple/315_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1222a6c1503246055dcac7c88947fa026db2b87f GIT binary patch literal 4820 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/317_100.jpg b/examples/data/Fruit360/apple/317_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd46fe4aeafec9a3507526208b8365be11028d9a GIT binary patch literal 4795 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/31_100.jpg b/examples/data/Fruit360/apple/31_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bddabbe5b1633697170ac05023f68d380d849dc8 GIT binary patch literal 4727 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/320_100.jpg b/examples/data/Fruit360/apple/320_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2b91a828e8636c6789c06bc800cddaa6ce0dbd1 GIT binary patch literal 4753 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 AF8}}l literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_0_100.jpg b/examples/data/Fruit360/apple/r_0_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60be829fe98f2f392982438f8c219ae5c1033327 GIT binary patch literal 5394 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_101_100.jpg b/examples/data/Fruit360/apple/r_101_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5f03f3b53f6b59dd9ede5ccbb89eb73236001e2 GIT binary patch literal 5180 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 Wir+iD7O;m=-!1fb0fsXjP5l=uurNjd literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_103_100.jpg b/examples/data/Fruit360/apple/r_103_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..edd1a5d26f45fc16032cd781c7d077d56177b9e7 GIT binary patch literal 5132 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_104_100.jpg b/examples/data/Fruit360/apple/r_104_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e16b0590ba4dcc3e91deb1e368dac9491a8e67ec GIT binary patch literal 5167 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 U-%gZ7wdp*NEJ+0X@$Tp;X;UK;BY=($ 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 GI`d!o6&l$9 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_106_100.jpg b/examples/data/Fruit360/apple/r_106_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e60dd2dbdc4f407bd5de3286d00ec8b148668989 GIT binary patch literal 5229 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_108_100.jpg b/examples/data/Fruit360/apple/r_108_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e21d3428ee1ba73d3c1984541653eda9147d10f7 GIT binary patch literal 5248 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/r_109_100.jpg b/examples/data/Fruit360/apple/r_109_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2ee4aec7be8370cc204011d6b9e603c3d1fb7bd GIT binary patch literal 5161 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 O1s%+R|H)DGum1r@4Fh}t literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/22_100.jpg b/examples/data/Fruit360/apple/22_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f89d0720f4c178ab9a4bbda11c5dfa741942cd5 GIT binary patch literal 4661 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/230_100.jpg b/examples/data/Fruit360/apple/230_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..055127711b9a8bab5cd1bbfc852bd32f98b436ed GIT binary patch literal 4804 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/232_100.jpg b/examples/data/Fruit360/apple/232_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f5120dfaed4c902e7b4b1ddac425371c8b60209 GIT binary patch literal 4789 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/233_100.jpg b/examples/data/Fruit360/apple/233_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e03cbabd919b6918d0b1befeeb0e39fc32c679a GIT binary patch literal 4743 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/234_100.jpg b/examples/data/Fruit360/apple/234_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..437c872cea43bc4f5209ccac1781d5e81517bbf8 GIT binary patch literal 4744 zcmbW4cTiJXw1-dV0#cL?8iCMzlPVDq5KxdBI?|+s9%=VNA}FX-2~7~;B2ooHQ9uMD zyQ;8M zp?!#gOHlMBdJax5ZXO|F5m7O5MWvg{DynKacXaji?;04ITUc7btZi&v-P|8}czSsw z9tVenhK2v}^jS>o^A|7U(5Y$Z8JVxMvfmZFFDxo9DJ`q1{rIV_zTtCYTYE=mS9ecu z-|)!j*!aZc)b!%g^2+Mk`o`uK?$^QL(eVlX^z1hm2%!8IiyZ%3E>{^kNv zgp!?-m5Q2Qj^>J%DXnwhRRQ@ZIyUW;{OZ@Gn=^c)byMIqd8w13F{cVN-~ zFS7px`!B9(fRPeJE*>Q-00qv^dbjjVY(axg9cJ>;IVZOgBS3^8RI7!C!TYdxKNo4Y zn;}Ry-knd(tcrHCCJmSCmf!8PQorUy>(R)ERZnh9J7|q#B!tdAL*1tw6_h%}RXl$j zZD)oIemS}TuHZx4Y+ZjkN=$4&?uR_YgqAo!q`qT>1bzqSZ4m4a#-G5N)za41b|v0Sh&sFp zR9C1k9Rys;FMxJ&yUABIFLU0JaCIwkm_eK)WWlSqD^WxSM$#XzWGFW7s}n+m#9^1F zPKsY(7wS;^_rY{q>)PWNfM@EpuOu#_P+3p$Mz4uMHvtBOC^fHPV*EU%0Aeh^4Fy+Dg9L`?O%51rne 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/235_100.jpg b/examples/data/Fruit360/apple/235_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e75238b1f039b1897f47cf92644b1c8a6eb9ca6 GIT binary patch literal 4752 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/236_100.jpg b/examples/data/Fruit360/apple/236_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c32be1da36e91ebbadde42a29620938099670253 GIT binary patch literal 4800 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/237_100.jpg b/examples/data/Fruit360/apple/237_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d14030b687660f115b0309b569f9fe7295abfd79 GIT binary patch literal 4789 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/238_100.jpg b/examples/data/Fruit360/apple/238_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bdf9820e3eb465f3c10c522c679efe8174be16a0 GIT binary patch literal 4831 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 XWfm5{dz1J^FY(eV`v1W>sFVKzr6nuw literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/239_100.jpg b/examples/data/Fruit360/apple/239_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..63b14cd4d7de404a508fbfa74996b64ce70449e8 GIT binary patch literal 4829 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/23_100.jpg b/examples/data/Fruit360/apple/23_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bae47f345aa286f71818f1aa4965851debe96d3c GIT binary patch literal 4721 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 QwkB3rc!B?6G0<{9 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/240_100.jpg b/examples/data/Fruit360/apple/240_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e071c923733a057f7a2d0882daab77bf62a99ed GIT binary patch literal 4795 zcmbW3cT^L5l*b1tp;x1H6apwkq)8_#(jP`ZiGmaXL7Ft_CDN-PAVm<6{v=`q6A+{d zp@?*)Nev)Kkpu(+3CV`{&e{EE_nh6mbM8IAIdf-z-_QK+o!?L=sS5zNiGi^JKt~4v zbhHDY{s8oVQ*K5N1N}*4WMH6YU}9uq`o}>m%uFB_5EBzK8#4>*iP1*vY^>}j zCnpd2_tsO4^z@9ZASTd1DgUQHZ3lRm0cXIOo=zM%#Y0EWLr3ib#ArGh|B*)%`>)ZR zqGw=a0?}l!(GoD+H2L)OG|`MS#kA}Q+I4_|hmrTZ;x#5d^9LYt-_uG_870gT*K0e# z79)6wvZG%#3+tJ)`~rfKQqmVL%BZMbQB&8@)VrZ?U}$7)VtMG?kr{`f{Jg>;ad(9m5z?V;4DT?{@^^B6*4i*Vz3q07-Z-n&>L}gKuaDw&^+5ZkK z`u|1tpJ4yRH4U)S)6o`>o(F&e$A|4p=Y%aXzWppI3YLHEfqZGDK4NMtahbK6$r$nn zj6c|Nq5_Op#`kRPEs3%unY-xR=XE{4OVG%encSY)?8^CE4}!d+ zOI{+wNEd${H3`}Lh-Vzyw(SmL-_0iq!;|h_FwKdRR=7e1dXK)UFCSRp#mK`WWL281CN)M zyr-)gFd-#lUVmi2=dVO(N?gVN&6p0<(o1K`?!a;ID6dw5&qoSR|D=SMdrD?l`q~vM zLW@`Ip~T|$P*fr&>u>jGs$YFGRv~^~a%F#mKw>oyOw()ctX8OFLuT8)9+Ac3Ljo0P zMS5%3eS5`=Yg|N+!Wng(?uEIhvZb{E>#~_FgR0IbPKxuaGvvzj;7=P<0nk-Sk8hj; zUK*$L8^SR>8At^h^2yEwuBhLhThpr~$<%9;HoBui8X}|#`I`6_Y;JPm&m7Ykoj{UN z8nan_M^3456fD_SHLzhO4EgzMyyBcUWsV9!BA1E&6wcV=*gY7})T1IvJSYt<>w%0- zi@15zJ$JX}#d{8kx4fU8zs|h=Mq2n(FseeAmG-*qp$i3VXwGH|KhcY16&z^Oh4F|t zvvnP_bgX-GxGj+s^f3OcRyu@}6PiN>cx-z7eRke@aQnb=TKFd6BGogns=pMTAam24 zJ>T3^PPg9kXeB#*hl%nP{gjASHJI6L^y{j?9R-e=?kSzX%fo{#EafrXW!iWaWArOo=b`z zPVhXB`9TURg^YRXF*#i4zTFGh7euFa3Qr`3s}r>rx#%DDxjt}CB>^E{$X^XxLZDc& zX@gE271(--n@^e!M2S#dO1*wEd*=5jZ;I+Gulloe?;{r&vSPOEuoc1SB%A&QOh&TG z)!L<+NS>a?9Er0pn~X^rBMJk>Z&zO4@nnLVT(l|lH$L!gE3GsA_QQrvpj>M19N2)4 z?LJpm;i(;4)4m3a(i^?E6zx7N+H)Zu4RGX1us6;YCCsIR!xcZ>tH?hm97iHGu@W_d z-M$@UYT;+{LMK9t1&FzeE=d1sTN4SM!>94AMwfJs5l4Hgxm18{3oSc-(fRFQb4C#t z3A3M`+AN@(U8!a2NvEw6BOu=FffI|jyP#eEG}>tD!U76f6G%CFB^P1GrToVHo>%P- zw96ZSi9RRjq2FBU=TT=UsuF2}ClX^8$MYwX`h}9fsmb&}Lc_pZE1E#bRz{D^I1Mnw zC|}Zx1l5F7fu-3?RKPUTrq;pP!pO>UP{-FUhYPG3Dn*-tM-`T>GgKH3du=nF@QjcB zt)8%}_8v-yP}uBK-J4wH`h~S}CLLj46Q+=k!xYUAUG0}pmckTh zUZ>pG0gCE@hTX+JWZqBoai!?K_Nrymr%{F0dCz5zDPh8I**_mB99^_8O8I(mo%fdI z1CnO&hP6I1f?#Nw`~`PWz7v!4mI{1AXEO_RAF_UiYbjoIRH75h7lkytG-S?ZF}Mm; z3yLEB-5_u)xRRaL} zEPL~{9_ze*Na2OO_SN(adxu~N?AP>DHYRF`P0E4os8}*vfCMpKz4NK{t(%L(F&(Hf zir5C+_|2uM{*v~YP$dK#7YPzu`yH}ov^{>NmPT_? zf$C=MOIK7J7Djd&-`%-()_Z&PiXlFlF$&?6U|;goOZ0sndsyE)cm$E zp`_=}yB=&CKYC+JqqLy~ZZUbG6|;!oi9CmOl8~+6+BAs+mlIyBclSRg}Q7 z)PrsuE3cbOCJjz~$Xzqgk?o8Wx3)pJ)TE94ywN4lFT6WB@n+rb;#ieUWs!F3!WB(1 zlifD%6jP*DcBZ%DhrI5Qw7q_oRu74FH_3!qosr#yE;E_waom$f)-dIuL7S&NCHp84 zp`v{Fuf)m8tjcA4_%ycpkcPz=x2U*5H2TiUuJbNdhzr8jm83ri}5VFn3Qs5{sNtA*e69AagdKsj5-7kuY$i!OJF6$75lXP?JFJ1 zD~!lCx>nfv%BtUDWT7qEeh$ZjHl0YI+3@oOXlF{H^-p`zb;0!MEcnjVd*?8>K808Q zS}F3MuK*vSNb+u?8qGxK-QX~*9DXQzg^^Ev7Ndm725)wIXNwhECGXem>3+b^ZvB4w z&h&DflVlsO+{OXyui~x=G+CSQd{hNLAlN%tX$T)wq#&~GXr)<4K9jp3y@kQ`n`tgu zblT^wkEeKhEO!dRNJHmu`&{>F_RScE7lbPl;&Ljg%FkwIX?k5%>>l)iDtYW&QfP-w z_ep+$R_$otSC-4qepu}mX}{_}t{6eZ4T?lbIqUDIn-U)LlT0k`B%@3+*c{TB0z}lJc9rH9h>vU{Rz%z9o3H3 zYJp=1Q!}oGzO{|?LG|uyfV({o#zWB`^!Ixw92~=ER_+G!4?MKnusTrVW%^{)?ibW2 z1!Y}Qz}Q~bN~%n|I?^^fGhd^wcVpAZkUe{IbMqEK*0wy0ztqp@u+XUI+k|4k+Zs&4 z)iOEm!?aO97{&}0Txn{<^78R%An?^{*5O1xF~z>AxzYc0&$8tK47@g6Hu&U@KzC;B261A>oJ*qN* zFl-ve6sZ69+}^Td`zR@J&nZBrHzE-dsY*1bHAff?Cj>?kBj2F{v7L+cSz&6?nC6+u zSs1h8^nKo-=^TdDN7EgN_v5>DEj(5~rpVr{jvSZ$cC6RgDqR(o)$SI z4<)-!YepHvA>8ejGUH#q;T|~EdY5|c%*Ot|eN&IpJQBv64Lvt)=iTEL0A=Eswj0h| z>(Ehu#wUpWJ|_mpcV;E%mLWp|C18Eg?@+b2z+Gj}iR^?s9pn?Kcv&QE^Tr8$+Wu4)QCu#XO0vj2jH1X@IAPMgmd3j zo|*9Go|#~ICG7Jh6v>V^gcb%sF501E5KhMB-}4MCQeTvAju5?Q6?mdfm~3%e9I!DY zNMsEwQ8FkB(o_yeF9=pDjN|I=9#lygMD0Uj}?3`Bk|F^ zMbjx}IAg9^?y+7%*KChL#BW&7RFVCo@%z6bR(HN=dqfDvHouVSjFYV0xGhC2IG6Ei z#@S&}GsFH2K)!}7^X z#|>0qA=X|H>Vn|$$VYTO6T*sW)JNaZyfYWIc<8!&KK%3?IM|1o{p>kzA76X5#Kksb z*eKk_?acu{g4=J#`;)6c2{{_e9V)=I z968@6Ldb>8TSB+0$;B&T7=&cYT`a&Sx!FL=h*LJCn4fpR2cT z8{>NxgPyf21iu^V6y+QK?frZEv4v2ue3{&?Q4eb}$O7hm>~WlrSQv#(yLKO?hNf@v zEy+uNwhEk1HTHLz@CfkreQcy;%r$jTd9{~yvr&C(AhLa`!zAK4($*uU^Xdg8w@5A~Kxo}PVjs0ne--W3*zZ{aqQs9d0`}g-B8bjZ7U0hDZJ!^jl m6DYrPjs!JaGkJG0=tR0%T+WKt?(M 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 RPN*YKkbL()B{Om1KLEBp8vXzP literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/242_100.jpg b/examples/data/Fruit360/apple/242_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dfc6b3567cc90f72a86e7caba2365909274cda78 GIT binary patch literal 4780 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/243_100.jpg b/examples/data/Fruit360/apple/243_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6320ad3fd0562ca528ec1b0f77861f543f917660 GIT binary patch literal 4808 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/244_100.jpg b/examples/data/Fruit360/apple/244_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b74e66fa80ea14d374ae4bbb6efd0b98a360614 GIT binary patch literal 4807 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/245_100.jpg b/examples/data/Fruit360/apple/245_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f55c14d3e5ed07b9b534263ee3774bc20447ed94 GIT binary patch literal 4789 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/246_100.jpg b/examples/data/Fruit360/apple/246_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f72965d9e2d7b6586c2257672f0cb3095145986 GIT binary patch literal 4801 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 v&mK literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/247_100.jpg b/examples/data/Fruit360/apple/247_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8910753c3704b1505b0942a38110db9a63884771 GIT binary patch literal 4818 zcmbW4cQo8vw8wvAm=Q#;F-p|vLG&`XNwkZQ=q-ASmcmFdR|L_6sKH!8gy_+0l$eAt z(W5gW5=_h(WH4r)+`HC$|Gc->dvBk$_d36I_V1kUXYI4j`TeM0sH*_0$#vuF00;yC zptA;07l1zi8qjb19cg|WE%CZ9zwzD1+BLma# zhu@R@`zj3`7)-|ig+TvF`9B5fJAjQI@B}=;AQ6Cu4FqNbQ3nB`Go5t*$U77JuYqX5 zv~&>YnGD9Wgl5(=`C#ywXu31SXW3C_;{Yui9s5N^eF%r88&o8eQz<5+gkIF3p^wXI z951Hqe)sV?25uf+z6;_Kl9!~Uuc)Z1scUHdarN4DLnC98o42fOZ0+nFJUqR;eSH1= z@7;e87LJH`82cnHKH+I%QfAik?3~=Z{DPOIW#z9bURPE%zHMr5X>Duo=pPt-KZO49 zad={KYIm;LRHu;_W~v^krGSt|L*^|mu*}Dg;4Hqh{*5VtJ6E5( zrxi-Du%*@Pd>`7yy9Dm*meF1sgPW|915V5-V<={q!xglvfVOBkrlLB2Z;Uu-^F!MU zB->*dwec5p101UDp>h)<`lNij!1O-H9r8eYeXd_GZ@P zRHTm7DS7}mq5_Z6$UZHV&V1Y*UEL4Sqm&N6NU17Ao;A@0y5M&Od+DiE03SjHb`0UqIF@1Fnv}nrg*WSSz`1@tau!(hvIWQMD{?+Fy z-Rw$%Je;p_!EW9$iCaC&;_F=!wh$AITcN4m1?x^sv z+ure|S+qQQy8zjTS!r}=8A+cbV*fN7(>K%jYe=hRTwr^Q>_Y{h76_}!L1M*Yxc5k9 zlcmTJ`&LI1`oUXp*hXqTXl%zVowsiIyoFiL&}aKU%F)b6HhR06Czl5p?xny|2*q@F zi$xln_Z;T#%%~EXJ%u7-b{@HRt_`+zbYAH(Z0wR*`(9H<1#p`bL)_vD{sD5w(2psc zgUm|GY?}v+t_mp7It3^WGhu`q4 zG-Qp8VZ(J<=``G2$A+4H0)jl7{igeSlq#grGwmmG;a2#tY6aOT-jzf*?doKgR2Y%V z($5?7d`w$sq`o02Hg^R%Dm3RB(<4gOA)!i<{nzlbXa}{Y_X!tMR(uNzZEqyNvR62i zHZz7E&8&$+Q4_t{EMGP$3~DC^l);{h30U|JalKMxvZ6q_n&iKeFT2adABIlXexO}> zbIXG36h;O5bm772PmuT3^30PEOo_V(j3DLA| zk3mlkp#zMA(npB0RXxr+50dAoK>jYL<+X>!N?_)#TK7fh@I>W@x-7ERD*Qaj&@|b65_c=`21qpXQL|t41QIrjrUK2a zNmodpl)*wniBlUXqDMvJLmfCcPb>qryAvvHs0S| z7vmEn4v-PYHrH}6EV)BwjxUy@!xw&D4^M4+l5A=(8~C{B%lXDG$Fl`kn!9aXjA`Zh zm_72((HZUIP%}Mm8u3g$VwZAuBpAw`!#v1Ib+wTa9TQEPUB%P(Em>`>q1&!Jas4xX z=IEK*q0jnc9QLSy@>)&68f};Z>ab|KU{v|T)wo33O;~XReBH@4l_H4Qa54q#1{XDH z^g~z-w1}fo3G2NHvpFq)Zo3=Z+f#>C9@McAe#QTsv3J0Qe<+fO%$Q8;4s~A4UV|f! z7X?)x6a?->Mqn-CZIu6935w}D%zgTdz0*7bqrZ^;a1X_gxV~W2+1`BFv*ZZI6!UTQ zTh9x^&qU-aQ}FhZ7UhVIQA2pOI62Jgi=j zePQN1o(i!05(fAavo2eX=QpMc3w)A`uC;093GxxHEvLUWu7CtfyV$enO&?&$>^>BR zfc12eq%F>`j8wJY`W(UkUaj7*M|1pDM!{T7(RB3eTXpt=IYl^0W}OOQFNP6)gn->f_DDiA3?i7VaBPl%UUTZXWhKHX}T;+GBlO5 z{=?96=z_+n%n>FDO9h%X)fOqw2E6t+;$HQ350UvrLmr5&1%w&?YN{ zrKPeQ{-$l;IelHXMS8cRP*-L0Wl}v}PrSp^It8brWUl-HcTkJ6CSg2f%Z*fkic~`U zu2bHh!<;`ZHJ1?83mcmh$NYEqRJ46`%9nEI6p{u*EQSXvDrS0+Bvi%RsMmu#nZiEq zRxZ`hy_#Sc*?|>ib~oZ#-Ykrm*1SQHAmw_!HV(FZx3eIjjAQ_WW~WdrUyML#3!2w-DGuvn_D2j5Y{L|5;S zc&5ZBy7FI2HT$M_s1)a>oBqjp%!=vJHuMlQLkwt9WOr9VZ_uoZXaZq|U>eBz=VeA(m~;?k@HKu?P&zXSXNLAO^m6jrO>Xme6 z0k|1Kr73(w?UT*VFehgdMvk$=ugoBA_byw5*`4`Og}`qH3y))k`GnKp+0pQ!_Q;ad ztd?AONt+{&g;3V#s_7NEp0KyQi;sBXx-3IDb|#z}Ben;i-}SapHNMV>Vb2z0k*OZ{ zFAKfj(CaR?0a&lr78dcJKj`}_o#?$1EEgwk*z{ zjC7~HwVjbWFs+mm>x>Jz`_1ZZh2UJB3IX=ZI6}RZ37t8X@L0#MBdy{Qcd6X_!pBAp zt)W4n1HtA||7D4sc_}I|5r2bq%+Mgl!c4GcIyRs&wYh7{_6zW3s6DnK5n+B7_6^4)tLWiDN z>(Ix#{7ze8qJz0MA{&x%`o8ONPX`)N>jDjD}Ffcs((RKsMw}<$v$A}1%=`CM63cQbE3FRLJbt$ zxl79J^FJ;w+=iJD7ha;83?_8x_4)i%V~JP%FPlXR+aV^cCOj|P$)&Rt5;y9j4NVI; z4$Qd}WR3fF>wbuJMy_z|6x(ty4|2816>qM<8c9!>M&qFPgaNHCuG&S8DDEQALYY&s ziBig%P!7waR?I?7=R2%ZiO2UxMm08@-zfrwD@t3t;HS|$MeEV&t(g0fxxoabJ^l|l zVY192%2Ux?<3Emz^2{%bX6v8kF0`I-sh9FNXtN8M9d=TR!Xxd!M$Rp_KGsA;(Abe)Z_RK{MFN+^--i5CCZl zW+RQM2SqmJO7ep5H+Jx z6(Tf&tWbmKb!`3I2S)H?>5sF_hu~OWR9zw~j(Nzk1HtrgTY`khTYSC@ci|qVr4f75<06!X^i6 zYf~=Yt)^GsQqqiZSOgjI3WEOTXdrEzI3WAF;JogH@+Hj9TP&lF>(v4_xt9UI2z{Zn zsP`PKG;QZItAYM!%tm4qPektkinWJ(+sb$O^7v*;e)uKgny?Y5PdfC&uexo9bxRFd`JycD5+?DTpm znWgIk=|pKn&b;IB*$IlwapXItD~$2t$q5Fw%pKJQvy;OK3<2%@ftZmd&y1AWpXumy zlB)8d4k@Eb?pOcH(_&Hl9Y$X(Q?}%Tf;(B?_#^^HrkGev$kV5dXLWq)+JxNctX%mn z$dAuW)DFW-^PBFTBSk-Y5y4f;3<(QbRBj?nT{!AkRK>q3aE$PeT4II|hlZIDatkOK zgs|TAN3YlRM&C)BTYz;J4{DX|2zqamjQ4usl7%Qra}+U(3P7gMKKreLDT022DvhMj zveDQ628QkU&jhZQ&UOkTt)o8AubM){Xv0MPmeOSMgz$IJWUf-1_FKIqzCaqb5qR?b zMrbP!r1Q1sy|_A#7yLtc4A18)EQJaw!UU${xOGj9A;f00D=8F@MhkIu*?X)BK@ibf zRN%&xJU72qfNyeFqvE?8P^*B0xISy*EZbVdCMdalQCp_ei$x`qK(35GVwRtzGDS z@izi)mGB}0gbjGE(vWqBNDobSzm3?2b48}|;Ws4#delroJ#8|TpvW{(t ztYaTrL}myx8RJgB-#PdGbMHC#-p_MBpYwgr^Lf7K{rY~M@8|g*PaZD-C$5-Um;ww8 z0Kh=Mfa7W462Qpt$NogdKgI<56PcNqKulm}F!VPgfeu(5!_tQ@Rt?0<|t;^biG z{B!eXl7C-iWCnql*;&9W|D^n%!tob?hZXPuJU|SR03#0rh=<|06A-8CWd27UUF^Tc zzzAYu2D8v*aL^NKPtfIqKy=Z}bj9@SIQnydiHDi@jH(fs&*mKhu{J370% zu|2(gBi}~H#wRAH@QZ|{<(1X7@9P_+o!wu1`v+vo?>}4&0O(&Vdi-y>c<5Y=e`>(; zhl_zRitZpDCgwA$U|u5|mb;;Rl4=iGPa3}{sBB}CQnw}Y-wPXNKP7#BQHJyf?H{uL z9a#MTi|jwa{)-C_aDo`<#RKsGhQJYJ9_xC+mvJ|rQ;b|J9eH=te`Ov&Ph)2m@3>}s zxETCpi#cNcL=l(h+{c|`pwKr{Bv24|ozI!^ro=5LGlNA|T{xltyY6Jt*{&#EmHMlu zn&|4c!ma(dmZzg8qnz>423hUU>HYkpzYTlsdp|Yc8D;IS5`ioddxR3B_;Y}M~a}7Ll`<;QOkSYyeKDrHZnoo^I z?fvKB)l-QDvWFIP(_fZ@fDo$-hPs34!uLwGpeE7&h=Id=frQiH%^Q23-*c%hjTG^6 z8${bz@hT(RpjPksB>0LpI=yN1-s;G(Ly8`v^hSf~m9x}nzwW}5V$~mZ< zkc$@s+$DI`-LhlK^Dewf>%Jzh9a$ayc)7<&gmX=h3dx#K*phWvOdFGE!w;(O-XBXR z+XrapoWAk#Fx{JW#*N#^bp)}$Yv>;yOxB&)H>w?0kR~C%AjC~#Wg5ARYRG|NcpakF zNA*F$5}h^)kw~-+nfVxC5kCgn4B?vOCl|Qg@;Z_1X>lLG1q4NH3(&ye$I9$l-$?IJ zJ(S;r_tN&ewWZTjiMf;7cgjsev*gArexdpNT-nC1R-E;bCin=hI3l{6g>=T13ahH& zaaLJ_`WN~`J~S#>t|4&ZQ_2qwWMF#af+Fz~)bpgDDFg`9%gzJ*sSjK;@=F=T1TSk- zv(rNwjghG@+W4s@v>tkKty}R@`)5fa;=Bm2p~MX5$yrO`jXBZAfo%Iy;Zr-y=~BRQ z{LK$KKfa*9f1|N29m1)y$3T2Cd}tgYL=(Ck5bVyzk_0n6Pp}9t#Wna?KF}&R!joOT zc!P>#Uvai0HI@2CoZs$j4#}5g57|STQ4}P_)Ot~$SZj>V7D<8IRdwX_FgzgVv@P@&j5 zn31nJCwQ+Vm$aH!^8KB~NKXT7i#;~x&_0oRDUBn~P4y16SRyIg6&`>z`>g7U*h&iNQ%`bhuQa$!dFcppBVYnZaBZzc~F?#!w1oiiAgi;Q&)bQ!xgpM&>-MnrTx zFIKzt+N#?MD&P>AayYY8d#!BHqgrM~W;a!A?-x08op5se=~BbE7*g_O;r=LX_Pk>7 zb&_d2*WAC|io&41NPGf9EjkzH&1yW(Tr{O8I>& zAMZTfC0Ueg$;Q+0+ioq@KoRS!)}_&_T=Ss*yZY~mSI|;|2C~#w=aonk|FfR%IE2%8 zbZW6~q(L6bqcT(Zt2^mQn&StmX24B5px`Aa+hA{ZyE71s2VHobloyjBE%!5j4_!#L zl&KxelB!uLcDz2)r_%BS<4urB998JM-SSmfp--nPWaPu)=ulBRf!{FGz>f4epX8$b zIOmpj(B5i`4$@()*r8ErTzSv{nYC@8IlOgmRO!?VL|P_3>o!=d9xXu56w)7j(a9Qg zk+J1K{!@OTX{alI3DSC}_o%YL+2{G5SZ$P@g5nd0g$Q6Q?)vDIYf&*bi-efoXjFAl z)}$)?Oo_(+=nAfHm;%zWo>;=v^f8f)`e?UU__23a)ECd5Gq5c6Bw6U$=?!bhS`T513fn$R~_H zEz?)O5x5xe%M5qk>ci#pbVtqP8E_lq(!N@AxXL+cQ^FH>yXgopB*E%F9rxp ziZS^uts2<{BH0HwHY2$XyMBkL9{G2|LjU?PF)axsM=6)Zh^N4eI5j7@gPQX5y`yH) z;w0n;=?uM$Fg2%^`Ev#5hqP2a_|JY16_dw+ubOMyBG~()_>4cj2OjnmlVm8bd+eC_ z+C+aCSV-sklu1Zeo&iLA(XH(xuu4NkT;;hw^CLcb&vQq#LEsl?lc?%|R)H2#m_p;& zuVI2^DSuP)>PZ(8mV>{e5vi3Hn&yL^L6IfQHW#A~H4ts8RIbHo3KoyK=s6KosFJ0E zS>(IhyG)R{zikpbT=4VlE`DsfR52!x{{Oc}Pn|*dT1~|t1D!OXZ&G=kEnIe^zgF3V zF#F%RQ5@#vGfbY#c;lB}2!? zzLrWUT>_1|*Q2|+$%+D0zLZWw5GKNKi-q{K;|&?&(l8qb{+ofLXjUYn{H^vg%9-EZ zA$riEgw82r>>`Cw>x?QSM|alj%$SWaMJW^0~7lK%o$x=u#>IE0ygj3A{oD3DR|{BA7&DA2|V4L&dVO;R5kaW;P3mY=?c%S zFyj)YrQZ{Lgzb~Yo5f#V7;novXKDigRJLrcrkYq)*=wU6e}fmy^>0HHX7hNG3JGO6%2W z#=loF)lQ=xm?kgl&`k2g?23aZpAY%dfokz}CDoY^(8bB+%tvlF5p9C4cX0kRcDBO^ zsMTV4zw|s@?&p?YhtyK ztAvY{U4p&R`RueJdUKmalVylUj}V@TG+FZR!Fd`VBJq^cEPfDv@T!&%4Vyk23aFf4WD$)*$mTI=9XcIS1U=joyxx4 z)I92IYK@;8k9Rer00ubQD^orHe!TK$%bB6@k^X(8D%AxCUxP)_4;$`=?%PR1`B5ki zxFk8HEqmB;Q+zQ<~)7hQ1|@&UDDqVtJG^qqe7HMswS~C*V0PrX9X4Ul90QC@my^!g834x#IBco z9#WBK*y@#=FAI&CNQHO#t!L>`dX|$9o!b$_;3z6T9|6^VBtWQ3pt0Ulj2sS<9ElKh z8t>kj`YS{>dDR@Rc?@_wFe^4Y22Knh+8k?r+vlmAwGUMfP+ht1?lelh#_ZEx84g!D zO}*3#^+z{1AgKJt?L?*EpLiEs@4{OCtz+P+8<&0{=|u#ZP!9)fQ>(XM>IMRNR@JwF-XjY7QUpNZ0OR zn2N^w9l?(t87`!?R+>@iZPc>1iR?yPoxVZR=Mc6e%=$5B@8YZ%dU}ZJwn68KGrF40_M4(!&p*#|&htE^dJx&h=HDg;hzLEF*1OezzhtGrx=--|HjFTQ{iB5wHX7=x9U%T6P*bb{c9YAbjGJ{vUfMX8#QuS~?It z1Ng+osgr`bGbi@x=uS-2pEy3L4m;TgKXYb(X@On#rjEiNtpSXo_L-`FG&_kQgk{3ad#`O8HE(EW>bqW>)y`w18A-yVSfa?#KR zoFpAPi2l3`1IMigU~6wqQQ2@tuG`6Ps@j;uUN;h3tlKsIxKQqfTsli*FVW}bN|&uyBQtBgsE&-K>2OrLjZ9rw zF5fK0%Kew-Xy^MMLM;W2FhS&KYfWZH(5_T-2w}SYtnoNn)#Cdc35`>I_MORkg?G*z zAiuWzg+bbpElK%Dk3yZ`P$kmm5VDmM5e*d~{!1 z@H2||M4`K*#f!rvztAp++1;E!`wIA%`RqQVF|UqMpS@tQ?dm~LNnDC?srX#)<=tI> z&8@5XWbPvh(^`=HH!NZIari-VD#_I_QPw*@9XE3Y37Sj@wW9)&aVTq4G*seMM;`lV zD16!AYO=}RozW4#+~@qjY_s~~6ecBpK|5bWij~?oh|#jZz=*C$6d-GkAwKo-VNi?m z5)vmNubP;5*Ye&->FyfS)3zO?&0O~i90cp9C$QeY7zcQx5vmlaqcYxShrSly(bWO# z*@%#aAIRn;k}?%I(0tTqfgGCWC^+w9yf`|j*4QN49M=iM`zaj1D^YbqRj=e^&^jE+ zX9kZ-l?&<5w%wwsihrs#6ijX!`zdi=YW`j#cY>g9gX$0Qq-Jd_-!fg(mPJKFF>Ypv z%X=E@)`*++rvlBvdzMv8diMIIJDOEg;7nzVwE(e)3QP}?lW^s#6xN30WcgzO{nRdD z04X9tp7`MTN+h-uJ(imI6_4k+g=s%)w&q>ChAi+g-Z=c@0dwUHaUJ<@c@F-pgGfwT{FzZI4 zXjZiLxz|SqtNg@vrs{_Gp+-vh-&fmbhgXkw4-1b3NC-l}VoX;hbH_5`*&K8vRHI0r zt9&OZG_@e(ew(nhsxXUeLNxym<_$Ka21*iEqqvPBY#k^N-enOY54;IK>)RDMEY>Gk zhV1>b`ZVOvKfT-$am(a)<@zXvX`Bksvys$Jl%K@uOz>Q+x%R5`W-MgfUdE#H2u}*H4?{&4Wfd|A*QGu*q5?l|gl2?ROk1WWp znTwebneCKwPWcuDkdL`}WY9{FGo2*7iAD>RscM{ASnbdP8z!GCaH`+1_jr{X>n#2v zWzaw(7LsCM=vs7KOa+{12*L-klTWVLNjfj`hFzObwl?;aZR8Y;2#~bzT?5m-E=xL% zk=PQ*`qbSak)%Tw>y*N^T$Bxba@_5dnU5gCG`nSc?thi+F&%>cL4uW+6Zl88UXPZi z2e5kOx^_Zz@mPzoecjJpi4R$$>>gu5oTGW;`~AXfI|>7%?QLIajAJwg9ugeen`)2b zpW?1R%W9>|9|K(mN41Xh7*v#$-oI_Chl(_kv|S5yFKfQ5SiOxIa|CZ#1razG z$BE9Zw)cguzb&KhHty+BT34BzvVxLAK5P(e=H`3-4E4HIgT1Zz3B2vT9mU;SJR|V6 z-XD46vwS8|GYy)PkE=#X6>jW=CNIIF&#G@-dg!x7}l=tIY33H;V=+Udp9?d6~y#Ud5_l0hKEB@^sbKi>*6Ra7x+|=3_ zV9HJYXr-C_wP&jxx~LX5*qey=C(cB5~>Y<(x%y8-FY)v z$2xH!<}${h+oYjL;RbQ=`pgR#&olZGANy1C<8MGN}+Gea*HmzRdbZSm!127s^=i$(leq3~|OK1!n;rHwGlt3e?nT zWMzUB)oS!wP_j2>FP`oO{i>{qTun2BiD4D>Ipfsk56q4~Lq(ATRDflEkqSHub*y+~ z*7rd-@S8I(=S7$0I9L7nveK=gj|I)FeFkG5A{=J7P37X3zi@Bwb(2gDE&7iuNJR^u z5#fkhM|2C%BbU3x$&OF^<2i88Gf9KQnRhx7USZX)`ocmME@o-YAm*1?M(>8AU_~;| zmBkqpBNcEvBpcW+PJA2*HFD)%Pd7%-S_lfn-V)ziWzU;ZyV6lxj+|o@%fl_wq-z~M zo$*d0RAQATrPE|a{fBFQS8#WZVt$O(g5WGhPc<1ghH;-C^Rlk3fL08jT7@rGq2c>D~bA|V2Iy_M#%8%GGvJPnd7p$%_sACxaX8SWdv12|NA*vp;#(U z0`F5_@-AI#d^McwkihG9ra+cR4_C3?@rqbZ$~OcPL`k4cWp;3DD@@ z#nzx0Qp+Q2hE-`OvUBP-cJXkj&OE;$FsO5kIAbtY#Ws`L9GdT$MYPH#TwA(&vwYY# z4Ya*A^64I|iw9RL=_k>6zd9nu)4Q#wk{!jT?d*}Uce+bN-8`nhRmKLqoV^};b*b;s z8k6K=CQb7Wo$ykZN=V4$a$|G#L-A3~-9U7$>*BahaIjEYh0D*6SE>?HG(@BkI(xf3 zB(y+Kzm-wYgB+IYN@|3}sShf<@t_Abxb^G8b85)+Zc=9F@Qla>FTwbTVucO^#_2Cf zXLB4@n%t!f$(rw;Mh2^t7nHI5io7Us@(kS{6bt1h3Z*yEMb zSMf#YpxQ*KfUO$hVDb19gbknLbT#a4u8V59A7ob&iDBDy6d>M6J$vK2Zw}4il{Eu4 zlBX#_zl1fe&@-j48SILqWuYqzZAbPW^3^Lf#QsU1G=x7gdR;{!Cc0J?#=1^;xh-|owxKSe z8e^-$T&PB(MSs=^#`ZB5i(RN8KUfR{cLkrGk7_o0Yd*g*iI-Q*2zU^a_|Q7y?b+c4 z=9^#fr-9t0uB7Qb3Zpc^sAEoY9O8a-ajK=}^^ESC>H73+)Sp;f{8TkoZpLrxx5+3L!RA6K?;4RyWcw0?+Lk^N zqzoeJu+iY?7D%Y<=zftF+H{jcooAeb^(=n{Yt1)@y%}v$!x9N zBq|`&Ct6~|TN{I_qv%o0{SdLdCLZjS44rg2YZpg8?jl8IEMp~(?s8R4=hYqM6P78b z6OLaX#Wzod;7gaJpOg7P{^qcnVUt7qe5uf`6q6abbiQ*p*1jN}kyH72^&y<+f%!yb zsPf6%!Vs8>t?qh%@F(V3GtAr1UBr&9L6yz}*oOFl;DZy34N*z*DTgj$gThI~c%xcR z{-9FSSExJzo>*ZK#3q^!MDbx)UC{(^Jbmt~cGI9f`yhpb%4a9vpLuE0Wf;aFI#?QG zz)WVgW^Hn4V0X^WsB*Rq@+el~yyJUW-ks9JFO)VEWYZCtZs+g*+nw%MemBJr5z0?}#Mn1n#PP<73 z9*kY%5YTmXifgWxX@3v++(XtQ`{wb^yxVt{<4F53oHWKvGveptu|nO?%ASThn<1eQ z#5)JR;z3Xri^vedHZU0)v+Chzavdj%!0DGsGzphj+{x-Dg$LL4v`D9 z`qKM`B}*aihYHy;c*WTy%?Y(BtVoWgR0D(I?`Z@p$ z3jnY%AAm6p+yaiV{I=im*l%NF{T)GUY^-eTAa?eD9L&kV4(0^2vvY8BaB}@N<{J+; z7timH-;4Y^^%#hi6~qN*2mh1ue+rC7K#&7)1RPmeE&#^_Sy%;G7_ER9Qzz&jc}%hY z8p|Rp>?e#Jz!$uP6rLyNa=>nu zH9<@U$#BJo-r<~FCxxLRr^GKxT#}ShQdYUDdJS>wwziJ0p8g$Evp>x(Ebm((9i5zA z9=W>tJVpEZ`3D3>M81fMj){#+Nqv>}I{nStjJ*7U!uQys4Rt0a*XVV#fcLOOVNR?DrXf ze{-=M^J6-zARFksJo|AiW3YqQi3X#bG? z@4&+UUu6FY_Fr6601qn*^YB;&0ZrhLo);HIT;?|LtF3(ti-XI;Q{?{CW`(B&0@uH> z?mBwSB(U^rRBf-ULl^+)6pfcG+q|EYpNkUk$65?83pS)WJVk1?FFWTT&l%M;8BIRs zQ_!Oa9)1X$E3&WFT-PeKbIs6fKWovlk67iGNqRf4t8!7!8^Tr=x<@&!E z<9U4XRZZa}YPUXl=lk`hYqQ7oYvmWiXH07C#lLC>DjUWTcq%VutGf_Iqur>_6G!|` z72lz(_pf(b!=P#w@&4E&u4x9qHb%DHc5S$HSW(C8f=Hai`>#JWR=HoA)ebdHk}hP%X*9HEAZ4VcnT`1;ajeOb;+I84b_=z#@eNN3hcZo zU!aXsiYXf8_JEGGqiWN?b|sG_et44YKE|Qt!=7sP<%}9OYffuYjcBCYE}~&%PUY3e zooVRX+vzH`tqx|N;2~T5s>%~xlw0#DH!JihCvKT}rTLEL0vIDd3(7iCU8SEpQWAcp z1d868O#03MxE=X)KkL>zqY#HX#KJ^sb(nIo{Np&G`Uf!R!ACwb{>K)!8n8seJwI9| zl)ym|g3QMd4!?Sg9Cgvv7i7V-D#z632B~4Ra?Eo@*YUD`f$X;v_Yi(1D)0oEFlZPz z;ZaTk0|4l>BO$sS#p1<<+APN!4=$3=&m$!E(oiuUPK8rVu0x^}wK+SndBj(KSgCQW z=RHlA`j$MFOtEe;-&U;~S<%9hoE1J6o%GjzX|DF9<%aE+)=NjhRflbaa#lt)G5DTq zvq+S!pYVYDXa?$6*u^kCHoh+f-*r!;mNzFPj=1U%pkYngbaiHBtsPL#@w#-ndZ>w) zT$o-pZwjR%dAjG&-HKjaZ6V?{A*i9d%1?v;ijS|jIjAkv819<;Ikxm-nz6u1Kc8p7 zVv3=bJrFuRTYZ}Why~yOKo_FHJ}BAo4?1t5*F!~ov+NeV9b%HSYdsCTmR01po>`A- z&f#*ZbZ}(Fxg|miCc2hn<&SMEb%-(uFf(v>9nzN{_4Ce+_C(Fe@D0+r$w#x=pB}(d zE)3u4OQ`9RpdVN?Q(lLtf%tJozOSl7(mmep%d&gccHAOWjSl;U2VM7&_*uR^p1Yh= z363pA_l(g(=5b|^yiTk61&0P-8^;IU!r5!`cH{9$lQ#$D$ZMNJH6?m&buFG;QlGuS%0Ep-RWbukTR}7W3dS~? zsV8~N1fa<9%h@A&6?$B0J=t=6DhCJSTDYDw&nmq=*7&R4R+MAxE{NXHSz1tDpNEe{ zuiRgUBHSm!nl+PhAOz>x*eRDbkMJYa5w+|1AG@($*j1~?)1s0>i()#WAGN?=ln-w( zfF?EuFjpbU%K*aDg255<1FiTIZQyoUE~_=l#Vjv@_yhCr@`AJ0Teshp4xWQLdA1gr z>v$~5+Ig3@t7ryQ1&-5COjCzwIR~6aqoTrxxeZX#?n%X;ew`Va#`4nv57+X7{Opp7 z^Ea{;z=a{^C-avqG;@4e#!AQ4fi7GW|ng6R1nIIs+uwUsifg zsJrw#x<6=)dvbPm;AGBOe8#K`&mvZvyB*l)@2}gO?{*Uvr@aUw;stHG0)o6eoxWtd zaw~TB>U(#j==ba6-N{d)hDa5wyL_v`1W7aftsN>=nZDObn|xTdo#V^gF0r9KU(xJ8 z(+A%Xmc9%3P1;i)w~|A1OJct|5vJqmFUx2tYXjT?oOmYg3$R>`0AU${NDorwl4`ob#3S|#fq!E;PThx}e{ z`rT}m{Grv^k0K$hAViFhWFt}ziYpQJAl+&yRPiWMLnJN~uzI;VG@V;WYS?K{U97_1b-)v$uY$ABG(|#PC zraV?DJ}-Q!;mO=pIRJ_ORq8{npm|BGjUSky>;$6**QL*min>d(Eo)Il?$JV#yKi7u zd{X$d1F*57@Voi5ddHoeT_>7-n#|$bzZ&r?nFp*^NeH8KopEBA!Q3?;8*!;mex~85 z{VjE|1u;xvMa9(%YkP48MSo9=l?0P0unxk*!K)ob+OWg{N&TjUi8#Y}!r9Hu%E}@4 zm9E$?Qr-%>FpadiPz73qN+A+bSUl9_1A_#YLNGhZNvz!F2Dd{Rj9+&rUiyGT(FACz z?Whm-0|d*5P7XC=$GBZY+5>kXOAJ7u>QVwm=*skQlhdIrn~4*fR*3crACcpPO;Pzo zYy#ikmtRoqV;x3d)+%LD!Z-c&;=}1X8dWccY2zWf2!~B>tHg-d%u?)C3D*G7Yyab zj-q;(#eeK>H_7`rtuxds=R^91wf*cUWsN172Vck9kpf5GC%acRTF)Tz7YQb8(YyLpLFLpFd06!W|MD)15&T&wx2J zzDM>HZBL^Sg9ffp0=z4+z^6`Wj&l(S=)N%B8FBJ*GO?b0y9KeHVKZqzRVQrJnH!PM zBN)!19&&k)%v6^W+94*uU>0lQRCHuj$?*U+%_0Nw@fT!OFaR0?0=QuiPre7T>027m8`SZGIDVuzHcx5@X` zkjn=)<5F$=2`p?H`Le6OQx4pe?|c*e)bRsB9&@%=94T@3y7-~r$kR?WY@JwJ@IG++Q69TBClG4w$il;z>$0*APl zB5!yceJaO0#JC&yY2(D%M5O_M25Z^Pc#p%`cDN(4KdF66!`*8TV?izH)|UW~YCjI9 z3xbb0bNT5fbg7EN!7RiQ4LD^W#>OpM;q|rr^v*9%EHdV|?QTDUSh7D=06W3u@HZ2# zy`@-Al>`q|T*`}ES4+-J(qX|P4zUctS?onvRY$Wm1BkRgS$VsrycV>6B~3RA>B+*a zc9$-#NDJ2@*~M@;jQ?;AJd^a!&YY=ciXUP3^mE`6+36CZzbRU&lGA2`6)rGXnf>G_i#a`sw=zpkN0I zsJ(tZ(XdUFS3fmT^HzP59)!{pRshFzt+0GT@K{9Hi(@L6vDL_5y|`AyFVEH2GAiR! zwjsv!S+}XRnV{37yeW4+bMyy|%YQ(bUPJEwxgU4z=5F=)%M`8fH&*x_)dV9~; zo%gDftr3Pw{J7lRAQjeBzyPW&qN`%1L(kF}KufkvWzdaptGdPr`!q@CUUwm!m5<&!)4fAjuESBgu+^jF2yEV~p4r}ExOCM-%4|iSUh_TLYDS1lZ3l;Py z5z`ZuW{>#`H;>nTF8la*2MX&trm`+Q+y?{Q);3OQiva?Y?Z5do5@<>%sQ%=yb_}3- z`iIsJ{+dZ4~MxC zrU)&14XRuf{yr_$oZF99iZUJq{&8KFyrX)7V6ETA_DsQ5)xp*%Jn}K-RH6Q#=}Is1 R;-tE`F6BM@pInnM`5)f$7a0Hm literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/250_100.jpg b/examples/data/Fruit360/apple/250_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7121b69609ec21afb62563a491d864ca3803319d GIT binary patch literal 4782 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/251_100.jpg b/examples/data/Fruit360/apple/251_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b12e82f5b81ae4e33455943baeba086c68e25095 GIT binary patch literal 4782 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/252_100.jpg b/examples/data/Fruit360/apple/252_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b46aaa6a3e830b3ca0135a00e324c34f06bbce37 GIT binary patch literal 4780 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/253_100.jpg b/examples/data/Fruit360/apple/253_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2520bd55cbfabf0ceeadc9871727c4c67ff0d15d GIT binary patch literal 4835 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/257_100.jpg b/examples/data/Fruit360/apple/257_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0243dfc7a467c7b5df28b1b92fc72d247abd0a3e GIT binary patch literal 4729 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 Vsc_pLn|_MRd$jAm`4x@Be*xeV@K68% literal 0 HcmV?d00001 diff --git a/examples/data/dataset_outputs.npy b/examples/data/dataset_outputs.npy new file mode 100644 index 0000000000000000000000000000000000000000..9f9e5187e4a0d381a2c63ec529a2ac6e57fb0e99 GIT binary patch literal 768 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= tXCxM+0{I#i20EHL3bhL411^Rk0Y2D6oHaM{@0{|MiJ-+|| literal 0 HcmV?d00001 diff --git a/examples/data/outputs.npy b/examples/data/outputs.npy new file mode 100644 index 0000000000000000000000000000000000000000..3523b07b18e2056a6c84570ea79cf9d5a215d217 GIT binary patch literal 15824 zcmeIyF=_%q7(n4oCppD*qp*!BL?vJ Date: Mon, 19 Jun 2023 16:39:29 -0400 Subject: [PATCH 069/220] Reformat documentation --- ...ADME_pygad_cnn_ReadTheDocs.rst => cnn.rst} | 1496 +-- ..._pygad_gacnn_ReadTheDocs.rst => gacnn.rst} | 1324 +-- ...ME_pygad_gann_ReadTheDocs.rst => gann.rst} | 2524 ++--- docs/source/index.rst | 16 +- ...ad_kerasga_ReadTheDocs.rst => kerasga.rst} | 1942 ++-- ...README_pygad_nn_ReadTheDocs.rst => nn.rst} | 1952 ++-- ...README_pygad_ReadTheDocs.rst => pygad.rst} | 9252 ++++++++--------- docs/source/{Footer.rst => releases.rst} | 4092 ++++---- ...ad_torchga_ReadTheDocs.rst => torchga.rst} | 1892 ++-- examples/KerasGA/XOR_classification.py | 4 +- examples/KerasGA/image_classification_CNN.py | 4 +- .../KerasGA/image_classification_Dense.py | 4 +- examples/KerasGA/regression_example.py | 4 +- examples/TorchGA/XOR_classification.py | 4 +- examples/TorchGA/image_classification_CNN.py | 4 +- .../TorchGA/image_classification_Dense.py | 4 +- examples/TorchGA/regression_example.py | 4 +- 17 files changed, 12261 insertions(+), 12261 deletions(-) rename docs/source/{README_pygad_cnn_ReadTheDocs.rst => cnn.rst} (97%) rename docs/source/{README_pygad_gacnn_ReadTheDocs.rst => gacnn.rst} (97%) rename docs/source/{README_pygad_gann_ReadTheDocs.rst => gann.rst} (97%) rename docs/source/{README_pygad_kerasga_ReadTheDocs.rst => kerasga.rst} (97%) rename docs/source/{README_pygad_nn_ReadTheDocs.rst => nn.rst} (97%) rename docs/source/{README_pygad_ReadTheDocs.rst => pygad.rst} (97%) rename docs/source/{Footer.rst => releases.rst} (97%) rename docs/source/{README_pygad_torchga_ReadTheDocs.rst => torchga.rst} (97%) diff --git a/docs/source/README_pygad_cnn_ReadTheDocs.rst b/docs/source/cnn.rst similarity index 97% rename from docs/source/README_pygad_cnn_ReadTheDocs.rst rename to docs/source/cnn.rst index 6dc9050..cb578bf 100644 --- a/docs/source/README_pygad_cnn_ReadTheDocs.rst +++ b/docs/source/cnn.rst @@ -1,748 +1,748 @@ -.. _pygadcnn-module: - -``pygad.cnn`` Module -==================== - -This section of the PyGAD's library documentation discusses the -**pygad.cnn** module. - -Using the **pygad.cnn** module, convolutional neural networks (CNNs) are -created. The purpose of this module is to only implement the **forward -pass** of a convolutional neural network without using a training -algorithm. The **pygad.cnn** module builds the network layers, -implements the activations functions, trains the network, makes -predictions, and more. - -Later, the **pygad.gacnn** module is used to train the **pygad.cnn** -network using the genetic algorithm built in the **pygad** module. - -Supported Layers -================ - -Each layer supported by the **pygad.cnn** module has a corresponding -class. The layers and their classes are: - -1. **Input**: Implemented using the ``pygad.cnn.Input2D`` class. - -2. **Convolution**: Implemented using the ``pygad.cnn.Conv2D`` class. - -3. **Max Pooling**: Implemented using the ``pygad.cnn.MaxPooling2D`` - class. - -4. **Average Pooling**: Implemented using the - ``pygad.cnn.AveragePooling2D`` class. - -5. **Flatten**: Implemented using the ``pygad.cnn.Flatten`` class. - -6. **ReLU**: Implemented using the ``pygad.cnn.ReLU`` class. - -7. **Sigmoid**: Implemented using the ``pygad.cnn.Sigmoid`` class. - -8. **Dense** (Fully Connected): Implemented using the - ``pygad.cnn.Dense`` class. - -In the future, more layers will be added. - -Except for the input layer, all of listed layers has 4 instance -attributes that do the same function which are: - -1. ``previous_layer``: A reference to the previous layer in the CNN - architecture. - -2. ``layer_input_size``: The size of the input to the layer. - -3. ``layer_output_size``: The size of the output from the layer. - -4. ``layer_output``: The latest output generated from the layer. It - default to ``None``. - -In addition to such attributes, the layers may have some additional -attributes. The next subsections discuss such layers. - -.. _pygadcnninput2d-class: - -``pygad.cnn.Input2D`` Class ---------------------------- - -The ``pygad.cnn.Input2D`` class creates the input layer for the -convolutional neural network. For each network, there is only a single -input layer. The network architecture must start with an input layer. - -This class has no methods or class attributes. All it has is a -constructor that accepts a parameter named ``input_shape`` representing -the shape of the input. - -The instances from the ``Input2D`` class has the following attributes: - -1. ``input_shape``: The shape of the input to the pygad.cnn. - -2. ``layer_output_size`` - -Here is an example of building an input layer with shape -``(50, 50, 3)``. - -.. code:: python - - input_layer = pygad.cnn.Input2D(input_shape=(50, 50, 3)) - -Here is how to access the attributes within the instance of the -``pygad.cnn.Input2D`` class. - -.. code:: python - - input_shape = input_layer.input_shape - layer_output_size = input_layer.layer_output_size - - print("Input2D Input shape =", input_shape) - print("Input2D Output shape =", layer_output_size) - -This is everything about the input layer. - -.. _pygadcnnconv2d-class: - -``pygad.cnn.Conv2D`` Class --------------------------- - -Using the ``pygad.cnn.Conv2D`` class, convolution (conv) layers can be -created. To create a convolution layer, just create a new instance of -the class. The constructor accepts the following parameters: - -- ``num_filters``: Number of filters. - -- ``kernel_size``: Filter kernel size. - -- ``previous_layer``: A reference to the previous layer. Using the - ``previous_layer`` attribute, a linked list is created that connects - all network layers. For more information about this attribute, please - check the **previous_layer** attribute section of the ``pygad.nn`` - module documentation. - -- ``activation_function=None``: A string representing the activation - function to be used in this layer. Defaults to ``None`` which means - no activation function is applied while applying the convolution - layer. An activation layer can be added separately in this case. The - supported activation functions in the conv layer are ``relu`` and - ``sigmoid``. - -Within the constructor, the accepted parameters are used as instance -attributes. Besides the parameters, some new instance attributes are -created which are: - -- ``filter_bank_size``: Size of the filter bank in this layer. - -- ``initial_weights``: The initial weights for the conv layer. - -- ``trained_weights``: The trained weights of the conv layer. This - attribute is initialized by the value in the ``initial_weights`` - attribute. - -- ``layer_input_size`` - -- ``layer_output_size`` - -- ``layer_output`` - -Here is an example for creating a conv layer with 2 filters and a kernel -size of 3. Note that the ``previous_layer`` parameter is assigned to the -input layer ``input_layer``. - -.. code:: python - - conv_layer = pygad.cnn.Conv2D(num_filters=2, - kernel_size=3, - previous_layer=input_layer, - activation_function=None) - -Here is how to access some attributes in the dense layer: - -.. code:: python - - filter_bank_size = conv_layer.filter_bank_size - conv_initail_weights = conv_layer.initial_weights - - print("Filter bank size attributes =", filter_bank_size) - print("Initial weights of the conv layer :", conv_initail_weights) - -Because ``conv_layer`` holds a reference to the input layer, then the -number of input neurons can be accessed. - -.. code:: python - - input_layer = conv_layer.previous_layer - input_shape = input_layer.num_neurons - - print("Input shape =", input_shape) - -Here is another conv layer where its ``previous_layer`` attribute points -to the previously created conv layer and it uses the ``ReLU`` activation -function. - -.. code:: python - - conv_layer2 = pygad.cnn.Conv2D(num_filters=2, - kernel_size=3, - previous_layer=conv_layer, - activation_function="relu") - -Because ``conv_layer2`` holds a reference to ``conv_layer`` in its -``previous_layer`` attribute, then the attributes in ``conv_layer`` can -be accessed. - -.. code:: python - - conv_layer = conv_layer2.previous_layer - filter_bank_size = conv_layer.filter_bank_size - - print("Filter bank size attributes =", filter_bank_size) - -After getting the reference to ``conv_layer``, we can use it to access -the number of input neurons. - -.. code:: python - - conv_layer = conv_layer2.previous_layer - input_layer = conv_layer.previous_layer - input_shape = input_layer.num_neurons - - print("Input shape =", input_shape) - -.. _pygadcnnmaxpooling2d-class: - -``pygad.cnn.MaxPooling2D`` Class --------------------------------- - -The ``pygad.cnn.MaxPooling2D`` class builds a max pooling layer for the -CNN architecture. The constructor of this class accepts the following -parameter: - -- ``pool_size``: Size of the window. - -- ``previous_layer``: A reference to the previous layer in the CNN - architecture. - -- ``stride=2``: A stride that default to 2. - -Within the constructor, the accepted parameters are used as instance -attributes. Besides the parameters, some new instance attributes are -created which are: - -- ``layer_input_size`` - -- ``layer_output_size`` - -- ``layer_output`` - -.. _pygadcnnaveragepooling2d-class: - -``pygad.cnn.AveragePooling2D`` Class ------------------------------------- - -The ``pygad.cnn.AveragePooling2D`` class is similar to the -``pygad.cnn.MaxPooling2D`` class except that it applies the max pooling -operation rather than average pooling. - -.. _pygadcnnflatten-class: - -``pygad.cnn.Flatten`` Class ---------------------------- - -The ``pygad.cnn.Flatten`` class implements the flatten layer which -converts the output of the previous layer into a 1D vector. The -constructor accepts only the ``previous_layer`` parameter. - -The following instance attributes exist: - -- ``previous_layer`` - -- ``layer_input_size`` - -- ``layer_output_size`` - -- ``layer_output`` - -.. _pygadcnnrelu-class: - -``pygad.cnn.ReLU`` Class ------------------------- - -The ``pygad.cnn.ReLU`` class implements the ReLU layer which applies the -ReLU activation function to the output of the previous layer. - -The constructor accepts only the ``previous_layer`` parameter. - -The following instance attributes exist: - -- ``previous_layer`` - -- ``layer_input_size`` - -- ``layer_output_size`` - -- ``layer_output`` - -.. _pygadcnnsigmoid-class: - -``pygad.cnn.Sigmoid`` Class ---------------------------- - -The ``pygad.cnn.Sigmoid`` class is similar to the ``pygad.cnn.ReLU`` -class except that it applies the sigmoid function rather than the ReLU -function. - -.. _pygadcnndense-class: - -``pygad.cnn.Dense`` Class -------------------------- - -The ``pygad.cnn.Dense`` class implement the dense layer. Its constructor -accepts the following parameters: - -- ``num_neurons``: Number of neurons in the dense layer. - -- ``previous_layer``: A reference to the previous layer. - -- ``activation_function``: A string representing the activation - function to be used in this layer. Defaults to ``"sigmoid"``. - Currently, the supported activation functions in the dense layer are - ``"sigmoid"``, ``"relu"``, and ``softmax``. - -Within the constructor, the accepted parameters are used as instance -attributes. Besides the parameters, some new instance attributes are -created which are: - -- ``initial_weights``: The initial weights for the dense layer. - -- ``trained_weights``: The trained weights of the dense layer. This - attribute is initialized by the value in the ``initial_weights`` - attribute. - -- ``layer_input_size`` - -- ``layer_output_size`` - -- ``layer_output`` - -.. _pygadcnnmodel-class: - -``pygad.cnn.Model`` Class -========================= - -An instance of the ``pygad.cnn.Model`` class represents a CNN model. The -constructor of this class accepts the following parameters: - -- ``last_layer``: A reference to the last layer in the CNN architecture - (i.e. dense layer). - -- ``epochs=10``: Number of epochs. - -- ``learning_rate=0.01``: Learning rate. - -Within the constructor, the accepted parameters are used as instance -attributes. Besides the parameters, a new instance attribute named -``network_layers`` is created which holds a list with references to the -CNN layers. Such a list is returned using the ``get_layers()`` method in -the ``pygad.cnn.Model`` class. - -There are a number of methods in the ``pygad.cnn.Model`` class which -serves in training, testing, and retrieving information about the model. -These methods are discussed in the next subsections. - -.. _getlayers: - -``get_layers()`` ----------------- - -Creates a list of all layers in the CNN model. It accepts no parameters. - -``train()`` ------------ - -Trains the CNN model. - -Accepts the following parameters: - -- ``train_inputs``: Training data inputs. - -- ``train_outputs``: Training data outputs. - -This method trains the CNN model according to the number of epochs -specified in the constructor of the ``pygad.cnn.Model`` class. - -It is important to note that no learning algorithm is used for training -the pygad.cnn. Just the learning rate is used for making some changes -which is better than leaving the weights unchanged. - -.. _feedsample: - -``feed_sample()`` ------------------ - -Feeds a sample in the CNN layers and returns results of the last layer -in the pygad.cnn. - -.. _updateweights: - -``update_weights()`` --------------------- - -Updates the CNN weights using the learning rate. It is important to note -that no learning algorithm is used for training the pygad.cnn. Just the -learning rate is used for making some changes which is better than -leaving the weights unchanged. - -``predict()`` -------------- - -Uses the trained CNN for making predictions. - -Accepts the following parameter: - -- ``data_inputs``: The inputs to predict their label. - -It returns a list holding the samples predictions. - -``summary()`` -------------- - -Prints a summary of the CNN architecture. - -Supported Activation Functions -============================== - -The supported activation functions in the convolution layer are: - -1. Sigmoid: Implemented using the ``pygad.cnn.sigmoid()`` function. - -2. Rectified Linear Unit (ReLU): Implemented using the - ``pygad.cnn.relu()`` function. - -The dense layer supports these functions besides the ``softmax`` -function implemented in the ``pygad.cnn.softmax()`` function. - -Steps to Build a Neural Network -=============================== - -This section discusses how to use the ``pygad.cnn`` module for building -a neural network. The summary of the steps are as follows: - -- Reading the Data - -- Building the CNN Architecture - -- Building Model - -- Model Summary - -- Training the CNN - -- Making Predictions - -- Calculating Some Statistics - -Reading the Data ----------------- - -Before building the network architecture, the first thing to do is to -prepare the data that will be used for training the network. - -In this example, 4 classes of the **Fruits360** dataset are used for -preparing the training data. The 4 classes are: - -1. `Apple - Braeburn `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/apple - -2. `Lemon - Meyer `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/lemon - -3. `Mango `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/mango - -4. `Raspberry `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/raspberry - -Just 20 samples from each of the 4 classes are saved into a NumPy array -available in the -`dataset_inputs.npy `__ -file: -https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy - -The shape of this array is ``(80, 100, 100, 3)`` where the shape of the -single image is ``(100, 100, 3)``. - -The -`dataset_outputs.npy `__ -file -(https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy) -has the class labels for the 4 classes: - -1. `Apple - Braeburn `__: - Class label is **0** - -2. `Lemon - Meyer `__: - Class label is **1** - -3. `Mango `__: - Class label is **2** - -4. `Raspberry `__: - Class label is **3** - -Simply, download and reach the 2 files to return the NumPy arrays -according to the next 2 lines: - -.. code:: python - - train_inputs = numpy.load("dataset_inputs.npy") - train_outputs = numpy.load("dataset_outputs.npy") - -After the data is prepared, next is to create the network architecture. - -Building the Network Architecture ---------------------------------- - -The input layer is created by instantiating the ``pygad.cnn.Input2D`` -class according to the next code. A network can only have a single input -layer. - -.. code:: python - - import pygad.cnn - sample_shape = train_inputs.shape[1:] - - input_layer = pygad.cnn.Input2D(input_shape=sample_shape) - -After the input layer is created, next is to create a number of layers -layers according to the next code. Normally, the last dense layer is -regarded as the output layer. Note that the output layer has a number of -neurons equal to the number of classes in the dataset which is 4. - -.. code:: python - - conv_layer1 = pygad.cnn.Conv2D(num_filters=2, - kernel_size=3, - previous_layer=input_layer, - activation_function=None) - relu_layer1 = pygad.cnn.Sigmoid(previous_layer=conv_layer1) - average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, - previous_layer=relu_layer1, - stride=2) - - conv_layer2 = pygad.cnn.Conv2D(num_filters=3, - kernel_size=3, - previous_layer=average_pooling_layer, - activation_function=None) - relu_layer2 = pygad.cnn.ReLU(previous_layer=conv_layer2) - max_pooling_layer = pygad.cnn.MaxPooling2D(pool_size=2, - previous_layer=relu_layer2, - stride=2) - - conv_layer3 = pygad.cnn.Conv2D(num_filters=1, - kernel_size=3, - previous_layer=max_pooling_layer, - activation_function=None) - relu_layer3 = pygad.cnn.ReLU(previous_layer=conv_layer3) - pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, - previous_layer=relu_layer3, - stride=2) - - flatten_layer = pygad.cnn.Flatten(previous_layer=pooling_layer) - dense_layer1 = pygad.cnn.Dense(num_neurons=100, - previous_layer=flatten_layer, - activation_function="relu") - dense_layer2 = pygad.cnn.Dense(num_neurons=4, - previous_layer=dense_layer1, - activation_function="softmax") - -After the network architecture is prepared, the next step is to create a -CNN model. - -Building Model --------------- - -The CNN model is created as an instance of the ``pygad.cnn.Model`` -class. Here is an example. - -.. code:: python - - model = pygad.cnn.Model(last_layer=dense_layer2, - epochs=5, - learning_rate=0.01) - -After the model is created, a summary of the model architecture can be -printed. - -Model Summary -------------- - -The ``summary()`` method in the ``pygad.cnn.Model`` class prints a -summary of the CNN model. - -.. code:: python - - model.summary() - -.. code:: python - - ----------Network Architecture---------- - - - - - - - - - - - - - ---------------------------------------- - -Training the Network --------------------- - -After the model and the data are prepared, then the model can be trained -using the the ``pygad.cnn.train()`` method. - -.. code:: python - - model.train(train_inputs=train_inputs, - train_outputs=train_outputs) - -After training the network, the next step is to make predictions. - -Making Predictions ------------------- - -The ``pygad.cnn.predict()`` method uses the trained network for making -predictions. Here is an example. - -.. code:: python - - predictions = model.predict(data_inputs=train_inputs) - -It is not expected to have high accuracy in the predictions because no -training algorithm is used. - -Calculating Some Statistics ---------------------------- - -Based on the predictions the network made, some statistics can be -calculated such as the number of correct and wrong predictions in -addition to the classification accuracy. - -.. code:: python - - num_wrong = numpy.where(predictions != train_outputs)[0] - num_correct = train_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/train_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -It is very important to note that it is not expected that the -classification accuracy is high because no training algorithm is used. -Please check the documentation of the ``pygad.gacnn`` module for -training the CNN using the genetic algorithm. - -Examples -======== - -This section gives the complete code of some examples that build neural -networks using ``pygad.cnn``. Each subsection builds a different -network. - -Image Classification --------------------- - -This example is discussed in the **Steps to Build a Convolutional Neural -Network** section and its complete code is listed below. - -Remember to either download or create the -`dataset_features.npy `__ -and -`dataset_outputs.npy `__ -files before running this code. - -.. code:: python - - import numpy - import pygad.cnn - - """ - Convolutional neural network implementation using NumPy - A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: - https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad - https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a - https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html - It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 - """ - - train_inputs = numpy.load("dataset_inputs.npy") - train_outputs = numpy.load("dataset_outputs.npy") - - sample_shape = train_inputs.shape[1:] - num_classes = 4 - - input_layer = pygad.cnn.Input2D(input_shape=sample_shape) - conv_layer1 = pygad.cnn.Conv2D(num_filters=2, - kernel_size=3, - previous_layer=input_layer, - activation_function=None) - relu_layer1 = pygad.cnn.Sigmoid(previous_layer=conv_layer1) - average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, - previous_layer=relu_layer1, - stride=2) - - conv_layer2 = pygad.cnn.Conv2D(num_filters=3, - kernel_size=3, - previous_layer=average_pooling_layer, - activation_function=None) - relu_layer2 = pygad.cnn.ReLU(previous_layer=conv_layer2) - max_pooling_layer = pygad.cnn.MaxPooling2D(pool_size=2, - previous_layer=relu_layer2, - stride=2) - - conv_layer3 = pygad.cnn.Conv2D(num_filters=1, - kernel_size=3, - previous_layer=max_pooling_layer, - activation_function=None) - relu_layer3 = pygad.cnn.ReLU(previous_layer=conv_layer3) - pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, - previous_layer=relu_layer3, - stride=2) - - flatten_layer = pygad.cnn.Flatten(previous_layer=pooling_layer) - dense_layer1 = pygad.cnn.Dense(num_neurons=100, - previous_layer=flatten_layer, - activation_function="relu") - dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, - previous_layer=dense_layer1, - activation_function="softmax") - - model = pygad.cnn.Model(last_layer=dense_layer2, - epochs=1, - learning_rate=0.01) - - model.summary() - - model.train(train_inputs=train_inputs, - train_outputs=train_outputs) - - predictions = model.predict(data_inputs=train_inputs) - print(predictions) - - num_wrong = numpy.where(predictions != train_outputs)[0] - num_correct = train_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/train_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) +.. _pygadcnn-module: + +``pygad.cnn`` Module +==================== + +This section of the PyGAD's library documentation discusses the +**pygad.cnn** module. + +Using the **pygad.cnn** module, convolutional neural networks (CNNs) are +created. The purpose of this module is to only implement the **forward +pass** of a convolutional neural network without using a training +algorithm. The **pygad.cnn** module builds the network layers, +implements the activations functions, trains the network, makes +predictions, and more. + +Later, the **pygad.gacnn** module is used to train the **pygad.cnn** +network using the genetic algorithm built in the **pygad** module. + +Supported Layers +================ + +Each layer supported by the **pygad.cnn** module has a corresponding +class. The layers and their classes are: + +1. **Input**: Implemented using the ``pygad.cnn.Input2D`` class. + +2. **Convolution**: Implemented using the ``pygad.cnn.Conv2D`` class. + +3. **Max Pooling**: Implemented using the ``pygad.cnn.MaxPooling2D`` + class. + +4. **Average Pooling**: Implemented using the + ``pygad.cnn.AveragePooling2D`` class. + +5. **Flatten**: Implemented using the ``pygad.cnn.Flatten`` class. + +6. **ReLU**: Implemented using the ``pygad.cnn.ReLU`` class. + +7. **Sigmoid**: Implemented using the ``pygad.cnn.Sigmoid`` class. + +8. **Dense** (Fully Connected): Implemented using the + ``pygad.cnn.Dense`` class. + +In the future, more layers will be added. + +Except for the input layer, all of listed layers has 4 instance +attributes that do the same function which are: + +1. ``previous_layer``: A reference to the previous layer in the CNN + architecture. + +2. ``layer_input_size``: The size of the input to the layer. + +3. ``layer_output_size``: The size of the output from the layer. + +4. ``layer_output``: The latest output generated from the layer. It + default to ``None``. + +In addition to such attributes, the layers may have some additional +attributes. The next subsections discuss such layers. + +.. _pygadcnninput2d-class: + +``pygad.cnn.Input2D`` Class +--------------------------- + +The ``pygad.cnn.Input2D`` class creates the input layer for the +convolutional neural network. For each network, there is only a single +input layer. The network architecture must start with an input layer. + +This class has no methods or class attributes. All it has is a +constructor that accepts a parameter named ``input_shape`` representing +the shape of the input. + +The instances from the ``Input2D`` class has the following attributes: + +1. ``input_shape``: The shape of the input to the pygad.cnn. + +2. ``layer_output_size`` + +Here is an example of building an input layer with shape +``(50, 50, 3)``. + +.. code:: python + + input_layer = pygad.cnn.Input2D(input_shape=(50, 50, 3)) + +Here is how to access the attributes within the instance of the +``pygad.cnn.Input2D`` class. + +.. code:: python + + input_shape = input_layer.input_shape + layer_output_size = input_layer.layer_output_size + + print("Input2D Input shape =", input_shape) + print("Input2D Output shape =", layer_output_size) + +This is everything about the input layer. + +.. _pygadcnnconv2d-class: + +``pygad.cnn.Conv2D`` Class +-------------------------- + +Using the ``pygad.cnn.Conv2D`` class, convolution (conv) layers can be +created. To create a convolution layer, just create a new instance of +the class. The constructor accepts the following parameters: + +- ``num_filters``: Number of filters. + +- ``kernel_size``: Filter kernel size. + +- ``previous_layer``: A reference to the previous layer. Using the + ``previous_layer`` attribute, a linked list is created that connects + all network layers. For more information about this attribute, please + check the **previous_layer** attribute section of the ``pygad.nn`` + module documentation. + +- ``activation_function=None``: A string representing the activation + function to be used in this layer. Defaults to ``None`` which means + no activation function is applied while applying the convolution + layer. An activation layer can be added separately in this case. The + supported activation functions in the conv layer are ``relu`` and + ``sigmoid``. + +Within the constructor, the accepted parameters are used as instance +attributes. Besides the parameters, some new instance attributes are +created which are: + +- ``filter_bank_size``: Size of the filter bank in this layer. + +- ``initial_weights``: The initial weights for the conv layer. + +- ``trained_weights``: The trained weights of the conv layer. This + attribute is initialized by the value in the ``initial_weights`` + attribute. + +- ``layer_input_size`` + +- ``layer_output_size`` + +- ``layer_output`` + +Here is an example for creating a conv layer with 2 filters and a kernel +size of 3. Note that the ``previous_layer`` parameter is assigned to the +input layer ``input_layer``. + +.. code:: python + + conv_layer = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function=None) + +Here is how to access some attributes in the dense layer: + +.. code:: python + + filter_bank_size = conv_layer.filter_bank_size + conv_initail_weights = conv_layer.initial_weights + + print("Filter bank size attributes =", filter_bank_size) + print("Initial weights of the conv layer :", conv_initail_weights) + +Because ``conv_layer`` holds a reference to the input layer, then the +number of input neurons can be accessed. + +.. code:: python + + input_layer = conv_layer.previous_layer + input_shape = input_layer.num_neurons + + print("Input shape =", input_shape) + +Here is another conv layer where its ``previous_layer`` attribute points +to the previously created conv layer and it uses the ``ReLU`` activation +function. + +.. code:: python + + conv_layer2 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=conv_layer, + activation_function="relu") + +Because ``conv_layer2`` holds a reference to ``conv_layer`` in its +``previous_layer`` attribute, then the attributes in ``conv_layer`` can +be accessed. + +.. code:: python + + conv_layer = conv_layer2.previous_layer + filter_bank_size = conv_layer.filter_bank_size + + print("Filter bank size attributes =", filter_bank_size) + +After getting the reference to ``conv_layer``, we can use it to access +the number of input neurons. + +.. code:: python + + conv_layer = conv_layer2.previous_layer + input_layer = conv_layer.previous_layer + input_shape = input_layer.num_neurons + + print("Input shape =", input_shape) + +.. _pygadcnnmaxpooling2d-class: + +``pygad.cnn.MaxPooling2D`` Class +-------------------------------- + +The ``pygad.cnn.MaxPooling2D`` class builds a max pooling layer for the +CNN architecture. The constructor of this class accepts the following +parameter: + +- ``pool_size``: Size of the window. + +- ``previous_layer``: A reference to the previous layer in the CNN + architecture. + +- ``stride=2``: A stride that default to 2. + +Within the constructor, the accepted parameters are used as instance +attributes. Besides the parameters, some new instance attributes are +created which are: + +- ``layer_input_size`` + +- ``layer_output_size`` + +- ``layer_output`` + +.. _pygadcnnaveragepooling2d-class: + +``pygad.cnn.AveragePooling2D`` Class +------------------------------------ + +The ``pygad.cnn.AveragePooling2D`` class is similar to the +``pygad.cnn.MaxPooling2D`` class except that it applies the max pooling +operation rather than average pooling. + +.. _pygadcnnflatten-class: + +``pygad.cnn.Flatten`` Class +--------------------------- + +The ``pygad.cnn.Flatten`` class implements the flatten layer which +converts the output of the previous layer into a 1D vector. The +constructor accepts only the ``previous_layer`` parameter. + +The following instance attributes exist: + +- ``previous_layer`` + +- ``layer_input_size`` + +- ``layer_output_size`` + +- ``layer_output`` + +.. _pygadcnnrelu-class: + +``pygad.cnn.ReLU`` Class +------------------------ + +The ``pygad.cnn.ReLU`` class implements the ReLU layer which applies the +ReLU activation function to the output of the previous layer. + +The constructor accepts only the ``previous_layer`` parameter. + +The following instance attributes exist: + +- ``previous_layer`` + +- ``layer_input_size`` + +- ``layer_output_size`` + +- ``layer_output`` + +.. _pygadcnnsigmoid-class: + +``pygad.cnn.Sigmoid`` Class +--------------------------- + +The ``pygad.cnn.Sigmoid`` class is similar to the ``pygad.cnn.ReLU`` +class except that it applies the sigmoid function rather than the ReLU +function. + +.. _pygadcnndense-class: + +``pygad.cnn.Dense`` Class +------------------------- + +The ``pygad.cnn.Dense`` class implement the dense layer. Its constructor +accepts the following parameters: + +- ``num_neurons``: Number of neurons in the dense layer. + +- ``previous_layer``: A reference to the previous layer. + +- ``activation_function``: A string representing the activation + function to be used in this layer. Defaults to ``"sigmoid"``. + Currently, the supported activation functions in the dense layer are + ``"sigmoid"``, ``"relu"``, and ``softmax``. + +Within the constructor, the accepted parameters are used as instance +attributes. Besides the parameters, some new instance attributes are +created which are: + +- ``initial_weights``: The initial weights for the dense layer. + +- ``trained_weights``: The trained weights of the dense layer. This + attribute is initialized by the value in the ``initial_weights`` + attribute. + +- ``layer_input_size`` + +- ``layer_output_size`` + +- ``layer_output`` + +.. _pygadcnnmodel-class: + +``pygad.cnn.Model`` Class +========================= + +An instance of the ``pygad.cnn.Model`` class represents a CNN model. The +constructor of this class accepts the following parameters: + +- ``last_layer``: A reference to the last layer in the CNN architecture + (i.e. dense layer). + +- ``epochs=10``: Number of epochs. + +- ``learning_rate=0.01``: Learning rate. + +Within the constructor, the accepted parameters are used as instance +attributes. Besides the parameters, a new instance attribute named +``network_layers`` is created which holds a list with references to the +CNN layers. Such a list is returned using the ``get_layers()`` method in +the ``pygad.cnn.Model`` class. + +There are a number of methods in the ``pygad.cnn.Model`` class which +serves in training, testing, and retrieving information about the model. +These methods are discussed in the next subsections. + +.. _getlayers: + +``get_layers()`` +---------------- + +Creates a list of all layers in the CNN model. It accepts no parameters. + +``train()`` +----------- + +Trains the CNN model. + +Accepts the following parameters: + +- ``train_inputs``: Training data inputs. + +- ``train_outputs``: Training data outputs. + +This method trains the CNN model according to the number of epochs +specified in the constructor of the ``pygad.cnn.Model`` class. + +It is important to note that no learning algorithm is used for training +the pygad.cnn. Just the learning rate is used for making some changes +which is better than leaving the weights unchanged. + +.. _feedsample: + +``feed_sample()`` +----------------- + +Feeds a sample in the CNN layers and returns results of the last layer +in the pygad.cnn. + +.. _updateweights: + +``update_weights()`` +-------------------- + +Updates the CNN weights using the learning rate. It is important to note +that no learning algorithm is used for training the pygad.cnn. Just the +learning rate is used for making some changes which is better than +leaving the weights unchanged. + +``predict()`` +------------- + +Uses the trained CNN for making predictions. + +Accepts the following parameter: + +- ``data_inputs``: The inputs to predict their label. + +It returns a list holding the samples predictions. + +``summary()`` +------------- + +Prints a summary of the CNN architecture. + +Supported Activation Functions +============================== + +The supported activation functions in the convolution layer are: + +1. Sigmoid: Implemented using the ``pygad.cnn.sigmoid()`` function. + +2. Rectified Linear Unit (ReLU): Implemented using the + ``pygad.cnn.relu()`` function. + +The dense layer supports these functions besides the ``softmax`` +function implemented in the ``pygad.cnn.softmax()`` function. + +Steps to Build a Neural Network +=============================== + +This section discusses how to use the ``pygad.cnn`` module for building +a neural network. The summary of the steps are as follows: + +- Reading the Data + +- Building the CNN Architecture + +- Building Model + +- Model Summary + +- Training the CNN + +- Making Predictions + +- Calculating Some Statistics + +Reading the Data +---------------- + +Before building the network architecture, the first thing to do is to +prepare the data that will be used for training the network. + +In this example, 4 classes of the **Fruits360** dataset are used for +preparing the training data. The 4 classes are: + +1. `Apple + Braeburn `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/apple + +2. `Lemon + Meyer `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/lemon + +3. `Mango `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/mango + +4. `Raspberry `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/raspberry + +Just 20 samples from each of the 4 classes are saved into a NumPy array +available in the +`dataset_inputs.npy `__ +file: +https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy + +The shape of this array is ``(80, 100, 100, 3)`` where the shape of the +single image is ``(100, 100, 3)``. + +The +`dataset_outputs.npy `__ +file +(https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy) +has the class labels for the 4 classes: + +1. `Apple + Braeburn `__: + Class label is **0** + +2. `Lemon + Meyer `__: + Class label is **1** + +3. `Mango `__: + Class label is **2** + +4. `Raspberry `__: + Class label is **3** + +Simply, download and reach the 2 files to return the NumPy arrays +according to the next 2 lines: + +.. code:: python + + train_inputs = numpy.load("dataset_inputs.npy") + train_outputs = numpy.load("dataset_outputs.npy") + +After the data is prepared, next is to create the network architecture. + +Building the Network Architecture +--------------------------------- + +The input layer is created by instantiating the ``pygad.cnn.Input2D`` +class according to the next code. A network can only have a single input +layer. + +.. code:: python + + import pygad.cnn + sample_shape = train_inputs.shape[1:] + + input_layer = pygad.cnn.Input2D(input_shape=sample_shape) + +After the input layer is created, next is to create a number of layers +layers according to the next code. Normally, the last dense layer is +regarded as the output layer. Note that the output layer has a number of +neurons equal to the number of classes in the dataset which is 4. + +.. code:: python + + conv_layer1 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function=None) + relu_layer1 = pygad.cnn.Sigmoid(previous_layer=conv_layer1) + average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer1, + stride=2) + + conv_layer2 = pygad.cnn.Conv2D(num_filters=3, + kernel_size=3, + previous_layer=average_pooling_layer, + activation_function=None) + relu_layer2 = pygad.cnn.ReLU(previous_layer=conv_layer2) + max_pooling_layer = pygad.cnn.MaxPooling2D(pool_size=2, + previous_layer=relu_layer2, + stride=2) + + conv_layer3 = pygad.cnn.Conv2D(num_filters=1, + kernel_size=3, + previous_layer=max_pooling_layer, + activation_function=None) + relu_layer3 = pygad.cnn.ReLU(previous_layer=conv_layer3) + pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer3, + stride=2) + + flatten_layer = pygad.cnn.Flatten(previous_layer=pooling_layer) + dense_layer1 = pygad.cnn.Dense(num_neurons=100, + previous_layer=flatten_layer, + activation_function="relu") + dense_layer2 = pygad.cnn.Dense(num_neurons=4, + previous_layer=dense_layer1, + activation_function="softmax") + +After the network architecture is prepared, the next step is to create a +CNN model. + +Building Model +-------------- + +The CNN model is created as an instance of the ``pygad.cnn.Model`` +class. Here is an example. + +.. code:: python + + model = pygad.cnn.Model(last_layer=dense_layer2, + epochs=5, + learning_rate=0.01) + +After the model is created, a summary of the model architecture can be +printed. + +Model Summary +------------- + +The ``summary()`` method in the ``pygad.cnn.Model`` class prints a +summary of the CNN model. + +.. code:: python + + model.summary() + +.. code:: python + + ----------Network Architecture---------- + + + + + + + + + + + + + ---------------------------------------- + +Training the Network +-------------------- + +After the model and the data are prepared, then the model can be trained +using the the ``pygad.cnn.train()`` method. + +.. code:: python + + model.train(train_inputs=train_inputs, + train_outputs=train_outputs) + +After training the network, the next step is to make predictions. + +Making Predictions +------------------ + +The ``pygad.cnn.predict()`` method uses the trained network for making +predictions. Here is an example. + +.. code:: python + + predictions = model.predict(data_inputs=train_inputs) + +It is not expected to have high accuracy in the predictions because no +training algorithm is used. + +Calculating Some Statistics +--------------------------- + +Based on the predictions the network made, some statistics can be +calculated such as the number of correct and wrong predictions in +addition to the classification accuracy. + +.. code:: python + + num_wrong = numpy.where(predictions != train_outputs)[0] + num_correct = train_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/train_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +It is very important to note that it is not expected that the +classification accuracy is high because no training algorithm is used. +Please check the documentation of the ``pygad.gacnn`` module for +training the CNN using the genetic algorithm. + +Examples +======== + +This section gives the complete code of some examples that build neural +networks using ``pygad.cnn``. Each subsection builds a different +network. + +Image Classification +-------------------- + +This example is discussed in the **Steps to Build a Convolutional Neural +Network** section and its complete code is listed below. + +Remember to either download or create the +`dataset_features.npy `__ +and +`dataset_outputs.npy `__ +files before running this code. + +.. code:: python + + import numpy + import pygad.cnn + + """ + Convolutional neural network implementation using NumPy + A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: + https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad + https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a + https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html + It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 + """ + + train_inputs = numpy.load("dataset_inputs.npy") + train_outputs = numpy.load("dataset_outputs.npy") + + sample_shape = train_inputs.shape[1:] + num_classes = 4 + + input_layer = pygad.cnn.Input2D(input_shape=sample_shape) + conv_layer1 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function=None) + relu_layer1 = pygad.cnn.Sigmoid(previous_layer=conv_layer1) + average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer1, + stride=2) + + conv_layer2 = pygad.cnn.Conv2D(num_filters=3, + kernel_size=3, + previous_layer=average_pooling_layer, + activation_function=None) + relu_layer2 = pygad.cnn.ReLU(previous_layer=conv_layer2) + max_pooling_layer = pygad.cnn.MaxPooling2D(pool_size=2, + previous_layer=relu_layer2, + stride=2) + + conv_layer3 = pygad.cnn.Conv2D(num_filters=1, + kernel_size=3, + previous_layer=max_pooling_layer, + activation_function=None) + relu_layer3 = pygad.cnn.ReLU(previous_layer=conv_layer3) + pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer3, + stride=2) + + flatten_layer = pygad.cnn.Flatten(previous_layer=pooling_layer) + dense_layer1 = pygad.cnn.Dense(num_neurons=100, + previous_layer=flatten_layer, + activation_function="relu") + dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, + previous_layer=dense_layer1, + activation_function="softmax") + + model = pygad.cnn.Model(last_layer=dense_layer2, + epochs=1, + learning_rate=0.01) + + model.summary() + + model.train(train_inputs=train_inputs, + train_outputs=train_outputs) + + predictions = model.predict(data_inputs=train_inputs) + print(predictions) + + num_wrong = numpy.where(predictions != train_outputs)[0] + num_correct = train_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/train_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/docs/source/README_pygad_gacnn_ReadTheDocs.rst b/docs/source/gacnn.rst similarity index 97% rename from docs/source/README_pygad_gacnn_ReadTheDocs.rst rename to docs/source/gacnn.rst index 39bbc6e..c9b6336 100644 --- a/docs/source/README_pygad_gacnn_ReadTheDocs.rst +++ b/docs/source/gacnn.rst @@ -1,662 +1,662 @@ -.. _pygadgacnn-module: - -``pygad.gacnn`` Module -====================== - -This section of the PyGAD's library documentation discusses the -**pygad.gacnn** module. - -The ``pygad.gacnn`` module trains convolutional neural networks using -the genetic algorithm. It makes use of the 2 modules ``pygad`` and -``pygad.cnn``. - -.. _pygadgacnngacnn-class: - -``pygad.gacnn.GACNN`` Class -=========================== - -The ``pygad.gacnn`` module has a class named ``pygad.gacnn.GACNN`` for -training convolutional neural networks (CNNs) using the genetic -algorithm. The constructor, methods, function, and attributes within the -class are discussed in this section. - -.. _init: - -``__init__()`` --------------- - -In order to train a CNN using the genetic algorithm, the first thing to -do is to create an instance of the ``pygad.gacnn.GACNN`` class. - -The ``pygad.gacnn.GACNN`` class constructor accepts the following -parameters: - -- ``model``: model: An instance of the pygad.cnn.Model class - representing the architecture of all solutions in the population. - -- ``num_solutions``: Number of CNNs (i.e. solutions) in the population. - Based on the value passed to this parameter, a number of identical - CNNs are created where their parameters are optimized using the - genetic algorithm. - -Instance Attributes -------------------- - -All the parameters in the ``pygad.gacnn.GACNN`` class constructor are -used as instance attributes. Besides such attributes, there is an extra -attribute added to the instances from the ``pygad.gacnn.GACNN`` class -which is: - -- ``population_networks``: A list holding references to all the - solutions (i.e. CNNs) used in the population. - -Methods in the GACNN Class --------------------------- - -This section discusses the methods available for instances of the -``pygad.gacnn.GACNN`` class. - -.. _createpopulation: - -``create_population()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -The ``create_population()`` method creates the initial population of the -genetic algorithm as a list of CNNs (i.e. solutions). All the networks -are copied from the CNN model passed to constructor of the GACNN class. - -The list of networks is assigned to the ``population_networks`` -attribute of the instance. - -.. _updatepopulationtrainedweights: - -``update_population_trained_weights()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``update_population_trained_weights()`` method updates the -``trained_weights`` attribute of the layers of each network (check the -documentation of the ``pygad.cnn`` module) for more information) -according to the weights passed in the ``population_trained_weights`` -parameter. - -Accepts the following parameters: - -- ``population_trained_weights``: A list holding the trained weights of - all networks as matrices. Such matrices are to be assigned to the - ``trained_weights`` attribute of all layers of all networks. - -.. _functions-in-the-pygadgacnn-module: - -Functions in the ``pygad.gacnn`` Module -======================================= - -This section discusses the functions in the ``pygad.gacnn`` module. - -.. _pygadgacnnpopulationasvectors: - -``pygad.gacnn.population_as_vectors()`` ----------------------------------------- - -Accepts the population as a list of references to the -``pygad.cnn.Model`` class and returns a list holding all weights of the -layers of each solution (i.e. network) in the population as a vector. - -For example, if the population has 6 solutions (i.e. networks), this -function accepts references to such networks and returns a list with 6 -vectors, one for each network (i.e. solution). Each vector holds the -weights for all layers for a single network. - -Accepts the following parameters: - -- ``population_networks``: A list holding references to the - ``pygad.cnn.Model`` class of the networks used in the population. - -Returns a list holding the weights vectors for all solutions (i.e. -networks). - -.. _pygadgacnnpopulationasmatrices: - -``pygad.gacnn.population_as_matrices()`` ----------------------------------------- - -Accepts the population as both networks and weights vectors and returns -the weights of all layers of each solution (i.e. network) in the -population as a matrix. - -For example, if the population has 6 solutions (i.e. networks), this -function returns a list with 6 matrices, one for each network holding -its weights for all layers. - -Accepts the following parameters: - -- ``population_networks``: A list holding references to the - ``pygad.cnn.Model`` class of the networks used in the population. - -- ``population_vectors``: A list holding the weights of all networks as - vectors. Such vectors are to be converted into matrices. - -Returns a list holding the weights matrices for all solutions (i.e. -networks). - -Steps to Build and Train CNN using Genetic Algorithm -==================================================== - -The steps to use this project for building and training a neural network -using the genetic algorithm are as follows: - -- Prepare the training data. - -- Create an instance of the ``pygad.gacnn.GACNN`` class. - -- Fetch the population weights as vectors. - -- Prepare the fitness function. - -- Prepare the generation callback function. - -- Create an instance of the ``pygad.GA`` class. - -- Run the created instance of the ``pygad.GA`` class. - -- Plot the Fitness Values - -- Information about the best solution. - -- Making predictions using the trained weights. - -- Calculating some statistics. - -Let's start covering all of these steps. - -Prepare the Training Data -------------------------- - -Before building and training neural networks, the training data (input -and output) is to be prepared. The inputs and the outputs of the -training data are NumPy arrays. - -The data used in this example is available as 2 files: - -1. `dataset_inputs.npy `__: - Data inputs. - https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy - -2. `dataset_outputs.npy `__: - Class labels. - https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy - -The data consists of 4 classes of images. The image shape is -``(100, 100, 3)`` and there are 20 images per class. For more -information about the dataset, check the **Reading the Data** section of -the ``pygad.cnn`` module. - -Simply download these 2 files and read them according to the next code. - -.. code:: python - - import numpy - - train_inputs = numpy.load("dataset_inputs.npy") - train_outputs = numpy.load("dataset_outputs.npy") - -For the output array, each element must be a single number representing -the class label of the sample. The class labels must start at ``0``. So, -if there are 80 samples, then the shape of the output array is ``(80)``. -If there are 5 classes in the data, then the values of all the 200 -elements in the output array must range from 0 to 4 inclusive. -Generally, the class labels start from ``0`` to ``N-1`` where ``N`` is -the number of classes. - -Note that the project only supports that each sample is assigned to only -one class. - -Building the Network Architecture ---------------------------------- - -Here is an example for a CNN architecture. - -.. code:: python - - import pygad.cnn - - input_layer = pygad.cnn.Input2D(input_shape=(80, 80, 3)) - conv_layer = pygad.cnn.Conv2D(num_filters=2, - kernel_size=3, - previous_layer=input_layer, - activation_function="relu") - average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=5, - previous_layer=conv_layer, - stride=3) - - flatten_layer = pygad.cnn.Flatten(previous_layer=average_pooling_layer) - dense_layer = pygad.cnn.Dense(num_neurons=4, - previous_layer=flatten_layer, - activation_function="softmax") - -After the network architecture is prepared, the next step is to create a -CNN model. - -Building Model --------------- - -The CNN model is created as an instance of the ``pygad.cnn.Model`` -class. Here is an example. - -.. code:: python - - model = pygad.cnn.Model(last_layer=dense_layer, - epochs=5, - learning_rate=0.01) - -After the model is created, a summary of the model architecture can be -printed. - -Model Summary -------------- - -The ``summary()`` method in the ``pygad.cnn.Model`` class prints a -summary of the CNN model. - -.. code:: python - - model.summary() - -.. code:: python - - ----------Network Architecture---------- - - - - - ---------------------------------------- - -The next step is to create an instance of the ``pygad.gacnn.GACNN`` -class. - -.. _create-an-instance-of-the-pygadgacnngacnn-class: - -Create an Instance of the ``pygad.gacnn.GACNN`` Class ------------------------------------------------------ - -After preparing the input data and building the CNN model, an instance -of the ``pygad.gacnn.GACNN`` class is created by passing the appropriate -parameters. - -Here is an example where the ``num_solutions`` parameter is set to 4 -which means the genetic algorithm population will have 6 solutions (i.e. -networks). All of these 6 CNNs will have the same architectures as -specified by the ``model`` parameter. - -.. code:: python - - import pygad.gacnn - - GACNN_instance = pygad.gacnn.GACNN(model=model, - num_solutions=4) - -After creating the instance of the ``pygad.gacnn.GACNN`` class, next is -to fetch the weights of the population as a list of vectors. - -Fetch the Population Weights as Vectors ---------------------------------------- - -For the genetic algorithm, the parameters (i.e. genes) of each solution -are represented as a single vector. - -For this task, the weights of each CNN must be available as a single -vector. In other words, the weights of all layers of a CNN must be -grouped into a vector. - -To create a list holding the population weights as vectors, one for each -network, the ``pygad.gacnn.population_as_vectors()`` function is used. - -.. code:: python - - population_vectors = gacnn.population_as_vectors(population_networks=GACNN_instance.population_networks) - -Such population of vectors is used as the initial population. - -.. code:: python - - initial_population = population_vectors.copy() - -After preparing the population weights as a set of vectors, next is to -prepare 2 functions which are: - -1. Fitness function. - -2. Callback function after each generation. - -Prepare the Fitness Function ----------------------------- - -The PyGAD library works by allowing the users to customize the genetic -algorithm for their own problems. Because the problems differ in how the -fitness values are calculated, then PyGAD allows the user to use a -custom function as a maximization fitness function. This function must -accept 2 positional parameters representing the following: - -- The solution. - -- The solution index in the population. - -The fitness function must return a single number representing the -fitness. The higher the fitness value, the better the solution. - -Here is the implementation of the fitness function for training a CNN. - -It uses the ``pygad.cnn.predict()`` function to predict the class labels -based on the current solution's weights. The ``pygad.cnn.predict()`` -function uses the trained weights available in the ``trained_weights`` -attribute of each layer of the network for making predictions. - -Based on such predictions, the classification accuracy is calculated. -This accuracy is used as the fitness value of the solution. Finally, the -fitness value is returned. - -.. code:: python - - def fitness_func(ga_instance, solution, sol_idx): - global GACNN_instance, data_inputs, data_outputs - - predictions = GACNN_instance.population_networks[sol_idx].predict(data_inputs=data_inputs) - correct_predictions = numpy.where(predictions == data_outputs)[0].size - solution_fitness = (correct_predictions/data_outputs.size)*100 - - return solution_fitness - -Prepare the Generation Callback Function ----------------------------------------- - -After each generation of the genetic algorithm, the fitness function -will be called to calculate the fitness value of each solution. Within -the fitness function, the ``pygad.cnn.predict()`` function is used for -predicting the outputs based on the current solution's -``trained_weights`` attribute. Thus, it is required that such an -attribute is updated by weights evolved by the genetic algorithm after -each generation. - -PyGAD has a parameter accepted by the ``pygad.GA`` class constructor -named ``on_generation``. It could be assigned to a function that is -called after each generation. The function must accept a single -parameter representing the instance of the ``pygad.GA`` class. - -This callback function can be used to update the ``trained_weights`` -attribute of layers of each network in the population. - -Here is the implementation for a function that updates the -``trained_weights`` attribute of the layers of the population networks. - -It works by converting the current population from the vector form to -the matric form using the ``pygad.gacnn.population_as_matrices()`` -function. It accepts the population as vectors and returns it as -matrices. - -The population matrices are then passed to the -``update_population_trained_weights()`` method in the ``pygad.gacnn`` -module to update the ``trained_weights`` attribute of all layers for all -solutions within the population. - -.. code:: python - - def callback_generation(ga_instance): - global GACNN_instance, last_fitness - - population_matrices = gacnn.population_as_matrices(population_networks=GACNN_instance.population_networks, population_vectors=ga_instance.population) - GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - -After preparing the fitness and callback function, next is to create an -instance of the ``pygad.GA`` class. - -.. _create-an-instance-of-the-pygadga-class: - -Create an Instance of the ``pygad.GA`` Class --------------------------------------------- - -Once the parameters of the genetic algorithm are prepared, an instance -of the ``pygad.GA`` class can be created. Here is an example where the -number of generations is 10. - -.. code:: python - - import pygad - - num_parents_mating = 4 - - num_generations = 10 - - mutation_percent_genes = 5 - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - on_generation=callback_generation) - -The last step for training the neural networks using the genetic -algorithm is calling the ``run()`` method. - -.. _run-the-created-instance-of-the-pygadga-class: - -Run the Created Instance of the ``pygad.GA`` Class --------------------------------------------------- - -By calling the ``run()`` method from the ``pygad.GA`` instance, the -genetic algorithm will iterate through the number of generations -specified in its ``num_generations`` parameter. - -.. code:: python - - ga_instance.run() - -Plot the Fitness Values ------------------------ - -After the ``run()`` method completes, the ``plot_fitness()`` method can -be called to show how the fitness values evolve by generation. - -.. code:: python - - ga_instance.plot_fitness() - -.. figure:: https://user-images.githubusercontent.com/16560492/83429675-ab744580-a434-11ea-8f21-9d3804b50d15.png - :alt: - -Information about the Best Solution ------------------------------------ - -The following information about the best solution in the last population -is returned using the ``best_solution()`` method in the ``pygad.GA`` -class. - -- Solution - -- Fitness value of the solution - -- Index of the solution within the population - -Here is how such information is returned. - -.. code:: python - - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - -.. code:: - - ... - Fitness value of the best solution = 83.75 - Index of the best solution : 0 - Best fitness value reached after 4 generations. - -Making Predictions using the Trained Weights --------------------------------------------- - -The ``pygad.cnn.predict()`` function can be used to make predictions -using the trained network. As printed, the network is able to predict -the labels correctly. - -.. code:: python - - predictions = pygad.cnn.predict(last_layer=GANN_instance.population_networks[solution_idx], data_inputs=data_inputs) - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - -Calculating Some Statistics ---------------------------- - -Based on the predictions the network made, some statistics can be -calculated such as the number of correct and wrong predictions in -addition to the classification accuracy. - -.. code:: python - - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -.. code:: - - Number of correct classifications : 67. - Number of wrong classifications : 13. - Classification accuracy : 83.75. - -Examples -======== - -This section gives the complete code of some examples that build and -train neural networks using the genetic algorithm. Each subsection -builds a different network. - -Image Classification --------------------- - -This example is discussed in the **Steps to Build and Train CNN using -Genetic Algorithm** section that builds the an image classifier. Its -complete code is listed below. - -.. code:: python - - import numpy - import pygad.cnn - import pygad.gacnn - import pygad - - """ - Convolutional neural network implementation using NumPy - A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: - https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad - https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a - https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html - It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 - """ - - def fitness_func(ga_instance, solution, sol_idx): - global GACNN_instance, data_inputs, data_outputs - - predictions = GACNN_instance.population_networks[sol_idx].predict(data_inputs=data_inputs) - correct_predictions = numpy.where(predictions == data_outputs)[0].size - solution_fitness = (correct_predictions/data_outputs.size)*100 - - return solution_fitness - - def callback_generation(ga_instance): - global GACNN_instance, last_fitness - - population_matrices = pygad.gacnn.population_as_matrices(population_networks=GACNN_instance.population_networks, - population_vectors=ga_instance.population) - - GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solutions_fitness)) - - data_inputs = numpy.load("dataset_inputs.npy") - data_outputs = numpy.load("dataset_outputs.npy") - - sample_shape = data_inputs.shape[1:] - num_classes = 4 - - data_inputs = data_inputs - data_outputs = data_outputs - - input_layer = pygad.cnn.Input2D(input_shape=sample_shape) - conv_layer1 = pygad.cnn.Conv2D(num_filters=2, - kernel_size=3, - previous_layer=input_layer, - activation_function="relu") - average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=5, - previous_layer=conv_layer1, - stride=3) - - flatten_layer = pygad.cnn.Flatten(previous_layer=average_pooling_layer) - dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, - previous_layer=flatten_layer, - activation_function="softmax") - - model = pygad.cnn.Model(last_layer=dense_layer2, - epochs=1, - learning_rate=0.01) - - model.summary() - - - GACNN_instance = pygad.gacnn.GACNN(model=model, - num_solutions=4) - - # GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. - # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. - population_vectors = pygad.gacnn.population_as_vectors(population_networks=GACNN_instance.population_networks) - - # To prepare the initial population, there are 2 ways: - # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. - # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. - initial_population = population_vectors.copy() - - num_parents_mating = 2 # Number of solutions to be selected as parents in the mating pool. - - num_generations = 10 # Number of generations. - - mutation_percent_genes = 0.1 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness() - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - # Predicting the outputs of the data using the best solution. - predictions = GACNN_instance.population_networks[solution_idx].predict(data_inputs=data_inputs) - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - - # Calculating some statistics - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) +.. _pygadgacnn-module: + +``pygad.gacnn`` Module +====================== + +This section of the PyGAD's library documentation discusses the +**pygad.gacnn** module. + +The ``pygad.gacnn`` module trains convolutional neural networks using +the genetic algorithm. It makes use of the 2 modules ``pygad`` and +``pygad.cnn``. + +.. _pygadgacnngacnn-class: + +``pygad.gacnn.GACNN`` Class +=========================== + +The ``pygad.gacnn`` module has a class named ``pygad.gacnn.GACNN`` for +training convolutional neural networks (CNNs) using the genetic +algorithm. The constructor, methods, function, and attributes within the +class are discussed in this section. + +.. _init: + +``__init__()`` +-------------- + +In order to train a CNN using the genetic algorithm, the first thing to +do is to create an instance of the ``pygad.gacnn.GACNN`` class. + +The ``pygad.gacnn.GACNN`` class constructor accepts the following +parameters: + +- ``model``: model: An instance of the pygad.cnn.Model class + representing the architecture of all solutions in the population. + +- ``num_solutions``: Number of CNNs (i.e. solutions) in the population. + Based on the value passed to this parameter, a number of identical + CNNs are created where their parameters are optimized using the + genetic algorithm. + +Instance Attributes +------------------- + +All the parameters in the ``pygad.gacnn.GACNN`` class constructor are +used as instance attributes. Besides such attributes, there is an extra +attribute added to the instances from the ``pygad.gacnn.GACNN`` class +which is: + +- ``population_networks``: A list holding references to all the + solutions (i.e. CNNs) used in the population. + +Methods in the GACNN Class +-------------------------- + +This section discusses the methods available for instances of the +``pygad.gacnn.GACNN`` class. + +.. _createpopulation: + +``create_population()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +The ``create_population()`` method creates the initial population of the +genetic algorithm as a list of CNNs (i.e. solutions). All the networks +are copied from the CNN model passed to constructor of the GACNN class. + +The list of networks is assigned to the ``population_networks`` +attribute of the instance. + +.. _updatepopulationtrainedweights: + +``update_population_trained_weights()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``update_population_trained_weights()`` method updates the +``trained_weights`` attribute of the layers of each network (check the +documentation of the ``pygad.cnn`` module) for more information) +according to the weights passed in the ``population_trained_weights`` +parameter. + +Accepts the following parameters: + +- ``population_trained_weights``: A list holding the trained weights of + all networks as matrices. Such matrices are to be assigned to the + ``trained_weights`` attribute of all layers of all networks. + +.. _functions-in-the-pygadgacnn-module: + +Functions in the ``pygad.gacnn`` Module +======================================= + +This section discusses the functions in the ``pygad.gacnn`` module. + +.. _pygadgacnnpopulationasvectors: + +``pygad.gacnn.population_as_vectors()`` +---------------------------------------- + +Accepts the population as a list of references to the +``pygad.cnn.Model`` class and returns a list holding all weights of the +layers of each solution (i.e. network) in the population as a vector. + +For example, if the population has 6 solutions (i.e. networks), this +function accepts references to such networks and returns a list with 6 +vectors, one for each network (i.e. solution). Each vector holds the +weights for all layers for a single network. + +Accepts the following parameters: + +- ``population_networks``: A list holding references to the + ``pygad.cnn.Model`` class of the networks used in the population. + +Returns a list holding the weights vectors for all solutions (i.e. +networks). + +.. _pygadgacnnpopulationasmatrices: + +``pygad.gacnn.population_as_matrices()`` +---------------------------------------- + +Accepts the population as both networks and weights vectors and returns +the weights of all layers of each solution (i.e. network) in the +population as a matrix. + +For example, if the population has 6 solutions (i.e. networks), this +function returns a list with 6 matrices, one for each network holding +its weights for all layers. + +Accepts the following parameters: + +- ``population_networks``: A list holding references to the + ``pygad.cnn.Model`` class of the networks used in the population. + +- ``population_vectors``: A list holding the weights of all networks as + vectors. Such vectors are to be converted into matrices. + +Returns a list holding the weights matrices for all solutions (i.e. +networks). + +Steps to Build and Train CNN using Genetic Algorithm +==================================================== + +The steps to use this project for building and training a neural network +using the genetic algorithm are as follows: + +- Prepare the training data. + +- Create an instance of the ``pygad.gacnn.GACNN`` class. + +- Fetch the population weights as vectors. + +- Prepare the fitness function. + +- Prepare the generation callback function. + +- Create an instance of the ``pygad.GA`` class. + +- Run the created instance of the ``pygad.GA`` class. + +- Plot the Fitness Values + +- Information about the best solution. + +- Making predictions using the trained weights. + +- Calculating some statistics. + +Let's start covering all of these steps. + +Prepare the Training Data +------------------------- + +Before building and training neural networks, the training data (input +and output) is to be prepared. The inputs and the outputs of the +training data are NumPy arrays. + +The data used in this example is available as 2 files: + +1. `dataset_inputs.npy `__: + Data inputs. + https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy + +2. `dataset_outputs.npy `__: + Class labels. + https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy + +The data consists of 4 classes of images. The image shape is +``(100, 100, 3)`` and there are 20 images per class. For more +information about the dataset, check the **Reading the Data** section of +the ``pygad.cnn`` module. + +Simply download these 2 files and read them according to the next code. + +.. code:: python + + import numpy + + train_inputs = numpy.load("dataset_inputs.npy") + train_outputs = numpy.load("dataset_outputs.npy") + +For the output array, each element must be a single number representing +the class label of the sample. The class labels must start at ``0``. So, +if there are 80 samples, then the shape of the output array is ``(80)``. +If there are 5 classes in the data, then the values of all the 200 +elements in the output array must range from 0 to 4 inclusive. +Generally, the class labels start from ``0`` to ``N-1`` where ``N`` is +the number of classes. + +Note that the project only supports that each sample is assigned to only +one class. + +Building the Network Architecture +--------------------------------- + +Here is an example for a CNN architecture. + +.. code:: python + + import pygad.cnn + + input_layer = pygad.cnn.Input2D(input_shape=(80, 80, 3)) + conv_layer = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function="relu") + average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=5, + previous_layer=conv_layer, + stride=3) + + flatten_layer = pygad.cnn.Flatten(previous_layer=average_pooling_layer) + dense_layer = pygad.cnn.Dense(num_neurons=4, + previous_layer=flatten_layer, + activation_function="softmax") + +After the network architecture is prepared, the next step is to create a +CNN model. + +Building Model +-------------- + +The CNN model is created as an instance of the ``pygad.cnn.Model`` +class. Here is an example. + +.. code:: python + + model = pygad.cnn.Model(last_layer=dense_layer, + epochs=5, + learning_rate=0.01) + +After the model is created, a summary of the model architecture can be +printed. + +Model Summary +------------- + +The ``summary()`` method in the ``pygad.cnn.Model`` class prints a +summary of the CNN model. + +.. code:: python + + model.summary() + +.. code:: python + + ----------Network Architecture---------- + + + + + ---------------------------------------- + +The next step is to create an instance of the ``pygad.gacnn.GACNN`` +class. + +.. _create-an-instance-of-the-pygadgacnngacnn-class: + +Create an Instance of the ``pygad.gacnn.GACNN`` Class +----------------------------------------------------- + +After preparing the input data and building the CNN model, an instance +of the ``pygad.gacnn.GACNN`` class is created by passing the appropriate +parameters. + +Here is an example where the ``num_solutions`` parameter is set to 4 +which means the genetic algorithm population will have 6 solutions (i.e. +networks). All of these 6 CNNs will have the same architectures as +specified by the ``model`` parameter. + +.. code:: python + + import pygad.gacnn + + GACNN_instance = pygad.gacnn.GACNN(model=model, + num_solutions=4) + +After creating the instance of the ``pygad.gacnn.GACNN`` class, next is +to fetch the weights of the population as a list of vectors. + +Fetch the Population Weights as Vectors +--------------------------------------- + +For the genetic algorithm, the parameters (i.e. genes) of each solution +are represented as a single vector. + +For this task, the weights of each CNN must be available as a single +vector. In other words, the weights of all layers of a CNN must be +grouped into a vector. + +To create a list holding the population weights as vectors, one for each +network, the ``pygad.gacnn.population_as_vectors()`` function is used. + +.. code:: python + + population_vectors = gacnn.population_as_vectors(population_networks=GACNN_instance.population_networks) + +Such population of vectors is used as the initial population. + +.. code:: python + + initial_population = population_vectors.copy() + +After preparing the population weights as a set of vectors, next is to +prepare 2 functions which are: + +1. Fitness function. + +2. Callback function after each generation. + +Prepare the Fitness Function +---------------------------- + +The PyGAD library works by allowing the users to customize the genetic +algorithm for their own problems. Because the problems differ in how the +fitness values are calculated, then PyGAD allows the user to use a +custom function as a maximization fitness function. This function must +accept 2 positional parameters representing the following: + +- The solution. + +- The solution index in the population. + +The fitness function must return a single number representing the +fitness. The higher the fitness value, the better the solution. + +Here is the implementation of the fitness function for training a CNN. + +It uses the ``pygad.cnn.predict()`` function to predict the class labels +based on the current solution's weights. The ``pygad.cnn.predict()`` +function uses the trained weights available in the ``trained_weights`` +attribute of each layer of the network for making predictions. + +Based on such predictions, the classification accuracy is calculated. +This accuracy is used as the fitness value of the solution. Finally, the +fitness value is returned. + +.. code:: python + + def fitness_func(ga_instance, solution, sol_idx): + global GACNN_instance, data_inputs, data_outputs + + predictions = GACNN_instance.population_networks[sol_idx].predict(data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + +Prepare the Generation Callback Function +---------------------------------------- + +After each generation of the genetic algorithm, the fitness function +will be called to calculate the fitness value of each solution. Within +the fitness function, the ``pygad.cnn.predict()`` function is used for +predicting the outputs based on the current solution's +``trained_weights`` attribute. Thus, it is required that such an +attribute is updated by weights evolved by the genetic algorithm after +each generation. + +PyGAD has a parameter accepted by the ``pygad.GA`` class constructor +named ``on_generation``. It could be assigned to a function that is +called after each generation. The function must accept a single +parameter representing the instance of the ``pygad.GA`` class. + +This callback function can be used to update the ``trained_weights`` +attribute of layers of each network in the population. + +Here is the implementation for a function that updates the +``trained_weights`` attribute of the layers of the population networks. + +It works by converting the current population from the vector form to +the matric form using the ``pygad.gacnn.population_as_matrices()`` +function. It accepts the population as vectors and returns it as +matrices. + +The population matrices are then passed to the +``update_population_trained_weights()`` method in the ``pygad.gacnn`` +module to update the ``trained_weights`` attribute of all layers for all +solutions within the population. + +.. code:: python + + def callback_generation(ga_instance): + global GACNN_instance, last_fitness + + population_matrices = gacnn.population_as_matrices(population_networks=GACNN_instance.population_networks, population_vectors=ga_instance.population) + GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + +After preparing the fitness and callback function, next is to create an +instance of the ``pygad.GA`` class. + +.. _create-an-instance-of-the-pygadga-class: + +Create an Instance of the ``pygad.GA`` Class +-------------------------------------------- + +Once the parameters of the genetic algorithm are prepared, an instance +of the ``pygad.GA`` class can be created. Here is an example where the +number of generations is 10. + +.. code:: python + + import pygad + + num_parents_mating = 4 + + num_generations = 10 + + mutation_percent_genes = 5 + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + on_generation=callback_generation) + +The last step for training the neural networks using the genetic +algorithm is calling the ``run()`` method. + +.. _run-the-created-instance-of-the-pygadga-class: + +Run the Created Instance of the ``pygad.GA`` Class +-------------------------------------------------- + +By calling the ``run()`` method from the ``pygad.GA`` instance, the +genetic algorithm will iterate through the number of generations +specified in its ``num_generations`` parameter. + +.. code:: python + + ga_instance.run() + +Plot the Fitness Values +----------------------- + +After the ``run()`` method completes, the ``plot_fitness()`` method can +be called to show how the fitness values evolve by generation. + +.. code:: python + + ga_instance.plot_fitness() + +.. figure:: https://user-images.githubusercontent.com/16560492/83429675-ab744580-a434-11ea-8f21-9d3804b50d15.png + :alt: + +Information about the Best Solution +----------------------------------- + +The following information about the best solution in the last population +is returned using the ``best_solution()`` method in the ``pygad.GA`` +class. + +- Solution + +- Fitness value of the solution + +- Index of the solution within the population + +Here is how such information is returned. + +.. code:: python + + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +.. code:: + + ... + Fitness value of the best solution = 83.75 + Index of the best solution : 0 + Best fitness value reached after 4 generations. + +Making Predictions using the Trained Weights +-------------------------------------------- + +The ``pygad.cnn.predict()`` function can be used to make predictions +using the trained network. As printed, the network is able to predict +the labels correctly. + +.. code:: python + + predictions = pygad.cnn.predict(last_layer=GANN_instance.population_networks[solution_idx], data_inputs=data_inputs) + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +Calculating Some Statistics +--------------------------- + +Based on the predictions the network made, some statistics can be +calculated such as the number of correct and wrong predictions in +addition to the classification accuracy. + +.. code:: python + + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +.. code:: + + Number of correct classifications : 67. + Number of wrong classifications : 13. + Classification accuracy : 83.75. + +Examples +======== + +This section gives the complete code of some examples that build and +train neural networks using the genetic algorithm. Each subsection +builds a different network. + +Image Classification +-------------------- + +This example is discussed in the **Steps to Build and Train CNN using +Genetic Algorithm** section that builds the an image classifier. Its +complete code is listed below. + +.. code:: python + + import numpy + import pygad.cnn + import pygad.gacnn + import pygad + + """ + Convolutional neural network implementation using NumPy + A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: + https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad + https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a + https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html + It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 + """ + + def fitness_func(ga_instance, solution, sol_idx): + global GACNN_instance, data_inputs, data_outputs + + predictions = GACNN_instance.population_networks[sol_idx].predict(data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + + def callback_generation(ga_instance): + global GACNN_instance, last_fitness + + population_matrices = pygad.gacnn.population_as_matrices(population_networks=GACNN_instance.population_networks, + population_vectors=ga_instance.population) + + GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solutions_fitness)) + + data_inputs = numpy.load("dataset_inputs.npy") + data_outputs = numpy.load("dataset_outputs.npy") + + sample_shape = data_inputs.shape[1:] + num_classes = 4 + + data_inputs = data_inputs + data_outputs = data_outputs + + input_layer = pygad.cnn.Input2D(input_shape=sample_shape) + conv_layer1 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function="relu") + average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=5, + previous_layer=conv_layer1, + stride=3) + + flatten_layer = pygad.cnn.Flatten(previous_layer=average_pooling_layer) + dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, + previous_layer=flatten_layer, + activation_function="softmax") + + model = pygad.cnn.Model(last_layer=dense_layer2, + epochs=1, + learning_rate=0.01) + + model.summary() + + + GACNN_instance = pygad.gacnn.GACNN(model=model, + num_solutions=4) + + # GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. + # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. + population_vectors = pygad.gacnn.population_as_vectors(population_networks=GACNN_instance.population_networks) + + # To prepare the initial population, there are 2 ways: + # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. + # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. + initial_population = population_vectors.copy() + + num_parents_mating = 2 # Number of solutions to be selected as parents in the mating pool. + + num_generations = 10 # Number of generations. + + mutation_percent_genes = 0.1 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness() + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + # Predicting the outputs of the data using the best solution. + predictions = GACNN_instance.population_networks[solution_idx].predict(data_inputs=data_inputs) + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + + # Calculating some statistics + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/docs/source/README_pygad_gann_ReadTheDocs.rst b/docs/source/gann.rst similarity index 97% rename from docs/source/README_pygad_gann_ReadTheDocs.rst rename to docs/source/gann.rst index ac95e61..8b243e7 100644 --- a/docs/source/README_pygad_gann_ReadTheDocs.rst +++ b/docs/source/gann.rst @@ -1,1262 +1,1262 @@ -.. _pygadgann-module: - -``pygad.gann`` Module -===================== - -This section of the PyGAD's library documentation discusses the -**pygad.gann** module. - -The ``pygad.gann`` module trains neural networks (for either -classification or regression) using the genetic algorithm. It makes use -of the 2 modules ``pygad`` and ``pygad.nn``. - -.. _pygadganngann-class: - -``pygad.gann.GANN`` Class -========================= - -The ``pygad.gann`` module has a class named ``pygad.gann.GANN`` for -training neural networks using the genetic algorithm. The constructor, -methods, function, and attributes within the class are discussed in this -section. - -.. _init: - -``__init__()`` --------------- - -In order to train a neural network using the genetic algorithm, the -first thing to do is to create an instance of the ``pygad.gann.GANN`` -class. - -The ``pygad.gann.GANN`` class constructor accepts the following -parameters: - -- ``num_solutions``: Number of neural networks (i.e. solutions) in the - population. Based on the value passed to this parameter, a number of - identical neural networks are created where their parameters are - optimized using the genetic algorithm. - -- ``num_neurons_input``: Number of neurons in the input layer. - -- ``num_neurons_output``: Number of neurons in the output layer. - -- ``num_neurons_hidden_layers=[]``: A list holding the number of - neurons in the hidden layer(s). If empty ``[]``, then no hidden - layers are used. For each ``int`` value it holds, then a hidden layer - is created with a number of hidden neurons specified by the - corresponding ``int`` value. For example, - ``num_neurons_hidden_layers=[10]`` creates a single hidden layer with - **10** neurons. ``num_neurons_hidden_layers=[10, 5]`` creates 2 - hidden layers with 10 neurons for the first and 5 neurons for the - second hidden layer. - -- ``output_activation="softmax"``: The name of the activation function - of the output layer which defaults to ``"softmax"``. - -- ``hidden_activations="relu"``: The name(s) of the activation - function(s) of the hidden layer(s). It defaults to ``"relu"``. If - passed as a string, this means the specified activation function will - be used across all the hidden layers. If passed as a list, then it - must have the same length as the length of the - ``num_neurons_hidden_layers`` list. An exception is raised if their - lengths are different. When ``hidden_activations`` is a list, a - one-to-one mapping between the ``num_neurons_hidden_layers`` and - ``hidden_activations`` lists occurs. - -In order to validate the parameters passed to the ``pygad.gann.GANN`` -class constructor, the ``pygad.gann.validate_network_parameters()`` -function is called. - -Instance Attributes -------------------- - -All the parameters in the ``pygad.gann.GANN`` class constructor are used -as instance attributes. Besides such attributes, there are other -attributes added to the instances from the ``pygad.gann.GANN`` class -which are: - -- ``parameters_validated``: If ``True``, then the parameters passed to - the GANN class constructor are valid. Its initial value is ``False``. - -- ``population_networks``: A list holding references to all the - solutions (i.e. neural networks) used in the population. - -Methods in the GANN Class -------------------------- - -This section discusses the methods available for instances of the -``pygad.gann.GANN`` class. - -.. _createpopulation: - -``create_population()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -The ``create_population()`` method creates the initial population of the -genetic algorithm as a list of neural networks (i.e. solutions). For -each network to be created, the ``pygad.gann.create_network()`` function -is called. - -Each element in the list holds a reference to the last (i.e. output) -layer for the network. The method does not accept any parameter and it -accesses all the required details from the ``pygad.gann.GANN`` instance. - -The method returns the list holding the references to the networks. This -list is later assigned to the ``population_networks`` attribute of the -instance. - -.. _updatepopulationtrainedweights: - -``update_population_trained_weights()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``update_population_trained_weights()`` method updates the -``trained_weights`` attribute of the layers of each network (check the -`documentation of the pygad.nn.DenseLayer -class `__ for -more information) according to the weights passed in the -``population_trained_weights`` parameter. - -Accepts the following parameters: - -- ``population_trained_weights``: A list holding the trained weights of - all networks as matrices. Such matrices are to be assigned to the - ``trained_weights`` attribute of all layers of all networks. - -.. _functions-in-the-pygadgann-module: - -Functions in the ``pygad.gann`` Module -====================================== - -This section discusses the functions in the ``pygad.gann`` module. - -.. _pygadgannvalidatenetworkparameters: - -``pygad.gann.validate_network_parameters()`` --------------------------------------------- - -Validates the parameters passed to the constructor of the -``pygad.gann.GANN`` class. If at least one an invalid parameter exists, -an exception is raised and the execution stops. - -The function accepts the same parameters passed to the constructor of -the ``pygad.gann.GANN`` class. Please check the documentation of such -parameters in the section discussing the class constructor. - -The reason why this function sets a default value to the -``num_solutions`` parameter is differentiating whether a population of -networks or a single network is to be created. If ``None``, then a -single network will be created. If not ``None``, then a population of -networks is to be created. - -If the value passed to the ``hidden_activations`` parameter is a string, -not a list, then a list is created by replicating the passed name of the -activation function a number of times equal to the number of hidden -layers (i.e. the length of the ``num_neurons_hidden_layers`` parameter). - -Returns a list holding the name(s) of the activation function(s) of the -hidden layer(s). - -.. _pygadganncreatenetwork: - -``pygad.gann.create_network()`` -------------------------------- - -Creates a neural network as a linked list between the input, hidden, and -output layers where the layer at index N (which is the last/output -layer) references the layer at index N-1 (which is a hidden layer) using -its previous_layer attribute. The input layer does not reference any -layer because it is the last layer in the linked list. - -In addition to the ``parameters_validated`` parameter, this function -accepts the same parameters passed to the constructor of the -``pygad.gann.GANN`` class except for the ``num_solutions`` parameter -because only a single network is created out of the ``create_network()`` -function. - -``parameters_validated``: If ``False``, then the parameters are not -validated and a call to the ``validate_network_parameters()`` function -is made. - -Returns the reference to the last layer in the network architecture -which is the output layer. Based on such a reference, all network layers -can be fetched. - -.. _pygadgannpopulationasvectors: - -``pygad.gann.population_as_vectors()`` ---------------------------------------- - -Accepts the population as networks and returns a list holding all -weights of the layers of each solution (i.e. network) in the population -as a vector. - -For example, if the population has 6 solutions (i.e. networks), this -function accepts references to such networks and returns a list with 6 -vectors, one for each network (i.e. solution). Each vector holds the -weights for all layers for a single network. - -Accepts the following parameters: - -- ``population_networks``: A list holding references to the output - (last) layers of the neural networks used in the population. - -Returns a list holding the weights vectors for all solutions (i.e. -networks). - -.. _pygadgannpopulationasmatrices: - -``pygad.gann.population_as_matrices()`` ---------------------------------------- - -Accepts the population as both networks and weights vectors and returns -the weights of all layers of each solution (i.e. network) in the -population as a matrix. - -For example, if the population has 6 solutions (i.e. networks), this -function returns a list with 6 matrices, one for each network holding -its weights for all layers. - -Accepts the following parameters: - -- ``population_networks``: A list holding references to the output - (last) layers of the neural networks used in the population. - -- ``population_vectors``: A list holding the weights of all networks as - vectors. Such vectors are to be converted into matrices. - -Returns a list holding the weights matrices for all solutions (i.e. -networks). - -Steps to Build and Train Neural Networks using Genetic Algorithm -================================================================ - -The steps to use this project for building and training a neural network -using the genetic algorithm are as follows: - -- Prepare the training data. - -- Create an instance of the ``pygad.gann.GANN`` class. - -- Fetch the population weights as vectors. - -- Prepare the fitness function. - -- Prepare the generation callback function. - -- Create an instance of the ``pygad.GA`` class. - -- Run the created instance of the ``pygad.GA`` class. - -- Plot the Fitness Values - -- Information about the best solution. - -- Making predictions using the trained weights. - -- Calculating some statistics. - -Let's start covering all of these steps. - -Prepare the Training Data -------------------------- - -Before building and training neural networks, the training data (input -and output) is to be prepared. The inputs and the outputs of the -training data are NumPy arrays. - -Here is an example of preparing the training data for the XOR problem. - -For the input array, each element must be a list representing the inputs -(i.e. features) for the sample. If there are 200 samples and each sample -has 50 features, then the shape of the inputs array is ``(200, 50)``. -The variable ``num_inputs`` holds the length of each sample which is 2 -in this example. - -.. code:: python - - data_inputs = numpy.array([[1, 1], - [1, 0], - [0, 1], - [0, 0]]) - - data_outputs = numpy.array([0, - 1, - 1, - 0]) - - num_inputs = data_inputs.shape[1] - -For the output array, each element must be a single number representing -the class label of the sample. The class labels must start at ``0``. So, -if there are 200 samples, then the shape of the output array is -``(200)``. If there are 5 classes in the data, then the values of all -the 200 elements in the output array must range from 0 to 4 inclusive. -Generally, the class labels start from ``0`` to ``N-1`` where ``N`` is -the number of classes. - -For the XOR example, there are 2 classes and thus their labels are 0 and -1. The ``num_classes`` variable is assigned to 2. - -Note that the project only supports classification problems where each -sample is assigned to only one class. - -.. _create-an-instance-of-the-pygadganngann-class: - -Create an Instance of the ``pygad.gann.GANN`` Class ---------------------------------------------------- - -After preparing the input data, an instance of the ``pygad.gann.GANN`` -class is created by passing the appropriate parameters. - -Here is an example that creates a network for the XOR problem. The -``num_solutions`` parameter is set to 6 which means the genetic -algorithm population will have 6 solutions (i.e. networks). All of these -6 neural networks will have the same architectures as specified by the -other parameters. - -The output layer has 2 neurons because there are only 2 classes (0 and -1). - -.. code:: python - - import pygad.gann - import pygad.nn - - num_solutions = 6 - GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, - num_neurons_input=num_inputs, - num_neurons_hidden_layers=[2], - num_neurons_output=2, - hidden_activations=["relu"], - output_activation="softmax") - -The architecture of the created network has the following layers: - -- An input layer with 2 neurons (i.e. inputs) - -- A single hidden layer with 2 neurons. - -- An output layer with 2 neurons (i.e. classes). - -The weights of the network are as follows: - -- Between the input and the hidden layer, there is a weights matrix of - size equal to ``(number inputs x number of hidden neurons) = (2x2)``. - -- Between the hidden and the output layer, there is a weights matrix of - size equal to - ``(number of hidden neurons x number of outputs) = (2x2)``. - -The activation function used for the output layer is ``softmax``. The -``relu`` activation function is used for the hidden layer. - -After creating the instance of the ``pygad.gann.GANN`` class next is to -fetch the weights of the population as a list of vectors. - -Fetch the Population Weights as Vectors ---------------------------------------- - -For the genetic algorithm, the parameters (i.e. genes) of each solution -are represented as a single vector. - -For the task of training the network for the XOR problem, the weights of -each network in the population are not represented as a vector but 2 -matrices each of size 2x2. - -To create a list holding the population weights as vectors, one for each -network, the ``pygad.gann.population_as_vectors()`` function is used. - -.. code:: python - - population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) - -After preparing the population weights as a set of vectors, next is to -prepare 2 functions which are: - -1. Fitness function. - -2. Callback function after each generation. - -Prepare the Fitness Function ----------------------------- - -The PyGAD library works by allowing the users to customize the genetic -algorithm for their own problems. Because the problems differ in how the -fitness values are calculated, then PyGAD allows the user to use a -custom function as a maximization fitness function. This function must -accept 2 positional parameters representing the following: - -- The solution. - -- The solution index in the population. - -The fitness function must return a single number representing the -fitness. The higher the fitness value, the better the solution. - -Here is the implementation of the fitness function for training a neural -network. It uses the ``pygad.nn.predict()`` function to predict the -class labels based on the current solution's weights. The -``pygad.nn.predict()`` function uses the trained weights available in -the ``trained_weights`` attribute of each layer of the network for -making predictions. - -Based on such predictions, the classification accuracy is calculated. -This accuracy is used as the fitness value of the solution. Finally, the -fitness value is returned. - -.. code:: python - - def fitness_func(ga_instance, solution, sol_idx): - global GANN_instance, data_inputs, data_outputs - - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], - data_inputs=data_inputs) - correct_predictions = numpy.where(predictions == data_outputs)[0].size - solution_fitness = (correct_predictions/data_outputs.size)*100 - - return solution_fitness - -Prepare the Generation Callback Function ----------------------------------------- - -After each generation of the genetic algorithm, the fitness function -will be called to calculate the fitness value of each solution. Within -the fitness function, the ``pygad.nn.predict()`` function is used for -predicting the outputs based on the current solution's -``trained_weights`` attribute. Thus, it is required that such an -attribute is updated by weights evolved by the genetic algorithm after -each generation. - -PyGAD 2.0.0 and higher has a new parameter accepted by the ``pygad.GA`` -class constructor named ``on_generation``. It could be assigned to a -function that is called after each generation. The function must accept -a single parameter representing the instance of the ``pygad.GA`` class. - -This callback function can be used to update the ``trained_weights`` -attribute of layers of each network in the population. - -Here is the implementation for a function that updates the -``trained_weights`` attribute of the layers of the population networks. - -It works by converting the current population from the vector form to -the matric form using the ``pygad.gann.population_as_matrices()`` -function. It accepts the population as vectors and returns it as -matrices. - -The population matrices are then passed to the -``update_population_trained_weights()`` method in the ``pygad.gann`` -module to update the ``trained_weights`` attribute of all layers for all -solutions within the population. - -.. code:: python - - def callback_generation(ga_instance): - global GANN_instance - - population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, population_vectors=ga_instance.population) - GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - -After preparing the fitness and callback function, next is to create an -instance of the ``pygad.GA`` class. - -.. _create-an-instance-of-the-pygadga-class: - -Create an Instance of the ``pygad.GA`` Class --------------------------------------------- - -Once the parameters of the genetic algorithm are prepared, an instance -of the ``pygad.GA`` class can be created. - -Here is an example. - -.. code:: python - - initial_population = population_vectors.copy() - - num_parents_mating = 4 - - num_generations = 500 - - mutation_percent_genes = 5 - - parent_selection_type = "sss" - - crossover_type = "single_point" - - mutation_type = "random" - - keep_parents = 1 - - init_range_low = -2 - init_range_high = 5 - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - init_range_low=init_range_low, - init_range_high=init_range_high, - parent_selection_type=parent_selection_type, - crossover_type=crossover_type, - mutation_type=mutation_type, - keep_parents=keep_parents, - on_generation=callback_generation) - -The last step for training the neural networks using the genetic -algorithm is calling the ``run()`` method. - -.. _run-the-created-instance-of-the-pygadga-class: - -Run the Created Instance of the ``pygad.GA`` Class --------------------------------------------------- - -By calling the ``run()`` method from the ``pygad.GA`` instance, the -genetic algorithm will iterate through the number of generations -specified in its ``num_generations`` parameter. - -.. code:: python - - ga_instance.run() - -Plot the Fitness Values ------------------------ - -After the ``run()`` method completes, the ``plot_fitness()`` method can -be called to show how the fitness values evolve by generation. A fitness -value (i.e. accuracy) of 100 is reached after around 180 generations. - -.. code:: python - - ga_instance.plot_fitness() - -.. figure:: https://user-images.githubusercontent.com/16560492/82078638-c11e0700-96e1-11ea-8aa9-c36761c5e9c7.png - :alt: - -By running the code again, a different initial population is created and -thus a classification accuracy of 100 can be reached using a less number -of generations. On the other hand, a different initial population might -cause 100% accuracy to be reached using more generations or not reached -at all. - -Information about the Best Solution ------------------------------------ - -The following information about the best solution in the last population -is returned using the ``best_solution()`` method in the ``pygad.GA`` -class. - -- Solution - -- Fitness value of the solution - -- Index of the solution within the population - -Here is how such information is returned. The fitness value (i.e. -accuracy) is 100. - -.. code:: python - - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - -.. code:: - - Parameters of the best solution : [3.55081391 -3.21562011 -14.2617784 0.68044231 -1.41258145 -3.2979315 1.58136006 -7.83726169] - Fitness value of the best solution = 100.0 - Index of the best solution : 0 - -Using the ``best_solution_generation`` attribute of the instance from -the ``pygad.GA`` class, the generation number at which the **best -fitness** is reached could be fetched. According to the result, the best -fitness value is reached after 182 generations. - -.. code:: python - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - -.. code:: - - Best solution reached after 182 generations. - -Making Predictions using the Trained Weights --------------------------------------------- - -The ``pygad.nn.predict()`` function can be used to make predictions -using the trained network. As printed, the network is able to predict -the labels correctly. - -.. code:: python - - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], data_inputs=data_inputs) - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - -.. code:: - - Predictions of the trained network : [0. 1. 1. 0.] - -Calculating Some Statistics ---------------------------- - -Based on the predictions the network made, some statistics can be -calculated such as the number of correct and wrong predictions in -addition to the classification accuracy. - -.. code:: python - - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -.. code:: - - Number of correct classifications : 4 - print("Number of wrong classifications : 0 - Classification accuracy : 100 - -Examples -======== - -This section gives the complete code of some examples that build and -train neural networks using the genetic algorithm. Each subsection -builds a different network. - -XOR Classification ------------------- - -This example is discussed in the **Steps to Build and Train Neural -Networks using Genetic Algorithm** section that builds the XOR gate and -its complete code is listed below. - -.. code:: python - - import numpy - import pygad - import pygad.nn - import pygad.gann - - def fitness_func(ga_instance, solution, sol_idx): - global GANN_instance, data_inputs, data_outputs - - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], - data_inputs=data_inputs) - correct_predictions = numpy.where(predictions == data_outputs)[0].size - solution_fitness = (correct_predictions/data_outputs.size)*100 - - return solution_fitness - - def callback_generation(ga_instance): - global GANN_instance, last_fitness - - population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, - population_vectors=ga_instance.population) - - GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) - - last_fitness = ga_instance.best_solution()[1].copy() - - # Holds the fitness value of the previous generation. - last_fitness = 0 - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.array([[1, 1], - [1, 0], - [0, 1], - [0, 0]]) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.array([0, - 1, - 1, - 0]) - - # The length of the input vector for each sample (i.e. number of neurons in the input layer). - num_inputs = data_inputs.shape[1] - # The number of neurons in the output layer (i.e. number of classes). - num_classes = 2 - - # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. - num_solutions = 6 # A solution or a network can be used interchangeably. - GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, - num_neurons_input=num_inputs, - num_neurons_hidden_layers=[2], - num_neurons_output=num_classes, - hidden_activations=["relu"], - output_activation="softmax") - - # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. - # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. - population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) - - # To prepare the initial population, there are 2 ways: - # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. - # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. - initial_population = population_vectors.copy() - - num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. - - num_generations = 500 # Number of generations. - - mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. - - parent_selection_type = "sss" # Type of parent selection. - - crossover_type = "single_point" # Type of the crossover operator. - - mutation_type = "random" # Type of the mutation operator. - - keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. - - init_range_low = -2 - init_range_high = 5 - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - init_range_low=init_range_low, - init_range_high=init_range_high, - parent_selection_type=parent_selection_type, - crossover_type=crossover_type, - mutation_type=mutation_type, - keep_parents=keep_parents, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness() - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - # Predicting the outputs of the data using the best solution. - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], - data_inputs=data_inputs) - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - - # Calculating some statistics - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -Image Classification --------------------- - -In the documentation of the ``pygad.nn`` module, a neural network is -created for classifying images from the Fruits360 dataset without being -trained using an optimization algorithm. This section discusses how to -train such a classifier using the genetic algorithm with the help of the -``pygad.gann`` module. - -Please make sure that the training data files -`dataset_features.npy `__ -and -`outputs.npy `__ -are available. For downloading them, use these links: - -1. `dataset_features.npy `__: - The features - https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy - -2. `outputs.npy `__: - The class labels - https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy - -After the data is available, here is the complete code that builds and -trains a neural network using the genetic algorithm for classifying -images from 4 classes of the Fruits360 dataset. - -Because there are 4 classes, the output layer is assigned has 4 neurons -according to the ``num_neurons_output`` parameter of the -``pygad.gann.GANN`` class constructor. - -.. code:: python - - import numpy - import pygad - import pygad.nn - import pygad.gann - - def fitness_func(ga_instance, solution, sol_idx): - global GANN_instance, data_inputs, data_outputs - - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], - data_inputs=data_inputs) - correct_predictions = numpy.where(predictions == data_outputs)[0].size - solution_fitness = (correct_predictions/data_outputs.size)*100 - - return solution_fitness - - def callback_generation(ga_instance): - global GANN_instance, last_fitness - - population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, - population_vectors=ga_instance.population) - - GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) - - last_fitness = ga_instance.best_solution()[1].copy() - - # Holds the fitness value of the previous generation. - last_fitness = 0 - - # Reading the input data. - data_inputs = numpy.load("dataset_features.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy - - # Optional step of filtering the input data using the standard deviation. - features_STDs = numpy.std(a=data_inputs, axis=0) - data_inputs = data_inputs[:, features_STDs>50] - - # Reading the output data. - data_outputs = numpy.load("outputs.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy - - # The length of the input vector for each sample (i.e. number of neurons in the input layer). - num_inputs = data_inputs.shape[1] - # The number of neurons in the output layer (i.e. number of classes). - num_classes = 4 - - # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. - num_solutions = 8 # A solution or a network can be used interchangeably. - GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, - num_neurons_input=num_inputs, - num_neurons_hidden_layers=[150, 50], - num_neurons_output=num_classes, - hidden_activations=["relu", "relu"], - output_activation="softmax") - - # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. - # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. - population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) - - # To prepare the initial population, there are 2 ways: - # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. - # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. - initial_population = population_vectors.copy() - - num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. - - num_generations = 500 # Number of generations. - - mutation_percent_genes = 10 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. - - parent_selection_type = "sss" # Type of parent selection. - - crossover_type = "single_point" # Type of the crossover operator. - - mutation_type = "random" # Type of the mutation operator. - - keep_parents = -1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - parent_selection_type=parent_selection_type, - crossover_type=crossover_type, - mutation_type=mutation_type, - keep_parents=keep_parents, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness() - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - # Predicting the outputs of the data using the best solution. - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], - data_inputs=data_inputs) - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - - # Calculating some statistics - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -After training completes, here are the outputs of the print statements. -The number of wrong classifications is only 1 and the accuracy is -99.949%. This accuracy is reached after 482 generations. - -.. code:: - - Fitness value of the best solution = 99.94903160040775 - Index of the best solution : 0 - Best fitness value reached after 482 generations. - Number of correct classifications : 1961. - Number of wrong classifications : 1. - Classification accuracy : 99.94903160040775. - -The next figure shows how fitness value evolves by generation. - -.. figure:: https://user-images.githubusercontent.com/16560492/82152993-21898180-9865-11ea-8387-b995f88b83f7.png - :alt: - -Regression Example 1 --------------------- - -To train a neural network for regression, follow these instructions: - -1. Set the ``output_activation`` parameter in the constructor of the - ``pygad.gann.GANN`` class to ``"None"``. It is possible to use the - ReLU function if all outputs are nonnegative. - -.. code:: python - - GANN_instance = pygad.gann.GANN(... - output_activation="None") - -1. Wherever the ``pygad.nn.predict()`` function is used, set the - ``problem_type`` parameter to ``"regression"``. - -.. code:: python - - predictions = pygad.nn.predict(..., - problem_type="regression") - -1. Design the fitness function to calculate the error (e.g. mean - absolute error). - -.. code:: python - - def fitness_func(ga_instance, solution, sol_idx): - ... - - predictions = pygad.nn.predict(..., - problem_type="regression") - - solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) - - return solution_fitness - -The next code builds a complete example for building a neural network -for regression. - -.. code:: python - - import numpy - import pygad - import pygad.nn - import pygad.gann - - def fitness_func(ga_instance, solution, sol_idx): - global GANN_instance, data_inputs, data_outputs - - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], - data_inputs=data_inputs, problem_type="regression") - solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) - - return solution_fitness - - def callback_generation(ga_instance): - global GANN_instance, last_fitness - - population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, - population_vectors=ga_instance.population) - - GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) - - last_fitness = ga_instance.best_solution()[1].copy() - - # Holds the fitness value of the previous generation. - last_fitness = 0 - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.array([[2, 5, -3, 0.1], - [8, 15, 20, 13]]) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.array([0.1, - 1.5]) - - # The length of the input vector for each sample (i.e. number of neurons in the input layer). - num_inputs = data_inputs.shape[1] - - # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. - num_solutions = 6 # A solution or a network can be used interchangeably. - GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, - num_neurons_input=num_inputs, - num_neurons_hidden_layers=[2], - num_neurons_output=1, - hidden_activations=["relu"], - output_activation="None") - - # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. - # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. - population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) - - # To prepare the initial population, there are 2 ways: - # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. - # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. - initial_population = population_vectors.copy() - - num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. - - num_generations = 500 # Number of generations. - - mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. - - parent_selection_type = "sss" # Type of parent selection. - - crossover_type = "single_point" # Type of the crossover operator. - - mutation_type = "random" # Type of the mutation operator. - - keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. - - init_range_low = -1 - init_range_high = 1 - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - init_range_low=init_range_low, - init_range_high=init_range_high, - parent_selection_type=parent_selection_type, - crossover_type=crossover_type, - mutation_type=mutation_type, - keep_parents=keep_parents, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness() - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - # Predicting the outputs of the data using the best solution. - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], - data_inputs=data_inputs, - problem_type="regression") - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - - # Calculating some statistics - abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) - print("Absolute error : {abs_error}.".format(abs_error=abs_error)) - -The next figure shows how the fitness value changes for the generations -used. - -.. figure:: https://user-images.githubusercontent.com/16560492/92948154-3cf24b00-f459-11ea-94ea-952b66ab2145.png - :alt: - -Regression Example 2 - Fish Weight Prediction ---------------------------------------------- - -This example uses the Fish Market Dataset available at Kaggle -(https://www.kaggle.com/aungpyaeap/fish-market). Simply download the CSV -dataset from `this -link `__ -(https://www.kaggle.com/aungpyaeap/fish-market/download). The dataset is -also available at the `GitHub project of the pygad.gann -module `__: -https://github.com/ahmedfgad/NeuralGenetic - -Using the Pandas library, the dataset is read using the ``read_csv()`` -function. - -.. code:: python - - data = numpy.array(pandas.read_csv("Fish.csv")) - -The last 5 columns in the dataset are used as inputs and the **Weight** -column is used as output. - -.. code:: python - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight - -Note how the activation function at the last layer is set to ``"None"``. -Moreover, the ``problem_type`` parameter in the ``pygad.nn.train()`` and -``pygad.nn.predict()`` functions is set to ``"regression"``. Remember to -design an appropriate fitness function for the regression problem. In -this example, the fitness value is calculated based on the mean absolute -error. - -.. code:: python - - solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) - -Here is the complete code. - -.. code:: python - - import numpy - import pygad - import pygad.nn - import pygad.gann - import pandas - - def fitness_func(ga_instance, solution, sol_idx): - global GANN_instance, data_inputs, data_outputs - - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], - data_inputs=data_inputs, problem_type="regression") - solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) - - return solution_fitness - - def callback_generation(ga_instance): - global GANN_instance, last_fitness - - population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, - population_vectors=ga_instance.population) - - GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) - - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) - - last_fitness = ga_instance.best_solution()[1].copy() - - # Holds the fitness value of the previous generation. - last_fitness = 0 - - data = numpy.array(pandas.read_csv("Fish.csv")) - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) - - # The length of the input vector for each sample (i.e. number of neurons in the input layer). - num_inputs = data_inputs.shape[1] - - # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. - num_solutions = 6 # A solution or a network can be used interchangeably. - GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, - num_neurons_input=num_inputs, - num_neurons_hidden_layers=[2], - num_neurons_output=1, - hidden_activations=["relu"], - output_activation="None") - - # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. - # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. - population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) - - # To prepare the initial population, there are 2 ways: - # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. - # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. - initial_population = population_vectors.copy() - - num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. - - num_generations = 500 # Number of generations. - - mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. - - parent_selection_type = "sss" # Type of parent selection. - - crossover_type = "single_point" # Type of the crossover operator. - - mutation_type = "random" # Type of the mutation operator. - - keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. - - init_range_low = -1 - init_range_high = 1 - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - mutation_percent_genes=mutation_percent_genes, - init_range_low=init_range_low, - init_range_high=init_range_high, - parent_selection_type=parent_selection_type, - crossover_type=crossover_type, - mutation_type=mutation_type, - keep_parents=keep_parents, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness() - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - # Predicting the outputs of the data using the best solution. - predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], - data_inputs=data_inputs, - problem_type="regression") - print("Predictions of the trained network : {predictions}".format(predictions=predictions)) - - # Calculating some statistics - abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) - print("Absolute error : {abs_error}.".format(abs_error=abs_error)) - -The next figure shows how the fitness value changes for the 500 -generations used. - -.. figure:: https://user-images.githubusercontent.com/16560492/92948486-bbe78380-f459-11ea-9e31-0d4c7269d606.png - :alt: +.. _pygadgann-module: + +``pygad.gann`` Module +===================== + +This section of the PyGAD's library documentation discusses the +**pygad.gann** module. + +The ``pygad.gann`` module trains neural networks (for either +classification or regression) using the genetic algorithm. It makes use +of the 2 modules ``pygad`` and ``pygad.nn``. + +.. _pygadganngann-class: + +``pygad.gann.GANN`` Class +========================= + +The ``pygad.gann`` module has a class named ``pygad.gann.GANN`` for +training neural networks using the genetic algorithm. The constructor, +methods, function, and attributes within the class are discussed in this +section. + +.. _init: + +``__init__()`` +-------------- + +In order to train a neural network using the genetic algorithm, the +first thing to do is to create an instance of the ``pygad.gann.GANN`` +class. + +The ``pygad.gann.GANN`` class constructor accepts the following +parameters: + +- ``num_solutions``: Number of neural networks (i.e. solutions) in the + population. Based on the value passed to this parameter, a number of + identical neural networks are created where their parameters are + optimized using the genetic algorithm. + +- ``num_neurons_input``: Number of neurons in the input layer. + +- ``num_neurons_output``: Number of neurons in the output layer. + +- ``num_neurons_hidden_layers=[]``: A list holding the number of + neurons in the hidden layer(s). If empty ``[]``, then no hidden + layers are used. For each ``int`` value it holds, then a hidden layer + is created with a number of hidden neurons specified by the + corresponding ``int`` value. For example, + ``num_neurons_hidden_layers=[10]`` creates a single hidden layer with + **10** neurons. ``num_neurons_hidden_layers=[10, 5]`` creates 2 + hidden layers with 10 neurons for the first and 5 neurons for the + second hidden layer. + +- ``output_activation="softmax"``: The name of the activation function + of the output layer which defaults to ``"softmax"``. + +- ``hidden_activations="relu"``: The name(s) of the activation + function(s) of the hidden layer(s). It defaults to ``"relu"``. If + passed as a string, this means the specified activation function will + be used across all the hidden layers. If passed as a list, then it + must have the same length as the length of the + ``num_neurons_hidden_layers`` list. An exception is raised if their + lengths are different. When ``hidden_activations`` is a list, a + one-to-one mapping between the ``num_neurons_hidden_layers`` and + ``hidden_activations`` lists occurs. + +In order to validate the parameters passed to the ``pygad.gann.GANN`` +class constructor, the ``pygad.gann.validate_network_parameters()`` +function is called. + +Instance Attributes +------------------- + +All the parameters in the ``pygad.gann.GANN`` class constructor are used +as instance attributes. Besides such attributes, there are other +attributes added to the instances from the ``pygad.gann.GANN`` class +which are: + +- ``parameters_validated``: If ``True``, then the parameters passed to + the GANN class constructor are valid. Its initial value is ``False``. + +- ``population_networks``: A list holding references to all the + solutions (i.e. neural networks) used in the population. + +Methods in the GANN Class +------------------------- + +This section discusses the methods available for instances of the +``pygad.gann.GANN`` class. + +.. _createpopulation: + +``create_population()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +The ``create_population()`` method creates the initial population of the +genetic algorithm as a list of neural networks (i.e. solutions). For +each network to be created, the ``pygad.gann.create_network()`` function +is called. + +Each element in the list holds a reference to the last (i.e. output) +layer for the network. The method does not accept any parameter and it +accesses all the required details from the ``pygad.gann.GANN`` instance. + +The method returns the list holding the references to the networks. This +list is later assigned to the ``population_networks`` attribute of the +instance. + +.. _updatepopulationtrainedweights: + +``update_population_trained_weights()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``update_population_trained_weights()`` method updates the +``trained_weights`` attribute of the layers of each network (check the +`documentation of the pygad.nn.DenseLayer +class `__ for +more information) according to the weights passed in the +``population_trained_weights`` parameter. + +Accepts the following parameters: + +- ``population_trained_weights``: A list holding the trained weights of + all networks as matrices. Such matrices are to be assigned to the + ``trained_weights`` attribute of all layers of all networks. + +.. _functions-in-the-pygadgann-module: + +Functions in the ``pygad.gann`` Module +====================================== + +This section discusses the functions in the ``pygad.gann`` module. + +.. _pygadgannvalidatenetworkparameters: + +``pygad.gann.validate_network_parameters()`` +-------------------------------------------- + +Validates the parameters passed to the constructor of the +``pygad.gann.GANN`` class. If at least one an invalid parameter exists, +an exception is raised and the execution stops. + +The function accepts the same parameters passed to the constructor of +the ``pygad.gann.GANN`` class. Please check the documentation of such +parameters in the section discussing the class constructor. + +The reason why this function sets a default value to the +``num_solutions`` parameter is differentiating whether a population of +networks or a single network is to be created. If ``None``, then a +single network will be created. If not ``None``, then a population of +networks is to be created. + +If the value passed to the ``hidden_activations`` parameter is a string, +not a list, then a list is created by replicating the passed name of the +activation function a number of times equal to the number of hidden +layers (i.e. the length of the ``num_neurons_hidden_layers`` parameter). + +Returns a list holding the name(s) of the activation function(s) of the +hidden layer(s). + +.. _pygadganncreatenetwork: + +``pygad.gann.create_network()`` +------------------------------- + +Creates a neural network as a linked list between the input, hidden, and +output layers where the layer at index N (which is the last/output +layer) references the layer at index N-1 (which is a hidden layer) using +its previous_layer attribute. The input layer does not reference any +layer because it is the last layer in the linked list. + +In addition to the ``parameters_validated`` parameter, this function +accepts the same parameters passed to the constructor of the +``pygad.gann.GANN`` class except for the ``num_solutions`` parameter +because only a single network is created out of the ``create_network()`` +function. + +``parameters_validated``: If ``False``, then the parameters are not +validated and a call to the ``validate_network_parameters()`` function +is made. + +Returns the reference to the last layer in the network architecture +which is the output layer. Based on such a reference, all network layers +can be fetched. + +.. _pygadgannpopulationasvectors: + +``pygad.gann.population_as_vectors()`` +--------------------------------------- + +Accepts the population as networks and returns a list holding all +weights of the layers of each solution (i.e. network) in the population +as a vector. + +For example, if the population has 6 solutions (i.e. networks), this +function accepts references to such networks and returns a list with 6 +vectors, one for each network (i.e. solution). Each vector holds the +weights for all layers for a single network. + +Accepts the following parameters: + +- ``population_networks``: A list holding references to the output + (last) layers of the neural networks used in the population. + +Returns a list holding the weights vectors for all solutions (i.e. +networks). + +.. _pygadgannpopulationasmatrices: + +``pygad.gann.population_as_matrices()`` +--------------------------------------- + +Accepts the population as both networks and weights vectors and returns +the weights of all layers of each solution (i.e. network) in the +population as a matrix. + +For example, if the population has 6 solutions (i.e. networks), this +function returns a list with 6 matrices, one for each network holding +its weights for all layers. + +Accepts the following parameters: + +- ``population_networks``: A list holding references to the output + (last) layers of the neural networks used in the population. + +- ``population_vectors``: A list holding the weights of all networks as + vectors. Such vectors are to be converted into matrices. + +Returns a list holding the weights matrices for all solutions (i.e. +networks). + +Steps to Build and Train Neural Networks using Genetic Algorithm +================================================================ + +The steps to use this project for building and training a neural network +using the genetic algorithm are as follows: + +- Prepare the training data. + +- Create an instance of the ``pygad.gann.GANN`` class. + +- Fetch the population weights as vectors. + +- Prepare the fitness function. + +- Prepare the generation callback function. + +- Create an instance of the ``pygad.GA`` class. + +- Run the created instance of the ``pygad.GA`` class. + +- Plot the Fitness Values + +- Information about the best solution. + +- Making predictions using the trained weights. + +- Calculating some statistics. + +Let's start covering all of these steps. + +Prepare the Training Data +------------------------- + +Before building and training neural networks, the training data (input +and output) is to be prepared. The inputs and the outputs of the +training data are NumPy arrays. + +Here is an example of preparing the training data for the XOR problem. + +For the input array, each element must be a list representing the inputs +(i.e. features) for the sample. If there are 200 samples and each sample +has 50 features, then the shape of the inputs array is ``(200, 50)``. +The variable ``num_inputs`` holds the length of each sample which is 2 +in this example. + +.. code:: python + + data_inputs = numpy.array([[1, 1], + [1, 0], + [0, 1], + [0, 0]]) + + data_outputs = numpy.array([0, + 1, + 1, + 0]) + + num_inputs = data_inputs.shape[1] + +For the output array, each element must be a single number representing +the class label of the sample. The class labels must start at ``0``. So, +if there are 200 samples, then the shape of the output array is +``(200)``. If there are 5 classes in the data, then the values of all +the 200 elements in the output array must range from 0 to 4 inclusive. +Generally, the class labels start from ``0`` to ``N-1`` where ``N`` is +the number of classes. + +For the XOR example, there are 2 classes and thus their labels are 0 and +1. The ``num_classes`` variable is assigned to 2. + +Note that the project only supports classification problems where each +sample is assigned to only one class. + +.. _create-an-instance-of-the-pygadganngann-class: + +Create an Instance of the ``pygad.gann.GANN`` Class +--------------------------------------------------- + +After preparing the input data, an instance of the ``pygad.gann.GANN`` +class is created by passing the appropriate parameters. + +Here is an example that creates a network for the XOR problem. The +``num_solutions`` parameter is set to 6 which means the genetic +algorithm population will have 6 solutions (i.e. networks). All of these +6 neural networks will have the same architectures as specified by the +other parameters. + +The output layer has 2 neurons because there are only 2 classes (0 and +1). + +.. code:: python + + import pygad.gann + import pygad.nn + + num_solutions = 6 + GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=2, + hidden_activations=["relu"], + output_activation="softmax") + +The architecture of the created network has the following layers: + +- An input layer with 2 neurons (i.e. inputs) + +- A single hidden layer with 2 neurons. + +- An output layer with 2 neurons (i.e. classes). + +The weights of the network are as follows: + +- Between the input and the hidden layer, there is a weights matrix of + size equal to ``(number inputs x number of hidden neurons) = (2x2)``. + +- Between the hidden and the output layer, there is a weights matrix of + size equal to + ``(number of hidden neurons x number of outputs) = (2x2)``. + +The activation function used for the output layer is ``softmax``. The +``relu`` activation function is used for the hidden layer. + +After creating the instance of the ``pygad.gann.GANN`` class next is to +fetch the weights of the population as a list of vectors. + +Fetch the Population Weights as Vectors +--------------------------------------- + +For the genetic algorithm, the parameters (i.e. genes) of each solution +are represented as a single vector. + +For the task of training the network for the XOR problem, the weights of +each network in the population are not represented as a vector but 2 +matrices each of size 2x2. + +To create a list holding the population weights as vectors, one for each +network, the ``pygad.gann.population_as_vectors()`` function is used. + +.. code:: python + + population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + +After preparing the population weights as a set of vectors, next is to +prepare 2 functions which are: + +1. Fitness function. + +2. Callback function after each generation. + +Prepare the Fitness Function +---------------------------- + +The PyGAD library works by allowing the users to customize the genetic +algorithm for their own problems. Because the problems differ in how the +fitness values are calculated, then PyGAD allows the user to use a +custom function as a maximization fitness function. This function must +accept 2 positional parameters representing the following: + +- The solution. + +- The solution index in the population. + +The fitness function must return a single number representing the +fitness. The higher the fitness value, the better the solution. + +Here is the implementation of the fitness function for training a neural +network. It uses the ``pygad.nn.predict()`` function to predict the +class labels based on the current solution's weights. The +``pygad.nn.predict()`` function uses the trained weights available in +the ``trained_weights`` attribute of each layer of the network for +making predictions. + +Based on such predictions, the classification accuracy is calculated. +This accuracy is used as the fitness value of the solution. Finally, the +fitness value is returned. + +.. code:: python + + def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + +Prepare the Generation Callback Function +---------------------------------------- + +After each generation of the genetic algorithm, the fitness function +will be called to calculate the fitness value of each solution. Within +the fitness function, the ``pygad.nn.predict()`` function is used for +predicting the outputs based on the current solution's +``trained_weights`` attribute. Thus, it is required that such an +attribute is updated by weights evolved by the genetic algorithm after +each generation. + +PyGAD 2.0.0 and higher has a new parameter accepted by the ``pygad.GA`` +class constructor named ``on_generation``. It could be assigned to a +function that is called after each generation. The function must accept +a single parameter representing the instance of the ``pygad.GA`` class. + +This callback function can be used to update the ``trained_weights`` +attribute of layers of each network in the population. + +Here is the implementation for a function that updates the +``trained_weights`` attribute of the layers of the population networks. + +It works by converting the current population from the vector form to +the matric form using the ``pygad.gann.population_as_matrices()`` +function. It accepts the population as vectors and returns it as +matrices. + +The population matrices are then passed to the +``update_population_trained_weights()`` method in the ``pygad.gann`` +module to update the ``trained_weights`` attribute of all layers for all +solutions within the population. + +.. code:: python + + def callback_generation(ga_instance): + global GANN_instance + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, population_vectors=ga_instance.population) + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + +After preparing the fitness and callback function, next is to create an +instance of the ``pygad.GA`` class. + +.. _create-an-instance-of-the-pygadga-class: + +Create an Instance of the ``pygad.GA`` Class +-------------------------------------------- + +Once the parameters of the genetic algorithm are prepared, an instance +of the ``pygad.GA`` class can be created. + +Here is an example. + +.. code:: python + + initial_population = population_vectors.copy() + + num_parents_mating = 4 + + num_generations = 500 + + mutation_percent_genes = 5 + + parent_selection_type = "sss" + + crossover_type = "single_point" + + mutation_type = "random" + + keep_parents = 1 + + init_range_low = -2 + init_range_high = 5 + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + +The last step for training the neural networks using the genetic +algorithm is calling the ``run()`` method. + +.. _run-the-created-instance-of-the-pygadga-class: + +Run the Created Instance of the ``pygad.GA`` Class +-------------------------------------------------- + +By calling the ``run()`` method from the ``pygad.GA`` instance, the +genetic algorithm will iterate through the number of generations +specified in its ``num_generations`` parameter. + +.. code:: python + + ga_instance.run() + +Plot the Fitness Values +----------------------- + +After the ``run()`` method completes, the ``plot_fitness()`` method can +be called to show how the fitness values evolve by generation. A fitness +value (i.e. accuracy) of 100 is reached after around 180 generations. + +.. code:: python + + ga_instance.plot_fitness() + +.. figure:: https://user-images.githubusercontent.com/16560492/82078638-c11e0700-96e1-11ea-8aa9-c36761c5e9c7.png + :alt: + +By running the code again, a different initial population is created and +thus a classification accuracy of 100 can be reached using a less number +of generations. On the other hand, a different initial population might +cause 100% accuracy to be reached using more generations or not reached +at all. + +Information about the Best Solution +----------------------------------- + +The following information about the best solution in the last population +is returned using the ``best_solution()`` method in the ``pygad.GA`` +class. + +- Solution + +- Fitness value of the solution + +- Index of the solution within the population + +Here is how such information is returned. The fitness value (i.e. +accuracy) is 100. + +.. code:: python + + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +.. code:: + + Parameters of the best solution : [3.55081391 -3.21562011 -14.2617784 0.68044231 -1.41258145 -3.2979315 1.58136006 -7.83726169] + Fitness value of the best solution = 100.0 + Index of the best solution : 0 + +Using the ``best_solution_generation`` attribute of the instance from +the ``pygad.GA`` class, the generation number at which the **best +fitness** is reached could be fetched. According to the result, the best +fitness value is reached after 182 generations. + +.. code:: python + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +.. code:: + + Best solution reached after 182 generations. + +Making Predictions using the Trained Weights +-------------------------------------------- + +The ``pygad.nn.predict()`` function can be used to make predictions +using the trained network. As printed, the network is able to predict +the labels correctly. + +.. code:: python + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], data_inputs=data_inputs) + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +.. code:: + + Predictions of the trained network : [0. 1. 1. 0.] + +Calculating Some Statistics +--------------------------- + +Based on the predictions the network made, some statistics can be +calculated such as the number of correct and wrong predictions in +addition to the classification accuracy. + +.. code:: python + + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +.. code:: + + Number of correct classifications : 4 + print("Number of wrong classifications : 0 + Classification accuracy : 100 + +Examples +======== + +This section gives the complete code of some examples that build and +train neural networks using the genetic algorithm. Each subsection +builds a different network. + +XOR Classification +------------------ + +This example is discussed in the **Steps to Build and Train Neural +Networks using Genetic Algorithm** section that builds the XOR gate and +its complete code is listed below. + +.. code:: python + + import numpy + import pygad + import pygad.nn + import pygad.gann + + def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + + def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) + + last_fitness = ga_instance.best_solution()[1].copy() + + # Holds the fitness value of the previous generation. + last_fitness = 0 + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.array([[1, 1], + [1, 0], + [0, 1], + [0, 0]]) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.array([0, + 1, + 1, + 0]) + + # The length of the input vector for each sample (i.e. number of neurons in the input layer). + num_inputs = data_inputs.shape[1] + # The number of neurons in the output layer (i.e. number of classes). + num_classes = 2 + + # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. + num_solutions = 6 # A solution or a network can be used interchangeably. + GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=num_classes, + hidden_activations=["relu"], + output_activation="softmax") + + # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. + # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. + population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + + # To prepare the initial population, there are 2 ways: + # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. + # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. + initial_population = population_vectors.copy() + + num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + + num_generations = 500 # Number of generations. + + mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + + parent_selection_type = "sss" # Type of parent selection. + + crossover_type = "single_point" # Type of the crossover operator. + + mutation_type = "random" # Type of the mutation operator. + + keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + + init_range_low = -2 + init_range_high = 5 + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness() + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + # Predicting the outputs of the data using the best solution. + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs) + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + + # Calculating some statistics + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +Image Classification +-------------------- + +In the documentation of the ``pygad.nn`` module, a neural network is +created for classifying images from the Fruits360 dataset without being +trained using an optimization algorithm. This section discusses how to +train such a classifier using the genetic algorithm with the help of the +``pygad.gann`` module. + +Please make sure that the training data files +`dataset_features.npy `__ +and +`outputs.npy `__ +are available. For downloading them, use these links: + +1. `dataset_features.npy `__: + The features + https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + +2. `outputs.npy `__: + The class labels + https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + +After the data is available, here is the complete code that builds and +trains a neural network using the genetic algorithm for classifying +images from 4 classes of the Fruits360 dataset. + +Because there are 4 classes, the output layer is assigned has 4 neurons +according to the ``num_neurons_output`` parameter of the +``pygad.gann.GANN`` class constructor. + +.. code:: python + + import numpy + import pygad + import pygad.nn + import pygad.gann + + def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + + def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) + + last_fitness = ga_instance.best_solution()[1].copy() + + # Holds the fitness value of the previous generation. + last_fitness = 0 + + # Reading the input data. + data_inputs = numpy.load("dataset_features.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + + # Optional step of filtering the input data using the standard deviation. + features_STDs = numpy.std(a=data_inputs, axis=0) + data_inputs = data_inputs[:, features_STDs>50] + + # Reading the output data. + data_outputs = numpy.load("outputs.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + + # The length of the input vector for each sample (i.e. number of neurons in the input layer). + num_inputs = data_inputs.shape[1] + # The number of neurons in the output layer (i.e. number of classes). + num_classes = 4 + + # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. + num_solutions = 8 # A solution or a network can be used interchangeably. + GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[150, 50], + num_neurons_output=num_classes, + hidden_activations=["relu", "relu"], + output_activation="softmax") + + # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. + # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. + population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + + # To prepare the initial population, there are 2 ways: + # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. + # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. + initial_population = population_vectors.copy() + + num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + + num_generations = 500 # Number of generations. + + mutation_percent_genes = 10 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + + parent_selection_type = "sss" # Type of parent selection. + + crossover_type = "single_point" # Type of the crossover operator. + + mutation_type = "random" # Type of the mutation operator. + + keep_parents = -1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness() + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + # Predicting the outputs of the data using the best solution. + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs) + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + + # Calculating some statistics + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +After training completes, here are the outputs of the print statements. +The number of wrong classifications is only 1 and the accuracy is +99.949%. This accuracy is reached after 482 generations. + +.. code:: + + Fitness value of the best solution = 99.94903160040775 + Index of the best solution : 0 + Best fitness value reached after 482 generations. + Number of correct classifications : 1961. + Number of wrong classifications : 1. + Classification accuracy : 99.94903160040775. + +The next figure shows how fitness value evolves by generation. + +.. figure:: https://user-images.githubusercontent.com/16560492/82152993-21898180-9865-11ea-8387-b995f88b83f7.png + :alt: + +Regression Example 1 +-------------------- + +To train a neural network for regression, follow these instructions: + +1. Set the ``output_activation`` parameter in the constructor of the + ``pygad.gann.GANN`` class to ``"None"``. It is possible to use the + ReLU function if all outputs are nonnegative. + +.. code:: python + + GANN_instance = pygad.gann.GANN(... + output_activation="None") + +1. Wherever the ``pygad.nn.predict()`` function is used, set the + ``problem_type`` parameter to ``"regression"``. + +.. code:: python + + predictions = pygad.nn.predict(..., + problem_type="regression") + +1. Design the fitness function to calculate the error (e.g. mean + absolute error). + +.. code:: python + + def fitness_func(ga_instance, solution, sol_idx): + ... + + predictions = pygad.nn.predict(..., + problem_type="regression") + + solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) + + return solution_fitness + +The next code builds a complete example for building a neural network +for regression. + +.. code:: python + + import numpy + import pygad + import pygad.nn + import pygad.gann + + def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs, problem_type="regression") + solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) + + return solution_fitness + + def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) + + last_fitness = ga_instance.best_solution()[1].copy() + + # Holds the fitness value of the previous generation. + last_fitness = 0 + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.array([[2, 5, -3, 0.1], + [8, 15, 20, 13]]) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.array([0.1, + 1.5]) + + # The length of the input vector for each sample (i.e. number of neurons in the input layer). + num_inputs = data_inputs.shape[1] + + # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. + num_solutions = 6 # A solution or a network can be used interchangeably. + GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=1, + hidden_activations=["relu"], + output_activation="None") + + # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. + # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. + population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + + # To prepare the initial population, there are 2 ways: + # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. + # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. + initial_population = population_vectors.copy() + + num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + + num_generations = 500 # Number of generations. + + mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + + parent_selection_type = "sss" # Type of parent selection. + + crossover_type = "single_point" # Type of the crossover operator. + + mutation_type = "random" # Type of the mutation operator. + + keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + + init_range_low = -1 + init_range_high = 1 + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness() + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + # Predicting the outputs of the data using the best solution. + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs, + problem_type="regression") + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + + # Calculating some statistics + abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) + print("Absolute error : {abs_error}.".format(abs_error=abs_error)) + +The next figure shows how the fitness value changes for the generations +used. + +.. figure:: https://user-images.githubusercontent.com/16560492/92948154-3cf24b00-f459-11ea-94ea-952b66ab2145.png + :alt: + +Regression Example 2 - Fish Weight Prediction +--------------------------------------------- + +This example uses the Fish Market Dataset available at Kaggle +(https://www.kaggle.com/aungpyaeap/fish-market). Simply download the CSV +dataset from `this +link `__ +(https://www.kaggle.com/aungpyaeap/fish-market/download). The dataset is +also available at the `GitHub project of the pygad.gann +module `__: +https://github.com/ahmedfgad/NeuralGenetic + +Using the Pandas library, the dataset is read using the ``read_csv()`` +function. + +.. code:: python + + data = numpy.array(pandas.read_csv("Fish.csv")) + +The last 5 columns in the dataset are used as inputs and the **Weight** +column is used as output. + +.. code:: python + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight + +Note how the activation function at the last layer is set to ``"None"``. +Moreover, the ``problem_type`` parameter in the ``pygad.nn.train()`` and +``pygad.nn.predict()`` functions is set to ``"regression"``. Remember to +design an appropriate fitness function for the regression problem. In +this example, the fitness value is calculated based on the mean absolute +error. + +.. code:: python + + solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) + +Here is the complete code. + +.. code:: python + + import numpy + import pygad + import pygad.nn + import pygad.gann + import pandas + + def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs, problem_type="regression") + solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) + + return solution_fitness + + def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + print("Change = {change}".format(change=ga_instance.best_solution()[1] - last_fitness)) + + last_fitness = ga_instance.best_solution()[1].copy() + + # Holds the fitness value of the previous generation. + last_fitness = 0 + + data = numpy.array(pandas.read_csv("Fish.csv")) + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) + + # The length of the input vector for each sample (i.e. number of neurons in the input layer). + num_inputs = data_inputs.shape[1] + + # Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. + num_solutions = 6 # A solution or a network can be used interchangeably. + GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=1, + hidden_activations=["relu"], + output_activation="None") + + # population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. + # If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. + population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + + # To prepare the initial population, there are 2 ways: + # 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. + # 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. + initial_population = population_vectors.copy() + + num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + + num_generations = 500 # Number of generations. + + mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + + parent_selection_type = "sss" # Type of parent selection. + + crossover_type = "single_point" # Type of the crossover operator. + + mutation_type = "random" # Type of the mutation operator. + + keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + + init_range_low = -1 + init_range_high = 1 + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness() + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + # Predicting the outputs of the data using the best solution. + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs, + problem_type="regression") + print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + + # Calculating some statistics + abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) + print("Absolute error : {abs_error}.".format(abs_error=abs_error)) + +The next figure shows how the fitness value changes for the 500 +generations used. + +.. figure:: https://user-images.githubusercontent.com/16560492/92948486-bbe78380-f459-11ea-9e31-0d4c7269d606.png + :alt: diff --git a/docs/source/index.rst b/docs/source/index.rst index b346229..3bd6ad6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -247,7 +247,7 @@ pygad Module :maxdepth: 4 :caption: pygad Module TOC - README_pygad_ReadTheDocs.rst + pygad.rst @@ -262,7 +262,7 @@ pygad.nn Module :maxdepth: 4 :caption: pygad.nn Module TOC - README_pygad_nn_ReadTheDocs.rst + nn.rst @@ -278,7 +278,7 @@ pygad.gann Module :maxdepth: 4 :caption: pygad.gann Module TOC - README_pygad_gann_ReadTheDocs.rst + gann.rst @@ -298,7 +298,7 @@ pygad.cnn Module :maxdepth: 4 :caption: pygad.cnn Module TOC - README_pygad_cnn_ReadTheDocs.rst + cnn.rst @@ -318,7 +318,7 @@ pygad.gacnn Module :maxdepth: 4 :caption: pygad.gacnn Module TOC - README_pygad_gacnn_ReadTheDocs.rst + gacnn.rst @@ -333,7 +333,7 @@ pygad.kerasga Module :maxdepth: 4 :caption: pygad.kerasga Module TOC - README_pygad_kerasga_ReadTheDocs.rst + kerasga.rst @@ -348,7 +348,7 @@ pygad.torchga Module :maxdepth: 4 :caption: pygad.torchga Module TOC - README_pygad_torchga_ReadTheDocs.rst + torchga.rst @@ -363,7 +363,7 @@ More Information :maxdepth: 4 :caption: More Information - Footer.rst + releases.rst diff --git a/docs/source/README_pygad_kerasga_ReadTheDocs.rst b/docs/source/kerasga.rst similarity index 97% rename from docs/source/README_pygad_kerasga_ReadTheDocs.rst rename to docs/source/kerasga.rst index 9b82467..a602468 100644 --- a/docs/source/README_pygad_kerasga_ReadTheDocs.rst +++ b/docs/source/kerasga.rst @@ -1,971 +1,971 @@ -.. _pygadkerasga-module: - -``pygad.kerasga`` Module -======================== - -This section of the PyGAD's library documentation discusses the -`pygad.kerasga `__ -module. - -The ``pygad.kerarsga`` module has helper a class and 2 functions to -train Keras models using the genetic algorithm (PyGAD). The Keras model -can be built either using the `Sequential -Model `__ or the `Functional -API `__. - -The contents of this module are: - -1. ``KerasGA``: A class for creating an initial population of all - parameters in the Keras model. - -2. ``model_weights_as_vector()``: A function to reshape the Keras model - weights to a single vector. - -3. ``model_weights_as_matrix()``: A function to restore the Keras model - weights from a vector. - -4. ``predict()``: A function to make predictions based on the Keras - model and a solution. - -More details are given in the next sections. - -Steps Summary -============= - -The summary of the steps used to train a Keras model using PyGAD is as -follows: - -1. Create a Keras model. - -2. Create an instance of the ``pygad.kerasga.KerasGA`` class. - -3. Prepare the training data. - -4. Build the fitness function. - -5. Create an instance of the ``pygad.GA`` class. - -6. Run the genetic algorithm. - -Create Keras Model -================== - -Before discussing training a Keras model using PyGAD, the first thing to -do is to create the Keras model. - -According to the `Keras library -documentation `__, there are 3 ways to -build a Keras model: - -1. `Sequential Model `__ - -2. `Functional API `__ - -3. `Model Subclassing `__ - -PyGAD supports training the models created either using the Sequential -Model or the Functional API. - -Here is an example of a model created using the Sequential Model. - -.. code:: python - - import tensorflow.keras - - input_layer = tensorflow.keras.layers.Input(3) - dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu") - output_layer = tensorflow.keras.layers.Dense(1, activation="linear") - - model = tensorflow.keras.Sequential() - model.add(input_layer) - model.add(dense_layer1) - model.add(output_layer) - -This is the same model created using the Functional API. - -.. code:: python - - input_layer = tensorflow.keras.layers.Input(3) - dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) - output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - -Feel free to add the layers of your choice. - -.. _pygadkerasgakerasga-class: - -``pygad.kerasga.KerasGA`` Class -=============================== - -The ``pygad.kerasga`` module has a class named ``KerasGA`` for creating -an initial population for the genetic algorithm based on a Keras model. -The constructor, methods, and attributes within the class are discussed -in this section. - -.. _init: - -``__init__()`` --------------- - -The ``pygad.kerasga.KerasGA`` class constructor accepts the following -parameters: - -- ``model``: An instance of the Keras model. - -- ``num_solutions``: Number of solutions in the population. Each - solution has different parameters of the model. - -Instance Attributes -------------------- - -All parameters in the ``pygad.kerasga.KerasGA`` class constructor are -used as instance attributes in addition to adding a new attribute called -``population_weights``. - -Here is a list of all instance attributes: - -- ``model`` - -- ``num_solutions`` - -- ``population_weights``: A nested list holding the weights of all - solutions in the population. - -Methods in the ``KerasGA`` Class --------------------------------- - -This section discusses the methods available for instances of the -``pygad.kerasga.KerasGA`` class. - -.. _createpopulation: - -``create_population()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -The ``create_population()`` method creates the initial population of the -genetic algorithm as a list of solutions where each solution represents -different model parameters. The list of networks is assigned to the -``population_weights`` attribute of the instance. - -.. _functions-in-the-pygadkerasga-module: - -Functions in the ``pygad.kerasga`` Module -========================================= - -This section discusses the functions in the ``pygad.kerasga`` module. - -.. _pygadkerasgamodelweightsasvector: - -``pygad.kerasga.model_weights_as_vector()`` --------------------------------------------- - -The ``model_weights_as_vector()`` function accepts a single parameter -named ``model`` representing the Keras model. It returns a vector -holding all model weights. The reason for representing the model weights -as a vector is that the genetic algorithm expects all parameters of any -solution to be in a 1D vector form. - -This function filters the layers based on the ``trainable`` attribute to -see whether the layer weights are trained or not. For each layer, if its -``trainable=False``, then its weights will not be evolved using the -genetic algorithm. Otherwise, it will be represented in the chromosome -and evolved. - -The function accepts the following parameters: - -- ``model``: The Keras model. - -It returns a 1D vector holding the model weights. - -.. _pygadkerasgamodelweightsasmatrix: - -``pygad.kerasga.model_weights_as_matrix()`` -------------------------------------------- - -The ``model_weights_as_matrix()`` function accepts the following -parameters: - -1. ``model``: The Keras model. - -2. ``weights_vector``: The model parameters as a vector. - -It returns the restored model weights after reshaping the vector. - -.. _pygadkerasgapredict: - -``pygad.kerasga.predict()`` ---------------------------- - -The ``predict()`` function makes a prediction based on a solution. It -accepts the following parameters: - -1. ``model``: The Keras model. - -2. ``solution``: The solution evolved. - -3. ``data``: The test data inputs. - -It returns the predictions for the data samples. - -Examples -======== - -This section gives the complete code of some examples that build and -train a Keras model using PyGAD. Each subsection builds a different -network. - -Example 1: Regression Example ------------------------------ - -The next code builds a simple Keras model for regression. The next -subsections discuss each part in the code. - -.. code:: python - - import tensorflow.keras - import pygad.kerasga - import numpy - import pygad - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, keras_ga, model - - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - - mae = tensorflow.keras.losses.MeanAbsoluteError() - abs_error = mae(data_outputs, predictions).numpy() + 0.00000001 - solution_fitness = 1.0/abs_error - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - input_layer = tensorflow.keras.layers.Input(3) - dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) - output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - - keras_ga = pygad.kerasga.KerasGA(model=model, - num_solutions=10) - - # Data inputs - data_inputs = numpy.array([[0.02, 0.1, 0.15], - [0.7, 0.6, 0.8], - [1.5, 1.2, 1.7], - [3.2, 2.9, 3.1]]) - - # Data outputs - data_outputs = numpy.array([[0.1], - [0.6], - [1.3], - [2.5]]) - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 250 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = keras_ga.population_weights # Initial population of network weights - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make prediction based on the best solution. - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - print("Predictions : \n", predictions) - - mae = tensorflow.keras.losses.MeanAbsoluteError() - abs_error = mae(data_outputs, predictions).numpy() - print("Absolute Error : ", abs_error) - -Create a Keras Model -~~~~~~~~~~~~~~~~~~~~ - -According to the steps mentioned previously, the first step is to create -a Keras model. Here is the code that builds the model using the -Functional API. - -.. code:: python - - import tensorflow.keras - - input_layer = tensorflow.keras.layers.Input(3) - dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) - output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - -The model can also be build using the Keras Sequential Model API. - -.. code:: python - - input_layer = tensorflow.keras.layers.Input(3) - dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu") - output_layer = tensorflow.keras.layers.Dense(1, activation="linear") - - model = tensorflow.keras.Sequential() - model.add(input_layer) - model.add(dense_layer1) - model.add(output_layer) - -.. _create-an-instance-of-the-pygadkerasgakerasga-class: - -Create an Instance of the ``pygad.kerasga.KerasGA`` Class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The second step is to create an instance of the -``pygad.kerasga.KerasGA`` class. There are 10 solutions per population. -Change this number according to your needs. - -.. code:: python - - import pygad.kerasga - - keras_ga = pygad.kerasga.KerasGA(model=model, - num_solutions=10) - -.. _prepare-the-training-data-1: - -Prepare the Training Data -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The third step is to prepare the training data inputs and outputs. Here -is an example where there are 4 samples. Each sample has 3 inputs and 1 -output. - -.. code:: python - - import numpy - - # Data inputs - data_inputs = numpy.array([[0.02, 0.1, 0.15], - [0.7, 0.6, 0.8], - [1.5, 1.2, 1.7], - [3.2, 2.9, 3.1]]) - - # Data outputs - data_outputs = numpy.array([[0.1], - [0.6], - [1.3], - [2.5]]) - -Build the Fitness Function -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The fourth step is to build the fitness function. This function must -accept 2 parameters representing the solution and its index within the -population. - -The next fitness function returns the model predictions based on the -current solution using the ``predict()`` function. Then, it calculates -the mean absolute error (MAE) of the Keras model based on the parameters -in the solution. The reciprocal of the MAE is used as the fitness value. -Feel free to use any other loss function to calculate the fitness value. - -.. code:: python - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, keras_ga, model - - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - - mae = tensorflow.keras.losses.MeanAbsoluteError() - abs_error = mae(data_outputs, predictions).numpy() + 0.00000001 - solution_fitness = 1.0/abs_error - - return solution_fitness - -.. _create-an-instance-of-the-pygadga-class: - -Create an Instance of the ``pygad.GA`` Class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The fifth step is to instantiate the ``pygad.GA`` class. Note how the -``initial_population`` parameter is assigned to the initial weights of -the Keras models. - -For more information, please check the `parameters this class -accepts `__. - -.. code:: python - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 250 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = keras_ga.population_weights # Initial population of network weights - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - -Run the Genetic Algorithm -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The sixth and last step is to run the genetic algorithm by calling the -``run()`` method. - -.. code:: python - - ga_instance.run() - -After the PyGAD completes its execution, then there is a figure that -shows how the fitness value changes by generation. Call the -``plot_fitness()`` method to show the figure. - -.. code:: python - - ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) - -Here is the figure. - -.. figure:: https://user-images.githubusercontent.com/16560492/93722638-ac261880-fb98-11ea-95d3-e773deb034f4.png - :alt: - -To get information about the best solution found by PyGAD, use the -``best_solution()`` method. - -.. code:: python - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - -.. code:: python - - Fitness value of the best solution = 72.77768757825352 - Index of the best solution : 0 - -The next code makes prediction using the ``predict()`` function to -return the model predictions based on the best solution. - -.. code:: python - - # Fetch the parameters of the best solution. - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - print("Predictions : \n", predictions) - -.. code:: python - - Predictions : - [[0.09935353] - [0.63082725] - [1.2765523 ] - [2.4999595 ]] - -The next code measures the trained model error. - -.. code:: python - - mae = tensorflow.keras.losses.MeanAbsoluteError() - abs_error = mae(data_outputs, predictions).numpy() - print("Absolute Error : ", abs_error) - -.. code:: - - Absolute Error : 0.013740465 - -Example 2: XOR Binary Classification ------------------------------------- - -The next code creates a Keras model to build the XOR binary -classification problem. Let's highlight the changes compared to the -previous example. - -.. code:: python - - import tensorflow.keras - import pygad.kerasga - import numpy - import pygad - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, keras_ga, model - - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - - bce = tensorflow.keras.losses.BinaryCrossentropy() - solution_fitness = 1.0 / (bce(data_outputs, predictions).numpy() + 0.00000001) - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Build the keras model using the functional API. - input_layer = tensorflow.keras.layers.Input(2) - dense_layer = tensorflow.keras.layers.Dense(4, activation="relu")(input_layer) - output_layer = tensorflow.keras.layers.Dense(2, activation="softmax")(dense_layer) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - - # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. - keras_ga = pygad.kerasga.KerasGA(model=model, - num_solutions=10) - - # XOR problem inputs - data_inputs = numpy.array([[0, 0], - [0, 1], - [1, 0], - [1, 1]]) - - # XOR problem outputs - data_outputs = numpy.array([[1, 0], - [0, 1], - [0, 1], - [1, 0]]) - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 250 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = keras_ga.population_weights # Initial population of network weights. - - # Create an instance of the pygad.GA class - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - # Start the genetic algorithm evolution. - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make predictions based on the best solution. - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - print("Predictions : \n", predictions) - - # Calculate the binary crossentropy for the trained model. - bce = tensorflow.keras.losses.BinaryCrossentropy() - print("Binary Crossentropy : ", bce(data_outputs, predictions).numpy()) - - # Calculate the classification accuracy for the trained model. - ba = tensorflow.keras.metrics.BinaryAccuracy() - ba.update_state(data_outputs, predictions) - accuracy = ba.result().numpy() - print("Accuracy : ", accuracy) - -Compared to the previous regression example, here are the changes: - -- The Keras model is changed according to the nature of the problem. - Now, it has 2 inputs and 2 outputs with an in-between hidden layer of - 4 neurons. - -.. code:: python - - # Build the keras model using the functional API. - input_layer = tensorflow.keras.layers.Input(2) - dense_layer = tensorflow.keras.layers.Dense(4, activation="relu")(input_layer) - output_layer = tensorflow.keras.layers.Dense(2, activation="softmax")(dense_layer) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - -- The train data is changed. Note that the output of each sample is a - 1D vector of 2 values, 1 for each class. - -.. code:: python - - # XOR problem inputs - data_inputs = numpy.array([[0, 0], - [0, 1], - [1, 0], - [1, 1]]) - - # XOR problem outputs - data_outputs = numpy.array([[1, 0], - [0, 1], - [0, 1], - [1, 0]]) - -- The fitness value is calculated based on the binary cross entropy. - -.. code:: python - - bce = tensorflow.keras.losses.BinaryCrossentropy() - solution_fitness = 1.0 / (bce(data_outputs, predictions).numpy() + 0.00000001) - -After the previous code completes, the next figure shows how the fitness -value change by generation. - -.. figure:: https://user-images.githubusercontent.com/16560492/93722639-b811da80-fb98-11ea-8951-f13a7a266c04.png - :alt: - -Here is some information about the trained model. Its fitness value is -``739.24``, loss is ``0.0013527311`` and accuracy is 100%. - -.. code:: python - - Fitness value of the best solution = 739.2397344644013 - Index of the best solution : 7 - - Predictions : - [[9.9694413e-01 3.0558957e-03] - [5.0176249e-04 9.9949825e-01] - [1.8470541e-03 9.9815291e-01] - [9.9999976e-01 2.0538971e-07]] - - Binary Crossentropy : 0.0013527311 - - Accuracy : 1.0 - -Example 3: Image Multi-Class Classification (Dense Layers) ----------------------------------------------------------- - -Here is the code. - -.. code:: python - - import tensorflow.keras - import pygad.kerasga - import numpy - import pygad - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, keras_ga, model - - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - - cce = tensorflow.keras.losses.CategoricalCrossentropy() - solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Build the keras model using the functional API. - input_layer = tensorflow.keras.layers.Input(360) - dense_layer = tensorflow.keras.layers.Dense(50, activation="relu")(input_layer) - output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - - # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. - keras_ga = pygad.kerasga.KerasGA(model=model, - num_solutions=10) - - # Data inputs - data_inputs = numpy.load("dataset_features.npy") - - # Data outputs - data_outputs = numpy.load("outputs.npy") - data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 100 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = keras_ga.population_weights # Initial population of network weights. - - # Create an instance of the pygad.GA class - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - # Start the genetic algorithm evolution. - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make predictions based on the best solution. - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - # print("Predictions : \n", predictions) - - # Calculate the categorical crossentropy for the trained model. - cce = tensorflow.keras.losses.CategoricalCrossentropy() - print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) - - # Calculate the classification accuracy for the trained model. - ca = tensorflow.keras.metrics.CategoricalAccuracy() - ca.update_state(data_outputs, predictions) - accuracy = ca.result().numpy() - print("Accuracy : ", accuracy) - -Compared to the previous binary classification example, this example has -multiple classes (4) and thus the loss is measured using categorical -cross entropy. - -.. code:: python - - cce = tensorflow.keras.losses.CategoricalCrossentropy() - solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) - -.. _prepare-the-training-data-2: - -Prepare the Training Data -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Before building and training neural networks, the training data (input -and output) needs to be prepared. The inputs and the outputs of the -training data are NumPy arrays. - -The data used in this example is available as 2 files: - -1. `dataset_features.npy `__: - Data inputs. - https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy - -2. `outputs.npy `__: - Class labels. - https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy - -The data consists of 4 classes of images. The image shape is -``(100, 100, 3)``. The number of training samples is 1962. The feature -vector extracted from each image has a length 360. - -Simply download these 2 files and read them according to the next code. -Note that the class labels are one-hot encoded using the -``tensorflow.keras.utils.to_categorical()`` function. - -.. code:: python - - import numpy - - data_inputs = numpy.load("dataset_features.npy") - - data_outputs = numpy.load("outputs.npy") - data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) - -The next figure shows how the fitness value changes. - -.. figure:: https://user-images.githubusercontent.com/16560492/93722649-c2cc6f80-fb98-11ea-96e7-3f6ce3cfe1cf.png - :alt: - -Here are some statistics about the trained model. - -.. code:: - - Fitness value of the best solution = 4.197464252185969 - Index of the best solution : 0 - Categorical Crossentropy : 0.23823906 - Accuracy : 0.9852192 - -Example 4: Image Multi-Class Classification (Conv Layers) ---------------------------------------------------------- - -Compared to the previous example that uses only dense layers, this -example uses convolutional layers to classify the same dataset. - -Here is the complete code. - -.. code:: python - - import tensorflow.keras - import pygad.kerasga - import numpy - import pygad - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, keras_ga, model - - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - - cce = tensorflow.keras.losses.CategoricalCrossentropy() - solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Build the keras model using the functional API. - input_layer = tensorflow.keras.layers.Input(shape=(100, 100, 3)) - conv_layer1 = tensorflow.keras.layers.Conv2D(filters=5, - kernel_size=7, - activation="relu")(input_layer) - max_pool1 = tensorflow.keras.layers.MaxPooling2D(pool_size=(5,5), - strides=5)(conv_layer1) - conv_layer2 = tensorflow.keras.layers.Conv2D(filters=3, - kernel_size=3, - activation="relu")(max_pool1) - flatten_layer = tensorflow.keras.layers.Flatten()(conv_layer2) - dense_layer = tensorflow.keras.layers.Dense(15, activation="relu")(flatten_layer) - output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - - # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. - keras_ga = pygad.kerasga.KerasGA(model=model, - num_solutions=10) - - # Data inputs - data_inputs = numpy.load("dataset_inputs.npy") - - # Data outputs - data_outputs = numpy.load("dataset_outputs.npy") - data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 200 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = keras_ga.population_weights # Initial population of network weights. - - # Create an instance of the pygad.GA class - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - # Start the genetic algorithm evolution. - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make predictions based on the best solution. - predictions = pygad.kerasga.predict(model=model, - solution=solution, - data=data_inputs) - # print("Predictions : \n", predictions) - - # Calculate the categorical crossentropy for the trained model. - cce = tensorflow.keras.losses.CategoricalCrossentropy() - print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) - - # Calculate the classification accuracy for the trained model. - ca = tensorflow.keras.metrics.CategoricalAccuracy() - ca.update_state(data_outputs, predictions) - accuracy = ca.result().numpy() - print("Accuracy : ", accuracy) - -Compared to the previous example, the only change is that the -architecture uses convolutional and max-pooling layers. The shape of -each input sample is 100x100x3. - -.. code:: python - - # Build the keras model using the functional API. - input_layer = tensorflow.keras.layers.Input(shape=(100, 100, 3)) - conv_layer1 = tensorflow.keras.layers.Conv2D(filters=5, - kernel_size=7, - activation="relu")(input_layer) - max_pool1 = tensorflow.keras.layers.MaxPooling2D(pool_size=(5,5), - strides=5)(conv_layer1) - conv_layer2 = tensorflow.keras.layers.Conv2D(filters=3, - kernel_size=3, - activation="relu")(max_pool1) - flatten_layer = tensorflow.keras.layers.Flatten()(conv_layer2) - dense_layer = tensorflow.keras.layers.Dense(15, activation="relu")(flatten_layer) - output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) - - model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) - -.. _prepare-the-training-data-3: - -Prepare the Training Data -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The data used in this example is available as 2 files: - -1. `dataset_inputs.npy `__: - Data inputs. - https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy - -2. `dataset_outputs.npy `__: - Class labels. - https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy - -The data consists of 4 classes of images. The image shape is -``(100, 100, 3)`` and there are 20 images per class for a total of 80 -training samples. For more information about the dataset, check the -`Reading the -Data `__ -section of the ``pygad.cnn`` module. - -Simply download these 2 files and read them according to the next code. -Note that the class labels are one-hot encoded using the -``tensorflow.keras.utils.to_categorical()`` function. - -.. code:: python - - import numpy - - data_inputs = numpy.load("dataset_inputs.npy") - - data_outputs = numpy.load("dataset_outputs.npy") - data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) - -The next figure shows how the fitness value changes. - -.. figure:: https://user-images.githubusercontent.com/16560492/93722654-cc55d780-fb98-11ea-8f95-7b65dc67f5c8.png - :alt: - -Here are some statistics about the trained model. The model accuracy is -75% after the 200 generations. Note that just running the code again may -give different results. - -.. code:: - - Fitness value of the best solution = 2.7462310258668805 - Index of the best solution : 0 - Categorical Crossentropy : 0.3641354 - Accuracy : 0.75 - -To improve the model performance, you can do the following: - -- Add more layers - -- Modify the existing layers. - -- Use different parameters for the layers. - -- Use different parameters for the genetic algorithm (e.g. number of - solution, number of generations, etc) +.. _pygadkerasga-module: + +``pygad.kerasga`` Module +======================== + +This section of the PyGAD's library documentation discusses the +`pygad.kerasga `__ +module. + +The ``pygad.kerarsga`` module has helper a class and 2 functions to +train Keras models using the genetic algorithm (PyGAD). The Keras model +can be built either using the `Sequential +Model `__ or the `Functional +API `__. + +The contents of this module are: + +1. ``KerasGA``: A class for creating an initial population of all + parameters in the Keras model. + +2. ``model_weights_as_vector()``: A function to reshape the Keras model + weights to a single vector. + +3. ``model_weights_as_matrix()``: A function to restore the Keras model + weights from a vector. + +4. ``predict()``: A function to make predictions based on the Keras + model and a solution. + +More details are given in the next sections. + +Steps Summary +============= + +The summary of the steps used to train a Keras model using PyGAD is as +follows: + +1. Create a Keras model. + +2. Create an instance of the ``pygad.kerasga.KerasGA`` class. + +3. Prepare the training data. + +4. Build the fitness function. + +5. Create an instance of the ``pygad.GA`` class. + +6. Run the genetic algorithm. + +Create Keras Model +================== + +Before discussing training a Keras model using PyGAD, the first thing to +do is to create the Keras model. + +According to the `Keras library +documentation `__, there are 3 ways to +build a Keras model: + +1. `Sequential Model `__ + +2. `Functional API `__ + +3. `Model Subclassing `__ + +PyGAD supports training the models created either using the Sequential +Model or the Functional API. + +Here is an example of a model created using the Sequential Model. + +.. code:: python + + import tensorflow.keras + + input_layer = tensorflow.keras.layers.Input(3) + dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu") + output_layer = tensorflow.keras.layers.Dense(1, activation="linear") + + model = tensorflow.keras.Sequential() + model.add(input_layer) + model.add(dense_layer1) + model.add(output_layer) + +This is the same model created using the Functional API. + +.. code:: python + + input_layer = tensorflow.keras.layers.Input(3) + dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) + output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +Feel free to add the layers of your choice. + +.. _pygadkerasgakerasga-class: + +``pygad.kerasga.KerasGA`` Class +=============================== + +The ``pygad.kerasga`` module has a class named ``KerasGA`` for creating +an initial population for the genetic algorithm based on a Keras model. +The constructor, methods, and attributes within the class are discussed +in this section. + +.. _init: + +``__init__()`` +-------------- + +The ``pygad.kerasga.KerasGA`` class constructor accepts the following +parameters: + +- ``model``: An instance of the Keras model. + +- ``num_solutions``: Number of solutions in the population. Each + solution has different parameters of the model. + +Instance Attributes +------------------- + +All parameters in the ``pygad.kerasga.KerasGA`` class constructor are +used as instance attributes in addition to adding a new attribute called +``population_weights``. + +Here is a list of all instance attributes: + +- ``model`` + +- ``num_solutions`` + +- ``population_weights``: A nested list holding the weights of all + solutions in the population. + +Methods in the ``KerasGA`` Class +-------------------------------- + +This section discusses the methods available for instances of the +``pygad.kerasga.KerasGA`` class. + +.. _createpopulation: + +``create_population()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +The ``create_population()`` method creates the initial population of the +genetic algorithm as a list of solutions where each solution represents +different model parameters. The list of networks is assigned to the +``population_weights`` attribute of the instance. + +.. _functions-in-the-pygadkerasga-module: + +Functions in the ``pygad.kerasga`` Module +========================================= + +This section discusses the functions in the ``pygad.kerasga`` module. + +.. _pygadkerasgamodelweightsasvector: + +``pygad.kerasga.model_weights_as_vector()`` +-------------------------------------------- + +The ``model_weights_as_vector()`` function accepts a single parameter +named ``model`` representing the Keras model. It returns a vector +holding all model weights. The reason for representing the model weights +as a vector is that the genetic algorithm expects all parameters of any +solution to be in a 1D vector form. + +This function filters the layers based on the ``trainable`` attribute to +see whether the layer weights are trained or not. For each layer, if its +``trainable=False``, then its weights will not be evolved using the +genetic algorithm. Otherwise, it will be represented in the chromosome +and evolved. + +The function accepts the following parameters: + +- ``model``: The Keras model. + +It returns a 1D vector holding the model weights. + +.. _pygadkerasgamodelweightsasmatrix: + +``pygad.kerasga.model_weights_as_matrix()`` +------------------------------------------- + +The ``model_weights_as_matrix()`` function accepts the following +parameters: + +1. ``model``: The Keras model. + +2. ``weights_vector``: The model parameters as a vector. + +It returns the restored model weights after reshaping the vector. + +.. _pygadkerasgapredict: + +``pygad.kerasga.predict()`` +--------------------------- + +The ``predict()`` function makes a prediction based on a solution. It +accepts the following parameters: + +1. ``model``: The Keras model. + +2. ``solution``: The solution evolved. + +3. ``data``: The test data inputs. + +It returns the predictions for the data samples. + +Examples +======== + +This section gives the complete code of some examples that build and +train a Keras model using PyGAD. Each subsection builds a different +network. + +Example 1: Regression Example +----------------------------- + +The next code builds a simple Keras model for regression. The next +subsections discuss each part in the code. + +.. code:: python + + import tensorflow.keras + import pygad.kerasga + import numpy + import pygad + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + mae = tensorflow.keras.losses.MeanAbsoluteError() + abs_error = mae(data_outputs, predictions).numpy() + 0.00000001 + solution_fitness = 1.0/abs_error + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + input_layer = tensorflow.keras.layers.Input(3) + dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) + output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + + # Data inputs + data_inputs = numpy.array([[0.02, 0.1, 0.15], + [0.7, 0.6, 0.8], + [1.5, 1.2, 1.7], + [3.2, 2.9, 3.1]]) + + # Data outputs + data_outputs = numpy.array([[0.1], + [0.6], + [1.3], + [2.5]]) + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 250 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = keras_ga.population_weights # Initial population of network weights + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make prediction based on the best solution. + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + print("Predictions : \n", predictions) + + mae = tensorflow.keras.losses.MeanAbsoluteError() + abs_error = mae(data_outputs, predictions).numpy() + print("Absolute Error : ", abs_error) + +Create a Keras Model +~~~~~~~~~~~~~~~~~~~~ + +According to the steps mentioned previously, the first step is to create +a Keras model. Here is the code that builds the model using the +Functional API. + +.. code:: python + + import tensorflow.keras + + input_layer = tensorflow.keras.layers.Input(3) + dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu")(input_layer) + output_layer = tensorflow.keras.layers.Dense(1, activation="linear")(dense_layer1) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +The model can also be build using the Keras Sequential Model API. + +.. code:: python + + input_layer = tensorflow.keras.layers.Input(3) + dense_layer1 = tensorflow.keras.layers.Dense(5, activation="relu") + output_layer = tensorflow.keras.layers.Dense(1, activation="linear") + + model = tensorflow.keras.Sequential() + model.add(input_layer) + model.add(dense_layer1) + model.add(output_layer) + +.. _create-an-instance-of-the-pygadkerasgakerasga-class: + +Create an Instance of the ``pygad.kerasga.KerasGA`` Class +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The second step is to create an instance of the +``pygad.kerasga.KerasGA`` class. There are 10 solutions per population. +Change this number according to your needs. + +.. code:: python + + import pygad.kerasga + + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + +.. _prepare-the-training-data-1: + +Prepare the Training Data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The third step is to prepare the training data inputs and outputs. Here +is an example where there are 4 samples. Each sample has 3 inputs and 1 +output. + +.. code:: python + + import numpy + + # Data inputs + data_inputs = numpy.array([[0.02, 0.1, 0.15], + [0.7, 0.6, 0.8], + [1.5, 1.2, 1.7], + [3.2, 2.9, 3.1]]) + + # Data outputs + data_outputs = numpy.array([[0.1], + [0.6], + [1.3], + [2.5]]) + +Build the Fitness Function +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The fourth step is to build the fitness function. This function must +accept 2 parameters representing the solution and its index within the +population. + +The next fitness function returns the model predictions based on the +current solution using the ``predict()`` function. Then, it calculates +the mean absolute error (MAE) of the Keras model based on the parameters +in the solution. The reciprocal of the MAE is used as the fitness value. +Feel free to use any other loss function to calculate the fitness value. + +.. code:: python + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + mae = tensorflow.keras.losses.MeanAbsoluteError() + abs_error = mae(data_outputs, predictions).numpy() + 0.00000001 + solution_fitness = 1.0/abs_error + + return solution_fitness + +.. _create-an-instance-of-the-pygadga-class: + +Create an Instance of the ``pygad.GA`` Class +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The fifth step is to instantiate the ``pygad.GA`` class. Note how the +``initial_population`` parameter is assigned to the initial weights of +the Keras models. + +For more information, please check the `parameters this class +accepts `__. + +.. code:: python + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 250 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = keras_ga.population_weights # Initial population of network weights + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +Run the Genetic Algorithm +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sixth and last step is to run the genetic algorithm by calling the +``run()`` method. + +.. code:: python + + ga_instance.run() + +After the PyGAD completes its execution, then there is a figure that +shows how the fitness value changes by generation. Call the +``plot_fitness()`` method to show the figure. + +.. code:: python + + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + +Here is the figure. + +.. figure:: https://user-images.githubusercontent.com/16560492/93722638-ac261880-fb98-11ea-95d3-e773deb034f4.png + :alt: + +To get information about the best solution found by PyGAD, use the +``best_solution()`` method. + +.. code:: python + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +.. code:: python + + Fitness value of the best solution = 72.77768757825352 + Index of the best solution : 0 + +The next code makes prediction using the ``predict()`` function to +return the model predictions based on the best solution. + +.. code:: python + + # Fetch the parameters of the best solution. + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + print("Predictions : \n", predictions) + +.. code:: python + + Predictions : + [[0.09935353] + [0.63082725] + [1.2765523 ] + [2.4999595 ]] + +The next code measures the trained model error. + +.. code:: python + + mae = tensorflow.keras.losses.MeanAbsoluteError() + abs_error = mae(data_outputs, predictions).numpy() + print("Absolute Error : ", abs_error) + +.. code:: + + Absolute Error : 0.013740465 + +Example 2: XOR Binary Classification +------------------------------------ + +The next code creates a Keras model to build the XOR binary +classification problem. Let's highlight the changes compared to the +previous example. + +.. code:: python + + import tensorflow.keras + import pygad.kerasga + import numpy + import pygad + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + bce = tensorflow.keras.losses.BinaryCrossentropy() + solution_fitness = 1.0 / (bce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Build the keras model using the functional API. + input_layer = tensorflow.keras.layers.Input(2) + dense_layer = tensorflow.keras.layers.Dense(4, activation="relu")(input_layer) + output_layer = tensorflow.keras.layers.Dense(2, activation="softmax")(dense_layer) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + + # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + + # XOR problem inputs + data_inputs = numpy.array([[0, 0], + [0, 1], + [1, 0], + [1, 1]]) + + # XOR problem outputs + data_outputs = numpy.array([[1, 0], + [0, 1], + [0, 1], + [1, 0]]) + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 250 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = keras_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make predictions based on the best solution. + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + print("Predictions : \n", predictions) + + # Calculate the binary crossentropy for the trained model. + bce = tensorflow.keras.losses.BinaryCrossentropy() + print("Binary Crossentropy : ", bce(data_outputs, predictions).numpy()) + + # Calculate the classification accuracy for the trained model. + ba = tensorflow.keras.metrics.BinaryAccuracy() + ba.update_state(data_outputs, predictions) + accuracy = ba.result().numpy() + print("Accuracy : ", accuracy) + +Compared to the previous regression example, here are the changes: + +- The Keras model is changed according to the nature of the problem. + Now, it has 2 inputs and 2 outputs with an in-between hidden layer of + 4 neurons. + +.. code:: python + + # Build the keras model using the functional API. + input_layer = tensorflow.keras.layers.Input(2) + dense_layer = tensorflow.keras.layers.Dense(4, activation="relu")(input_layer) + output_layer = tensorflow.keras.layers.Dense(2, activation="softmax")(dense_layer) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +- The train data is changed. Note that the output of each sample is a + 1D vector of 2 values, 1 for each class. + +.. code:: python + + # XOR problem inputs + data_inputs = numpy.array([[0, 0], + [0, 1], + [1, 0], + [1, 1]]) + + # XOR problem outputs + data_outputs = numpy.array([[1, 0], + [0, 1], + [0, 1], + [1, 0]]) + +- The fitness value is calculated based on the binary cross entropy. + +.. code:: python + + bce = tensorflow.keras.losses.BinaryCrossentropy() + solution_fitness = 1.0 / (bce(data_outputs, predictions).numpy() + 0.00000001) + +After the previous code completes, the next figure shows how the fitness +value change by generation. + +.. figure:: https://user-images.githubusercontent.com/16560492/93722639-b811da80-fb98-11ea-8951-f13a7a266c04.png + :alt: + +Here is some information about the trained model. Its fitness value is +``739.24``, loss is ``0.0013527311`` and accuracy is 100%. + +.. code:: python + + Fitness value of the best solution = 739.2397344644013 + Index of the best solution : 7 + + Predictions : + [[9.9694413e-01 3.0558957e-03] + [5.0176249e-04 9.9949825e-01] + [1.8470541e-03 9.9815291e-01] + [9.9999976e-01 2.0538971e-07]] + + Binary Crossentropy : 0.0013527311 + + Accuracy : 1.0 + +Example 3: Image Multi-Class Classification (Dense Layers) +---------------------------------------------------------- + +Here is the code. + +.. code:: python + + import tensorflow.keras + import pygad.kerasga + import numpy + import pygad + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Build the keras model using the functional API. + input_layer = tensorflow.keras.layers.Input(360) + dense_layer = tensorflow.keras.layers.Dense(50, activation="relu")(input_layer) + output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + + # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + + # Data inputs + data_inputs = numpy.load("dataset_features.npy") + + # Data outputs + data_outputs = numpy.load("outputs.npy") + data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 100 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = keras_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make predictions based on the best solution. + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + # print("Predictions : \n", predictions) + + # Calculate the categorical crossentropy for the trained model. + cce = tensorflow.keras.losses.CategoricalCrossentropy() + print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + + # Calculate the classification accuracy for the trained model. + ca = tensorflow.keras.metrics.CategoricalAccuracy() + ca.update_state(data_outputs, predictions) + accuracy = ca.result().numpy() + print("Accuracy : ", accuracy) + +Compared to the previous binary classification example, this example has +multiple classes (4) and thus the loss is measured using categorical +cross entropy. + +.. code:: python + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + +.. _prepare-the-training-data-2: + +Prepare the Training Data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before building and training neural networks, the training data (input +and output) needs to be prepared. The inputs and the outputs of the +training data are NumPy arrays. + +The data used in this example is available as 2 files: + +1. `dataset_features.npy `__: + Data inputs. + https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + +2. `outputs.npy `__: + Class labels. + https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + +The data consists of 4 classes of images. The image shape is +``(100, 100, 3)``. The number of training samples is 1962. The feature +vector extracted from each image has a length 360. + +Simply download these 2 files and read them according to the next code. +Note that the class labels are one-hot encoded using the +``tensorflow.keras.utils.to_categorical()`` function. + +.. code:: python + + import numpy + + data_inputs = numpy.load("dataset_features.npy") + + data_outputs = numpy.load("outputs.npy") + data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) + +The next figure shows how the fitness value changes. + +.. figure:: https://user-images.githubusercontent.com/16560492/93722649-c2cc6f80-fb98-11ea-96e7-3f6ce3cfe1cf.png + :alt: + +Here are some statistics about the trained model. + +.. code:: + + Fitness value of the best solution = 4.197464252185969 + Index of the best solution : 0 + Categorical Crossentropy : 0.23823906 + Accuracy : 0.9852192 + +Example 4: Image Multi-Class Classification (Conv Layers) +--------------------------------------------------------- + +Compared to the previous example that uses only dense layers, this +example uses convolutional layers to classify the same dataset. + +Here is the complete code. + +.. code:: python + + import tensorflow.keras + import pygad.kerasga + import numpy + import pygad + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Build the keras model using the functional API. + input_layer = tensorflow.keras.layers.Input(shape=(100, 100, 3)) + conv_layer1 = tensorflow.keras.layers.Conv2D(filters=5, + kernel_size=7, + activation="relu")(input_layer) + max_pool1 = tensorflow.keras.layers.MaxPooling2D(pool_size=(5,5), + strides=5)(conv_layer1) + conv_layer2 = tensorflow.keras.layers.Conv2D(filters=3, + kernel_size=3, + activation="relu")(max_pool1) + flatten_layer = tensorflow.keras.layers.Flatten()(conv_layer2) + dense_layer = tensorflow.keras.layers.Dense(15, activation="relu")(flatten_layer) + output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + + # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + + # Data inputs + data_inputs = numpy.load("dataset_inputs.npy") + + # Data outputs + data_outputs = numpy.load("dataset_outputs.npy") + data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 200 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = keras_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make predictions based on the best solution. + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=data_inputs) + # print("Predictions : \n", predictions) + + # Calculate the categorical crossentropy for the trained model. + cce = tensorflow.keras.losses.CategoricalCrossentropy() + print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + + # Calculate the classification accuracy for the trained model. + ca = tensorflow.keras.metrics.CategoricalAccuracy() + ca.update_state(data_outputs, predictions) + accuracy = ca.result().numpy() + print("Accuracy : ", accuracy) + +Compared to the previous example, the only change is that the +architecture uses convolutional and max-pooling layers. The shape of +each input sample is 100x100x3. + +.. code:: python + + # Build the keras model using the functional API. + input_layer = tensorflow.keras.layers.Input(shape=(100, 100, 3)) + conv_layer1 = tensorflow.keras.layers.Conv2D(filters=5, + kernel_size=7, + activation="relu")(input_layer) + max_pool1 = tensorflow.keras.layers.MaxPooling2D(pool_size=(5,5), + strides=5)(conv_layer1) + conv_layer2 = tensorflow.keras.layers.Conv2D(filters=3, + kernel_size=3, + activation="relu")(max_pool1) + flatten_layer = tensorflow.keras.layers.Flatten()(conv_layer2) + dense_layer = tensorflow.keras.layers.Dense(15, activation="relu")(flatten_layer) + output_layer = tensorflow.keras.layers.Dense(4, activation="softmax")(dense_layer) + + model = tensorflow.keras.Model(inputs=input_layer, outputs=output_layer) + +.. _prepare-the-training-data-3: + +Prepare the Training Data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The data used in this example is available as 2 files: + +1. `dataset_inputs.npy `__: + Data inputs. + https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy + +2. `dataset_outputs.npy `__: + Class labels. + https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy + +The data consists of 4 classes of images. The image shape is +``(100, 100, 3)`` and there are 20 images per class for a total of 80 +training samples. For more information about the dataset, check the +`Reading the +Data `__ +section of the ``pygad.cnn`` module. + +Simply download these 2 files and read them according to the next code. +Note that the class labels are one-hot encoded using the +``tensorflow.keras.utils.to_categorical()`` function. + +.. code:: python + + import numpy + + data_inputs = numpy.load("dataset_inputs.npy") + + data_outputs = numpy.load("dataset_outputs.npy") + data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) + +The next figure shows how the fitness value changes. + +.. figure:: https://user-images.githubusercontent.com/16560492/93722654-cc55d780-fb98-11ea-8f95-7b65dc67f5c8.png + :alt: + +Here are some statistics about the trained model. The model accuracy is +75% after the 200 generations. Note that just running the code again may +give different results. + +.. code:: + + Fitness value of the best solution = 2.7462310258668805 + Index of the best solution : 0 + Categorical Crossentropy : 0.3641354 + Accuracy : 0.75 + +To improve the model performance, you can do the following: + +- Add more layers + +- Modify the existing layers. + +- Use different parameters for the layers. + +- Use different parameters for the genetic algorithm (e.g. number of + solution, number of generations, etc) diff --git a/docs/source/README_pygad_nn_ReadTheDocs.rst b/docs/source/nn.rst similarity index 97% rename from docs/source/README_pygad_nn_ReadTheDocs.rst rename to docs/source/nn.rst index 5999754..c7902ec 100644 --- a/docs/source/README_pygad_nn_ReadTheDocs.rst +++ b/docs/source/nn.rst @@ -1,976 +1,976 @@ -.. _pygadnn-module: - -``pygad.nn`` Module -=================== - -This section of the PyGAD's library documentation discusses the -**pygad.nn** module. - -Using the **pygad.nn** module, artificial neural networks are created. -The purpose of this module is to only implement the **forward pass** of -a neural network without using a training algorithm. The **pygad.nn** -module builds the network layers, implements the activations functions, -trains the network, makes predictions, and more. - -Later, the **pygad.gann** module is used to train the **pygad.nn** -network using the genetic algorithm built in the **pygad** module. - -Starting from `PyGAD -2.7.1 `__, -the **pygad.nn** module supports both classification and regression -problems. For more information, check the ``problem_type`` parameter in -the ``pygad.nn.train()`` and ``pygad.nn.predict()`` functions. - -Supported Layers -================ - -Each layer supported by the **pygad.nn** module has a corresponding -class. The layers and their classes are: - -1. **Input**: Implemented using the ``pygad.nn.InputLayer`` class. - -2. **Dense** (Fully Connected): Implemented using the - ``pygad.nn.DenseLayer`` class. - -In the future, more layers will be added. The next subsections discuss -such layers. - -.. _pygadnninputlayer-class: - -``pygad.nn.InputLayer`` Class ------------------------------ - -The ``pygad.nn.InputLayer`` class creates the input layer for the neural -network. For each network, there is only a single input layer. The -network architecture must start with an input layer. - -This class has no methods or class attributes. All it has is a -constructor that accepts a parameter named ``num_neurons`` representing -the number of neurons in the input layer. - -An instance attribute named ``num_neurons`` is created within the -constructor to keep such a number. Here is an example of building an -input layer with 20 neurons. - -.. code:: python - - input_layer = pygad.nn.InputLayer(num_neurons=20) - -Here is how the single attribute ``num_neurons`` within the instance of -the ``pygad.nn.InputLayer`` class can be accessed. - -.. code:: python - - num_input_neurons = input_layer.num_neurons - - print("Number of input neurons =", num_input_neurons) - -This is everything about the input layer. - -.. _pygadnndenselayer-class: - -``pygad.nn.DenseLayer`` Class ------------------------------ - -Using the ``pygad.nn.DenseLayer`` class, dense (fully-connected) layers -can be created. To create a dense layer, just create a new instance of -the class. The constructor accepts the following parameters: - -- ``num_neurons``: Number of neurons in the dense layer. - -- ``previous_layer``: A reference to the previous layer. Using the - ``previous_layer`` attribute, a linked list is created that connects - all network layers. - -- ``activation_function``: A string representing the activation - function to be used in this layer. Defaults to ``"sigmoid"``. - Currently, the supported values for the activation functions are - ``"sigmoid"``, ``"relu"``, ``"softmax"`` (supported in PyGAD 2.3.0 - and higher), and ``"None"`` (supported in PyGAD 2.7.0 and higher). - When a layer has its activation function set to ``"None"``, then it - means no activation function is applied. For a **regression - problem**, set the activation function of the output (last) layer to - ``"None"``. If all outputs in the regression problem are nonnegative, - then it is possible to use the ReLU function in the output layer. - -Within the constructor, the accepted parameters are used as instance -attributes. Besides the parameters, some new instance attributes are -created which are: - -- ``initial_weights``: The initial weights for the dense layer. - -- ``trained_weights``: The trained weights of the dense layer. This - attribute is initialized by the value in the ``initial_weights`` - attribute. - -Here is an example for creating a dense layer with 12 neurons. Note that -the ``previous_layer`` parameter is assigned to the input layer -``input_layer``. - -.. code:: python - - dense_layer = pygad.nn.DenseLayer(num_neurons=12, - previous_layer=input_layer, - activation_function="relu") - -Here is how to access some attributes in the dense layer: - -.. code:: python - - num_dense_neurons = dense_layer.num_neurons - dense_initail_weights = dense_layer.initial_weights - - print("Number of dense layer attributes =", num_dense_neurons) - print("Initial weights of the dense layer :", dense_initail_weights) - -Because ``dense_layer`` holds a reference to the input layer, then the -number of input neurons can be accessed. - -.. code:: python - - input_layer = dense_layer.previous_layer - num_input_neurons = input_layer.num_neurons - - print("Number of input neurons =", num_input_neurons) - -Here is another dense layer. This dense layer's ``previous_layer`` -attribute points to the previously created dense layer. - -.. code:: python - - dense_layer2 = pygad.nn.DenseLayer(num_neurons=5, - previous_layer=dense_layer, - activation_function="relu") - -Because ``dense_layer2`` holds a reference to ``dense_layer`` in its -``previous_layer`` attribute, then the number of neurons in -``dense_layer`` can be accessed. - -.. code:: python - - dense_layer = dense_layer2.previous_layer - dense_layer_neurons = dense_layer.num_neurons - - print("Number of dense neurons =", num_input_neurons) - -After getting the reference to ``dense_layer``, we can use it to access -the number of input neurons. - -.. code:: python - - dense_layer = dense_layer2.previous_layer - input_layer = dense_layer.previous_layer - num_input_neurons = input_layer.num_neurons - - print("Number of input neurons =", num_input_neurons) - -Assuming that ``dense_layer2`` is the last dense layer, then it is -regarded as the output layer. - -.. _previouslayer-attribute: - -``previous_layer`` Attribute -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``previous_layer`` attribute in the ``pygad.nn.DenseLayer`` class -creates a one way linked list between all the layers in the network -architecture as described by the next figure. - -The last (output) layer indexed N points to layer **N-1**, layer **N-1** -points to the layer **N-2**, the layer **N-2** points to the layer -**N-3**, and so on until reaching the end of the linked list which is -layer 1 (input layer). - -.. figure:: https://user-images.githubusercontent.com/16560492/81918975-816af880-95d7-11ea-83e3-34d14c3316db.jpg - :alt: - -The one way linked list allows returning all properties of all layers in -the network architecture by just passing the last layer in the network. -The linked list moves from the output layer towards the input layer. - -Using the ``previous_layer`` attribute of layer **N**, the layer **N-1** -can be accessed. Using the ``previous_layer`` attribute of layer -**N-1**, layer **N-2** can be accessed. The process continues until -reaching a layer that does not have a ``previous_layer`` attribute -(which is the input layer). - -The properties of the layers include the weights (initial or trained), -activation functions, and more. Here is how a ``while`` loop is used to -iterate through all the layers. The ``while`` loop stops only when the -current layer does not have a ``previous_layer`` attribute. This layer -is the input layer. - -.. code:: python - - layer = dense_layer2 - - while "previous_layer" in layer.__init__.__code__.co_varnames: - print("Number of neurons =", layer.num_neurons) - - # Go to the previous layer. - layer = layer.previous_layer - -Functions to Manipulate Neural Networks -======================================= - -There are a number of functions existing in the ``pygad.nn`` module that -helps to manipulate the neural network. - -.. _pygadnnlayersweights: - -``pygad.nn.layers_weights()`` ------------------------------ - -Creates and returns a list holding the weights matrices of all layers in -the neural network. - -Accepts the following parameters: - -- ``last_layer``: A reference to the last (output) layer in the network - architecture. - -- ``initial``: When ``True`` (default), the function returns the - **initial** weights of the layers using the layers' - ``initial_weights`` attribute. When ``False``, it returns the - **trained** weights of the layers using the layers' - ``trained_weights`` attribute. The initial weights are only needed - before network training starts. The trained weights are needed to - predict the network outputs. - -The function uses a ``while`` loop to iterate through the layers using -their ``previous_layer`` attribute. For each layer, either the initial -weights or the trained weights are returned based on where the -``initial`` parameter is ``True`` or ``False``. - -.. _pygadnnlayersweightsasvector: - -``pygad.nn.layers_weights_as_vector()`` ---------------------------------------- - -Creates and returns a list holding the weights **vectors** of all layers -in the neural network. The weights array of each layer is reshaped to -get a vector. - -This function is similar to the ``layers_weights()`` function except -that it returns the weights of each layer as a vector, not as an array. - -Accepts the following parameters: - -- ``last_layer``: A reference to the last (output) layer in the network - architecture. - -- ``initial``: When ``True`` (default), the function returns the - **initial** weights of the layers using the layers' - ``initial_weights`` attribute. When ``False``, it returns the - **trained** weights of the layers using the layers' - ``trained_weights`` attribute. The initial weights are only needed - before network training starts. The trained weights are needed to - predict the network outputs. - -The function uses a ``while`` loop to iterate through the layers using -their ``previous_layer`` attribute. For each layer, either the initial -weights or the trained weights are returned based on where the -``initial`` parameter is ``True`` or ``False``. - -.. _pygadnnlayersweightsasmatrix: - -``pygad.nn.layers_weights_as_matrix()`` ---------------------------------------- - -Converts the network weights from vectors to matrices. - -Compared to the ``layers_weights_as_vectors()`` function that only -accepts a reference to the last layer and returns the network weights as -vectors, this function accepts a reference to the last layer in addition -to a list holding the weights as vectors. Such vectors are converted -into matrices. - -Accepts the following parameters: - -- ``last_layer``: A reference to the last (output) layer in the network - architecture. - -- ``vector_weights``: The network weights as vectors where the weights - of each layer form a single vector. - -The function uses a ``while`` loop to iterate through the layers using -their ``previous_layer`` attribute. For each layer, the shape of its -weights array is returned. This shape is used to reshape the weights -vector of the layer into a matrix. - -.. _pygadnnlayersactivations: - -``pygad.nn.layers_activations()`` ---------------------------------- - -Creates and returns a list holding the names of the activation functions -of all layers in the neural network. - -Accepts the following parameter: - -- ``last_layer``: A reference to the last (output) layer in the network - architecture. - -The function uses a ``while`` loop to iterate through the layers using -their ``previous_layer`` attribute. For each layer, the name of the -activation function used is returned using the layer's -``activation_function`` attribute. - -.. _pygadnnsigmoid: - -``pygad.nn.sigmoid()`` ----------------------- - -Applies the sigmoid function and returns its result. - -Accepts the following parameters: - -- ``sop``: The input to which the sigmoid function is applied. - -.. _pygadnnrelu: - -``pygad.nn.relu()`` -------------------- - -Applies the rectified linear unit (ReLU) function and returns its -result. - -Accepts the following parameters: - -- ``sop``: The input to which the relu function is applied. - -.. _pygadnnsoftmax: - -``pygad.nn.softmax()`` ----------------------- - -Applies the softmax function and returns its result. - -Accepts the following parameters: - -- ``sop``: The input to which the softmax function is applied. - -.. _pygadnntrain: - -``pygad.nn.train()`` --------------------- - -Trains the neural network. - -Accepts the following parameters: - -- ``num_epochs``: Number of epochs. - -- ``last_layer``: Reference to the last (output) layer in the network - architecture. - -- ``data_inputs``: Data features. - -- ``data_outputs``: Data outputs. - -- ``problem_type``: The type of the problem which can be either - ``"classification"`` or ``"regression"``. Added in PyGAD 2.7.0 and - higher. - -- ``learning_rate``: Learning rate. - -For each epoch, all the data samples are fed to the network to return -their predictions. After each epoch, the weights are updated using only -the learning rate. No learning algorithm is used because the purpose of -this project is to only build the forward pass of training a neural -network. - -.. _pygadnnupdateweights: - -``pygad.nn.update_weights()`` ------------------------------ - -Calculates and returns the updated weights. Even no training algorithm -is used in this project, the weights are updated using the learning -rate. It is not the best way to update the weights but it is better than -keeping it as it is by making some small changes to the weights. - -Accepts the following parameters: - -- ``weights``: The current weights of the network. - -- ``network_error``: The network error. - -- ``learning_rate``: The learning rate. - -.. _pygadnnupdatelayerstrainedweights: - -``pygad.nn.update_layers_trained_weights()`` --------------------------------------------- - -After the network weights are trained, this function updates the -``trained_weights`` attribute of each layer by the weights calculated -after passing all the epochs (such weights are passed in the -``final_weights`` parameter) - -By just passing a reference to the last layer in the network (i.e. -output layer) in addition to the final weights, this function updates -the ``trained_weights`` attribute of all layers. - -Accepts the following parameters: - -- ``last_layer``: A reference to the last (output) layer in the network - architecture. - -- ``final_weights``: An array of weights of all layers in the network - after passing through all the epochs. - -The function uses a ``while`` loop to iterate through the layers using -their ``previous_layer`` attribute. For each layer, its -``trained_weights`` attribute is assigned the weights of the layer from -the ``final_weights`` parameter. - -.. _pygadnnpredict: - -``pygad.nn.predict()`` ----------------------- - -Uses the trained weights for predicting the samples' outputs. It returns -a list of the predicted outputs for all samples. - -Accepts the following parameters: - -- ``last_layer``: A reference to the last (output) layer in the network - architecture. - -- ``data_inputs``: Data features. - -- ``problem_type``: The type of the problem which can be either - ``"classification"`` or ``"regression"``. Added in PyGAD 2.7.0 and - higher. - -All the data samples are fed to the network to return their predictions. - -Helper Functions -================ - -There are functions in the ``pygad.nn`` module that does not directly -manipulate the neural networks. - -.. _pygadnntovector: - -``pygad.nn.to_vector()`` ------------------------- - -Converts a passed NumPy array (of any dimensionality) to its ``array`` -parameter into a 1D vector and returns the vector. - -Accepts the following parameters: - -- ``array``: The NumPy array to be converted into a 1D vector. - -.. _pygadnntoarray: - -``pygad.nn.to_array()`` ------------------------ - -Converts a passed vector to its ``vector`` parameter into a NumPy array -and returns the array. - -Accepts the following parameters: - -- ``vector``: The 1D vector to be converted into an array. - -- ``shape``: The target shape of the array. - -Supported Activation Functions -============================== - -The supported activation functions are: - -1. Sigmoid: Implemented using the ``pygad.nn.sigmoid()`` function. - -2. Rectified Linear Unit (ReLU): Implemented using the - ``pygad.nn.relu()`` function. - -3. Softmax: Implemented using the ``pygad.nn.softmax()`` function. - -Steps to Build a Neural Network -=============================== - -This section discusses how to use the ``pygad.nn`` module for building a -neural network. The summary of the steps are as follows: - -- Reading the Data - -- Building the Network Architecture - -- Training the Network - -- Making Predictions - -- Calculating Some Statistics - -Reading the Data ----------------- - -Before building the network architecture, the first thing to do is to -prepare the data that will be used for training the network. - -In this example, 4 classes of the **Fruits360** dataset are used for -preparing the training data. The 4 classes are: - -1. `Apple - Braeburn `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/apple - -2. `Lemon - Meyer `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/lemon - -3. `Mango `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/mango - -4. `Raspberry `__: - This class's data is available at - https://github.com/ahmedfgad/NumPyANN/tree/master/raspberry - -The features from such 4 classes are extracted according to the next -code. This code reads the raw images of the 4 classes of the dataset, -prepares the features and the outputs as NumPy arrays, and saves the -arrays in 2 files. - -This code extracts a feature vector from each image representing the -color histogram of the HSV space's hue channel. - -.. code:: python - - import numpy - import skimage.io, skimage.color, skimage.feature - import os - - fruits = ["apple", "raspberry", "mango", "lemon"] - # Number of samples in the datset used = 492+490+490+490=1,962 - # 360 is the length of the feature vector. - dataset_features = numpy.zeros(shape=(1962, 360)) - outputs = numpy.zeros(shape=(1962)) - - idx = 0 - class_label = 0 - for fruit_dir in fruits: - curr_dir = os.path.join(os.path.sep, fruit_dir) - all_imgs = os.listdir(os.getcwd()+curr_dir) - for img_file in all_imgs: - if img_file.endswith(".jpg"): # Ensures reading only JPG files. - fruit_data = skimage.io.imread(fname=os.path.sep.join([os.getcwd(), curr_dir, img_file]), as_gray=False) - fruit_data_hsv = skimage.color.rgb2hsv(rgb=fruit_data) - hist = numpy.histogram(a=fruit_data_hsv[:, :, 0], bins=360) - dataset_features[idx, :] = hist[0] - outputs[idx] = class_label - idx = idx + 1 - class_label = class_label + 1 - - # Saving the extracted features and the outputs as NumPy files. - numpy.save("dataset_features.npy", dataset_features) - numpy.save("outputs.npy", outputs) - -To save your time, the training data is already prepared and 2 files -created by the next code are available for download at these links: - -1. `dataset_features.npy `__: - The features - https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy - -2. `outputs.npy `__: - The class labels - https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy - -The -`outputs.npy `__ -file gives the following labels for the 4 classes: - -1. `Apple - Braeburn `__: - Class label is **0** - -2. `Lemon - Meyer `__: - Class label is **1** - -3. `Mango `__: - Class label is **2** - -4. `Raspberry `__: - Class label is **3** - -The project has 4 folders holding the images for the 4 classes. - -After the 2 files are created, then just read them to return the NumPy -arrays according to the next 2 lines: - -.. code:: python - - data_inputs = numpy.load("dataset_features.npy") - data_outputs = numpy.load("outputs.npy") - -After the data is prepared, next is to create the network architecture. - -Building the Network Architecture ---------------------------------- - -The input layer is created by instantiating the ``pygad.nn.InputLayer`` -class according to the next code. A network can only have a single input -layer. - -.. code:: python - - import pygad.nn - num_inputs = data_inputs.shape[1] - - input_layer = pygad.nn.InputLayer(num_inputs) - -After the input layer is created, next is to create a number of dense -layers according to the next code. Normally, the last dense layer is -regarded as the output layer. Note that the output layer has a number of -neurons equal to the number of classes in the dataset which is 4. - -.. code:: python - - hidden_layer = pygad.nn.DenseLayer(num_neurons=HL2_neurons, previous_layer=input_layer, activation_function="relu") - output_layer = pygad.nn.DenseLayer(num_neurons=4, previous_layer=hidden_layer2, activation_function="softmax") - -After both the data and the network architecture are prepared, the next -step is to train the network. - -Training the Network --------------------- - -Here is an example of using the ``pygad.nn.train()`` function. - -.. code:: python - - pygad.nn.train(num_epochs=10, - last_layer=output_layer, - data_inputs=data_inputs, - data_outputs=data_outputs, - learning_rate=0.01) - -After training the network, the next step is to make predictions. - -Making Predictions ------------------- - -The ``pygad.nn.predict()`` function uses the trained network for making -predictions. Here is an example. - -.. code:: python - - predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) - -It is not expected to have high accuracy in the predictions because no -training algorithm is used. - -Calculating Some Statistics ---------------------------- - -Based on the predictions the network made, some statistics can be -calculated such as the number of correct and wrong predictions in -addition to the classification accuracy. - -.. code:: python - - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -It is very important to note that it is not expected that the -classification accuracy is high because no training algorithm is used. -Please check the documentation of the ``pygad.gann`` module for training -the network using the genetic algorithm. - -Examples -======== - -This section gives the complete code of some examples that build neural -networks using ``pygad.nn``. Each subsection builds a different network. - -XOR Classification ------------------- - -This is an example of building a network with 1 hidden layer with 2 -neurons for building a network that simulates the XOR logic gate. -Because the XOR problem has 2 classes (0 and 1), then the output layer -has 2 neurons, one for each class. - -.. code:: python - - import numpy - import pygad.nn - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.array([[1, 1], - [1, 0], - [0, 1], - [0, 0]]) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.array([0, - 1, - 1, - 0]) - - # The number of inputs (i.e. feature vector length) per sample - num_inputs = data_inputs.shape[1] - # Number of outputs per sample - num_outputs = 2 - - HL1_neurons = 2 - - # Building the network architecture. - input_layer = pygad.nn.InputLayer(num_inputs) - hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") - output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="softmax") - - # Training the network. - pygad.nn.train(num_epochs=10, - last_layer=output_layer, - data_inputs=data_inputs, - data_outputs=data_outputs, - learning_rate=0.01) - - # Using the trained network for predictions. - predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) - - # Calculating some statistics - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -Image Classification --------------------- - -This example is discussed in the **Steps to Build a Neural Network** -section and its complete code is listed below. - -Remember to either download or create the -`dataset_features.npy `__ -and -`outputs.npy `__ -files before running this code. - -.. code:: python - - import numpy - import pygad.nn - - # Reading the data features. Check the 'extract_features.py' script for extracting the features & preparing the outputs of the dataset. - data_inputs = numpy.load("dataset_features.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy - - # Optional step for filtering the features using the standard deviation. - features_STDs = numpy.std(a=data_inputs, axis=0) - data_inputs = data_inputs[:, features_STDs > 50] - - # Reading the data outputs. Check the 'extract_features.py' script for extracting the features & preparing the outputs of the dataset. - data_outputs = numpy.load("outputs.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy - - # The number of inputs (i.e. feature vector length) per sample - num_inputs = data_inputs.shape[1] - # Number of outputs per sample - num_outputs = 4 - - HL1_neurons = 150 - HL2_neurons = 60 - - # Building the network architecture. - input_layer = pygad.nn.InputLayer(num_inputs) - hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") - hidden_layer2 = pygad.nn.DenseLayer(num_neurons=HL2_neurons, previous_layer=hidden_layer1, activation_function="relu") - output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer2, activation_function="softmax") - - # Training the network. - pygad.nn.train(num_epochs=10, - last_layer=output_layer, - data_inputs=data_inputs, - data_outputs=data_outputs, - learning_rate=0.01) - - # Using the trained network for predictions. - predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) - - # Calculating some statistics - num_wrong = numpy.where(predictions != data_outputs)[0] - num_correct = data_outputs.size - num_wrong.size - accuracy = 100 * (num_correct/data_outputs.size) - print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) - print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) - print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) - -Regression Example 1 --------------------- - -The next code listing builds a neural network for regression. Here is -what to do to make the code works for regression: - -1. Set the ``problem_type`` parameter in the ``pygad.nn.train()`` and - ``pygad.nn.predict()`` functions to the string ``"regression"``. - -.. code:: python - - pygad.nn.train(..., - problem_type="regression") - - predictions = pygad.nn.predict(..., - problem_type="regression") - -1. Set the activation function for the output layer to the string - ``"None"``. - -.. code:: python - - output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") - -1. Calculate the prediction error according to your preferred error - function. Here is how the mean absolute error is calculated. - -.. code:: python - - abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) - print("Absolute error : {abs_error}.".format(abs_error=abs_error)) - -Here is the complete code. Yet, there is no algorithm used to train the -network and thus the network is expected to give bad results. Later, the -``pygad.gann`` module is used to train either a regression or -classification networks. - -.. code:: python - - import numpy - import pygad.nn - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.array([[2, 5, -3, 0.1], - [8, 15, 20, 13]]) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.array([0.1, - 1.5]) - - # The number of inputs (i.e. feature vector length) per sample - num_inputs = data_inputs.shape[1] - # Number of outputs per sample - num_outputs = 1 - - HL1_neurons = 2 - - # Building the network architecture. - input_layer = pygad.nn.InputLayer(num_inputs) - hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") - output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") - - # Training the network. - pygad.nn.train(num_epochs=100, - last_layer=output_layer, - data_inputs=data_inputs, - data_outputs=data_outputs, - learning_rate=0.01, - problem_type="regression") - - # Using the trained network for predictions. - predictions = pygad.nn.predict(last_layer=output_layer, - data_inputs=data_inputs, - problem_type="regression") - - # Calculating some statistics - abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) - print("Absolute error : {abs_error}.".format(abs_error=abs_error)) - -Regression Example 2 - Fish Weight Prediction ---------------------------------------------- - -This example uses the Fish Market Dataset available at Kaggle -(https://www.kaggle.com/aungpyaeap/fish-market). Simply download the CSV -dataset from `this -link `__ -(https://www.kaggle.com/aungpyaeap/fish-market/download). The dataset is -also available at the `GitHub project of the pygad.nn -module `__: -https://github.com/ahmedfgad/NumPyANN - -Using the Pandas library, the dataset is read using the ``read_csv()`` -function. - -.. code:: python - - data = numpy.array(pandas.read_csv("Fish.csv")) - -The last 5 columns in the dataset are used as inputs and the **Weight** -column is used as output. - -.. code:: python - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight - -Note how the activation function at the last layer is set to ``"None"``. -Moreover, the ``problem_type`` parameter in the ``pygad.nn.train()`` and -``pygad.nn.predict()`` functions is set to ``"regression"``. - -After the ``pygad.nn.train()`` function completes, the mean absolute -error is calculated. - -.. code:: python - - abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) - print("Absolute error : {abs_error}.".format(abs_error=abs_error)) - -Here is the complete code. - -.. code:: python - - import numpy - import pygad.nn - import pandas - - data = numpy.array(pandas.read_csv("Fish.csv")) - - # Preparing the NumPy array of the inputs. - data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) - - # Preparing the NumPy array of the outputs. - data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight - - # The number of inputs (i.e. feature vector length) per sample - num_inputs = data_inputs.shape[1] - # Number of outputs per sample - num_outputs = 1 - - HL1_neurons = 2 - - # Building the network architecture. - input_layer = pygad.nn.InputLayer(num_inputs) - hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") - output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") - - # Training the network. - pygad.nn.train(num_epochs=100, - last_layer=output_layer, - data_inputs=data_inputs, - data_outputs=data_outputs, - learning_rate=0.01, - problem_type="regression") - - # Using the trained network for predictions. - predictions = pygad.nn.predict(last_layer=output_layer, - data_inputs=data_inputs, - problem_type="regression") - - # Calculating some statistics - abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) - print("Absolute error : {abs_error}.".format(abs_error=abs_error)) +.. _pygadnn-module: + +``pygad.nn`` Module +=================== + +This section of the PyGAD's library documentation discusses the +**pygad.nn** module. + +Using the **pygad.nn** module, artificial neural networks are created. +The purpose of this module is to only implement the **forward pass** of +a neural network without using a training algorithm. The **pygad.nn** +module builds the network layers, implements the activations functions, +trains the network, makes predictions, and more. + +Later, the **pygad.gann** module is used to train the **pygad.nn** +network using the genetic algorithm built in the **pygad** module. + +Starting from `PyGAD +2.7.1 `__, +the **pygad.nn** module supports both classification and regression +problems. For more information, check the ``problem_type`` parameter in +the ``pygad.nn.train()`` and ``pygad.nn.predict()`` functions. + +Supported Layers +================ + +Each layer supported by the **pygad.nn** module has a corresponding +class. The layers and their classes are: + +1. **Input**: Implemented using the ``pygad.nn.InputLayer`` class. + +2. **Dense** (Fully Connected): Implemented using the + ``pygad.nn.DenseLayer`` class. + +In the future, more layers will be added. The next subsections discuss +such layers. + +.. _pygadnninputlayer-class: + +``pygad.nn.InputLayer`` Class +----------------------------- + +The ``pygad.nn.InputLayer`` class creates the input layer for the neural +network. For each network, there is only a single input layer. The +network architecture must start with an input layer. + +This class has no methods or class attributes. All it has is a +constructor that accepts a parameter named ``num_neurons`` representing +the number of neurons in the input layer. + +An instance attribute named ``num_neurons`` is created within the +constructor to keep such a number. Here is an example of building an +input layer with 20 neurons. + +.. code:: python + + input_layer = pygad.nn.InputLayer(num_neurons=20) + +Here is how the single attribute ``num_neurons`` within the instance of +the ``pygad.nn.InputLayer`` class can be accessed. + +.. code:: python + + num_input_neurons = input_layer.num_neurons + + print("Number of input neurons =", num_input_neurons) + +This is everything about the input layer. + +.. _pygadnndenselayer-class: + +``pygad.nn.DenseLayer`` Class +----------------------------- + +Using the ``pygad.nn.DenseLayer`` class, dense (fully-connected) layers +can be created. To create a dense layer, just create a new instance of +the class. The constructor accepts the following parameters: + +- ``num_neurons``: Number of neurons in the dense layer. + +- ``previous_layer``: A reference to the previous layer. Using the + ``previous_layer`` attribute, a linked list is created that connects + all network layers. + +- ``activation_function``: A string representing the activation + function to be used in this layer. Defaults to ``"sigmoid"``. + Currently, the supported values for the activation functions are + ``"sigmoid"``, ``"relu"``, ``"softmax"`` (supported in PyGAD 2.3.0 + and higher), and ``"None"`` (supported in PyGAD 2.7.0 and higher). + When a layer has its activation function set to ``"None"``, then it + means no activation function is applied. For a **regression + problem**, set the activation function of the output (last) layer to + ``"None"``. If all outputs in the regression problem are nonnegative, + then it is possible to use the ReLU function in the output layer. + +Within the constructor, the accepted parameters are used as instance +attributes. Besides the parameters, some new instance attributes are +created which are: + +- ``initial_weights``: The initial weights for the dense layer. + +- ``trained_weights``: The trained weights of the dense layer. This + attribute is initialized by the value in the ``initial_weights`` + attribute. + +Here is an example for creating a dense layer with 12 neurons. Note that +the ``previous_layer`` parameter is assigned to the input layer +``input_layer``. + +.. code:: python + + dense_layer = pygad.nn.DenseLayer(num_neurons=12, + previous_layer=input_layer, + activation_function="relu") + +Here is how to access some attributes in the dense layer: + +.. code:: python + + num_dense_neurons = dense_layer.num_neurons + dense_initail_weights = dense_layer.initial_weights + + print("Number of dense layer attributes =", num_dense_neurons) + print("Initial weights of the dense layer :", dense_initail_weights) + +Because ``dense_layer`` holds a reference to the input layer, then the +number of input neurons can be accessed. + +.. code:: python + + input_layer = dense_layer.previous_layer + num_input_neurons = input_layer.num_neurons + + print("Number of input neurons =", num_input_neurons) + +Here is another dense layer. This dense layer's ``previous_layer`` +attribute points to the previously created dense layer. + +.. code:: python + + dense_layer2 = pygad.nn.DenseLayer(num_neurons=5, + previous_layer=dense_layer, + activation_function="relu") + +Because ``dense_layer2`` holds a reference to ``dense_layer`` in its +``previous_layer`` attribute, then the number of neurons in +``dense_layer`` can be accessed. + +.. code:: python + + dense_layer = dense_layer2.previous_layer + dense_layer_neurons = dense_layer.num_neurons + + print("Number of dense neurons =", num_input_neurons) + +After getting the reference to ``dense_layer``, we can use it to access +the number of input neurons. + +.. code:: python + + dense_layer = dense_layer2.previous_layer + input_layer = dense_layer.previous_layer + num_input_neurons = input_layer.num_neurons + + print("Number of input neurons =", num_input_neurons) + +Assuming that ``dense_layer2`` is the last dense layer, then it is +regarded as the output layer. + +.. _previouslayer-attribute: + +``previous_layer`` Attribute +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``previous_layer`` attribute in the ``pygad.nn.DenseLayer`` class +creates a one way linked list between all the layers in the network +architecture as described by the next figure. + +The last (output) layer indexed N points to layer **N-1**, layer **N-1** +points to the layer **N-2**, the layer **N-2** points to the layer +**N-3**, and so on until reaching the end of the linked list which is +layer 1 (input layer). + +.. figure:: https://user-images.githubusercontent.com/16560492/81918975-816af880-95d7-11ea-83e3-34d14c3316db.jpg + :alt: + +The one way linked list allows returning all properties of all layers in +the network architecture by just passing the last layer in the network. +The linked list moves from the output layer towards the input layer. + +Using the ``previous_layer`` attribute of layer **N**, the layer **N-1** +can be accessed. Using the ``previous_layer`` attribute of layer +**N-1**, layer **N-2** can be accessed. The process continues until +reaching a layer that does not have a ``previous_layer`` attribute +(which is the input layer). + +The properties of the layers include the weights (initial or trained), +activation functions, and more. Here is how a ``while`` loop is used to +iterate through all the layers. The ``while`` loop stops only when the +current layer does not have a ``previous_layer`` attribute. This layer +is the input layer. + +.. code:: python + + layer = dense_layer2 + + while "previous_layer" in layer.__init__.__code__.co_varnames: + print("Number of neurons =", layer.num_neurons) + + # Go to the previous layer. + layer = layer.previous_layer + +Functions to Manipulate Neural Networks +======================================= + +There are a number of functions existing in the ``pygad.nn`` module that +helps to manipulate the neural network. + +.. _pygadnnlayersweights: + +``pygad.nn.layers_weights()`` +----------------------------- + +Creates and returns a list holding the weights matrices of all layers in +the neural network. + +Accepts the following parameters: + +- ``last_layer``: A reference to the last (output) layer in the network + architecture. + +- ``initial``: When ``True`` (default), the function returns the + **initial** weights of the layers using the layers' + ``initial_weights`` attribute. When ``False``, it returns the + **trained** weights of the layers using the layers' + ``trained_weights`` attribute. The initial weights are only needed + before network training starts. The trained weights are needed to + predict the network outputs. + +The function uses a ``while`` loop to iterate through the layers using +their ``previous_layer`` attribute. For each layer, either the initial +weights or the trained weights are returned based on where the +``initial`` parameter is ``True`` or ``False``. + +.. _pygadnnlayersweightsasvector: + +``pygad.nn.layers_weights_as_vector()`` +--------------------------------------- + +Creates and returns a list holding the weights **vectors** of all layers +in the neural network. The weights array of each layer is reshaped to +get a vector. + +This function is similar to the ``layers_weights()`` function except +that it returns the weights of each layer as a vector, not as an array. + +Accepts the following parameters: + +- ``last_layer``: A reference to the last (output) layer in the network + architecture. + +- ``initial``: When ``True`` (default), the function returns the + **initial** weights of the layers using the layers' + ``initial_weights`` attribute. When ``False``, it returns the + **trained** weights of the layers using the layers' + ``trained_weights`` attribute. The initial weights are only needed + before network training starts. The trained weights are needed to + predict the network outputs. + +The function uses a ``while`` loop to iterate through the layers using +their ``previous_layer`` attribute. For each layer, either the initial +weights or the trained weights are returned based on where the +``initial`` parameter is ``True`` or ``False``. + +.. _pygadnnlayersweightsasmatrix: + +``pygad.nn.layers_weights_as_matrix()`` +--------------------------------------- + +Converts the network weights from vectors to matrices. + +Compared to the ``layers_weights_as_vectors()`` function that only +accepts a reference to the last layer and returns the network weights as +vectors, this function accepts a reference to the last layer in addition +to a list holding the weights as vectors. Such vectors are converted +into matrices. + +Accepts the following parameters: + +- ``last_layer``: A reference to the last (output) layer in the network + architecture. + +- ``vector_weights``: The network weights as vectors where the weights + of each layer form a single vector. + +The function uses a ``while`` loop to iterate through the layers using +their ``previous_layer`` attribute. For each layer, the shape of its +weights array is returned. This shape is used to reshape the weights +vector of the layer into a matrix. + +.. _pygadnnlayersactivations: + +``pygad.nn.layers_activations()`` +--------------------------------- + +Creates and returns a list holding the names of the activation functions +of all layers in the neural network. + +Accepts the following parameter: + +- ``last_layer``: A reference to the last (output) layer in the network + architecture. + +The function uses a ``while`` loop to iterate through the layers using +their ``previous_layer`` attribute. For each layer, the name of the +activation function used is returned using the layer's +``activation_function`` attribute. + +.. _pygadnnsigmoid: + +``pygad.nn.sigmoid()`` +---------------------- + +Applies the sigmoid function and returns its result. + +Accepts the following parameters: + +- ``sop``: The input to which the sigmoid function is applied. + +.. _pygadnnrelu: + +``pygad.nn.relu()`` +------------------- + +Applies the rectified linear unit (ReLU) function and returns its +result. + +Accepts the following parameters: + +- ``sop``: The input to which the relu function is applied. + +.. _pygadnnsoftmax: + +``pygad.nn.softmax()`` +---------------------- + +Applies the softmax function and returns its result. + +Accepts the following parameters: + +- ``sop``: The input to which the softmax function is applied. + +.. _pygadnntrain: + +``pygad.nn.train()`` +-------------------- + +Trains the neural network. + +Accepts the following parameters: + +- ``num_epochs``: Number of epochs. + +- ``last_layer``: Reference to the last (output) layer in the network + architecture. + +- ``data_inputs``: Data features. + +- ``data_outputs``: Data outputs. + +- ``problem_type``: The type of the problem which can be either + ``"classification"`` or ``"regression"``. Added in PyGAD 2.7.0 and + higher. + +- ``learning_rate``: Learning rate. + +For each epoch, all the data samples are fed to the network to return +their predictions. After each epoch, the weights are updated using only +the learning rate. No learning algorithm is used because the purpose of +this project is to only build the forward pass of training a neural +network. + +.. _pygadnnupdateweights: + +``pygad.nn.update_weights()`` +----------------------------- + +Calculates and returns the updated weights. Even no training algorithm +is used in this project, the weights are updated using the learning +rate. It is not the best way to update the weights but it is better than +keeping it as it is by making some small changes to the weights. + +Accepts the following parameters: + +- ``weights``: The current weights of the network. + +- ``network_error``: The network error. + +- ``learning_rate``: The learning rate. + +.. _pygadnnupdatelayerstrainedweights: + +``pygad.nn.update_layers_trained_weights()`` +-------------------------------------------- + +After the network weights are trained, this function updates the +``trained_weights`` attribute of each layer by the weights calculated +after passing all the epochs (such weights are passed in the +``final_weights`` parameter) + +By just passing a reference to the last layer in the network (i.e. +output layer) in addition to the final weights, this function updates +the ``trained_weights`` attribute of all layers. + +Accepts the following parameters: + +- ``last_layer``: A reference to the last (output) layer in the network + architecture. + +- ``final_weights``: An array of weights of all layers in the network + after passing through all the epochs. + +The function uses a ``while`` loop to iterate through the layers using +their ``previous_layer`` attribute. For each layer, its +``trained_weights`` attribute is assigned the weights of the layer from +the ``final_weights`` parameter. + +.. _pygadnnpredict: + +``pygad.nn.predict()`` +---------------------- + +Uses the trained weights for predicting the samples' outputs. It returns +a list of the predicted outputs for all samples. + +Accepts the following parameters: + +- ``last_layer``: A reference to the last (output) layer in the network + architecture. + +- ``data_inputs``: Data features. + +- ``problem_type``: The type of the problem which can be either + ``"classification"`` or ``"regression"``. Added in PyGAD 2.7.0 and + higher. + +All the data samples are fed to the network to return their predictions. + +Helper Functions +================ + +There are functions in the ``pygad.nn`` module that does not directly +manipulate the neural networks. + +.. _pygadnntovector: + +``pygad.nn.to_vector()`` +------------------------ + +Converts a passed NumPy array (of any dimensionality) to its ``array`` +parameter into a 1D vector and returns the vector. + +Accepts the following parameters: + +- ``array``: The NumPy array to be converted into a 1D vector. + +.. _pygadnntoarray: + +``pygad.nn.to_array()`` +----------------------- + +Converts a passed vector to its ``vector`` parameter into a NumPy array +and returns the array. + +Accepts the following parameters: + +- ``vector``: The 1D vector to be converted into an array. + +- ``shape``: The target shape of the array. + +Supported Activation Functions +============================== + +The supported activation functions are: + +1. Sigmoid: Implemented using the ``pygad.nn.sigmoid()`` function. + +2. Rectified Linear Unit (ReLU): Implemented using the + ``pygad.nn.relu()`` function. + +3. Softmax: Implemented using the ``pygad.nn.softmax()`` function. + +Steps to Build a Neural Network +=============================== + +This section discusses how to use the ``pygad.nn`` module for building a +neural network. The summary of the steps are as follows: + +- Reading the Data + +- Building the Network Architecture + +- Training the Network + +- Making Predictions + +- Calculating Some Statistics + +Reading the Data +---------------- + +Before building the network architecture, the first thing to do is to +prepare the data that will be used for training the network. + +In this example, 4 classes of the **Fruits360** dataset are used for +preparing the training data. The 4 classes are: + +1. `Apple + Braeburn `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/apple + +2. `Lemon + Meyer `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/lemon + +3. `Mango `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/mango + +4. `Raspberry `__: + This class's data is available at + https://github.com/ahmedfgad/NumPyANN/tree/master/raspberry + +The features from such 4 classes are extracted according to the next +code. This code reads the raw images of the 4 classes of the dataset, +prepares the features and the outputs as NumPy arrays, and saves the +arrays in 2 files. + +This code extracts a feature vector from each image representing the +color histogram of the HSV space's hue channel. + +.. code:: python + + import numpy + import skimage.io, skimage.color, skimage.feature + import os + + fruits = ["apple", "raspberry", "mango", "lemon"] + # Number of samples in the datset used = 492+490+490+490=1,962 + # 360 is the length of the feature vector. + dataset_features = numpy.zeros(shape=(1962, 360)) + outputs = numpy.zeros(shape=(1962)) + + idx = 0 + class_label = 0 + for fruit_dir in fruits: + curr_dir = os.path.join(os.path.sep, fruit_dir) + all_imgs = os.listdir(os.getcwd()+curr_dir) + for img_file in all_imgs: + if img_file.endswith(".jpg"): # Ensures reading only JPG files. + fruit_data = skimage.io.imread(fname=os.path.sep.join([os.getcwd(), curr_dir, img_file]), as_gray=False) + fruit_data_hsv = skimage.color.rgb2hsv(rgb=fruit_data) + hist = numpy.histogram(a=fruit_data_hsv[:, :, 0], bins=360) + dataset_features[idx, :] = hist[0] + outputs[idx] = class_label + idx = idx + 1 + class_label = class_label + 1 + + # Saving the extracted features and the outputs as NumPy files. + numpy.save("dataset_features.npy", dataset_features) + numpy.save("outputs.npy", outputs) + +To save your time, the training data is already prepared and 2 files +created by the next code are available for download at these links: + +1. `dataset_features.npy `__: + The features + https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + +2. `outputs.npy `__: + The class labels + https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + +The +`outputs.npy `__ +file gives the following labels for the 4 classes: + +1. `Apple + Braeburn `__: + Class label is **0** + +2. `Lemon + Meyer `__: + Class label is **1** + +3. `Mango `__: + Class label is **2** + +4. `Raspberry `__: + Class label is **3** + +The project has 4 folders holding the images for the 4 classes. + +After the 2 files are created, then just read them to return the NumPy +arrays according to the next 2 lines: + +.. code:: python + + data_inputs = numpy.load("dataset_features.npy") + data_outputs = numpy.load("outputs.npy") + +After the data is prepared, next is to create the network architecture. + +Building the Network Architecture +--------------------------------- + +The input layer is created by instantiating the ``pygad.nn.InputLayer`` +class according to the next code. A network can only have a single input +layer. + +.. code:: python + + import pygad.nn + num_inputs = data_inputs.shape[1] + + input_layer = pygad.nn.InputLayer(num_inputs) + +After the input layer is created, next is to create a number of dense +layers according to the next code. Normally, the last dense layer is +regarded as the output layer. Note that the output layer has a number of +neurons equal to the number of classes in the dataset which is 4. + +.. code:: python + + hidden_layer = pygad.nn.DenseLayer(num_neurons=HL2_neurons, previous_layer=input_layer, activation_function="relu") + output_layer = pygad.nn.DenseLayer(num_neurons=4, previous_layer=hidden_layer2, activation_function="softmax") + +After both the data and the network architecture are prepared, the next +step is to train the network. + +Training the Network +-------------------- + +Here is an example of using the ``pygad.nn.train()`` function. + +.. code:: python + + pygad.nn.train(num_epochs=10, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01) + +After training the network, the next step is to make predictions. + +Making Predictions +------------------ + +The ``pygad.nn.predict()`` function uses the trained network for making +predictions. Here is an example. + +.. code:: python + + predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) + +It is not expected to have high accuracy in the predictions because no +training algorithm is used. + +Calculating Some Statistics +--------------------------- + +Based on the predictions the network made, some statistics can be +calculated such as the number of correct and wrong predictions in +addition to the classification accuracy. + +.. code:: python + + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +It is very important to note that it is not expected that the +classification accuracy is high because no training algorithm is used. +Please check the documentation of the ``pygad.gann`` module for training +the network using the genetic algorithm. + +Examples +======== + +This section gives the complete code of some examples that build neural +networks using ``pygad.nn``. Each subsection builds a different network. + +XOR Classification +------------------ + +This is an example of building a network with 1 hidden layer with 2 +neurons for building a network that simulates the XOR logic gate. +Because the XOR problem has 2 classes (0 and 1), then the output layer +has 2 neurons, one for each class. + +.. code:: python + + import numpy + import pygad.nn + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.array([[1, 1], + [1, 0], + [0, 1], + [0, 0]]) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.array([0, + 1, + 1, + 0]) + + # The number of inputs (i.e. feature vector length) per sample + num_inputs = data_inputs.shape[1] + # Number of outputs per sample + num_outputs = 2 + + HL1_neurons = 2 + + # Building the network architecture. + input_layer = pygad.nn.InputLayer(num_inputs) + hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") + output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="softmax") + + # Training the network. + pygad.nn.train(num_epochs=10, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01) + + # Using the trained network for predictions. + predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) + + # Calculating some statistics + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +Image Classification +-------------------- + +This example is discussed in the **Steps to Build a Neural Network** +section and its complete code is listed below. + +Remember to either download or create the +`dataset_features.npy `__ +and +`outputs.npy `__ +files before running this code. + +.. code:: python + + import numpy + import pygad.nn + + # Reading the data features. Check the 'extract_features.py' script for extracting the features & preparing the outputs of the dataset. + data_inputs = numpy.load("dataset_features.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + + # Optional step for filtering the features using the standard deviation. + features_STDs = numpy.std(a=data_inputs, axis=0) + data_inputs = data_inputs[:, features_STDs > 50] + + # Reading the data outputs. Check the 'extract_features.py' script for extracting the features & preparing the outputs of the dataset. + data_outputs = numpy.load("outputs.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + + # The number of inputs (i.e. feature vector length) per sample + num_inputs = data_inputs.shape[1] + # Number of outputs per sample + num_outputs = 4 + + HL1_neurons = 150 + HL2_neurons = 60 + + # Building the network architecture. + input_layer = pygad.nn.InputLayer(num_inputs) + hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") + hidden_layer2 = pygad.nn.DenseLayer(num_neurons=HL2_neurons, previous_layer=hidden_layer1, activation_function="relu") + output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer2, activation_function="softmax") + + # Training the network. + pygad.nn.train(num_epochs=10, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01) + + # Using the trained network for predictions. + predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) + + # Calculating some statistics + num_wrong = numpy.where(predictions != data_outputs)[0] + num_correct = data_outputs.size - num_wrong.size + accuracy = 100 * (num_correct/data_outputs.size) + print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) + print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) + print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) + +Regression Example 1 +-------------------- + +The next code listing builds a neural network for regression. Here is +what to do to make the code works for regression: + +1. Set the ``problem_type`` parameter in the ``pygad.nn.train()`` and + ``pygad.nn.predict()`` functions to the string ``"regression"``. + +.. code:: python + + pygad.nn.train(..., + problem_type="regression") + + predictions = pygad.nn.predict(..., + problem_type="regression") + +1. Set the activation function for the output layer to the string + ``"None"``. + +.. code:: python + + output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") + +1. Calculate the prediction error according to your preferred error + function. Here is how the mean absolute error is calculated. + +.. code:: python + + abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) + print("Absolute error : {abs_error}.".format(abs_error=abs_error)) + +Here is the complete code. Yet, there is no algorithm used to train the +network and thus the network is expected to give bad results. Later, the +``pygad.gann`` module is used to train either a regression or +classification networks. + +.. code:: python + + import numpy + import pygad.nn + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.array([[2, 5, -3, 0.1], + [8, 15, 20, 13]]) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.array([0.1, + 1.5]) + + # The number of inputs (i.e. feature vector length) per sample + num_inputs = data_inputs.shape[1] + # Number of outputs per sample + num_outputs = 1 + + HL1_neurons = 2 + + # Building the network architecture. + input_layer = pygad.nn.InputLayer(num_inputs) + hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") + output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") + + # Training the network. + pygad.nn.train(num_epochs=100, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01, + problem_type="regression") + + # Using the trained network for predictions. + predictions = pygad.nn.predict(last_layer=output_layer, + data_inputs=data_inputs, + problem_type="regression") + + # Calculating some statistics + abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) + print("Absolute error : {abs_error}.".format(abs_error=abs_error)) + +Regression Example 2 - Fish Weight Prediction +--------------------------------------------- + +This example uses the Fish Market Dataset available at Kaggle +(https://www.kaggle.com/aungpyaeap/fish-market). Simply download the CSV +dataset from `this +link `__ +(https://www.kaggle.com/aungpyaeap/fish-market/download). The dataset is +also available at the `GitHub project of the pygad.nn +module `__: +https://github.com/ahmedfgad/NumPyANN + +Using the Pandas library, the dataset is read using the ``read_csv()`` +function. + +.. code:: python + + data = numpy.array(pandas.read_csv("Fish.csv")) + +The last 5 columns in the dataset are used as inputs and the **Weight** +column is used as output. + +.. code:: python + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight + +Note how the activation function at the last layer is set to ``"None"``. +Moreover, the ``problem_type`` parameter in the ``pygad.nn.train()`` and +``pygad.nn.predict()`` functions is set to ``"regression"``. + +After the ``pygad.nn.train()`` function completes, the mean absolute +error is calculated. + +.. code:: python + + abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) + print("Absolute error : {abs_error}.".format(abs_error=abs_error)) + +Here is the complete code. + +.. code:: python + + import numpy + import pygad.nn + import pandas + + data = numpy.array(pandas.read_csv("Fish.csv")) + + # Preparing the NumPy array of the inputs. + data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) + + # Preparing the NumPy array of the outputs. + data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight + + # The number of inputs (i.e. feature vector length) per sample + num_inputs = data_inputs.shape[1] + # Number of outputs per sample + num_outputs = 1 + + HL1_neurons = 2 + + # Building the network architecture. + input_layer = pygad.nn.InputLayer(num_inputs) + hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") + output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") + + # Training the network. + pygad.nn.train(num_epochs=100, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01, + problem_type="regression") + + # Using the trained network for predictions. + predictions = pygad.nn.predict(last_layer=output_layer, + data_inputs=data_inputs, + problem_type="regression") + + # Calculating some statistics + abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) + print("Absolute error : {abs_error}.".format(abs_error=abs_error)) diff --git a/docs/source/README_pygad_ReadTheDocs.rst b/docs/source/pygad.rst similarity index 97% rename from docs/source/README_pygad_ReadTheDocs.rst rename to docs/source/pygad.rst index c1e6d2f..4e09154 100644 --- a/docs/source/README_pygad_ReadTheDocs.rst +++ b/docs/source/pygad.rst @@ -1,4626 +1,4626 @@ -``pygad`` Module -================ - -This section of the PyGAD's library documentation discusses the -``pygad`` module. - -Using the ``pygad`` module, instances of the genetic algorithm can be -created, run, saved, and loaded. - -.. _pygadga-class: - -``pygad.GA`` Class -================== - -The first module available in PyGAD is named ``pygad`` and contains a -class named ``GA`` for building the genetic algorithm. The constructor, -methods, function, and attributes within the class are discussed in this -section. - -.. _init: - -``__init__()`` --------------- - -For creating an instance of the ``pygad.GA`` class, the constructor -accepts several parameters that allow the user to customize the genetic -algorithm to different types of applications. - -The ``pygad.GA`` class constructor supports the following parameters: - -- ``num_generations``: Number of generations. - -- ``num_parents_mating``: Number of solutions to be selected as - parents. - -- ``fitness_func``: Accepts a function/method and returns the fitness - value of the solution. If a function is passed, then it must accept 3 - parameters (1. the instance of the ``pygad.GA`` class, 2. a single - solution, and 3. its index in the population). If method, then it - accepts a fourth parameter representing the method's class instance. - Check the `Preparing the fitness_func - Parameter `__ - section for information about creating such a function. - -- ``fitness_batch_size=None``: A new optional parameter called - ``fitness_batch_size`` is supported to calculate the fitness function - in batches. If it is assigned the value ``1`` or ``None`` (default), - then the normal flow is used where the fitness function is called for - each individual solution. If the ``fitness_batch_size`` parameter is - assigned a value satisfying this condition - ``1 < fitness_batch_size <= sol_per_pop``, then the solutions are - grouped into batches of size ``fitness_batch_size`` and the fitness - function is called once for each batch. Check the `Batch Fitness - Calculation `__ - section for more details and examples. Added in from `PyGAD - 2.19.0 `__. - -- ``initial_population``: A user-defined initial population. It is - useful when the user wants to start the generations with a custom - initial population. It defaults to ``None`` which means no initial - population is specified by the user. In this case, - `PyGAD `__ creates an initial - population using the ``sol_per_pop`` and ``num_genes`` parameters. An - exception is raised if the ``initial_population`` is ``None`` while - any of the 2 parameters (``sol_per_pop`` or ``num_genes``) is also - ``None``. Introduced in `PyGAD - 2.0.0 `__ - and higher. - -- ``sol_per_pop``: Number of solutions (i.e. chromosomes) within the - population. This parameter has no action if ``initial_population`` - parameter exists. - -- ``num_genes``: Number of genes in the solution/chromosome. This - parameter is not needed if the user feeds the initial population to - the ``initial_population`` parameter. - -- ``gene_type=float``: Controls the gene type. It can be assigned to a - single data type that is applied to all genes or can specify the data - type of each individual gene. It defaults to ``float`` which means - all genes are of ``float`` data type. Starting from `PyGAD - 2.9.0 `__, - the ``gene_type`` parameter can be assigned to a numeric value of any - of these types: ``int``, ``float``, and - ``numpy.int/uint/float(8-64)``. Starting from `PyGAD - 2.14.0 `__, - it can be assigned to a ``list``, ``tuple``, or a ``numpy.ndarray`` - which hold a data type for each gene (e.g. - ``gene_type=[int, float, numpy.int8]``). This helps to control the - data type of each individual gene. In `PyGAD - 2.15.0 `__, - a precision for the ``float`` data types can be specified (e.g. - ``gene_type=[float, 2]``. - -- ``init_range_low=-4``: The lower value of the random range from which - the gene values in the initial population are selected. - ``init_range_low`` defaults to ``-4``. Available in `PyGAD - 1.0.20 `__ - and higher. This parameter has no action if the - ``initial_population`` parameter exists. - -- ``init_range_high=4``: The upper value of the random range from which - the gene values in the initial population are selected. - ``init_range_high`` defaults to ``+4``. Available in `PyGAD - 1.0.20 `__ - and higher. This parameter has no action if the - ``initial_population`` parameter exists. - -- ``parent_selection_type="sss"``: The parent selection type. Supported - types are ``sss`` (for steady-state selection), ``rws`` (for roulette - wheel selection), ``sus`` (for stochastic universal selection), - ``rank`` (for rank selection), ``random`` (for random selection), and - ``tournament`` (for tournament selection). A custom parent selection - function can be passed starting from `PyGAD - 2.16.0 `__. - Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ - section for more details about building a user-defined parent - selection function. - -- ``keep_parents=-1``: Number of parents to keep in the current - population. ``-1`` (default) means to keep all parents in the next - population. ``0`` means keep no parents in the next population. A - value ``greater than 0`` means keeps the specified number of parents - in the next population. Note that the value assigned to - ``keep_parents`` cannot be ``< - 1`` or greater than the number of - solutions within the population ``sol_per_pop``. Starting from `PyGAD - 2.18.0 `__, - this parameter have an effect only when the ``keep_elitism`` - parameter is ``0``. Starting from `PyGAD - 2.20.0 `__, - the parents' fitness from the last generation will not be re-used if - ``keep_parents=0``. - -- ``keep_elitism=1``: Added in `PyGAD - 2.18.0 `__. - It can take the value ``0`` or a positive integer that satisfies - (``0 <= keep_elitism <= sol_per_pop``). It defaults to ``1`` which - means only the best solution in the current generation is kept in the - next generation. If assigned ``0``, this means it has no effect. If - assigned a positive integer ``K``, then the best ``K`` solutions are - kept in the next generation. It cannot be assigned a value greater - than the value assigned to the ``sol_per_pop`` parameter. If this - parameter has a value different than ``0``, then the ``keep_parents`` - parameter will have no effect. - -- ``K_tournament=3``: In case that the parent selection type is - ``tournament``, the ``K_tournament`` specifies the number of parents - participating in the tournament selection. It defaults to ``3``. - -- ``crossover_type="single_point"``: Type of the crossover operation. - Supported types are ``single_point`` (for single-point crossover), - ``two_points`` (for two points crossover), ``uniform`` (for uniform - crossover), and ``scattered`` (for scattered crossover). Scattered - crossover is supported from PyGAD - `2.9.0 `__ - and higher. It defaults to ``single_point``. A custom crossover - function can be passed starting from `PyGAD - 2.16.0 `__. - Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ - section for more details about creating a user-defined crossover - function. Starting from `PyGAD - 2.2.2 `__ - and higher, if ``crossover_type=None``, then the crossover step is - bypassed which means no crossover is applied and thus no offspring - will be created in the next generations. The next generation will use - the solutions in the current population. - -- ``crossover_probability=None``: The probability of selecting a parent - for applying the crossover operation. Its value must be between 0.0 - and 1.0 inclusive. For each parent, a random value between 0.0 and - 1.0 is generated. If this random value is less than or equal to the - value assigned to the ``crossover_probability`` parameter, then the - parent is selected. Added in `PyGAD - 2.5.0 `__ - and higher. - -- ``mutation_type="random"``: Type of the mutation operation. Supported - types are ``random`` (for random mutation), ``swap`` (for swap - mutation), ``inversion`` (for inversion mutation), ``scramble`` (for - scramble mutation), and ``adaptive`` (for adaptive mutation). It - defaults to ``random``. A custom mutation function can be passed - starting from `PyGAD - 2.16.0 `__. - Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ - section for more details about creating a user-defined mutation - function. Starting from `PyGAD - 2.2.2 `__ - and higher, if ``mutation_type=None``, then the mutation step is - bypassed which means no mutation is applied and thus no changes are - applied to the offspring created using the crossover operation. The - offspring will be used unchanged in the next generation. ``Adaptive`` - mutation is supported starting from `PyGAD - 2.10.0 `__. - For more information about adaptive mutation, go the the `Adaptive - Mutation `__ - section. For example about using adaptive mutation, check the `Use - Adaptive Mutation in - PyGAD `__ - section. - -- ``mutation_probability=None``: The probability of selecting a gene - for applying the mutation operation. Its value must be between 0.0 - and 1.0 inclusive. For each gene in a solution, a random value - between 0.0 and 1.0 is generated. If this random value is less than - or equal to the value assigned to the ``mutation_probability`` - parameter, then the gene is selected. If this parameter exists, then - there is no need for the 2 parameters ``mutation_percent_genes`` and - ``mutation_num_genes``. Added in `PyGAD - 2.5.0 `__ - and higher. - -- ``mutation_by_replacement=False``: An optional bool parameter. It - works only when the selected type of mutation is random - (``mutation_type="random"``). In this case, - ``mutation_by_replacement=True`` means replace the gene by the - randomly generated value. If False, then it has no effect and random - mutation works by adding the random value to the gene. Supported in - `PyGAD - 2.2.2 `__ - and higher. Check the changes in `PyGAD - 2.2.2 `__ - under the Release History section for an example. - -- ``mutation_percent_genes="default"``: Percentage of genes to mutate. - It defaults to the string ``"default"`` which is later translated - into the integer ``10`` which means 10% of the genes will be mutated. - It must be ``>0`` and ``<=100``. Out of this percentage, the number - of genes to mutate is deduced which is assigned to the - ``mutation_num_genes`` parameter. The ``mutation_percent_genes`` - parameter has no action if ``mutation_probability`` or - ``mutation_num_genes`` exist. Starting from `PyGAD - 2.2.2 `__ - and higher, this parameter has no action if ``mutation_type`` is - ``None``. - -- ``mutation_num_genes=None``: Number of genes to mutate which defaults - to ``None`` meaning that no number is specified. The - ``mutation_num_genes`` parameter has no action if the parameter - ``mutation_probability`` exists. Starting from `PyGAD - 2.2.2 `__ - and higher, this parameter has no action if ``mutation_type`` is - ``None``. - -- ``random_mutation_min_val=-1.0``: For ``random`` mutation, the - ``random_mutation_min_val`` parameter specifies the start value of - the range from which a random value is selected to be added to the - gene. It defaults to ``-1``. Starting from `PyGAD - 2.2.2 `__ - and higher, this parameter has no action if ``mutation_type`` is - ``None``. - -- ``random_mutation_max_val=1.0``: For ``random`` mutation, the - ``random_mutation_max_val`` parameter specifies the end value of the - range from which a random value is selected to be added to the gene. - It defaults to ``+1``. Starting from `PyGAD - 2.2.2 `__ - and higher, this parameter has no action if ``mutation_type`` is - ``None``. - -- ``gene_space=None``: It is used to specify the possible values for - each gene in case the user wants to restrict the gene values. It is - useful if the gene space is restricted to a certain range or to - discrete values. It accepts a ``list``, ``tuple``, ``range``, or - ``numpy.ndarray``. When all genes have the same global space, specify - their values as a ``list``/``tuple``/``range``/``numpy.ndarray``. For - example, ``gene_space = [0.3, 5.2, -4, 8]`` restricts the gene values - to the 4 specified values. If each gene has its own space, then the - ``gene_space`` parameter can be nested like - ``[[0.4, -5], [0.5, -3.2, 8.2, -9], ...]`` where the first sublist - determines the values for the first gene, the second sublist for the - second gene, and so on. If the nested list/tuple has a ``None`` - value, then the gene's initial value is selected randomly from the - range specified by the 2 parameters ``init_range_low`` and - ``init_range_high`` and its mutation value is selected randomly from - the range specified by the 2 parameters ``random_mutation_min_val`` - and ``random_mutation_max_val``. ``gene_space`` is added in `PyGAD - 2.5.0 `__. - Check the `Release History of PyGAD - 2.5.0 `__ - section of the documentation for more details. In `PyGAD - 2.9.0 `__, - NumPy arrays can be assigned to the ``gene_space`` parameter. In - `PyGAD - 2.11.0 `__, - the ``gene_space`` parameter itself or any of its elements can be - assigned to a dictionary to specify the lower and upper limits of the - genes. For example, ``{'low': 2, 'high': 4}`` means the minimum and - maximum values are 2 and 4, respectively. In `PyGAD - 2.15.0 `__, - a new key called ``"step"`` is supported to specify the step of - moving from the start to the end of the range specified by the 2 - existing keys ``"low"`` and ``"high"``. - -- ``on_start=None``: Accepts a function/method to be called only once - before the genetic algorithm starts its evolution. If function, then - it must accept a single parameter representing the instance of the - genetic algorithm. If method, then it must accept 2 parameters where - the second one refers to the method's object. Added in `PyGAD - 2.6.0 `__. - -- ``on_fitness=None``: Accepts a function/method to be called after - calculating the fitness values of all solutions in the population. If - function, then it must accept 2 parameters: 1) a list of all - solutions' fitness values 2) the instance of the genetic algorithm. - If method, then it must accept 3 parameters where the third one - refers to the method's object. Added in `PyGAD - 2.6.0 `__. - -- ``on_parents=None``: Accepts a function/method to be called after - selecting the parents that mates. If function, then it must accept 2 - parameters: 1) the selected parents 2) the instance of the genetic - algorithm If method, then it must accept 3 parameters where the third - one refers to the method's object. Added in `PyGAD - 2.6.0 `__. - -- ``on_crossover=None``: Accepts a function to be called each time the - crossover operation is applied. This function must accept 2 - parameters: the first one represents the instance of the genetic - algorithm and the second one represents the offspring generated using - crossover. Added in `PyGAD - 2.6.0 `__. - -- ``on_mutation=None``: Accepts a function to be called each time the - mutation operation is applied. This function must accept 2 - parameters: the first one represents the instance of the genetic - algorithm and the second one represents the offspring after applying - the mutation. Added in `PyGAD - 2.6.0 `__. - -- ``on_generation=None``: Accepts a function to be called after each - generation. This function must accept a single parameter representing - the instance of the genetic algorithm. If the function returned the - string ``stop``, then the ``run()`` method stops without completing - the other generations. Added in `PyGAD - 2.6.0 `__. - -- ``on_stop=None``: Accepts a function to be called only once exactly - before the genetic algorithm stops or when it completes all the - generations. This function must accept 2 parameters: the first one - represents the instance of the genetic algorithm and the second one - is a list of fitness values of the last population's solutions. Added - in `PyGAD - 2.6.0 `__. - -- ``delay_after_gen=0.0``: It accepts a non-negative number specifying - the time in seconds to wait after a generation completes and before - going to the next generation. It defaults to ``0.0`` which means no - delay after the generation. Available in `PyGAD - 2.4.0 `__ - and higher. - -- ``save_best_solutions=False``: When ``True``, then the best solution - after each generation is saved into an attribute named - ``best_solutions``. If ``False`` (default), then no solutions are - saved and the ``best_solutions`` attribute will be empty. Supported - in `PyGAD - 2.9.0 `__. - -- ``save_solutions=False``: If ``True``, then all solutions in each - generation are appended into an attribute called ``solutions`` which - is NumPy array. Supported in `PyGAD - 2.15.0 `__. - -- ``suppress_warnings=False``: A bool parameter to control whether the - warning messages are printed or not. It defaults to ``False``. - -- ``allow_duplicate_genes=True``: Added in `PyGAD - 2.13.0 `__. - If ``True``, then a solution/chromosome may have duplicate gene - values. If ``False``, then each gene will have a unique value in its - solution. - -- ``stop_criteria=None``: Some criteria to stop the evolution. Added in - `PyGAD - 2.15.0 `__. - Each criterion is passed as ``str`` which has a stop word. The - current 2 supported words are ``reach`` and ``saturate``. ``reach`` - stops the ``run()`` method if the fitness value is equal to or - greater than a given fitness value. An example for ``reach`` is - ``"reach_40"`` which stops the evolution if the fitness is >= 40. - ``saturate`` means stop the evolution if the fitness saturates for a - given number of consecutive generations. An example for ``saturate`` - is ``"saturate_7"`` which means stop the ``run()`` method if the - fitness does not change for 7 consecutive generations. - -- ``parallel_processing=None``: Added in `PyGAD - 2.17.0 `__. - If ``None`` (Default), this means no parallel processing is applied. - It can accept a list/tuple of 2 elements [1) Can be either - ``'process'`` or ``'thread'`` to indicate whether processes or - threads are used, respectively., 2) The number of processes or - threads to use.]. For example, - ``parallel_processing=['process', 10]`` applies parallel processing - with 10 processes. If a positive integer is assigned, then it is used - as the number of threads. For example, ``parallel_processing=5`` uses - 5 threads which is equivalent to - ``parallel_processing=["thread", 5]``. For more information, check - the `Parallel Processing in - PyGAD `__ - section. - -- ``random_seed=None``: Added in `PyGAD - 2.18.0 `__. - It defines the random seed to be used by the random function - generators (we use random functions in the NumPy and random modules). - This helps to reproduce the same results by setting the same random - seed (e.g. ``random_seed=2``). If given the value ``None``, then it - has no effect. - -- ``logger=None``: Accepts an instance of the ``logging.Logger`` class - to log the outputs. Any message is no longer printed using - ``print()`` but logged. If ``logger=None``, then a logger is created - that uses ``StreamHandler`` to logs the messages to the console. - Added in `PyGAD - 3.0.0 `__. - Check the `Logging - Outputs `__ - for more information. - -The user doesn't have to specify all of such parameters while creating -an instance of the GA class. A very important parameter you must care -about is ``fitness_func`` which defines the fitness function. - -It is OK to set the value of any of the 2 parameters ``init_range_low`` -and ``init_range_high`` to be equal, higher, or lower than the other -parameter (i.e. ``init_range_low`` is not needed to be lower than -``init_range_high``). The same holds for the ``random_mutation_min_val`` -and ``random_mutation_max_val`` parameters. - -If the 2 parameters ``mutation_type`` and ``crossover_type`` are -``None``, this disables any type of evolution the genetic algorithm can -make. As a result, the genetic algorithm cannot find a better solution -that the best solution in the initial population. - -The parameters are validated within the constructor. If at least a -parameter is not correct, an exception is thrown. - -.. _plotting-methods-in-pygadga-class: - -Plotting Methods in ``pygad.GA`` Class --------------------------------------- - -- ``plot_fitness()``: Shows how the fitness evolves by generation. - -- ``plot_genes()``: Shows how the gene value changes for each - generation. - -- ``plot_new_solution_rate()``: Shows the number of new solutions - explored in each solution. - -Class Attributes ----------------- - -- ``supported_int_types``: A list of the supported types for the - integer numbers. - -- ``supported_float_types``: A list of the supported types for the - floating-point numbers. - -- ``supported_int_float_types``: A list of the supported types for all - numbers. It just concatenates the previous 2 lists. - -.. _other-instance-attributes--methods: - -Other Instance Attributes & Methods ------------------------------------ - -All the parameters and functions passed to the ``pygad.GA`` class -constructor are used as class attributes and methods in the instances of -the ``pygad.GA`` class. In addition to such attributes, there are other -attributes and methods added to the instances of the ``pygad.GA`` class: - -The next 2 subsections list such attributes and methods. - -Other Attributes -~~~~~~~~~~~~~~~~ - -- ``generations_completed``: Holds the number of the last completed - generation. - -- ``population``: A NumPy array holding the initial population. - -- ``valid_parameters``: Set to ``True`` when all the parameters passed - in the ``GA`` class constructor are valid. - -- ``run_completed``: Set to ``True`` only after the ``run()`` method - completes gracefully. - -- ``pop_size``: The population size. - -- ``best_solutions_fitness``: A list holding the fitness values of the - best solutions for all generations. - -- ``best_solution_generation``: The generation number at which the best - fitness value is reached. It is only assigned the generation number - after the ``run()`` method completes. Otherwise, its value is -1. - -- ``best_solutions``: A NumPy array holding the best solution per each - generation. It only exists when the ``save_best_solutions`` parameter - in the ``pygad.GA`` class constructor is set to ``True``. - -- ``last_generation_fitness``: The fitness values of the solutions in - the last generation. `Added in PyGAD - 2.12.0 `__. - -- ``previous_generation_fitness``: At the end of each generation, the - fitness of the most recent population is saved in the - ``last_generation_fitness`` attribute. The fitness of the population - exactly preceding this most recent population is saved in the - ``last_generation_fitness`` attribute. This - ``previous_generation_fitness`` attribute is used to fetch the - pre-calculated fitness instead of calling the fitness function for - already explored solutions. `Added in PyGAD - 2.16.2 `__. - -- ``last_generation_parents``: The parents selected from the last - generation. `Added in PyGAD - 2.12.0 `__. - -- ``last_generation_offspring_crossover``: The offspring generated - after applying the crossover in the last generation. `Added in PyGAD - 2.12.0 `__. - -- ``last_generation_offspring_mutation``: The offspring generated after - applying the mutation in the last generation. `Added in PyGAD - 2.12.0 `__. - -- ``gene_type_single``: A flag that is set to ``True`` if the - ``gene_type`` parameter is assigned to a single data type that is - applied to all genes. If ``gene_type`` is assigned a ``list``, - ``tuple``, or ``numpy.ndarray``, then the value of - ``gene_type_single`` will be ``False``. `Added in PyGAD - 2.14.0 `__. - -- ``last_generation_parents_indices``: This attribute holds the indices - of the selected parents in the last generation. Supported in `PyGAD - 2.15.0 `__. - -- ``last_generation_elitism``: This attribute holds the elitism of the - last generation. It is effective only if the ``keep_elitism`` - parameter has a non-zero value. Supported in `PyGAD - 2.18.0 `__. - -- ``last_generation_elitism_indices``: This attribute holds the indices - of the elitism of the last generation. It is effective only if the - ``keep_elitism`` parameter has a non-zero value. Supported in `PyGAD - 2.19.0 `__. - -- ``logger``: This attribute holds the logger from the ``logging`` - module. Supported in `PyGAD - 3.0.0 `__. - -Note that the attributes with its name start with ``last_generation_`` -are updated after each generation. - -Other Methods -~~~~~~~~~~~~~ - -- ``cal_pop_fitness()``: A method that calculates the fitness values - for all solutions within the population by calling the function - passed to the ``fitness_func`` parameter for each solution. - -- ``crossover()``: Refers to the method that applies the crossover - operator based on the selected type of crossover in the - ``crossover_type`` property. - -- ``mutation()``: Refers to the method that applies the mutation - operator based on the selected type of mutation in the - ``mutation_type`` property. - -- ``select_parents()``: Refers to a method that selects the parents - based on the parent selection type specified in the - ``parent_selection_type`` attribute. - -- ``adaptive_mutation_population_fitness()``: Returns the average - fitness value used in the adaptive mutation to filter the solutions. - -- ``solve_duplicate_genes_randomly()``: Solves the duplicates in a - solution by randomly selecting new values for the duplicating genes. - -- ``solve_duplicate_genes_by_space()``: Solves the duplicates in a - solution by selecting values for the duplicating genes from the gene - space - -- ``unique_int_gene_from_range()``: Finds a unique integer value for - the gene. - -- ``unique_genes_by_space()``: Loops through all the duplicating genes - to find unique values that from their gene spaces to solve the - duplicates. For each duplicating gene, a call to the - ``unique_gene_by_space()`` is made. - -- ``unique_gene_by_space()``: Returns a unique gene value for a single - gene based on its value space to solve the duplicates. - -- ``summary()``: Prints a Keras-like summary of the PyGAD lifecycle. - This helps to have an overview of the architecture. Supported in - `PyGAD - 2.19.0 `__. - Check the `Print Lifecycle - Summary `__ - section for more details and examples. - -The next sections discuss the methods available in the ``pygad.GA`` -class. - -.. _initializepopulation: - -``initialize_population()`` ---------------------------- - -It creates an initial population randomly as a NumPy array. The array is -saved in the instance attribute named ``population``. - -Accepts the following parameters: - -- ``low``: The lower value of the random range from which the gene - values in the initial population are selected. It defaults to -4. - Available in PyGAD 1.0.20 and higher. - -- ``high``: The upper value of the random range from which the gene - values in the initial population are selected. It defaults to -4. - Available in PyGAD 1.0.20. - -This method assigns the values of the following 3 instance attributes: - -1. ``pop_size``: Size of the population. - -2. ``population``: Initially, it holds the initial population and later - updated after each generation. - -3. ``initial_population``: Keeping the initial population. - -.. _calpopfitness: - -``cal_pop_fitness()`` ---------------------- - -The ``cal_pop_fitness()`` method calculates and returns the fitness -values of the solutions in the current population. - -This function is optimized to save time by making fewer calls the -fitness function. It follows this process: - -1. If the ``save_solutions`` parameter is set to ``True``, then it - checks if the solution is already explored and saved in the - ``solutions`` instance attribute. If so, then it just retrieves its - fitness from the ``solutions_fitness`` instance attribute without - calling the fitness function. - -2. If ``save_solutions`` is set to ``False`` or if it is ``True`` but - the solution was not explored yet, then the ``cal_pop_fitness()`` - method checks if the ``keep_elitism`` parameter is set to a positive - integer. If so, then it checks if the solution is saved into the - ``last_generation_elitism`` instance attribute. If so, then it - retrieves its fitness from the ``previous_generation_fitness`` - instance attribute. - -3. If neither of the above 3 conditions apply (1. ``save_solutions`` is - set to ``False`` or 2. if it is ``True`` but the solution was not - explored yet or 3. ``keep_elitism`` is set to zero), then the - ``cal_pop_fitness()`` method checks if the ``keep_parents`` parameter - is set to ``-1`` or a positive integer. If so, then it checks if the - solution is saved into the ``last_generation_parents`` instance - attribute. If so, then it retrieves its fitness from the - ``previous_generation_fitness`` instance attribute. - -4. If neither of the above 4 conditions apply, then we have to call the - fitness function to calculate the fitness for the solution. This is - by calling the function assigned to the ``fitness_func`` parameter. - -This function takes into consideration: - -1. The ``parallel_processing`` parameter to check whether parallel - processing is in effect. - -2. The ``fitness_batch_size`` parameter to check if the fitness should - be calculated in batches of solutions. - -It returns a vector of the solutions' fitness values. - -``run()`` ---------- - -Runs the genetic algorithm. This is the main method in which the genetic -algorithm is evolved through some generations. It accepts no parameters -as it uses the instance to access all of its requirements. - -For each generation, the fitness values of all solutions within the -population are calculated according to the ``cal_pop_fitness()`` method -which internally just calls the function assigned to the -``fitness_func`` parameter in the ``pygad.GA`` class constructor for -each solution. - -According to the fitness values of all solutions, the parents are -selected using the ``select_parents()`` method. This method behaviour is -determined according to the parent selection type in the -``parent_selection_type`` parameter in the ``pygad.GA`` class -constructor - -Based on the selected parents, offspring are generated by applying the -crossover and mutation operations using the ``crossover()`` and -``mutation()`` methods. The behaviour of such 2 methods is defined -according to the ``crossover_type`` and ``mutation_type`` parameters in -the ``pygad.GA`` class constructor. - -After the generation completes, the following takes place: - -- The ``population`` attribute is updated by the new population. - -- The ``generations_completed`` attribute is assigned by the number of - the last completed generation. - -- If there is a callback function assigned to the ``on_generation`` - attribute, then it will be called. - -After the ``run()`` method completes, the following takes place: - -- The ``best_solution_generation`` is assigned the generation number at - which the best fitness value is reached. - -- The ``run_completed`` attribute is set to ``True``. - -Parent Selection Methods ------------------------- - -The ``ParentSelection`` class in the ``pygad.utils.parent_selection`` -module has several methods for selecting the parents that will mate to -produce the offspring. All of such methods accept the same parameters -which are: - -- ``fitness``: The fitness values of the solutions in the current - population. - -- ``num_parents``: The number of parents to be selected. - -All of such methods return an array of the selected parents. - -The next subsections list the supported methods for parent selection. - -.. _steadystateselection: - -``steady_state_selection()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Selects the parents using the steady-state selection technique. - -.. _rankselection: - -``rank_selection()`` -~~~~~~~~~~~~~~~~~~~~ - -Selects the parents using the rank selection technique. - -.. _randomselection: - -``random_selection()`` -~~~~~~~~~~~~~~~~~~~~~~ - -Selects the parents randomly. - -.. _tournamentselection: - -``tournament_selection()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Selects the parents using the tournament selection technique. - -.. _roulettewheelselection: - -``roulette_wheel_selection()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Selects the parents using the roulette wheel selection technique. - -.. _stochasticuniversalselection: - -``stochastic_universal_selection()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Selects the parents using the stochastic universal selection technique. - -Crossover Methods ------------------ - -The ``Crossover`` class in the ``pygad.utils.crossover`` module supports -several methods for applying crossover between the selected parents. All -of these methods accept the same parameters which are: - -- ``parents``: The parents to mate for producing the offspring. - -- ``offspring_size``: The size of the offspring to produce. - -All of such methods return an array of the produced offspring. - -The next subsections list the supported methods for crossover. - -.. _singlepointcrossover: - -``single_point_crossover()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the single-point crossover. It selects a point randomly at which -crossover takes place between the pairs of parents. - -.. _twopointscrossover: - -``two_points_crossover()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the 2 points crossover. It selects the 2 points randomly at -which crossover takes place between the pairs of parents. - -.. _uniformcrossover: - -``uniform_crossover()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the uniform crossover. For each gene, a parent out of the 2 -mating parents is selected randomly and the gene is copied from it. - -.. _scatteredcrossover: - -``scattered_crossover()`` -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the scattered crossover. It randomly selects the gene from one -of the 2 parents. - -Mutation Methods ----------------- - -The ``Mutation`` class in the ``pygad.utils.mutation`` module supports -several methods for applying mutation. All of these methods accept the -same parameter which is: - -- ``offspring``: The offspring to mutate. - -All of such methods return an array of the mutated offspring. - -The next subsections list the supported methods for mutation. - -.. _randommutation: - -``random_mutation()`` -~~~~~~~~~~~~~~~~~~~~~ - -Applies the random mutation which changes the values of some genes -randomly. The number of genes is specified according to either the -``mutation_num_genes`` or the ``mutation_percent_genes`` attributes. - -For each gene, a random value is selected according to the range -specified by the 2 attributes ``random_mutation_min_val`` and -``random_mutation_max_val``. The random value is added to the selected -gene. - -.. _swapmutation: - -``swap_mutation()`` -~~~~~~~~~~~~~~~~~~~ - -Applies the swap mutation which interchanges the values of 2 randomly -selected genes. - -.. _inversionmutation: - -``inversion_mutation()`` -~~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the inversion mutation which selects a subset of genes and -inverts them. - -.. _scramblemutation: - -``scramble_mutation()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the scramble mutation which selects a subset of genes and -shuffles their order randomly. - -.. _adaptivemutation: - -``adaptive_mutation()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -Applies the adaptive mutation which selects a subset of genes and -shuffles their order randomly. - -.. _bestsolution: - -``best_solution()`` -------------------- - -Returns information about the best solution found by the genetic -algorithm. - -It accepts the following parameters: - -- ``pop_fitness=None``: An optional parameter that accepts a list of - the fitness values of the solutions in the population. If ``None``, - then the ``cal_pop_fitness()`` method is called to calculate the - fitness values of the population. - -It returns the following: - -- ``best_solution``: Best solution in the current population. - -- ``best_solution_fitness``: Fitness value of the best solution. - -- ``best_match_idx``: Index of the best solution in the current - population. - -.. _plotfitness: - -``plot_fitness()`` ------------------- - -Previously named ``plot_result()``, this method creates, shows, and -returns a figure that summarizes how the fitness value evolves by -generation. It works only after completing at least 1 generation. - -If no generation is completed (at least 1), an exception is raised. - -Starting from `PyGAD -2.15.0 `__ -and higher, this method accepts the following parameters: - -1. ``title``: Title of the figure. - -2. ``xlabel``: X-axis label. - -3. ``ylabel``: Y-axis label. - -4. ``linewidth``: Line width of the plot. Defaults to ``3``. - -5. ``font_size``: Font size for the labels and title. Defaults to - ``14``. - -6. ``plot_type``: Type of the plot which can be either ``"plot"`` - (default), ``"scatter"``, or ``"bar"``. - -7. ``color``: Color of the plot which defaults to ``"#3870FF"``. - -8. ``save_dir``: Directory to save the figure. - -.. _plotnewsolutionrate: - -``plot_new_solution_rate()`` ----------------------------- - -The ``plot_new_solution_rate()`` method creates, shows, and returns a -figure that shows the number of new solutions explored in each -generation. This method works only when ``save_solutions=True`` in the -constructor of the ``pygad.GA`` class. It also works only after -completing at least 1 generation. - -If no generation is completed (at least 1), an exception is raised. - -This method accepts the following parameters: - -1. ``title``: Title of the figure. - -2. ``xlabel``: X-axis label. - -3. ``ylabel``: Y-axis label. - -4. ``linewidth``: Line width of the plot. Defaults to ``3``. - -5. ``font_size``: Font size for the labels and title. Defaults to - ``14``. - -6. ``plot_type``: Type of the plot which can be either ``"plot"`` - (default), ``"scatter"``, or ``"bar"``. - -7. ``color``: Color of the plot which defaults to ``"#3870FF"``. - -8. ``save_dir``: Directory to save the figure. - -.. _plotgenes: - -``plot_genes()`` ----------------- - -The ``plot_genes()`` method creates, shows, and returns a figure that -describes each gene. It has different options to create the figures -which helps to: - -1. Explore the gene value for each generation by creating a normal plot. - -2. Create a histogram for each gene. - -3. Create a boxplot. - -This is controlled by the ``graph_type`` parameter. - -It works only after completing at least 1 generation. If no generation -is completed, an exception is raised. If no generation is completed (at -least 1), an exception is raised. - -This method accepts the following parameters: - -1. ``title``: Title of the figure. - -2. ``xlabel``: X-axis label. - -3. ``ylabel``: Y-axis label. - -4. ``linewidth``: Line width of the plot. Defaults to ``3``. - -5. ``font_size``: Font size for the labels and title. Defaults to - ``14``. - -6. ``plot_type``: Type of the plot which can be either ``"plot"`` - (default), ``"scatter"``, or ``"bar"``. - -7. ``graph_type``: Type of the graph which can be either ``"plot"`` - (default), ``"boxplot"``, or ``"histogram"``. - -8. ``fill_color``: Fill color of the graph which defaults to - ``"#3870FF"``. This has no effect if ``graph_type="plot"``. - -9. ``color``: Color of the plot which defaults to ``"#3870FF"``. - -10. ``solutions``: Defaults to ``"all"`` which means use all solutions. - If ``"best"`` then only the best solutions are used. - -11. ``save_dir``: Directory to save the figure. - -An exception is raised if: - -- ``solutions="all"`` while ``save_solutions=False`` in the constructor - of the ``pygad.GA`` class. . - -- ``solutions="best"`` while ``save_best_solutions=False`` in the - constructor of the ``pygad.GA`` class. . - -``save()`` ----------- - -Saves the genetic algorithm instance - -Accepts the following parameter: - -- ``filename``: Name of the file to save the instance. No extension is - needed. - -Functions in ``pygad`` -====================== - -Besides the methods available in the ``pygad.GA`` class, this section -discusses the functions available in ``pygad``. Up to this time, there -is only a single function named ``load()``. - -.. _pygadload: - -``pygad.load()`` ----------------- - -Reads a saved instance of the genetic algorithm. This is not a method -but a function that is indented under the ``pygad`` module. So, it could -be called by the pygad module as follows: ``pygad.load(filename)``. - -Accepts the following parameter: - -- ``filename``: Name of the file holding the saved instance of the - genetic algorithm. No extension is needed. - -Returns the genetic algorithm instance. - -Steps to Use ``pygad`` -====================== - -To use the ``pygad`` module, here is a summary of the required steps: - -1. Preparing the ``fitness_func`` parameter. - -2. Preparing Other Parameters. - -3. Import ``pygad``. - -4. Create an Instance of the ``pygad.GA`` Class. - -5. Run the Genetic Algorithm. - -6. Plotting Results. - -7. Information about the Best Solution. - -8. Saving & Loading the Results. - -Let's discuss how to do each of these steps. - -.. _preparing-the-fitnessfunc-parameter: - -Preparing the ``fitness_func`` Parameter ------------------------------------------ - -Even there are some steps in the genetic algorithm pipeline that can -work the same regardless of the problem being solved, one critical step -is the calculation of the fitness value. There is no unique way of -calculating the fitness value and it changes from one problem to -another. - -PyGAD has a parameter called ``fitness_func`` that allows the user to -specify a custom function/method to use when calculating the fitness. -This function/method must be a maximization function/method so that a -solution with a high fitness value returned is selected compared to a -solution with a low value. Doing that allows the user to freely use -PyGAD to solve any problem by passing the appropriate fitness -function/method. It is very important to understand the problem well for -creating it. - -Let's discuss an example: - - | Given the following function: - | y = f(w1:w6) = w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + 6wx6 - | where (x1,x2,x3,x4,x5,x6)=(4, -2, 3.5, 5, -11, -4.7) and y=44 - | What are the best values for the 6 weights (w1 to w6)? We are going - to use the genetic algorithm to optimize this function. - -So, the task is about using the genetic algorithm to find the best -values for the 6 weight ``W1`` to ``W6``. Thinking of the problem, it is -clear that the best solution is that returning an output that is close -to the desired output ``y=44``. So, the fitness function/method should -return a value that gets higher when the solution's output is closer to -``y=44``. Here is a function that does that: - -.. code:: python - - function_inputs = [4, -2, 3.5, 5, -11, -4.7] # Function inputs. - desired_output = 44 # Function output. - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / numpy.abs(output - desired_output) - return fitness - -Such a user-defined function must accept 3 parameters: - -1. The instance of the ``pygad.GA`` class. This helps the user to fetch - any property that helps when calculating the fitness. - -2. The solution(s) to calculate the fitness value(s). Note that the - fitness function can accept multiple solutions only if the - ``fitness_batch_size`` is given a value greater than 1. - -3. The indices of the solutions in the population. The number of indices - also depends on the ``fitness_batch_size`` parameter. - -If a method is passed to the ``fitness_func`` parameter, then it accepts -a fourth parameter representing the method's instance. - -The ``__code__`` object is used to check if this function accepts the -required number of parameters. If more or fewer parameters are passed, -an exception is thrown. - -By creating this function, you did a very important step towards using -PyGAD. - -Preparing Other Parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here is an example for preparing the other parameters: - -.. code:: python - - num_generations = 50 - num_parents_mating = 4 - - fitness_function = fitness_func - - sol_per_pop = 8 - num_genes = len(function_inputs) - - init_range_low = -2 - init_range_high = 5 - - parent_selection_type = "sss" - keep_parents = 1 - - crossover_type = "single_point" - - mutation_type = "random" - mutation_percent_genes = 10 - -.. _the-ongeneration-parameter: - -The ``on_generation`` Parameter -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -An optional parameter named ``on_generation`` is supported which allows -the user to call a function (with a single parameter) after each -generation. Here is a simple function that just prints the current -generation number and the fitness value of the best solution in the -current generation. The ``generations_completed`` attribute of the GA -class returns the number of the last completed generation. - -.. code:: python - - def on_gen(ga_instance): - print("Generation : ", ga_instance.generations_completed) - print("Fitness of the best solution :", ga_instance.best_solution()[1]) - -After being defined, the function is assigned to the ``on_generation`` -parameter of the GA class constructor. By doing that, the ``on_gen()`` -function will be called after each generation. - -.. code:: python - - ga_instance = pygad.GA(..., - on_generation=on_gen, - ...) - -After the parameters are prepared, we can import PyGAD and build an -instance of the ``pygad.GA`` class. - -Import ``pygad`` ----------------- - -The next step is to import PyGAD as follows: - -.. code:: python - - import pygad - -The ``pygad.GA`` class holds the implementation of all methods for -running the genetic algorithm. - -.. _create-an-instance-of-the-pygadga-class: - -Create an Instance of the ``pygad.GA`` Class --------------------------------------------- - -The ``pygad.GA`` class is instantiated where the previously prepared -parameters are fed to its constructor. The constructor is responsible -for creating the initial population. - -.. code:: python - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - fitness_func=fitness_function, - sol_per_pop=sol_per_pop, - num_genes=num_genes, - init_range_low=init_range_low, - init_range_high=init_range_high, - parent_selection_type=parent_selection_type, - keep_parents=keep_parents, - crossover_type=crossover_type, - mutation_type=mutation_type, - mutation_percent_genes=mutation_percent_genes) - -Run the Genetic Algorithm -------------------------- - -After an instance of the ``pygad.GA`` class is created, the next step is -to call the ``run()`` method as follows: - -.. code:: python - - ga_instance.run() - -Inside this method, the genetic algorithm evolves over some generations -by doing the following tasks: - -1. Calculating the fitness values of the solutions within the current - population. - -2. Select the best solutions as parents in the mating pool. - -3. Apply the crossover & mutation operation - -4. Repeat the process for the specified number of generations. - -Plotting Results ----------------- - -There is a method named ``plot_fitness()`` which creates a figure -summarizing how the fitness values of the solutions change with the -generations. - -.. code:: python - - ga_instance.plot_fitness() - -.. figure:: https://user-images.githubusercontent.com/16560492/78830005-93111d00-79e7-11ea-9d8e-a8d8325a6101.png - :alt: - -Information about the Best Solution ------------------------------------ - -The following information about the best solution in the last population -is returned using the ``best_solution()`` method. - -- Solution - -- Fitness value of the solution - -- Index of the solution within the population - -.. code:: python - - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - -Using the ``best_solution_generation`` attribute of the instance from -the ``pygad.GA`` class, the generation number at which the -``best fitness`` is reached could be fetched. - -.. code:: python - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - -.. _saving--loading-the-results: - -Saving & Loading the Results ----------------------------- - -After the ``run()`` method completes, it is possible to save the current -instance of the genetic algorithm to avoid losing the progress made. The -``save()`` method is available for that purpose. Just pass the file name -to it without an extension. According to the next code, a file named -``genetic.pkl`` will be created and saved in the current directory. - -.. code:: python - - filename = 'genetic' - ga_instance.save(filename=filename) - -You can also load the saved model using the ``load()`` function and -continue using it. For example, you might run the genetic algorithm for -some generations, save its current state using the ``save()`` method, -load the model using the ``load()`` function, and then call the -``run()`` method again. - -.. code:: python - - loaded_ga_instance = pygad.load(filename=filename) - -After the instance is loaded, you can use it to run any method or access -any property. - -.. code:: python - - print(loaded_ga_instance.best_solution()) - -Crossover, Mutation, and Parent Selection -========================================= - -PyGAD supports different types for selecting the parents and applying -the crossover & mutation operators. More features will be added in the -future. To ask for a new feature, please check the ``Ask for Feature`` -section. - -Supported Crossover Operations ------------------------------- - -The supported crossover operations at this time are: - -1. Single point: Implemented using the ``single_point_crossover()`` - method. - -2. Two points: Implemented using the ``two_points_crossover()`` method. - -3. Uniform: Implemented using the ``uniform_crossover()`` method. - -Supported Mutation Operations ------------------------------ - -The supported mutation operations at this time are: - -1. Random: Implemented using the ``random_mutation()`` method. - -2. Swap: Implemented using the ``swap_mutation()`` method. - -3. Inversion: Implemented using the ``inversion_mutation()`` method. - -4. Scramble: Implemented using the ``scramble_mutation()`` method. - -Supported Parent Selection Operations -------------------------------------- - -The supported parent selection techniques at this time are: - -1. Steady-state: Implemented using the ``steady_state_selection()`` - method. - -2. Roulette wheel: Implemented using the ``roulette_wheel_selection()`` - method. - -3. Stochastic universal: Implemented using the - ``stochastic_universal_selection()``\ method. - -4. Rank: Implemented using the ``rank_selection()`` method. - -5. Random: Implemented using the ``random_selection()`` method. - -6. Tournament: Implemented using the ``tournament_selection()`` method. - -Life Cycle of PyGAD -=================== - -The next figure lists the different stages in the lifecycle of an -instance of the ``pygad.GA`` class. Note that PyGAD stops when either -all generations are completed or when the function passed to the -``on_generation`` parameter returns the string ``stop``. - -.. figure:: https://user-images.githubusercontent.com/16560492/220486073-c5b6089d-81e4-44d9-a53c-385f479a7273.jpg - :alt: - -The next code implements all the callback functions to trace the -execution of the genetic algorithm. Each callback function prints its -name. - -.. code:: python - - import pygad - import numpy - - function_inputs = [4,-2,3.5,5,-11,-4.7] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - fitness_function = fitness_func - - def on_start(ga_instance): - print("on_start()") - - def on_fitness(ga_instance, population_fitness): - print("on_fitness()") - - def on_parents(ga_instance, selected_parents): - print("on_parents()") - - def on_crossover(ga_instance, offspring_crossover): - print("on_crossover()") - - def on_mutation(ga_instance, offspring_mutation): - print("on_mutation()") - - def on_generation(ga_instance): - print("on_generation()") - - def on_stop(ga_instance, last_population_fitness): - print("on_stop()") - - ga_instance = pygad.GA(num_generations=3, - num_parents_mating=5, - fitness_func=fitness_function, - sol_per_pop=10, - num_genes=len(function_inputs), - on_start=on_start, - on_fitness=on_fitness, - on_parents=on_parents, - on_crossover=on_crossover, - on_mutation=on_mutation, - on_generation=on_generation, - on_stop=on_stop) - - ga_instance.run() - -Based on the used 3 generations as assigned to the ``num_generations`` -argument, here is the output. - -.. code:: - - on_start() - - on_fitness() - on_parents() - on_crossover() - on_mutation() - on_generation() - - on_fitness() - on_parents() - on_crossover() - on_mutation() - on_generation() - - on_fitness() - on_parents() - on_crossover() - on_mutation() - on_generation() - - on_stop() - -Adaptive Mutation -================= - -In the regular genetic algorithm, the mutation works by selecting a -single fixed mutation rate for all solutions regardless of their fitness -values. So, regardless on whether this solution has high or low quality, -the same number of genes are mutated all the time. - -The pitfalls of using a constant mutation rate for all solutions are -summarized in this paper `Libelli, S. Marsili, and P. Alba. "Adaptive -mutation in genetic algorithms." Soft computing 4.2 (2000): -76-80 `__ -as follows: - - The weak point of "classical" GAs is the total randomness of - mutation, which is applied equally to all chromosomes, irrespective - of their fitness. Thus a very good chromosome is equally likely to be - disrupted by mutation as a bad one. - - On the other hand, bad chromosomes are less likely to produce good - ones through crossover, because of their lack of building blocks, - until they remain unchanged. They would benefit the most from - mutation and could be used to spread throughout the parameter space - to increase the search thoroughness. So there are two conflicting - needs in determining the best probability of mutation. - - Usually, a reasonable compromise in the case of a constant mutation - is to keep the probability low to avoid disruption of good - chromosomes, but this would prevent a high mutation rate of - low-fitness chromosomes. Thus a constant probability of mutation - would probably miss both goals and result in a slow improvement of - the population. - -According to `Libelli, S. Marsili, and P. -Alba. `__ -work, the adaptive mutation solves the problems of constant mutation. - -Adaptive mutation works as follows: - -1. Calculate the average fitness value of the population (``f_avg``). - -2. For each chromosome, calculate its fitness value (``f``). - -3. If ``ff_avg``, then this solution is regarded as a high-quality - solution and thus the mutation rate should be kept low to avoid - disrupting this high quality solution. - -In PyGAD, if ``f=f_avg``, then the solution is regarded of high quality. - -The next figure summarizes the previous steps. - -.. figure:: https://user-images.githubusercontent.com/16560492/103468973-e3c26600-4d2c-11eb-8af3-b3bb39b50540.jpg - :alt: - -This strategy is applied in PyGAD. - -Use Adaptive Mutation in PyGAD ------------------------------- - -In PyGAD 2.10.0, adaptive mutation is supported. To use it, just follow -the following 2 simple steps: - -1. In the constructor of the ``pygad.GA`` class, set - ``mutation_type="adaptive"`` to specify that the type of mutation is - adaptive. - -2. Specify the mutation rates for the low and high quality solutions - using one of these 3 parameters according to your preference: - ``mutation_probability``, ``mutation_num_genes``, and - ``mutation_percent_genes``. Please check the `documentation of each - of these - parameters `__ - for more information. - -When adaptive mutation is used, then the value assigned to any of the 3 -parameters can be of any of these data types: - -1. ``list`` - -2. ``tuple`` - -3. ``numpy.ndarray`` - -Whatever the data type used, the length of the ``list``, ``tuple``, or -the ``numpy.ndarray`` must be exactly 2. That is there are just 2 -values: - -1. The first value is the mutation rate for the low-quality solutions. - -2. The second value is the mutation rate for the high-quality solutions. - -PyGAD expects that the first value is higher than the second value and -thus a warning is printed in case the first value is lower than the -second one. - -Here are some examples to feed the mutation rates: - -.. code:: python - - # mutation_probability - mutation_probability = [0.25, 0.1] - mutation_probability = (0.35, 0.17) - mutation_probability = numpy.array([0.15, 0.05]) - - # mutation_num_genes - mutation_num_genes = [4, 2] - mutation_num_genes = (3, 1) - mutation_num_genes = numpy.array([7, 2]) - - # mutation_percent_genes - mutation_percent_genes = [25, 12] - mutation_percent_genes = (15, 8) - mutation_percent_genes = numpy.array([21, 13]) - -Assume that the average fitness is 12 and the fitness values of 2 -solutions are 15 and 7. If the mutation probabilities are specified as -follows: - -.. code:: python - - mutation_probability = [0.25, 0.1] - -Then the mutation probability of the first solution is 0.1 because its -fitness is 15 which is higher than the average fitness 12. The mutation -probability of the second solution is 0.25 because its fitness is 7 -which is lower than the average fitness 12. - -Here is an example that uses adaptive mutation. - -.. code:: python - - import pygad - import numpy - - function_inputs = [4,-2,3.5,5,-11,-4.7] # Function inputs. - desired_output = 44 # Function output. - - def fitness_func(ga_instance, solution, solution_idx): - # The fitness function calulates the sum of products between each input and its corresponding weight. - output = numpy.sum(solution*function_inputs) - # The value 0.000001 is used to avoid the Inf value when the denominator numpy.abs(output - desired_output) is 0.0. - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - # Creating an instance of the GA class inside the ga module. Some parameters are initialized within the constructor. - ga_instance = pygad.GA(num_generations=200, - fitness_func=fitness_func, - num_parents_mating=10, - sol_per_pop=20, - num_genes=len(function_inputs), - mutation_type="adaptive", - mutation_num_genes=(3, 1)) - - # Running the GA to optimize the parameters of the function. - ga_instance.run() - - ga_instance.plot_fitness(title="PyGAD with Adaptive Mutation", linewidth=5) - -Limit the Gene Value Range -========================== - -In `PyGAD -2.11.0 `__, -the ``gene_space`` parameter supported a new feature to allow -customizing the range of accepted values for each gene. Let's take a -quick review of the ``gene_space`` parameter to build over it. - -The ``gene_space`` parameter allows the user to feed the space of values -of each gene. This way the accepted values for each gene is retracted to -the user-defined values. Assume there is a problem that has 3 genes -where each gene has different set of values as follows: - -1. Gene 1: ``[0.4, 12, -5, 21.2]`` - -2. Gene 2: ``[-2, 0.3]`` - -3. Gene 3: ``[1.2, 63.2, 7.4]`` - -Then, the ``gene_space`` for this problem is as given below. Note that -the order is very important. - -.. code:: python - - gene_space = [[0.4, 12, -5, 21.2], - [-2, 0.3], - [1.2, 63.2, 7.4]] - -In case all genes share the same set of values, then simply feed a -single list to the ``gene_space`` parameter as follows. In this case, -all genes can only take values from this list of 6 values. - -.. code:: python - - gene_space = [33, 7, 0.5, 95. 6.3, 0.74] - -The previous example restricts the gene values to just a set of fixed -number of discrete values. In case you want to use a range of discrete -values to the gene, then you can use the ``range()`` function. For -example, ``range(1, 7)`` means the set of allowed values for the gene -are ``1, 2, 3, 4, 5, and 6``. You can also use the ``numpy.arange()`` or -``numpy.linspace()`` functions for the same purpose. - -The previous discussion only works with a range of discrete values not -continuous values. In `PyGAD -2.11.0 `__, -the ``gene_space`` parameter can be assigned a dictionary that allows -the gene to have values from a continuous range. - -Assuming you want to restrict the gene within this half-open range [1 to -5) where 1 is included and 5 is not. Then simply create a dictionary -with 2 items where the keys of the 2 items are: - -1. ``'low'``: The minimum value in the range which is 1 in the example. - -2. ``'high'``: The maximum value in the range which is 5 in the example. - -The dictionary will look like that: - -.. code:: python - - {'low': 1, - 'high': 5} - -It is not acceptable to add more than 2 items in the dictionary or use -other keys than ``'low'`` and ``'high'``. - -For a 3-gene problem, the next code creates a dictionary for each gene -to restrict its values in a continuous range. For the first gene, it can -take any floating-point value from the range that starts from 1 -(inclusive) and ends at 5 (exclusive). - -.. code:: python - - gene_space = [{'low': 1, 'high': 5}, {'low': 0.3, 'high': 1.4}, {'low': -0.2, 'high': 4.5}] - -Stop at Any Generation -====================== - -In `PyGAD -2.4.0 `__, -it is possible to stop the genetic algorithm after any generation. All -you need to do it to return the string ``"stop"`` in the callback -function ``on_generation``. When this callback function is implemented -and assigned to the ``on_generation`` parameter in the constructor of -the ``pygad.GA`` class, then the algorithm immediately stops after -completing its current generation. Let's discuss an example. - -Assume that the user wants to stop algorithm either after the 100 -generations or if a condition is met. The user may assign a value of 100 -to the ``num_generations`` parameter of the ``pygad.GA`` class -constructor. - -The condition that stops the algorithm is written in a callback function -like the one in the next code. If the fitness value of the best solution -exceeds 70, then the string ``"stop"`` is returned. - -.. code:: python - - def func_generation(ga_instance): - if ga_instance.best_solution()[1] >= 70: - return "stop" - -Stop Criteria -============= - -In `PyGAD -2.15.0 `__, -a new parameter named ``stop_criteria`` is added to the constructor of -the ``pygad.GA`` class. It helps to stop the evolution based on some -criteria. It can be assigned to one or more criterion. - -Each criterion is passed as ``str`` that consists of 2 parts: - -1. Stop word. - -2. Number. - -It takes this form: - -.. code:: python - - "word_num" - -The current 2 supported words are ``reach`` and ``saturate``. - -The ``reach`` word stops the ``run()`` method if the fitness value is -equal to or greater than a given fitness value. An example for ``reach`` -is ``"reach_40"`` which stops the evolution if the fitness is >= 40. - -``saturate`` stops the evolution if the fitness saturates for a given -number of consecutive generations. An example for ``saturate`` is -``"saturate_7"`` which means stop the ``run()`` method if the fitness -does not change for 7 consecutive generations. - -Here is an example that stops the evolution if either the fitness value -reached ``127.4`` or if the fitness saturates for ``15`` generations. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4, -2, 3.5, 8, 9, 4] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - - return fitness - - ga_instance = pygad.GA(num_generations=200, - sol_per_pop=10, - num_parents_mating=4, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - stop_criteria=["reach_127.4", "saturate_15"]) - - ga_instance.run() - print("Number of generations passed is {generations_completed}".format(generations_completed=ga_instance.generations_completed)) - -Elitism Selection -================= - -In `PyGAD -2.18.0 `__, -a new parameter called ``keep_elitism`` is supported. It accepts an -integer to define the number of elitism (i.e. best solutions) to keep in -the next generation. This parameter defaults to ``1`` which means only -the best solution is kept in the next generation. - -In the next example, the ``keep_elitism`` parameter in the constructor -of the ``pygad.GA`` class is set to 2. Thus, the best 2 solutions in -each generation are kept in the next generation. - -.. code:: python - - import numpy - import pygad - - function_inputs = [4,-2,3.5,5,-11,-4.7] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / numpy.abs(output - desired_output) - return fitness - - ga_instance = pygad.GA(num_generations=2, - num_parents_mating=3, - fitness_func=fitness_func, - num_genes=6, - sol_per_pop=5, - keep_elitism=2) - - ga_instance.run() - -The value passed to the ``keep_elitism`` parameter must satisfy 2 -conditions: - -1. It must be ``>= 0``. - -2. It must be ``<= sol_per_pop``. That is its value cannot exceed the - number of solutions in the current population. - -In the previous example, if the ``keep_elitism`` parameter is set equal -to the value passed to the ``sol_per_pop`` parameter, which is 5, then -there will be no evolution at all as in the next figure. This is because -all the 5 solutions are used as elitism in the next generation and no -offspring will be created. - -.. code:: python - - ... - - ga_instance = pygad.GA(..., - sol_per_pop=5, - keep_elitism=5) - - ga_instance.run() - -.. figure:: https://user-images.githubusercontent.com/16560492/189273225-67ffad41-97ab-45e1-9324-429705e17b20.png - :alt: - -Note that if the ``keep_elitism`` parameter is effective (i.e. is -assigned a positive integer, not zero), then the ``keep_parents`` -parameter will have no effect. Because the default value of the -``keep_elitism`` parameter is 1, then the ``keep_parents`` parameter has -no effect by default. The ``keep_parents`` parameter is only effective -when ``keep_elitism=0``. - -Random Seed -=========== - -In `PyGAD -2.18.0 `__, -a new parameter called ``random_seed`` is supported. Its value is used -as a seed for the random function generators. - -PyGAD uses random functions in these 2 libraries: - -1. NumPy - -2. random - -The ``random_seed`` parameter defaults to ``None`` which means no seed -is used. As a result, different random numbers are generated for each -run of PyGAD. - -If this parameter is assigned a proper seed, then the results will be -reproducible. In the next example, the integer 2 is used as a random -seed. - -.. code:: python - - import numpy - import pygad - - function_inputs = [4,-2,3.5,5,-11,-4.7] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / numpy.abs(output - desired_output) - return fitness - - ga_instance = pygad.GA(num_generations=2, - num_parents_mating=3, - fitness_func=fitness_func, - sol_per_pop=5, - num_genes=6, - random_seed=2) - - ga_instance.run() - best_solution, best_solution_fitness, best_match_idx = ga_instance.best_solution() - print(best_solution) - print(best_solution_fitness) - -This is the best solution found and its fitness value. - -.. code:: - - [ 2.77249188 -4.06570662 0.04196872 -3.47770796 -0.57502138 -3.22775267] - 0.04872203136549972 - -After running the code again, it will find the same result. - -.. code:: - - [ 2.77249188 -4.06570662 0.04196872 -3.47770796 -0.57502138 -3.22775267] - 0.04872203136549972 - -Continue without Loosing Progress -================================= - -In `PyGAD -2.18.0 `__, -and thanks for `Felix Bernhard `__ for -opening `this GitHub -issue `__, -the values of these 4 instance attributes are no longer reset after each -call to the ``run()`` method. - -1. ``self.best_solutions`` - -2. ``self.best_solutions_fitness`` - -3. ``self.solutions`` - -4. ``self.solutions_fitness`` - -This helps the user to continue where the last run stopped without -loosing the values of these 4 attributes. - -Now, the user can save the model by calling the ``save()`` method. - -.. code:: python - - import pygad - - def fitness_func(ga_instance, solution, solution_idx): - ... - return fitness - - ga_instance = pygad.GA(...) - - ga_instance.run() - - ga_instance.plot_fitness() - - ga_instance.save("pygad_GA") - -Then the saved model is loaded by calling the ``load()`` function. After -calling the ``run()`` method over the loaded instance, then the data -from the previous 4 attributes are not reset but extended with the new -data. - -.. code:: python - - import pygad - - def fitness_func(ga_instance, solution, solution_idx): - ... - return fitness - - loaded_ga_instance = pygad.load("pygad_GA") - - loaded_ga_instance.run() - - loaded_ga_instance.plot_fitness() - -The plot created by the ``plot_fitness()`` method will show the data -collected from both the runs. - -Note that the 2 attributes (``self.best_solutions`` and -``self.best_solutions_fitness``) only work if the -``save_best_solutions`` parameter is set to ``True``. Also, the 2 -attributes (``self.solutions`` and ``self.solutions_fitness``) only work -if the ``save_solutions`` parameter is ``True``. - -Prevent Duplicates in Gene Values -================================= - -In `PyGAD -2.13.0 `__, -a new bool parameter called ``allow_duplicate_genes`` is supported to -control whether duplicates are supported in the chromosome or not. In -other words, whether 2 or more genes might have the same exact value. - -If ``allow_duplicate_genes=True`` (which is the default case), genes may -have the same value. If ``allow_duplicate_genes=False``, then no 2 genes -will have the same value given that there are enough unique values for -the genes. - -The next code gives an example to use the ``allow_duplicate_genes`` -parameter. A callback generation function is implemented to print the -population after each generation. - -.. code:: python - - import pygad - - def fitness_func(ga_instance, solution, solution_idx): - return 0 - - def on_generation(ga): - print("Generation", ga.generations_completed) - print(ga.population) - - ga_instance = pygad.GA(num_generations=5, - sol_per_pop=5, - num_genes=4, - mutation_num_genes=3, - random_mutation_min_val=-5, - random_mutation_max_val=5, - num_parents_mating=2, - fitness_func=fitness_func, - gene_type=int, - on_generation=on_generation, - allow_duplicate_genes=False) - ga_instance.run() - -Here are the population after the 5 generations. Note how there are no -duplicate values. - -.. code:: python - - Generation 1 - [[ 2 -2 -3 3] - [ 0 1 2 3] - [ 5 -3 6 3] - [-3 1 -2 4] - [-1 0 -2 3]] - Generation 2 - [[-1 0 -2 3] - [-3 1 -2 4] - [ 0 -3 -2 6] - [-3 0 -2 3] - [ 1 -4 2 4]] - Generation 3 - [[ 1 -4 2 4] - [-3 0 -2 3] - [ 4 0 -2 1] - [-4 0 -2 -3] - [-4 2 0 3]] - Generation 4 - [[-4 2 0 3] - [-4 0 -2 -3] - [-2 5 4 -3] - [-1 2 -4 4] - [-4 2 0 -3]] - Generation 5 - [[-4 2 0 -3] - [-1 2 -4 4] - [ 3 4 -4 0] - [-1 0 2 -2] - [-4 2 -1 1]] - -The ``allow_duplicate_genes`` parameter is configured with use with the -``gene_space`` parameter. Here is an example where each of the 4 genes -has the same space of values that consists of 4 values (1, 2, 3, and 4). - -.. code:: python - - import pygad - - def fitness_func(ga_instance, solution, solution_idx): - return 0 - - def on_generation(ga): - print("Generation", ga.generations_completed) - print(ga.population) - - ga_instance = pygad.GA(num_generations=1, - sol_per_pop=5, - num_genes=4, - num_parents_mating=2, - fitness_func=fitness_func, - gene_type=int, - gene_space=[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], - on_generation=on_generation, - allow_duplicate_genes=False) - ga_instance.run() - -Even that all the genes share the same space of values, no 2 genes -duplicate their values as provided by the next output. - -.. code:: python - - Generation 1 - [[2 3 1 4] - [2 3 1 4] - [2 4 1 3] - [2 3 1 4] - [1 3 2 4]] - Generation 2 - [[1 3 2 4] - [2 3 1 4] - [1 3 2 4] - [2 3 4 1] - [1 3 4 2]] - Generation 3 - [[1 3 4 2] - [2 3 4 1] - [1 3 4 2] - [3 1 4 2] - [3 2 4 1]] - Generation 4 - [[3 2 4 1] - [3 1 4 2] - [3 2 4 1] - [1 2 4 3] - [1 3 4 2]] - Generation 5 - [[1 3 4 2] - [1 2 4 3] - [2 1 4 3] - [1 2 4 3] - [1 2 4 3]] - -You should care of giving enough values for the genes so that PyGAD is -able to find alternatives for the gene value in case it duplicates with -another gene. - -There might be 2 duplicate genes where changing either of the 2 -duplicating genes will not solve the problem. For example, if -``gene_space=[[3, 0, 1], [4, 1, 2], [0, 2], [3, 2, 0]]`` and the -solution is ``[3 2 0 0]``, then the values of the last 2 genes -duplicate. There are no possible changes in the last 2 genes to solve -the problem. - -This problem can be solved by randomly changing one of the -non-duplicating genes that may make a room for a unique value in one the -2 duplicating genes. For example, by changing the second gene from 2 to -4, then any of the last 2 genes can take the value 2 and solve the -duplicates. The resultant gene is then ``[3 4 2 0]``. But this option is -not yet supported in PyGAD. - -User-Defined Crossover, Mutation, and Parent Selection Operators -================================================================ - -Previously, the user can select the the type of the crossover, mutation, -and parent selection operators by assigning the name of the operator to -the following parameters of the ``pygad.GA`` class's constructor: - -1. ``crossover_type`` - -2. ``mutation_type`` - -3. ``parent_selection_type`` - -This way, the user can only use the built-in functions for each of these -operators. - -Starting from `PyGAD -2.16.0 `__, -the user can create a custom crossover, mutation, and parent selection -operators and assign these functions to the above parameters. Thus, a -new operator can be plugged easily into the `PyGAD -Lifecycle `__. - -This is a sample code that does not use any custom function. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4,-2,3.5] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func) - - ga_instance.run() - ga_instance.plot_fitness() - -This section describes the expected input parameters and outputs. For -simplicity, all of these custom functions all accept the instance of the -``pygad.GA`` class as the last parameter. - -User-Defined Crossover Operator -------------------------------- - -The user-defined crossover function is a Python function that accepts 3 -parameters: - -1. The selected parents. - -2. The size of the offspring as a tuple of 2 numbers: (the offspring - size, number of genes). - -3. The instance from the ``pygad.GA`` class. This instance helps to - retrieve any property like ``population``, ``gene_type``, - ``gene_space``, etc. - -This function should return a NumPy array of shape equal to the value -passed to the second parameter. - -The next code creates a template for the user-defined crossover -operator. You can use any names for the parameters. Note how a NumPy -array is returned. - -.. code:: python - - def crossover_func(parents, offspring_size, ga_instance): - offspring = ... - ... - return numpy.array(offspring) - -As an example, the next code creates a single-point crossover function. -By randomly generating a random point (i.e. index of a gene), the -function simply uses 2 parents to produce an offspring by copying the -genes before the point from the first parent and the remaining from the -second parent. - -.. code:: python - - def crossover_func(parents, offspring_size, ga_instance): - offspring = [] - idx = 0 - while len(offspring) != offspring_size[0]: - parent1 = parents[idx % parents.shape[0], :].copy() - parent2 = parents[(idx + 1) % parents.shape[0], :].copy() - - random_split_point = numpy.random.choice(range(offspring_size[1])) - - parent1[random_split_point:] = parent2[random_split_point:] - - offspring.append(parent1) - - idx += 1 - - return numpy.array(offspring) - -To use this user-defined function, simply assign its name to the -``crossover_type`` parameter in the constructor of the ``pygad.GA`` -class. The next code gives an example. In this case, the custom function -will be called in each generation rather than calling the built-in -crossover functions defined in PyGAD. - -.. code:: python - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - crossover_type=crossover_func) - -User-Defined Mutation Operator ------------------------------- - -A user-defined mutation function/operator can be created the same way a -custom crossover operator/function is created. Simply, it is a Python -function that accepts 2 parameters: - -1. The offspring to be mutated. - -2. The instance from the ``pygad.GA`` class. This instance helps to - retrieve any property like ``population``, ``gene_type``, - ``gene_space``, etc. - -The template for the user-defined mutation function is given in the next -code. According to the user preference, the function should make some -random changes to the genes. - -.. code:: python - - def mutation_func(offspring, ga_instance): - ... - return offspring - -The next code builds the random mutation where a single gene from each -chromosome is mutated by adding a random number between 0 and 1 to the -gene's value. - -.. code:: python - - def mutation_func(offspring, ga_instance): - - for chromosome_idx in range(offspring.shape[0]): - random_gene_idx = numpy.random.choice(range(offspring.shape[1])) - - offspring[chromosome_idx, random_gene_idx] += numpy.random.random() - - return offspring - -Here is how this function is assigned to the ``mutation_type`` -parameter. - -.. code:: python - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - crossover_type=crossover_func, - mutation_type=mutation_func) - -Note that there are other things to take into consideration like: - -- Making sure that each gene conforms to the data type(s) listed in the - ``gene_type`` parameter. - -- If the ``gene_space`` parameter is used, then the new value for the - gene should conform to the values/ranges listed. - -- Mutating a number of genes that conforms to the parameters - ``mutation_percent_genes``, ``mutation_probability``, and - ``mutation_num_genes``. - -- Whether mutation happens with or without replacement based on the - ``mutation_by_replacement`` parameter. - -- The minimum and maximum values from which a random value is generated - based on the ``random_mutation_min_val`` and - ``random_mutation_max_val`` parameters. - -- Whether duplicates are allowed or not in the chromosome based on the - ``allow_duplicate_genes`` parameter. - -and more. - -It all depends on your objective from building the mutation function. -You may neglect or consider some of the considerations according to your -objective. - -User-Defined Parent Selection Operator --------------------------------------- - -No much to mention about building a user-defined parent selection -function as things are similar to building a crossover or mutation -function. Just create a Python function that accepts 3 parameters: - -1. The fitness values of the current population. - -2. The number of parents needed. - -3. The instance from the ``pygad.GA`` class. This instance helps to - retrieve any property like ``population``, ``gene_type``, - ``gene_space``, etc. - -The function should return 2 outputs: - -1. The selected parents as a NumPy array. Its shape is equal to (the - number of selected parents, ``num_genes``). Note that the number of - selected parents is equal to the value assigned to the second input - parameter. - -2. The indices of the selected parents inside the population. It is a 1D - list with length equal to the number of selected parents. - -The outputs must be of type ``numpy.ndarray``. - -Here is a template for building a custom parent selection function. - -.. code:: python - - def parent_selection_func(fitness, num_parents, ga_instance): - ... - return parents, fitness_sorted[:num_parents] - -The next code builds the steady-state parent selection where the best -parents are selected. The number of parents is equal to the value in the -``num_parents`` parameter. - -.. code:: python - - def parent_selection_func(fitness, num_parents, ga_instance): - - fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) - fitness_sorted.reverse() - - parents = numpy.empty((num_parents, ga_instance.population.shape[1])) - - for parent_num in range(num_parents): - parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() - - return parents, numpy.array(fitness_sorted[:num_parents]) - -Finally, the defined function is assigned to the -``parent_selection_type`` parameter as in the next code. - -.. code:: python - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - crossover_type=crossover_func, - mutation_type=mutation_func, - parent_selection_type=parent_selection_func) - -Example -------- - -By discussing how to customize the 3 operators, the next code uses the -previous 3 user-defined functions instead of the built-in functions. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4,-2,3.5] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - - return fitness - - def parent_selection_func(fitness, num_parents, ga_instance): - - fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) - fitness_sorted.reverse() - - parents = numpy.empty((num_parents, ga_instance.population.shape[1])) - - for parent_num in range(num_parents): - parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() - - return parents, numpy.array(fitness_sorted[:num_parents]) - - def crossover_func(parents, offspring_size, ga_instance): - - offspring = [] - idx = 0 - while len(offspring) != offspring_size[0]: - parent1 = parents[idx % parents.shape[0], :].copy() - parent2 = parents[(idx + 1) % parents.shape[0], :].copy() - - random_split_point = numpy.random.choice(range(offspring_size[1])) - - parent1[random_split_point:] = parent2[random_split_point:] - - offspring.append(parent1) - - idx += 1 - - return numpy.array(offspring) - - def mutation_func(offspring, ga_instance): - - for chromosome_idx in range(offspring.shape[0]): - random_gene_idx = numpy.random.choice(range(offspring.shape[0])) - - offspring[chromosome_idx, random_gene_idx] += numpy.random.random() - - return offspring - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - crossover_type=crossover_func, - mutation_type=mutation_func, - parent_selection_type=parent_selection_func) - - ga_instance.run() - ga_instance.plot_fitness() - -This is the same example but using methods instead of functions. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4,-2,3.5] - desired_output = 44 - - class Test: - def fitness_func(self, ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - - return fitness - - def parent_selection_func(self, fitness, num_parents, ga_instance): - - fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) - fitness_sorted.reverse() - - parents = numpy.empty((num_parents, ga_instance.population.shape[1])) - - for parent_num in range(num_parents): - parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() - - return parents, numpy.array(fitness_sorted[:num_parents]) - - def crossover_func(self, parents, offspring_size, ga_instance): - - offspring = [] - idx = 0 - while len(offspring) != offspring_size[0]: - parent1 = parents[idx % parents.shape[0], :].copy() - parent2 = parents[(idx + 1) % parents.shape[0], :].copy() - - random_split_point = numpy.random.choice(range(offspring_size[0])) - - parent1[random_split_point:] = parent2[random_split_point:] - - offspring.append(parent1) - - idx += 1 - - return numpy.array(offspring) - - def mutation_func(self, offspring, ga_instance): - - for chromosome_idx in range(offspring.shape[0]): - random_gene_idx = numpy.random.choice(range(offspring.shape[1])) - - offspring[chromosome_idx, random_gene_idx] += numpy.random.random() - - return offspring - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=Test().fitness_func, - parent_selection_type=Test().parent_selection_func, - crossover_type=Test().crossover_func, - mutation_type=Test().mutation_func) - - ga_instance.run() - ga_instance.plot_fitness() - -.. _more-about-the-genespace-parameter: - -More about the ``gene_space`` Parameter -======================================= - -The ``gene_space`` parameter customizes the space of values of each -gene. - -Assuming that all genes have the same global space which include the -values 0.3, 5.2, -4, and 8, then those values can be assigned to the -``gene_space`` parameter as a list, tuple, or range. Here is a list -assigned to this parameter. By doing that, then the gene values are -restricted to those assigned to the ``gene_space`` parameter. - -.. code:: python - - gene_space = [0.3, 5.2, -4, 8] - -If some genes have different spaces, then ``gene_space`` should accept a -nested list or tuple. In this case, the elements could be: - -1. Number (of ``int``, ``float``, or ``NumPy`` data types): A single - value to be assigned to the gene. This means this gene will have the - same value across all generations. - -2. ``list``, ``tuple``, ``numpy.ndarray``, or any range like ``range``, - ``numpy.arange()``, or ``numpy.linspace``: It holds the space for - each individual gene. But this space is usually discrete. That is - there is a set of finite values to select from. - -3. ``dict``: To sample a value for a gene from a continuous range. The - dictionary must have 2 mandatory keys which are ``"low"`` and - ``"high"`` in addition to an optional key which is ``"step"``. A - random value is returned between the values assigned to the items - with ``"low"`` and ``"high"`` keys. If the ``"step"`` exists, then - this works as the previous options (i.e. discrete set of values). - -4. ``None``: A gene with its space set to ``None`` is initialized - randomly from the range specified by the 2 parameters - ``init_range_low`` and ``init_range_high``. For mutation, its value - is mutated based on a random value from the range specified by the 2 - parameters ``random_mutation_min_val`` and - ``random_mutation_max_val``. If all elements in the ``gene_space`` - parameter are ``None``, the parameter will not have any effect. - -Assuming that a chromosome has 2 genes and each gene has a different -value space. Then the ``gene_space`` could be assigned a nested -list/tuple where each element determines the space of a gene. - -According to the next code, the space of the first gene is ``[0.4, -5]`` -which has 2 values and the space for the second gene is -``[0.5, -3.2, 8.8, -9]`` which has 4 values. - -.. code:: python - - gene_space = [[0.4, -5], [0.5, -3.2, 8.2, -9]] - -For a 2 gene chromosome, if the first gene space is restricted to the -discrete values from 0 to 4 and the second gene is restricted to the -values from 10 to 19, then it could be specified according to the next -code. - -.. code:: python - - gene_space = [range(5), range(10, 20)] - -The ``gene_space`` can also be assigned to a single range, as given -below, where the values of all genes are sampled from the same range. - -.. code:: python - - gene_space = numpy.arange(15) - -The ``gene_space`` can be assigned a dictionary to sample a value from a -continuous range. - -.. code:: python - - gene_space = {"low": 4, "high": 30} - -A step also can be assigned to the dictionary. This works as if a range -is used. - -.. code:: python - - gene_space = {"low": 4, "high": 30, "step": 2.5} - -If a ``None`` is assigned to only a single gene, then its value will be -randomly generated initially using the ``init_range_low`` and -``init_range_high`` parameters in the ``pygad.GA`` class's constructor. -During mutation, the value are sampled from the range defined by the 2 -parameters ``random_mutation_min_val`` and ``random_mutation_max_val``. -This is an example where the second gene is given a ``None`` value. - -.. code:: python - - gene_space = [range(5), None, numpy.linspace(10, 20, 300)] - -If the user did not assign the initial population to the -``initial_population`` parameter, the initial population is created -randomly based on the ``gene_space`` parameter. Moreover, the mutation -is applied based on this parameter. - -.. _more-about-the-genetype-parameter: - -More about the ``gene_type`` Parameter -====================================== - -The ``gene_type`` parameter allows the user to control the data type for -all genes at once or each individual gene. In `PyGAD -2.15.0 `__, -the ``gene_type`` parameter also supports customizing the precision for -``float`` data types. As a result, the ``gene_type`` parameter helps to: - -1. Select a data type for all genes with or without precision. - -2. Select a data type for each individual gene with or without - precision. - -Let's discuss things by examples. - -Data Type for All Genes without Precision ------------------------------------------ - -The data type for all genes can be specified by assigning the numeric -data type directly to the ``gene_type`` parameter. This is an example to -make all genes of ``int`` data types. - -.. code:: python - - gene_type=int - -Given that the supported numeric data types of PyGAD include Python's -``int`` and ``float`` in addition to all numeric types of ``NumPy``, -then any of these types can be assigned to the ``gene_type`` parameter. - -If no precision is specified for a ``float`` data type, then the -complete floating-point number is kept. - -The next code uses an ``int`` data type for all genes where the genes in -the initial and final population are only integers. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4, -2, 3.5, 8, -2] - desired_output = 2671.1234 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - gene_type=int) - - print("Initial Population") - print(ga_instance.initial_population) - - ga_instance.run() - - print("Final Population") - print(ga_instance.population) - -.. code:: python - - Initial Population - [[ 1 -1 2 0 -3] - [ 0 -2 0 -3 -1] - [ 0 -1 -1 2 0] - [-2 3 -2 3 3] - [ 0 0 2 -2 -2]] - - Final Population - [[ 1 -1 2 2 0] - [ 1 -1 2 2 0] - [ 1 -1 2 2 0] - [ 1 -1 2 2 0] - [ 1 -1 2 2 0]] - -Data Type for All Genes with Precision --------------------------------------- - -A precision can only be specified for a ``float`` data type and cannot -be specified for integers. Here is an example to use a precision of 3 -for the ``float`` data type. In this case, all genes are of type -``float`` and their maximum precision is 3. - -.. code:: python - - gene_type=[float, 3] - -The next code uses prints the initial and final population where the -genes are of type ``float`` with precision 3. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4, -2, 3.5, 8, -2] - desired_output = 2671.1234 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - - return fitness - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - gene_type=[float, 3]) - - print("Initial Population") - print(ga_instance.initial_population) - - ga_instance.run() - - print("Final Population") - print(ga_instance.population) - -.. code:: python - - Initial Population - [[-2.417 -0.487 3.623 2.457 -2.362] - [-1.231 0.079 -1.63 1.629 -2.637] - [ 0.692 -2.098 0.705 0.914 -3.633] - [ 2.637 -1.339 -1.107 -0.781 -3.896] - [-1.495 1.378 -1.026 3.522 2.379]] - - Final Population - [[ 1.714 -1.024 3.623 3.185 -2.362] - [ 0.692 -1.024 3.623 3.185 -2.362] - [ 0.692 -1.024 3.623 3.375 -2.362] - [ 0.692 -1.024 4.041 3.185 -2.362] - [ 1.714 -0.644 3.623 3.185 -2.362]] - -Data Type for each Individual Gene without Precision ----------------------------------------------------- - -In `PyGAD -2.14.0 `__, -the ``gene_type`` parameter allows customizing the gene type for each -individual gene. This is by using a ``list``/``tuple``/``numpy.ndarray`` -with number of elements equal to the number of genes. For each element, -a type is specified for the corresponding gene. - -This is an example for a 5-gene problem where different types are -assigned to the genes. - -.. code:: python - - gene_type=[int, float, numpy.float16, numpy.int8, float] - -This is a complete code that prints the initial and final population for -a custom-gene data type. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4, -2, 3.5, 8, -2] - desired_output = 2671.1234 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - gene_type=[int, float, numpy.float16, numpy.int8, float]) - - print("Initial Population") - print(ga_instance.initial_population) - - ga_instance.run() - - print("Final Population") - print(ga_instance.population) - -.. code:: python - - Initial Population - [[0 0.8615522360026828 0.7021484375 -2 3.5301821368185866] - [-3 2.648189378595294 -3.830078125 1 -0.9586271572917742] - [3 3.7729827570110714 1.2529296875 -3 1.395741994211889] - [0 1.0490687178053282 1.51953125 -2 0.7243617940450235] - [0 -0.6550158436937226 -2.861328125 -2 1.8212734549263097]] - - Final Population - [[3 3.7729827570110714 2.055 0 0.7243617940450235] - [3 3.7729827570110714 1.458 0 -0.14638754050305036] - [3 3.7729827570110714 1.458 0 0.0869406120516778] - [3 3.7729827570110714 1.458 0 0.7243617940450235] - [3 3.7729827570110714 1.458 0 -0.14638754050305036]] - -Data Type for each Individual Gene with Precision -------------------------------------------------- - -The precision can also be specified for the ``float`` data types as in -the next line where the second gene precision is 2 and last gene -precision is 1. - -.. code:: python - - gene_type=[int, [float, 2], numpy.float16, numpy.int8, [float, 1]] - -This is a complete example where the initial and final populations are -printed where the genes comply with the data types and precisions -specified. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4, -2, 3.5, 8, -2] - desired_output = 2671.1234 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - gene_type=[int, [float, 2], numpy.float16, numpy.int8, [float, 1]]) - - print("Initial Population") - print(ga_instance.initial_population) - - ga_instance.run() - - print("Final Population") - print(ga_instance.population) - -.. code:: python - - Initial Population - [[-2 -1.22 1.716796875 -1 0.2] - [-1 -1.58 -3.091796875 0 -1.3] - [3 3.35 -0.107421875 1 -3.3] - [-2 -3.58 -1.779296875 0 0.6] - [2 -3.73 2.65234375 3 -0.5]] - - Final Population - [[2 -4.22 3.47 3 -1.3] - [2 -3.73 3.47 3 -1.3] - [2 -4.22 3.47 2 -1.3] - [2 -4.58 3.47 3 -1.3] - [2 -3.73 3.47 3 -1.3]] - -Visualization in PyGAD -====================== - -This section discusses the different options to visualize the results in -PyGAD through these methods: - -1. ``plot_fitness()`` - -2. ``plot_genes()`` - -3. ``plot_new_solution_rate()`` - -In the following code, the ``save_solutions`` flag is set to ``True`` -which means all solutions are saved in the ``solutions`` attribute. The -code runs for only 10 generations. - -.. code:: python - - import pygad - import numpy - - equation_inputs = [4, -2, 3.5, 8, -2, 3.5, 8] - desired_output = 2671.1234 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=10, - num_parents_mating=5, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - gene_space=[range(1, 10), range(10, 20), range(15, 30), range(20, 40), range(25, 50), range(10, 30), range(20, 50)], - gene_type=int, - save_solutions=True) - - ga_instance.run() - -Let's explore how to visualize the results by the above mentioned -methods. - -.. _plotfitness-2: - -``plot_fitness()`` ------------------- - -The ``plot_fitness()`` method shows the fitness value for each -generation. - -.. _plottypeplot: - -``plot_type="plot"`` -~~~~~~~~~~~~~~~~~~~~ - -The simplest way to call this method is as follows leaving the -``plot_type`` with its default value ``"plot"`` to create a continuous -line connecting the fitness values across all generations: - -.. code:: python - - ga_instance.plot_fitness() - # ga_instance.plot_fitness(plot_type="plot") - -.. figure:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png - :alt: - -.. _plottypescatter: - -``plot_type="scatter"`` -~~~~~~~~~~~~~~~~~~~~~~~ - -The ``plot_type`` can also be set to ``"scatter"`` to create a scatter -graph with each individual fitness represented as a dot. The size of -these dots can be changed using the ``linewidth`` parameter. - -.. code:: python - - ga_instance.plot_fitness(plot_type="scatter") - -.. figure:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png - :alt: - -.. _plottypebar: - -``plot_type="bar"`` -~~~~~~~~~~~~~~~~~~~ - -The third value for the ``plot_type`` parameter is ``"bar"`` to create a -bar graph with each individual fitness represented as a bar. - -.. code:: python - - ga_instance.plot_fitness(plot_type="bar") - -.. figure:: https://user-images.githubusercontent.com/16560492/122473340-b7736c80-cf8f-11eb-89c5-4f7db3b653cc.png - :alt: - -.. _plotnewsolutionrate-2: - -``plot_new_solution_rate()`` ----------------------------- - -The ``plot_new_solution_rate()`` method presents the number of new -solutions explored in each generation. This helps to figure out if the -genetic algorithm is able to find new solutions as an indication of more -possible evolution. If no new solutions are explored, this is an -indication that no further evolution is possible. - -The ``plot_new_solution_rate()`` method accepts the same parameters as -in the ``plot_fitness()`` method with 3 possible values for -``plot_type`` parameter. - -.. _plottypeplot-2: - -``plot_type="plot"`` -~~~~~~~~~~~~~~~~~~~~ - -The default value for the ``plot_type`` parameter is ``"plot"``. - -.. code:: python - - ga_instance.plot_new_solution_rate() - # ga_instance.plot_new_solution_rate(plot_type="plot") - -The next figure shows that, for example, generation 6 has the least -number of new solutions which is 4. The number of new solutions in the -first generation is always equal to the number of solutions in the -population (i.e. the value assigned to the ``sol_per_pop`` parameter in -the constructor of the ``pygad.GA`` class) which is 10 in this example. - -.. figure:: https://user-images.githubusercontent.com/16560492/122475815-3322e880-cf93-11eb-9648-bf66f823234b.png - :alt: - -.. _plottypescatter-2: - -``plot_type="scatter"`` -~~~~~~~~~~~~~~~~~~~~~~~ - -The previous graph can be represented as scattered points by setting -``plot_type="scatter"``. - -.. code:: python - - ga_instance.plot_new_solution_rate(plot_type="scatter") - -.. figure:: https://user-images.githubusercontent.com/16560492/122476108-adec0380-cf93-11eb-80ac-7588bf90492f.png - :alt: - -.. _plottypebar-2: - -``plot_type="bar"`` -~~~~~~~~~~~~~~~~~~~ - -By setting ``plot_type="scatter"``, each value is represented as a -vertical bar. - -.. code:: python - - ga_instance.plot_new_solution_rate(plot_type="bar") - -.. figure:: https://user-images.githubusercontent.com/16560492/122476173-c2c89700-cf93-11eb-9e77-d39737cd3a96.png - :alt: - -.. _plotgenes-2: - -``plot_genes()`` ----------------- - -The ``plot_genes()`` method is the third option to visualize the PyGAD -results. This method has 3 control variables: - -1. ``graph_type="plot"``: Can be ``"plot"`` (default), ``"boxplot"``, or - ``"histogram"``. - -2. ``plot_type="plot"``: Identical to the ``plot_type`` parameter - explored in the ``plot_fitness()`` and ``plot_new_solution_rate()`` - methods. - -3. ``solutions="all"``: Can be ``"all"`` (default) or ``"best"``. - -These 3 parameters controls the style of the output figure. - -The ``graph_type`` parameter selects the type of the graph which helps -to explore the gene values as: - -1. A normal plot. - -2. A histogram. - -3. A box and whisker plot. - -The ``plot_type`` parameter works only when the type of the graph is set -to ``"plot"``. - -The ``solutions`` parameter selects whether the genes come from all -solutions in the population or from just the best solutions. - -.. _graphtypeplot: - -``graph_type="plot"`` -~~~~~~~~~~~~~~~~~~~~~ - -When ``graph_type="plot"``, then the figure creates a normal graph where -the relationship between the gene values and the generation numbers is -represented as a continuous plot, scattered points, or bars. - -.. _plottypeplot-3: - -``plot_type="plot"`` -^^^^^^^^^^^^^^^^^^^^ - -Because the default value for both ``graph_type`` and ``plot_type`` is -``"plot"``, then all of the lines below creates the same figure. This -figure is helpful to know whether a gene value lasts for more -generations as an indication of the best value for this gene. For -example, the value 16 for the gene with index 5 (at column 2 and row 2 -of the next graph) lasted for 83 generations. - -.. code:: python - - ga_instance.plot_genes() - - ga_instance.plot_genes(graph_type="plot") - - ga_instance.plot_genes(plot_type="plot") - - ga_instance.plot_genes(graph_type="plot", - plot_type="plot") - -.. figure:: https://user-images.githubusercontent.com/16560492/122477158-4a62d580-cf95-11eb-8c93-9b6e74cb814c.png - :alt: - -As the default value for the ``solutions`` parameter is ``"all"``, then -the following method calls generate the same plot. - -.. code:: python - - ga_instance.plot_genes(solutions="all") - - ga_instance.plot_genes(graph_type="plot", - solutions="all") - - ga_instance.plot_genes(plot_type="plot", - solutions="all") - - ga_instance.plot_genes(graph_type="plot", - plot_type="plot", - solutions="all") - -.. _plottypescatter-3: - -``plot_type="scatter"`` -^^^^^^^^^^^^^^^^^^^^^^^ - -The following calls of the ``plot_genes()`` method create the same -scatter plot. - -.. code:: python - - ga_instance.plot_genes(plot_type="scatter") - - ga_instance.plot_genes(graph_type="plot", - plot_type="scatter", - solutions='all') - -.. figure:: https://user-images.githubusercontent.com/16560492/122477273-73836600-cf95-11eb-828f-f357c7b0f815.png - :alt: - -.. _plottypebar-3: - -``plot_type="bar"`` -^^^^^^^^^^^^^^^^^^^ - -.. code:: python - - ga_instance.plot_genes(plot_type="bar") - - ga_instance.plot_genes(graph_type="plot", - plot_type="bar", - solutions='all') - -.. figure:: https://user-images.githubusercontent.com/16560492/122477370-99106f80-cf95-11eb-8643-865b55e6b844.png - :alt: - -.. _graphtypeboxplot: - -``graph_type="boxplot"`` -~~~~~~~~~~~~~~~~~~~~~~~~ - -By setting ``graph_type`` to ``"boxplot"``, then a box and whisker graph -is created. Now, the ``plot_type`` parameter has no effect. - -The following 2 calls of the ``plot_genes()`` method create the same -figure as the default value for the ``solutions`` parameter is -``"all"``. - -.. code:: python - - ga_instance.plot_genes(graph_type="boxplot") - - ga_instance.plot_genes(graph_type="boxplot", - solutions='all') - -.. figure:: https://user-images.githubusercontent.com/16560492/122479260-beeb4380-cf98-11eb-8f08-23707929b12c.png - :alt: - -.. _graphtypehistogram: - -``graph_type="histogram"`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -For ``graph_type="boxplot"``, then a histogram is created for each gene. -Similar to ``graph_type="boxplot"``, the ``plot_type`` parameter has no -effect. - -The following 2 calls of the ``plot_genes()`` method create the same -figure as the default value for the ``solutions`` parameter is -``"all"``. - -.. code:: python - - ga_instance.plot_genes(graph_type="histogram") - - ga_instance.plot_genes(graph_type="histogram", - solutions='all') - -.. figure:: https://user-images.githubusercontent.com/16560492/122477314-8007be80-cf95-11eb-9c95-da3f49204151.png - :alt: - -All the previous figures can be created for only the best solutions by -setting ``solutions="best"``. - -Parallel Processing in PyGAD -============================ - -Starting from `PyGAD -2.17.0 `__, -parallel processing becomes supported. This section explains how to use -parallel processing in PyGAD. - -According to the `PyGAD -lifecycle `__, -parallel processing can be parallelized in only 2 operations: - -1. Population fitness calculation. - -2. Mutation. - -The reason is that the calculations in these 2 operations are -independent (i.e. each solution/chromosome is handled independently from -the others) and can be distributed across different processes or -threads. - -For the mutation operation, it does not do intensive calculations on the -CPU. Its calculations are simple like flipping the values of some genes -from 0 to 1 or adding a random value to some genes. So, it does not take -much CPU processing time. Experiments proved that parallelizing the -mutation operation across the solutions increases the time instead of -reducing it. This is because running multiple processes or threads adds -overhead to manage them. Thus, parallel processing cannot be applied on -the mutation operation. - -For the population fitness calculation, parallel processing can help -make a difference and reduce the processing time. But this is -conditional on the type of calculations done in the fitness function. If -the fitness function makes intensive calculations and takes much -processing time from the CPU, then it is probably that parallel -processing will help to cut down the overall time. - -This section explains how parallel processing works in PyGAD and how to -use parallel processing in PyGAD - -How to Use Parallel Processing in PyGAD ---------------------------------------- - -Starting from `PyGAD -2.17.0 `__, -a new parameter called ``parallel_processing`` added to the constructor -of the ``pygad.GA`` class. - -.. code:: python - - import pygad - ... - ga_instance = pygad.GA(..., - parallel_processing=...) - ... - -This parameter allows the user to do the following: - -1. Enable parallel processing. - -2. Select whether processes or threads are used. - -3. Specify the number of processes or threads to be used. - -These are 3 possible values for the ``parallel_processing`` parameter: - -1. ``None``: (Default) It means no parallel processing is used. - -2. A positive integer referring to the number of threads to be used - (i.e. threads, not processes, are used. - -3. ``list``/``tuple``: If a list or a tuple of exactly 2 elements is - assigned, then: - - 1. The first element can be either ``'process'`` or ``'thread'`` to - specify whether processes or threads are used, respectively. - - 2. The second element can be: - - 1. A positive integer to select the maximum number of processes or - threads to be used - - 2. ``0`` to indicate that 0 processes or threads are used. It - means no parallel processing. This is identical to setting - ``parallel_processing=None``. - - 3. ``None`` to use the default value as calculated by the - ``concurrent.futures module``. - -These are examples of the values assigned to the ``parallel_processing`` -parameter: - -- ``parallel_processing=4``: Because the parameter is assigned a - positive integer, this means parallel processing is activated where 4 - threads are used. - -- ``parallel_processing=["thread", 5]``: Use parallel processing with 5 - threads. This is identical to ``parallel_processing=5``. - -- ``parallel_processing=["process", 8]``: Use parallel processing with - 8 processes. - -- ``parallel_processing=["process", 0]``: As the second element is - given the value 0, this means do not use parallel processing. This is - identical to ``parallel_processing=None``. - -Examples --------- - -The examples will help you know the difference between using processes -and threads. Moreover, it will give an idea when parallel processing -would make a difference and reduce the time. These are dummy examples -where the fitness function is made to always return 0. - -The first example uses 10 genes, 5 solutions in the population where -only 3 solutions mate, and 9999 generations. The fitness function uses a -``for`` loop with 100 iterations just to have some calculations. In the -constructor of the ``pygad.GA`` class, ``parallel_processing=None`` -means no parallel processing is used. - -.. code:: python - - import pygad - import time - - def fitness_func(ga_instance, solution, solution_idx): - for _ in range(99): - pass - return 0 - - ga_instance = pygad.GA(num_generations=9999, - num_parents_mating=3, - sol_per_pop=5, - num_genes=10, - fitness_func=fitness_func, - suppress_warnings=True, - parallel_processing=None) - - if __name__ == '__main__': - t1 = time.time() - - ga_instance.run() - - t2 = time.time() - print("Time is", t2-t1) - -When parallel processing is not used, the time it takes to run the -genetic algorithm is ``1.5`` seconds. - -In the comparison, let's do a second experiment where parallel -processing is used with 5 threads. In this case, it take ``5`` seconds. - -.. code:: python - - ... - ga_instance = pygad.GA(..., - parallel_processing=5) - ... - -For the third experiment, processes instead of threads are used. Also, -only 99 generations are used instead of 9999. The time it takes is -``99`` seconds. - -.. code:: python - - ... - ga_instance = pygad.GA(num_generations=99, - ..., - parallel_processing=["process", 5]) - ... - -This is the summary of the 3 experiments: - -1. No parallel processing & 9999 generations: 1.5 seconds. - -2. Parallel processing with 5 threads & 9999 generations: 5 seconds - -3. Parallel processing with 5 processes & 99 generations: 99 seconds - -Because the fitness function does not need much CPU time, the normal -processing takes the least time. Running processes for this simple -problem takes 99 compared to only 5 seconds for threads because managing -processes is much heavier than managing threads. Thus, most of the CPU -time is for swapping the processes instead of executing the code. - -In the second example, the loop makes 99999999 iterations and only 5 -generations are used. With no parallelization, it takes 22 seconds. - -.. code:: python - - import pygad - import time - - def fitness_func(ga_instance, solution, solution_idx): - for _ in range(99999999): - pass - return 0 - - ga_instance = pygad.GA(num_generations=5, - num_parents_mating=3, - sol_per_pop=5, - num_genes=10, - fitness_func=fitness_func, - suppress_warnings=True, - parallel_processing=None) - - if __name__ == '__main__': - t1 = time.time() - ga_instance.run() - t2 = time.time() - print("Time is", t2-t1) - -It takes 15 seconds when 10 processes are used. - -.. code:: python - - ... - ga_instance = pygad.GA(..., - parallel_processing=["process", 10]) - ... - -This is compared to 20 seconds when 10 threads are used. - -.. code:: python - - ... - ga_instance = pygad.GA(..., - parallel_processing=["thread", 10]) - ... - -Based on the second example, using parallel processing with 10 processes -takes the least time because there is much CPU work done. Generally, -processes are preferred over threads when most of the work in on the -CPU. Threads are preferred over processes in some situations like doing -input/output operations. - -*Before releasing* `PyGAD -2.17.0 `__\ *,* -`László -Fazekas `__ -*wrote an article to parallelize the fitness function with PyGAD. Check -it:* `How Genetic Algorithms Can Compete with Gradient Descent and -Backprop `__. - -Print Lifecycle Summary -======================= - -In `PyGAD -2.19.0 `__, -a new method called ``summary()`` is supported. It prints a Keras-like -summary of the PyGAD lifecycle showing the steps, callback functions, -parameters, etc. - -This method accepts the following parameters: - -- ``line_length=70``: An integer representing the length of the single - line in characters. - -- ``fill_character=" "``: A character to fill the lines. - -- ``line_character="-"``: A character for creating a line separator. - -- ``line_character2="="``: A secondary character to create a line - separator. - -- ``columns_equal_len=False``: The table rows are split into - equal-sized columns or split subjective to the width needed. - -- ``print_step_parameters=True``: Whether to print extra parameters - about each step inside the step. If ``print_step_parameters=False`` - and ``print_parameters_summary=True``, then the parameters of each - step are printed at the end of the table. - -- ``print_parameters_summary=True``: Whether to print parameters - summary at the end of the table. If ``print_step_parameters=False``, - then the parameters of each step are printed at the end of the table - too. - -This is a quick example to create a PyGAD example. - -.. code:: python - - import pygad - import numpy - - function_inputs = [4,-2,3.5,5,-11,-4.7] - desired_output = 44 - - def genetic_fitness(solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - def on_gen(ga): - pass - - def on_crossover_callback(a, b): - pass - - ga_instance = pygad.GA(num_generations=100, - num_parents_mating=10, - sol_per_pop=20, - num_genes=len(function_inputs), - on_crossover=on_crossover_callback, - on_generation=on_gen, - parallel_processing=2, - stop_criteria="reach_10", - fitness_batch_size=4, - crossover_probability=0.4, - fitness_func=genetic_fitness) - -Then call the ``summary()`` method to print the summary with the default -parameters. Note that entries for the crossover and generation callback -function are created because their callback functions are implemented -through the ``on_crossover_callback()`` and ``on_gen()``, respectively. - -.. code:: python - - ga_instance.summary() - -.. code:: bash - - ---------------------------------------------------------------------- - PyGAD Lifecycle - ====================================================================== - Step Handler Output Shape - ====================================================================== - Fitness Function genetic_fitness() (1) - Fitness batch size: 4 - ---------------------------------------------------------------------- - Parent Selection steady_state_selection() (10, 6) - Number of Parents: 10 - ---------------------------------------------------------------------- - Crossover single_point_crossover() (10, 6) - Crossover probability: 0.4 - ---------------------------------------------------------------------- - On Crossover on_crossover_callback() None - ---------------------------------------------------------------------- - Mutation random_mutation() (10, 6) - Mutation Genes: 1 - Random Mutation Range: (-1.0, 1.0) - Mutation by Replacement: False - Allow Duplicated Genes: True - ---------------------------------------------------------------------- - On Generation on_gen() None - Stop Criteria: [['reach', 10.0]] - ---------------------------------------------------------------------- - ====================================================================== - Population Size: (20, 6) - Number of Generations: 100 - Initial Population Range: (-4, 4) - Keep Elitism: 1 - Gene DType: [, None] - Parallel Processing: ['thread', 2] - Save Best Solutions: False - Save Solutions: False - ====================================================================== - -We can set the ``print_step_parameters`` and -``print_parameters_summary`` parameters to ``False`` to not print the -parameters. - -.. code:: python - - ga_instance.summary(print_step_parameters=False, - print_parameters_summary=False) - -.. code:: bash - - ---------------------------------------------------------------------- - PyGAD Lifecycle - ====================================================================== - Step Handler Output Shape - ====================================================================== - Fitness Function genetic_fitness() (1) - ---------------------------------------------------------------------- - Parent Selection steady_state_selection() (10, 6) - ---------------------------------------------------------------------- - Crossover single_point_crossover() (10, 6) - ---------------------------------------------------------------------- - On Crossover on_crossover_callback() None - ---------------------------------------------------------------------- - Mutation random_mutation() (10, 6) - ---------------------------------------------------------------------- - On Generation on_gen() None - ---------------------------------------------------------------------- - ====================================================================== - -Logging Outputs -=============== - -In `PyGAD -3.0.0 `__, -the ``print()`` statement is no longer used and the outputs are printed -using the `logging `__ -module. A a new parameter called ``logger`` is supported to accept the -user-defined logger. - -.. code:: python - - import logging - - logger = ... - - ga_instance = pygad.GA(..., - logger=logger, - ...) - -The default value for this parameter is ``None``. If there is no logger -passed (i.e. ``logger=None``), then a default logger is created to log -the messages to the console exactly like how the ``print()`` statement -works. - -Some advantages of using the the -`logging `__ module -instead of the ``print()`` statement are: - -1. The user has more control over the printed messages specially if - there is a project that uses multiple modules where each module - prints its messages. A logger can organize the outputs. - -2. Using the proper ``Handler``, the user can log the output messages to - files and not only restricted to printing it to the console. So, it - is much easier to record the outputs. - -3. The format of the printed messages can be changed by customizing the - ``Formatter`` assigned to the Logger. - -This section gives some quick examples to use the ``logging`` module and -then gives an example to use the logger with PyGAD. - -Logging to the Console ----------------------- - -This is an example to create a logger to log the messages to the -console. - -.. code:: python - - import logging - - # Create a logger - logger = logging.getLogger(__name__) - - # Set the logger level to debug so that all the messages are printed. - logger.setLevel(logging.DEBUG) - - # Create a stream handler to log the messages to the console. - stream_handler = logging.StreamHandler() - - # Set the handler level to debug. - stream_handler.setLevel(logging.DEBUG) - - # Create a formatter - formatter = logging.Formatter('%(message)s') - - # Add the formatter to handler. - stream_handler.setFormatter(formatter) - - # Add the stream handler to the logger - logger.addHandler(stream_handler) - -Now, we can log messages to the console with the format specified in the -``Formatter``. - -.. code:: python - - logger.debug('Debug message.') - logger.info('Info message.') - logger.warning('Warn message.') - logger.error('Error message.') - logger.critical('Critical message.') - -The outputs are identical to those returned using the ``print()`` -statement. - -.. code:: - - Debug message. - Info message. - Warn message. - Error message. - Critical message. - -By changing the format of the output messages, we can have more -information about each message. - -.. code:: python - - formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') - -This is a sample output. - -.. code:: python - - 2023-04-03 18:46:27 DEBUG: Debug message. - 2023-04-03 18:46:27 INFO: Info message. - 2023-04-03 18:46:27 WARNING: Warn message. - 2023-04-03 18:46:27 ERROR: Error message. - 2023-04-03 18:46:27 CRITICAL: Critical message. - -Note that you may need to clear the handlers after finishing the -execution. This is to make sure no cached handlers are used in the next -run. If the cached handlers are not cleared, then the single output -message may be repeated. - -.. code:: python - - logger.handlers.clear() - -Logging to a File ------------------ - -This is another example to log the messages to a file named -``logfile.txt``. The formatter prints the following about each message: - -1. The date and time at which the message is logged. - -2. The log level. - -3. The message. - -4. The path of the file. - -5. The lone number of the log message. - -.. code:: python - - import logging - - level = logging.DEBUG - name = 'logfile.txt' - - logger = logging.getLogger(name) - logger.setLevel(level) - - file_handler = logging.FileHandler(name, 'a+', 'utf-8') - file_handler.setLevel(logging.DEBUG) - file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s - %(pathname)s:%(lineno)d', datefmt='%Y-%m-%d %H:%M:%S') - file_handler.setFormatter(file_format) - logger.addHandler(file_handler) - -This is how the outputs look like. - -.. code:: python - - 2023-04-03 18:54:03 DEBUG: Debug message. - c:\users\agad069\desktop\logger\example2.py:46 - 2023-04-03 18:54:03 INFO: Info message. - c:\users\agad069\desktop\logger\example2.py:47 - 2023-04-03 18:54:03 WARNING: Warn message. - c:\users\agad069\desktop\logger\example2.py:48 - 2023-04-03 18:54:03 ERROR: Error message. - c:\users\agad069\desktop\logger\example2.py:49 - 2023-04-03 18:54:03 CRITICAL: Critical message. - c:\users\agad069\desktop\logger\example2.py:50 - -Consider clearing the handlers if necessary. - -.. code:: python - - logger.handlers.clear() - -Log to Both the Console and a File ----------------------------------- - -This is an example to create a single Logger associated with 2 handlers: - -1. A file handler. - -2. A stream handler. - -.. code:: python - - import logging - - level = logging.DEBUG - name = 'logfile.txt' - - logger = logging.getLogger(name) - logger.setLevel(level) - - file_handler = logging.FileHandler(name,'a+','utf-8') - file_handler.setLevel(logging.DEBUG) - file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s - %(pathname)s:%(lineno)d', datefmt='%Y-%m-%d %H:%M:%S') - file_handler.setFormatter(file_format) - logger.addHandler(file_handler) - - console_handler = logging.StreamHandler() - console_handler.setLevel(logging.INFO) - console_format = logging.Formatter('%(message)s') - console_handler.setFormatter(console_format) - logger.addHandler(console_handler) - -When a log message is executed, then it is both printed to the console -and saved in the ``logfile.txt``. - -Consider clearing the handlers if necessary. - -.. code:: python - - logger.handlers.clear() - -PyGAD Example -------------- - -To use the logger in PyGAD, just create your custom logger and pass it -to the ``logger`` parameter. - -.. code:: python - - import logging - import pygad - import numpy - - level = logging.DEBUG - name = 'logfile.txt' - - logger = logging.getLogger(name) - logger.setLevel(level) - - file_handler = logging.FileHandler(name,'a+','utf-8') - file_handler.setLevel(logging.DEBUG) - file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') - file_handler.setFormatter(file_format) - logger.addHandler(file_handler) - - console_handler = logging.StreamHandler() - console_handler.setLevel(logging.INFO) - console_format = logging.Formatter('%(message)s') - console_handler.setFormatter(console_format) - logger.addHandler(console_handler) - - equation_inputs = [4, -2, 8] - desired_output = 2671.1234 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - def on_generation(ga_instance): - ga_instance.logger.info("Generation = {generation}".format(generation=ga_instance.generations_completed)) - ga_instance.logger.info("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) - - ga_instance = pygad.GA(num_generations=10, - sol_per_pop=40, - num_parents_mating=2, - keep_parents=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - on_generation=on_generation, - logger=logger) - ga_instance.run() - - logger.handlers.clear() - -By executing this code, the logged messages are printed to the console -and also saved in the text file. - -.. code:: python - - 2023-04-03 19:04:27 INFO: Generation = 1 - 2023-04-03 19:04:27 INFO: Fitness = 0.00038086960368076276 - 2023-04-03 19:04:27 INFO: Generation = 2 - 2023-04-03 19:04:27 INFO: Fitness = 0.00038214871408010853 - 2023-04-03 19:04:27 INFO: Generation = 3 - 2023-04-03 19:04:27 INFO: Fitness = 0.0003832795907974678 - 2023-04-03 19:04:27 INFO: Generation = 4 - 2023-04-03 19:04:27 INFO: Fitness = 0.00038398612055017196 - 2023-04-03 19:04:27 INFO: Generation = 5 - 2023-04-03 19:04:27 INFO: Fitness = 0.00038442348890867516 - 2023-04-03 19:04:27 INFO: Generation = 6 - 2023-04-03 19:04:27 INFO: Fitness = 0.0003854406039137763 - 2023-04-03 19:04:27 INFO: Generation = 7 - 2023-04-03 19:04:27 INFO: Fitness = 0.00038646083174063284 - 2023-04-03 19:04:27 INFO: Generation = 8 - 2023-04-03 19:04:27 INFO: Fitness = 0.0003875169193024936 - 2023-04-03 19:04:27 INFO: Generation = 9 - 2023-04-03 19:04:27 INFO: Fitness = 0.0003888816727311021 - 2023-04-03 19:04:27 INFO: Generation = 10 - 2023-04-03 19:04:27 INFO: Fitness = 0.000389832593101348 - -Batch Fitness Calculation -========================= - -In `PyGAD -2.19.0 `__, -a new optional parameter called ``fitness_batch_size`` is supported. A -new optional parameter called ``fitness_batch_size`` is supported to -calculate the fitness function in batches. Thanks to `Linan -Qiu `__ for opening the `GitHub issue -#136 `__. - -Its values can be: - -- ``1`` or ``None``: If the ``fitness_batch_size`` parameter is - assigned the value ``1`` or ``None`` (default), then the normal flow - is used where the fitness function is called for each individual - solution. That is if there are 15 solutions, then the fitness - function is called 15 times. - -- ``1 < fitness_batch_size <= sol_per_pop``: If the - ``fitness_batch_size`` parameter is assigned a value satisfying this - condition ``1 < fitness_batch_size <= sol_per_pop``, then the - solutions are grouped into batches of size ``fitness_batch_size`` and - the fitness function is called once for each batch. In this case, the - fitness function must return a list/tuple/numpy.ndarray with a length - equal to the number of solutions passed. - -.. _example-without-fitnessbatchsize-parameter: - -Example without ``fitness_batch_size`` Parameter ------------------------------------------------- - -This is an example where the ``fitness_batch_size`` parameter is given -the value ``None`` (which is the default value). This is equivalent to -using the value ``1``. In this case, the fitness function will be called -for each solution. This means the fitness function ``fitness_func`` will -receive only a single solution. This is an example of the passed -arguments to the fitness function: - -.. code:: - - solution: [ 2.52860734, -0.94178795, 2.97545704, 0.84131987, -3.78447118, 2.41008358] - solution_idx: 3 - -The fitness function also must return a single numeric value as the -fitness for the passed solution. - -As we have a population of ``20`` solutions, then the fitness function -is called 20 times per generation. For 5 generations, then the fitness -function is called ``20*5 = 100`` times. In PyGAD, the fitness function -is called after the last generation too and this adds additional 20 -times. So, the total number of calls to the fitness function is -``20*5 + 20 = 120``. - -Note that the ``keep_elitism`` and ``keep_parents`` parameters are set -to ``0`` to make sure no fitness values are reused and to force calling -the fitness function for each individual solution. - -.. code:: python - - import pygad - import numpy - - function_inputs = [4,-2,3.5,5,-11,-4.7] - desired_output = 44 - - number_of_calls = 0 - - def fitness_func(ga_instance, solution, solution_idx): - global number_of_calls - number_of_calls = number_of_calls + 1 - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - ga_instance = pygad.GA(num_generations=5, - num_parents_mating=10, - sol_per_pop=20, - fitness_func=fitness_func, - fitness_batch_size=None, - # fitness_batch_size=1, - num_genes=len(function_inputs), - keep_elitism=0, - keep_parents=0) - - ga_instance.run() - print(number_of_calls) - -.. code:: - - 120 - -.. _example-with-fitnessbatchsize-parameter: - -Example with ``fitness_batch_size`` Parameter ---------------------------------------------- - -This is an example where the ``fitness_batch_size`` parameter is used -and assigned the value ``4``. This means the solutions will be grouped -into batches of ``4`` solutions. The fitness function will be called -once for each patch (i.e. called once for each 4 solutions). - -This is an example of the arguments passed to it: - -.. code:: python - - solutions: - [[ 3.1129432 -0.69123589 1.93792414 2.23772968 -1.54616001 -0.53930799] - [ 3.38508121 0.19890812 1.93792414 2.23095014 -3.08955597 3.10194128] - [ 2.37079504 -0.88819803 2.97545704 1.41742256 -3.95594055 2.45028256] - [ 2.52860734 -0.94178795 2.97545704 0.84131987 -3.78447118 2.41008358]] - solutions_indices: - [16, 17, 18, 19] - -As we have 20 solutions, then there are ``20/4 = 5`` patches. As a -result, the fitness function is called only 5 times per generation -instead of 20. For each call to the fitness function, it receives a -batch of 4 solutions. - -As we have 5 generations, then the function will be called ``5*5 = 25`` -times. Given the call to the fitness function after the last generation, -then the total number of calls is ``5*5 + 5 = 30``. - -.. code:: python - - import pygad - import numpy - - function_inputs = [4,-2,3.5,5,-11,-4.7] - desired_output = 44 - - number_of_calls = 0 - - def fitness_func_batch(ga_instance, solutions, solutions_indices): - global number_of_calls - number_of_calls = number_of_calls + 1 - batch_fitness = [] - for solution in solutions: - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - batch_fitness.append(fitness) - return batch_fitness - - ga_instance = pygad.GA(num_generations=5, - num_parents_mating=10, - sol_per_pop=20, - fitness_func=fitness_func_batch, - fitness_batch_size=4, - num_genes=len(function_inputs), - keep_elitism=0, - keep_parents=0) - - ga_instance.run() - print(number_of_calls) - -.. code:: - - 30 - -When batch fitness calculation is used, then we saved ``120 - 30 = 90`` -calls to the fitness function. - -Use Functions and Methods to Build Fitness and Callbacks -======================================================== - -In PyGAD 2.19.0, it is possible to pass user-defined functions or -methods to the following parameters: - -1. ``fitness_func`` - -2. ``on_start`` - -3. ``on_fitness`` - -4. ``on_parents`` - -5. ``on_crossover`` - -6. ``on_mutation`` - -7. ``on_generation`` - -8. ``on_stop`` - -This section gives 2 examples to assign these parameters user-defined: - -1. Functions. - -2. Methods. - -Assign Functions ----------------- - -This is a dummy example where the fitness function returns a random -value. Note that the instance of the ``pygad.GA`` class is passed as the -last parameter of all functions. - -.. code:: python - - import pygad - import numpy - - def fitness_func(ga_instanse, solution, solution_idx): - return numpy.random.rand() - - def on_start(ga_instanse): - print("on_start") - - def on_fitness(ga_instanse, last_gen_fitness): - print("on_fitness") - - def on_parents(ga_instanse, last_gen_parents): - print("on_parents") - - def on_crossover(ga_instanse, last_gen_offspring): - print("on_crossover") - - def on_mutation(ga_instanse, last_gen_offspring): - print("on_mutation") - - def on_generation(ga_instanse): - print("on_generation\n") - - def on_stop(ga_instanse, last_gen_fitness): - print("on_stop") - - ga_instance = pygad.GA(num_generations=5, - num_parents_mating=4, - sol_per_pop=10, - num_genes=2, - on_start=on_start, - on_fitness=on_fitness, - on_parents=on_parents, - on_crossover=on_crossover, - on_mutation=on_mutation, - on_generation=on_generation, - on_stop=on_stop, - fitness_func=fitness_func) - - ga_instance.run() - -Assign Methods --------------- - -The next example has all the method defined inside the class ``Test``. -All of the methods accept an additional parameter representing the -method's object of the class ``Test``. - -All methods accept ``self`` as the first parameter and the instance of -the ``pygad.GA`` class as the last parameter. - -.. code:: python - - import pygad - import numpy - - class Test: - def fitness_func(self, ga_instanse, solution, solution_idx): - return numpy.random.rand() - - def on_start(self, ga_instanse): - print("on_start") - - def on_fitness(self, ga_instanse, last_gen_fitness): - print("on_fitness") - - def on_parents(self, ga_instanse, last_gen_parents): - print("on_parents") - - def on_crossover(self, ga_instanse, last_gen_offspring): - print("on_crossover") - - def on_mutation(self, ga_instanse, last_gen_offspring): - print("on_mutation") - - def on_generation(self, ga_instanse): - print("on_generation\n") - - def on_stop(self, ga_instanse, last_gen_fitness): - print("on_stop") - - ga_instance = pygad.GA(num_generations=5, - num_parents_mating=4, - sol_per_pop=10, - num_genes=2, - on_start=Test().on_start, - on_fitness=Test().on_fitness, - on_parents=Test().on_parents, - on_crossover=Test().on_crossover, - on_mutation=Test().on_mutation, - on_generation=Test().on_generation, - on_stop=Test().on_stop, - fitness_func=Test().fitness_func) - - ga_instance.run() - -.. _examples-2: - -Examples -======== - -This section gives the complete code of some examples that use -``pygad``. Each subsection builds a different example. - -Linear Model Optimization -------------------------- - -This example is discussed in the `Steps to Use -PyGAD `__ -section which optimizes a linear model. Its complete code is listed -below. - -.. code:: python - - import pygad - import numpy - - """ - Given the following function: - y = f(w1:w6) = w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + 6wx6 - where (x1,x2,x3,x4,x5,x6)=(4,-2,3.5,5,-11,-4.7) and y=44 - What are the best values for the 6 weights (w1 to w6)? We are going to use the genetic algorithm to optimize this function. - """ - - function_inputs = [4,-2,3.5,5,-11,-4.7] # Function inputs. - desired_output = 44 # Function output. - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - num_generations = 100 # Number of generations. - num_parents_mating = 10 # Number of solutions to be selected as parents in the mating pool. - - sol_per_pop = 20 # Number of solutions in the population. - num_genes = len(function_inputs) - - last_fitness = 0 - def on_generation(ga_instance): - global last_fitness - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) - print("Change = {change}".format(change=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - last_fitness)) - last_fitness = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - sol_per_pop=sol_per_pop, - num_genes=num_genes, - fitness_func=fitness_func, - on_generation=on_generation) - - # Running the GA to optimize the parameters of the function. - ga_instance.run() - - ga_instance.plot_fitness() - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution(ga_instance.last_generation_fitness) - print("Parameters of the best solution : {solution}".format(solution=solution)) - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - prediction = numpy.sum(numpy.array(function_inputs)*solution) - print("Predicted output based on the best solution : {prediction}".format(prediction=prediction)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - # Saving the GA instance. - filename = 'genetic' # The filename to which the instance is saved. The name is without extension. - ga_instance.save(filename=filename) - - # Loading the saved GA instance. - loaded_ga_instance = pygad.load(filename=filename) - loaded_ga_instance.plot_fitness() - -Reproducing Images ------------------- - -This project reproduces a single image using PyGAD by evolving pixel -values. This project works with both color and gray images. Check this -project at `GitHub `__: -https://github.com/ahmedfgad/GARI. - -For more information about this project, read this tutorial titled -`Reproducing Images using a Genetic Algorithm with -Python `__ -available at these links: - -- `Heartbeat `__: - https://heartbeat.fritz.ai/reproducing-images-using-a-genetic-algorithm-with-python-91fc701ff84 - -- `LinkedIn `__: - https://www.linkedin.com/pulse/reproducing-images-using-genetic-algorithm-python-ahmed-gad - -Project Steps -~~~~~~~~~~~~~ - -The steps to follow in order to reproduce an image are as follows: - -- Read an image - -- Prepare the fitness function - -- Create an instance of the pygad.GA class with the appropriate - parameters - -- Run PyGAD - -- Plot results - -- Calculate some statistics - -The next sections discusses the code of each of these steps. - -Read an Image -~~~~~~~~~~~~~ - -There is an image named ``fruit.jpg`` in the `GARI -project `__ which is read according -to the next code. - -.. code:: python - - import imageio - import numpy - - target_im = imageio.imread('fruit.jpg') - target_im = numpy.asarray(target_im/255, dtype=float) - -Here is the read image. - -.. figure:: https://user-images.githubusercontent.com/16560492/36948808-f0ac882e-1fe8-11e8-8d07-1307e3477fd0.jpg - :alt: - -Based on the chromosome representation used in the example, the pixel -values can be either in the 0-255, 0-1, or any other ranges. - -Note that the range of pixel values affect other parameters like the -range from which the random values are selected during mutation and also -the range of the values used in the initial population. So, be -consistent. - -Prepare the Fitness Function -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The next code creates a function that will be used as a fitness function -for calculating the fitness value for each solution in the population. -This function must be a maximization function that accepts 3 parameters -representing the instance of the ``pygad.GA`` class, a solution, and its -index. It returns a value representing the fitness value. - -.. code:: python - - import gari - - target_chromosome = gari.img2chromosome(target_im) - - def fitness_fun(ga_instance, solution, solution_idx): - fitness = numpy.sum(numpy.abs(target_chromosome-solution)) - - # Negating the fitness value to make it increasing rather than decreasing. - fitness = numpy.sum(target_chromosome) - fitness - return fitness - -The fitness value is calculated using the sum of absolute difference -between genes values in the original and reproduced chromosomes. The -``gari.img2chromosome()`` function is called before the fitness function -to represent the image as a vector because the genetic algorithm can -work with 1D chromosomes. - -The implementation of the ``gari`` module is available at the `GARI -GitHub -project `__ and -its code is listed below. - -.. code:: python - - import numpy - import functools - import operator - - def img2chromosome(img_arr): - return numpy.reshape(a=img_arr, newshape=(functools.reduce(operator.mul, img_arr.shape))) - - def chromosome2img(vector, shape): - if len(vector) != functools.reduce(operator.mul, shape): - raise ValueError("A vector of length {vector_length} into an array of shape {shape}.".format(vector_length=len(vector), shape=shape)) - - return numpy.reshape(a=vector, newshape=shape) - -.. _create-an-instance-of-the-pygadga-class-2: - -Create an Instance of the ``pygad.GA`` Class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -It is very important to use random mutation and set the -``mutation_by_replacement`` to ``True``. Based on the range of pixel -values, the values assigned to the ``init_range_low``, -``init_range_high``, ``random_mutation_min_val``, and -``random_mutation_max_val`` parameters should be changed. - -If the image pixel values range from 0 to 255, then set -``init_range_low`` and ``random_mutation_min_val`` to 0 as they are but -change ``init_range_high`` and ``random_mutation_max_val`` to 255. - -Feel free to change the other parameters or add other parameters. Please -check the `PyGAD's documentation `__ for -the full list of parameters. - -.. code:: python - - import pygad - - ga_instance = pygad.GA(num_generations=20000, - num_parents_mating=10, - fitness_func=fitness_fun, - sol_per_pop=20, - num_genes=target_im.size, - init_range_low=0.0, - init_range_high=1.0, - mutation_percent_genes=0.01, - mutation_type="random", - mutation_by_replacement=True, - random_mutation_min_val=0.0, - random_mutation_max_val=1.0) - -Run PyGAD -~~~~~~~~~ - -Simply, call the ``run()`` method to run PyGAD. - -.. code:: python - - ga_instance.run() - -Plot Results -~~~~~~~~~~~~ - -After the ``run()`` method completes, the fitness values of all -generations can be viewed in a plot using the ``plot_fitness()`` method. - -.. code:: python - - ga_instance.plot_fitness() - -Here is the plot after 20,000 generations. - -.. figure:: https://user-images.githubusercontent.com/16560492/82232124-77762c00-992e-11ea-9fc6-14a1cd7a04ff.png - :alt: - -Calculate Some Statistics -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here is some information about the best solution. - -.. code:: python - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - if ga_instance.best_solution_generation != -1: - print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - - result = gari.chromosome2img(solution, target_im.shape) - matplotlib.pyplot.imshow(result) - matplotlib.pyplot.title("PyGAD & GARI for Reproducing Images") - matplotlib.pyplot.show() - -Evolution by Generation -~~~~~~~~~~~~~~~~~~~~~~~ - -The solution reached after the 20,000 generations is shown below. - -.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png - :alt: - -After more generations, the result can be enhanced like what shown -below. - -.. figure:: https://user-images.githubusercontent.com/16560492/82232345-cf149780-992e-11ea-8390-bf1a57a19de7.png - :alt: - -The results can also be enhanced by changing the parameters passed to -the constructor of the ``pygad.GA`` class. - -Here is how the image is evolved from generation 0 to generation -20,000s. - -Generation 0 - -.. figure:: https://user-images.githubusercontent.com/16560492/36948589-b47276f0-1fe5-11e8-8efe-0cd1a225ea3a.png - :alt: - -Generation 1,000 - -.. figure:: https://user-images.githubusercontent.com/16560492/36948823-16f490ee-1fe9-11e8-97db-3e8905ad5440.png - :alt: - -Generation 2,500 - -.. figure:: https://user-images.githubusercontent.com/16560492/36948832-3f314b60-1fe9-11e8-8f4a-4d9a53b99f3d.png - :alt: - -Generation 4,500 - -.. figure:: https://user-images.githubusercontent.com/16560492/36948837-53d1849a-1fe9-11e8-9b36-e9e9291e347b.png - :alt: - -Generation 7,000 - -.. figure:: https://user-images.githubusercontent.com/16560492/36948852-66f1b176-1fe9-11e8-9f9b-460804e94004.png - :alt: - -Generation 8,000 - -.. figure:: https://user-images.githubusercontent.com/16560492/36948865-7fbb5158-1fe9-11e8-8c04-8ac3c1f7b1b1.png - :alt: - -Generation 20,000 - -.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png - :alt: - -Clustering ----------- - -For a 2-cluster problem, the code is available -`here `__. -For a 3-cluster problem, the code is -`here `__. -The 2 examples are using artificial samples. - -Soon a tutorial will be published at -`Paperspace `__ to explain how -clustering works using the genetic algorithm with examples in PyGAD. - -CoinTex Game Playing using PyGAD --------------------------------- - -The code is available the `CoinTex GitHub -project `__. -CoinTex is an Android game written in Python using the Kivy framework. -Find CoinTex at `Google -Play `__: -https://play.google.com/store/apps/details?id=coin.tex.cointexreactfast - -Check this `Paperspace -tutorial `__ -for how the genetic algorithm plays CoinTex: -https://blog.paperspace.com/building-agent-for-cointex-using-genetic-algorithm. -Check also this `YouTube video `__ showing -the genetic algorithm while playing CoinTex. +``pygad`` Module +================ + +This section of the PyGAD's library documentation discusses the +``pygad`` module. + +Using the ``pygad`` module, instances of the genetic algorithm can be +created, run, saved, and loaded. + +.. _pygadga-class: + +``pygad.GA`` Class +================== + +The first module available in PyGAD is named ``pygad`` and contains a +class named ``GA`` for building the genetic algorithm. The constructor, +methods, function, and attributes within the class are discussed in this +section. + +.. _init: + +``__init__()`` +-------------- + +For creating an instance of the ``pygad.GA`` class, the constructor +accepts several parameters that allow the user to customize the genetic +algorithm to different types of applications. + +The ``pygad.GA`` class constructor supports the following parameters: + +- ``num_generations``: Number of generations. + +- ``num_parents_mating``: Number of solutions to be selected as + parents. + +- ``fitness_func``: Accepts a function/method and returns the fitness + value of the solution. If a function is passed, then it must accept 3 + parameters (1. the instance of the ``pygad.GA`` class, 2. a single + solution, and 3. its index in the population). If method, then it + accepts a fourth parameter representing the method's class instance. + Check the `Preparing the fitness_func + Parameter `__ + section for information about creating such a function. + +- ``fitness_batch_size=None``: A new optional parameter called + ``fitness_batch_size`` is supported to calculate the fitness function + in batches. If it is assigned the value ``1`` or ``None`` (default), + then the normal flow is used where the fitness function is called for + each individual solution. If the ``fitness_batch_size`` parameter is + assigned a value satisfying this condition + ``1 < fitness_batch_size <= sol_per_pop``, then the solutions are + grouped into batches of size ``fitness_batch_size`` and the fitness + function is called once for each batch. Check the `Batch Fitness + Calculation `__ + section for more details and examples. Added in from `PyGAD + 2.19.0 `__. + +- ``initial_population``: A user-defined initial population. It is + useful when the user wants to start the generations with a custom + initial population. It defaults to ``None`` which means no initial + population is specified by the user. In this case, + `PyGAD `__ creates an initial + population using the ``sol_per_pop`` and ``num_genes`` parameters. An + exception is raised if the ``initial_population`` is ``None`` while + any of the 2 parameters (``sol_per_pop`` or ``num_genes``) is also + ``None``. Introduced in `PyGAD + 2.0.0 `__ + and higher. + +- ``sol_per_pop``: Number of solutions (i.e. chromosomes) within the + population. This parameter has no action if ``initial_population`` + parameter exists. + +- ``num_genes``: Number of genes in the solution/chromosome. This + parameter is not needed if the user feeds the initial population to + the ``initial_population`` parameter. + +- ``gene_type=float``: Controls the gene type. It can be assigned to a + single data type that is applied to all genes or can specify the data + type of each individual gene. It defaults to ``float`` which means + all genes are of ``float`` data type. Starting from `PyGAD + 2.9.0 `__, + the ``gene_type`` parameter can be assigned to a numeric value of any + of these types: ``int``, ``float``, and + ``numpy.int/uint/float(8-64)``. Starting from `PyGAD + 2.14.0 `__, + it can be assigned to a ``list``, ``tuple``, or a ``numpy.ndarray`` + which hold a data type for each gene (e.g. + ``gene_type=[int, float, numpy.int8]``). This helps to control the + data type of each individual gene. In `PyGAD + 2.15.0 `__, + a precision for the ``float`` data types can be specified (e.g. + ``gene_type=[float, 2]``. + +- ``init_range_low=-4``: The lower value of the random range from which + the gene values in the initial population are selected. + ``init_range_low`` defaults to ``-4``. Available in `PyGAD + 1.0.20 `__ + and higher. This parameter has no action if the + ``initial_population`` parameter exists. + +- ``init_range_high=4``: The upper value of the random range from which + the gene values in the initial population are selected. + ``init_range_high`` defaults to ``+4``. Available in `PyGAD + 1.0.20 `__ + and higher. This parameter has no action if the + ``initial_population`` parameter exists. + +- ``parent_selection_type="sss"``: The parent selection type. Supported + types are ``sss`` (for steady-state selection), ``rws`` (for roulette + wheel selection), ``sus`` (for stochastic universal selection), + ``rank`` (for rank selection), ``random`` (for random selection), and + ``tournament`` (for tournament selection). A custom parent selection + function can be passed starting from `PyGAD + 2.16.0 `__. + Check the `User-Defined Crossover, Mutation, and Parent Selection + Operators `__ + section for more details about building a user-defined parent + selection function. + +- ``keep_parents=-1``: Number of parents to keep in the current + population. ``-1`` (default) means to keep all parents in the next + population. ``0`` means keep no parents in the next population. A + value ``greater than 0`` means keeps the specified number of parents + in the next population. Note that the value assigned to + ``keep_parents`` cannot be ``< - 1`` or greater than the number of + solutions within the population ``sol_per_pop``. Starting from `PyGAD + 2.18.0 `__, + this parameter have an effect only when the ``keep_elitism`` + parameter is ``0``. Starting from `PyGAD + 2.20.0 `__, + the parents' fitness from the last generation will not be re-used if + ``keep_parents=0``. + +- ``keep_elitism=1``: Added in `PyGAD + 2.18.0 `__. + It can take the value ``0`` or a positive integer that satisfies + (``0 <= keep_elitism <= sol_per_pop``). It defaults to ``1`` which + means only the best solution in the current generation is kept in the + next generation. If assigned ``0``, this means it has no effect. If + assigned a positive integer ``K``, then the best ``K`` solutions are + kept in the next generation. It cannot be assigned a value greater + than the value assigned to the ``sol_per_pop`` parameter. If this + parameter has a value different than ``0``, then the ``keep_parents`` + parameter will have no effect. + +- ``K_tournament=3``: In case that the parent selection type is + ``tournament``, the ``K_tournament`` specifies the number of parents + participating in the tournament selection. It defaults to ``3``. + +- ``crossover_type="single_point"``: Type of the crossover operation. + Supported types are ``single_point`` (for single-point crossover), + ``two_points`` (for two points crossover), ``uniform`` (for uniform + crossover), and ``scattered`` (for scattered crossover). Scattered + crossover is supported from PyGAD + `2.9.0 `__ + and higher. It defaults to ``single_point``. A custom crossover + function can be passed starting from `PyGAD + 2.16.0 `__. + Check the `User-Defined Crossover, Mutation, and Parent Selection + Operators `__ + section for more details about creating a user-defined crossover + function. Starting from `PyGAD + 2.2.2 `__ + and higher, if ``crossover_type=None``, then the crossover step is + bypassed which means no crossover is applied and thus no offspring + will be created in the next generations. The next generation will use + the solutions in the current population. + +- ``crossover_probability=None``: The probability of selecting a parent + for applying the crossover operation. Its value must be between 0.0 + and 1.0 inclusive. For each parent, a random value between 0.0 and + 1.0 is generated. If this random value is less than or equal to the + value assigned to the ``crossover_probability`` parameter, then the + parent is selected. Added in `PyGAD + 2.5.0 `__ + and higher. + +- ``mutation_type="random"``: Type of the mutation operation. Supported + types are ``random`` (for random mutation), ``swap`` (for swap + mutation), ``inversion`` (for inversion mutation), ``scramble`` (for + scramble mutation), and ``adaptive`` (for adaptive mutation). It + defaults to ``random``. A custom mutation function can be passed + starting from `PyGAD + 2.16.0 `__. + Check the `User-Defined Crossover, Mutation, and Parent Selection + Operators `__ + section for more details about creating a user-defined mutation + function. Starting from `PyGAD + 2.2.2 `__ + and higher, if ``mutation_type=None``, then the mutation step is + bypassed which means no mutation is applied and thus no changes are + applied to the offspring created using the crossover operation. The + offspring will be used unchanged in the next generation. ``Adaptive`` + mutation is supported starting from `PyGAD + 2.10.0 `__. + For more information about adaptive mutation, go the the `Adaptive + Mutation `__ + section. For example about using adaptive mutation, check the `Use + Adaptive Mutation in + PyGAD `__ + section. + +- ``mutation_probability=None``: The probability of selecting a gene + for applying the mutation operation. Its value must be between 0.0 + and 1.0 inclusive. For each gene in a solution, a random value + between 0.0 and 1.0 is generated. If this random value is less than + or equal to the value assigned to the ``mutation_probability`` + parameter, then the gene is selected. If this parameter exists, then + there is no need for the 2 parameters ``mutation_percent_genes`` and + ``mutation_num_genes``. Added in `PyGAD + 2.5.0 `__ + and higher. + +- ``mutation_by_replacement=False``: An optional bool parameter. It + works only when the selected type of mutation is random + (``mutation_type="random"``). In this case, + ``mutation_by_replacement=True`` means replace the gene by the + randomly generated value. If False, then it has no effect and random + mutation works by adding the random value to the gene. Supported in + `PyGAD + 2.2.2 `__ + and higher. Check the changes in `PyGAD + 2.2.2 `__ + under the Release History section for an example. + +- ``mutation_percent_genes="default"``: Percentage of genes to mutate. + It defaults to the string ``"default"`` which is later translated + into the integer ``10`` which means 10% of the genes will be mutated. + It must be ``>0`` and ``<=100``. Out of this percentage, the number + of genes to mutate is deduced which is assigned to the + ``mutation_num_genes`` parameter. The ``mutation_percent_genes`` + parameter has no action if ``mutation_probability`` or + ``mutation_num_genes`` exist. Starting from `PyGAD + 2.2.2 `__ + and higher, this parameter has no action if ``mutation_type`` is + ``None``. + +- ``mutation_num_genes=None``: Number of genes to mutate which defaults + to ``None`` meaning that no number is specified. The + ``mutation_num_genes`` parameter has no action if the parameter + ``mutation_probability`` exists. Starting from `PyGAD + 2.2.2 `__ + and higher, this parameter has no action if ``mutation_type`` is + ``None``. + +- ``random_mutation_min_val=-1.0``: For ``random`` mutation, the + ``random_mutation_min_val`` parameter specifies the start value of + the range from which a random value is selected to be added to the + gene. It defaults to ``-1``. Starting from `PyGAD + 2.2.2 `__ + and higher, this parameter has no action if ``mutation_type`` is + ``None``. + +- ``random_mutation_max_val=1.0``: For ``random`` mutation, the + ``random_mutation_max_val`` parameter specifies the end value of the + range from which a random value is selected to be added to the gene. + It defaults to ``+1``. Starting from `PyGAD + 2.2.2 `__ + and higher, this parameter has no action if ``mutation_type`` is + ``None``. + +- ``gene_space=None``: It is used to specify the possible values for + each gene in case the user wants to restrict the gene values. It is + useful if the gene space is restricted to a certain range or to + discrete values. It accepts a ``list``, ``tuple``, ``range``, or + ``numpy.ndarray``. When all genes have the same global space, specify + their values as a ``list``/``tuple``/``range``/``numpy.ndarray``. For + example, ``gene_space = [0.3, 5.2, -4, 8]`` restricts the gene values + to the 4 specified values. If each gene has its own space, then the + ``gene_space`` parameter can be nested like + ``[[0.4, -5], [0.5, -3.2, 8.2, -9], ...]`` where the first sublist + determines the values for the first gene, the second sublist for the + second gene, and so on. If the nested list/tuple has a ``None`` + value, then the gene's initial value is selected randomly from the + range specified by the 2 parameters ``init_range_low`` and + ``init_range_high`` and its mutation value is selected randomly from + the range specified by the 2 parameters ``random_mutation_min_val`` + and ``random_mutation_max_val``. ``gene_space`` is added in `PyGAD + 2.5.0 `__. + Check the `Release History of PyGAD + 2.5.0 `__ + section of the documentation for more details. In `PyGAD + 2.9.0 `__, + NumPy arrays can be assigned to the ``gene_space`` parameter. In + `PyGAD + 2.11.0 `__, + the ``gene_space`` parameter itself or any of its elements can be + assigned to a dictionary to specify the lower and upper limits of the + genes. For example, ``{'low': 2, 'high': 4}`` means the minimum and + maximum values are 2 and 4, respectively. In `PyGAD + 2.15.0 `__, + a new key called ``"step"`` is supported to specify the step of + moving from the start to the end of the range specified by the 2 + existing keys ``"low"`` and ``"high"``. + +- ``on_start=None``: Accepts a function/method to be called only once + before the genetic algorithm starts its evolution. If function, then + it must accept a single parameter representing the instance of the + genetic algorithm. If method, then it must accept 2 parameters where + the second one refers to the method's object. Added in `PyGAD + 2.6.0 `__. + +- ``on_fitness=None``: Accepts a function/method to be called after + calculating the fitness values of all solutions in the population. If + function, then it must accept 2 parameters: 1) a list of all + solutions' fitness values 2) the instance of the genetic algorithm. + If method, then it must accept 3 parameters where the third one + refers to the method's object. Added in `PyGAD + 2.6.0 `__. + +- ``on_parents=None``: Accepts a function/method to be called after + selecting the parents that mates. If function, then it must accept 2 + parameters: 1) the selected parents 2) the instance of the genetic + algorithm If method, then it must accept 3 parameters where the third + one refers to the method's object. Added in `PyGAD + 2.6.0 `__. + +- ``on_crossover=None``: Accepts a function to be called each time the + crossover operation is applied. This function must accept 2 + parameters: the first one represents the instance of the genetic + algorithm and the second one represents the offspring generated using + crossover. Added in `PyGAD + 2.6.0 `__. + +- ``on_mutation=None``: Accepts a function to be called each time the + mutation operation is applied. This function must accept 2 + parameters: the first one represents the instance of the genetic + algorithm and the second one represents the offspring after applying + the mutation. Added in `PyGAD + 2.6.0 `__. + +- ``on_generation=None``: Accepts a function to be called after each + generation. This function must accept a single parameter representing + the instance of the genetic algorithm. If the function returned the + string ``stop``, then the ``run()`` method stops without completing + the other generations. Added in `PyGAD + 2.6.0 `__. + +- ``on_stop=None``: Accepts a function to be called only once exactly + before the genetic algorithm stops or when it completes all the + generations. This function must accept 2 parameters: the first one + represents the instance of the genetic algorithm and the second one + is a list of fitness values of the last population's solutions. Added + in `PyGAD + 2.6.0 `__. + +- ``delay_after_gen=0.0``: It accepts a non-negative number specifying + the time in seconds to wait after a generation completes and before + going to the next generation. It defaults to ``0.0`` which means no + delay after the generation. Available in `PyGAD + 2.4.0 `__ + and higher. + +- ``save_best_solutions=False``: When ``True``, then the best solution + after each generation is saved into an attribute named + ``best_solutions``. If ``False`` (default), then no solutions are + saved and the ``best_solutions`` attribute will be empty. Supported + in `PyGAD + 2.9.0 `__. + +- ``save_solutions=False``: If ``True``, then all solutions in each + generation are appended into an attribute called ``solutions`` which + is NumPy array. Supported in `PyGAD + 2.15.0 `__. + +- ``suppress_warnings=False``: A bool parameter to control whether the + warning messages are printed or not. It defaults to ``False``. + +- ``allow_duplicate_genes=True``: Added in `PyGAD + 2.13.0 `__. + If ``True``, then a solution/chromosome may have duplicate gene + values. If ``False``, then each gene will have a unique value in its + solution. + +- ``stop_criteria=None``: Some criteria to stop the evolution. Added in + `PyGAD + 2.15.0 `__. + Each criterion is passed as ``str`` which has a stop word. The + current 2 supported words are ``reach`` and ``saturate``. ``reach`` + stops the ``run()`` method if the fitness value is equal to or + greater than a given fitness value. An example for ``reach`` is + ``"reach_40"`` which stops the evolution if the fitness is >= 40. + ``saturate`` means stop the evolution if the fitness saturates for a + given number of consecutive generations. An example for ``saturate`` + is ``"saturate_7"`` which means stop the ``run()`` method if the + fitness does not change for 7 consecutive generations. + +- ``parallel_processing=None``: Added in `PyGAD + 2.17.0 `__. + If ``None`` (Default), this means no parallel processing is applied. + It can accept a list/tuple of 2 elements [1) Can be either + ``'process'`` or ``'thread'`` to indicate whether processes or + threads are used, respectively., 2) The number of processes or + threads to use.]. For example, + ``parallel_processing=['process', 10]`` applies parallel processing + with 10 processes. If a positive integer is assigned, then it is used + as the number of threads. For example, ``parallel_processing=5`` uses + 5 threads which is equivalent to + ``parallel_processing=["thread", 5]``. For more information, check + the `Parallel Processing in + PyGAD `__ + section. + +- ``random_seed=None``: Added in `PyGAD + 2.18.0 `__. + It defines the random seed to be used by the random function + generators (we use random functions in the NumPy and random modules). + This helps to reproduce the same results by setting the same random + seed (e.g. ``random_seed=2``). If given the value ``None``, then it + has no effect. + +- ``logger=None``: Accepts an instance of the ``logging.Logger`` class + to log the outputs. Any message is no longer printed using + ``print()`` but logged. If ``logger=None``, then a logger is created + that uses ``StreamHandler`` to logs the messages to the console. + Added in `PyGAD + 3.0.0 `__. + Check the `Logging + Outputs `__ + for more information. + +The user doesn't have to specify all of such parameters while creating +an instance of the GA class. A very important parameter you must care +about is ``fitness_func`` which defines the fitness function. + +It is OK to set the value of any of the 2 parameters ``init_range_low`` +and ``init_range_high`` to be equal, higher, or lower than the other +parameter (i.e. ``init_range_low`` is not needed to be lower than +``init_range_high``). The same holds for the ``random_mutation_min_val`` +and ``random_mutation_max_val`` parameters. + +If the 2 parameters ``mutation_type`` and ``crossover_type`` are +``None``, this disables any type of evolution the genetic algorithm can +make. As a result, the genetic algorithm cannot find a better solution +that the best solution in the initial population. + +The parameters are validated within the constructor. If at least a +parameter is not correct, an exception is thrown. + +.. _plotting-methods-in-pygadga-class: + +Plotting Methods in ``pygad.GA`` Class +-------------------------------------- + +- ``plot_fitness()``: Shows how the fitness evolves by generation. + +- ``plot_genes()``: Shows how the gene value changes for each + generation. + +- ``plot_new_solution_rate()``: Shows the number of new solutions + explored in each solution. + +Class Attributes +---------------- + +- ``supported_int_types``: A list of the supported types for the + integer numbers. + +- ``supported_float_types``: A list of the supported types for the + floating-point numbers. + +- ``supported_int_float_types``: A list of the supported types for all + numbers. It just concatenates the previous 2 lists. + +.. _other-instance-attributes--methods: + +Other Instance Attributes & Methods +----------------------------------- + +All the parameters and functions passed to the ``pygad.GA`` class +constructor are used as class attributes and methods in the instances of +the ``pygad.GA`` class. In addition to such attributes, there are other +attributes and methods added to the instances of the ``pygad.GA`` class: + +The next 2 subsections list such attributes and methods. + +Other Attributes +~~~~~~~~~~~~~~~~ + +- ``generations_completed``: Holds the number of the last completed + generation. + +- ``population``: A NumPy array holding the initial population. + +- ``valid_parameters``: Set to ``True`` when all the parameters passed + in the ``GA`` class constructor are valid. + +- ``run_completed``: Set to ``True`` only after the ``run()`` method + completes gracefully. + +- ``pop_size``: The population size. + +- ``best_solutions_fitness``: A list holding the fitness values of the + best solutions for all generations. + +- ``best_solution_generation``: The generation number at which the best + fitness value is reached. It is only assigned the generation number + after the ``run()`` method completes. Otherwise, its value is -1. + +- ``best_solutions``: A NumPy array holding the best solution per each + generation. It only exists when the ``save_best_solutions`` parameter + in the ``pygad.GA`` class constructor is set to ``True``. + +- ``last_generation_fitness``: The fitness values of the solutions in + the last generation. `Added in PyGAD + 2.12.0 `__. + +- ``previous_generation_fitness``: At the end of each generation, the + fitness of the most recent population is saved in the + ``last_generation_fitness`` attribute. The fitness of the population + exactly preceding this most recent population is saved in the + ``last_generation_fitness`` attribute. This + ``previous_generation_fitness`` attribute is used to fetch the + pre-calculated fitness instead of calling the fitness function for + already explored solutions. `Added in PyGAD + 2.16.2 `__. + +- ``last_generation_parents``: The parents selected from the last + generation. `Added in PyGAD + 2.12.0 `__. + +- ``last_generation_offspring_crossover``: The offspring generated + after applying the crossover in the last generation. `Added in PyGAD + 2.12.0 `__. + +- ``last_generation_offspring_mutation``: The offspring generated after + applying the mutation in the last generation. `Added in PyGAD + 2.12.0 `__. + +- ``gene_type_single``: A flag that is set to ``True`` if the + ``gene_type`` parameter is assigned to a single data type that is + applied to all genes. If ``gene_type`` is assigned a ``list``, + ``tuple``, or ``numpy.ndarray``, then the value of + ``gene_type_single`` will be ``False``. `Added in PyGAD + 2.14.0 `__. + +- ``last_generation_parents_indices``: This attribute holds the indices + of the selected parents in the last generation. Supported in `PyGAD + 2.15.0 `__. + +- ``last_generation_elitism``: This attribute holds the elitism of the + last generation. It is effective only if the ``keep_elitism`` + parameter has a non-zero value. Supported in `PyGAD + 2.18.0 `__. + +- ``last_generation_elitism_indices``: This attribute holds the indices + of the elitism of the last generation. It is effective only if the + ``keep_elitism`` parameter has a non-zero value. Supported in `PyGAD + 2.19.0 `__. + +- ``logger``: This attribute holds the logger from the ``logging`` + module. Supported in `PyGAD + 3.0.0 `__. + +Note that the attributes with its name start with ``last_generation_`` +are updated after each generation. + +Other Methods +~~~~~~~~~~~~~ + +- ``cal_pop_fitness()``: A method that calculates the fitness values + for all solutions within the population by calling the function + passed to the ``fitness_func`` parameter for each solution. + +- ``crossover()``: Refers to the method that applies the crossover + operator based on the selected type of crossover in the + ``crossover_type`` property. + +- ``mutation()``: Refers to the method that applies the mutation + operator based on the selected type of mutation in the + ``mutation_type`` property. + +- ``select_parents()``: Refers to a method that selects the parents + based on the parent selection type specified in the + ``parent_selection_type`` attribute. + +- ``adaptive_mutation_population_fitness()``: Returns the average + fitness value used in the adaptive mutation to filter the solutions. + +- ``solve_duplicate_genes_randomly()``: Solves the duplicates in a + solution by randomly selecting new values for the duplicating genes. + +- ``solve_duplicate_genes_by_space()``: Solves the duplicates in a + solution by selecting values for the duplicating genes from the gene + space + +- ``unique_int_gene_from_range()``: Finds a unique integer value for + the gene. + +- ``unique_genes_by_space()``: Loops through all the duplicating genes + to find unique values that from their gene spaces to solve the + duplicates. For each duplicating gene, a call to the + ``unique_gene_by_space()`` is made. + +- ``unique_gene_by_space()``: Returns a unique gene value for a single + gene based on its value space to solve the duplicates. + +- ``summary()``: Prints a Keras-like summary of the PyGAD lifecycle. + This helps to have an overview of the architecture. Supported in + `PyGAD + 2.19.0 `__. + Check the `Print Lifecycle + Summary `__ + section for more details and examples. + +The next sections discuss the methods available in the ``pygad.GA`` +class. + +.. _initializepopulation: + +``initialize_population()`` +--------------------------- + +It creates an initial population randomly as a NumPy array. The array is +saved in the instance attribute named ``population``. + +Accepts the following parameters: + +- ``low``: The lower value of the random range from which the gene + values in the initial population are selected. It defaults to -4. + Available in PyGAD 1.0.20 and higher. + +- ``high``: The upper value of the random range from which the gene + values in the initial population are selected. It defaults to -4. + Available in PyGAD 1.0.20. + +This method assigns the values of the following 3 instance attributes: + +1. ``pop_size``: Size of the population. + +2. ``population``: Initially, it holds the initial population and later + updated after each generation. + +3. ``initial_population``: Keeping the initial population. + +.. _calpopfitness: + +``cal_pop_fitness()`` +--------------------- + +The ``cal_pop_fitness()`` method calculates and returns the fitness +values of the solutions in the current population. + +This function is optimized to save time by making fewer calls the +fitness function. It follows this process: + +1. If the ``save_solutions`` parameter is set to ``True``, then it + checks if the solution is already explored and saved in the + ``solutions`` instance attribute. If so, then it just retrieves its + fitness from the ``solutions_fitness`` instance attribute without + calling the fitness function. + +2. If ``save_solutions`` is set to ``False`` or if it is ``True`` but + the solution was not explored yet, then the ``cal_pop_fitness()`` + method checks if the ``keep_elitism`` parameter is set to a positive + integer. If so, then it checks if the solution is saved into the + ``last_generation_elitism`` instance attribute. If so, then it + retrieves its fitness from the ``previous_generation_fitness`` + instance attribute. + +3. If neither of the above 3 conditions apply (1. ``save_solutions`` is + set to ``False`` or 2. if it is ``True`` but the solution was not + explored yet or 3. ``keep_elitism`` is set to zero), then the + ``cal_pop_fitness()`` method checks if the ``keep_parents`` parameter + is set to ``-1`` or a positive integer. If so, then it checks if the + solution is saved into the ``last_generation_parents`` instance + attribute. If so, then it retrieves its fitness from the + ``previous_generation_fitness`` instance attribute. + +4. If neither of the above 4 conditions apply, then we have to call the + fitness function to calculate the fitness for the solution. This is + by calling the function assigned to the ``fitness_func`` parameter. + +This function takes into consideration: + +1. The ``parallel_processing`` parameter to check whether parallel + processing is in effect. + +2. The ``fitness_batch_size`` parameter to check if the fitness should + be calculated in batches of solutions. + +It returns a vector of the solutions' fitness values. + +``run()`` +--------- + +Runs the genetic algorithm. This is the main method in which the genetic +algorithm is evolved through some generations. It accepts no parameters +as it uses the instance to access all of its requirements. + +For each generation, the fitness values of all solutions within the +population are calculated according to the ``cal_pop_fitness()`` method +which internally just calls the function assigned to the +``fitness_func`` parameter in the ``pygad.GA`` class constructor for +each solution. + +According to the fitness values of all solutions, the parents are +selected using the ``select_parents()`` method. This method behaviour is +determined according to the parent selection type in the +``parent_selection_type`` parameter in the ``pygad.GA`` class +constructor + +Based on the selected parents, offspring are generated by applying the +crossover and mutation operations using the ``crossover()`` and +``mutation()`` methods. The behaviour of such 2 methods is defined +according to the ``crossover_type`` and ``mutation_type`` parameters in +the ``pygad.GA`` class constructor. + +After the generation completes, the following takes place: + +- The ``population`` attribute is updated by the new population. + +- The ``generations_completed`` attribute is assigned by the number of + the last completed generation. + +- If there is a callback function assigned to the ``on_generation`` + attribute, then it will be called. + +After the ``run()`` method completes, the following takes place: + +- The ``best_solution_generation`` is assigned the generation number at + which the best fitness value is reached. + +- The ``run_completed`` attribute is set to ``True``. + +Parent Selection Methods +------------------------ + +The ``ParentSelection`` class in the ``pygad.utils.parent_selection`` +module has several methods for selecting the parents that will mate to +produce the offspring. All of such methods accept the same parameters +which are: + +- ``fitness``: The fitness values of the solutions in the current + population. + +- ``num_parents``: The number of parents to be selected. + +All of such methods return an array of the selected parents. + +The next subsections list the supported methods for parent selection. + +.. _steadystateselection: + +``steady_state_selection()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Selects the parents using the steady-state selection technique. + +.. _rankselection: + +``rank_selection()`` +~~~~~~~~~~~~~~~~~~~~ + +Selects the parents using the rank selection technique. + +.. _randomselection: + +``random_selection()`` +~~~~~~~~~~~~~~~~~~~~~~ + +Selects the parents randomly. + +.. _tournamentselection: + +``tournament_selection()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Selects the parents using the tournament selection technique. + +.. _roulettewheelselection: + +``roulette_wheel_selection()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Selects the parents using the roulette wheel selection technique. + +.. _stochasticuniversalselection: + +``stochastic_universal_selection()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Selects the parents using the stochastic universal selection technique. + +Crossover Methods +----------------- + +The ``Crossover`` class in the ``pygad.utils.crossover`` module supports +several methods for applying crossover between the selected parents. All +of these methods accept the same parameters which are: + +- ``parents``: The parents to mate for producing the offspring. + +- ``offspring_size``: The size of the offspring to produce. + +All of such methods return an array of the produced offspring. + +The next subsections list the supported methods for crossover. + +.. _singlepointcrossover: + +``single_point_crossover()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the single-point crossover. It selects a point randomly at which +crossover takes place between the pairs of parents. + +.. _twopointscrossover: + +``two_points_crossover()`` +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the 2 points crossover. It selects the 2 points randomly at +which crossover takes place between the pairs of parents. + +.. _uniformcrossover: + +``uniform_crossover()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the uniform crossover. For each gene, a parent out of the 2 +mating parents is selected randomly and the gene is copied from it. + +.. _scatteredcrossover: + +``scattered_crossover()`` +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the scattered crossover. It randomly selects the gene from one +of the 2 parents. + +Mutation Methods +---------------- + +The ``Mutation`` class in the ``pygad.utils.mutation`` module supports +several methods for applying mutation. All of these methods accept the +same parameter which is: + +- ``offspring``: The offspring to mutate. + +All of such methods return an array of the mutated offspring. + +The next subsections list the supported methods for mutation. + +.. _randommutation: + +``random_mutation()`` +~~~~~~~~~~~~~~~~~~~~~ + +Applies the random mutation which changes the values of some genes +randomly. The number of genes is specified according to either the +``mutation_num_genes`` or the ``mutation_percent_genes`` attributes. + +For each gene, a random value is selected according to the range +specified by the 2 attributes ``random_mutation_min_val`` and +``random_mutation_max_val``. The random value is added to the selected +gene. + +.. _swapmutation: + +``swap_mutation()`` +~~~~~~~~~~~~~~~~~~~ + +Applies the swap mutation which interchanges the values of 2 randomly +selected genes. + +.. _inversionmutation: + +``inversion_mutation()`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the inversion mutation which selects a subset of genes and +inverts them. + +.. _scramblemutation: + +``scramble_mutation()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the scramble mutation which selects a subset of genes and +shuffles their order randomly. + +.. _adaptivemutation: + +``adaptive_mutation()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +Applies the adaptive mutation which selects a subset of genes and +shuffles their order randomly. + +.. _bestsolution: + +``best_solution()`` +------------------- + +Returns information about the best solution found by the genetic +algorithm. + +It accepts the following parameters: + +- ``pop_fitness=None``: An optional parameter that accepts a list of + the fitness values of the solutions in the population. If ``None``, + then the ``cal_pop_fitness()`` method is called to calculate the + fitness values of the population. + +It returns the following: + +- ``best_solution``: Best solution in the current population. + +- ``best_solution_fitness``: Fitness value of the best solution. + +- ``best_match_idx``: Index of the best solution in the current + population. + +.. _plotfitness: + +``plot_fitness()`` +------------------ + +Previously named ``plot_result()``, this method creates, shows, and +returns a figure that summarizes how the fitness value evolves by +generation. It works only after completing at least 1 generation. + +If no generation is completed (at least 1), an exception is raised. + +Starting from `PyGAD +2.15.0 `__ +and higher, this method accepts the following parameters: + +1. ``title``: Title of the figure. + +2. ``xlabel``: X-axis label. + +3. ``ylabel``: Y-axis label. + +4. ``linewidth``: Line width of the plot. Defaults to ``3``. + +5. ``font_size``: Font size for the labels and title. Defaults to + ``14``. + +6. ``plot_type``: Type of the plot which can be either ``"plot"`` + (default), ``"scatter"``, or ``"bar"``. + +7. ``color``: Color of the plot which defaults to ``"#3870FF"``. + +8. ``save_dir``: Directory to save the figure. + +.. _plotnewsolutionrate: + +``plot_new_solution_rate()`` +---------------------------- + +The ``plot_new_solution_rate()`` method creates, shows, and returns a +figure that shows the number of new solutions explored in each +generation. This method works only when ``save_solutions=True`` in the +constructor of the ``pygad.GA`` class. It also works only after +completing at least 1 generation. + +If no generation is completed (at least 1), an exception is raised. + +This method accepts the following parameters: + +1. ``title``: Title of the figure. + +2. ``xlabel``: X-axis label. + +3. ``ylabel``: Y-axis label. + +4. ``linewidth``: Line width of the plot. Defaults to ``3``. + +5. ``font_size``: Font size for the labels and title. Defaults to + ``14``. + +6. ``plot_type``: Type of the plot which can be either ``"plot"`` + (default), ``"scatter"``, or ``"bar"``. + +7. ``color``: Color of the plot which defaults to ``"#3870FF"``. + +8. ``save_dir``: Directory to save the figure. + +.. _plotgenes: + +``plot_genes()`` +---------------- + +The ``plot_genes()`` method creates, shows, and returns a figure that +describes each gene. It has different options to create the figures +which helps to: + +1. Explore the gene value for each generation by creating a normal plot. + +2. Create a histogram for each gene. + +3. Create a boxplot. + +This is controlled by the ``graph_type`` parameter. + +It works only after completing at least 1 generation. If no generation +is completed, an exception is raised. If no generation is completed (at +least 1), an exception is raised. + +This method accepts the following parameters: + +1. ``title``: Title of the figure. + +2. ``xlabel``: X-axis label. + +3. ``ylabel``: Y-axis label. + +4. ``linewidth``: Line width of the plot. Defaults to ``3``. + +5. ``font_size``: Font size for the labels and title. Defaults to + ``14``. + +6. ``plot_type``: Type of the plot which can be either ``"plot"`` + (default), ``"scatter"``, or ``"bar"``. + +7. ``graph_type``: Type of the graph which can be either ``"plot"`` + (default), ``"boxplot"``, or ``"histogram"``. + +8. ``fill_color``: Fill color of the graph which defaults to + ``"#3870FF"``. This has no effect if ``graph_type="plot"``. + +9. ``color``: Color of the plot which defaults to ``"#3870FF"``. + +10. ``solutions``: Defaults to ``"all"`` which means use all solutions. + If ``"best"`` then only the best solutions are used. + +11. ``save_dir``: Directory to save the figure. + +An exception is raised if: + +- ``solutions="all"`` while ``save_solutions=False`` in the constructor + of the ``pygad.GA`` class. . + +- ``solutions="best"`` while ``save_best_solutions=False`` in the + constructor of the ``pygad.GA`` class. . + +``save()`` +---------- + +Saves the genetic algorithm instance + +Accepts the following parameter: + +- ``filename``: Name of the file to save the instance. No extension is + needed. + +Functions in ``pygad`` +====================== + +Besides the methods available in the ``pygad.GA`` class, this section +discusses the functions available in ``pygad``. Up to this time, there +is only a single function named ``load()``. + +.. _pygadload: + +``pygad.load()`` +---------------- + +Reads a saved instance of the genetic algorithm. This is not a method +but a function that is indented under the ``pygad`` module. So, it could +be called by the pygad module as follows: ``pygad.load(filename)``. + +Accepts the following parameter: + +- ``filename``: Name of the file holding the saved instance of the + genetic algorithm. No extension is needed. + +Returns the genetic algorithm instance. + +Steps to Use ``pygad`` +====================== + +To use the ``pygad`` module, here is a summary of the required steps: + +1. Preparing the ``fitness_func`` parameter. + +2. Preparing Other Parameters. + +3. Import ``pygad``. + +4. Create an Instance of the ``pygad.GA`` Class. + +5. Run the Genetic Algorithm. + +6. Plotting Results. + +7. Information about the Best Solution. + +8. Saving & Loading the Results. + +Let's discuss how to do each of these steps. + +.. _preparing-the-fitnessfunc-parameter: + +Preparing the ``fitness_func`` Parameter +----------------------------------------- + +Even there are some steps in the genetic algorithm pipeline that can +work the same regardless of the problem being solved, one critical step +is the calculation of the fitness value. There is no unique way of +calculating the fitness value and it changes from one problem to +another. + +PyGAD has a parameter called ``fitness_func`` that allows the user to +specify a custom function/method to use when calculating the fitness. +This function/method must be a maximization function/method so that a +solution with a high fitness value returned is selected compared to a +solution with a low value. Doing that allows the user to freely use +PyGAD to solve any problem by passing the appropriate fitness +function/method. It is very important to understand the problem well for +creating it. + +Let's discuss an example: + + | Given the following function: + | y = f(w1:w6) = w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + 6wx6 + | where (x1,x2,x3,x4,x5,x6)=(4, -2, 3.5, 5, -11, -4.7) and y=44 + | What are the best values for the 6 weights (w1 to w6)? We are going + to use the genetic algorithm to optimize this function. + +So, the task is about using the genetic algorithm to find the best +values for the 6 weight ``W1`` to ``W6``. Thinking of the problem, it is +clear that the best solution is that returning an output that is close +to the desired output ``y=44``. So, the fitness function/method should +return a value that gets higher when the solution's output is closer to +``y=44``. Here is a function that does that: + +.. code:: python + + function_inputs = [4, -2, 3.5, 5, -11, -4.7] # Function inputs. + desired_output = 44 # Function output. + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / numpy.abs(output - desired_output) + return fitness + +Such a user-defined function must accept 3 parameters: + +1. The instance of the ``pygad.GA`` class. This helps the user to fetch + any property that helps when calculating the fitness. + +2. The solution(s) to calculate the fitness value(s). Note that the + fitness function can accept multiple solutions only if the + ``fitness_batch_size`` is given a value greater than 1. + +3. The indices of the solutions in the population. The number of indices + also depends on the ``fitness_batch_size`` parameter. + +If a method is passed to the ``fitness_func`` parameter, then it accepts +a fourth parameter representing the method's instance. + +The ``__code__`` object is used to check if this function accepts the +required number of parameters. If more or fewer parameters are passed, +an exception is thrown. + +By creating this function, you did a very important step towards using +PyGAD. + +Preparing Other Parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is an example for preparing the other parameters: + +.. code:: python + + num_generations = 50 + num_parents_mating = 4 + + fitness_function = fitness_func + + sol_per_pop = 8 + num_genes = len(function_inputs) + + init_range_low = -2 + init_range_high = 5 + + parent_selection_type = "sss" + keep_parents = 1 + + crossover_type = "single_point" + + mutation_type = "random" + mutation_percent_genes = 10 + +.. _the-ongeneration-parameter: + +The ``on_generation`` Parameter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +An optional parameter named ``on_generation`` is supported which allows +the user to call a function (with a single parameter) after each +generation. Here is a simple function that just prints the current +generation number and the fitness value of the best solution in the +current generation. The ``generations_completed`` attribute of the GA +class returns the number of the last completed generation. + +.. code:: python + + def on_gen(ga_instance): + print("Generation : ", ga_instance.generations_completed) + print("Fitness of the best solution :", ga_instance.best_solution()[1]) + +After being defined, the function is assigned to the ``on_generation`` +parameter of the GA class constructor. By doing that, the ``on_gen()`` +function will be called after each generation. + +.. code:: python + + ga_instance = pygad.GA(..., + on_generation=on_gen, + ...) + +After the parameters are prepared, we can import PyGAD and build an +instance of the ``pygad.GA`` class. + +Import ``pygad`` +---------------- + +The next step is to import PyGAD as follows: + +.. code:: python + + import pygad + +The ``pygad.GA`` class holds the implementation of all methods for +running the genetic algorithm. + +.. _create-an-instance-of-the-pygadga-class: + +Create an Instance of the ``pygad.GA`` Class +-------------------------------------------- + +The ``pygad.GA`` class is instantiated where the previously prepared +parameters are fed to its constructor. The constructor is responsible +for creating the initial population. + +.. code:: python + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + fitness_func=fitness_function, + sol_per_pop=sol_per_pop, + num_genes=num_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + keep_parents=keep_parents, + crossover_type=crossover_type, + mutation_type=mutation_type, + mutation_percent_genes=mutation_percent_genes) + +Run the Genetic Algorithm +------------------------- + +After an instance of the ``pygad.GA`` class is created, the next step is +to call the ``run()`` method as follows: + +.. code:: python + + ga_instance.run() + +Inside this method, the genetic algorithm evolves over some generations +by doing the following tasks: + +1. Calculating the fitness values of the solutions within the current + population. + +2. Select the best solutions as parents in the mating pool. + +3. Apply the crossover & mutation operation + +4. Repeat the process for the specified number of generations. + +Plotting Results +---------------- + +There is a method named ``plot_fitness()`` which creates a figure +summarizing how the fitness values of the solutions change with the +generations. + +.. code:: python + + ga_instance.plot_fitness() + +.. figure:: https://user-images.githubusercontent.com/16560492/78830005-93111d00-79e7-11ea-9d8e-a8d8325a6101.png + :alt: + +Information about the Best Solution +----------------------------------- + +The following information about the best solution in the last population +is returned using the ``best_solution()`` method. + +- Solution + +- Fitness value of the solution + +- Index of the solution within the population + +.. code:: python + + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +Using the ``best_solution_generation`` attribute of the instance from +the ``pygad.GA`` class, the generation number at which the +``best fitness`` is reached could be fetched. + +.. code:: python + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +.. _saving--loading-the-results: + +Saving & Loading the Results +---------------------------- + +After the ``run()`` method completes, it is possible to save the current +instance of the genetic algorithm to avoid losing the progress made. The +``save()`` method is available for that purpose. Just pass the file name +to it without an extension. According to the next code, a file named +``genetic.pkl`` will be created and saved in the current directory. + +.. code:: python + + filename = 'genetic' + ga_instance.save(filename=filename) + +You can also load the saved model using the ``load()`` function and +continue using it. For example, you might run the genetic algorithm for +some generations, save its current state using the ``save()`` method, +load the model using the ``load()`` function, and then call the +``run()`` method again. + +.. code:: python + + loaded_ga_instance = pygad.load(filename=filename) + +After the instance is loaded, you can use it to run any method or access +any property. + +.. code:: python + + print(loaded_ga_instance.best_solution()) + +Crossover, Mutation, and Parent Selection +========================================= + +PyGAD supports different types for selecting the parents and applying +the crossover & mutation operators. More features will be added in the +future. To ask for a new feature, please check the ``Ask for Feature`` +section. + +Supported Crossover Operations +------------------------------ + +The supported crossover operations at this time are: + +1. Single point: Implemented using the ``single_point_crossover()`` + method. + +2. Two points: Implemented using the ``two_points_crossover()`` method. + +3. Uniform: Implemented using the ``uniform_crossover()`` method. + +Supported Mutation Operations +----------------------------- + +The supported mutation operations at this time are: + +1. Random: Implemented using the ``random_mutation()`` method. + +2. Swap: Implemented using the ``swap_mutation()`` method. + +3. Inversion: Implemented using the ``inversion_mutation()`` method. + +4. Scramble: Implemented using the ``scramble_mutation()`` method. + +Supported Parent Selection Operations +------------------------------------- + +The supported parent selection techniques at this time are: + +1. Steady-state: Implemented using the ``steady_state_selection()`` + method. + +2. Roulette wheel: Implemented using the ``roulette_wheel_selection()`` + method. + +3. Stochastic universal: Implemented using the + ``stochastic_universal_selection()``\ method. + +4. Rank: Implemented using the ``rank_selection()`` method. + +5. Random: Implemented using the ``random_selection()`` method. + +6. Tournament: Implemented using the ``tournament_selection()`` method. + +Life Cycle of PyGAD +=================== + +The next figure lists the different stages in the lifecycle of an +instance of the ``pygad.GA`` class. Note that PyGAD stops when either +all generations are completed or when the function passed to the +``on_generation`` parameter returns the string ``stop``. + +.. figure:: https://user-images.githubusercontent.com/16560492/220486073-c5b6089d-81e4-44d9-a53c-385f479a7273.jpg + :alt: + +The next code implements all the callback functions to trace the +execution of the genetic algorithm. Each callback function prints its +name. + +.. code:: python + + import pygad + import numpy + + function_inputs = [4,-2,3.5,5,-11,-4.7] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + fitness_function = fitness_func + + def on_start(ga_instance): + print("on_start()") + + def on_fitness(ga_instance, population_fitness): + print("on_fitness()") + + def on_parents(ga_instance, selected_parents): + print("on_parents()") + + def on_crossover(ga_instance, offspring_crossover): + print("on_crossover()") + + def on_mutation(ga_instance, offspring_mutation): + print("on_mutation()") + + def on_generation(ga_instance): + print("on_generation()") + + def on_stop(ga_instance, last_population_fitness): + print("on_stop()") + + ga_instance = pygad.GA(num_generations=3, + num_parents_mating=5, + fitness_func=fitness_function, + sol_per_pop=10, + num_genes=len(function_inputs), + on_start=on_start, + on_fitness=on_fitness, + on_parents=on_parents, + on_crossover=on_crossover, + on_mutation=on_mutation, + on_generation=on_generation, + on_stop=on_stop) + + ga_instance.run() + +Based on the used 3 generations as assigned to the ``num_generations`` +argument, here is the output. + +.. code:: + + on_start() + + on_fitness() + on_parents() + on_crossover() + on_mutation() + on_generation() + + on_fitness() + on_parents() + on_crossover() + on_mutation() + on_generation() + + on_fitness() + on_parents() + on_crossover() + on_mutation() + on_generation() + + on_stop() + +Adaptive Mutation +================= + +In the regular genetic algorithm, the mutation works by selecting a +single fixed mutation rate for all solutions regardless of their fitness +values. So, regardless on whether this solution has high or low quality, +the same number of genes are mutated all the time. + +The pitfalls of using a constant mutation rate for all solutions are +summarized in this paper `Libelli, S. Marsili, and P. Alba. "Adaptive +mutation in genetic algorithms." Soft computing 4.2 (2000): +76-80 `__ +as follows: + + The weak point of "classical" GAs is the total randomness of + mutation, which is applied equally to all chromosomes, irrespective + of their fitness. Thus a very good chromosome is equally likely to be + disrupted by mutation as a bad one. + + On the other hand, bad chromosomes are less likely to produce good + ones through crossover, because of their lack of building blocks, + until they remain unchanged. They would benefit the most from + mutation and could be used to spread throughout the parameter space + to increase the search thoroughness. So there are two conflicting + needs in determining the best probability of mutation. + + Usually, a reasonable compromise in the case of a constant mutation + is to keep the probability low to avoid disruption of good + chromosomes, but this would prevent a high mutation rate of + low-fitness chromosomes. Thus a constant probability of mutation + would probably miss both goals and result in a slow improvement of + the population. + +According to `Libelli, S. Marsili, and P. +Alba. `__ +work, the adaptive mutation solves the problems of constant mutation. + +Adaptive mutation works as follows: + +1. Calculate the average fitness value of the population (``f_avg``). + +2. For each chromosome, calculate its fitness value (``f``). + +3. If ``ff_avg``, then this solution is regarded as a high-quality + solution and thus the mutation rate should be kept low to avoid + disrupting this high quality solution. + +In PyGAD, if ``f=f_avg``, then the solution is regarded of high quality. + +The next figure summarizes the previous steps. + +.. figure:: https://user-images.githubusercontent.com/16560492/103468973-e3c26600-4d2c-11eb-8af3-b3bb39b50540.jpg + :alt: + +This strategy is applied in PyGAD. + +Use Adaptive Mutation in PyGAD +------------------------------ + +In PyGAD 2.10.0, adaptive mutation is supported. To use it, just follow +the following 2 simple steps: + +1. In the constructor of the ``pygad.GA`` class, set + ``mutation_type="adaptive"`` to specify that the type of mutation is + adaptive. + +2. Specify the mutation rates for the low and high quality solutions + using one of these 3 parameters according to your preference: + ``mutation_probability``, ``mutation_num_genes``, and + ``mutation_percent_genes``. Please check the `documentation of each + of these + parameters `__ + for more information. + +When adaptive mutation is used, then the value assigned to any of the 3 +parameters can be of any of these data types: + +1. ``list`` + +2. ``tuple`` + +3. ``numpy.ndarray`` + +Whatever the data type used, the length of the ``list``, ``tuple``, or +the ``numpy.ndarray`` must be exactly 2. That is there are just 2 +values: + +1. The first value is the mutation rate for the low-quality solutions. + +2. The second value is the mutation rate for the high-quality solutions. + +PyGAD expects that the first value is higher than the second value and +thus a warning is printed in case the first value is lower than the +second one. + +Here are some examples to feed the mutation rates: + +.. code:: python + + # mutation_probability + mutation_probability = [0.25, 0.1] + mutation_probability = (0.35, 0.17) + mutation_probability = numpy.array([0.15, 0.05]) + + # mutation_num_genes + mutation_num_genes = [4, 2] + mutation_num_genes = (3, 1) + mutation_num_genes = numpy.array([7, 2]) + + # mutation_percent_genes + mutation_percent_genes = [25, 12] + mutation_percent_genes = (15, 8) + mutation_percent_genes = numpy.array([21, 13]) + +Assume that the average fitness is 12 and the fitness values of 2 +solutions are 15 and 7. If the mutation probabilities are specified as +follows: + +.. code:: python + + mutation_probability = [0.25, 0.1] + +Then the mutation probability of the first solution is 0.1 because its +fitness is 15 which is higher than the average fitness 12. The mutation +probability of the second solution is 0.25 because its fitness is 7 +which is lower than the average fitness 12. + +Here is an example that uses adaptive mutation. + +.. code:: python + + import pygad + import numpy + + function_inputs = [4,-2,3.5,5,-11,-4.7] # Function inputs. + desired_output = 44 # Function output. + + def fitness_func(ga_instance, solution, solution_idx): + # The fitness function calulates the sum of products between each input and its corresponding weight. + output = numpy.sum(solution*function_inputs) + # The value 0.000001 is used to avoid the Inf value when the denominator numpy.abs(output - desired_output) is 0.0. + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + # Creating an instance of the GA class inside the ga module. Some parameters are initialized within the constructor. + ga_instance = pygad.GA(num_generations=200, + fitness_func=fitness_func, + num_parents_mating=10, + sol_per_pop=20, + num_genes=len(function_inputs), + mutation_type="adaptive", + mutation_num_genes=(3, 1)) + + # Running the GA to optimize the parameters of the function. + ga_instance.run() + + ga_instance.plot_fitness(title="PyGAD with Adaptive Mutation", linewidth=5) + +Limit the Gene Value Range +========================== + +In `PyGAD +2.11.0 `__, +the ``gene_space`` parameter supported a new feature to allow +customizing the range of accepted values for each gene. Let's take a +quick review of the ``gene_space`` parameter to build over it. + +The ``gene_space`` parameter allows the user to feed the space of values +of each gene. This way the accepted values for each gene is retracted to +the user-defined values. Assume there is a problem that has 3 genes +where each gene has different set of values as follows: + +1. Gene 1: ``[0.4, 12, -5, 21.2]`` + +2. Gene 2: ``[-2, 0.3]`` + +3. Gene 3: ``[1.2, 63.2, 7.4]`` + +Then, the ``gene_space`` for this problem is as given below. Note that +the order is very important. + +.. code:: python + + gene_space = [[0.4, 12, -5, 21.2], + [-2, 0.3], + [1.2, 63.2, 7.4]] + +In case all genes share the same set of values, then simply feed a +single list to the ``gene_space`` parameter as follows. In this case, +all genes can only take values from this list of 6 values. + +.. code:: python + + gene_space = [33, 7, 0.5, 95. 6.3, 0.74] + +The previous example restricts the gene values to just a set of fixed +number of discrete values. In case you want to use a range of discrete +values to the gene, then you can use the ``range()`` function. For +example, ``range(1, 7)`` means the set of allowed values for the gene +are ``1, 2, 3, 4, 5, and 6``. You can also use the ``numpy.arange()`` or +``numpy.linspace()`` functions for the same purpose. + +The previous discussion only works with a range of discrete values not +continuous values. In `PyGAD +2.11.0 `__, +the ``gene_space`` parameter can be assigned a dictionary that allows +the gene to have values from a continuous range. + +Assuming you want to restrict the gene within this half-open range [1 to +5) where 1 is included and 5 is not. Then simply create a dictionary +with 2 items where the keys of the 2 items are: + +1. ``'low'``: The minimum value in the range which is 1 in the example. + +2. ``'high'``: The maximum value in the range which is 5 in the example. + +The dictionary will look like that: + +.. code:: python + + {'low': 1, + 'high': 5} + +It is not acceptable to add more than 2 items in the dictionary or use +other keys than ``'low'`` and ``'high'``. + +For a 3-gene problem, the next code creates a dictionary for each gene +to restrict its values in a continuous range. For the first gene, it can +take any floating-point value from the range that starts from 1 +(inclusive) and ends at 5 (exclusive). + +.. code:: python + + gene_space = [{'low': 1, 'high': 5}, {'low': 0.3, 'high': 1.4}, {'low': -0.2, 'high': 4.5}] + +Stop at Any Generation +====================== + +In `PyGAD +2.4.0 `__, +it is possible to stop the genetic algorithm after any generation. All +you need to do it to return the string ``"stop"`` in the callback +function ``on_generation``. When this callback function is implemented +and assigned to the ``on_generation`` parameter in the constructor of +the ``pygad.GA`` class, then the algorithm immediately stops after +completing its current generation. Let's discuss an example. + +Assume that the user wants to stop algorithm either after the 100 +generations or if a condition is met. The user may assign a value of 100 +to the ``num_generations`` parameter of the ``pygad.GA`` class +constructor. + +The condition that stops the algorithm is written in a callback function +like the one in the next code. If the fitness value of the best solution +exceeds 70, then the string ``"stop"`` is returned. + +.. code:: python + + def func_generation(ga_instance): + if ga_instance.best_solution()[1] >= 70: + return "stop" + +Stop Criteria +============= + +In `PyGAD +2.15.0 `__, +a new parameter named ``stop_criteria`` is added to the constructor of +the ``pygad.GA`` class. It helps to stop the evolution based on some +criteria. It can be assigned to one or more criterion. + +Each criterion is passed as ``str`` that consists of 2 parts: + +1. Stop word. + +2. Number. + +It takes this form: + +.. code:: python + + "word_num" + +The current 2 supported words are ``reach`` and ``saturate``. + +The ``reach`` word stops the ``run()`` method if the fitness value is +equal to or greater than a given fitness value. An example for ``reach`` +is ``"reach_40"`` which stops the evolution if the fitness is >= 40. + +``saturate`` stops the evolution if the fitness saturates for a given +number of consecutive generations. An example for ``saturate`` is +``"saturate_7"`` which means stop the ``run()`` method if the fitness +does not change for 7 consecutive generations. + +Here is an example that stops the evolution if either the fitness value +reached ``127.4`` or if the fitness saturates for ``15`` generations. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4, -2, 3.5, 8, 9, 4] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + + return fitness + + ga_instance = pygad.GA(num_generations=200, + sol_per_pop=10, + num_parents_mating=4, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + stop_criteria=["reach_127.4", "saturate_15"]) + + ga_instance.run() + print("Number of generations passed is {generations_completed}".format(generations_completed=ga_instance.generations_completed)) + +Elitism Selection +================= + +In `PyGAD +2.18.0 `__, +a new parameter called ``keep_elitism`` is supported. It accepts an +integer to define the number of elitism (i.e. best solutions) to keep in +the next generation. This parameter defaults to ``1`` which means only +the best solution is kept in the next generation. + +In the next example, the ``keep_elitism`` parameter in the constructor +of the ``pygad.GA`` class is set to 2. Thus, the best 2 solutions in +each generation are kept in the next generation. + +.. code:: python + + import numpy + import pygad + + function_inputs = [4,-2,3.5,5,-11,-4.7] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / numpy.abs(output - desired_output) + return fitness + + ga_instance = pygad.GA(num_generations=2, + num_parents_mating=3, + fitness_func=fitness_func, + num_genes=6, + sol_per_pop=5, + keep_elitism=2) + + ga_instance.run() + +The value passed to the ``keep_elitism`` parameter must satisfy 2 +conditions: + +1. It must be ``>= 0``. + +2. It must be ``<= sol_per_pop``. That is its value cannot exceed the + number of solutions in the current population. + +In the previous example, if the ``keep_elitism`` parameter is set equal +to the value passed to the ``sol_per_pop`` parameter, which is 5, then +there will be no evolution at all as in the next figure. This is because +all the 5 solutions are used as elitism in the next generation and no +offspring will be created. + +.. code:: python + + ... + + ga_instance = pygad.GA(..., + sol_per_pop=5, + keep_elitism=5) + + ga_instance.run() + +.. figure:: https://user-images.githubusercontent.com/16560492/189273225-67ffad41-97ab-45e1-9324-429705e17b20.png + :alt: + +Note that if the ``keep_elitism`` parameter is effective (i.e. is +assigned a positive integer, not zero), then the ``keep_parents`` +parameter will have no effect. Because the default value of the +``keep_elitism`` parameter is 1, then the ``keep_parents`` parameter has +no effect by default. The ``keep_parents`` parameter is only effective +when ``keep_elitism=0``. + +Random Seed +=========== + +In `PyGAD +2.18.0 `__, +a new parameter called ``random_seed`` is supported. Its value is used +as a seed for the random function generators. + +PyGAD uses random functions in these 2 libraries: + +1. NumPy + +2. random + +The ``random_seed`` parameter defaults to ``None`` which means no seed +is used. As a result, different random numbers are generated for each +run of PyGAD. + +If this parameter is assigned a proper seed, then the results will be +reproducible. In the next example, the integer 2 is used as a random +seed. + +.. code:: python + + import numpy + import pygad + + function_inputs = [4,-2,3.5,5,-11,-4.7] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / numpy.abs(output - desired_output) + return fitness + + ga_instance = pygad.GA(num_generations=2, + num_parents_mating=3, + fitness_func=fitness_func, + sol_per_pop=5, + num_genes=6, + random_seed=2) + + ga_instance.run() + best_solution, best_solution_fitness, best_match_idx = ga_instance.best_solution() + print(best_solution) + print(best_solution_fitness) + +This is the best solution found and its fitness value. + +.. code:: + + [ 2.77249188 -4.06570662 0.04196872 -3.47770796 -0.57502138 -3.22775267] + 0.04872203136549972 + +After running the code again, it will find the same result. + +.. code:: + + [ 2.77249188 -4.06570662 0.04196872 -3.47770796 -0.57502138 -3.22775267] + 0.04872203136549972 + +Continue without Loosing Progress +================================= + +In `PyGAD +2.18.0 `__, +and thanks for `Felix Bernhard `__ for +opening `this GitHub +issue `__, +the values of these 4 instance attributes are no longer reset after each +call to the ``run()`` method. + +1. ``self.best_solutions`` + +2. ``self.best_solutions_fitness`` + +3. ``self.solutions`` + +4. ``self.solutions_fitness`` + +This helps the user to continue where the last run stopped without +loosing the values of these 4 attributes. + +Now, the user can save the model by calling the ``save()`` method. + +.. code:: python + + import pygad + + def fitness_func(ga_instance, solution, solution_idx): + ... + return fitness + + ga_instance = pygad.GA(...) + + ga_instance.run() + + ga_instance.plot_fitness() + + ga_instance.save("pygad_GA") + +Then the saved model is loaded by calling the ``load()`` function. After +calling the ``run()`` method over the loaded instance, then the data +from the previous 4 attributes are not reset but extended with the new +data. + +.. code:: python + + import pygad + + def fitness_func(ga_instance, solution, solution_idx): + ... + return fitness + + loaded_ga_instance = pygad.load("pygad_GA") + + loaded_ga_instance.run() + + loaded_ga_instance.plot_fitness() + +The plot created by the ``plot_fitness()`` method will show the data +collected from both the runs. + +Note that the 2 attributes (``self.best_solutions`` and +``self.best_solutions_fitness``) only work if the +``save_best_solutions`` parameter is set to ``True``. Also, the 2 +attributes (``self.solutions`` and ``self.solutions_fitness``) only work +if the ``save_solutions`` parameter is ``True``. + +Prevent Duplicates in Gene Values +================================= + +In `PyGAD +2.13.0 `__, +a new bool parameter called ``allow_duplicate_genes`` is supported to +control whether duplicates are supported in the chromosome or not. In +other words, whether 2 or more genes might have the same exact value. + +If ``allow_duplicate_genes=True`` (which is the default case), genes may +have the same value. If ``allow_duplicate_genes=False``, then no 2 genes +will have the same value given that there are enough unique values for +the genes. + +The next code gives an example to use the ``allow_duplicate_genes`` +parameter. A callback generation function is implemented to print the +population after each generation. + +.. code:: python + + import pygad + + def fitness_func(ga_instance, solution, solution_idx): + return 0 + + def on_generation(ga): + print("Generation", ga.generations_completed) + print(ga.population) + + ga_instance = pygad.GA(num_generations=5, + sol_per_pop=5, + num_genes=4, + mutation_num_genes=3, + random_mutation_min_val=-5, + random_mutation_max_val=5, + num_parents_mating=2, + fitness_func=fitness_func, + gene_type=int, + on_generation=on_generation, + allow_duplicate_genes=False) + ga_instance.run() + +Here are the population after the 5 generations. Note how there are no +duplicate values. + +.. code:: python + + Generation 1 + [[ 2 -2 -3 3] + [ 0 1 2 3] + [ 5 -3 6 3] + [-3 1 -2 4] + [-1 0 -2 3]] + Generation 2 + [[-1 0 -2 3] + [-3 1 -2 4] + [ 0 -3 -2 6] + [-3 0 -2 3] + [ 1 -4 2 4]] + Generation 3 + [[ 1 -4 2 4] + [-3 0 -2 3] + [ 4 0 -2 1] + [-4 0 -2 -3] + [-4 2 0 3]] + Generation 4 + [[-4 2 0 3] + [-4 0 -2 -3] + [-2 5 4 -3] + [-1 2 -4 4] + [-4 2 0 -3]] + Generation 5 + [[-4 2 0 -3] + [-1 2 -4 4] + [ 3 4 -4 0] + [-1 0 2 -2] + [-4 2 -1 1]] + +The ``allow_duplicate_genes`` parameter is configured with use with the +``gene_space`` parameter. Here is an example where each of the 4 genes +has the same space of values that consists of 4 values (1, 2, 3, and 4). + +.. code:: python + + import pygad + + def fitness_func(ga_instance, solution, solution_idx): + return 0 + + def on_generation(ga): + print("Generation", ga.generations_completed) + print(ga.population) + + ga_instance = pygad.GA(num_generations=1, + sol_per_pop=5, + num_genes=4, + num_parents_mating=2, + fitness_func=fitness_func, + gene_type=int, + gene_space=[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], + on_generation=on_generation, + allow_duplicate_genes=False) + ga_instance.run() + +Even that all the genes share the same space of values, no 2 genes +duplicate their values as provided by the next output. + +.. code:: python + + Generation 1 + [[2 3 1 4] + [2 3 1 4] + [2 4 1 3] + [2 3 1 4] + [1 3 2 4]] + Generation 2 + [[1 3 2 4] + [2 3 1 4] + [1 3 2 4] + [2 3 4 1] + [1 3 4 2]] + Generation 3 + [[1 3 4 2] + [2 3 4 1] + [1 3 4 2] + [3 1 4 2] + [3 2 4 1]] + Generation 4 + [[3 2 4 1] + [3 1 4 2] + [3 2 4 1] + [1 2 4 3] + [1 3 4 2]] + Generation 5 + [[1 3 4 2] + [1 2 4 3] + [2 1 4 3] + [1 2 4 3] + [1 2 4 3]] + +You should care of giving enough values for the genes so that PyGAD is +able to find alternatives for the gene value in case it duplicates with +another gene. + +There might be 2 duplicate genes where changing either of the 2 +duplicating genes will not solve the problem. For example, if +``gene_space=[[3, 0, 1], [4, 1, 2], [0, 2], [3, 2, 0]]`` and the +solution is ``[3 2 0 0]``, then the values of the last 2 genes +duplicate. There are no possible changes in the last 2 genes to solve +the problem. + +This problem can be solved by randomly changing one of the +non-duplicating genes that may make a room for a unique value in one the +2 duplicating genes. For example, by changing the second gene from 2 to +4, then any of the last 2 genes can take the value 2 and solve the +duplicates. The resultant gene is then ``[3 4 2 0]``. But this option is +not yet supported in PyGAD. + +User-Defined Crossover, Mutation, and Parent Selection Operators +================================================================ + +Previously, the user can select the the type of the crossover, mutation, +and parent selection operators by assigning the name of the operator to +the following parameters of the ``pygad.GA`` class's constructor: + +1. ``crossover_type`` + +2. ``mutation_type`` + +3. ``parent_selection_type`` + +This way, the user can only use the built-in functions for each of these +operators. + +Starting from `PyGAD +2.16.0 `__, +the user can create a custom crossover, mutation, and parent selection +operators and assign these functions to the above parameters. Thus, a +new operator can be plugged easily into the `PyGAD +Lifecycle `__. + +This is a sample code that does not use any custom function. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4,-2,3.5] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func) + + ga_instance.run() + ga_instance.plot_fitness() + +This section describes the expected input parameters and outputs. For +simplicity, all of these custom functions all accept the instance of the +``pygad.GA`` class as the last parameter. + +User-Defined Crossover Operator +------------------------------- + +The user-defined crossover function is a Python function that accepts 3 +parameters: + +1. The selected parents. + +2. The size of the offspring as a tuple of 2 numbers: (the offspring + size, number of genes). + +3. The instance from the ``pygad.GA`` class. This instance helps to + retrieve any property like ``population``, ``gene_type``, + ``gene_space``, etc. + +This function should return a NumPy array of shape equal to the value +passed to the second parameter. + +The next code creates a template for the user-defined crossover +operator. You can use any names for the parameters. Note how a NumPy +array is returned. + +.. code:: python + + def crossover_func(parents, offspring_size, ga_instance): + offspring = ... + ... + return numpy.array(offspring) + +As an example, the next code creates a single-point crossover function. +By randomly generating a random point (i.e. index of a gene), the +function simply uses 2 parents to produce an offspring by copying the +genes before the point from the first parent and the remaining from the +second parent. + +.. code:: python + + def crossover_func(parents, offspring_size, ga_instance): + offspring = [] + idx = 0 + while len(offspring) != offspring_size[0]: + parent1 = parents[idx % parents.shape[0], :].copy() + parent2 = parents[(idx + 1) % parents.shape[0], :].copy() + + random_split_point = numpy.random.choice(range(offspring_size[1])) + + parent1[random_split_point:] = parent2[random_split_point:] + + offspring.append(parent1) + + idx += 1 + + return numpy.array(offspring) + +To use this user-defined function, simply assign its name to the +``crossover_type`` parameter in the constructor of the ``pygad.GA`` +class. The next code gives an example. In this case, the custom function +will be called in each generation rather than calling the built-in +crossover functions defined in PyGAD. + +.. code:: python + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + crossover_type=crossover_func) + +User-Defined Mutation Operator +------------------------------ + +A user-defined mutation function/operator can be created the same way a +custom crossover operator/function is created. Simply, it is a Python +function that accepts 2 parameters: + +1. The offspring to be mutated. + +2. The instance from the ``pygad.GA`` class. This instance helps to + retrieve any property like ``population``, ``gene_type``, + ``gene_space``, etc. + +The template for the user-defined mutation function is given in the next +code. According to the user preference, the function should make some +random changes to the genes. + +.. code:: python + + def mutation_func(offspring, ga_instance): + ... + return offspring + +The next code builds the random mutation where a single gene from each +chromosome is mutated by adding a random number between 0 and 1 to the +gene's value. + +.. code:: python + + def mutation_func(offspring, ga_instance): + + for chromosome_idx in range(offspring.shape[0]): + random_gene_idx = numpy.random.choice(range(offspring.shape[1])) + + offspring[chromosome_idx, random_gene_idx] += numpy.random.random() + + return offspring + +Here is how this function is assigned to the ``mutation_type`` +parameter. + +.. code:: python + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + crossover_type=crossover_func, + mutation_type=mutation_func) + +Note that there are other things to take into consideration like: + +- Making sure that each gene conforms to the data type(s) listed in the + ``gene_type`` parameter. + +- If the ``gene_space`` parameter is used, then the new value for the + gene should conform to the values/ranges listed. + +- Mutating a number of genes that conforms to the parameters + ``mutation_percent_genes``, ``mutation_probability``, and + ``mutation_num_genes``. + +- Whether mutation happens with or without replacement based on the + ``mutation_by_replacement`` parameter. + +- The minimum and maximum values from which a random value is generated + based on the ``random_mutation_min_val`` and + ``random_mutation_max_val`` parameters. + +- Whether duplicates are allowed or not in the chromosome based on the + ``allow_duplicate_genes`` parameter. + +and more. + +It all depends on your objective from building the mutation function. +You may neglect or consider some of the considerations according to your +objective. + +User-Defined Parent Selection Operator +-------------------------------------- + +No much to mention about building a user-defined parent selection +function as things are similar to building a crossover or mutation +function. Just create a Python function that accepts 3 parameters: + +1. The fitness values of the current population. + +2. The number of parents needed. + +3. The instance from the ``pygad.GA`` class. This instance helps to + retrieve any property like ``population``, ``gene_type``, + ``gene_space``, etc. + +The function should return 2 outputs: + +1. The selected parents as a NumPy array. Its shape is equal to (the + number of selected parents, ``num_genes``). Note that the number of + selected parents is equal to the value assigned to the second input + parameter. + +2. The indices of the selected parents inside the population. It is a 1D + list with length equal to the number of selected parents. + +The outputs must be of type ``numpy.ndarray``. + +Here is a template for building a custom parent selection function. + +.. code:: python + + def parent_selection_func(fitness, num_parents, ga_instance): + ... + return parents, fitness_sorted[:num_parents] + +The next code builds the steady-state parent selection where the best +parents are selected. The number of parents is equal to the value in the +``num_parents`` parameter. + +.. code:: python + + def parent_selection_func(fitness, num_parents, ga_instance): + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + + parents = numpy.empty((num_parents, ga_instance.population.shape[1])) + + for parent_num in range(num_parents): + parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + +Finally, the defined function is assigned to the +``parent_selection_type`` parameter as in the next code. + +.. code:: python + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + crossover_type=crossover_func, + mutation_type=mutation_func, + parent_selection_type=parent_selection_func) + +Example +------- + +By discussing how to customize the 3 operators, the next code uses the +previous 3 user-defined functions instead of the built-in functions. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4,-2,3.5] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + + return fitness + + def parent_selection_func(fitness, num_parents, ga_instance): + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + + parents = numpy.empty((num_parents, ga_instance.population.shape[1])) + + for parent_num in range(num_parents): + parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + + def crossover_func(parents, offspring_size, ga_instance): + + offspring = [] + idx = 0 + while len(offspring) != offspring_size[0]: + parent1 = parents[idx % parents.shape[0], :].copy() + parent2 = parents[(idx + 1) % parents.shape[0], :].copy() + + random_split_point = numpy.random.choice(range(offspring_size[1])) + + parent1[random_split_point:] = parent2[random_split_point:] + + offspring.append(parent1) + + idx += 1 + + return numpy.array(offspring) + + def mutation_func(offspring, ga_instance): + + for chromosome_idx in range(offspring.shape[0]): + random_gene_idx = numpy.random.choice(range(offspring.shape[0])) + + offspring[chromosome_idx, random_gene_idx] += numpy.random.random() + + return offspring + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + crossover_type=crossover_func, + mutation_type=mutation_func, + parent_selection_type=parent_selection_func) + + ga_instance.run() + ga_instance.plot_fitness() + +This is the same example but using methods instead of functions. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4,-2,3.5] + desired_output = 44 + + class Test: + def fitness_func(self, ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + + return fitness + + def parent_selection_func(self, fitness, num_parents, ga_instance): + + fitness_sorted = sorted(range(len(fitness)), key=lambda k: fitness[k]) + fitness_sorted.reverse() + + parents = numpy.empty((num_parents, ga_instance.population.shape[1])) + + for parent_num in range(num_parents): + parents[parent_num, :] = ga_instance.population[fitness_sorted[parent_num], :].copy() + + return parents, numpy.array(fitness_sorted[:num_parents]) + + def crossover_func(self, parents, offspring_size, ga_instance): + + offspring = [] + idx = 0 + while len(offspring) != offspring_size[0]: + parent1 = parents[idx % parents.shape[0], :].copy() + parent2 = parents[(idx + 1) % parents.shape[0], :].copy() + + random_split_point = numpy.random.choice(range(offspring_size[0])) + + parent1[random_split_point:] = parent2[random_split_point:] + + offspring.append(parent1) + + idx += 1 + + return numpy.array(offspring) + + def mutation_func(self, offspring, ga_instance): + + for chromosome_idx in range(offspring.shape[0]): + random_gene_idx = numpy.random.choice(range(offspring.shape[1])) + + offspring[chromosome_idx, random_gene_idx] += numpy.random.random() + + return offspring + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=Test().fitness_func, + parent_selection_type=Test().parent_selection_func, + crossover_type=Test().crossover_func, + mutation_type=Test().mutation_func) + + ga_instance.run() + ga_instance.plot_fitness() + +.. _more-about-the-genespace-parameter: + +More about the ``gene_space`` Parameter +======================================= + +The ``gene_space`` parameter customizes the space of values of each +gene. + +Assuming that all genes have the same global space which include the +values 0.3, 5.2, -4, and 8, then those values can be assigned to the +``gene_space`` parameter as a list, tuple, or range. Here is a list +assigned to this parameter. By doing that, then the gene values are +restricted to those assigned to the ``gene_space`` parameter. + +.. code:: python + + gene_space = [0.3, 5.2, -4, 8] + +If some genes have different spaces, then ``gene_space`` should accept a +nested list or tuple. In this case, the elements could be: + +1. Number (of ``int``, ``float``, or ``NumPy`` data types): A single + value to be assigned to the gene. This means this gene will have the + same value across all generations. + +2. ``list``, ``tuple``, ``numpy.ndarray``, or any range like ``range``, + ``numpy.arange()``, or ``numpy.linspace``: It holds the space for + each individual gene. But this space is usually discrete. That is + there is a set of finite values to select from. + +3. ``dict``: To sample a value for a gene from a continuous range. The + dictionary must have 2 mandatory keys which are ``"low"`` and + ``"high"`` in addition to an optional key which is ``"step"``. A + random value is returned between the values assigned to the items + with ``"low"`` and ``"high"`` keys. If the ``"step"`` exists, then + this works as the previous options (i.e. discrete set of values). + +4. ``None``: A gene with its space set to ``None`` is initialized + randomly from the range specified by the 2 parameters + ``init_range_low`` and ``init_range_high``. For mutation, its value + is mutated based on a random value from the range specified by the 2 + parameters ``random_mutation_min_val`` and + ``random_mutation_max_val``. If all elements in the ``gene_space`` + parameter are ``None``, the parameter will not have any effect. + +Assuming that a chromosome has 2 genes and each gene has a different +value space. Then the ``gene_space`` could be assigned a nested +list/tuple where each element determines the space of a gene. + +According to the next code, the space of the first gene is ``[0.4, -5]`` +which has 2 values and the space for the second gene is +``[0.5, -3.2, 8.8, -9]`` which has 4 values. + +.. code:: python + + gene_space = [[0.4, -5], [0.5, -3.2, 8.2, -9]] + +For a 2 gene chromosome, if the first gene space is restricted to the +discrete values from 0 to 4 and the second gene is restricted to the +values from 10 to 19, then it could be specified according to the next +code. + +.. code:: python + + gene_space = [range(5), range(10, 20)] + +The ``gene_space`` can also be assigned to a single range, as given +below, where the values of all genes are sampled from the same range. + +.. code:: python + + gene_space = numpy.arange(15) + +The ``gene_space`` can be assigned a dictionary to sample a value from a +continuous range. + +.. code:: python + + gene_space = {"low": 4, "high": 30} + +A step also can be assigned to the dictionary. This works as if a range +is used. + +.. code:: python + + gene_space = {"low": 4, "high": 30, "step": 2.5} + +If a ``None`` is assigned to only a single gene, then its value will be +randomly generated initially using the ``init_range_low`` and +``init_range_high`` parameters in the ``pygad.GA`` class's constructor. +During mutation, the value are sampled from the range defined by the 2 +parameters ``random_mutation_min_val`` and ``random_mutation_max_val``. +This is an example where the second gene is given a ``None`` value. + +.. code:: python + + gene_space = [range(5), None, numpy.linspace(10, 20, 300)] + +If the user did not assign the initial population to the +``initial_population`` parameter, the initial population is created +randomly based on the ``gene_space`` parameter. Moreover, the mutation +is applied based on this parameter. + +.. _more-about-the-genetype-parameter: + +More about the ``gene_type`` Parameter +====================================== + +The ``gene_type`` parameter allows the user to control the data type for +all genes at once or each individual gene. In `PyGAD +2.15.0 `__, +the ``gene_type`` parameter also supports customizing the precision for +``float`` data types. As a result, the ``gene_type`` parameter helps to: + +1. Select a data type for all genes with or without precision. + +2. Select a data type for each individual gene with or without + precision. + +Let's discuss things by examples. + +Data Type for All Genes without Precision +----------------------------------------- + +The data type for all genes can be specified by assigning the numeric +data type directly to the ``gene_type`` parameter. This is an example to +make all genes of ``int`` data types. + +.. code:: python + + gene_type=int + +Given that the supported numeric data types of PyGAD include Python's +``int`` and ``float`` in addition to all numeric types of ``NumPy``, +then any of these types can be assigned to the ``gene_type`` parameter. + +If no precision is specified for a ``float`` data type, then the +complete floating-point number is kept. + +The next code uses an ``int`` data type for all genes where the genes in +the initial and final population are only integers. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4, -2, 3.5, 8, -2] + desired_output = 2671.1234 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + gene_type=int) + + print("Initial Population") + print(ga_instance.initial_population) + + ga_instance.run() + + print("Final Population") + print(ga_instance.population) + +.. code:: python + + Initial Population + [[ 1 -1 2 0 -3] + [ 0 -2 0 -3 -1] + [ 0 -1 -1 2 0] + [-2 3 -2 3 3] + [ 0 0 2 -2 -2]] + + Final Population + [[ 1 -1 2 2 0] + [ 1 -1 2 2 0] + [ 1 -1 2 2 0] + [ 1 -1 2 2 0] + [ 1 -1 2 2 0]] + +Data Type for All Genes with Precision +-------------------------------------- + +A precision can only be specified for a ``float`` data type and cannot +be specified for integers. Here is an example to use a precision of 3 +for the ``float`` data type. In this case, all genes are of type +``float`` and their maximum precision is 3. + +.. code:: python + + gene_type=[float, 3] + +The next code uses prints the initial and final population where the +genes are of type ``float`` with precision 3. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4, -2, 3.5, 8, -2] + desired_output = 2671.1234 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + + return fitness + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + gene_type=[float, 3]) + + print("Initial Population") + print(ga_instance.initial_population) + + ga_instance.run() + + print("Final Population") + print(ga_instance.population) + +.. code:: python + + Initial Population + [[-2.417 -0.487 3.623 2.457 -2.362] + [-1.231 0.079 -1.63 1.629 -2.637] + [ 0.692 -2.098 0.705 0.914 -3.633] + [ 2.637 -1.339 -1.107 -0.781 -3.896] + [-1.495 1.378 -1.026 3.522 2.379]] + + Final Population + [[ 1.714 -1.024 3.623 3.185 -2.362] + [ 0.692 -1.024 3.623 3.185 -2.362] + [ 0.692 -1.024 3.623 3.375 -2.362] + [ 0.692 -1.024 4.041 3.185 -2.362] + [ 1.714 -0.644 3.623 3.185 -2.362]] + +Data Type for each Individual Gene without Precision +---------------------------------------------------- + +In `PyGAD +2.14.0 `__, +the ``gene_type`` parameter allows customizing the gene type for each +individual gene. This is by using a ``list``/``tuple``/``numpy.ndarray`` +with number of elements equal to the number of genes. For each element, +a type is specified for the corresponding gene. + +This is an example for a 5-gene problem where different types are +assigned to the genes. + +.. code:: python + + gene_type=[int, float, numpy.float16, numpy.int8, float] + +This is a complete code that prints the initial and final population for +a custom-gene data type. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4, -2, 3.5, 8, -2] + desired_output = 2671.1234 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + gene_type=[int, float, numpy.float16, numpy.int8, float]) + + print("Initial Population") + print(ga_instance.initial_population) + + ga_instance.run() + + print("Final Population") + print(ga_instance.population) + +.. code:: python + + Initial Population + [[0 0.8615522360026828 0.7021484375 -2 3.5301821368185866] + [-3 2.648189378595294 -3.830078125 1 -0.9586271572917742] + [3 3.7729827570110714 1.2529296875 -3 1.395741994211889] + [0 1.0490687178053282 1.51953125 -2 0.7243617940450235] + [0 -0.6550158436937226 -2.861328125 -2 1.8212734549263097]] + + Final Population + [[3 3.7729827570110714 2.055 0 0.7243617940450235] + [3 3.7729827570110714 1.458 0 -0.14638754050305036] + [3 3.7729827570110714 1.458 0 0.0869406120516778] + [3 3.7729827570110714 1.458 0 0.7243617940450235] + [3 3.7729827570110714 1.458 0 -0.14638754050305036]] + +Data Type for each Individual Gene with Precision +------------------------------------------------- + +The precision can also be specified for the ``float`` data types as in +the next line where the second gene precision is 2 and last gene +precision is 1. + +.. code:: python + + gene_type=[int, [float, 2], numpy.float16, numpy.int8, [float, 1]] + +This is a complete example where the initial and final populations are +printed where the genes comply with the data types and precisions +specified. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4, -2, 3.5, 8, -2] + desired_output = 2671.1234 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + gene_type=[int, [float, 2], numpy.float16, numpy.int8, [float, 1]]) + + print("Initial Population") + print(ga_instance.initial_population) + + ga_instance.run() + + print("Final Population") + print(ga_instance.population) + +.. code:: python + + Initial Population + [[-2 -1.22 1.716796875 -1 0.2] + [-1 -1.58 -3.091796875 0 -1.3] + [3 3.35 -0.107421875 1 -3.3] + [-2 -3.58 -1.779296875 0 0.6] + [2 -3.73 2.65234375 3 -0.5]] + + Final Population + [[2 -4.22 3.47 3 -1.3] + [2 -3.73 3.47 3 -1.3] + [2 -4.22 3.47 2 -1.3] + [2 -4.58 3.47 3 -1.3] + [2 -3.73 3.47 3 -1.3]] + +Visualization in PyGAD +====================== + +This section discusses the different options to visualize the results in +PyGAD through these methods: + +1. ``plot_fitness()`` + +2. ``plot_genes()`` + +3. ``plot_new_solution_rate()`` + +In the following code, the ``save_solutions`` flag is set to ``True`` +which means all solutions are saved in the ``solutions`` attribute. The +code runs for only 10 generations. + +.. code:: python + + import pygad + import numpy + + equation_inputs = [4, -2, 3.5, 8, -2, 3.5, 8] + desired_output = 2671.1234 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=10, + num_parents_mating=5, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + gene_space=[range(1, 10), range(10, 20), range(15, 30), range(20, 40), range(25, 50), range(10, 30), range(20, 50)], + gene_type=int, + save_solutions=True) + + ga_instance.run() + +Let's explore how to visualize the results by the above mentioned +methods. + +.. _plotfitness-2: + +``plot_fitness()`` +------------------ + +The ``plot_fitness()`` method shows the fitness value for each +generation. + +.. _plottypeplot: + +``plot_type="plot"`` +~~~~~~~~~~~~~~~~~~~~ + +The simplest way to call this method is as follows leaving the +``plot_type`` with its default value ``"plot"`` to create a continuous +line connecting the fitness values across all generations: + +.. code:: python + + ga_instance.plot_fitness() + # ga_instance.plot_fitness(plot_type="plot") + +.. figure:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png + :alt: + +.. _plottypescatter: + +``plot_type="scatter"`` +~~~~~~~~~~~~~~~~~~~~~~~ + +The ``plot_type`` can also be set to ``"scatter"`` to create a scatter +graph with each individual fitness represented as a dot. The size of +these dots can be changed using the ``linewidth`` parameter. + +.. code:: python + + ga_instance.plot_fitness(plot_type="scatter") + +.. figure:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png + :alt: + +.. _plottypebar: + +``plot_type="bar"`` +~~~~~~~~~~~~~~~~~~~ + +The third value for the ``plot_type`` parameter is ``"bar"`` to create a +bar graph with each individual fitness represented as a bar. + +.. code:: python + + ga_instance.plot_fitness(plot_type="bar") + +.. figure:: https://user-images.githubusercontent.com/16560492/122473340-b7736c80-cf8f-11eb-89c5-4f7db3b653cc.png + :alt: + +.. _plotnewsolutionrate-2: + +``plot_new_solution_rate()`` +---------------------------- + +The ``plot_new_solution_rate()`` method presents the number of new +solutions explored in each generation. This helps to figure out if the +genetic algorithm is able to find new solutions as an indication of more +possible evolution. If no new solutions are explored, this is an +indication that no further evolution is possible. + +The ``plot_new_solution_rate()`` method accepts the same parameters as +in the ``plot_fitness()`` method with 3 possible values for +``plot_type`` parameter. + +.. _plottypeplot-2: + +``plot_type="plot"`` +~~~~~~~~~~~~~~~~~~~~ + +The default value for the ``plot_type`` parameter is ``"plot"``. + +.. code:: python + + ga_instance.plot_new_solution_rate() + # ga_instance.plot_new_solution_rate(plot_type="plot") + +The next figure shows that, for example, generation 6 has the least +number of new solutions which is 4. The number of new solutions in the +first generation is always equal to the number of solutions in the +population (i.e. the value assigned to the ``sol_per_pop`` parameter in +the constructor of the ``pygad.GA`` class) which is 10 in this example. + +.. figure:: https://user-images.githubusercontent.com/16560492/122475815-3322e880-cf93-11eb-9648-bf66f823234b.png + :alt: + +.. _plottypescatter-2: + +``plot_type="scatter"`` +~~~~~~~~~~~~~~~~~~~~~~~ + +The previous graph can be represented as scattered points by setting +``plot_type="scatter"``. + +.. code:: python + + ga_instance.plot_new_solution_rate(plot_type="scatter") + +.. figure:: https://user-images.githubusercontent.com/16560492/122476108-adec0380-cf93-11eb-80ac-7588bf90492f.png + :alt: + +.. _plottypebar-2: + +``plot_type="bar"`` +~~~~~~~~~~~~~~~~~~~ + +By setting ``plot_type="scatter"``, each value is represented as a +vertical bar. + +.. code:: python + + ga_instance.plot_new_solution_rate(plot_type="bar") + +.. figure:: https://user-images.githubusercontent.com/16560492/122476173-c2c89700-cf93-11eb-9e77-d39737cd3a96.png + :alt: + +.. _plotgenes-2: + +``plot_genes()`` +---------------- + +The ``plot_genes()`` method is the third option to visualize the PyGAD +results. This method has 3 control variables: + +1. ``graph_type="plot"``: Can be ``"plot"`` (default), ``"boxplot"``, or + ``"histogram"``. + +2. ``plot_type="plot"``: Identical to the ``plot_type`` parameter + explored in the ``plot_fitness()`` and ``plot_new_solution_rate()`` + methods. + +3. ``solutions="all"``: Can be ``"all"`` (default) or ``"best"``. + +These 3 parameters controls the style of the output figure. + +The ``graph_type`` parameter selects the type of the graph which helps +to explore the gene values as: + +1. A normal plot. + +2. A histogram. + +3. A box and whisker plot. + +The ``plot_type`` parameter works only when the type of the graph is set +to ``"plot"``. + +The ``solutions`` parameter selects whether the genes come from all +solutions in the population or from just the best solutions. + +.. _graphtypeplot: + +``graph_type="plot"`` +~~~~~~~~~~~~~~~~~~~~~ + +When ``graph_type="plot"``, then the figure creates a normal graph where +the relationship between the gene values and the generation numbers is +represented as a continuous plot, scattered points, or bars. + +.. _plottypeplot-3: + +``plot_type="plot"`` +^^^^^^^^^^^^^^^^^^^^ + +Because the default value for both ``graph_type`` and ``plot_type`` is +``"plot"``, then all of the lines below creates the same figure. This +figure is helpful to know whether a gene value lasts for more +generations as an indication of the best value for this gene. For +example, the value 16 for the gene with index 5 (at column 2 and row 2 +of the next graph) lasted for 83 generations. + +.. code:: python + + ga_instance.plot_genes() + + ga_instance.plot_genes(graph_type="plot") + + ga_instance.plot_genes(plot_type="plot") + + ga_instance.plot_genes(graph_type="plot", + plot_type="plot") + +.. figure:: https://user-images.githubusercontent.com/16560492/122477158-4a62d580-cf95-11eb-8c93-9b6e74cb814c.png + :alt: + +As the default value for the ``solutions`` parameter is ``"all"``, then +the following method calls generate the same plot. + +.. code:: python + + ga_instance.plot_genes(solutions="all") + + ga_instance.plot_genes(graph_type="plot", + solutions="all") + + ga_instance.plot_genes(plot_type="plot", + solutions="all") + + ga_instance.plot_genes(graph_type="plot", + plot_type="plot", + solutions="all") + +.. _plottypescatter-3: + +``plot_type="scatter"`` +^^^^^^^^^^^^^^^^^^^^^^^ + +The following calls of the ``plot_genes()`` method create the same +scatter plot. + +.. code:: python + + ga_instance.plot_genes(plot_type="scatter") + + ga_instance.plot_genes(graph_type="plot", + plot_type="scatter", + solutions='all') + +.. figure:: https://user-images.githubusercontent.com/16560492/122477273-73836600-cf95-11eb-828f-f357c7b0f815.png + :alt: + +.. _plottypebar-3: + +``plot_type="bar"`` +^^^^^^^^^^^^^^^^^^^ + +.. code:: python + + ga_instance.plot_genes(plot_type="bar") + + ga_instance.plot_genes(graph_type="plot", + plot_type="bar", + solutions='all') + +.. figure:: https://user-images.githubusercontent.com/16560492/122477370-99106f80-cf95-11eb-8643-865b55e6b844.png + :alt: + +.. _graphtypeboxplot: + +``graph_type="boxplot"`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +By setting ``graph_type`` to ``"boxplot"``, then a box and whisker graph +is created. Now, the ``plot_type`` parameter has no effect. + +The following 2 calls of the ``plot_genes()`` method create the same +figure as the default value for the ``solutions`` parameter is +``"all"``. + +.. code:: python + + ga_instance.plot_genes(graph_type="boxplot") + + ga_instance.plot_genes(graph_type="boxplot", + solutions='all') + +.. figure:: https://user-images.githubusercontent.com/16560492/122479260-beeb4380-cf98-11eb-8f08-23707929b12c.png + :alt: + +.. _graphtypehistogram: + +``graph_type="histogram"`` +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For ``graph_type="boxplot"``, then a histogram is created for each gene. +Similar to ``graph_type="boxplot"``, the ``plot_type`` parameter has no +effect. + +The following 2 calls of the ``plot_genes()`` method create the same +figure as the default value for the ``solutions`` parameter is +``"all"``. + +.. code:: python + + ga_instance.plot_genes(graph_type="histogram") + + ga_instance.plot_genes(graph_type="histogram", + solutions='all') + +.. figure:: https://user-images.githubusercontent.com/16560492/122477314-8007be80-cf95-11eb-9c95-da3f49204151.png + :alt: + +All the previous figures can be created for only the best solutions by +setting ``solutions="best"``. + +Parallel Processing in PyGAD +============================ + +Starting from `PyGAD +2.17.0 `__, +parallel processing becomes supported. This section explains how to use +parallel processing in PyGAD. + +According to the `PyGAD +lifecycle `__, +parallel processing can be parallelized in only 2 operations: + +1. Population fitness calculation. + +2. Mutation. + +The reason is that the calculations in these 2 operations are +independent (i.e. each solution/chromosome is handled independently from +the others) and can be distributed across different processes or +threads. + +For the mutation operation, it does not do intensive calculations on the +CPU. Its calculations are simple like flipping the values of some genes +from 0 to 1 or adding a random value to some genes. So, it does not take +much CPU processing time. Experiments proved that parallelizing the +mutation operation across the solutions increases the time instead of +reducing it. This is because running multiple processes or threads adds +overhead to manage them. Thus, parallel processing cannot be applied on +the mutation operation. + +For the population fitness calculation, parallel processing can help +make a difference and reduce the processing time. But this is +conditional on the type of calculations done in the fitness function. If +the fitness function makes intensive calculations and takes much +processing time from the CPU, then it is probably that parallel +processing will help to cut down the overall time. + +This section explains how parallel processing works in PyGAD and how to +use parallel processing in PyGAD + +How to Use Parallel Processing in PyGAD +--------------------------------------- + +Starting from `PyGAD +2.17.0 `__, +a new parameter called ``parallel_processing`` added to the constructor +of the ``pygad.GA`` class. + +.. code:: python + + import pygad + ... + ga_instance = pygad.GA(..., + parallel_processing=...) + ... + +This parameter allows the user to do the following: + +1. Enable parallel processing. + +2. Select whether processes or threads are used. + +3. Specify the number of processes or threads to be used. + +These are 3 possible values for the ``parallel_processing`` parameter: + +1. ``None``: (Default) It means no parallel processing is used. + +2. A positive integer referring to the number of threads to be used + (i.e. threads, not processes, are used. + +3. ``list``/``tuple``: If a list or a tuple of exactly 2 elements is + assigned, then: + + 1. The first element can be either ``'process'`` or ``'thread'`` to + specify whether processes or threads are used, respectively. + + 2. The second element can be: + + 1. A positive integer to select the maximum number of processes or + threads to be used + + 2. ``0`` to indicate that 0 processes or threads are used. It + means no parallel processing. This is identical to setting + ``parallel_processing=None``. + + 3. ``None`` to use the default value as calculated by the + ``concurrent.futures module``. + +These are examples of the values assigned to the ``parallel_processing`` +parameter: + +- ``parallel_processing=4``: Because the parameter is assigned a + positive integer, this means parallel processing is activated where 4 + threads are used. + +- ``parallel_processing=["thread", 5]``: Use parallel processing with 5 + threads. This is identical to ``parallel_processing=5``. + +- ``parallel_processing=["process", 8]``: Use parallel processing with + 8 processes. + +- ``parallel_processing=["process", 0]``: As the second element is + given the value 0, this means do not use parallel processing. This is + identical to ``parallel_processing=None``. + +Examples +-------- + +The examples will help you know the difference between using processes +and threads. Moreover, it will give an idea when parallel processing +would make a difference and reduce the time. These are dummy examples +where the fitness function is made to always return 0. + +The first example uses 10 genes, 5 solutions in the population where +only 3 solutions mate, and 9999 generations. The fitness function uses a +``for`` loop with 100 iterations just to have some calculations. In the +constructor of the ``pygad.GA`` class, ``parallel_processing=None`` +means no parallel processing is used. + +.. code:: python + + import pygad + import time + + def fitness_func(ga_instance, solution, solution_idx): + for _ in range(99): + pass + return 0 + + ga_instance = pygad.GA(num_generations=9999, + num_parents_mating=3, + sol_per_pop=5, + num_genes=10, + fitness_func=fitness_func, + suppress_warnings=True, + parallel_processing=None) + + if __name__ == '__main__': + t1 = time.time() + + ga_instance.run() + + t2 = time.time() + print("Time is", t2-t1) + +When parallel processing is not used, the time it takes to run the +genetic algorithm is ``1.5`` seconds. + +In the comparison, let's do a second experiment where parallel +processing is used with 5 threads. In this case, it take ``5`` seconds. + +.. code:: python + + ... + ga_instance = pygad.GA(..., + parallel_processing=5) + ... + +For the third experiment, processes instead of threads are used. Also, +only 99 generations are used instead of 9999. The time it takes is +``99`` seconds. + +.. code:: python + + ... + ga_instance = pygad.GA(num_generations=99, + ..., + parallel_processing=["process", 5]) + ... + +This is the summary of the 3 experiments: + +1. No parallel processing & 9999 generations: 1.5 seconds. + +2. Parallel processing with 5 threads & 9999 generations: 5 seconds + +3. Parallel processing with 5 processes & 99 generations: 99 seconds + +Because the fitness function does not need much CPU time, the normal +processing takes the least time. Running processes for this simple +problem takes 99 compared to only 5 seconds for threads because managing +processes is much heavier than managing threads. Thus, most of the CPU +time is for swapping the processes instead of executing the code. + +In the second example, the loop makes 99999999 iterations and only 5 +generations are used. With no parallelization, it takes 22 seconds. + +.. code:: python + + import pygad + import time + + def fitness_func(ga_instance, solution, solution_idx): + for _ in range(99999999): + pass + return 0 + + ga_instance = pygad.GA(num_generations=5, + num_parents_mating=3, + sol_per_pop=5, + num_genes=10, + fitness_func=fitness_func, + suppress_warnings=True, + parallel_processing=None) + + if __name__ == '__main__': + t1 = time.time() + ga_instance.run() + t2 = time.time() + print("Time is", t2-t1) + +It takes 15 seconds when 10 processes are used. + +.. code:: python + + ... + ga_instance = pygad.GA(..., + parallel_processing=["process", 10]) + ... + +This is compared to 20 seconds when 10 threads are used. + +.. code:: python + + ... + ga_instance = pygad.GA(..., + parallel_processing=["thread", 10]) + ... + +Based on the second example, using parallel processing with 10 processes +takes the least time because there is much CPU work done. Generally, +processes are preferred over threads when most of the work in on the +CPU. Threads are preferred over processes in some situations like doing +input/output operations. + +*Before releasing* `PyGAD +2.17.0 `__\ *,* +`László +Fazekas `__ +*wrote an article to parallelize the fitness function with PyGAD. Check +it:* `How Genetic Algorithms Can Compete with Gradient Descent and +Backprop `__. + +Print Lifecycle Summary +======================= + +In `PyGAD +2.19.0 `__, +a new method called ``summary()`` is supported. It prints a Keras-like +summary of the PyGAD lifecycle showing the steps, callback functions, +parameters, etc. + +This method accepts the following parameters: + +- ``line_length=70``: An integer representing the length of the single + line in characters. + +- ``fill_character=" "``: A character to fill the lines. + +- ``line_character="-"``: A character for creating a line separator. + +- ``line_character2="="``: A secondary character to create a line + separator. + +- ``columns_equal_len=False``: The table rows are split into + equal-sized columns or split subjective to the width needed. + +- ``print_step_parameters=True``: Whether to print extra parameters + about each step inside the step. If ``print_step_parameters=False`` + and ``print_parameters_summary=True``, then the parameters of each + step are printed at the end of the table. + +- ``print_parameters_summary=True``: Whether to print parameters + summary at the end of the table. If ``print_step_parameters=False``, + then the parameters of each step are printed at the end of the table + too. + +This is a quick example to create a PyGAD example. + +.. code:: python + + import pygad + import numpy + + function_inputs = [4,-2,3.5,5,-11,-4.7] + desired_output = 44 + + def genetic_fitness(solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + def on_gen(ga): + pass + + def on_crossover_callback(a, b): + pass + + ga_instance = pygad.GA(num_generations=100, + num_parents_mating=10, + sol_per_pop=20, + num_genes=len(function_inputs), + on_crossover=on_crossover_callback, + on_generation=on_gen, + parallel_processing=2, + stop_criteria="reach_10", + fitness_batch_size=4, + crossover_probability=0.4, + fitness_func=genetic_fitness) + +Then call the ``summary()`` method to print the summary with the default +parameters. Note that entries for the crossover and generation callback +function are created because their callback functions are implemented +through the ``on_crossover_callback()`` and ``on_gen()``, respectively. + +.. code:: python + + ga_instance.summary() + +.. code:: bash + + ---------------------------------------------------------------------- + PyGAD Lifecycle + ====================================================================== + Step Handler Output Shape + ====================================================================== + Fitness Function genetic_fitness() (1) + Fitness batch size: 4 + ---------------------------------------------------------------------- + Parent Selection steady_state_selection() (10, 6) + Number of Parents: 10 + ---------------------------------------------------------------------- + Crossover single_point_crossover() (10, 6) + Crossover probability: 0.4 + ---------------------------------------------------------------------- + On Crossover on_crossover_callback() None + ---------------------------------------------------------------------- + Mutation random_mutation() (10, 6) + Mutation Genes: 1 + Random Mutation Range: (-1.0, 1.0) + Mutation by Replacement: False + Allow Duplicated Genes: True + ---------------------------------------------------------------------- + On Generation on_gen() None + Stop Criteria: [['reach', 10.0]] + ---------------------------------------------------------------------- + ====================================================================== + Population Size: (20, 6) + Number of Generations: 100 + Initial Population Range: (-4, 4) + Keep Elitism: 1 + Gene DType: [, None] + Parallel Processing: ['thread', 2] + Save Best Solutions: False + Save Solutions: False + ====================================================================== + +We can set the ``print_step_parameters`` and +``print_parameters_summary`` parameters to ``False`` to not print the +parameters. + +.. code:: python + + ga_instance.summary(print_step_parameters=False, + print_parameters_summary=False) + +.. code:: bash + + ---------------------------------------------------------------------- + PyGAD Lifecycle + ====================================================================== + Step Handler Output Shape + ====================================================================== + Fitness Function genetic_fitness() (1) + ---------------------------------------------------------------------- + Parent Selection steady_state_selection() (10, 6) + ---------------------------------------------------------------------- + Crossover single_point_crossover() (10, 6) + ---------------------------------------------------------------------- + On Crossover on_crossover_callback() None + ---------------------------------------------------------------------- + Mutation random_mutation() (10, 6) + ---------------------------------------------------------------------- + On Generation on_gen() None + ---------------------------------------------------------------------- + ====================================================================== + +Logging Outputs +=============== + +In `PyGAD +3.0.0 `__, +the ``print()`` statement is no longer used and the outputs are printed +using the `logging `__ +module. A a new parameter called ``logger`` is supported to accept the +user-defined logger. + +.. code:: python + + import logging + + logger = ... + + ga_instance = pygad.GA(..., + logger=logger, + ...) + +The default value for this parameter is ``None``. If there is no logger +passed (i.e. ``logger=None``), then a default logger is created to log +the messages to the console exactly like how the ``print()`` statement +works. + +Some advantages of using the the +`logging `__ module +instead of the ``print()`` statement are: + +1. The user has more control over the printed messages specially if + there is a project that uses multiple modules where each module + prints its messages. A logger can organize the outputs. + +2. Using the proper ``Handler``, the user can log the output messages to + files and not only restricted to printing it to the console. So, it + is much easier to record the outputs. + +3. The format of the printed messages can be changed by customizing the + ``Formatter`` assigned to the Logger. + +This section gives some quick examples to use the ``logging`` module and +then gives an example to use the logger with PyGAD. + +Logging to the Console +---------------------- + +This is an example to create a logger to log the messages to the +console. + +.. code:: python + + import logging + + # Create a logger + logger = logging.getLogger(__name__) + + # Set the logger level to debug so that all the messages are printed. + logger.setLevel(logging.DEBUG) + + # Create a stream handler to log the messages to the console. + stream_handler = logging.StreamHandler() + + # Set the handler level to debug. + stream_handler.setLevel(logging.DEBUG) + + # Create a formatter + formatter = logging.Formatter('%(message)s') + + # Add the formatter to handler. + stream_handler.setFormatter(formatter) + + # Add the stream handler to the logger + logger.addHandler(stream_handler) + +Now, we can log messages to the console with the format specified in the +``Formatter``. + +.. code:: python + + logger.debug('Debug message.') + logger.info('Info message.') + logger.warning('Warn message.') + logger.error('Error message.') + logger.critical('Critical message.') + +The outputs are identical to those returned using the ``print()`` +statement. + +.. code:: + + Debug message. + Info message. + Warn message. + Error message. + Critical message. + +By changing the format of the output messages, we can have more +information about each message. + +.. code:: python + + formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') + +This is a sample output. + +.. code:: python + + 2023-04-03 18:46:27 DEBUG: Debug message. + 2023-04-03 18:46:27 INFO: Info message. + 2023-04-03 18:46:27 WARNING: Warn message. + 2023-04-03 18:46:27 ERROR: Error message. + 2023-04-03 18:46:27 CRITICAL: Critical message. + +Note that you may need to clear the handlers after finishing the +execution. This is to make sure no cached handlers are used in the next +run. If the cached handlers are not cleared, then the single output +message may be repeated. + +.. code:: python + + logger.handlers.clear() + +Logging to a File +----------------- + +This is another example to log the messages to a file named +``logfile.txt``. The formatter prints the following about each message: + +1. The date and time at which the message is logged. + +2. The log level. + +3. The message. + +4. The path of the file. + +5. The lone number of the log message. + +.. code:: python + + import logging + + level = logging.DEBUG + name = 'logfile.txt' + + logger = logging.getLogger(name) + logger.setLevel(level) + + file_handler = logging.FileHandler(name, 'a+', 'utf-8') + file_handler.setLevel(logging.DEBUG) + file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s - %(pathname)s:%(lineno)d', datefmt='%Y-%m-%d %H:%M:%S') + file_handler.setFormatter(file_format) + logger.addHandler(file_handler) + +This is how the outputs look like. + +.. code:: python + + 2023-04-03 18:54:03 DEBUG: Debug message. - c:\users\agad069\desktop\logger\example2.py:46 + 2023-04-03 18:54:03 INFO: Info message. - c:\users\agad069\desktop\logger\example2.py:47 + 2023-04-03 18:54:03 WARNING: Warn message. - c:\users\agad069\desktop\logger\example2.py:48 + 2023-04-03 18:54:03 ERROR: Error message. - c:\users\agad069\desktop\logger\example2.py:49 + 2023-04-03 18:54:03 CRITICAL: Critical message. - c:\users\agad069\desktop\logger\example2.py:50 + +Consider clearing the handlers if necessary. + +.. code:: python + + logger.handlers.clear() + +Log to Both the Console and a File +---------------------------------- + +This is an example to create a single Logger associated with 2 handlers: + +1. A file handler. + +2. A stream handler. + +.. code:: python + + import logging + + level = logging.DEBUG + name = 'logfile.txt' + + logger = logging.getLogger(name) + logger.setLevel(level) + + file_handler = logging.FileHandler(name,'a+','utf-8') + file_handler.setLevel(logging.DEBUG) + file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s - %(pathname)s:%(lineno)d', datefmt='%Y-%m-%d %H:%M:%S') + file_handler.setFormatter(file_format) + logger.addHandler(file_handler) + + console_handler = logging.StreamHandler() + console_handler.setLevel(logging.INFO) + console_format = logging.Formatter('%(message)s') + console_handler.setFormatter(console_format) + logger.addHandler(console_handler) + +When a log message is executed, then it is both printed to the console +and saved in the ``logfile.txt``. + +Consider clearing the handlers if necessary. + +.. code:: python + + logger.handlers.clear() + +PyGAD Example +------------- + +To use the logger in PyGAD, just create your custom logger and pass it +to the ``logger`` parameter. + +.. code:: python + + import logging + import pygad + import numpy + + level = logging.DEBUG + name = 'logfile.txt' + + logger = logging.getLogger(name) + logger.setLevel(level) + + file_handler = logging.FileHandler(name,'a+','utf-8') + file_handler.setLevel(logging.DEBUG) + file_format = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') + file_handler.setFormatter(file_format) + logger.addHandler(file_handler) + + console_handler = logging.StreamHandler() + console_handler.setLevel(logging.INFO) + console_format = logging.Formatter('%(message)s') + console_handler.setFormatter(console_format) + logger.addHandler(console_handler) + + equation_inputs = [4, -2, 8] + desired_output = 2671.1234 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + def on_generation(ga_instance): + ga_instance.logger.info("Generation = {generation}".format(generation=ga_instance.generations_completed)) + ga_instance.logger.info("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + + ga_instance = pygad.GA(num_generations=10, + sol_per_pop=40, + num_parents_mating=2, + keep_parents=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + on_generation=on_generation, + logger=logger) + ga_instance.run() + + logger.handlers.clear() + +By executing this code, the logged messages are printed to the console +and also saved in the text file. + +.. code:: python + + 2023-04-03 19:04:27 INFO: Generation = 1 + 2023-04-03 19:04:27 INFO: Fitness = 0.00038086960368076276 + 2023-04-03 19:04:27 INFO: Generation = 2 + 2023-04-03 19:04:27 INFO: Fitness = 0.00038214871408010853 + 2023-04-03 19:04:27 INFO: Generation = 3 + 2023-04-03 19:04:27 INFO: Fitness = 0.0003832795907974678 + 2023-04-03 19:04:27 INFO: Generation = 4 + 2023-04-03 19:04:27 INFO: Fitness = 0.00038398612055017196 + 2023-04-03 19:04:27 INFO: Generation = 5 + 2023-04-03 19:04:27 INFO: Fitness = 0.00038442348890867516 + 2023-04-03 19:04:27 INFO: Generation = 6 + 2023-04-03 19:04:27 INFO: Fitness = 0.0003854406039137763 + 2023-04-03 19:04:27 INFO: Generation = 7 + 2023-04-03 19:04:27 INFO: Fitness = 0.00038646083174063284 + 2023-04-03 19:04:27 INFO: Generation = 8 + 2023-04-03 19:04:27 INFO: Fitness = 0.0003875169193024936 + 2023-04-03 19:04:27 INFO: Generation = 9 + 2023-04-03 19:04:27 INFO: Fitness = 0.0003888816727311021 + 2023-04-03 19:04:27 INFO: Generation = 10 + 2023-04-03 19:04:27 INFO: Fitness = 0.000389832593101348 + +Batch Fitness Calculation +========================= + +In `PyGAD +2.19.0 `__, +a new optional parameter called ``fitness_batch_size`` is supported. A +new optional parameter called ``fitness_batch_size`` is supported to +calculate the fitness function in batches. Thanks to `Linan +Qiu `__ for opening the `GitHub issue +#136 `__. + +Its values can be: + +- ``1`` or ``None``: If the ``fitness_batch_size`` parameter is + assigned the value ``1`` or ``None`` (default), then the normal flow + is used where the fitness function is called for each individual + solution. That is if there are 15 solutions, then the fitness + function is called 15 times. + +- ``1 < fitness_batch_size <= sol_per_pop``: If the + ``fitness_batch_size`` parameter is assigned a value satisfying this + condition ``1 < fitness_batch_size <= sol_per_pop``, then the + solutions are grouped into batches of size ``fitness_batch_size`` and + the fitness function is called once for each batch. In this case, the + fitness function must return a list/tuple/numpy.ndarray with a length + equal to the number of solutions passed. + +.. _example-without-fitnessbatchsize-parameter: + +Example without ``fitness_batch_size`` Parameter +------------------------------------------------ + +This is an example where the ``fitness_batch_size`` parameter is given +the value ``None`` (which is the default value). This is equivalent to +using the value ``1``. In this case, the fitness function will be called +for each solution. This means the fitness function ``fitness_func`` will +receive only a single solution. This is an example of the passed +arguments to the fitness function: + +.. code:: + + solution: [ 2.52860734, -0.94178795, 2.97545704, 0.84131987, -3.78447118, 2.41008358] + solution_idx: 3 + +The fitness function also must return a single numeric value as the +fitness for the passed solution. + +As we have a population of ``20`` solutions, then the fitness function +is called 20 times per generation. For 5 generations, then the fitness +function is called ``20*5 = 100`` times. In PyGAD, the fitness function +is called after the last generation too and this adds additional 20 +times. So, the total number of calls to the fitness function is +``20*5 + 20 = 120``. + +Note that the ``keep_elitism`` and ``keep_parents`` parameters are set +to ``0`` to make sure no fitness values are reused and to force calling +the fitness function for each individual solution. + +.. code:: python + + import pygad + import numpy + + function_inputs = [4,-2,3.5,5,-11,-4.7] + desired_output = 44 + + number_of_calls = 0 + + def fitness_func(ga_instance, solution, solution_idx): + global number_of_calls + number_of_calls = number_of_calls + 1 + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + ga_instance = pygad.GA(num_generations=5, + num_parents_mating=10, + sol_per_pop=20, + fitness_func=fitness_func, + fitness_batch_size=None, + # fitness_batch_size=1, + num_genes=len(function_inputs), + keep_elitism=0, + keep_parents=0) + + ga_instance.run() + print(number_of_calls) + +.. code:: + + 120 + +.. _example-with-fitnessbatchsize-parameter: + +Example with ``fitness_batch_size`` Parameter +--------------------------------------------- + +This is an example where the ``fitness_batch_size`` parameter is used +and assigned the value ``4``. This means the solutions will be grouped +into batches of ``4`` solutions. The fitness function will be called +once for each patch (i.e. called once for each 4 solutions). + +This is an example of the arguments passed to it: + +.. code:: python + + solutions: + [[ 3.1129432 -0.69123589 1.93792414 2.23772968 -1.54616001 -0.53930799] + [ 3.38508121 0.19890812 1.93792414 2.23095014 -3.08955597 3.10194128] + [ 2.37079504 -0.88819803 2.97545704 1.41742256 -3.95594055 2.45028256] + [ 2.52860734 -0.94178795 2.97545704 0.84131987 -3.78447118 2.41008358]] + solutions_indices: + [16, 17, 18, 19] + +As we have 20 solutions, then there are ``20/4 = 5`` patches. As a +result, the fitness function is called only 5 times per generation +instead of 20. For each call to the fitness function, it receives a +batch of 4 solutions. + +As we have 5 generations, then the function will be called ``5*5 = 25`` +times. Given the call to the fitness function after the last generation, +then the total number of calls is ``5*5 + 5 = 30``. + +.. code:: python + + import pygad + import numpy + + function_inputs = [4,-2,3.5,5,-11,-4.7] + desired_output = 44 + + number_of_calls = 0 + + def fitness_func_batch(ga_instance, solutions, solutions_indices): + global number_of_calls + number_of_calls = number_of_calls + 1 + batch_fitness = [] + for solution in solutions: + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + batch_fitness.append(fitness) + return batch_fitness + + ga_instance = pygad.GA(num_generations=5, + num_parents_mating=10, + sol_per_pop=20, + fitness_func=fitness_func_batch, + fitness_batch_size=4, + num_genes=len(function_inputs), + keep_elitism=0, + keep_parents=0) + + ga_instance.run() + print(number_of_calls) + +.. code:: + + 30 + +When batch fitness calculation is used, then we saved ``120 - 30 = 90`` +calls to the fitness function. + +Use Functions and Methods to Build Fitness and Callbacks +======================================================== + +In PyGAD 2.19.0, it is possible to pass user-defined functions or +methods to the following parameters: + +1. ``fitness_func`` + +2. ``on_start`` + +3. ``on_fitness`` + +4. ``on_parents`` + +5. ``on_crossover`` + +6. ``on_mutation`` + +7. ``on_generation`` + +8. ``on_stop`` + +This section gives 2 examples to assign these parameters user-defined: + +1. Functions. + +2. Methods. + +Assign Functions +---------------- + +This is a dummy example where the fitness function returns a random +value. Note that the instance of the ``pygad.GA`` class is passed as the +last parameter of all functions. + +.. code:: python + + import pygad + import numpy + + def fitness_func(ga_instanse, solution, solution_idx): + return numpy.random.rand() + + def on_start(ga_instanse): + print("on_start") + + def on_fitness(ga_instanse, last_gen_fitness): + print("on_fitness") + + def on_parents(ga_instanse, last_gen_parents): + print("on_parents") + + def on_crossover(ga_instanse, last_gen_offspring): + print("on_crossover") + + def on_mutation(ga_instanse, last_gen_offspring): + print("on_mutation") + + def on_generation(ga_instanse): + print("on_generation\n") + + def on_stop(ga_instanse, last_gen_fitness): + print("on_stop") + + ga_instance = pygad.GA(num_generations=5, + num_parents_mating=4, + sol_per_pop=10, + num_genes=2, + on_start=on_start, + on_fitness=on_fitness, + on_parents=on_parents, + on_crossover=on_crossover, + on_mutation=on_mutation, + on_generation=on_generation, + on_stop=on_stop, + fitness_func=fitness_func) + + ga_instance.run() + +Assign Methods +-------------- + +The next example has all the method defined inside the class ``Test``. +All of the methods accept an additional parameter representing the +method's object of the class ``Test``. + +All methods accept ``self`` as the first parameter and the instance of +the ``pygad.GA`` class as the last parameter. + +.. code:: python + + import pygad + import numpy + + class Test: + def fitness_func(self, ga_instanse, solution, solution_idx): + return numpy.random.rand() + + def on_start(self, ga_instanse): + print("on_start") + + def on_fitness(self, ga_instanse, last_gen_fitness): + print("on_fitness") + + def on_parents(self, ga_instanse, last_gen_parents): + print("on_parents") + + def on_crossover(self, ga_instanse, last_gen_offspring): + print("on_crossover") + + def on_mutation(self, ga_instanse, last_gen_offspring): + print("on_mutation") + + def on_generation(self, ga_instanse): + print("on_generation\n") + + def on_stop(self, ga_instanse, last_gen_fitness): + print("on_stop") + + ga_instance = pygad.GA(num_generations=5, + num_parents_mating=4, + sol_per_pop=10, + num_genes=2, + on_start=Test().on_start, + on_fitness=Test().on_fitness, + on_parents=Test().on_parents, + on_crossover=Test().on_crossover, + on_mutation=Test().on_mutation, + on_generation=Test().on_generation, + on_stop=Test().on_stop, + fitness_func=Test().fitness_func) + + ga_instance.run() + +.. _examples-2: + +Examples +======== + +This section gives the complete code of some examples that use +``pygad``. Each subsection builds a different example. + +Linear Model Optimization +------------------------- + +This example is discussed in the `Steps to Use +PyGAD `__ +section which optimizes a linear model. Its complete code is listed +below. + +.. code:: python + + import pygad + import numpy + + """ + Given the following function: + y = f(w1:w6) = w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + 6wx6 + where (x1,x2,x3,x4,x5,x6)=(4,-2,3.5,5,-11,-4.7) and y=44 + What are the best values for the 6 weights (w1 to w6)? We are going to use the genetic algorithm to optimize this function. + """ + + function_inputs = [4,-2,3.5,5,-11,-4.7] # Function inputs. + desired_output = 44 # Function output. + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + num_generations = 100 # Number of generations. + num_parents_mating = 10 # Number of solutions to be selected as parents in the mating pool. + + sol_per_pop = 20 # Number of solutions in the population. + num_genes = len(function_inputs) + + last_fitness = 0 + def on_generation(ga_instance): + global last_fitness + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + print("Change = {change}".format(change=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - last_fitness)) + last_fitness = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + sol_per_pop=sol_per_pop, + num_genes=num_genes, + fitness_func=fitness_func, + on_generation=on_generation) + + # Running the GA to optimize the parameters of the function. + ga_instance.run() + + ga_instance.plot_fitness() + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution(ga_instance.last_generation_fitness) + print("Parameters of the best solution : {solution}".format(solution=solution)) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + prediction = numpy.sum(numpy.array(function_inputs)*solution) + print("Predicted output based on the best solution : {prediction}".format(prediction=prediction)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + # Saving the GA instance. + filename = 'genetic' # The filename to which the instance is saved. The name is without extension. + ga_instance.save(filename=filename) + + # Loading the saved GA instance. + loaded_ga_instance = pygad.load(filename=filename) + loaded_ga_instance.plot_fitness() + +Reproducing Images +------------------ + +This project reproduces a single image using PyGAD by evolving pixel +values. This project works with both color and gray images. Check this +project at `GitHub `__: +https://github.com/ahmedfgad/GARI. + +For more information about this project, read this tutorial titled +`Reproducing Images using a Genetic Algorithm with +Python `__ +available at these links: + +- `Heartbeat `__: + https://heartbeat.fritz.ai/reproducing-images-using-a-genetic-algorithm-with-python-91fc701ff84 + +- `LinkedIn `__: + https://www.linkedin.com/pulse/reproducing-images-using-genetic-algorithm-python-ahmed-gad + +Project Steps +~~~~~~~~~~~~~ + +The steps to follow in order to reproduce an image are as follows: + +- Read an image + +- Prepare the fitness function + +- Create an instance of the pygad.GA class with the appropriate + parameters + +- Run PyGAD + +- Plot results + +- Calculate some statistics + +The next sections discusses the code of each of these steps. + +Read an Image +~~~~~~~~~~~~~ + +There is an image named ``fruit.jpg`` in the `GARI +project `__ which is read according +to the next code. + +.. code:: python + + import imageio + import numpy + + target_im = imageio.imread('fruit.jpg') + target_im = numpy.asarray(target_im/255, dtype=float) + +Here is the read image. + +.. figure:: https://user-images.githubusercontent.com/16560492/36948808-f0ac882e-1fe8-11e8-8d07-1307e3477fd0.jpg + :alt: + +Based on the chromosome representation used in the example, the pixel +values can be either in the 0-255, 0-1, or any other ranges. + +Note that the range of pixel values affect other parameters like the +range from which the random values are selected during mutation and also +the range of the values used in the initial population. So, be +consistent. + +Prepare the Fitness Function +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The next code creates a function that will be used as a fitness function +for calculating the fitness value for each solution in the population. +This function must be a maximization function that accepts 3 parameters +representing the instance of the ``pygad.GA`` class, a solution, and its +index. It returns a value representing the fitness value. + +.. code:: python + + import gari + + target_chromosome = gari.img2chromosome(target_im) + + def fitness_fun(ga_instance, solution, solution_idx): + fitness = numpy.sum(numpy.abs(target_chromosome-solution)) + + # Negating the fitness value to make it increasing rather than decreasing. + fitness = numpy.sum(target_chromosome) - fitness + return fitness + +The fitness value is calculated using the sum of absolute difference +between genes values in the original and reproduced chromosomes. The +``gari.img2chromosome()`` function is called before the fitness function +to represent the image as a vector because the genetic algorithm can +work with 1D chromosomes. + +The implementation of the ``gari`` module is available at the `GARI +GitHub +project `__ and +its code is listed below. + +.. code:: python + + import numpy + import functools + import operator + + def img2chromosome(img_arr): + return numpy.reshape(a=img_arr, newshape=(functools.reduce(operator.mul, img_arr.shape))) + + def chromosome2img(vector, shape): + if len(vector) != functools.reduce(operator.mul, shape): + raise ValueError("A vector of length {vector_length} into an array of shape {shape}.".format(vector_length=len(vector), shape=shape)) + + return numpy.reshape(a=vector, newshape=shape) + +.. _create-an-instance-of-the-pygadga-class-2: + +Create an Instance of the ``pygad.GA`` Class +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is very important to use random mutation and set the +``mutation_by_replacement`` to ``True``. Based on the range of pixel +values, the values assigned to the ``init_range_low``, +``init_range_high``, ``random_mutation_min_val``, and +``random_mutation_max_val`` parameters should be changed. + +If the image pixel values range from 0 to 255, then set +``init_range_low`` and ``random_mutation_min_val`` to 0 as they are but +change ``init_range_high`` and ``random_mutation_max_val`` to 255. + +Feel free to change the other parameters or add other parameters. Please +check the `PyGAD's documentation `__ for +the full list of parameters. + +.. code:: python + + import pygad + + ga_instance = pygad.GA(num_generations=20000, + num_parents_mating=10, + fitness_func=fitness_fun, + sol_per_pop=20, + num_genes=target_im.size, + init_range_low=0.0, + init_range_high=1.0, + mutation_percent_genes=0.01, + mutation_type="random", + mutation_by_replacement=True, + random_mutation_min_val=0.0, + random_mutation_max_val=1.0) + +Run PyGAD +~~~~~~~~~ + +Simply, call the ``run()`` method to run PyGAD. + +.. code:: python + + ga_instance.run() + +Plot Results +~~~~~~~~~~~~ + +After the ``run()`` method completes, the fitness values of all +generations can be viewed in a plot using the ``plot_fitness()`` method. + +.. code:: python + + ga_instance.plot_fitness() + +Here is the plot after 20,000 generations. + +.. figure:: https://user-images.githubusercontent.com/16560492/82232124-77762c00-992e-11ea-9fc6-14a1cd7a04ff.png + :alt: + +Calculate Some Statistics +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Here is some information about the best solution. + +.. code:: python + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + + result = gari.chromosome2img(solution, target_im.shape) + matplotlib.pyplot.imshow(result) + matplotlib.pyplot.title("PyGAD & GARI for Reproducing Images") + matplotlib.pyplot.show() + +Evolution by Generation +~~~~~~~~~~~~~~~~~~~~~~~ + +The solution reached after the 20,000 generations is shown below. + +.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png + :alt: + +After more generations, the result can be enhanced like what shown +below. + +.. figure:: https://user-images.githubusercontent.com/16560492/82232345-cf149780-992e-11ea-8390-bf1a57a19de7.png + :alt: + +The results can also be enhanced by changing the parameters passed to +the constructor of the ``pygad.GA`` class. + +Here is how the image is evolved from generation 0 to generation +20,000s. + +Generation 0 + +.. figure:: https://user-images.githubusercontent.com/16560492/36948589-b47276f0-1fe5-11e8-8efe-0cd1a225ea3a.png + :alt: + +Generation 1,000 + +.. figure:: https://user-images.githubusercontent.com/16560492/36948823-16f490ee-1fe9-11e8-97db-3e8905ad5440.png + :alt: + +Generation 2,500 + +.. figure:: https://user-images.githubusercontent.com/16560492/36948832-3f314b60-1fe9-11e8-8f4a-4d9a53b99f3d.png + :alt: + +Generation 4,500 + +.. figure:: https://user-images.githubusercontent.com/16560492/36948837-53d1849a-1fe9-11e8-9b36-e9e9291e347b.png + :alt: + +Generation 7,000 + +.. figure:: https://user-images.githubusercontent.com/16560492/36948852-66f1b176-1fe9-11e8-9f9b-460804e94004.png + :alt: + +Generation 8,000 + +.. figure:: https://user-images.githubusercontent.com/16560492/36948865-7fbb5158-1fe9-11e8-8c04-8ac3c1f7b1b1.png + :alt: + +Generation 20,000 + +.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png + :alt: + +Clustering +---------- + +For a 2-cluster problem, the code is available +`here `__. +For a 3-cluster problem, the code is +`here `__. +The 2 examples are using artificial samples. + +Soon a tutorial will be published at +`Paperspace `__ to explain how +clustering works using the genetic algorithm with examples in PyGAD. + +CoinTex Game Playing using PyGAD +-------------------------------- + +The code is available the `CoinTex GitHub +project `__. +CoinTex is an Android game written in Python using the Kivy framework. +Find CoinTex at `Google +Play `__: +https://play.google.com/store/apps/details?id=coin.tex.cointexreactfast + +Check this `Paperspace +tutorial `__ +for how the genetic algorithm plays CoinTex: +https://blog.paperspace.com/building-agent-for-cointex-using-genetic-algorithm. +Check also this `YouTube video `__ showing +the genetic algorithm while playing CoinTex. diff --git a/docs/source/Footer.rst b/docs/source/releases.rst similarity index 97% rename from docs/source/Footer.rst rename to docs/source/releases.rst index 54814ba..3458aaf 100644 --- a/docs/source/Footer.rst +++ b/docs/source/releases.rst @@ -1,2046 +1,2046 @@ -Release History -=============== - -.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png - :alt: - -.. _pygad-1017: - -PyGAD 1.0.17 ------------- - -Release Date: 15 April 2020 - -1. The **pygad.GA** class accepts a new argument named ``fitness_func`` - which accepts a function to be used for calculating the fitness - values for the solutions. This allows the project to be customized to - any problem by building the right fitness function. - -.. _pygad-1020: - -PyGAD 1.0.20 -------------- - -Release Date: 4 May 2020 - -1. The **pygad.GA** attributes are moved from the class scope to the - instance scope. - -2. Raising an exception for incorrect values of the passed parameters. - -3. Two new parameters are added to the **pygad.GA** class constructor - (``init_range_low`` and ``init_range_high``) allowing the user to - customize the range from which the genes values in the initial - population are selected. - -4. The code object ``__code__`` of the passed fitness function is - checked to ensure it has the right number of parameters. - -.. _pygad-200: - -PyGAD 2.0.0 ------------- - -Release Date: 13 May 2020 - -1. The fitness function accepts a new argument named ``sol_idx`` - representing the index of the solution within the population. - -2. A new parameter to the **pygad.GA** class constructor named - ``initial_population`` is supported to allow the user to use a custom - initial population to be used by the genetic algorithm. If not None, - then the passed population will be used. If ``None``, then the - genetic algorithm will create the initial population using the - ``sol_per_pop`` and ``num_genes`` parameters. - -3. The parameters ``sol_per_pop`` and ``num_genes`` are optional and set - to ``None`` by default. - -4. A new parameter named ``callback_generation`` is introduced in the - **pygad.GA** class constructor. It accepts a function with a single - parameter representing the **pygad.GA** class instance. This function - is called after each generation. This helps the user to do - post-processing or debugging operations after each generation. - -.. _pygad-210: - -PyGAD 2.1.0 ------------ - -Release Date: 14 May 2020 - -1. The ``best_solution()`` method in the **pygad.GA** class returns a - new output representing the index of the best solution within the - population. Now, it returns a total of 3 outputs and their order is: - best solution, best solution fitness, and best solution index. Here - is an example: - -.. code:: python - - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Parameters of the best solution :", solution) - print("Fitness value of the best solution :", solution_fitness, "\n") - print("Index of the best solution :", solution_idx, "\n") - -1. | A new attribute named ``best_solution_generation`` is added to the - instances of the **pygad.GA** class. it holds the generation number - at which the best solution is reached. It is only assigned the - generation number after the ``run()`` method completes. Otherwise, - its value is -1. - | Example: - -.. code:: python - - print("Best solution reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) - -1. The ``best_solution_fitness`` attribute is renamed to - ``best_solutions_fitness`` (plural solution). - -2. Mutation is applied independently for the genes. - -.. _pygad-221: - -PyGAD 2.2.1 ------------ - -Release Date: 17 May 2020 - -1. Adding 2 extra modules (pygad.nn and pygad.gann) for building and - training neural networks with the genetic algorithm. - -.. _pygad-222: - -PyGAD 2.2.2 ------------ - -Release Date: 18 May 2020 - -1. The initial value of the ``generations_completed`` attribute of - instances from the pygad.GA class is ``0`` rather than ``None``. - -2. An optional bool parameter named ``mutation_by_replacement`` is added - to the constructor of the pygad.GA class. It works only when the - selected type of mutation is random (``mutation_type="random"``). In - this case, setting ``mutation_by_replacement=True`` means replace the - gene by the randomly generated value. If ``False``, then it has no - effect and random mutation works by adding the random value to the - gene. This parameter should be used when the gene falls within a - fixed range and its value must not go out of this range. Here are - some examples: - -Assume there is a gene with the value 0.5. - -If ``mutation_type="random"`` and ``mutation_by_replacement=False``, -then the generated random value (e.g. 0.1) will be added to the gene -value. The new gene value is **0.5+0.1=0.6**. - -If ``mutation_type="random"`` and ``mutation_by_replacement=True``, then -the generated random value (e.g. 0.1) will replace the gene value. The -new gene value is **0.1**. - -1. ``None`` value could be assigned to the ``mutation_type`` and - ``crossover_type`` parameters of the pygad.GA class constructor. When - ``None``, this means the step is bypassed and has no action. - -.. _pygad-230: - -PyGAD 2.3.0 ------------ - -Release date: 1 June 2020 - -1. A new module named ``pygad.cnn`` is supported for building - convolutional neural networks. - -2. A new module named ``pygad.gacnn`` is supported for training - convolutional neural networks using the genetic algorithm. - -3. The ``pygad.plot_result()`` method has 3 optional parameters named - ``title``, ``xlabel``, and ``ylabel`` to customize the plot title, - x-axis label, and y-axis label, respectively. - -4. The ``pygad.nn`` module supports the softmax activation function. - -5. The name of the ``pygad.nn.predict_outputs()`` function is changed to - ``pygad.nn.predict()``. - -6. The name of the ``pygad.nn.train_network()`` function is changed to - ``pygad.nn.train()``. - -.. _pygad-240: - -PyGAD 2.4.0 ------------ - -Release date: 5 July 2020 - -1. A new parameter named ``delay_after_gen`` is added which accepts a - non-negative number specifying the time in seconds to wait after a - generation completes and before going to the next generation. It - defaults to ``0.0`` which means no delay after the generation. - -2. The passed function to the ``callback_generation`` parameter of the - pygad.GA class constructor can terminate the execution of the genetic - algorithm if it returns the string ``stop``. This causes the - ``run()`` method to stop. - -One important use case for that feature is to stop the genetic algorithm -when a condition is met before passing though all the generations. The -user may assigned a value of 100 to the ``num_generations`` parameter of -the pygad.GA class constructor. Assuming that at generation 50, for -example, a condition is met and the user wants to stop the execution -before waiting the remaining 50 generations. To do that, just make the -function passed to the ``callback_generation`` parameter to return the -string ``stop``. - -Here is an example of a function to be passed to the -``callback_generation`` parameter which stops the execution if the -fitness value 70 is reached. The value 70 might be the best possible -fitness value. After being reached, then there is no need to pass -through more generations because no further improvement is possible. - -.. code:: python - - def func_generation(ga_instance): - if ga_instance.best_solution()[1] >= 70: - return "stop" - -.. _pygad-250: - -PyGAD 2.5.0 ------------ - -Release date: 19 July 2020 - -1. | 2 new optional parameters added to the constructor of the - ``pygad.GA`` class which are ``crossover_probability`` and - ``mutation_probability``. - | While applying the crossover operation, each parent has a random - value generated between 0.0 and 1.0. If this random value is less - than or equal to the value assigned to the - ``crossover_probability`` parameter, then the parent is selected - for the crossover operation. - | For the mutation operation, a random value between 0.0 and 1.0 is - generated for each gene in the solution. If this value is less than - or equal to the value assigned to the ``mutation_probability``, - then this gene is selected for mutation. - -2. A new optional parameter named ``linewidth`` is added to the - ``plot_result()`` method to specify the width of the curve in the - plot. It defaults to 3.0. - -3. Previously, the indices of the genes selected for mutation was - randomly generated once for all solutions within the generation. - Currently, the genes' indices are randomly generated for each - solution in the population. If the population has 4 solutions, the - indices are randomly generated 4 times inside the single generation, - 1 time for each solution. - -4. Previously, the position of the point(s) for the single-point and - two-points crossover was(were) randomly selected once for all - solutions within the generation. Currently, the position(s) is(are) - randomly selected for each solution in the population. If the - population has 4 solutions, the position(s) is(are) randomly - generated 4 times inside the single generation, 1 time for each - solution. - -5. A new optional parameter named ``gene_space`` as added to the - ``pygad.GA`` class constructor. It is used to specify the possible - values for each gene in case the user wants to restrict the gene - values. It is useful if the gene space is restricted to a certain - range or to discrete values. For more information, check the `More - about the ``gene_space`` - Parameter `__ - section. Thanks to `Prof. Tamer A. - Farrag `__ for requesting this useful - feature. - -.. _pygad-260: - -PyGAD 2.6.0 ------------- - -Release Date: 6 August 2020 - -1. A bug fix in assigning the value to the ``initial_population`` - parameter. - -2. A new parameter named ``gene_type`` is added to control the gene - type. It can be either ``int`` or ``float``. It has an effect only - when the parameter ``gene_space`` is ``None``. - -3. 7 new parameters that accept callback functions: ``on_start``, - ``on_fitness``, ``on_parents``, ``on_crossover``, ``on_mutation``, - ``on_generation``, and ``on_stop``. - -.. _pygad-270: - -PyGAD 2.7.0 ------------ - -Release Date: 11 September 2020 - -1. The ``learning_rate`` parameter in the ``pygad.nn.train()`` function - defaults to **0.01**. - -2. Added support of building neural networks for regression using the - new parameter named ``problem_type``. It is added as a parameter to - both ``pygad.nn.train()`` and ``pygad.nn.predict()`` functions. The - value of this parameter can be either **classification** or - **regression** to define the problem type. It defaults to - **classification**. - -3. The activation function for a layer can be set to the string - ``"None"`` to refer that there is no activation function at this - layer. As a result, the supported values for the activation function - are ``"sigmoid"``, ``"relu"``, ``"softmax"``, and ``"None"``. - -To build a regression network using the ``pygad.nn`` module, just do the -following: - -1. Set the ``problem_type`` parameter in the ``pygad.nn.train()`` and - ``pygad.nn.predict()`` functions to the string ``"regression"``. - -2. Set the activation function for the output layer to the string - ``"None"``. This sets no limits on the range of the outputs as it - will be from ``-infinity`` to ``+infinity``. If you are sure that all - outputs will be nonnegative values, then use the ReLU function. - -Check the documentation of the ``pygad.nn`` module for an example that -builds a neural network for regression. The regression example is also -available at `this GitHub -project `__: -https://github.com/ahmedfgad/NumPyANN - -To build and train a regression network using the ``pygad.gann`` module, -do the following: - -1. Set the ``problem_type`` parameter in the ``pygad.nn.train()`` and - ``pygad.nn.predict()`` functions to the string ``"regression"``. - -2. Set the ``output_activation`` parameter in the constructor of the - ``pygad.gann.GANN`` class to ``"None"``. - -Check the documentation of the ``pygad.gann`` module for an example that -builds and trains a neural network for regression. The regression -example is also available at `this GitHub -project `__: -https://github.com/ahmedfgad/NeuralGenetic - -To build a classification network, either ignore the ``problem_type`` -parameter or set it to ``"classification"`` (default value). In this -case, the activation function of the last layer can be set to any type -(e.g. softmax). - -.. _pygad-271: - -PyGAD 2.7.1 ------------ - -Release Date: 11 September 2020 - -1. A bug fix when the ``problem_type`` argument is set to - ``regression``. - -.. _pygad-272: - -PyGAD 2.7.2 ------------ - -Release Date: 14 September 2020 - -1. Bug fix to support building and training regression neural networks - with multiple outputs. - -.. _pygad-280: - -PyGAD 2.8.0 ------------ - -Release Date: 20 September 2020 - -1. Support of a new module named ``kerasga`` so that the Keras models - can be trained by the genetic algorithm using PyGAD. - -.. _pygad-281: - -PyGAD 2.8.1 ------------ - -Release Date: 3 October 2020 - -1. Bug fix in applying the crossover operation when the - ``crossover_probability`` parameter is used. Thanks to `Eng. Hamada - Kassem, Research and Teaching Assistant, Construction Engineering and - Management, Faculty of Engineering, Alexandria University, - Egypt `__. - -.. _pygad-290: - -PyGAD 2.9.0 ------------- - -Release Date: 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``. - -.. _pygad-2100: - -PyGAD 2.10.0 ------------- - -Release Date: 03 January 2021 - -1. Support of a new module ``pygad.torchga`` to train PyTorch models - using PyGAD. Check `its - documentation `__. - -2. Support of adaptive mutation where the mutation rate is determined - by the fitness value of each solution. Read the `Adaptive - Mutation `__ - section for more details. Also, read this paper: `Libelli, S. - Marsili, and P. Alba. "Adaptive mutation in genetic algorithms." - Soft computing 4.2 (2000): - 76-80. `__ - -3. Before the ``run()`` method completes or exits, the fitness value of - the best solution in the current population is appended to the - ``best_solution_fitness`` list attribute. Note that the fitness - value of the best solution in the initial population is already - saved at the beginning of the list. So, the fitness value of the - best solution is saved before the genetic algorithm starts and after - it ends. - -4. When the parameter ``parent_selection_type`` is set to ``sss`` - (steady-state selection), then a warning message is printed if the - value of the ``keep_parents`` parameter is set to 0. - -5. More validations to the user input parameters. - -6. The default value of the ``mutation_percent_genes`` is set to the - string ``"default"`` rather than the integer 10. This change helps - to know whether the user explicitly passed a value to the - ``mutation_percent_genes`` parameter or it is left to its default - one. The ``"default"`` value is later translated into the integer - 10. - -7. The ``mutation_percent_genes`` parameter is no longer accepting the - value 0. It must be ``>0`` and ``<=100``. - -8. The built-in ``warnings`` module is used to show warning messages - rather than just using the ``print()`` function. - -9. A new ``bool`` parameter called ``suppress_warnings`` is added to - the constructor of the ``pygad.GA`` class. It allows the user to - control whether the warning messages are printed or not. It defaults - to ``False`` which means the messages are printed. - -10. A helper method called ``adaptive_mutation_population_fitness()`` is - created to calculate the average fitness value used in adaptive - mutation to filter the solutions. - -11. The ``best_solution()`` method accepts a new optional parameter - called ``pop_fitness``. It accepts a list of the fitness values of - the solutions in the population. If ``None``, then the - ``cal_pop_fitness()`` method is called to calculate the fitness - values of the population. - -.. _pygad-2101: - -PyGAD 2.10.1 ------------- - -Release Date: 10 January 2021 - -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 `__ for - pointing about that at - `GitHub `__. - -.. _pygad-2102: - -PyGAD 2.10.2 ------------- - -Release Date: 15 January 2021 - -1. A bug fix when ``save_best_solutions=True``. Refer to this issue for - more information: - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/25 - -.. _pygad-2110: - -PyGAD 2.11.0 ------------- - -Release Date: 16 February 2021 - -1. In the ``gene_space`` argument, the user can use a dictionary to - specify the lower and upper limits of the gene. This dictionary must - have only 2 items with keys ``low`` and ``high`` to specify the low - and high limits of the gene, respectively. This way, PyGAD takes care - of not exceeding the value limits of the gene. For a problem with - only 2 genes, then using - ``gene_space=[{'low': 1, 'high': 5}, {'low': 0.2, 'high': 0.81}]`` - means the accepted values in the first gene start from 1 (inclusive) - to 5 (exclusive) while the second one has values between 0.2 - (inclusive) and 0.85 (exclusive). For more information, please check - the `Limit the Gene Value - Range `__ - section of the documentation. - -2. The ``plot_result()`` method returns the figure so that the user can - save it. - -3. Bug fixes in copying elements from the gene space. - -4. For a gene with a set of discrete values (more than 1 value) in the - ``gene_space`` parameter like ``[0, 1]``, it was possible that the - gene value may not change after mutation. That is if the current - value is 0, then the randomly selected value could also be 0. Now, it - is verified that the new value is changed. So, if the current value - is 0, then the new value after mutation will not be 0 but 1. - -.. _pygad-2120: - -PyGAD 2.12.0 ------------- - -Release Date: 20 February 2021 - -1. 4 new instance attributes are added to hold temporary results after - each generation: ``last_generation_fitness`` holds the fitness values - of the solutions in the last generation, ``last_generation_parents`` - holds the parents selected from the last generation, - ``last_generation_offspring_crossover`` holds the offspring generated - after applying the crossover in the last generation, and - ``last_generation_offspring_mutation`` holds the offspring generated - after applying the mutation in the last generation. You can access - these attributes inside the ``on_generation()`` method for example. - -2. A bug fixed when the ``initial_population`` parameter is used. The - bug occurred due to a mismatch between the data type of the array - assigned to ``initial_population`` and the gene type in the - ``gene_type`` attribute. Assuming that the array assigned to the - ``initial_population`` parameter is - ``((1, 1), (3, 3), (5, 5), (7, 7))`` which has type ``int``. When - ``gene_type`` is set to ``float``, then the genes will not be float - but casted to ``int`` because the defined array has ``int`` type. The - bug is fixed by forcing the array assigned to ``initial_population`` - to have the data type in the ``gene_type`` attribute. Check the - `issue at - GitHub `__: - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/27 - -Thanks to Andrei Rozanski [PhD Bioinformatics Specialist, Department of -Tissue Dynamics and Regeneration, Max Planck Institute for Biophysical -Chemistry, Germany] for opening my eye to the first change. - -Thanks to `Marios -Giouvanakis `__, -a PhD candidate in Electrical & Computer Engineer, `Aristotle University -of Thessaloniki (Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης), -Greece `__, for emailing me about the second -issue. - -.. _pygad-2130: - -PyGAD 2.13.0 -------------- - -Release Date: 12 March 2021 - -1. A new ``bool`` parameter called ``allow_duplicate_genes`` is - supported. If ``True``, which is the default, then a - solution/chromosome may have duplicate gene values. If ``False``, - then each gene will have a unique value in its solution. Check the - `Prevent Duplicates in Gene - Values `__ - section for more details. - -2. The ``last_generation_fitness`` is updated at the end of each - generation not at the beginning. This keeps the fitness values of the - most up-to-date population assigned to the - ``last_generation_fitness`` parameter. - -.. _pygad-2140: - -PyGAD 2.14.0 ------------- - -PyGAD 2.14.0 has an issue that is solved in PyGAD 2.14.1. Please -consider using 2.14.1 not 2.14.0. - -Release Date: 19 May 2021 - -1. `Issue - #40 `__ - is solved. Now, the ``None`` value works with the ``crossover_type`` - and ``mutation_type`` parameters: - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/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. For more information, check the - `More about the ``gene_type`` - Parameter `__ - section. Thanks to `Rainer - Engel `__ - for asking about this feature in `this - discussion `__: - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/43 - -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 - #32 `__: - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32 - -.. _pygad-2142: - -PyGAD 2.14.2 ------------- - -Release Date: 27 May 2021 - -1. Some bug fixes when the ``gene_type`` parameter is nested. Thanks to - `Rainer - Engel `__ - for opening `a - discussion `__ - to report this bug: - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/43#discussioncomment-763342 - -`Rainer -Engel `__ -helped a lot in suggesting new features and suggesting enhancements in -2.14.0 to 2.14.2 releases. - -.. _pygad-2143: - -PyGAD 2.14.3 ------------- - -Release Date: 6 June 2021 - -1. 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 best - solution at its exact generation. - -.. _pygad-2150: - -PyGAD 2.15.0 ------------- - -Release Date: 17 June 2021 - -1. Control the precision of all genes/individual genes. Thanks to - `Rainer `__ for asking about this - feature: - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/43#discussioncomment-763452 - -2. A new attribute named ``last_generation_parents_indices`` holds the - indices of the selected parents in the last generation. - -3. In adaptive mutation, no need to recalculate the fitness values of - the parents selected in the last generation as these values can be - returned based on the ``last_generation_fitness`` and - ``last_generation_parents_indices`` attributes. This speeds-up the - adaptive mutation. - -4. When a sublist has a value of ``None`` in the ``gene_space`` - parameter (e.g. ``gene_space=[[1, 2, 3], [5, 6, None]]``), then its - value will be randomly generated for each solution rather than being - generated once for all solutions. Previously, a value of ``None`` in - a sublist of the ``gene_space`` parameter was identical across all - solutions. - -5. The dictionary assigned to the ``gene_space`` parameter itself or - one of its elements has a new key called ``"step"`` to specify the - step of moving from the start to the end of the range specified by - the 2 existing keys ``"low"`` and ``"high"``. An example is - ``{"low": 0, "high": 30, "step": 2}`` to have only even values for - the gene(s) starting from 0 to 30. For more information, check the - `More about the ``gene_space`` - Parameter `__ - section. - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/48 - -6. A new function called ``predict()`` is added in both the - ``pygad.kerasga`` and ``pygad.torchga`` modules to make predictions. - This makes it easier than using custom code each time a prediction - is to be made. - -7. A new parameter called ``stop_criteria`` allows the user to specify - one or more stop criteria to stop the evolution based on some - conditions. Each criterion is passed as ``str`` which has a stop - word. The current 2 supported words are ``reach`` and ``saturate``. - ``reach`` stops the ``run()`` method if the fitness value is equal - to or greater than a given fitness value. An example for ``reach`` - is ``"reach_40"`` which stops the evolution if the fitness is >= 40. - ``saturate`` means stop the evolution if the fitness saturates for a - given number of consecutive generations. An example for ``saturate`` - is ``"saturate_7"`` which means stop the ``run()`` method if the - fitness does not change for 7 consecutive generations. Thanks to - `Rainer `__ for asking about this - feature: - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/44 - -8. A new bool parameter, defaults to ``False``, named - ``save_solutions`` is added to the constructor of the ``pygad.GA`` - class. If ``True``, then all solutions in each generation are - appended into an attribute called ``solutions`` which is NumPy - array. - -9. The ``plot_result()`` method is renamed to ``plot_fitness()``. The - users should migrate to the new name as the old name will be removed - in the future. - -10. Four new optional parameters are added to the ``plot_fitness()`` - function in the ``pygad.GA`` class which are ``font_size=14``, - ``save_dir=None``, ``color="#3870FF"``, and ``plot_type="plot"``. - Use ``font_size`` to change the font of the plot title and labels. - ``save_dir`` accepts the directory to which the figure is saved. It - defaults to ``None`` which means do not save the figure. ``color`` - changes the color of the plot. ``plot_type`` changes the plot type - which can be either ``"plot"`` (default), ``"scatter"``, or - ``"bar"``. - https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/47 - -11. The default value of the ``title`` parameter in the - ``plot_fitness()`` method is ``"PyGAD - Generation vs. Fitness"`` - rather than ``"PyGAD - Iteration vs. Fitness"``. - -12. A new method named ``plot_new_solution_rate()`` creates, shows, and - returns a figure showing the rate of new/unique solutions explored - in each generation. It accepts the same parameters as in the - ``plot_fitness()`` method. This method only works when - ``save_solutions=True`` in the ``pygad.GA`` class's constructor. - -13. A new method named ``plot_genes()`` creates, shows, and returns a - figure to show how each gene changes per each generation. It accepts - similar parameters like the ``plot_fitness()`` method in addition to - the ``graph_type``, ``fill_color``, and ``solutions`` parameters. - The ``graph_type`` parameter can be either ``"plot"`` (default), - ``"boxplot"``, or ``"histogram"``. ``fill_color`` accepts the fill - color which works when ``graph_type`` is either ``"boxplot"`` or - ``"histogram"``. ``solutions`` can be either ``"all"`` or ``"best"`` - to decide whether all solutions or only best solutions are used. - -14. The ``gene_type`` parameter now supports controlling the precision - of ``float`` data types. For a gene, rather than assigning just the - data type like ``float``, assign a - ``list``/``tuple``/``numpy.ndarray`` with 2 elements where the first - one is the type and the second one is the precision. For example, - ``[float, 2]`` forces a gene with a value like ``0.1234`` to be - ``0.12``. For more information, check the `More about the - ``gene_type`` - Parameter `__ - section. - -.. _pygad-2151: - -PyGAD 2.15.1 ------------- - -Release Date: 18 June 2021 - -1. Fix a bug when ``keep_parents`` is set to a positive integer. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/49 - -.. _pygad-2152: - -PyGAD 2.15.2 ------------- - -Release Date: 18 June 2021 - -1. Fix a bug when using the ``kerasga`` or ``torchga`` modules. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/51 - -.. _pygad-2160: - -PyGAD 2.16.0 ------------- - -Release Date: 19 June 2021 - -1. A user-defined function can be passed to the ``mutation_type``, - ``crossover_type``, and ``parent_selection_type`` parameters in the - ``pygad.GA`` class to create a custom mutation, crossover, and parent - selection operators. Check the `User-Defined Crossover, Mutation, and - Parent Selection - Operators `__ - section for more details. - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/50 - -.. _pygad-2161: - -PyGAD 2.16.1 ------------- - -Release Date: 28 September 2021 - -1. The user can use the ``tqdm`` library to show a progress bar. - https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/50. - -.. code:: python - - import pygad - import numpy - import tqdm - - equation_inputs = [4,-2,3.5] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - num_generations = 10000 - with tqdm.tqdm(total=num_generations) as pbar: - ga_instance = pygad.GA(num_generations=num_generations, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - on_generation=lambda _: pbar.update(1)) - - ga_instance.run() - - ga_instance.plot_result() - -But this work does not work if the ``ga_instance`` will be pickled (i.e. -the ``save()`` method will be called. - -.. code:: python - - ga_instance.save("test") - -To solve this issue, define a function and pass it to the -``on_generation`` parameter. In the next code, the -``on_generation_progress()`` function is defined which updates the -progress bar. - -.. code:: python - - import pygad - import numpy - import tqdm - - equation_inputs = [4,-2,3.5] - desired_output = 44 - - def fitness_func(ga_instance, solution, solution_idx): - output = numpy.sum(solution * equation_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - - def on_generation_progress(ga): - pbar.update(1) - - num_generations = 100 - with tqdm.tqdm(total=num_generations) as pbar: - ga_instance = pygad.GA(num_generations=num_generations, - sol_per_pop=5, - num_parents_mating=2, - num_genes=len(equation_inputs), - fitness_func=fitness_func, - on_generation=on_generation_progress) - - ga_instance.run() - - ga_instance.plot_result() - - ga_instance.save("test") - -1. Solved the issue of unequal length between the ``solutions`` and - ``solutions_fitness`` when the ``save_solutions`` parameter is set to - ``True``. Now, the fitness of the last population is appended to the - ``solutions_fitness`` array. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/64 - -2. There was an issue of getting the length of these 4 variables - (``solutions``, ``solutions_fitness``, ``best_solutions``, and - ``best_solutions_fitness``) doubled after each call of the ``run()`` - method. This is solved by resetting these variables at the beginning - of the ``run()`` method. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/62 - -3. Bug fixes when adaptive mutation is used - (``mutation_type="adaptive"``). - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/65 - -.. _pygad-2162: - -PyGAD 2.16.2 ------------- - -Release Date: 2 February 2022 - -1. A new instance attribute called ``previous_generation_fitness`` added - in the ``pygad.GA`` class. It holds the fitness values of one - generation before the fitness values saved in the - ``last_generation_fitness``. - -2. Issue in the ``cal_pop_fitness()`` method in getting the correct - indices of the previous parents. This is solved by using the previous - generation's fitness saved in the new attribute - ``previous_generation_fitness`` to return the parents' fitness - values. Thanks to Tobias Tischhauser (M.Sc. - `Mitarbeiter Institut - EMS, Departement Technik, OST – Ostschweizer Fachhochschule, - Switzerland `__) - for detecting this bug. - -.. _pygad-2163: - -PyGAD 2.16.3 ------------- - -Release Date: 2 February 2022 - -1. Validate the fitness value returned from the fitness function. An - exception is raised if something is wrong. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/67 - -.. _pygad-2170: - -PyGAD 2.17.0 ------------- - -Release Date: 8 July 2022 - -1. An issue is solved when the ``gene_space`` parameter is given a fixed - value. e.g. gene_space=[range(5), 4]. The second gene's value is - static (4) which causes an exception. - -2. Fixed the issue where the ``allow_duplicate_genes`` parameter did not - work when mutation is disabled (i.e. ``mutation_type=None``). This is - by checking for duplicates after crossover directly. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/39 - -3. Solve an issue in the ``tournament_selection()`` method as the - indices of the selected parents were incorrect. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/89 - -4. Reuse the fitness values of the previously explored solutions rather - than recalculating them. This feature only works if - ``save_solutions=True``. - -5. Parallel processing is supported. This is by the introduction of a - new parameter named ``parallel_processing`` in the constructor of the - ``pygad.GA`` class. Thanks to - `@windowshopr `__ for opening the - issue - `#78 `__ - at GitHub. Check the `Parallel Processing in - PyGAD `__ - section for more information and examples. - -.. _pygad-2180: - -PyGAD 2.18.0 ------------- - -Release Date: 9 September 2022 - -1. Raise an exception if the sum of fitness values is zero while either - roulette wheel or stochastic universal parent selection is used. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/129 - -2. Initialize the value of the ``run_completed`` property to ``False``. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/122 - -3. The values of these properties are no longer reset with each call to - the ``run()`` method - ``self.best_solutions, self.best_solutions_fitness, self.solutions, self.solutions_fitness``: - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/123. Now, - the user can have the flexibility of calling the ``run()`` method - more than once while extending the data collected after each - generation. Another advantage happens when the instance is loaded and - the ``run()`` method is called, as the old fitness value are shown on - the graph alongside with the new fitness values. Read more in this - section: `Continue without Loosing - Progress `__ - -4. Thanks `Prof. Fernando Jiménez - Barrionuevo `__ (Dept. of Information and - Communications Engineering, University of Murcia, Murcia, Spain) for - editing this - `comment `__ - in the code. - https://github.com/ahmedfgad/GeneticAlgorithmPython/commit/5315bbec02777df96ce1ec665c94dece81c440f4 - -5. A bug fixed when ``crossover_type=None``. - -6. Support of elitism selection through a new parameter named - ``keep_elitism``. It defaults to 1 which means for each generation - keep only the best solution in the next generation. If assigned 0, - then it has no effect. Read more in this section: `Elitism - Selection `__. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/74 - -7. A new instance attribute named ``last_generation_elitism`` added to - hold the elitism in the last generation. - -8. A new parameter called ``random_seed`` added to accept a seed for the - random function generators. Credit to this issue - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/70 and - `Prof. Fernando Jiménez Barrionuevo `__. - Read more in this section: `Random - Seed `__. - -9. Editing the ``pygad.TorchGA`` module to make sure the tensor data is - moved from GPU to CPU. Thanks to Rasmus Johansson for opening this - pull request: https://github.com/ahmedfgad/TorchGA/pull/2 - -.. _pygad-2181: - -PyGAD 2.18.1 ------------- - -Release Date: 19 September 2022 - -1. A big fix when ``keep_elitism`` is used. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/132 - -.. _pygad-2182: - -PyGAD 2.18.2 ------------- - -Release Date: 14 February 2023 - -1. Remove ``numpy.int`` and ``numpy.float`` from the list of supported - data types. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/151 - https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/152 - -2. Call the ``on_crossover()`` callback function even if - ``crossover_type`` is ``None``. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/138 - -3. Call the ``on_mutation()`` callback function even if - ``mutation_type`` is ``None``. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/138 - -.. _pygad-2183: - -PyGAD 2.18.3 ------------- - -Release Date: 14 February 2023 - -1. Bug fixes. - -.. _pygad-2190: - -PyGAD 2.19.0 ------------- - -Release Date: 22 February 2023 - -1. A new ``summary()`` method is supported to return a Keras-like - summary of the PyGAD lifecycle. - -2. A new optional parameter called ``fitness_batch_size`` is supported - to calculate the fitness in batches. If it is assigned the value - ``1`` or ``None`` (default), then the normal flow is used where the - fitness function is called for each individual solution. If the - ``fitness_batch_size`` parameter is assigned a value satisfying this - condition ``1 < fitness_batch_size <= sol_per_pop``, then the - solutions are grouped into batches of size ``fitness_batch_size`` - and the fitness function is called once for each batch. In this - case, the fitness function must return a list/tuple/numpy.ndarray - with a length equal to the number of solutions passed. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/136. - -3. The ``cloudpickle`` library - (https://github.com/cloudpipe/cloudpickle) is used instead of the - ``pickle`` library to pickle the ``pygad.GA`` objects. This solves - the issue of having to redefine the functions (e.g. fitness - function). The ``cloudpickle`` library is added as a dependency in - the ``requirements.txt`` file. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/159 - -4. Support of assigning methods to these parameters: ``fitness_func``, - ``crossover_type``, ``mutation_type``, ``parent_selection_type``, - ``on_start``, ``on_fitness``, ``on_parents``, ``on_crossover``, - ``on_mutation``, ``on_generation``, and ``on_stop``. - https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92 - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/138 - -5. Validating the output of the parent selection, crossover, and - mutation functions. - -6. The built-in parent selection operators return the parent's indices - as a NumPy array. - -7. The outputs of the parent selection, crossover, and mutation - operators must be NumPy arrays. - -8. Fix an issue when ``allow_duplicate_genes=True``. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/39 - -9. Fix an issue creating scatter plots of the solutions' fitness. - -10. Sampling from a ``set()`` is no longer supported in Python 3.11. - Instead, sampling happens from a ``list()``. Thanks ``Marco Brenna`` - for pointing to this issue. - -11. The lifecycle is updated to reflect that the new population's - fitness is calculated at the end of the lifecycle not at the - beginning. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/154#issuecomment-1438739483 - -12. There was an issue when ``save_solutions=True`` that causes the - fitness function to be called for solutions already explored and - have their fitness pre-calculated. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/160 - -13. A new instance attribute named ``last_generation_elitism_indices`` - added to hold the indices of the selected elitism. This attribute - helps to re-use the fitness of the elitism instead of calling the - fitness function. - -14. Fewer calls to the ``best_solution()`` method which in turns saves - some calls to the fitness function. - -15. Some updates in the documentation to give more details about the - ``cal_pop_fitness()`` method. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/79#issuecomment-1439605442 - -.. _pygad-2191: - -PyGAD 2.19.1 ------------- - -Release Date: 22 February 2023 - -1. Add the `cloudpickle `__ - library as a dependency. - -.. _pygad-2192: - -PyGAD 2.19.2 ------------- - -Release Date 23 February 2023 - -1. Fix an issue when parallel processing was used where the elitism - solutions' fitness values are not re-used. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/160#issuecomment-1441718184 - -.. _pygad-300: - -PyGAD 3.0.0 ------------ - -Release Date 8 April 2023 - -1. The structure of the library is changed and some methods defined in - the ``pygad.py`` module are moved to the ``pygad.utils``, - ``pygad.helper``, and ``pygad.visualize`` submodules. - -2. The ``pygad.utils.parent_selection`` module has a class named - ``ParentSelection`` where all the parent selection operators exist. - The ``pygad.GA`` class extends this class. - -3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` - where all the crossover operators exist. The ``pygad.GA`` class - extends this class. - -4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` - where all the mutation operators exist. The ``pygad.GA`` class - extends this class. - -5. The ``pygad.helper.unique`` module has a class named ``Unique`` some - helper methods exist to solve duplicate genes and make sure every - gene is unique. The ``pygad.GA`` class extends this class. - -6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where - all the methods that create plots exist. The ``pygad.GA`` class - extends this class. - -7. Support of using the ``logging`` module to log the outputs to both - the console and text file instead of using the ``print()`` function. - This is by assigning the ``logging.Logger`` to the new ``logger`` - parameter. Check the `Logging - Outputs `__ - for more information. - -8. A new instance attribute called ``logger`` to save the logger. - -9. The function/method passed to the ``fitness_func`` parameter accepts - a new parameter that refers to the instance of the ``pygad.GA`` - class. Check this for an example: `Use Functions and Methods to - Build Fitness Function and - Callbacks `__. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163 - -10. Update the documentation to include an example of using functions - and methods to calculate the fitness and build callbacks. Check this - for more details: `Use Functions and Methods to Build Fitness - Function and - Callbacks `__. - https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003 - -11. Validate the value passed to the ``initial_population`` parameter. - -12. Validate the type and length of the ``pop_fitness`` parameter of the - ``best_solution()`` method. - -13. Some edits in the documentation. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/106 - -14. Fix an issue when building the initial population as (some) genes - have their value taken from the mutation range (defined by the - parameters ``random_mutation_min_val`` and - ``random_mutation_max_val``) instead of using the parameters - ``init_range_low`` and ``init_range_high``. - -15. The ``summary()`` method returns the summary as a single-line - string. Just log/print the returned string it to see it properly. - -16. The ``callback_generation`` parameter is removed. Use the - ``on_generation`` parameter instead. - -17. There was an issue when using the ``parallel_processing`` parameter - with Keras and PyTorch. As Keras/PyTorch are not thread-safe, the - ``predict()`` method gives incorrect and weird results when more - than 1 thread is used. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/145 - https://github.com/ahmedfgad/TorchGA/issues/5 - https://github.com/ahmedfgad/KerasGA/issues/6. Thanks to this - `StackOverflow - answer `__. - -18. Replace ``numpy.float`` by ``float`` in the 2 parent selection - operators roulette wheel and stochastic universal. - https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/168 - -.. _pygad-301: - -PyGAD 3.0.1 ------------ - -Release Date 20 April 2023 - -1. Fix an issue with passing user-defined function/method for parent - selection. - https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/179 - -PyGAD Projects at GitHub -======================== - -The PyGAD library is available at PyPI at this page -https://pypi.org/project/pygad. PyGAD is built out of a number of -open-source GitHub projects. A brief note about these projects is given -in the next subsections. - -`GeneticAlgorithmPython `__ --------------------------------------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/GeneticAlgorithmPython - -`GeneticAlgorithmPython `__ -is the first project which is an open-source Python 3 project for -implementing the genetic algorithm based on NumPy. - -`NumPyANN `__ ----------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/NumPyANN - -`NumPyANN `__ builds artificial -neural networks in **Python 3** using **NumPy** from scratch. The -purpose of this project is to only implement the **forward pass** of a -neural network without using a training algorithm. Currently, it only -supports classification and later regression will be also supported. -Moreover, only one class is supported per sample. - -`NeuralGenetic `__ --------------------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/NeuralGenetic - -`NeuralGenetic `__ trains -neural networks using the genetic algorithm based on the previous 2 -projects -`GeneticAlgorithmPython `__ -and `NumPyANN `__. - -`NumPyCNN `__ ----------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/NumPyCNN - -`NumPyCNN `__ builds -convolutional neural networks using NumPy. The purpose of this project -is to only implement the **forward pass** of a convolutional neural -network without using a training algorithm. - -`CNNGenetic `__ --------------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/CNNGenetic - -`CNNGenetic `__ trains -convolutional neural networks using the genetic algorithm. It uses the -`GeneticAlgorithmPython `__ -project for building the genetic algorithm. - -`KerasGA `__ --------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/KerasGA - -`KerasGA `__ trains -`Keras `__ models using the genetic algorithm. It uses -the -`GeneticAlgorithmPython `__ -project for building the genetic algorithm. - -`TorchGA `__ --------------------------------------------------- - -GitHub Link: https://github.com/ahmedfgad/TorchGA - -`TorchGA `__ trains -`PyTorch `__ models using the genetic algorithm. It -uses the -`GeneticAlgorithmPython `__ -project for building the genetic algorithm. - -`pygad.torchga `__: -https://github.com/ahmedfgad/TorchGA - -Stackoverflow Questions about PyGAD -=================================== - -.. _how-do-i-proceed-to-load-a-gainstance-as-pkl-format-in-pygad: - -`How do I proceed to load a ga_instance as “.pkl” format in PyGad? `__ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -`Binary Classification NN Model Weights not being Trained in PyGAD `__ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -`How to solve TSP problem using pyGAD package? `__ ---------------------------------------------------------------------------------------------------------------------------------------------- - -`How can I save a matplotlib plot that is the output of a function in jupyter? `__ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -`How do I query the best solution of a pyGAD GA instance? `__ -------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -`Multi-Input Multi-Output in Genetic algorithm (python) `__ --------------------------------------------------------------------------------------------------------------------------------------------------------------- - -https://www.linkedin.com/pulse/validation-short-term-parametric-trading-model-genetic-landolfi - -https://itchef.ru/articles/397758 - -https://audhiaprilliant.medium.com/genetic-algorithm-based-clustering-algorithm-in-searching-robust-initial-centroids-for-k-means-e3b4d892a4be - -https://python.plainenglish.io/validation-of-a-short-term-parametric-trading-model-with-genetic-optimization-and-walk-forward-89708b789af6 - -https://ichi.pro/ko/pygadwa-hamkke-yujeon-algolijeum-eul-sayonghayeo-keras-model-eul-hunlyeonsikineun-bangbeob-173299286377169 - -https://ichi.pro/tr/pygad-ile-genetik-algoritmayi-kullanarak-keras-modelleri-nasil-egitilir-173299286377169 - -https://ichi.pro/ru/kak-obucit-modeli-keras-s-pomos-u-geneticeskogo-algoritma-s-pygad-173299286377169 - -https://blog.csdn.net/sinat_38079265/article/details/108449614 - -Submitting Issues -================= - -If there is an issue using PyGAD, then use any of your preferred option -to discuss that issue. - -One way is `submitting an -issue `__ -into this GitHub project -(`github.com/ahmedfgad/GeneticAlgorithmPython `__) -in case something is not working properly or to ask for questions. - -If this is not a proper option for you, then check the `Contact -Us `__ -section for more contact details. - -Ask for Feature -=============== - -PyGAD is actively developed with the goal of building a dynamic library -for suporting a wide-range of problems to be optimized using the genetic -algorithm. - -To ask for a new feature, either `submit an -issue `__ -into this GitHub project -(`github.com/ahmedfgad/GeneticAlgorithmPython `__) -or send an e-mail to ahmed.f.gad@gmail.com. - -Also check the `Contact -Us `__ -section for more contact details. - -Projects Built using PyGAD -========================== - -If you created a project that uses PyGAD, then we can support you by -mentioning this project here in PyGAD's documentation. - -To do that, please send a message at ahmed.f.gad@gmail.com or check the -`Contact -Us `__ -section for more contact details. - -Within your message, please send the following details: - -- Project title - -- Brief description - -- Preferably, a link that directs the readers to your project - -Tutorials about PyGAD -===================== - -`Adaptive Mutation in Genetic Algorithm with Python Examples `__ ------------------------------------------------------------------------------------------------------------------------------------------------------ - -In this tutorial, we’ll see why mutation with a fixed number of genes is -bad, and how to replace it with adaptive mutation. Using the `PyGAD -Python 3 library `__, we’ll discuss a few -examples that use both random and adaptive mutation. - -`Clustering Using the Genetic Algorithm in Python `__ -------------------------------------------------------------------------------------------------------------------------- - -This tutorial discusses how the genetic algorithm is used to cluster -data, starting from random clusters and running until the optimal -clusters are found. We'll start by briefly revising the K-means -clustering algorithm to point out its weak points, which are later -solved by the genetic algorithm. The code examples in this tutorial are -implemented in Python using the `PyGAD -library `__. - -`Working with Different Genetic Algorithm Representations in Python `__ --------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -Depending on the nature of the problem being optimized, the genetic -algorithm (GA) supports two different gene representations: binary, and -decimal. The binary GA has only two values for its genes, which are 0 -and 1. This is easier to manage as its gene values are limited compared -to the decimal GA, for which we can use different formats like float or -integer, and limited or unlimited ranges. - -This tutorial discusses how the -`PyGAD `__ library supports the two GA -representations, binary and decimal. - -.. _5-genetic-algorithm-applications-using-pygad: - -`5 Genetic Algorithm Applications Using PyGAD `__ -------------------------------------------------------------------------------------------------------------------------- - -This tutorial introduces PyGAD, an open-source Python library for -implementing the genetic algorithm and training machine learning -algorithms. PyGAD supports 19 parameters for customizing the genetic -algorithm for various applications. - -Within this tutorial we'll discuss 5 different applications of the -genetic algorithm and build them using PyGAD. - -`Train Neural Networks Using a Genetic Algorithm in Python with PyGAD `__ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -The genetic algorithm (GA) is a biologically-inspired optimization -algorithm. It has in recent years gained importance, as it’s simple -while also solving complex problems like travel route optimization, -training machine learning algorithms, working with single and -multi-objective problems, game playing, and more. - -Deep neural networks are inspired by the idea of how the biological -brain works. It’s a universal function approximator, which is capable of -simulating any function, and is now used to solve the most complex -problems in machine learning. What’s more, they’re able to work with all -types of data (images, audio, video, and text). - -Both genetic algorithms (GAs) and neural networks (NNs) are similar, as -both are biologically-inspired techniques. This similarity motivates us -to create a hybrid of both to see whether a GA can train NNs with high -accuracy. - -This tutorial uses `PyGAD `__, a Python -library that supports building and training NNs using a GA. -`PyGAD `__ offers both classification and -regression NNs. - -`Building a Game-Playing Agent for CoinTex Using the Genetic Algorithm `__ ----------------------------------------------------------------------------------------------------------------------------------------------------------- - -In this tutorial we'll see how to build a game-playing agent using only -the genetic algorithm to play a game called -`CoinTex `__, -which is developed in the Kivy Python framework. The objective of -CoinTex is to collect the randomly distributed coins while avoiding -collision with fire and monsters (that move randomly). The source code -of CoinTex can be found `on -GitHub `__. - -The genetic algorithm is the only AI used here; there is no other -machine/deep learning model used with it. We'll implement the genetic -algorithm using -`PyGad `__. -This tutorial starts with a quick overview of CoinTex followed by a -brief explanation of the genetic algorithm, and how it can be used to -create the playing agent. Finally, we'll see how to implement these -ideas in Python. - -The source code of the genetic algorithm agent is available -`here `__, -and you can download the code used in this tutorial from -`here `__. - -`How To Train Keras Models Using the Genetic Algorithm with PyGAD `__ --------------------------------------------------------------------------------------------------------------------------------------------------------- - -PyGAD is an open-source Python library for building the genetic -algorithm and training machine learning algorithms. It offers a wide -range of parameters to customize the genetic algorithm to work with -different types of problems. - -PyGAD has its own modules that support building and training neural -networks (NNs) and convolutional neural networks (CNNs). Despite these -modules working well, they are implemented in Python without any -additional optimization measures. This leads to comparatively high -computational times for even simple problems. - -The latest PyGAD version, 2.8.0 (released on 20 September 2020), -supports a new module to train Keras models. Even though Keras is built -in Python, it's fast. The reason is that Keras uses TensorFlow as a -backend, and TensorFlow is highly optimized. - -This tutorial discusses how to train Keras models using PyGAD. The -discussion includes building Keras models using either the Sequential -Model or the Functional API, building an initial population of Keras -model parameters, creating an appropriate fitness function, and more. - -|image1| - -`Train PyTorch Models Using Genetic Algorithm with PyGAD `__ ---------------------------------------------------------------------------------------------------------------------------------------------- - -`PyGAD `__ is a genetic algorithm Python -3 library for solving optimization problems. One of these problems is -training machine learning algorithms. - -PyGAD has a module called -`pygad.kerasga `__. It trains -Keras models using the genetic algorithm. On January 3rd, 2021, a new -release of `PyGAD 2.10.0 `__ brought a -new module called -`pygad.torchga `__ to train -PyTorch models. It’s very easy to use, but there are a few tricky steps. - -So, in this tutorial, we’ll explore how to use PyGAD to train PyTorch -models. - -|image2| - -`A Guide to Genetic ‘Learning’ Algorithms for Optimization `__ -------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -PyGAD in Other Languages -======================== - -French ------- - -`Cómo los algoritmos genéticos pueden competir con el descenso de -gradiente y el -backprop `__ - -Bien que la manière standard d'entraîner les réseaux de neurones soit la -descente de gradient et la rétropropagation, il y a d'autres joueurs -dans le jeu. L'un d'eux est les algorithmes évolutionnaires, tels que -les algorithmes génétiques. - -Utiliser un algorithme génétique pour former un réseau de neurones -simple pour résoudre le OpenAI CartPole Jeu. Dans cet article, nous -allons former un simple réseau de neurones pour résoudre le OpenAI -CartPole . J'utiliserai PyTorch et PyGAD . - -|image3| - -Spanish -------- - -`Cómo los algoritmos genéticos pueden competir con el descenso de -gradiente y el -backprop `__ - -Aunque la forma estandar de entrenar redes neuronales es el descenso de -gradiente y la retropropagacion, hay otros jugadores en el juego, uno de -ellos son los algoritmos evolutivos, como los algoritmos geneticos. - -Usa un algoritmo genetico para entrenar una red neuronal simple para -resolver el Juego OpenAI CartPole. En este articulo, entrenaremos una -red neuronal simple para resolver el OpenAI CartPole . Usare PyTorch y -PyGAD . - -|image4| - -Korean ------- - -`[PyGAD] Python 에서 Genetic Algorithm 을 사용해보기 `__ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -|image5| - -파이썬에서 genetic algorithm을 사용하는 패키지들을 다 사용해보진 -않았지만, 확장성이 있어보이고, 시도할 일이 있어서 살펴봤다. - -이 패키지에서 가장 인상 깊었던 것은 neural network에서 hyper parameter -탐색을 gradient descent 방식이 아닌 GA로도 할 수 있다는 것이다. - -개인적으로 이 부분이 어느정도 초기치를 잘 잡아줄 수 있는 역할로도 쓸 수 -있고, Loss가 gradient descent 하기 어려운 구조에서 대안으로 쓸 수 있을 -것으로도 생각된다. - -일단 큰 흐름은 다음과 같이 된다. - -사실 완전히 흐름이나 각 parameter에 대한 이해는 부족한 상황 - -Turkish -------- - -`PyGAD ile Genetik Algoritmayı Kullanarak Keras Modelleri Nasıl Eğitilir `__ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This is a translation of an original English tutorial published at -Paperspace: `How To Train Keras Models Using the Genetic Algorithm with -PyGAD `__ - -PyGAD, genetik algoritma oluşturmak ve makine öğrenimi algoritmalarını -eğitmek için kullanılan açık kaynaklı bir Python kitaplığıdır. Genetik -algoritmayı farklı problem türleri ile çalışacak şekilde özelleştirmek -için çok çeşitli parametreler sunar. - -PyGAD, sinir ağları (NN’ler) ve evrişimli sinir ağları (CNN’ler) -oluşturmayı ve eğitmeyi destekleyen kendi modüllerine sahiptir. Bu -modüllerin iyi çalışmasına rağmen, herhangi bir ek optimizasyon önlemi -olmaksızın Python’da uygulanırlar. Bu, basit problemler için bile -nispeten yüksek hesaplama sürelerine yol açar. - -En son PyGAD sürümü 2.8.0 (20 Eylül 2020'de piyasaya sürüldü), Keras -modellerini eğitmek için yeni bir modülü destekliyor. Keras Python’da -oluşturulmuş olsa da hızlıdır. Bunun nedeni, Keras’ın arka uç olarak -TensorFlow kullanması ve TensorFlow’un oldukça optimize edilmiş -olmasıdır. - -Bu öğreticide, PyGAD kullanılarak Keras modellerinin nasıl eğitileceği -anlatılmaktadır. Tartışma, Sıralı Modeli veya İşlevsel API’yi kullanarak -Keras modellerini oluşturmayı, Keras model parametrelerinin ilk -popülasyonunu oluşturmayı, uygun bir uygunluk işlevi oluşturmayı ve daha -fazlasını içerir. - -|image6| - -Hungarian ---------- - -.. _tensorflow-alapozó-10-neurális-hálózatok-tenyésztése-genetikus-algoritmussal-pygad-és-openai-gym-használatával: - -`Tensorflow alapozó 10. Neurális hálózatok tenyésztése genetikus algoritmussal PyGAD és OpenAI Gym használatával `__ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Hogy kontextusba helyezzem a genetikus algoritmusokat, ismételjük kicsit -át, hogy hogyan működik a gradient descent és a backpropagation, ami a -neurális hálók tanításának általános módszere. Az erről írt cikkemet itt -tudjátok elolvasni. - -A hálózatok tenyésztéséhez a -`PyGAD `__ nevű -programkönyvtárat használjuk, így mindenek előtt ezt kell telepítenünk, -valamint a Tensorflow-t és a Gym-et, amit Colabban már eleve telepítve -kapunk. - -Maga a PyGAD egy teljesen általános genetikus algoritmusok futtatására -képes rendszer. Ennek a kiterjesztése a KerasGA, ami az általános motor -Tensorflow (Keras) neurális hálókon történő futtatását segíti. A 47. -sorban létrehozott KerasGA objektum ennek a kiterjesztésnek a része és -arra szolgál, hogy a paraméterként átadott modellből a második -paraméterben megadott számosságú populációt hozzon létre. Mivel a -hálózatunk 386 állítható paraméterrel rendelkezik, ezért a DNS-ünk itt -386 elemből fog állni. A populáció mérete 10 egyed, így a kezdő -populációnk egy 10x386 elemű mátrix lesz. Ezt adjuk át az 51. sorban az -initial_population paraméterben. - -|image7| - -Russian -------- - -`PyGAD: библиотека для имплементации генетического алгоритма `__ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PyGAD — это библиотека для имплементации генетического алгоритма. Кроме -того, библиотека предоставляет доступ к оптимизированным реализациям -алгоритмов машинного обучения. PyGAD разрабатывали на Python 3. - -Библиотека PyGAD поддерживает разные типы скрещивания, мутации и -селекции родителя. PyGAD позволяет оптимизировать проблемы с помощью -генетического алгоритма через кастомизацию целевой функции. - -Кроме генетического алгоритма, библиотека содержит оптимизированные -имплементации алгоритмов машинного обучения. На текущий момент PyGAD -поддерживает создание и обучение нейросетей для задач классификации. - -Библиотека находится в стадии активной разработки. Создатели планируют -добавление функционала для решения бинарных задач и имплементации новых -алгоритмов. - -PyGAD разрабатывали на Python 3.7.3. Зависимости включают в себя NumPy -для создания и манипуляции массивами и Matplotlib для визуализации. Один -из изкейсов использования инструмента — оптимизация весов, которые -удовлетворяют заданной функции. - -|image8| - -Research Papers using PyGAD -=========================== - -A number of research papers used PyGAD and here are some of them: - -- Jaros, Marta, and Jiri Jaros. "Performance-Cost Optimization of - Moldable Scientific Workflows." - -- Thorat, Divya. "Enhanced genetic algorithm to reduce makespan of - multiple jobs in map-reduce application on serverless platform". - Diss. Dublin, National College of Ireland, 2020. - -- Koch, Chris, and Edgar Dobriban. "AttenGen: Generating Live - Attenuated Vaccine Candidates using Machine Learning." (2021). - -- Bhardwaj, Bhavya, et al. "Windfarm optimization using Nelder-Mead and - Particle Swarm optimization." *2021 7th International Conference on - Electrical Energy Systems (ICEES)*. IEEE, 2021. - -- Bernardo, Reginald Christian S. and J. Said. “Towards a - model-independent reconstruction approach for late-time Hubble data.” - (2021). - -- Duong, Tri Dung, Qian Li, and Guandong Xu. "Prototype-based - Counterfactual Explanation for Causal Classification." *arXiv - preprint arXiv:2105.00703* (2021). - -- Farrag, Tamer Ahmed, and Ehab E. Elattar. "Optimized Deep Stacked - Long Short-Term Memory Network for Long-Term Load Forecasting." *IEEE - Access* 9 (2021): 68511-68522. - -- Antunes, E. D. O., Caetano, M. F., Marotta, M. A., Araujo, A., - Bondan, L., Meneguette, R. I., & Rocha Filho, G. P. (2021, August). - Soluções Otimizadas para o Problema de Localização de Máxima - Cobertura em Redes Militarizadas 4G/LTE. In *Anais do XXVI Workshop - de Gerência e Operação de Redes e Serviços* (pp. 152-165). SBC. - -- M. Yani, F. Ardilla, A. A. Saputra and N. Kubota, "Gradient-Free Deep - Q-Networks Reinforcement learning: Benchmark and Evaluation," *2021 - IEEE Symposium Series on Computational Intelligence (SSCI)*, 2021, - pp. 1-5, doi: 10.1109/SSCI50451.2021.9659941. - -- Yani, Mohamad, and Naoyuki Kubota. "Deep Convolutional Networks with - Genetic Algorithm for Reinforcement Learning Problem." - -- Mahendra, Muhammad Ihza, and Isman Kurniawan. "Optimizing - Convolutional Neural Network by Using Genetic Algorithm for COVID-19 - Detection in Chest X-Ray Image." *2021 International Conference on - Data Science and Its Applications (ICoDSA)*. IEEE, 2021. - -- Glibota, Vjeko. *Umjeravanje mikroskopskog prometnog modela primjenom - genetskog algoritma*. Diss. University of Zagreb. Faculty of - Transport and Traffic Sciences. Division of Intelligent Transport - Systems and Logistics. Department of Intelligent Transport Systems, - 2021. - -- Zhu, Mingda. *Genetic Algorithm-based Parameter Identification for - Ship Manoeuvring Model under Wind Disturbance*. MS thesis. NTNU, - 2021. - -- Abdalrahman, Ahmed, and Weihua Zhuang. "Dynamic pricing for - differentiated pev charging services using deep reinforcement - learning." *IEEE Transactions on Intelligent Transportation Systems* - (2020). - -More Links -========== - -https://rodriguezanton.com/identifying-contact-states-for-2d-objects-using-pygad-and/ - -https://torvaney.github.io/projects/t9-optimised - -For More Information -==================== - -There are different resources that can be used to get started with the -genetic algorithm and building it in Python. - -Tutorial: Implementing Genetic Algorithm in Python --------------------------------------------------- - -To start with coding the genetic algorithm, you can check the tutorial -titled `Genetic Algorithm Implementation in -Python `__ -available at these links: - -- `LinkedIn `__ - -- `Towards Data - Science `__ - -- `KDnuggets `__ - -`This -tutorial `__ -is prepared based on a previous version of the project but it still a -good resource to start with coding the genetic algorithm. - -|image9| - -Tutorial: Introduction to Genetic Algorithm -------------------------------------------- - -Get started with the genetic algorithm by reading the tutorial titled -`Introduction to Optimization with Genetic -Algorithm `__ -which is available at these links: - -- `LinkedIn `__ - -- `Towards Data - Science `__ - -- `KDnuggets `__ - -|image10| - -Tutorial: Build Neural Networks in Python ------------------------------------------ - -Read about building neural networks in Python through the tutorial -titled `Artificial Neural Network Implementation using NumPy and -Classification of the Fruits360 Image -Dataset `__ -available at these links: - -- `LinkedIn `__ - -- `Towards Data - Science `__ - -- `KDnuggets `__ - -|image11| - -Tutorial: Optimize Neural Networks with Genetic Algorithm ---------------------------------------------------------- - -Read about training neural networks using the genetic algorithm through -the tutorial titled `Artificial Neural Networks Optimization using -Genetic Algorithm with -Python `__ -available at these links: - -- `LinkedIn `__ - -- `Towards Data - Science `__ - -- `KDnuggets `__ - -|image12| - -Tutorial: Building CNN in Python --------------------------------- - -To start with coding the genetic algorithm, you can check the tutorial -titled `Building Convolutional Neural Network using NumPy from -Scratch `__ -available at these links: - -- `LinkedIn `__ - -- `Towards Data - Science `__ - -- `KDnuggets `__ - -- `Chinese Translation `__ - -`This -tutorial `__) -is prepared based on a previous version of the project but it still a -good resource to start with coding CNNs. - -|image13| - -Tutorial: Derivation of CNN from FCNN -------------------------------------- - -Get started with the genetic algorithm by reading the tutorial titled -`Derivation of Convolutional Neural Network from Fully Connected Network -Step-By-Step `__ -which is available at these links: - -- `LinkedIn `__ - -- `Towards Data - Science `__ - -- `KDnuggets `__ - -|image14| - -Book: Practical Computer Vision Applications Using Deep Learning with CNNs --------------------------------------------------------------------------- - -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 `__ -which discusses neural networks, convolutional neural networks, deep -learning, genetic algorithm, and more. - -Find the book at these links: - -- `Amazon `__ - -- `Springer `__ - -- `Apress `__ - -- `O'Reilly `__ - -- `Google Books `__ - -.. figure:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg - :alt: - -Contact Us -========== - -- E-mail: ahmed.f.gad@gmail.com - -- `LinkedIn `__ - -- `Amazon Author Page `__ - -- `Heartbeat `__ - -- `Paperspace `__ - -- `KDnuggets `__ - -- `TowardsDataScience `__ - -- `GitHub `__ - -.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png - :alt: - -Thank you for using -`PyGAD `__ :) - -.. |image1| image:: https://user-images.githubusercontent.com/16560492/111009628-2b372500-8362-11eb-90cf-01b47d831624.png - :target: https://blog.paperspace.com/train-keras-models-using-genetic-algorithm-with-pygad -.. |image2| image:: https://user-images.githubusercontent.com/16560492/111009678-5457b580-8362-11eb-899a-39e2f96984df.png - :target: https://neptune.ai/blog/train-pytorch-models-using-genetic-algorithm-with-pygad -.. |image3| image:: https://user-images.githubusercontent.com/16560492/111009275-3178d180-8361-11eb-9e86-7fb1519acde7.png - :target: https://www.hebergementwebs.com/nouvelles/comment-les-algorithmes-genetiques-peuvent-rivaliser-avec-la-descente-de-gradient-et-le-backprop -.. |image4| image:: https://user-images.githubusercontent.com/16560492/111009257-232ab580-8361-11eb-99a5-7226efbc3065.png - :target: https://www.hebergementwebs.com/noticias/como-los-algoritmos-geneticos-pueden-competir-con-el-descenso-de-gradiente-y-el-backprop -.. |image5| image:: https://user-images.githubusercontent.com/16560492/108586306-85bd0280-731b-11eb-874c-7ac4ce1326cd.jpg - :target: https://data-newbie.tistory.com/m/685 -.. |image6| image:: https://user-images.githubusercontent.com/16560492/108586601-85be0200-731d-11eb-98a4-161c75a1f099.jpg - :target: https://erencan34.medium.com/pygad-ile-genetik-algoritmay%C4%B1-kullanarak-keras-modelleri-nas%C4%B1l-e%C4%9Fitilir-cf92639a478c -.. |image7| image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png - :target: https://thebojda.medium.com/tensorflow-alapoz%C3%B3-10-24f7767d4a2c -.. |image8| image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png - :target: https://neurohive.io/ru/frameworki/pygad-biblioteka-dlya-implementacii-geneticheskogo-algoritma -.. |image9| image:: https://user-images.githubusercontent.com/16560492/78830052-a3c19300-79e7-11ea-8b9b-4b343ea4049c.png - :target: https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad -.. |image10| image:: https://user-images.githubusercontent.com/16560492/82078259-26252d00-96e1-11ea-9a02-52a99e1054b9.jpg - :target: https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad -.. |image11| image:: https://user-images.githubusercontent.com/16560492/82078281-30472b80-96e1-11ea-8017-6a1f4383d602.jpg - :target: https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad -.. |image12| image:: https://user-images.githubusercontent.com/16560492/82078300-376e3980-96e1-11ea-821c-aa6b8ceb44d4.jpg - :target: https://www.linkedin.com/pulse/artificial-neural-networks-optimization-using-genetic-ahmed-gad -.. |image13| image:: https://user-images.githubusercontent.com/16560492/82431022-6c3a1200-9a8e-11ea-8f1b-b055196d76e3.png - :target: https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad -.. |image14| image:: https://user-images.githubusercontent.com/16560492/82431369-db176b00-9a8e-11ea-99bd-e845192873fc.png - :target: https://www.linkedin.com/pulse/derivation-convolutional-neural-network-from-fully-connected-gad +Release History +=============== + +.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png + :alt: + +.. _pygad-1017: + +PyGAD 1.0.17 +------------ + +Release Date: 15 April 2020 + +1. The **pygad.GA** class accepts a new argument named ``fitness_func`` + which accepts a function to be used for calculating the fitness + values for the solutions. This allows the project to be customized to + any problem by building the right fitness function. + +.. _pygad-1020: + +PyGAD 1.0.20 +------------- + +Release Date: 4 May 2020 + +1. The **pygad.GA** attributes are moved from the class scope to the + instance scope. + +2. Raising an exception for incorrect values of the passed parameters. + +3. Two new parameters are added to the **pygad.GA** class constructor + (``init_range_low`` and ``init_range_high``) allowing the user to + customize the range from which the genes values in the initial + population are selected. + +4. The code object ``__code__`` of the passed fitness function is + checked to ensure it has the right number of parameters. + +.. _pygad-200: + +PyGAD 2.0.0 +------------ + +Release Date: 13 May 2020 + +1. The fitness function accepts a new argument named ``sol_idx`` + representing the index of the solution within the population. + +2. A new parameter to the **pygad.GA** class constructor named + ``initial_population`` is supported to allow the user to use a custom + initial population to be used by the genetic algorithm. If not None, + then the passed population will be used. If ``None``, then the + genetic algorithm will create the initial population using the + ``sol_per_pop`` and ``num_genes`` parameters. + +3. The parameters ``sol_per_pop`` and ``num_genes`` are optional and set + to ``None`` by default. + +4. A new parameter named ``callback_generation`` is introduced in the + **pygad.GA** class constructor. It accepts a function with a single + parameter representing the **pygad.GA** class instance. This function + is called after each generation. This helps the user to do + post-processing or debugging operations after each generation. + +.. _pygad-210: + +PyGAD 2.1.0 +----------- + +Release Date: 14 May 2020 + +1. The ``best_solution()`` method in the **pygad.GA** class returns a + new output representing the index of the best solution within the + population. Now, it returns a total of 3 outputs and their order is: + best solution, best solution fitness, and best solution index. Here + is an example: + +.. code:: python + + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Parameters of the best solution :", solution) + print("Fitness value of the best solution :", solution_fitness, "\n") + print("Index of the best solution :", solution_idx, "\n") + +1. | A new attribute named ``best_solution_generation`` is added to the + instances of the **pygad.GA** class. it holds the generation number + at which the best solution is reached. It is only assigned the + generation number after the ``run()`` method completes. Otherwise, + its value is -1. + | Example: + +.. code:: python + + print("Best solution reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +1. The ``best_solution_fitness`` attribute is renamed to + ``best_solutions_fitness`` (plural solution). + +2. Mutation is applied independently for the genes. + +.. _pygad-221: + +PyGAD 2.2.1 +----------- + +Release Date: 17 May 2020 + +1. Adding 2 extra modules (pygad.nn and pygad.gann) for building and + training neural networks with the genetic algorithm. + +.. _pygad-222: + +PyGAD 2.2.2 +----------- + +Release Date: 18 May 2020 + +1. The initial value of the ``generations_completed`` attribute of + instances from the pygad.GA class is ``0`` rather than ``None``. + +2. An optional bool parameter named ``mutation_by_replacement`` is added + to the constructor of the pygad.GA class. It works only when the + selected type of mutation is random (``mutation_type="random"``). In + this case, setting ``mutation_by_replacement=True`` means replace the + gene by the randomly generated value. If ``False``, then it has no + effect and random mutation works by adding the random value to the + gene. This parameter should be used when the gene falls within a + fixed range and its value must not go out of this range. Here are + some examples: + +Assume there is a gene with the value 0.5. + +If ``mutation_type="random"`` and ``mutation_by_replacement=False``, +then the generated random value (e.g. 0.1) will be added to the gene +value. The new gene value is **0.5+0.1=0.6**. + +If ``mutation_type="random"`` and ``mutation_by_replacement=True``, then +the generated random value (e.g. 0.1) will replace the gene value. The +new gene value is **0.1**. + +1. ``None`` value could be assigned to the ``mutation_type`` and + ``crossover_type`` parameters of the pygad.GA class constructor. When + ``None``, this means the step is bypassed and has no action. + +.. _pygad-230: + +PyGAD 2.3.0 +----------- + +Release date: 1 June 2020 + +1. A new module named ``pygad.cnn`` is supported for building + convolutional neural networks. + +2. A new module named ``pygad.gacnn`` is supported for training + convolutional neural networks using the genetic algorithm. + +3. The ``pygad.plot_result()`` method has 3 optional parameters named + ``title``, ``xlabel``, and ``ylabel`` to customize the plot title, + x-axis label, and y-axis label, respectively. + +4. The ``pygad.nn`` module supports the softmax activation function. + +5. The name of the ``pygad.nn.predict_outputs()`` function is changed to + ``pygad.nn.predict()``. + +6. The name of the ``pygad.nn.train_network()`` function is changed to + ``pygad.nn.train()``. + +.. _pygad-240: + +PyGAD 2.4.0 +----------- + +Release date: 5 July 2020 + +1. A new parameter named ``delay_after_gen`` is added which accepts a + non-negative number specifying the time in seconds to wait after a + generation completes and before going to the next generation. It + defaults to ``0.0`` which means no delay after the generation. + +2. The passed function to the ``callback_generation`` parameter of the + pygad.GA class constructor can terminate the execution of the genetic + algorithm if it returns the string ``stop``. This causes the + ``run()`` method to stop. + +One important use case for that feature is to stop the genetic algorithm +when a condition is met before passing though all the generations. The +user may assigned a value of 100 to the ``num_generations`` parameter of +the pygad.GA class constructor. Assuming that at generation 50, for +example, a condition is met and the user wants to stop the execution +before waiting the remaining 50 generations. To do that, just make the +function passed to the ``callback_generation`` parameter to return the +string ``stop``. + +Here is an example of a function to be passed to the +``callback_generation`` parameter which stops the execution if the +fitness value 70 is reached. The value 70 might be the best possible +fitness value. After being reached, then there is no need to pass +through more generations because no further improvement is possible. + +.. code:: python + + def func_generation(ga_instance): + if ga_instance.best_solution()[1] >= 70: + return "stop" + +.. _pygad-250: + +PyGAD 2.5.0 +----------- + +Release date: 19 July 2020 + +1. | 2 new optional parameters added to the constructor of the + ``pygad.GA`` class which are ``crossover_probability`` and + ``mutation_probability``. + | While applying the crossover operation, each parent has a random + value generated between 0.0 and 1.0. If this random value is less + than or equal to the value assigned to the + ``crossover_probability`` parameter, then the parent is selected + for the crossover operation. + | For the mutation operation, a random value between 0.0 and 1.0 is + generated for each gene in the solution. If this value is less than + or equal to the value assigned to the ``mutation_probability``, + then this gene is selected for mutation. + +2. A new optional parameter named ``linewidth`` is added to the + ``plot_result()`` method to specify the width of the curve in the + plot. It defaults to 3.0. + +3. Previously, the indices of the genes selected for mutation was + randomly generated once for all solutions within the generation. + Currently, the genes' indices are randomly generated for each + solution in the population. If the population has 4 solutions, the + indices are randomly generated 4 times inside the single generation, + 1 time for each solution. + +4. Previously, the position of the point(s) for the single-point and + two-points crossover was(were) randomly selected once for all + solutions within the generation. Currently, the position(s) is(are) + randomly selected for each solution in the population. If the + population has 4 solutions, the position(s) is(are) randomly + generated 4 times inside the single generation, 1 time for each + solution. + +5. A new optional parameter named ``gene_space`` as added to the + ``pygad.GA`` class constructor. It is used to specify the possible + values for each gene in case the user wants to restrict the gene + values. It is useful if the gene space is restricted to a certain + range or to discrete values. For more information, check the `More + about the ``gene_space`` + Parameter `__ + section. Thanks to `Prof. Tamer A. + Farrag `__ for requesting this useful + feature. + +.. _pygad-260: + +PyGAD 2.6.0 +------------ + +Release Date: 6 August 2020 + +1. A bug fix in assigning the value to the ``initial_population`` + parameter. + +2. A new parameter named ``gene_type`` is added to control the gene + type. It can be either ``int`` or ``float``. It has an effect only + when the parameter ``gene_space`` is ``None``. + +3. 7 new parameters that accept callback functions: ``on_start``, + ``on_fitness``, ``on_parents``, ``on_crossover``, ``on_mutation``, + ``on_generation``, and ``on_stop``. + +.. _pygad-270: + +PyGAD 2.7.0 +----------- + +Release Date: 11 September 2020 + +1. The ``learning_rate`` parameter in the ``pygad.nn.train()`` function + defaults to **0.01**. + +2. Added support of building neural networks for regression using the + new parameter named ``problem_type``. It is added as a parameter to + both ``pygad.nn.train()`` and ``pygad.nn.predict()`` functions. The + value of this parameter can be either **classification** or + **regression** to define the problem type. It defaults to + **classification**. + +3. The activation function for a layer can be set to the string + ``"None"`` to refer that there is no activation function at this + layer. As a result, the supported values for the activation function + are ``"sigmoid"``, ``"relu"``, ``"softmax"``, and ``"None"``. + +To build a regression network using the ``pygad.nn`` module, just do the +following: + +1. Set the ``problem_type`` parameter in the ``pygad.nn.train()`` and + ``pygad.nn.predict()`` functions to the string ``"regression"``. + +2. Set the activation function for the output layer to the string + ``"None"``. This sets no limits on the range of the outputs as it + will be from ``-infinity`` to ``+infinity``. If you are sure that all + outputs will be nonnegative values, then use the ReLU function. + +Check the documentation of the ``pygad.nn`` module for an example that +builds a neural network for regression. The regression example is also +available at `this GitHub +project `__: +https://github.com/ahmedfgad/NumPyANN + +To build and train a regression network using the ``pygad.gann`` module, +do the following: + +1. Set the ``problem_type`` parameter in the ``pygad.nn.train()`` and + ``pygad.nn.predict()`` functions to the string ``"regression"``. + +2. Set the ``output_activation`` parameter in the constructor of the + ``pygad.gann.GANN`` class to ``"None"``. + +Check the documentation of the ``pygad.gann`` module for an example that +builds and trains a neural network for regression. The regression +example is also available at `this GitHub +project `__: +https://github.com/ahmedfgad/NeuralGenetic + +To build a classification network, either ignore the ``problem_type`` +parameter or set it to ``"classification"`` (default value). In this +case, the activation function of the last layer can be set to any type +(e.g. softmax). + +.. _pygad-271: + +PyGAD 2.7.1 +----------- + +Release Date: 11 September 2020 + +1. A bug fix when the ``problem_type`` argument is set to + ``regression``. + +.. _pygad-272: + +PyGAD 2.7.2 +----------- + +Release Date: 14 September 2020 + +1. Bug fix to support building and training regression neural networks + with multiple outputs. + +.. _pygad-280: + +PyGAD 2.8.0 +----------- + +Release Date: 20 September 2020 + +1. Support of a new module named ``kerasga`` so that the Keras models + can be trained by the genetic algorithm using PyGAD. + +.. _pygad-281: + +PyGAD 2.8.1 +----------- + +Release Date: 3 October 2020 + +1. Bug fix in applying the crossover operation when the + ``crossover_probability`` parameter is used. Thanks to `Eng. Hamada + Kassem, Research and Teaching Assistant, Construction Engineering and + Management, Faculty of Engineering, Alexandria University, + Egypt `__. + +.. _pygad-290: + +PyGAD 2.9.0 +------------ + +Release Date: 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``. + +.. _pygad-2100: + +PyGAD 2.10.0 +------------ + +Release Date: 03 January 2021 + +1. Support of a new module ``pygad.torchga`` to train PyTorch models + using PyGAD. Check `its + documentation `__. + +2. Support of adaptive mutation where the mutation rate is determined + by the fitness value of each solution. Read the `Adaptive + Mutation `__ + section for more details. Also, read this paper: `Libelli, S. + Marsili, and P. Alba. "Adaptive mutation in genetic algorithms." + Soft computing 4.2 (2000): + 76-80. `__ + +3. Before the ``run()`` method completes or exits, the fitness value of + the best solution in the current population is appended to the + ``best_solution_fitness`` list attribute. Note that the fitness + value of the best solution in the initial population is already + saved at the beginning of the list. So, the fitness value of the + best solution is saved before the genetic algorithm starts and after + it ends. + +4. When the parameter ``parent_selection_type`` is set to ``sss`` + (steady-state selection), then a warning message is printed if the + value of the ``keep_parents`` parameter is set to 0. + +5. More validations to the user input parameters. + +6. The default value of the ``mutation_percent_genes`` is set to the + string ``"default"`` rather than the integer 10. This change helps + to know whether the user explicitly passed a value to the + ``mutation_percent_genes`` parameter or it is left to its default + one. The ``"default"`` value is later translated into the integer + 10. + +7. The ``mutation_percent_genes`` parameter is no longer accepting the + value 0. It must be ``>0`` and ``<=100``. + +8. The built-in ``warnings`` module is used to show warning messages + rather than just using the ``print()`` function. + +9. A new ``bool`` parameter called ``suppress_warnings`` is added to + the constructor of the ``pygad.GA`` class. It allows the user to + control whether the warning messages are printed or not. It defaults + to ``False`` which means the messages are printed. + +10. A helper method called ``adaptive_mutation_population_fitness()`` is + created to calculate the average fitness value used in adaptive + mutation to filter the solutions. + +11. The ``best_solution()`` method accepts a new optional parameter + called ``pop_fitness``. It accepts a list of the fitness values of + the solutions in the population. If ``None``, then the + ``cal_pop_fitness()`` method is called to calculate the fitness + values of the population. + +.. _pygad-2101: + +PyGAD 2.10.1 +------------ + +Release Date: 10 January 2021 + +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 `__ for + pointing about that at + `GitHub `__. + +.. _pygad-2102: + +PyGAD 2.10.2 +------------ + +Release Date: 15 January 2021 + +1. A bug fix when ``save_best_solutions=True``. Refer to this issue for + more information: + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/25 + +.. _pygad-2110: + +PyGAD 2.11.0 +------------ + +Release Date: 16 February 2021 + +1. In the ``gene_space`` argument, the user can use a dictionary to + specify the lower and upper limits of the gene. This dictionary must + have only 2 items with keys ``low`` and ``high`` to specify the low + and high limits of the gene, respectively. This way, PyGAD takes care + of not exceeding the value limits of the gene. For a problem with + only 2 genes, then using + ``gene_space=[{'low': 1, 'high': 5}, {'low': 0.2, 'high': 0.81}]`` + means the accepted values in the first gene start from 1 (inclusive) + to 5 (exclusive) while the second one has values between 0.2 + (inclusive) and 0.85 (exclusive). For more information, please check + the `Limit the Gene Value + Range `__ + section of the documentation. + +2. The ``plot_result()`` method returns the figure so that the user can + save it. + +3. Bug fixes in copying elements from the gene space. + +4. For a gene with a set of discrete values (more than 1 value) in the + ``gene_space`` parameter like ``[0, 1]``, it was possible that the + gene value may not change after mutation. That is if the current + value is 0, then the randomly selected value could also be 0. Now, it + is verified that the new value is changed. So, if the current value + is 0, then the new value after mutation will not be 0 but 1. + +.. _pygad-2120: + +PyGAD 2.12.0 +------------ + +Release Date: 20 February 2021 + +1. 4 new instance attributes are added to hold temporary results after + each generation: ``last_generation_fitness`` holds the fitness values + of the solutions in the last generation, ``last_generation_parents`` + holds the parents selected from the last generation, + ``last_generation_offspring_crossover`` holds the offspring generated + after applying the crossover in the last generation, and + ``last_generation_offspring_mutation`` holds the offspring generated + after applying the mutation in the last generation. You can access + these attributes inside the ``on_generation()`` method for example. + +2. A bug fixed when the ``initial_population`` parameter is used. The + bug occurred due to a mismatch between the data type of the array + assigned to ``initial_population`` and the gene type in the + ``gene_type`` attribute. Assuming that the array assigned to the + ``initial_population`` parameter is + ``((1, 1), (3, 3), (5, 5), (7, 7))`` which has type ``int``. When + ``gene_type`` is set to ``float``, then the genes will not be float + but casted to ``int`` because the defined array has ``int`` type. The + bug is fixed by forcing the array assigned to ``initial_population`` + to have the data type in the ``gene_type`` attribute. Check the + `issue at + GitHub `__: + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/27 + +Thanks to Andrei Rozanski [PhD Bioinformatics Specialist, Department of +Tissue Dynamics and Regeneration, Max Planck Institute for Biophysical +Chemistry, Germany] for opening my eye to the first change. + +Thanks to `Marios +Giouvanakis `__, +a PhD candidate in Electrical & Computer Engineer, `Aristotle University +of Thessaloniki (Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης), +Greece `__, for emailing me about the second +issue. + +.. _pygad-2130: + +PyGAD 2.13.0 +------------- + +Release Date: 12 March 2021 + +1. A new ``bool`` parameter called ``allow_duplicate_genes`` is + supported. If ``True``, which is the default, then a + solution/chromosome may have duplicate gene values. If ``False``, + then each gene will have a unique value in its solution. Check the + `Prevent Duplicates in Gene + Values `__ + section for more details. + +2. The ``last_generation_fitness`` is updated at the end of each + generation not at the beginning. This keeps the fitness values of the + most up-to-date population assigned to the + ``last_generation_fitness`` parameter. + +.. _pygad-2140: + +PyGAD 2.14.0 +------------ + +PyGAD 2.14.0 has an issue that is solved in PyGAD 2.14.1. Please +consider using 2.14.1 not 2.14.0. + +Release Date: 19 May 2021 + +1. `Issue + #40 `__ + is solved. Now, the ``None`` value works with the ``crossover_type`` + and ``mutation_type`` parameters: + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/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. For more information, check the + `More about the ``gene_type`` + Parameter `__ + section. Thanks to `Rainer + Engel `__ + for asking about this feature in `this + discussion `__: + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/43 + +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 + #32 `__: + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32 + +.. _pygad-2142: + +PyGAD 2.14.2 +------------ + +Release Date: 27 May 2021 + +1. Some bug fixes when the ``gene_type`` parameter is nested. Thanks to + `Rainer + Engel `__ + for opening `a + discussion `__ + to report this bug: + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/43#discussioncomment-763342 + +`Rainer +Engel `__ +helped a lot in suggesting new features and suggesting enhancements in +2.14.0 to 2.14.2 releases. + +.. _pygad-2143: + +PyGAD 2.14.3 +------------ + +Release Date: 6 June 2021 + +1. 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 best + solution at its exact generation. + +.. _pygad-2150: + +PyGAD 2.15.0 +------------ + +Release Date: 17 June 2021 + +1. Control the precision of all genes/individual genes. Thanks to + `Rainer `__ for asking about this + feature: + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/43#discussioncomment-763452 + +2. A new attribute named ``last_generation_parents_indices`` holds the + indices of the selected parents in the last generation. + +3. In adaptive mutation, no need to recalculate the fitness values of + the parents selected in the last generation as these values can be + returned based on the ``last_generation_fitness`` and + ``last_generation_parents_indices`` attributes. This speeds-up the + adaptive mutation. + +4. When a sublist has a value of ``None`` in the ``gene_space`` + parameter (e.g. ``gene_space=[[1, 2, 3], [5, 6, None]]``), then its + value will be randomly generated for each solution rather than being + generated once for all solutions. Previously, a value of ``None`` in + a sublist of the ``gene_space`` parameter was identical across all + solutions. + +5. The dictionary assigned to the ``gene_space`` parameter itself or + one of its elements has a new key called ``"step"`` to specify the + step of moving from the start to the end of the range specified by + the 2 existing keys ``"low"`` and ``"high"``. An example is + ``{"low": 0, "high": 30, "step": 2}`` to have only even values for + the gene(s) starting from 0 to 30. For more information, check the + `More about the ``gene_space`` + Parameter `__ + section. + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/48 + +6. A new function called ``predict()`` is added in both the + ``pygad.kerasga`` and ``pygad.torchga`` modules to make predictions. + This makes it easier than using custom code each time a prediction + is to be made. + +7. A new parameter called ``stop_criteria`` allows the user to specify + one or more stop criteria to stop the evolution based on some + conditions. Each criterion is passed as ``str`` which has a stop + word. The current 2 supported words are ``reach`` and ``saturate``. + ``reach`` stops the ``run()`` method if the fitness value is equal + to or greater than a given fitness value. An example for ``reach`` + is ``"reach_40"`` which stops the evolution if the fitness is >= 40. + ``saturate`` means stop the evolution if the fitness saturates for a + given number of consecutive generations. An example for ``saturate`` + is ``"saturate_7"`` which means stop the ``run()`` method if the + fitness does not change for 7 consecutive generations. Thanks to + `Rainer `__ for asking about this + feature: + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/44 + +8. A new bool parameter, defaults to ``False``, named + ``save_solutions`` is added to the constructor of the ``pygad.GA`` + class. If ``True``, then all solutions in each generation are + appended into an attribute called ``solutions`` which is NumPy + array. + +9. The ``plot_result()`` method is renamed to ``plot_fitness()``. The + users should migrate to the new name as the old name will be removed + in the future. + +10. Four new optional parameters are added to the ``plot_fitness()`` + function in the ``pygad.GA`` class which are ``font_size=14``, + ``save_dir=None``, ``color="#3870FF"``, and ``plot_type="plot"``. + Use ``font_size`` to change the font of the plot title and labels. + ``save_dir`` accepts the directory to which the figure is saved. It + defaults to ``None`` which means do not save the figure. ``color`` + changes the color of the plot. ``plot_type`` changes the plot type + which can be either ``"plot"`` (default), ``"scatter"``, or + ``"bar"``. + https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/47 + +11. The default value of the ``title`` parameter in the + ``plot_fitness()`` method is ``"PyGAD - Generation vs. Fitness"`` + rather than ``"PyGAD - Iteration vs. Fitness"``. + +12. A new method named ``plot_new_solution_rate()`` creates, shows, and + returns a figure showing the rate of new/unique solutions explored + in each generation. It accepts the same parameters as in the + ``plot_fitness()`` method. This method only works when + ``save_solutions=True`` in the ``pygad.GA`` class's constructor. + +13. A new method named ``plot_genes()`` creates, shows, and returns a + figure to show how each gene changes per each generation. It accepts + similar parameters like the ``plot_fitness()`` method in addition to + the ``graph_type``, ``fill_color``, and ``solutions`` parameters. + The ``graph_type`` parameter can be either ``"plot"`` (default), + ``"boxplot"``, or ``"histogram"``. ``fill_color`` accepts the fill + color which works when ``graph_type`` is either ``"boxplot"`` or + ``"histogram"``. ``solutions`` can be either ``"all"`` or ``"best"`` + to decide whether all solutions or only best solutions are used. + +14. The ``gene_type`` parameter now supports controlling the precision + of ``float`` data types. For a gene, rather than assigning just the + data type like ``float``, assign a + ``list``/``tuple``/``numpy.ndarray`` with 2 elements where the first + one is the type and the second one is the precision. For example, + ``[float, 2]`` forces a gene with a value like ``0.1234`` to be + ``0.12``. For more information, check the `More about the + ``gene_type`` + Parameter `__ + section. + +.. _pygad-2151: + +PyGAD 2.15.1 +------------ + +Release Date: 18 June 2021 + +1. Fix a bug when ``keep_parents`` is set to a positive integer. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/49 + +.. _pygad-2152: + +PyGAD 2.15.2 +------------ + +Release Date: 18 June 2021 + +1. Fix a bug when using the ``kerasga`` or ``torchga`` modules. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/51 + +.. _pygad-2160: + +PyGAD 2.16.0 +------------ + +Release Date: 19 June 2021 + +1. A user-defined function can be passed to the ``mutation_type``, + ``crossover_type``, and ``parent_selection_type`` parameters in the + ``pygad.GA`` class to create a custom mutation, crossover, and parent + selection operators. Check the `User-Defined Crossover, Mutation, and + Parent Selection + Operators `__ + section for more details. + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/50 + +.. _pygad-2161: + +PyGAD 2.16.1 +------------ + +Release Date: 28 September 2021 + +1. The user can use the ``tqdm`` library to show a progress bar. + https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/50. + +.. code:: python + + import pygad + import numpy + import tqdm + + equation_inputs = [4,-2,3.5] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + num_generations = 10000 + with tqdm.tqdm(total=num_generations) as pbar: + ga_instance = pygad.GA(num_generations=num_generations, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + on_generation=lambda _: pbar.update(1)) + + ga_instance.run() + + ga_instance.plot_result() + +But this work does not work if the ``ga_instance`` will be pickled (i.e. +the ``save()`` method will be called. + +.. code:: python + + ga_instance.save("test") + +To solve this issue, define a function and pass it to the +``on_generation`` parameter. In the next code, the +``on_generation_progress()`` function is defined which updates the +progress bar. + +.. code:: python + + import pygad + import numpy + import tqdm + + equation_inputs = [4,-2,3.5] + desired_output = 44 + + def fitness_func(ga_instance, solution, solution_idx): + output = numpy.sum(solution * equation_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + + def on_generation_progress(ga): + pbar.update(1) + + num_generations = 100 + with tqdm.tqdm(total=num_generations) as pbar: + ga_instance = pygad.GA(num_generations=num_generations, + sol_per_pop=5, + num_parents_mating=2, + num_genes=len(equation_inputs), + fitness_func=fitness_func, + on_generation=on_generation_progress) + + ga_instance.run() + + ga_instance.plot_result() + + ga_instance.save("test") + +1. Solved the issue of unequal length between the ``solutions`` and + ``solutions_fitness`` when the ``save_solutions`` parameter is set to + ``True``. Now, the fitness of the last population is appended to the + ``solutions_fitness`` array. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/64 + +2. There was an issue of getting the length of these 4 variables + (``solutions``, ``solutions_fitness``, ``best_solutions``, and + ``best_solutions_fitness``) doubled after each call of the ``run()`` + method. This is solved by resetting these variables at the beginning + of the ``run()`` method. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/62 + +3. Bug fixes when adaptive mutation is used + (``mutation_type="adaptive"``). + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/65 + +.. _pygad-2162: + +PyGAD 2.16.2 +------------ + +Release Date: 2 February 2022 + +1. A new instance attribute called ``previous_generation_fitness`` added + in the ``pygad.GA`` class. It holds the fitness values of one + generation before the fitness values saved in the + ``last_generation_fitness``. + +2. Issue in the ``cal_pop_fitness()`` method in getting the correct + indices of the previous parents. This is solved by using the previous + generation's fitness saved in the new attribute + ``previous_generation_fitness`` to return the parents' fitness + values. Thanks to Tobias Tischhauser (M.Sc. - `Mitarbeiter Institut + EMS, Departement Technik, OST – Ostschweizer Fachhochschule, + Switzerland `__) + for detecting this bug. + +.. _pygad-2163: + +PyGAD 2.16.3 +------------ + +Release Date: 2 February 2022 + +1. Validate the fitness value returned from the fitness function. An + exception is raised if something is wrong. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/67 + +.. _pygad-2170: + +PyGAD 2.17.0 +------------ + +Release Date: 8 July 2022 + +1. An issue is solved when the ``gene_space`` parameter is given a fixed + value. e.g. gene_space=[range(5), 4]. The second gene's value is + static (4) which causes an exception. + +2. Fixed the issue where the ``allow_duplicate_genes`` parameter did not + work when mutation is disabled (i.e. ``mutation_type=None``). This is + by checking for duplicates after crossover directly. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/39 + +3. Solve an issue in the ``tournament_selection()`` method as the + indices of the selected parents were incorrect. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/89 + +4. Reuse the fitness values of the previously explored solutions rather + than recalculating them. This feature only works if + ``save_solutions=True``. + +5. Parallel processing is supported. This is by the introduction of a + new parameter named ``parallel_processing`` in the constructor of the + ``pygad.GA`` class. Thanks to + `@windowshopr `__ for opening the + issue + `#78 `__ + at GitHub. Check the `Parallel Processing in + PyGAD `__ + section for more information and examples. + +.. _pygad-2180: + +PyGAD 2.18.0 +------------ + +Release Date: 9 September 2022 + +1. Raise an exception if the sum of fitness values is zero while either + roulette wheel or stochastic universal parent selection is used. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/129 + +2. Initialize the value of the ``run_completed`` property to ``False``. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/122 + +3. The values of these properties are no longer reset with each call to + the ``run()`` method + ``self.best_solutions, self.best_solutions_fitness, self.solutions, self.solutions_fitness``: + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/123. Now, + the user can have the flexibility of calling the ``run()`` method + more than once while extending the data collected after each + generation. Another advantage happens when the instance is loaded and + the ``run()`` method is called, as the old fitness value are shown on + the graph alongside with the new fitness values. Read more in this + section: `Continue without Loosing + Progress `__ + +4. Thanks `Prof. Fernando Jiménez + Barrionuevo `__ (Dept. of Information and + Communications Engineering, University of Murcia, Murcia, Spain) for + editing this + `comment `__ + in the code. + https://github.com/ahmedfgad/GeneticAlgorithmPython/commit/5315bbec02777df96ce1ec665c94dece81c440f4 + +5. A bug fixed when ``crossover_type=None``. + +6. Support of elitism selection through a new parameter named + ``keep_elitism``. It defaults to 1 which means for each generation + keep only the best solution in the next generation. If assigned 0, + then it has no effect. Read more in this section: `Elitism + Selection `__. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/74 + +7. A new instance attribute named ``last_generation_elitism`` added to + hold the elitism in the last generation. + +8. A new parameter called ``random_seed`` added to accept a seed for the + random function generators. Credit to this issue + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/70 and + `Prof. Fernando Jiménez Barrionuevo `__. + Read more in this section: `Random + Seed `__. + +9. Editing the ``pygad.TorchGA`` module to make sure the tensor data is + moved from GPU to CPU. Thanks to Rasmus Johansson for opening this + pull request: https://github.com/ahmedfgad/TorchGA/pull/2 + +.. _pygad-2181: + +PyGAD 2.18.1 +------------ + +Release Date: 19 September 2022 + +1. A big fix when ``keep_elitism`` is used. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/132 + +.. _pygad-2182: + +PyGAD 2.18.2 +------------ + +Release Date: 14 February 2023 + +1. Remove ``numpy.int`` and ``numpy.float`` from the list of supported + data types. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/151 + https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/152 + +2. Call the ``on_crossover()`` callback function even if + ``crossover_type`` is ``None``. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/138 + +3. Call the ``on_mutation()`` callback function even if + ``mutation_type`` is ``None``. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/138 + +.. _pygad-2183: + +PyGAD 2.18.3 +------------ + +Release Date: 14 February 2023 + +1. Bug fixes. + +.. _pygad-2190: + +PyGAD 2.19.0 +------------ + +Release Date: 22 February 2023 + +1. A new ``summary()`` method is supported to return a Keras-like + summary of the PyGAD lifecycle. + +2. A new optional parameter called ``fitness_batch_size`` is supported + to calculate the fitness in batches. If it is assigned the value + ``1`` or ``None`` (default), then the normal flow is used where the + fitness function is called for each individual solution. If the + ``fitness_batch_size`` parameter is assigned a value satisfying this + condition ``1 < fitness_batch_size <= sol_per_pop``, then the + solutions are grouped into batches of size ``fitness_batch_size`` + and the fitness function is called once for each batch. In this + case, the fitness function must return a list/tuple/numpy.ndarray + with a length equal to the number of solutions passed. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/136. + +3. The ``cloudpickle`` library + (https://github.com/cloudpipe/cloudpickle) is used instead of the + ``pickle`` library to pickle the ``pygad.GA`` objects. This solves + the issue of having to redefine the functions (e.g. fitness + function). The ``cloudpickle`` library is added as a dependency in + the ``requirements.txt`` file. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/159 + +4. Support of assigning methods to these parameters: ``fitness_func``, + ``crossover_type``, ``mutation_type``, ``parent_selection_type``, + ``on_start``, ``on_fitness``, ``on_parents``, ``on_crossover``, + ``on_mutation``, ``on_generation``, and ``on_stop``. + https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92 + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/138 + +5. Validating the output of the parent selection, crossover, and + mutation functions. + +6. The built-in parent selection operators return the parent's indices + as a NumPy array. + +7. The outputs of the parent selection, crossover, and mutation + operators must be NumPy arrays. + +8. Fix an issue when ``allow_duplicate_genes=True``. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/39 + +9. Fix an issue creating scatter plots of the solutions' fitness. + +10. Sampling from a ``set()`` is no longer supported in Python 3.11. + Instead, sampling happens from a ``list()``. Thanks ``Marco Brenna`` + for pointing to this issue. + +11. The lifecycle is updated to reflect that the new population's + fitness is calculated at the end of the lifecycle not at the + beginning. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/154#issuecomment-1438739483 + +12. There was an issue when ``save_solutions=True`` that causes the + fitness function to be called for solutions already explored and + have their fitness pre-calculated. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/160 + +13. A new instance attribute named ``last_generation_elitism_indices`` + added to hold the indices of the selected elitism. This attribute + helps to re-use the fitness of the elitism instead of calling the + fitness function. + +14. Fewer calls to the ``best_solution()`` method which in turns saves + some calls to the fitness function. + +15. Some updates in the documentation to give more details about the + ``cal_pop_fitness()`` method. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/79#issuecomment-1439605442 + +.. _pygad-2191: + +PyGAD 2.19.1 +------------ + +Release Date: 22 February 2023 + +1. Add the `cloudpickle `__ + library as a dependency. + +.. _pygad-2192: + +PyGAD 2.19.2 +------------ + +Release Date 23 February 2023 + +1. Fix an issue when parallel processing was used where the elitism + solutions' fitness values are not re-used. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/160#issuecomment-1441718184 + +.. _pygad-300: + +PyGAD 3.0.0 +----------- + +Release Date 8 April 2023 + +1. The structure of the library is changed and some methods defined in + the ``pygad.py`` module are moved to the ``pygad.utils``, + ``pygad.helper``, and ``pygad.visualize`` submodules. + +2. The ``pygad.utils.parent_selection`` module has a class named + ``ParentSelection`` where all the parent selection operators exist. + The ``pygad.GA`` class extends this class. + +3. The ``pygad.utils.crossover`` module has a class named ``Crossover`` + where all the crossover operators exist. The ``pygad.GA`` class + extends this class. + +4. The ``pygad.utils.mutation`` module has a class named ``Mutation`` + where all the mutation operators exist. The ``pygad.GA`` class + extends this class. + +5. The ``pygad.helper.unique`` module has a class named ``Unique`` some + helper methods exist to solve duplicate genes and make sure every + gene is unique. The ``pygad.GA`` class extends this class. + +6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where + all the methods that create plots exist. The ``pygad.GA`` class + extends this class. + +7. Support of using the ``logging`` module to log the outputs to both + the console and text file instead of using the ``print()`` function. + This is by assigning the ``logging.Logger`` to the new ``logger`` + parameter. Check the `Logging + Outputs `__ + for more information. + +8. A new instance attribute called ``logger`` to save the logger. + +9. The function/method passed to the ``fitness_func`` parameter accepts + a new parameter that refers to the instance of the ``pygad.GA`` + class. Check this for an example: `Use Functions and Methods to + Build Fitness Function and + Callbacks `__. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163 + +10. Update the documentation to include an example of using functions + and methods to calculate the fitness and build callbacks. Check this + for more details: `Use Functions and Methods to Build Fitness + Function and + Callbacks `__. + https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003 + +11. Validate the value passed to the ``initial_population`` parameter. + +12. Validate the type and length of the ``pop_fitness`` parameter of the + ``best_solution()`` method. + +13. Some edits in the documentation. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/106 + +14. Fix an issue when building the initial population as (some) genes + have their value taken from the mutation range (defined by the + parameters ``random_mutation_min_val`` and + ``random_mutation_max_val``) instead of using the parameters + ``init_range_low`` and ``init_range_high``. + +15. The ``summary()`` method returns the summary as a single-line + string. Just log/print the returned string it to see it properly. + +16. The ``callback_generation`` parameter is removed. Use the + ``on_generation`` parameter instead. + +17. There was an issue when using the ``parallel_processing`` parameter + with Keras and PyTorch. As Keras/PyTorch are not thread-safe, the + ``predict()`` method gives incorrect and weird results when more + than 1 thread is used. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/145 + https://github.com/ahmedfgad/TorchGA/issues/5 + https://github.com/ahmedfgad/KerasGA/issues/6. Thanks to this + `StackOverflow + answer `__. + +18. Replace ``numpy.float`` by ``float`` in the 2 parent selection + operators roulette wheel and stochastic universal. + https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/168 + +.. _pygad-301: + +PyGAD 3.0.1 +----------- + +Release Date 20 April 2023 + +1. Fix an issue with passing user-defined function/method for parent + selection. + https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/179 + +PyGAD Projects at GitHub +======================== + +The PyGAD library is available at PyPI at this page +https://pypi.org/project/pygad. PyGAD is built out of a number of +open-source GitHub projects. A brief note about these projects is given +in the next subsections. + +`GeneticAlgorithmPython `__ +-------------------------------------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/GeneticAlgorithmPython + +`GeneticAlgorithmPython `__ +is the first project which is an open-source Python 3 project for +implementing the genetic algorithm based on NumPy. + +`NumPyANN `__ +---------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/NumPyANN + +`NumPyANN `__ builds artificial +neural networks in **Python 3** using **NumPy** from scratch. The +purpose of this project is to only implement the **forward pass** of a +neural network without using a training algorithm. Currently, it only +supports classification and later regression will be also supported. +Moreover, only one class is supported per sample. + +`NeuralGenetic `__ +-------------------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/NeuralGenetic + +`NeuralGenetic `__ trains +neural networks using the genetic algorithm based on the previous 2 +projects +`GeneticAlgorithmPython `__ +and `NumPyANN `__. + +`NumPyCNN `__ +---------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/NumPyCNN + +`NumPyCNN `__ builds +convolutional neural networks using NumPy. The purpose of this project +is to only implement the **forward pass** of a convolutional neural +network without using a training algorithm. + +`CNNGenetic `__ +-------------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/CNNGenetic + +`CNNGenetic `__ trains +convolutional neural networks using the genetic algorithm. It uses the +`GeneticAlgorithmPython `__ +project for building the genetic algorithm. + +`KerasGA `__ +-------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/KerasGA + +`KerasGA `__ trains +`Keras `__ models using the genetic algorithm. It uses +the +`GeneticAlgorithmPython `__ +project for building the genetic algorithm. + +`TorchGA `__ +-------------------------------------------------- + +GitHub Link: https://github.com/ahmedfgad/TorchGA + +`TorchGA `__ trains +`PyTorch `__ models using the genetic algorithm. It +uses the +`GeneticAlgorithmPython `__ +project for building the genetic algorithm. + +`pygad.torchga `__: +https://github.com/ahmedfgad/TorchGA + +Stackoverflow Questions about PyGAD +=================================== + +.. _how-do-i-proceed-to-load-a-gainstance-as-pkl-format-in-pygad: + +`How do I proceed to load a ga_instance as “.pkl” format in PyGad? `__ +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +`Binary Classification NN Model Weights not being Trained in PyGAD `__ +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +`How to solve TSP problem using pyGAD package? `__ +--------------------------------------------------------------------------------------------------------------------------------------------- + +`How can I save a matplotlib plot that is the output of a function in jupyter? `__ +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +`How do I query the best solution of a pyGAD GA instance? `__ +------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +`Multi-Input Multi-Output in Genetic algorithm (python) `__ +-------------------------------------------------------------------------------------------------------------------------------------------------------------- + +https://www.linkedin.com/pulse/validation-short-term-parametric-trading-model-genetic-landolfi + +https://itchef.ru/articles/397758 + +https://audhiaprilliant.medium.com/genetic-algorithm-based-clustering-algorithm-in-searching-robust-initial-centroids-for-k-means-e3b4d892a4be + +https://python.plainenglish.io/validation-of-a-short-term-parametric-trading-model-with-genetic-optimization-and-walk-forward-89708b789af6 + +https://ichi.pro/ko/pygadwa-hamkke-yujeon-algolijeum-eul-sayonghayeo-keras-model-eul-hunlyeonsikineun-bangbeob-173299286377169 + +https://ichi.pro/tr/pygad-ile-genetik-algoritmayi-kullanarak-keras-modelleri-nasil-egitilir-173299286377169 + +https://ichi.pro/ru/kak-obucit-modeli-keras-s-pomos-u-geneticeskogo-algoritma-s-pygad-173299286377169 + +https://blog.csdn.net/sinat_38079265/article/details/108449614 + +Submitting Issues +================= + +If there is an issue using PyGAD, then use any of your preferred option +to discuss that issue. + +One way is `submitting an +issue `__ +into this GitHub project +(`github.com/ahmedfgad/GeneticAlgorithmPython `__) +in case something is not working properly or to ask for questions. + +If this is not a proper option for you, then check the `Contact +Us `__ +section for more contact details. + +Ask for Feature +=============== + +PyGAD is actively developed with the goal of building a dynamic library +for suporting a wide-range of problems to be optimized using the genetic +algorithm. + +To ask for a new feature, either `submit an +issue `__ +into this GitHub project +(`github.com/ahmedfgad/GeneticAlgorithmPython `__) +or send an e-mail to ahmed.f.gad@gmail.com. + +Also check the `Contact +Us `__ +section for more contact details. + +Projects Built using PyGAD +========================== + +If you created a project that uses PyGAD, then we can support you by +mentioning this project here in PyGAD's documentation. + +To do that, please send a message at ahmed.f.gad@gmail.com or check the +`Contact +Us `__ +section for more contact details. + +Within your message, please send the following details: + +- Project title + +- Brief description + +- Preferably, a link that directs the readers to your project + +Tutorials about PyGAD +===================== + +`Adaptive Mutation in Genetic Algorithm with Python Examples `__ +----------------------------------------------------------------------------------------------------------------------------------------------------- + +In this tutorial, we’ll see why mutation with a fixed number of genes is +bad, and how to replace it with adaptive mutation. Using the `PyGAD +Python 3 library `__, we’ll discuss a few +examples that use both random and adaptive mutation. + +`Clustering Using the Genetic Algorithm in Python `__ +------------------------------------------------------------------------------------------------------------------------- + +This tutorial discusses how the genetic algorithm is used to cluster +data, starting from random clusters and running until the optimal +clusters are found. We'll start by briefly revising the K-means +clustering algorithm to point out its weak points, which are later +solved by the genetic algorithm. The code examples in this tutorial are +implemented in Python using the `PyGAD +library `__. + +`Working with Different Genetic Algorithm Representations in Python `__ +-------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Depending on the nature of the problem being optimized, the genetic +algorithm (GA) supports two different gene representations: binary, and +decimal. The binary GA has only two values for its genes, which are 0 +and 1. This is easier to manage as its gene values are limited compared +to the decimal GA, for which we can use different formats like float or +integer, and limited or unlimited ranges. + +This tutorial discusses how the +`PyGAD `__ library supports the two GA +representations, binary and decimal. + +.. _5-genetic-algorithm-applications-using-pygad: + +`5 Genetic Algorithm Applications Using PyGAD `__ +------------------------------------------------------------------------------------------------------------------------- + +This tutorial introduces PyGAD, an open-source Python library for +implementing the genetic algorithm and training machine learning +algorithms. PyGAD supports 19 parameters for customizing the genetic +algorithm for various applications. + +Within this tutorial we'll discuss 5 different applications of the +genetic algorithm and build them using PyGAD. + +`Train Neural Networks Using a Genetic Algorithm in Python with PyGAD `__ +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +The genetic algorithm (GA) is a biologically-inspired optimization +algorithm. It has in recent years gained importance, as it’s simple +while also solving complex problems like travel route optimization, +training machine learning algorithms, working with single and +multi-objective problems, game playing, and more. + +Deep neural networks are inspired by the idea of how the biological +brain works. It’s a universal function approximator, which is capable of +simulating any function, and is now used to solve the most complex +problems in machine learning. What’s more, they’re able to work with all +types of data (images, audio, video, and text). + +Both genetic algorithms (GAs) and neural networks (NNs) are similar, as +both are biologically-inspired techniques. This similarity motivates us +to create a hybrid of both to see whether a GA can train NNs with high +accuracy. + +This tutorial uses `PyGAD `__, a Python +library that supports building and training NNs using a GA. +`PyGAD `__ offers both classification and +regression NNs. + +`Building a Game-Playing Agent for CoinTex Using the Genetic Algorithm `__ +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +In this tutorial we'll see how to build a game-playing agent using only +the genetic algorithm to play a game called +`CoinTex `__, +which is developed in the Kivy Python framework. The objective of +CoinTex is to collect the randomly distributed coins while avoiding +collision with fire and monsters (that move randomly). The source code +of CoinTex can be found `on +GitHub `__. + +The genetic algorithm is the only AI used here; there is no other +machine/deep learning model used with it. We'll implement the genetic +algorithm using +`PyGad `__. +This tutorial starts with a quick overview of CoinTex followed by a +brief explanation of the genetic algorithm, and how it can be used to +create the playing agent. Finally, we'll see how to implement these +ideas in Python. + +The source code of the genetic algorithm agent is available +`here `__, +and you can download the code used in this tutorial from +`here `__. + +`How To Train Keras Models Using the Genetic Algorithm with PyGAD `__ +-------------------------------------------------------------------------------------------------------------------------------------------------------- + +PyGAD is an open-source Python library for building the genetic +algorithm and training machine learning algorithms. It offers a wide +range of parameters to customize the genetic algorithm to work with +different types of problems. + +PyGAD has its own modules that support building and training neural +networks (NNs) and convolutional neural networks (CNNs). Despite these +modules working well, they are implemented in Python without any +additional optimization measures. This leads to comparatively high +computational times for even simple problems. + +The latest PyGAD version, 2.8.0 (released on 20 September 2020), +supports a new module to train Keras models. Even though Keras is built +in Python, it's fast. The reason is that Keras uses TensorFlow as a +backend, and TensorFlow is highly optimized. + +This tutorial discusses how to train Keras models using PyGAD. The +discussion includes building Keras models using either the Sequential +Model or the Functional API, building an initial population of Keras +model parameters, creating an appropriate fitness function, and more. + +|image1| + +`Train PyTorch Models Using Genetic Algorithm with PyGAD `__ +--------------------------------------------------------------------------------------------------------------------------------------------- + +`PyGAD `__ is a genetic algorithm Python +3 library for solving optimization problems. One of these problems is +training machine learning algorithms. + +PyGAD has a module called +`pygad.kerasga `__. It trains +Keras models using the genetic algorithm. On January 3rd, 2021, a new +release of `PyGAD 2.10.0 `__ brought a +new module called +`pygad.torchga `__ to train +PyTorch models. It’s very easy to use, but there are a few tricky steps. + +So, in this tutorial, we’ll explore how to use PyGAD to train PyTorch +models. + +|image2| + +`A Guide to Genetic ‘Learning’ Algorithms for Optimization `__ +------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +PyGAD in Other Languages +======================== + +French +------ + +`Cómo los algoritmos genéticos pueden competir con el descenso de +gradiente y el +backprop `__ + +Bien que la manière standard d'entraîner les réseaux de neurones soit la +descente de gradient et la rétropropagation, il y a d'autres joueurs +dans le jeu. L'un d'eux est les algorithmes évolutionnaires, tels que +les algorithmes génétiques. + +Utiliser un algorithme génétique pour former un réseau de neurones +simple pour résoudre le OpenAI CartPole Jeu. Dans cet article, nous +allons former un simple réseau de neurones pour résoudre le OpenAI +CartPole . J'utiliserai PyTorch et PyGAD . + +|image3| + +Spanish +------- + +`Cómo los algoritmos genéticos pueden competir con el descenso de +gradiente y el +backprop `__ + +Aunque la forma estandar de entrenar redes neuronales es el descenso de +gradiente y la retropropagacion, hay otros jugadores en el juego, uno de +ellos son los algoritmos evolutivos, como los algoritmos geneticos. + +Usa un algoritmo genetico para entrenar una red neuronal simple para +resolver el Juego OpenAI CartPole. En este articulo, entrenaremos una +red neuronal simple para resolver el OpenAI CartPole . Usare PyTorch y +PyGAD . + +|image4| + +Korean +------ + +`[PyGAD] Python 에서 Genetic Algorithm 을 사용해보기 `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +|image5| + +파이썬에서 genetic algorithm을 사용하는 패키지들을 다 사용해보진 +않았지만, 확장성이 있어보이고, 시도할 일이 있어서 살펴봤다. + +이 패키지에서 가장 인상 깊었던 것은 neural network에서 hyper parameter +탐색을 gradient descent 방식이 아닌 GA로도 할 수 있다는 것이다. + +개인적으로 이 부분이 어느정도 초기치를 잘 잡아줄 수 있는 역할로도 쓸 수 +있고, Loss가 gradient descent 하기 어려운 구조에서 대안으로 쓸 수 있을 +것으로도 생각된다. + +일단 큰 흐름은 다음과 같이 된다. + +사실 완전히 흐름이나 각 parameter에 대한 이해는 부족한 상황 + +Turkish +------- + +`PyGAD ile Genetik Algoritmayı Kullanarak Keras Modelleri Nasıl Eğitilir `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is a translation of an original English tutorial published at +Paperspace: `How To Train Keras Models Using the Genetic Algorithm with +PyGAD `__ + +PyGAD, genetik algoritma oluşturmak ve makine öğrenimi algoritmalarını +eğitmek için kullanılan açık kaynaklı bir Python kitaplığıdır. Genetik +algoritmayı farklı problem türleri ile çalışacak şekilde özelleştirmek +için çok çeşitli parametreler sunar. + +PyGAD, sinir ağları (NN’ler) ve evrişimli sinir ağları (CNN’ler) +oluşturmayı ve eğitmeyi destekleyen kendi modüllerine sahiptir. Bu +modüllerin iyi çalışmasına rağmen, herhangi bir ek optimizasyon önlemi +olmaksızın Python’da uygulanırlar. Bu, basit problemler için bile +nispeten yüksek hesaplama sürelerine yol açar. + +En son PyGAD sürümü 2.8.0 (20 Eylül 2020'de piyasaya sürüldü), Keras +modellerini eğitmek için yeni bir modülü destekliyor. Keras Python’da +oluşturulmuş olsa da hızlıdır. Bunun nedeni, Keras’ın arka uç olarak +TensorFlow kullanması ve TensorFlow’un oldukça optimize edilmiş +olmasıdır. + +Bu öğreticide, PyGAD kullanılarak Keras modellerinin nasıl eğitileceği +anlatılmaktadır. Tartışma, Sıralı Modeli veya İşlevsel API’yi kullanarak +Keras modellerini oluşturmayı, Keras model parametrelerinin ilk +popülasyonunu oluşturmayı, uygun bir uygunluk işlevi oluşturmayı ve daha +fazlasını içerir. + +|image6| + +Hungarian +--------- + +.. _tensorflow-alapozó-10-neurális-hálózatok-tenyésztése-genetikus-algoritmussal-pygad-és-openai-gym-használatával: + +`Tensorflow alapozó 10. Neurális hálózatok tenyésztése genetikus algoritmussal PyGAD és OpenAI Gym használatával `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Hogy kontextusba helyezzem a genetikus algoritmusokat, ismételjük kicsit +át, hogy hogyan működik a gradient descent és a backpropagation, ami a +neurális hálók tanításának általános módszere. Az erről írt cikkemet itt +tudjátok elolvasni. + +A hálózatok tenyésztéséhez a +`PyGAD `__ nevű +programkönyvtárat használjuk, így mindenek előtt ezt kell telepítenünk, +valamint a Tensorflow-t és a Gym-et, amit Colabban már eleve telepítve +kapunk. + +Maga a PyGAD egy teljesen általános genetikus algoritmusok futtatására +képes rendszer. Ennek a kiterjesztése a KerasGA, ami az általános motor +Tensorflow (Keras) neurális hálókon történő futtatását segíti. A 47. +sorban létrehozott KerasGA objektum ennek a kiterjesztésnek a része és +arra szolgál, hogy a paraméterként átadott modellből a második +paraméterben megadott számosságú populációt hozzon létre. Mivel a +hálózatunk 386 állítható paraméterrel rendelkezik, ezért a DNS-ünk itt +386 elemből fog állni. A populáció mérete 10 egyed, így a kezdő +populációnk egy 10x386 elemű mátrix lesz. Ezt adjuk át az 51. sorban az +initial_population paraméterben. + +|image7| + +Russian +------- + +`PyGAD: библиотека для имплементации генетического алгоритма `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +PyGAD — это библиотека для имплементации генетического алгоритма. Кроме +того, библиотека предоставляет доступ к оптимизированным реализациям +алгоритмов машинного обучения. PyGAD разрабатывали на Python 3. + +Библиотека PyGAD поддерживает разные типы скрещивания, мутации и +селекции родителя. PyGAD позволяет оптимизировать проблемы с помощью +генетического алгоритма через кастомизацию целевой функции. + +Кроме генетического алгоритма, библиотека содержит оптимизированные +имплементации алгоритмов машинного обучения. На текущий момент PyGAD +поддерживает создание и обучение нейросетей для задач классификации. + +Библиотека находится в стадии активной разработки. Создатели планируют +добавление функционала для решения бинарных задач и имплементации новых +алгоритмов. + +PyGAD разрабатывали на Python 3.7.3. Зависимости включают в себя NumPy +для создания и манипуляции массивами и Matplotlib для визуализации. Один +из изкейсов использования инструмента — оптимизация весов, которые +удовлетворяют заданной функции. + +|image8| + +Research Papers using PyGAD +=========================== + +A number of research papers used PyGAD and here are some of them: + +- Jaros, Marta, and Jiri Jaros. "Performance-Cost Optimization of + Moldable Scientific Workflows." + +- Thorat, Divya. "Enhanced genetic algorithm to reduce makespan of + multiple jobs in map-reduce application on serverless platform". + Diss. Dublin, National College of Ireland, 2020. + +- Koch, Chris, and Edgar Dobriban. "AttenGen: Generating Live + Attenuated Vaccine Candidates using Machine Learning." (2021). + +- Bhardwaj, Bhavya, et al. "Windfarm optimization using Nelder-Mead and + Particle Swarm optimization." *2021 7th International Conference on + Electrical Energy Systems (ICEES)*. IEEE, 2021. + +- Bernardo, Reginald Christian S. and J. Said. “Towards a + model-independent reconstruction approach for late-time Hubble data.” + (2021). + +- Duong, Tri Dung, Qian Li, and Guandong Xu. "Prototype-based + Counterfactual Explanation for Causal Classification." *arXiv + preprint arXiv:2105.00703* (2021). + +- Farrag, Tamer Ahmed, and Ehab E. Elattar. "Optimized Deep Stacked + Long Short-Term Memory Network for Long-Term Load Forecasting." *IEEE + Access* 9 (2021): 68511-68522. + +- Antunes, E. D. O., Caetano, M. F., Marotta, M. A., Araujo, A., + Bondan, L., Meneguette, R. I., & Rocha Filho, G. P. (2021, August). + Soluções Otimizadas para o Problema de Localização de Máxima + Cobertura em Redes Militarizadas 4G/LTE. In *Anais do XXVI Workshop + de Gerência e Operação de Redes e Serviços* (pp. 152-165). SBC. + +- M. Yani, F. Ardilla, A. A. Saputra and N. Kubota, "Gradient-Free Deep + Q-Networks Reinforcement learning: Benchmark and Evaluation," *2021 + IEEE Symposium Series on Computational Intelligence (SSCI)*, 2021, + pp. 1-5, doi: 10.1109/SSCI50451.2021.9659941. + +- Yani, Mohamad, and Naoyuki Kubota. "Deep Convolutional Networks with + Genetic Algorithm for Reinforcement Learning Problem." + +- Mahendra, Muhammad Ihza, and Isman Kurniawan. "Optimizing + Convolutional Neural Network by Using Genetic Algorithm for COVID-19 + Detection in Chest X-Ray Image." *2021 International Conference on + Data Science and Its Applications (ICoDSA)*. IEEE, 2021. + +- Glibota, Vjeko. *Umjeravanje mikroskopskog prometnog modela primjenom + genetskog algoritma*. Diss. University of Zagreb. Faculty of + Transport and Traffic Sciences. Division of Intelligent Transport + Systems and Logistics. Department of Intelligent Transport Systems, + 2021. + +- Zhu, Mingda. *Genetic Algorithm-based Parameter Identification for + Ship Manoeuvring Model under Wind Disturbance*. MS thesis. NTNU, + 2021. + +- Abdalrahman, Ahmed, and Weihua Zhuang. "Dynamic pricing for + differentiated pev charging services using deep reinforcement + learning." *IEEE Transactions on Intelligent Transportation Systems* + (2020). + +More Links +========== + +https://rodriguezanton.com/identifying-contact-states-for-2d-objects-using-pygad-and/ + +https://torvaney.github.io/projects/t9-optimised + +For More Information +==================== + +There are different resources that can be used to get started with the +genetic algorithm and building it in Python. + +Tutorial: Implementing Genetic Algorithm in Python +-------------------------------------------------- + +To start with coding the genetic algorithm, you can check the tutorial +titled `Genetic Algorithm Implementation in +Python `__ +available at these links: + +- `LinkedIn `__ + +- `Towards Data + Science `__ + +- `KDnuggets `__ + +`This +tutorial `__ +is prepared based on a previous version of the project but it still a +good resource to start with coding the genetic algorithm. + +|image9| + +Tutorial: Introduction to Genetic Algorithm +------------------------------------------- + +Get started with the genetic algorithm by reading the tutorial titled +`Introduction to Optimization with Genetic +Algorithm `__ +which is available at these links: + +- `LinkedIn `__ + +- `Towards Data + Science `__ + +- `KDnuggets `__ + +|image10| + +Tutorial: Build Neural Networks in Python +----------------------------------------- + +Read about building neural networks in Python through the tutorial +titled `Artificial Neural Network Implementation using NumPy and +Classification of the Fruits360 Image +Dataset `__ +available at these links: + +- `LinkedIn `__ + +- `Towards Data + Science `__ + +- `KDnuggets `__ + +|image11| + +Tutorial: Optimize Neural Networks with Genetic Algorithm +--------------------------------------------------------- + +Read about training neural networks using the genetic algorithm through +the tutorial titled `Artificial Neural Networks Optimization using +Genetic Algorithm with +Python `__ +available at these links: + +- `LinkedIn `__ + +- `Towards Data + Science `__ + +- `KDnuggets `__ + +|image12| + +Tutorial: Building CNN in Python +-------------------------------- + +To start with coding the genetic algorithm, you can check the tutorial +titled `Building Convolutional Neural Network using NumPy from +Scratch `__ +available at these links: + +- `LinkedIn `__ + +- `Towards Data + Science `__ + +- `KDnuggets `__ + +- `Chinese Translation `__ + +`This +tutorial `__) +is prepared based on a previous version of the project but it still a +good resource to start with coding CNNs. + +|image13| + +Tutorial: Derivation of CNN from FCNN +------------------------------------- + +Get started with the genetic algorithm by reading the tutorial titled +`Derivation of Convolutional Neural Network from Fully Connected Network +Step-By-Step `__ +which is available at these links: + +- `LinkedIn `__ + +- `Towards Data + Science `__ + +- `KDnuggets `__ + +|image14| + +Book: Practical Computer Vision Applications Using Deep Learning with CNNs +-------------------------------------------------------------------------- + +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 `__ +which discusses neural networks, convolutional neural networks, deep +learning, genetic algorithm, and more. + +Find the book at these links: + +- `Amazon `__ + +- `Springer `__ + +- `Apress `__ + +- `O'Reilly `__ + +- `Google Books `__ + +.. figure:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg + :alt: + +Contact Us +========== + +- E-mail: ahmed.f.gad@gmail.com + +- `LinkedIn `__ + +- `Amazon Author Page `__ + +- `Heartbeat `__ + +- `Paperspace `__ + +- `KDnuggets `__ + +- `TowardsDataScience `__ + +- `GitHub `__ + +.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png + :alt: + +Thank you for using +`PyGAD `__ :) + +.. |image1| image:: https://user-images.githubusercontent.com/16560492/111009628-2b372500-8362-11eb-90cf-01b47d831624.png + :target: https://blog.paperspace.com/train-keras-models-using-genetic-algorithm-with-pygad +.. |image2| image:: https://user-images.githubusercontent.com/16560492/111009678-5457b580-8362-11eb-899a-39e2f96984df.png + :target: https://neptune.ai/blog/train-pytorch-models-using-genetic-algorithm-with-pygad +.. |image3| image:: https://user-images.githubusercontent.com/16560492/111009275-3178d180-8361-11eb-9e86-7fb1519acde7.png + :target: https://www.hebergementwebs.com/nouvelles/comment-les-algorithmes-genetiques-peuvent-rivaliser-avec-la-descente-de-gradient-et-le-backprop +.. |image4| image:: https://user-images.githubusercontent.com/16560492/111009257-232ab580-8361-11eb-99a5-7226efbc3065.png + :target: https://www.hebergementwebs.com/noticias/como-los-algoritmos-geneticos-pueden-competir-con-el-descenso-de-gradiente-y-el-backprop +.. |image5| image:: https://user-images.githubusercontent.com/16560492/108586306-85bd0280-731b-11eb-874c-7ac4ce1326cd.jpg + :target: https://data-newbie.tistory.com/m/685 +.. |image6| image:: https://user-images.githubusercontent.com/16560492/108586601-85be0200-731d-11eb-98a4-161c75a1f099.jpg + :target: https://erencan34.medium.com/pygad-ile-genetik-algoritmay%C4%B1-kullanarak-keras-modelleri-nas%C4%B1l-e%C4%9Fitilir-cf92639a478c +.. |image7| image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png + :target: https://thebojda.medium.com/tensorflow-alapoz%C3%B3-10-24f7767d4a2c +.. |image8| image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png + :target: https://neurohive.io/ru/frameworki/pygad-biblioteka-dlya-implementacii-geneticheskogo-algoritma +.. |image9| image:: https://user-images.githubusercontent.com/16560492/78830052-a3c19300-79e7-11ea-8b9b-4b343ea4049c.png + :target: https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad +.. |image10| image:: https://user-images.githubusercontent.com/16560492/82078259-26252d00-96e1-11ea-9a02-52a99e1054b9.jpg + :target: https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad +.. |image11| image:: https://user-images.githubusercontent.com/16560492/82078281-30472b80-96e1-11ea-8017-6a1f4383d602.jpg + :target: https://www.linkedin.com/pulse/artificial-neural-network-implementation-using-numpy-fruits360-gad +.. |image12| image:: https://user-images.githubusercontent.com/16560492/82078300-376e3980-96e1-11ea-821c-aa6b8ceb44d4.jpg + :target: https://www.linkedin.com/pulse/artificial-neural-networks-optimization-using-genetic-ahmed-gad +.. |image13| image:: https://user-images.githubusercontent.com/16560492/82431022-6c3a1200-9a8e-11ea-8f1b-b055196d76e3.png + :target: https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad +.. |image14| image:: https://user-images.githubusercontent.com/16560492/82431369-db176b00-9a8e-11ea-99bd-e845192873fc.png + :target: https://www.linkedin.com/pulse/derivation-convolutional-neural-network-from-fully-connected-gad diff --git a/docs/source/README_pygad_torchga_ReadTheDocs.rst b/docs/source/torchga.rst similarity index 97% rename from docs/source/README_pygad_torchga_ReadTheDocs.rst rename to docs/source/torchga.rst index 66a554e..e49a2a2 100644 --- a/docs/source/README_pygad_torchga_ReadTheDocs.rst +++ b/docs/source/torchga.rst @@ -1,946 +1,946 @@ -.. _pygadtorchga-module: - -``pygad.torchga`` Module -======================== - -This section of the PyGAD's library documentation discusses the -**pygad.torchga** module. - -The ``pygad.torchga`` module has a helper class and 2 functions to train -PyTorch models using the genetic algorithm (PyGAD). - -The contents of this module are: - -1. ``TorchGA``: A class for creating an initial population of all - parameters in the PyTorch model. - -2. ``model_weights_as_vector()``: A function to reshape the PyTorch - model weights to a single vector. - -3. ``model_weights_as_dict()``: A function to restore the PyTorch model - weights from a vector. - -4. ``predict()``: A function to make predictions based on the PyTorch - model and a solution. - -More details are given in the next sections. - -Steps Summary -============= - -The summary of the steps used to train a PyTorch model using PyGAD is as -follows: - -1. Create a PyTorch model. - -2. Create an instance of the ``pygad.torchga.TorchGA`` class. - -3. Prepare the training data. - -4. Build the fitness function. - -5. Create an instance of the ``pygad.GA`` class. - -6. Run the genetic algorithm. - -Create PyTorch Model -==================== - -Before discussing training a PyTorch model using PyGAD, the first thing -to do is to create the PyTorch model. To get started, please check the -`PyTorch library -documentation `__. - -Here is an example of a PyTorch model. - -.. code:: python - - import torch - - input_layer = torch.nn.Linear(3, 5) - relu_layer = torch.nn.ReLU() - output_layer = torch.nn.Linear(5, 1) - - model = torch.nn.Sequential(input_layer, - relu_layer, - output_layer) - -Feel free to add the layers of your choice. - -.. _pygadtorchgatorchga-class: - -``pygad.torchga.TorchGA`` Class -=============================== - -The ``pygad.torchga`` module has a class named ``TorchGA`` for creating -an initial population for the genetic algorithm based on a PyTorch -model. The constructor, methods, and attributes within the class are -discussed in this section. - -.. _init: - -``__init__()`` --------------- - -The ``pygad.torchga.TorchGA`` class constructor accepts the following -parameters: - -- ``model``: An instance of the PyTorch model. - -- ``num_solutions``: Number of solutions in the population. Each - solution has different parameters of the model. - -Instance Attributes -------------------- - -All parameters in the ``pygad.torchga.TorchGA`` class constructor are -used as instance attributes in addition to adding a new attribute called -``population_weights``. - -Here is a list of all instance attributes: - -- ``model`` - -- ``num_solutions`` - -- ``population_weights``: A nested list holding the weights of all - solutions in the population. - -Methods in the ``TorchGA`` Class --------------------------------- - -This section discusses the methods available for instances of the -``pygad.torchga.TorchGA`` class. - -.. _createpopulation: - -``create_population()`` -~~~~~~~~~~~~~~~~~~~~~~~ - -The ``create_population()`` method creates the initial population of the -genetic algorithm as a list of solutions where each solution represents -different model parameters. The list of networks is assigned to the -``population_weights`` attribute of the instance. - -.. _functions-in-the-pygadtorchga-module: - -Functions in the ``pygad.torchga`` Module -========================================= - -This section discusses the functions in the ``pygad.torchga`` module. - -.. _pygadtorchgamodelweightsasvector: - -``pygad.torchga.model_weights_as_vector()`` --------------------------------------------- - -The ``model_weights_as_vector()`` function accepts a single parameter -named ``model`` representing the PyTorch model. It returns a vector -holding all model weights. The reason for representing the model weights -as a vector is that the genetic algorithm expects all parameters of any -solution to be in a 1D vector form. - -The function accepts the following parameters: - -- ``model``: The PyTorch model. - -It returns a 1D vector holding the model weights. - -.. _pygadtorchmodelweightsasdict: - -``pygad.torch.model_weights_as_dict()`` ---------------------------------------- - -The ``model_weights_as_dict()`` function accepts the following -parameters: - -1. ``model``: The PyTorch model. - -2. ``weights_vector``: The model parameters as a vector. - -It returns the restored model weights in the same form used by the -``state_dict()`` method. The returned dictionary is ready to be passed -to the ``load_state_dict()`` method for setting the PyTorch model's -parameters. - -.. _pygadtorchgapredict: - -``pygad.torchga.predict()`` ---------------------------- - -The ``predict()`` function makes a prediction based on a solution. It -accepts the following parameters: - -1. ``model``: The PyTorch model. - -2. ``solution``: The solution evolved. - -3. ``data``: The test data inputs. - -It returns the predictions for the data samples. - -Examples -======== - -This section gives the complete code of some examples that build and -train a PyTorch model using PyGAD. Each subsection builds a different -network. - -Example 1: Regression Example ------------------------------ - -The next code builds a simple PyTorch model for regression. The next -subsections discuss each part in the code. - -.. code:: python - - import torch - import torchga - import pygad - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, torch_ga, model, loss_function - - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - - abs_error = loss_function(predictions, data_outputs).detach().numpy() + 0.00000001 - - solution_fitness = 1.0 / abs_error - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Create the PyTorch model. - input_layer = torch.nn.Linear(3, 5) - relu_layer = torch.nn.ReLU() - output_layer = torch.nn.Linear(5, 1) - - model = torch.nn.Sequential(input_layer, - relu_layer, - output_layer) - # print(model) - - # Create an instance of the pygad.torchga.TorchGA class to build the initial population. - torch_ga = torchga.TorchGA(model=model, - num_solutions=10) - - loss_function = torch.nn.L1Loss() - - # Data inputs - data_inputs = torch.tensor([[0.02, 0.1, 0.15], - [0.7, 0.6, 0.8], - [1.5, 1.2, 1.7], - [3.2, 2.9, 3.1]]) - - # Data outputs - data_outputs = torch.tensor([[0.1], - [0.6], - [1.3], - [2.5]]) - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 250 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = torch_ga.population_weights # Initial population of network weights - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make predictions based on the best solution. - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - print("Predictions : \n", predictions.detach().numpy()) - - abs_error = loss_function(predictions, data_outputs) - print("Absolute Error : ", abs_error.detach().numpy()) - -Create a PyTorch model -~~~~~~~~~~~~~~~~~~~~~~ - -According to the steps mentioned previously, the first step is to create -a PyTorch model. Here is the code that builds the model using the -Functional API. - -.. code:: python - - import torch - - input_layer = torch.nn.Linear(3, 5) - relu_layer = torch.nn.ReLU() - output_layer = torch.nn.Linear(5, 1) - - model = torch.nn.Sequential(input_layer, - relu_layer, - output_layer) - -.. _create-an-instance-of-the-pygadtorchgatorchga-class: - -Create an Instance of the ``pygad.torchga.TorchGA`` Class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The second step is to create an instance of the -``pygad.torchga.TorchGA`` class. There are 10 solutions per population. -Change this number according to your needs. - -.. code:: python - - import pygad.torchga - - torch_ga = torchga.TorchGA(model=model, - num_solutions=10) - -.. _prepare-the-training-data-1: - -Prepare the Training Data -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The third step is to prepare the training data inputs and outputs. Here -is an example where there are 4 samples. Each sample has 3 inputs and 1 -output. - -.. code:: python - - import numpy - - # Data inputs - data_inputs = numpy.array([[0.02, 0.1, 0.15], - [0.7, 0.6, 0.8], - [1.5, 1.2, 1.7], - [3.2, 2.9, 3.1]]) - - # Data outputs - data_outputs = numpy.array([[0.1], - [0.6], - [1.3], - [2.5]]) - -Build the Fitness Function -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The fourth step is to build the fitness function. This function must -accept 2 parameters representing the solution and its index within the -population. - -The next fitness function calculates the mean absolute error (MAE) of -the PyTorch model based on the parameters in the solution. The -reciprocal of the MAE is used as the fitness value. Feel free to use any -other loss function to calculate the fitness value. - -.. code:: python - - loss_function = torch.nn.L1Loss() - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, torch_ga, model, loss_function - - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - - abs_error = loss_function(predictions, data_outputs).detach().numpy() + 0.00000001 - - solution_fitness = 1.0 / abs_error - - return solution_fitness - -.. _create-an-instance-of-the-pygadga-class: - -Create an Instance of the ``pygad.GA`` Class -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The fifth step is to instantiate the ``pygad.GA`` class. Note how the -``initial_population`` parameter is assigned to the initial weights of -the PyTorch models. - -For more information, please check the `parameters this class -accepts `__. - -.. code:: python - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 250 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = torch_ga.population_weights # Initial population of network weights - - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - -Run the Genetic Algorithm -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The sixth and last step is to run the genetic algorithm by calling the -``run()`` method. - -.. code:: python - - ga_instance.run() - -After the PyGAD completes its execution, then there is a figure that -shows how the fitness value changes by generation. Call the -``plot_fitness()`` method to show the figure. - -.. code:: python - - ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) - -Here is the figure. - -.. figure:: https://user-images.githubusercontent.com/16560492/103469779-22f5b480-4d37-11eb-80dc-95503065ebb1.png - :alt: - -To get information about the best solution found by PyGAD, use the -``best_solution()`` method. - -.. code:: python - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - -.. code:: python - - Fitness value of the best solution = 145.42425295191546 - Index of the best solution : 0 - -The next code restores the trained model weights using the -``model_weights_as_dict()`` function. The restored weights are used to -calculate the predicted values. - -.. code:: python - - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - print("Predictions : \n", predictions.detach().numpy()) - -.. code:: python - - Predictions : - [[0.08401088] - [0.60939324] - [1.3010881 ] - [2.5010352 ]] - -The next code measures the trained model error. - -.. code:: python - - abs_error = loss_function(predictions, data_outputs) - print("Absolute Error : ", abs_error.detach().numpy()) - -.. code:: - - Absolute Error : 0.006876422 - -Example 2: XOR Binary Classification ------------------------------------- - -The next code creates a PyTorch model to build the XOR binary -classification problem. Let's highlight the changes compared to the -previous example. - -.. code:: python - - import torch - import torchga - import pygad - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, torch_ga, model, loss_function - - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - - solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Create the PyTorch model. - input_layer = torch.nn.Linear(2, 4) - relu_layer = torch.nn.ReLU() - dense_layer = torch.nn.Linear(4, 2) - output_layer = torch.nn.Softmax(1) - - model = torch.nn.Sequential(input_layer, - relu_layer, - dense_layer, - output_layer) - # print(model) - - # Create an instance of the pygad.torchga.TorchGA class to build the initial population. - torch_ga = torchga.TorchGA(model=model, - num_solutions=10) - - loss_function = torch.nn.BCELoss() - - # XOR problem inputs - data_inputs = torch.tensor([[0.0, 0.0], - [0.0, 1.0], - [1.0, 0.0], - [1.0, 1.0]]) - - # XOR problem outputs - data_outputs = torch.tensor([[1.0, 0.0], - [0.0, 1.0], - [0.0, 1.0], - [1.0, 0.0]]) - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 250 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = torch_ga.population_weights # Initial population of network weights. - - # Create an instance of the pygad.GA class - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - # Start the genetic algorithm evolution. - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make predictions based on the best solution. - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - print("Predictions : \n", predictions.detach().numpy()) - - # Calculate the binary crossentropy for the trained model. - print("Binary Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) - - # Calculate the classification accuracy of the trained model. - a = torch.max(predictions, axis=1) - b = torch.max(data_outputs, axis=1) - accuracy = torch.sum(a.indices == b.indices) / len(data_outputs) - print("Accuracy : ", accuracy.detach().numpy()) - -Compared to the previous regression example, here are the changes: - -- The PyTorch model is changed according to the nature of the problem. - Now, it has 2 inputs and 2 outputs with an in-between hidden layer of - 4 neurons. - -.. code:: python - - input_layer = torch.nn.Linear(2, 4) - relu_layer = torch.nn.ReLU() - dense_layer = torch.nn.Linear(4, 2) - output_layer = torch.nn.Softmax(1) - - model = torch.nn.Sequential(input_layer, - relu_layer, - dense_layer, - output_layer) - -- The train data is changed. Note that the output of each sample is a - 1D vector of 2 values, 1 for each class. - -.. code:: python - - # XOR problem inputs - data_inputs = torch.tensor([[0.0, 0.0], - [0.0, 1.0], - [1.0, 0.0], - [1.0, 1.0]]) - - # XOR problem outputs - data_outputs = torch.tensor([[1.0, 0.0], - [0.0, 1.0], - [0.0, 1.0], - [1.0, 0.0]]) - -- The fitness value is calculated based on the binary cross entropy. - -.. code:: python - - loss_function = torch.nn.BCELoss() - -After the previous code completes, the next figure shows how the fitness -value change by generation. - -.. figure:: https://user-images.githubusercontent.com/16560492/103469818-c646c980-4d37-11eb-98c3-d9d591acd5e2.png - :alt: - -Here is some information about the trained model. Its fitness value is -``100000000.0``, loss is ``0.0`` and accuracy is 100%. - -.. code:: python - - Fitness value of the best solution = 100000000.0 - - Index of the best solution : 0 - - Predictions : - [[1.0000000e+00 1.3627675e-10] - [3.8521746e-09 1.0000000e+00] - [4.2789325e-10 1.0000000e+00] - [1.0000000e+00 3.3668417e-09]] - - Binary Crossentropy : 0.0 - - Accuracy : 1.0 - -Example 3: Image Multi-Class Classification (Dense Layers) ----------------------------------------------------------- - -Here is the code. - -.. code:: python - - import torch - import torchga - import pygad - import numpy - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, torch_ga, model, loss_function - - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - - solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Build the PyTorch model using the functional API. - input_layer = torch.nn.Linear(360, 50) - relu_layer = torch.nn.ReLU() - dense_layer = torch.nn.Linear(50, 4) - output_layer = torch.nn.Softmax(1) - - model = torch.nn.Sequential(input_layer, - relu_layer, - dense_layer, - output_layer) - - # Create an instance of the pygad.torchga.TorchGA class to build the initial population. - torch_ga = torchga.TorchGA(model=model, - num_solutions=10) - - loss_function = torch.nn.CrossEntropyLoss() - - # Data inputs - data_inputs = torch.from_numpy(numpy.load("dataset_features.npy")).float() - - # Data outputs - data_outputs = torch.from_numpy(numpy.load("outputs.npy")).long() - # The next 2 lines are equivelant to this Keras function to perform 1-hot encoding: tensorflow.keras.utils.to_categorical(data_outputs) - # temp_outs = numpy.zeros((data_outputs.shape[0], numpy.unique(data_outputs).size), dtype=numpy.uint8) - # temp_outs[numpy.arange(data_outputs.shape[0]), numpy.uint8(data_outputs)] = 1 - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 200 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = torch_ga.population_weights # Initial population of network weights. - - # Create an instance of the pygad.GA class - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - # Start the genetic algorithm evolution. - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Fetch the parameters of the best solution. - best_solution_weights = torchga.model_weights_as_dict(model=model, - weights_vector=solution) - model.load_state_dict(best_solution_weights) - predictions = model(data_inputs) - # print("Predictions : \n", predictions) - - # Calculate the crossentropy loss of the trained model. - print("Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) - - # Calculate the classification accuracy for the trained model. - accuracy = torch.sum(torch.max(predictions, axis=1).indices == data_outputs) / len(data_outputs) - print("Accuracy : ", accuracy.detach().numpy()) - -Compared to the previous binary classification example, this example has -multiple classes (4) and thus the loss is measured using cross entropy. - -.. code:: python - - loss_function = torch.nn.CrossEntropyLoss() - -.. _prepare-the-training-data-2: - -Prepare the Training Data -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Before building and training neural networks, the training data (input -and output) needs to be prepared. The inputs and the outputs of the -training data are NumPy arrays. - -The data used in this example is available as 2 files: - -1. `dataset_features.npy `__: - Data inputs. - https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy - -2. `outputs.npy `__: - Class labels. - https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy - -The data consists of 4 classes of images. The image shape is -``(100, 100, 3)``. The number of training samples is 1962. The feature -vector extracted from each image has a length 360. - -.. code:: python - - import numpy - - data_inputs = numpy.load("dataset_features.npy") - - data_outputs = numpy.load("outputs.npy") - -The next figure shows how the fitness value changes. - -.. figure:: https://user-images.githubusercontent.com/16560492/103469855-5d138600-4d38-11eb-84b1-b5eff8faa7bc.png - :alt: - -Here are some statistics about the trained model. - -.. code:: - - Fitness value of the best solution = 1.3446997034434534 - Index of the best solution : 0 - Crossentropy : 0.74366045 - Accuracy : 1.0 - -Example 4: Image Multi-Class Classification (Conv Layers) ---------------------------------------------------------- - -Compared to the previous example that uses only dense layers, this -example uses convolutional layers to classify the same dataset. - -Here is the complete code. - -.. code:: python - - import torch - import torchga - import pygad - import numpy - - def fitness_func(ga_instance, solution, sol_idx): - global data_inputs, data_outputs, torch_ga, model, loss_function - - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - - solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) - - return solution_fitness - - def callback_generation(ga_instance): - print("Generation = {generation}".format(generation=ga_instance.generations_completed)) - print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) - - # Build the PyTorch model. - input_layer = torch.nn.Conv2d(in_channels=3, out_channels=5, kernel_size=7) - relu_layer1 = torch.nn.ReLU() - max_pool1 = torch.nn.MaxPool2d(kernel_size=5, stride=5) - - conv_layer2 = torch.nn.Conv2d(in_channels=5, out_channels=3, kernel_size=3) - relu_layer2 = torch.nn.ReLU() - - flatten_layer1 = torch.nn.Flatten() - # The value 768 is pre-computed by tracing the sizes of the layers' outputs. - dense_layer1 = torch.nn.Linear(in_features=768, out_features=15) - relu_layer3 = torch.nn.ReLU() - - dense_layer2 = torch.nn.Linear(in_features=15, out_features=4) - output_layer = torch.nn.Softmax(1) - - model = torch.nn.Sequential(input_layer, - relu_layer1, - max_pool1, - conv_layer2, - relu_layer2, - flatten_layer1, - dense_layer1, - relu_layer3, - dense_layer2, - output_layer) - - # Create an instance of the pygad.torchga.TorchGA class to build the initial population. - torch_ga = torchga.TorchGA(model=model, - num_solutions=10) - - loss_function = torch.nn.CrossEntropyLoss() - - # Data inputs - data_inputs = torch.from_numpy(numpy.load("dataset_inputs.npy")).float() - data_inputs = data_inputs.reshape((data_inputs.shape[0], data_inputs.shape[3], data_inputs.shape[1], data_inputs.shape[2])) - - # Data outputs - data_outputs = torch.from_numpy(numpy.load("dataset_outputs.npy")).long() - - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class - num_generations = 200 # Number of generations. - num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. - initial_population = torch_ga.population_weights # Initial population of network weights. - - # Create an instance of the pygad.GA class - ga_instance = pygad.GA(num_generations=num_generations, - num_parents_mating=num_parents_mating, - initial_population=initial_population, - fitness_func=fitness_func, - on_generation=callback_generation) - - # Start the genetic algorithm evolution. - ga_instance.run() - - # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. - ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) - - # Returning the details of the best solution. - solution, solution_fitness, solution_idx = ga_instance.best_solution() - print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) - print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) - - # Make predictions based on the best solution. - predictions = pygad.torchga.predict(model=model, - solution=solution, - data=data_inputs) - # print("Predictions : \n", predictions) - - # Calculate the crossentropy for the trained model. - print("Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) - - # Calculate the classification accuracy for the trained model. - accuracy = torch.sum(torch.max(predictions, axis=1).indices == data_outputs) / len(data_outputs) - print("Accuracy : ", accuracy.detach().numpy()) - -Compared to the previous example, the only change is that the -architecture uses convolutional and max-pooling layers. The shape of -each input sample is 100x100x3. - -.. code:: python - - input_layer = torch.nn.Conv2d(in_channels=3, out_channels=5, kernel_size=7) - relu_layer1 = torch.nn.ReLU() - max_pool1 = torch.nn.MaxPool2d(kernel_size=5, stride=5) - - conv_layer2 = torch.nn.Conv2d(in_channels=5, out_channels=3, kernel_size=3) - relu_layer2 = torch.nn.ReLU() - - flatten_layer1 = torch.nn.Flatten() - # The value 768 is pre-computed by tracing the sizes of the layers' outputs. - dense_layer1 = torch.nn.Linear(in_features=768, out_features=15) - relu_layer3 = torch.nn.ReLU() - - dense_layer2 = torch.nn.Linear(in_features=15, out_features=4) - output_layer = torch.nn.Softmax(1) - - model = torch.nn.Sequential(input_layer, - relu_layer1, - max_pool1, - conv_layer2, - relu_layer2, - flatten_layer1, - dense_layer1, - relu_layer3, - dense_layer2, - output_layer) - -.. _prepare-the-training-data-3: - -Prepare the Training Data -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The data used in this example is available as 2 files: - -1. `dataset_inputs.npy `__: - Data inputs. - https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy - -2. `dataset_outputs.npy `__: - Class labels. - https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy - -The data consists of 4 classes of images. The image shape is -``(100, 100, 3)`` and there are 20 images per class for a total of 80 -training samples. For more information about the dataset, check the -`Reading the -Data `__ -section of the ``pygad.cnn`` module. - -Simply download these 2 files and read them according to the next code. - -.. code:: python - - import numpy - - data_inputs = numpy.load("dataset_inputs.npy") - - data_outputs = numpy.load("dataset_outputs.npy") - -The next figure shows how the fitness value changes. - -.. figure:: https://user-images.githubusercontent.com/16560492/103469887-c7c4c180-4d38-11eb-98a7-1c5e73e918d0.png - :alt: - -Here are some statistics about the trained model. The model accuracy is -97.5% after the 200 generations. Note that just running the code again -may give different results. - -.. code:: - - Fitness value of the best solution = 1.3009520689219258 - Index of the best solution : 0 - Crossentropy : 0.7686678 - Accuracy : 0.975 +.. _pygadtorchga-module: + +``pygad.torchga`` Module +======================== + +This section of the PyGAD's library documentation discusses the +**pygad.torchga** module. + +The ``pygad.torchga`` module has a helper class and 2 functions to train +PyTorch models using the genetic algorithm (PyGAD). + +The contents of this module are: + +1. ``TorchGA``: A class for creating an initial population of all + parameters in the PyTorch model. + +2. ``model_weights_as_vector()``: A function to reshape the PyTorch + model weights to a single vector. + +3. ``model_weights_as_dict()``: A function to restore the PyTorch model + weights from a vector. + +4. ``predict()``: A function to make predictions based on the PyTorch + model and a solution. + +More details are given in the next sections. + +Steps Summary +============= + +The summary of the steps used to train a PyTorch model using PyGAD is as +follows: + +1. Create a PyTorch model. + +2. Create an instance of the ``pygad.torchga.TorchGA`` class. + +3. Prepare the training data. + +4. Build the fitness function. + +5. Create an instance of the ``pygad.GA`` class. + +6. Run the genetic algorithm. + +Create PyTorch Model +==================== + +Before discussing training a PyTorch model using PyGAD, the first thing +to do is to create the PyTorch model. To get started, please check the +`PyTorch library +documentation `__. + +Here is an example of a PyTorch model. + +.. code:: python + + import torch + + input_layer = torch.nn.Linear(3, 5) + relu_layer = torch.nn.ReLU() + output_layer = torch.nn.Linear(5, 1) + + model = torch.nn.Sequential(input_layer, + relu_layer, + output_layer) + +Feel free to add the layers of your choice. + +.. _pygadtorchgatorchga-class: + +``pygad.torchga.TorchGA`` Class +=============================== + +The ``pygad.torchga`` module has a class named ``TorchGA`` for creating +an initial population for the genetic algorithm based on a PyTorch +model. The constructor, methods, and attributes within the class are +discussed in this section. + +.. _init: + +``__init__()`` +-------------- + +The ``pygad.torchga.TorchGA`` class constructor accepts the following +parameters: + +- ``model``: An instance of the PyTorch model. + +- ``num_solutions``: Number of solutions in the population. Each + solution has different parameters of the model. + +Instance Attributes +------------------- + +All parameters in the ``pygad.torchga.TorchGA`` class constructor are +used as instance attributes in addition to adding a new attribute called +``population_weights``. + +Here is a list of all instance attributes: + +- ``model`` + +- ``num_solutions`` + +- ``population_weights``: A nested list holding the weights of all + solutions in the population. + +Methods in the ``TorchGA`` Class +-------------------------------- + +This section discusses the methods available for instances of the +``pygad.torchga.TorchGA`` class. + +.. _createpopulation: + +``create_population()`` +~~~~~~~~~~~~~~~~~~~~~~~ + +The ``create_population()`` method creates the initial population of the +genetic algorithm as a list of solutions where each solution represents +different model parameters. The list of networks is assigned to the +``population_weights`` attribute of the instance. + +.. _functions-in-the-pygadtorchga-module: + +Functions in the ``pygad.torchga`` Module +========================================= + +This section discusses the functions in the ``pygad.torchga`` module. + +.. _pygadtorchgamodelweightsasvector: + +``pygad.torchga.model_weights_as_vector()`` +-------------------------------------------- + +The ``model_weights_as_vector()`` function accepts a single parameter +named ``model`` representing the PyTorch model. It returns a vector +holding all model weights. The reason for representing the model weights +as a vector is that the genetic algorithm expects all parameters of any +solution to be in a 1D vector form. + +The function accepts the following parameters: + +- ``model``: The PyTorch model. + +It returns a 1D vector holding the model weights. + +.. _pygadtorchmodelweightsasdict: + +``pygad.torch.model_weights_as_dict()`` +--------------------------------------- + +The ``model_weights_as_dict()`` function accepts the following +parameters: + +1. ``model``: The PyTorch model. + +2. ``weights_vector``: The model parameters as a vector. + +It returns the restored model weights in the same form used by the +``state_dict()`` method. The returned dictionary is ready to be passed +to the ``load_state_dict()`` method for setting the PyTorch model's +parameters. + +.. _pygadtorchgapredict: + +``pygad.torchga.predict()`` +--------------------------- + +The ``predict()`` function makes a prediction based on a solution. It +accepts the following parameters: + +1. ``model``: The PyTorch model. + +2. ``solution``: The solution evolved. + +3. ``data``: The test data inputs. + +It returns the predictions for the data samples. + +Examples +======== + +This section gives the complete code of some examples that build and +train a PyTorch model using PyGAD. Each subsection builds a different +network. + +Example 1: Regression Example +----------------------------- + +The next code builds a simple PyTorch model for regression. The next +subsections discuss each part in the code. + +.. code:: python + + import torch + import torchga + import pygad + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + abs_error = loss_function(predictions, data_outputs).detach().numpy() + 0.00000001 + + solution_fitness = 1.0 / abs_error + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Create the PyTorch model. + input_layer = torch.nn.Linear(3, 5) + relu_layer = torch.nn.ReLU() + output_layer = torch.nn.Linear(5, 1) + + model = torch.nn.Sequential(input_layer, + relu_layer, + output_layer) + # print(model) + + # Create an instance of the pygad.torchga.TorchGA class to build the initial population. + torch_ga = torchga.TorchGA(model=model, + num_solutions=10) + + loss_function = torch.nn.L1Loss() + + # Data inputs + data_inputs = torch.tensor([[0.02, 0.1, 0.15], + [0.7, 0.6, 0.8], + [1.5, 1.2, 1.7], + [3.2, 2.9, 3.1]]) + + # Data outputs + data_outputs = torch.tensor([[0.1], + [0.6], + [1.3], + [2.5]]) + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 250 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = torch_ga.population_weights # Initial population of network weights + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make predictions based on the best solution. + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + print("Predictions : \n", predictions.detach().numpy()) + + abs_error = loss_function(predictions, data_outputs) + print("Absolute Error : ", abs_error.detach().numpy()) + +Create a PyTorch model +~~~~~~~~~~~~~~~~~~~~~~ + +According to the steps mentioned previously, the first step is to create +a PyTorch model. Here is the code that builds the model using the +Functional API. + +.. code:: python + + import torch + + input_layer = torch.nn.Linear(3, 5) + relu_layer = torch.nn.ReLU() + output_layer = torch.nn.Linear(5, 1) + + model = torch.nn.Sequential(input_layer, + relu_layer, + output_layer) + +.. _create-an-instance-of-the-pygadtorchgatorchga-class: + +Create an Instance of the ``pygad.torchga.TorchGA`` Class +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The second step is to create an instance of the +``pygad.torchga.TorchGA`` class. There are 10 solutions per population. +Change this number according to your needs. + +.. code:: python + + import pygad.torchga + + torch_ga = torchga.TorchGA(model=model, + num_solutions=10) + +.. _prepare-the-training-data-1: + +Prepare the Training Data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The third step is to prepare the training data inputs and outputs. Here +is an example where there are 4 samples. Each sample has 3 inputs and 1 +output. + +.. code:: python + + import numpy + + # Data inputs + data_inputs = numpy.array([[0.02, 0.1, 0.15], + [0.7, 0.6, 0.8], + [1.5, 1.2, 1.7], + [3.2, 2.9, 3.1]]) + + # Data outputs + data_outputs = numpy.array([[0.1], + [0.6], + [1.3], + [2.5]]) + +Build the Fitness Function +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The fourth step is to build the fitness function. This function must +accept 2 parameters representing the solution and its index within the +population. + +The next fitness function calculates the mean absolute error (MAE) of +the PyTorch model based on the parameters in the solution. The +reciprocal of the MAE is used as the fitness value. Feel free to use any +other loss function to calculate the fitness value. + +.. code:: python + + loss_function = torch.nn.L1Loss() + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + abs_error = loss_function(predictions, data_outputs).detach().numpy() + 0.00000001 + + solution_fitness = 1.0 / abs_error + + return solution_fitness + +.. _create-an-instance-of-the-pygadga-class: + +Create an Instance of the ``pygad.GA`` Class +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The fifth step is to instantiate the ``pygad.GA`` class. Note how the +``initial_population`` parameter is assigned to the initial weights of +the PyTorch models. + +For more information, please check the `parameters this class +accepts `__. + +.. code:: python + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 250 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = torch_ga.population_weights # Initial population of network weights + + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + +Run the Genetic Algorithm +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sixth and last step is to run the genetic algorithm by calling the +``run()`` method. + +.. code:: python + + ga_instance.run() + +After the PyGAD completes its execution, then there is a figure that +shows how the fitness value changes by generation. Call the +``plot_fitness()`` method to show the figure. + +.. code:: python + + ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + +Here is the figure. + +.. figure:: https://user-images.githubusercontent.com/16560492/103469779-22f5b480-4d37-11eb-80dc-95503065ebb1.png + :alt: + +To get information about the best solution found by PyGAD, use the +``best_solution()`` method. + +.. code:: python + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +.. code:: python + + Fitness value of the best solution = 145.42425295191546 + Index of the best solution : 0 + +The next code restores the trained model weights using the +``model_weights_as_dict()`` function. The restored weights are used to +calculate the predicted values. + +.. code:: python + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + print("Predictions : \n", predictions.detach().numpy()) + +.. code:: python + + Predictions : + [[0.08401088] + [0.60939324] + [1.3010881 ] + [2.5010352 ]] + +The next code measures the trained model error. + +.. code:: python + + abs_error = loss_function(predictions, data_outputs) + print("Absolute Error : ", abs_error.detach().numpy()) + +.. code:: + + Absolute Error : 0.006876422 + +Example 2: XOR Binary Classification +------------------------------------ + +The next code creates a PyTorch model to build the XOR binary +classification problem. Let's highlight the changes compared to the +previous example. + +.. code:: python + + import torch + import torchga + import pygad + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Create the PyTorch model. + input_layer = torch.nn.Linear(2, 4) + relu_layer = torch.nn.ReLU() + dense_layer = torch.nn.Linear(4, 2) + output_layer = torch.nn.Softmax(1) + + model = torch.nn.Sequential(input_layer, + relu_layer, + dense_layer, + output_layer) + # print(model) + + # Create an instance of the pygad.torchga.TorchGA class to build the initial population. + torch_ga = torchga.TorchGA(model=model, + num_solutions=10) + + loss_function = torch.nn.BCELoss() + + # XOR problem inputs + data_inputs = torch.tensor([[0.0, 0.0], + [0.0, 1.0], + [1.0, 0.0], + [1.0, 1.0]]) + + # XOR problem outputs + data_outputs = torch.tensor([[1.0, 0.0], + [0.0, 1.0], + [0.0, 1.0], + [1.0, 0.0]]) + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 250 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = torch_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make predictions based on the best solution. + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + print("Predictions : \n", predictions.detach().numpy()) + + # Calculate the binary crossentropy for the trained model. + print("Binary Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) + + # Calculate the classification accuracy of the trained model. + a = torch.max(predictions, axis=1) + b = torch.max(data_outputs, axis=1) + accuracy = torch.sum(a.indices == b.indices) / len(data_outputs) + print("Accuracy : ", accuracy.detach().numpy()) + +Compared to the previous regression example, here are the changes: + +- The PyTorch model is changed according to the nature of the problem. + Now, it has 2 inputs and 2 outputs with an in-between hidden layer of + 4 neurons. + +.. code:: python + + input_layer = torch.nn.Linear(2, 4) + relu_layer = torch.nn.ReLU() + dense_layer = torch.nn.Linear(4, 2) + output_layer = torch.nn.Softmax(1) + + model = torch.nn.Sequential(input_layer, + relu_layer, + dense_layer, + output_layer) + +- The train data is changed. Note that the output of each sample is a + 1D vector of 2 values, 1 for each class. + +.. code:: python + + # XOR problem inputs + data_inputs = torch.tensor([[0.0, 0.0], + [0.0, 1.0], + [1.0, 0.0], + [1.0, 1.0]]) + + # XOR problem outputs + data_outputs = torch.tensor([[1.0, 0.0], + [0.0, 1.0], + [0.0, 1.0], + [1.0, 0.0]]) + +- The fitness value is calculated based on the binary cross entropy. + +.. code:: python + + loss_function = torch.nn.BCELoss() + +After the previous code completes, the next figure shows how the fitness +value change by generation. + +.. figure:: https://user-images.githubusercontent.com/16560492/103469818-c646c980-4d37-11eb-98c3-d9d591acd5e2.png + :alt: + +Here is some information about the trained model. Its fitness value is +``100000000.0``, loss is ``0.0`` and accuracy is 100%. + +.. code:: python + + Fitness value of the best solution = 100000000.0 + + Index of the best solution : 0 + + Predictions : + [[1.0000000e+00 1.3627675e-10] + [3.8521746e-09 1.0000000e+00] + [4.2789325e-10 1.0000000e+00] + [1.0000000e+00 3.3668417e-09]] + + Binary Crossentropy : 0.0 + + Accuracy : 1.0 + +Example 3: Image Multi-Class Classification (Dense Layers) +---------------------------------------------------------- + +Here is the code. + +.. code:: python + + import torch + import torchga + import pygad + import numpy + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Build the PyTorch model using the functional API. + input_layer = torch.nn.Linear(360, 50) + relu_layer = torch.nn.ReLU() + dense_layer = torch.nn.Linear(50, 4) + output_layer = torch.nn.Softmax(1) + + model = torch.nn.Sequential(input_layer, + relu_layer, + dense_layer, + output_layer) + + # Create an instance of the pygad.torchga.TorchGA class to build the initial population. + torch_ga = torchga.TorchGA(model=model, + num_solutions=10) + + loss_function = torch.nn.CrossEntropyLoss() + + # Data inputs + data_inputs = torch.from_numpy(numpy.load("dataset_features.npy")).float() + + # Data outputs + data_outputs = torch.from_numpy(numpy.load("outputs.npy")).long() + # The next 2 lines are equivelant to this Keras function to perform 1-hot encoding: tensorflow.keras.utils.to_categorical(data_outputs) + # temp_outs = numpy.zeros((data_outputs.shape[0], numpy.unique(data_outputs).size), dtype=numpy.uint8) + # temp_outs[numpy.arange(data_outputs.shape[0]), numpy.uint8(data_outputs)] = 1 + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 200 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = torch_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Fetch the parameters of the best solution. + best_solution_weights = torchga.model_weights_as_dict(model=model, + weights_vector=solution) + model.load_state_dict(best_solution_weights) + predictions = model(data_inputs) + # print("Predictions : \n", predictions) + + # Calculate the crossentropy loss of the trained model. + print("Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) + + # Calculate the classification accuracy for the trained model. + accuracy = torch.sum(torch.max(predictions, axis=1).indices == data_outputs) / len(data_outputs) + print("Accuracy : ", accuracy.detach().numpy()) + +Compared to the previous binary classification example, this example has +multiple classes (4) and thus the loss is measured using cross entropy. + +.. code:: python + + loss_function = torch.nn.CrossEntropyLoss() + +.. _prepare-the-training-data-2: + +Prepare the Training Data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before building and training neural networks, the training data (input +and output) needs to be prepared. The inputs and the outputs of the +training data are NumPy arrays. + +The data used in this example is available as 2 files: + +1. `dataset_features.npy `__: + Data inputs. + https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + +2. `outputs.npy `__: + Class labels. + https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + +The data consists of 4 classes of images. The image shape is +``(100, 100, 3)``. The number of training samples is 1962. The feature +vector extracted from each image has a length 360. + +.. code:: python + + import numpy + + data_inputs = numpy.load("dataset_features.npy") + + data_outputs = numpy.load("outputs.npy") + +The next figure shows how the fitness value changes. + +.. figure:: https://user-images.githubusercontent.com/16560492/103469855-5d138600-4d38-11eb-84b1-b5eff8faa7bc.png + :alt: + +Here are some statistics about the trained model. + +.. code:: + + Fitness value of the best solution = 1.3446997034434534 + Index of the best solution : 0 + Crossentropy : 0.74366045 + Accuracy : 1.0 + +Example 4: Image Multi-Class Classification (Conv Layers) +--------------------------------------------------------- + +Compared to the previous example that uses only dense layers, this +example uses convolutional layers to classify the same dataset. + +Here is the complete code. + +.. code:: python + + import torch + import torchga + import pygad + import numpy + + def fitness_func(ga_instance, solution, sol_idx): + global data_inputs, data_outputs, torch_ga, model, loss_function + + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + + solution_fitness = 1.0 / (loss_function(predictions, data_outputs).detach().numpy() + 0.00000001) + + return solution_fitness + + def callback_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) + + # Build the PyTorch model. + input_layer = torch.nn.Conv2d(in_channels=3, out_channels=5, kernel_size=7) + relu_layer1 = torch.nn.ReLU() + max_pool1 = torch.nn.MaxPool2d(kernel_size=5, stride=5) + + conv_layer2 = torch.nn.Conv2d(in_channels=5, out_channels=3, kernel_size=3) + relu_layer2 = torch.nn.ReLU() + + flatten_layer1 = torch.nn.Flatten() + # The value 768 is pre-computed by tracing the sizes of the layers' outputs. + dense_layer1 = torch.nn.Linear(in_features=768, out_features=15) + relu_layer3 = torch.nn.ReLU() + + dense_layer2 = torch.nn.Linear(in_features=15, out_features=4) + output_layer = torch.nn.Softmax(1) + + model = torch.nn.Sequential(input_layer, + relu_layer1, + max_pool1, + conv_layer2, + relu_layer2, + flatten_layer1, + dense_layer1, + relu_layer3, + dense_layer2, + output_layer) + + # Create an instance of the pygad.torchga.TorchGA class to build the initial population. + torch_ga = torchga.TorchGA(model=model, + num_solutions=10) + + loss_function = torch.nn.CrossEntropyLoss() + + # Data inputs + data_inputs = torch.from_numpy(numpy.load("dataset_inputs.npy")).float() + data_inputs = data_inputs.reshape((data_inputs.shape[0], data_inputs.shape[3], data_inputs.shape[1], data_inputs.shape[2])) + + # Data outputs + data_outputs = torch.from_numpy(numpy.load("dataset_outputs.npy")).long() + + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + num_generations = 200 # Number of generations. + num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. + initial_population = torch_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=callback_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & PyTorch - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution() + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + # Make predictions based on the best solution. + predictions = pygad.torchga.predict(model=model, + solution=solution, + data=data_inputs) + # print("Predictions : \n", predictions) + + # Calculate the crossentropy for the trained model. + print("Crossentropy : ", loss_function(predictions, data_outputs).detach().numpy()) + + # Calculate the classification accuracy for the trained model. + accuracy = torch.sum(torch.max(predictions, axis=1).indices == data_outputs) / len(data_outputs) + print("Accuracy : ", accuracy.detach().numpy()) + +Compared to the previous example, the only change is that the +architecture uses convolutional and max-pooling layers. The shape of +each input sample is 100x100x3. + +.. code:: python + + input_layer = torch.nn.Conv2d(in_channels=3, out_channels=5, kernel_size=7) + relu_layer1 = torch.nn.ReLU() + max_pool1 = torch.nn.MaxPool2d(kernel_size=5, stride=5) + + conv_layer2 = torch.nn.Conv2d(in_channels=5, out_channels=3, kernel_size=3) + relu_layer2 = torch.nn.ReLU() + + flatten_layer1 = torch.nn.Flatten() + # The value 768 is pre-computed by tracing the sizes of the layers' outputs. + dense_layer1 = torch.nn.Linear(in_features=768, out_features=15) + relu_layer3 = torch.nn.ReLU() + + dense_layer2 = torch.nn.Linear(in_features=15, out_features=4) + output_layer = torch.nn.Softmax(1) + + model = torch.nn.Sequential(input_layer, + relu_layer1, + max_pool1, + conv_layer2, + relu_layer2, + flatten_layer1, + dense_layer1, + relu_layer3, + dense_layer2, + output_layer) + +.. _prepare-the-training-data-3: + +Prepare the Training Data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The data used in this example is available as 2 files: + +1. `dataset_inputs.npy `__: + Data inputs. + https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_inputs.npy + +2. `dataset_outputs.npy `__: + Class labels. + https://github.com/ahmedfgad/NumPyCNN/blob/master/dataset_outputs.npy + +The data consists of 4 classes of images. The image shape is +``(100, 100, 3)`` and there are 20 images per class for a total of 80 +training samples. For more information about the dataset, check the +`Reading the +Data `__ +section of the ``pygad.cnn`` module. + +Simply download these 2 files and read them according to the next code. + +.. code:: python + + import numpy + + data_inputs = numpy.load("dataset_inputs.npy") + + data_outputs = numpy.load("dataset_outputs.npy") + +The next figure shows how the fitness value changes. + +.. figure:: https://user-images.githubusercontent.com/16560492/103469887-c7c4c180-4d38-11eb-98a7-1c5e73e918d0.png + :alt: + +Here are some statistics about the trained model. The model accuracy is +97.5% after the 200 generations. Note that just running the code again +may give different results. + +.. code:: + + Fitness value of the best solution = 1.3009520689219258 + Index of the best solution : 0 + Crossentropy : 0.7686678 + Accuracy : 0.975 diff --git a/examples/KerasGA/XOR_classification.py b/examples/KerasGA/XOR_classification.py index da3c752..3b0a1e1 100644 --- a/examples/KerasGA/XOR_classification.py +++ b/examples/KerasGA/XOR_classification.py @@ -15,7 +15,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -52,7 +52,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) # Start the genetic algorithm evolution. ga_instance.run() diff --git a/examples/KerasGA/image_classification_CNN.py b/examples/KerasGA/image_classification_CNN.py index a20ab03..9fb4563 100644 --- a/examples/KerasGA/image_classification_CNN.py +++ b/examples/KerasGA/image_classification_CNN.py @@ -15,7 +15,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -56,7 +56,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) # Start the genetic algorithm evolution. ga_instance.run() diff --git a/examples/KerasGA/image_classification_Dense.py b/examples/KerasGA/image_classification_Dense.py index aee14f5..002e36c 100644 --- a/examples/KerasGA/image_classification_Dense.py +++ b/examples/KerasGA/image_classification_Dense.py @@ -15,7 +15,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -47,7 +47,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) # Start the genetic algorithm evolution. ga_instance.run() diff --git a/examples/KerasGA/regression_example.py b/examples/KerasGA/regression_example.py index 36b78fb..2deec1f 100644 --- a/examples/KerasGA/regression_example.py +++ b/examples/KerasGA/regression_example.py @@ -16,7 +16,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -52,7 +52,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) ga_instance.run() diff --git a/examples/TorchGA/XOR_classification.py b/examples/TorchGA/XOR_classification.py index 6cedb9c..f7a2f44 100644 --- a/examples/TorchGA/XOR_classification.py +++ b/examples/TorchGA/XOR_classification.py @@ -13,7 +13,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -58,7 +58,7 @@ def callback_generation(ga_instance): initial_population=initial_population, fitness_func=fitness_func, parallel_processing=3, - on_generation=callback_generation) + on_generation=on_generation) # Start the genetic algorithm evolution. ga_instance.run() diff --git a/examples/TorchGA/image_classification_CNN.py b/examples/TorchGA/image_classification_CNN.py index be26e00..baf1f1b 100644 --- a/examples/TorchGA/image_classification_CNN.py +++ b/examples/TorchGA/image_classification_CNN.py @@ -14,7 +14,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -68,7 +68,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) # Start the genetic algorithm evolution. ga_instance.run() diff --git a/examples/TorchGA/image_classification_Dense.py b/examples/TorchGA/image_classification_Dense.py index cedb169..91bb4c1 100644 --- a/examples/TorchGA/image_classification_Dense.py +++ b/examples/TorchGA/image_classification_Dense.py @@ -14,7 +14,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -54,7 +54,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) # Start the genetic algorithm evolution. ga_instance.run() diff --git a/examples/TorchGA/regression_example.py b/examples/TorchGA/regression_example.py index 4735e85..5bf2fc1 100644 --- a/examples/TorchGA/regression_example.py +++ b/examples/TorchGA/regression_example.py @@ -14,7 +14,7 @@ def fitness_func(ga_instanse, solution, sol_idx): return solution_fitness -def callback_generation(ga_instance): +def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -55,7 +55,7 @@ def callback_generation(ga_instance): num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) ga_instance.run() From 9c70c94c7985613e53936e82b6a22b37c5cbecb7 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 19 Jun 2023 16:45:32 -0400 Subject: [PATCH 070/220] Change copyright --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index eca9313..7fd05aa 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,7 +18,7 @@ # -- Project information ----------------------------------------------------- project = 'PyGAD' -copyright = '2020, Ahmed Fawzy Gad' +copyright = '2023, Ahmed Fawzy Gad' author = 'Ahmed Fawzy Gad' # The full version, including alpha/beta/rc tags From a05e52ef57706b4eb6326c98e9716e13391f7882 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Mon, 19 Jun 2023 17:05:26 -0400 Subject: [PATCH 071/220] Rename docs --- README.md | 6 +- docs/source/index.rst | 16 +- docs/source/kerasga.rst | 171 ++++++++++++--- docs/source/pygad.rst | 463 ++++++++++++++++++++++++++------------- docs/source/releases.rst | 38 ++-- docs/source/torchga.rst | 42 ++-- 6 files changed, 505 insertions(+), 231 deletions(-) diff --git a/README.md b/README.md index ef5a7ae..faf8f30 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The library is under active development and more features are added regularly. I # Installation -To install [PyGAD](https://pypi.org/project/pygad), simply use pip to download and install the library from [PyPI](https://pypi.org/project/pygad) (Python Package Index). The library lives a PyPI at this page https://pypi.org/project/pygad. +To install [PyGAD](https://pypi.org/project/pygad), simply use pip to download and install the library from [PyPI](https://pypi.org/project/pygad) (Python Package Index). The library is at PyPI at this page https://pypi.org/project/pygad. Install PyGAD with the following command: @@ -29,7 +29,7 @@ Install PyGAD with the following command: pip install pygad ``` -To get started with PyGAD, please read the documentation at [Read The Docs](https://pygad.readthedocs.io) https://pygad.readthedocs.io. +To get started with PyGAD, please read the documentation at [Read The Docs](https://pygad.readthedocs.io/) https://pygad.readthedocs.io. # PyGAD Source Code @@ -146,7 +146,7 @@ on_stop() # Example -Check the [PyGAD's documentation](https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html) for information about the implementation of this example. +Check the [PyGAD's documentation](https://pygad.readthedocs.io/en/latest/pygad.html) for information about the implementation of this example. ```python import pygad diff --git a/docs/source/index.rst b/docs/source/index.rst index 3bd6ad6..b346229 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -247,7 +247,7 @@ pygad Module :maxdepth: 4 :caption: pygad Module TOC - pygad.rst + README_pygad_ReadTheDocs.rst @@ -262,7 +262,7 @@ pygad.nn Module :maxdepth: 4 :caption: pygad.nn Module TOC - nn.rst + README_pygad_nn_ReadTheDocs.rst @@ -278,7 +278,7 @@ pygad.gann Module :maxdepth: 4 :caption: pygad.gann Module TOC - gann.rst + README_pygad_gann_ReadTheDocs.rst @@ -298,7 +298,7 @@ pygad.cnn Module :maxdepth: 4 :caption: pygad.cnn Module TOC - cnn.rst + README_pygad_cnn_ReadTheDocs.rst @@ -318,7 +318,7 @@ pygad.gacnn Module :maxdepth: 4 :caption: pygad.gacnn Module TOC - gacnn.rst + README_pygad_gacnn_ReadTheDocs.rst @@ -333,7 +333,7 @@ pygad.kerasga Module :maxdepth: 4 :caption: pygad.kerasga Module TOC - kerasga.rst + README_pygad_kerasga_ReadTheDocs.rst @@ -348,7 +348,7 @@ pygad.torchga Module :maxdepth: 4 :caption: pygad.torchga Module TOC - torchga.rst + README_pygad_torchga_ReadTheDocs.rst @@ -363,7 +363,7 @@ More Information :maxdepth: 4 :caption: More Information - releases.rst + Footer.rst diff --git a/docs/source/kerasga.rst b/docs/source/kerasga.rst index a602468..e1c8316 100644 --- a/docs/source/kerasga.rst +++ b/docs/source/kerasga.rst @@ -4,7 +4,7 @@ ======================== This section of the PyGAD's library documentation discusses the -`pygad.kerasga `__ +`pygad.kerasga `__ module. The ``pygad.kerarsga`` module has helper a class and 2 functions to @@ -206,7 +206,19 @@ accepts the following parameters: 3. ``data``: The test data inputs. -It returns the predictions for the data samples. +4. ``batch_size=None``: The batch size (i.e. number of samples per step + or batch). + +5. ``verbose=None``: Verbosity mode. + +6. ``steps=None``: The total number of steps (batches of samples). + +Check documentation of the `Keras +Model.predict() `__ +method for more information about the ``batch_size``, ``verbose``, and +``steps`` parameters. + +It returns the predictions of the data samples. Examples ======== @@ -241,7 +253,7 @@ subsections discuss each part in the code. return solution_fitness - def callback_generation(ga_instance): + def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -266,7 +278,7 @@ subsections discuss each part in the code. [1.3], [2.5]]) - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = keras_ga.population_weights # Initial population of network weights @@ -275,7 +287,7 @@ subsections discuss each part in the code. num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) ga_instance.run() @@ -343,8 +355,6 @@ Change this number according to your needs. keras_ga = pygad.kerasga.KerasGA(model=model, num_solutions=10) -.. _prepare-the-training-data-1: - Prepare the Training Data ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -406,11 +416,11 @@ The fifth step is to instantiate the ``pygad.GA`` class. Note how the the Keras models. For more information, please check the `parameters this class -accepts `__. +accepts `__. .. code:: python - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = keras_ga.population_weights # Initial population of network weights @@ -419,7 +429,7 @@ accepts `__ +Data `__ section of the ``pygad.cnn`` module. Simply download these 2 files and read them according to the next code. @@ -938,14 +948,14 @@ Note that the class labels are one-hot encoded using the import numpy - data_inputs = numpy.load("dataset_inputs.npy") + data_inputs = numpy.load("../data/dataset_inputs.npy") - data_outputs = numpy.load("dataset_outputs.npy") + data_outputs = numpy.load("../data/dataset_outputs.npy") data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) The next figure shows how the fitness value changes. -.. figure:: https://user-images.githubusercontent.com/16560492/93722654-cc55d780-fb98-11ea-8f95-7b65dc67f5c8.png +.. image:: https://user-images.githubusercontent.com/16560492/93722654-cc55d780-fb98-11ea-8f95-7b65dc67f5c8.png :alt: Here are some statistics about the trained model. The model accuracy is @@ -969,3 +979,100 @@ To improve the model performance, you can do the following: - Use different parameters for the genetic algorithm (e.g. number of solution, number of generations, etc) + +Example 5: Image Classification using Data Generator +---------------------------------------------------- + +This example uses the image data generator +``tensorflow.keras.preprocessing.image.ImageDataGenerator`` to feed data +to the model. Instead of reading all the data in the memory, the data +generator generates the data needed by the model and only save it in the +memory instead of saving all the data. This frees the memory but adds +more computational time. + +.. code:: python + + import tensorflow as tf + import tensorflow.keras + import pygad.kerasga + import pygad + + def fitness_func(ga_instanse, solution, sol_idx): + global train_generator, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_generator) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + + def on_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(ga_instance.last_generation_fitness)[1])) + + # The dataset path. + dataset_path = r'../data/Skin_Cancer_Dataset' + + num_classes = 2 + img_size = 224 + + # Create a simple CNN. This does not gurantee high classification accuracy. + model = tf.keras.models.Sequential() + model.add(tf.keras.layers.Input(shape=(img_size, img_size, 3))) + model.add(tf.keras.layers.Conv2D(32, (3,3), activation="relu", padding="same")) + model.add(tf.keras.layers.MaxPooling2D((2, 2))) + model.add(tf.keras.layers.Flatten()) + model.add(tf.keras.layers.Dropout(rate=0.2)) + model.add(tf.keras.layers.Dense(num_classes, activation="softmax")) + + # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + + data_generator = tf.keras.preprocessing.image.ImageDataGenerator() + train_generator = data_generator.flow_from_directory(dataset_path, + class_mode='categorical', + target_size=(224, 224), + batch_size=32, + shuffle=False) + # train_generator.class_indices + data_outputs = tf.keras.utils.to_categorical(train_generator.labels) + + # Check the documentation for more information about the parameters: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class + initial_population = keras_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=10, + num_parents_mating=5, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=on_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution(ga_instance.last_generation_fitness) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_generator) + # print("Predictions : \n", predictions) + + # Calculate the categorical crossentropy for the trained model. + cce = tensorflow.keras.losses.CategoricalCrossentropy() + print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + + # Calculate the classification accuracy for the trained model. + ca = tensorflow.keras.metrics.CategoricalAccuracy() + ca.update_state(data_outputs, predictions) + accuracy = ca.result().numpy() + print("Accuracy : ", accuracy) diff --git a/docs/source/pygad.rst b/docs/source/pygad.rst index 4e09154..73d1ef6 100644 --- a/docs/source/pygad.rst +++ b/docs/source/pygad.rst @@ -39,7 +39,7 @@ The ``pygad.GA`` class constructor supports the following parameters: solution, and 3. its index in the population). If method, then it accepts a fourth parameter representing the method's class instance. Check the `Preparing the fitness_func - Parameter `__ + Parameter `__ section for information about creating such a function. - ``fitness_batch_size=None``: A new optional parameter called @@ -51,7 +51,7 @@ The ``pygad.GA`` class constructor supports the following parameters: ``1 < fitness_batch_size <= sol_per_pop``, then the solutions are grouped into batches of size ``fitness_batch_size`` and the fitness function is called once for each batch. Check the `Batch Fitness - Calculation `__ + Calculation `__ section for more details and examples. Added in from `PyGAD 2.19.0 `__. @@ -114,7 +114,7 @@ The ``pygad.GA`` class constructor supports the following parameters: function can be passed starting from `PyGAD 2.16.0 `__. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details about building a user-defined parent selection function. @@ -158,7 +158,7 @@ The ``pygad.GA`` class constructor supports the following parameters: function can be passed starting from `PyGAD 2.16.0 `__. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details about creating a user-defined crossover function. Starting from `PyGAD 2.2.2 `__ @@ -184,7 +184,7 @@ The ``pygad.GA`` class constructor supports the following parameters: starting from `PyGAD 2.16.0 `__. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details about creating a user-defined mutation function. Starting from `PyGAD 2.2.2 `__ @@ -195,10 +195,10 @@ The ``pygad.GA`` class constructor supports the following parameters: mutation is supported starting from `PyGAD 2.10.0 `__. For more information about adaptive mutation, go the the `Adaptive - Mutation `__ + Mutation `__ section. For example about using adaptive mutation, check the `Use Adaptive Mutation in - PyGAD `__ + PyGAD `__ section. - ``mutation_probability=None``: The probability of selecting a gene @@ -263,7 +263,7 @@ The ``pygad.GA`` class constructor supports the following parameters: - ``gene_space=None``: It is used to specify the possible values for each gene in case the user wants to restrict the gene values. It is useful if the gene space is restricted to a certain range or to - discrete values. It accepts a ``list``, ``tuple``, ``range``, or + discrete values. It accepts a ``list``, ``range``, or ``numpy.ndarray``. When all genes have the same global space, specify their values as a ``list``/``tuple``/``range``/``numpy.ndarray``. For example, ``gene_space = [0.3, 5.2, -4, 8]`` restricts the gene values @@ -399,7 +399,7 @@ The ``pygad.GA`` class constructor supports the following parameters: 5 threads which is equivalent to ``parallel_processing=["thread", 5]``. For more information, check the `Parallel Processing in - PyGAD `__ + PyGAD `__ section. - ``random_seed=None``: Added in `PyGAD @@ -417,7 +417,7 @@ The ``pygad.GA`` class constructor supports the following parameters: Added in `PyGAD 3.0.0 `__. Check the `Logging - Outputs `__ + Outputs `__ for more information. The user doesn't have to specify all of such parameters while creating @@ -553,7 +553,14 @@ Other Attributes module. Supported in `PyGAD 3.0.0 `__. -Note that the attributes with its name start with ``last_generation_`` +- ``gene_space_unpacked``: This is the unpacked version of the + ``gene_space`` parameter. For example, ``range(1, 5)`` is unpacked to + ``[1, 2, 3, 4]``. For an infinite range like + ``{'low': 2, 'high': 4}``, then it is unpacked to a limited number of + values (e.g. 100). Supported in `PyGAD + 3.1.0 `__. + +Note that the attributes with names starting with ``last_generation_`` are updated after each generation. Other Methods @@ -601,7 +608,7 @@ Other Methods `PyGAD 2.19.0 `__. Check the `Print Lifecycle - Summary `__ + Summary `__ section for more details and examples. The next sections discuss the methods available in the ``pygad.GA`` @@ -1286,7 +1293,7 @@ generations. ga_instance.plot_fitness() -.. figure:: https://user-images.githubusercontent.com/16560492/78830005-93111d00-79e7-11ea-9d8e-a8d8325a6101.png +.. image:: https://user-images.githubusercontent.com/16560492/78830005-93111d00-79e7-11ea-9d8e-a8d8325a6101.png :alt: Information about the Best Solution @@ -1411,7 +1418,7 @@ instance of the ``pygad.GA`` class. Note that PyGAD stops when either all generations are completed or when the function passed to the ``on_generation`` parameter returns the string ``stop``. -.. figure:: https://user-images.githubusercontent.com/16560492/220486073-c5b6089d-81e4-44d9-a53c-385f479a7273.jpg +.. image:: https://user-images.githubusercontent.com/16560492/220486073-c5b6089d-81e4-44d9-a53c-385f479a7273.jpg :alt: The next code implements all the callback functions to trace the @@ -1551,7 +1558,7 @@ In PyGAD, if ``f=f_avg``, then the solution is regarded of high quality. The next figure summarizes the previous steps. -.. figure:: https://user-images.githubusercontent.com/16560492/103468973-e3c26600-4d2c-11eb-8af3-b3bb39b50540.jpg +.. image:: https://user-images.githubusercontent.com/16560492/103468973-e3c26600-4d2c-11eb-8af3-b3bb39b50540.jpg :alt: This strategy is applied in PyGAD. @@ -1571,7 +1578,7 @@ the following 2 simple steps: ``mutation_probability``, ``mutation_num_genes``, and ``mutation_percent_genes``. Please check the `documentation of each of these - parameters `__ + parameters `__ for more information. When adaptive mutation is used, then the value assigned to any of the 3 @@ -1658,8 +1665,10 @@ Here is an example that uses adaptive mutation. ga_instance.plot_fitness(title="PyGAD with Adaptive Mutation", linewidth=5) -Limit the Gene Value Range -========================== +.. _limit-the-gene-value-range-using-the-genespace-parameter: + +Limit the Gene Value Range using the ``gene_space`` Parameter +============================================================= In `PyGAD 2.11.0 `__, @@ -1735,6 +1744,157 @@ take any floating-point value from the range that starts from 1 gene_space = [{'low': 1, 'high': 5}, {'low': 0.3, 'high': 1.4}, {'low': -0.2, 'high': 4.5}] +.. _more-about-the-genespace-parameter: + +More about the ``gene_space`` Parameter +======================================= + +The ``gene_space`` parameter customizes the space of values of each +gene. + +Assuming that all genes have the same global space which include the +values 0.3, 5.2, -4, and 8, then those values can be assigned to the +``gene_space`` parameter as a list, tuple, or range. Here is a list +assigned to this parameter. By doing that, then the gene values are +restricted to those assigned to the ``gene_space`` parameter. + +.. code:: python + + gene_space = [0.3, 5.2, -4, 8] + +If some genes have different spaces, then ``gene_space`` should accept a +nested list or tuple. In this case, the elements could be: + +1. Number (of ``int``, ``float``, or ``NumPy`` data types): A single + value to be assigned to the gene. This means this gene will have the + same value across all generations. + +2. ``list``, ``tuple``, ``numpy.ndarray``, or any range like ``range``, + ``numpy.arange()``, or ``numpy.linspace``: It holds the space for + each individual gene. But this space is usually discrete. That is + there is a set of finite values to select from. + +3. ``dict``: To sample a value for a gene from a continuous range. The + dictionary must have 2 mandatory keys which are ``"low"`` and + ``"high"`` in addition to an optional key which is ``"step"``. A + random value is returned between the values assigned to the items + with ``"low"`` and ``"high"`` keys. If the ``"step"`` exists, then + this works as the previous options (i.e. discrete set of values). + +4. ``None``: A gene with its space set to ``None`` is initialized + randomly from the range specified by the 2 parameters + ``init_range_low`` and ``init_range_high``. For mutation, its value + is mutated based on a random value from the range specified by the 2 + parameters ``random_mutation_min_val`` and + ``random_mutation_max_val``. If all elements in the ``gene_space`` + parameter are ``None``, the parameter will not have any effect. + +Assuming that a chromosome has 2 genes and each gene has a different +value space. Then the ``gene_space`` could be assigned a nested +list/tuple where each element determines the space of a gene. + +According to the next code, the space of the first gene is ``[0.4, -5]`` +which has 2 values and the space for the second gene is +``[0.5, -3.2, 8.8, -9]`` which has 4 values. + +.. code:: python + + gene_space = [[0.4, -5], [0.5, -3.2, 8.2, -9]] + +For a 2 gene chromosome, if the first gene space is restricted to the +discrete values from 0 to 4 and the second gene is restricted to the +values from 10 to 19, then it could be specified according to the next +code. + +.. code:: python + + gene_space = [range(5), range(10, 20)] + +The ``gene_space`` can also be assigned to a single range, as given +below, where the values of all genes are sampled from the same range. + +.. code:: python + + gene_space = numpy.arange(15) + +The ``gene_space`` can be assigned a dictionary to sample a value from a +continuous range. + +.. code:: python + + gene_space = {"low": 4, "high": 30} + +A step also can be assigned to the dictionary. This works as if a range +is used. + +.. code:: python + + gene_space = {"low": 4, "high": 30, "step": 2.5} + +.. + + Setting a ``dict`` like ``{"low": 0, "high": 10}`` in the + ``gene_space`` means that random values from the continuous range [0, + 10) are sampled. Note that ``0`` is included but ``10`` is not + included while sampling. Thus, the maximum value that could be + returned is less than ``10`` like ``9.9999``. But if the user decided + to round the genes using, for example, ``[float, 2]``, then this + value will become 10. So, the user should be careful to the inputs. + +If a ``None`` is assigned to only a single gene, then its value will be +randomly generated initially using the ``init_range_low`` and +``init_range_high`` parameters in the ``pygad.GA`` class's constructor. +During mutation, the value are sampled from the range defined by the 2 +parameters ``random_mutation_min_val`` and ``random_mutation_max_val``. +This is an example where the second gene is given a ``None`` value. + +.. code:: python + + gene_space = [range(5), None, numpy.linspace(10, 20, 300)] + +If the user did not assign the initial population to the +``initial_population`` parameter, the initial population is created +randomly based on the ``gene_space`` parameter. Moreover, the mutation +is applied based on this parameter. + +.. _how-mutation-works-with-the-genespace-parameter: + +How Mutation Works with the ``gene_space`` Parameter? +----------------------------------------------------- + +If a gene has its static space defined in the ``gene_space`` parameter, +then mutation works by replacing the gene value by a value randomly +selected from the gene space. This happens for both ``int`` and +``float`` data types. + +For example, the following ``gene_space`` has the static space +``[1, 2, 3]`` defined for the first gene. So, this gene can only have a +value out of these 3 values. + +.. code:: python + + Gene space: [[1, 2, 3], + None] + Solution: [1, 5] + +For a solution like ``[1, -0.5, 4]``, then mutation happens for the +first gene by simply replacing its current value by a randomly selected +value (other than its current value if possible). So, the value 1 will +be replaced by either 2 or 3. + +For the second gene, its space is set to ``None``. So, traditional +mutation happens for this gene by: + +1. Generating a random value from the range defined by the + ``random_mutation_min_val`` and ``random_mutation_max_val`` + parameters. + +2. Adding this random value to the current gene's value. + +If its current value is 5 and the random value is ``-0.5``, then the new +value is 4.5. If the gene type is integer, then the value will be +rounded. + Stop at Any Generation ====================== @@ -1882,7 +2042,7 @@ offspring will be created. ga_instance.run() -.. figure:: https://user-images.githubusercontent.com/16560492/189273225-67ffad41-97ab-45e1-9324-429705e17b20.png +.. image:: https://user-images.githubusercontent.com/16560492/189273225-67ffad41-97ab-45e1-9324-429705e17b20.png :alt: Note that if the ``keep_elitism`` parameter is effective (i.e. is @@ -2179,6 +2339,118 @@ non-duplicating genes that may make a room for a unique value in one the duplicates. The resultant gene is then ``[3 4 2 0]``. But this option is not yet supported in PyGAD. +Solve Duplicates using a Third Gene +----------------------------------- + +When ``allow_duplicate_genes=False`` and a user-defined ``gene_space`` +is used, it sometimes happen that there is no room to solve the +duplicates between the 2 genes by simply replacing the value of one gene +by another gene. In `PyGAD +3.1.0 `__, +the duplicates are solved by looking for a third gene that will help in +solving the duplicates. The following examples explain how it works. + +Example 1: + +Let's assume that this gene space is used and there is a solution with 2 +duplicate genes with the same value 4. + +.. code:: python + + Gene space: [[2, 3], + [3, 4], + [4, 5], + [5, 6]] + Solution: [3, 4, 4, 5] + +By checking the gene space, the second gene can have the values +``[3, 4]`` and the third gene can have the values ``[4, 5]``. To solve +the duplicates, we have the value of any of these 2 genes. + +If the value of the second gene changes from 4 to 3, then it will be +duplicate with the first gene. If we are to change the value of the +third gene from 4 to 5, then it will duplicate with the fourth gene. As +a conclusion, trying to just selecting a different gene value for either +the second or third genes will introduce new duplicating genes. + +When there are 2 duplicate genes but there is no way to solve their +duplicates, then the solution is to change a third gene that makes a +room to solve the duplicates between the 2 genes. + +In our example, duplicates between the second and third genes can be +solved by, for example,: + +- Changing the first gene from 3 to 2 then changing the second gene + from 4 to 3. + +- Or changing the fourth gene from 5 to 6 then changing the third gene + from 4 to 5. + +Generally, this is how to solve such duplicates: + +1. For any duplicate gene **GENE1**, select another value. + +2. Check which other gene **GENEX** has duplicate with this new value. + +3. Find if **GENEX** can have another value that will not cause any more + duplicates. If so, go to step 7. + +4. If all the other values of **GENEX** will cause duplicates, then try + another gene **GENEY**. + +5. Repeat steps 3 and 4 until exploring all the genes. + +6. If there is no possibility to solve the duplicates, then there is not + way to solve the duplicates and we have to keep the duplicate value. + +7. If a value for a gene **GENEM** is found that will not cause more + duplicates, then use this value for the gene **GENEM**. + +8. Replace the value of the gene **GENE1** by the old value of the gene + **GENEM**. This solves the duplicates. + +This is an example to solve the duplicate for the solution +``[3, 4, 4, 5]``: + +1. Let's use the second gene with value 4. Because the space of this + gene is ``[3, 4]``, then the only other value we can select is 3. + +2. The first gene also have the value 3. + +3. The first gene has another value 2 that will not cause more + duplicates in the solution. Then go to step 7. + +4. Skip. + +5. Skip. + +6. Skip. + +7. The value of the first gene 3 will be replaced by the new value 2. + The new solution is [2, 4, 4, 5]. + +8. Replace the value of the second gene 4 by the old value of the first + gene which is 3. The new solution is [2, 3, 4, 5]. The duplicate is + solved. + +Example 2: + +.. code:: python + + Gene space: [[0, 1], + [1, 2], + [2, 3], + [3, 4]] + Solution: [1, 2, 2, 3] + +The quick summary is: + +- Change the value of the first gene from 1 to 0. The solution becomes + [0, 2, 2, 3]. + +- Change the value of the second gene from 2 to 1. The solution becomes + [0, 1, 2, 3]. The duplicate is solved. + User-Defined Crossover, Mutation, and Parent Selection Operators ================================================================ @@ -2200,7 +2472,7 @@ Starting from `PyGAD the user can create a custom crossover, mutation, and parent selection operators and assign these functions to the above parameters. Thus, a new operator can be plugged easily into the `PyGAD -Lifecycle `__. +Lifecycle `__. This is a sample code that does not use any custom function. @@ -2586,109 +2858,6 @@ This is the same example but using methods instead of functions. ga_instance.run() ga_instance.plot_fitness() -.. _more-about-the-genespace-parameter: - -More about the ``gene_space`` Parameter -======================================= - -The ``gene_space`` parameter customizes the space of values of each -gene. - -Assuming that all genes have the same global space which include the -values 0.3, 5.2, -4, and 8, then those values can be assigned to the -``gene_space`` parameter as a list, tuple, or range. Here is a list -assigned to this parameter. By doing that, then the gene values are -restricted to those assigned to the ``gene_space`` parameter. - -.. code:: python - - gene_space = [0.3, 5.2, -4, 8] - -If some genes have different spaces, then ``gene_space`` should accept a -nested list or tuple. In this case, the elements could be: - -1. Number (of ``int``, ``float``, or ``NumPy`` data types): A single - value to be assigned to the gene. This means this gene will have the - same value across all generations. - -2. ``list``, ``tuple``, ``numpy.ndarray``, or any range like ``range``, - ``numpy.arange()``, or ``numpy.linspace``: It holds the space for - each individual gene. But this space is usually discrete. That is - there is a set of finite values to select from. - -3. ``dict``: To sample a value for a gene from a continuous range. The - dictionary must have 2 mandatory keys which are ``"low"`` and - ``"high"`` in addition to an optional key which is ``"step"``. A - random value is returned between the values assigned to the items - with ``"low"`` and ``"high"`` keys. If the ``"step"`` exists, then - this works as the previous options (i.e. discrete set of values). - -4. ``None``: A gene with its space set to ``None`` is initialized - randomly from the range specified by the 2 parameters - ``init_range_low`` and ``init_range_high``. For mutation, its value - is mutated based on a random value from the range specified by the 2 - parameters ``random_mutation_min_val`` and - ``random_mutation_max_val``. If all elements in the ``gene_space`` - parameter are ``None``, the parameter will not have any effect. - -Assuming that a chromosome has 2 genes and each gene has a different -value space. Then the ``gene_space`` could be assigned a nested -list/tuple where each element determines the space of a gene. - -According to the next code, the space of the first gene is ``[0.4, -5]`` -which has 2 values and the space for the second gene is -``[0.5, -3.2, 8.8, -9]`` which has 4 values. - -.. code:: python - - gene_space = [[0.4, -5], [0.5, -3.2, 8.2, -9]] - -For a 2 gene chromosome, if the first gene space is restricted to the -discrete values from 0 to 4 and the second gene is restricted to the -values from 10 to 19, then it could be specified according to the next -code. - -.. code:: python - - gene_space = [range(5), range(10, 20)] - -The ``gene_space`` can also be assigned to a single range, as given -below, where the values of all genes are sampled from the same range. - -.. code:: python - - gene_space = numpy.arange(15) - -The ``gene_space`` can be assigned a dictionary to sample a value from a -continuous range. - -.. code:: python - - gene_space = {"low": 4, "high": 30} - -A step also can be assigned to the dictionary. This works as if a range -is used. - -.. code:: python - - gene_space = {"low": 4, "high": 30, "step": 2.5} - -If a ``None`` is assigned to only a single gene, then its value will be -randomly generated initially using the ``init_range_low`` and -``init_range_high`` parameters in the ``pygad.GA`` class's constructor. -During mutation, the value are sampled from the range defined by the 2 -parameters ``random_mutation_min_val`` and ``random_mutation_max_val``. -This is an example where the second gene is given a ``None`` value. - -.. code:: python - - gene_space = [range(5), None, numpy.linspace(10, 20, 300)] - -If the user did not assign the initial population to the -``initial_population`` parameter, the initial population is created -randomly based on the ``gene_space`` parameter. Moreover, the mutation -is applied based on this parameter. - .. _more-about-the-genetype-parameter: More about the ``gene_type`` Parameter @@ -3020,7 +3189,7 @@ line connecting the fitness values across all generations: ga_instance.plot_fitness() # ga_instance.plot_fitness(plot_type="plot") -.. figure:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png +.. image:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png :alt: .. _plottypescatter: @@ -3036,7 +3205,7 @@ these dots can be changed using the ``linewidth`` parameter. ga_instance.plot_fitness(plot_type="scatter") -.. figure:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png +.. image:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png :alt: .. _plottypebar: @@ -3051,7 +3220,7 @@ bar graph with each individual fitness represented as a bar. ga_instance.plot_fitness(plot_type="bar") -.. figure:: https://user-images.githubusercontent.com/16560492/122473340-b7736c80-cf8f-11eb-89c5-4f7db3b653cc.png +.. image:: https://user-images.githubusercontent.com/16560492/122473340-b7736c80-cf8f-11eb-89c5-4f7db3b653cc.png :alt: .. _plotnewsolutionrate-2: @@ -3087,7 +3256,7 @@ first generation is always equal to the number of solutions in the population (i.e. the value assigned to the ``sol_per_pop`` parameter in the constructor of the ``pygad.GA`` class) which is 10 in this example. -.. figure:: https://user-images.githubusercontent.com/16560492/122475815-3322e880-cf93-11eb-9648-bf66f823234b.png +.. image:: https://user-images.githubusercontent.com/16560492/122475815-3322e880-cf93-11eb-9648-bf66f823234b.png :alt: .. _plottypescatter-2: @@ -3102,7 +3271,7 @@ The previous graph can be represented as scattered points by setting ga_instance.plot_new_solution_rate(plot_type="scatter") -.. figure:: https://user-images.githubusercontent.com/16560492/122476108-adec0380-cf93-11eb-80ac-7588bf90492f.png +.. image:: https://user-images.githubusercontent.com/16560492/122476108-adec0380-cf93-11eb-80ac-7588bf90492f.png :alt: .. _plottypebar-2: @@ -3117,7 +3286,7 @@ vertical bar. ga_instance.plot_new_solution_rate(plot_type="bar") -.. figure:: https://user-images.githubusercontent.com/16560492/122476173-c2c89700-cf93-11eb-9e77-d39737cd3a96.png +.. image:: https://user-images.githubusercontent.com/16560492/122476173-c2c89700-cf93-11eb-9e77-d39737cd3a96.png :alt: .. _plotgenes-2: @@ -3186,7 +3355,7 @@ of the next graph) lasted for 83 generations. ga_instance.plot_genes(graph_type="plot", plot_type="plot") -.. figure:: https://user-images.githubusercontent.com/16560492/122477158-4a62d580-cf95-11eb-8c93-9b6e74cb814c.png +.. image:: https://user-images.githubusercontent.com/16560492/122477158-4a62d580-cf95-11eb-8c93-9b6e74cb814c.png :alt: As the default value for the ``solutions`` parameter is ``"all"``, then @@ -3222,7 +3391,7 @@ scatter plot. plot_type="scatter", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122477273-73836600-cf95-11eb-828f-f357c7b0f815.png +.. image:: https://user-images.githubusercontent.com/16560492/122477273-73836600-cf95-11eb-828f-f357c7b0f815.png :alt: .. _plottypebar-3: @@ -3238,7 +3407,7 @@ scatter plot. plot_type="bar", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122477370-99106f80-cf95-11eb-8643-865b55e6b844.png +.. image:: https://user-images.githubusercontent.com/16560492/122477370-99106f80-cf95-11eb-8643-865b55e6b844.png :alt: .. _graphtypeboxplot: @@ -3260,7 +3429,7 @@ figure as the default value for the ``solutions`` parameter is ga_instance.plot_genes(graph_type="boxplot", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122479260-beeb4380-cf98-11eb-8f08-23707929b12c.png +.. image:: https://user-images.githubusercontent.com/16560492/122479260-beeb4380-cf98-11eb-8f08-23707929b12c.png :alt: .. _graphtypehistogram: @@ -3283,7 +3452,7 @@ figure as the default value for the ``solutions`` parameter is ga_instance.plot_genes(graph_type="histogram", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122477314-8007be80-cf95-11eb-9c95-da3f49204151.png +.. image:: https://user-images.githubusercontent.com/16560492/122477314-8007be80-cf95-11eb-9c95-da3f49204151.png :alt: All the previous figures can be created for only the best solutions by @@ -3298,7 +3467,7 @@ parallel processing becomes supported. This section explains how to use parallel processing in PyGAD. According to the `PyGAD -lifecycle `__, +lifecycle `__, parallel processing can be parallelized in only 2 operations: 1. Population fitness calculation. @@ -4275,7 +4444,7 @@ Linear Model Optimization ------------------------- This example is discussed in the `Steps to Use -PyGAD `__ +PyGAD `__ section which optimizes a linear model. Its complete code is listed below. @@ -4401,7 +4570,7 @@ to the next code. Here is the read image. -.. figure:: https://user-images.githubusercontent.com/16560492/36948808-f0ac882e-1fe8-11e8-8d07-1307e3477fd0.jpg +.. image:: https://user-images.githubusercontent.com/16560492/36948808-f0ac882e-1fe8-11e8-8d07-1307e3477fd0.jpg :alt: Based on the chromosome representation used in the example, the pixel @@ -4517,7 +4686,7 @@ generations can be viewed in a plot using the ``plot_fitness()`` method. Here is the plot after 20,000 generations. -.. figure:: https://user-images.githubusercontent.com/16560492/82232124-77762c00-992e-11ea-9fc6-14a1cd7a04ff.png +.. image:: https://user-images.githubusercontent.com/16560492/82232124-77762c00-992e-11ea-9fc6-14a1cd7a04ff.png :alt: Calculate Some Statistics @@ -4545,13 +4714,13 @@ Evolution by Generation The solution reached after the 20,000 generations is shown below. -.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png +.. image:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png :alt: After more generations, the result can be enhanced like what shown below. -.. figure:: https://user-images.githubusercontent.com/16560492/82232345-cf149780-992e-11ea-8390-bf1a57a19de7.png +.. image:: https://user-images.githubusercontent.com/16560492/82232345-cf149780-992e-11ea-8390-bf1a57a19de7.png :alt: The results can also be enhanced by changing the parameters passed to @@ -4562,37 +4731,37 @@ Here is how the image is evolved from generation 0 to generation Generation 0 -.. figure:: https://user-images.githubusercontent.com/16560492/36948589-b47276f0-1fe5-11e8-8efe-0cd1a225ea3a.png +.. image:: https://user-images.githubusercontent.com/16560492/36948589-b47276f0-1fe5-11e8-8efe-0cd1a225ea3a.png :alt: Generation 1,000 -.. figure:: https://user-images.githubusercontent.com/16560492/36948823-16f490ee-1fe9-11e8-97db-3e8905ad5440.png +.. image:: https://user-images.githubusercontent.com/16560492/36948823-16f490ee-1fe9-11e8-97db-3e8905ad5440.png :alt: Generation 2,500 -.. figure:: https://user-images.githubusercontent.com/16560492/36948832-3f314b60-1fe9-11e8-8f4a-4d9a53b99f3d.png +.. image:: https://user-images.githubusercontent.com/16560492/36948832-3f314b60-1fe9-11e8-8f4a-4d9a53b99f3d.png :alt: Generation 4,500 -.. figure:: https://user-images.githubusercontent.com/16560492/36948837-53d1849a-1fe9-11e8-9b36-e9e9291e347b.png +.. image:: https://user-images.githubusercontent.com/16560492/36948837-53d1849a-1fe9-11e8-9b36-e9e9291e347b.png :alt: Generation 7,000 -.. figure:: https://user-images.githubusercontent.com/16560492/36948852-66f1b176-1fe9-11e8-9f9b-460804e94004.png +.. image:: https://user-images.githubusercontent.com/16560492/36948852-66f1b176-1fe9-11e8-9f9b-460804e94004.png :alt: Generation 8,000 -.. figure:: https://user-images.githubusercontent.com/16560492/36948865-7fbb5158-1fe9-11e8-8c04-8ac3c1f7b1b1.png +.. image:: https://user-images.githubusercontent.com/16560492/36948865-7fbb5158-1fe9-11e8-8c04-8ac3c1f7b1b1.png :alt: Generation 20,000 -.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png +.. image:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png :alt: Clustering diff --git a/docs/source/releases.rst b/docs/source/releases.rst index 3458aaf..cd992cb 100644 --- a/docs/source/releases.rst +++ b/docs/source/releases.rst @@ -1,7 +1,7 @@ Release History =============== -.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png +.. image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png :alt: .. _pygad-1017: @@ -250,7 +250,7 @@ Release date: 19 July 2020 values. It is useful if the gene space is restricted to a certain range or to discrete values. For more information, check the `More about the ``gene_space`` - Parameter `__ + Parameter `__ section. Thanks to `Prof. Tamer A. Farrag `__ for requesting this useful feature. @@ -412,11 +412,11 @@ Release Date: 03 January 2021 1. Support of a new module ``pygad.torchga`` to train PyTorch models using PyGAD. Check `its - documentation `__. + documentation `__. 2. Support of adaptive mutation where the mutation rate is determined by the fitness value of each solution. Read the `Adaptive - Mutation `__ + Mutation `__ section for more details. Also, read this paper: `Libelli, S. Marsili, and P. Alba. "Adaptive mutation in genetic algorithms." Soft computing 4.2 (2000): @@ -525,7 +525,7 @@ Release Date: 16 February 2021 to 5 (exclusive) while the second one has values between 0.2 (inclusive) and 0.85 (exclusive). For more information, please check the `Limit the Gene Value - Range `__ + Range `__ section of the documentation. 2. The ``plot_result()`` method returns the figure so that the user can @@ -594,7 +594,7 @@ Release Date: 12 March 2021 solution/chromosome may have duplicate gene values. If ``False``, then each gene will have a unique value in its solution. Check the `Prevent Duplicates in Gene - Values `__ + Values `__ section for more details. 2. The ``last_generation_fitness`` is updated at the end of each @@ -624,7 +624,7 @@ Release Date: 19 May 2021 Previously, the ``gene_type`` can be assigned only to a single data type that is applied for all genes. For more information, check the `More about the ``gene_type`` - Parameter `__ + Parameter `__ section. Thanks to `Rainer Engel `__ for asking about this feature in `this @@ -721,7 +721,7 @@ Release Date: 17 June 2021 ``{"low": 0, "high": 30, "step": 2}`` to have only even values for the gene(s) starting from 0 to 30. For more information, check the `More about the ``gene_space`` - Parameter `__ + Parameter `__ section. https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/48 @@ -794,7 +794,7 @@ Release Date: 17 June 2021 ``[float, 2]`` forces a gene with a value like ``0.1234`` to be ``0.12``. For more information, check the `More about the ``gene_type`` - Parameter `__ + Parameter `__ section. .. _pygad-2151: @@ -829,7 +829,7 @@ Release Date: 19 June 2021 ``pygad.GA`` class to create a custom mutation, crossover, and parent selection operators. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details. https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/50 @@ -994,7 +994,7 @@ Release Date: 8 July 2022 issue `#78 `__ at GitHub. Check the `Parallel Processing in - PyGAD `__ + PyGAD `__ section for more information and examples. .. _pygad-2180: @@ -1021,7 +1021,7 @@ Release Date: 9 September 2022 the ``run()`` method is called, as the old fitness value are shown on the graph alongside with the new fitness values. Read more in this section: `Continue without Loosing - Progress `__ + Progress `__ 4. Thanks `Prof. Fernando Jiménez Barrionuevo `__ (Dept. of Information and @@ -1037,7 +1037,7 @@ Release Date: 9 September 2022 ``keep_elitism``. It defaults to 1 which means for each generation keep only the best solution in the next generation. If assigned 0, then it has no effect. Read more in this section: `Elitism - Selection `__. + Selection `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/74 7. A new instance attribute named ``last_generation_elitism`` added to @@ -1048,7 +1048,7 @@ Release Date: 9 September 2022 https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/70 and `Prof. Fernando Jiménez Barrionuevo `__. Read more in this section: `Random - Seed `__. + Seed `__. 9. Editing the ``pygad.TorchGA`` module to make sure the tensor data is moved from GPU to CPU. Thanks to Rasmus Johansson for opening this @@ -1226,7 +1226,7 @@ Release Date 8 April 2023 the console and text file instead of using the ``print()`` function. This is by assigning the ``logging.Logger`` to the new ``logger`` parameter. Check the `Logging - Outputs `__ + Outputs `__ for more information. 8. A new instance attribute called ``logger`` to save the logger. @@ -1235,14 +1235,14 @@ Release Date 8 April 2023 a new parameter that refers to the instance of the ``pygad.GA`` class. Check this for an example: `Use Functions and Methods to Build Fitness Function and - Callbacks `__. + Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163 10. Update the documentation to include an example of using functions and methods to calculate the fitness and build callbacks. Check this for more details: `Use Functions and Methods to Build Fitness Function and - Callbacks `__. + Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003 11. Validate the value passed to the ``initial_population`` parameter. @@ -1988,7 +1988,7 @@ Find the book at these links: - `Google Books `__ -.. figure:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg +.. image:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg :alt: Contact Us @@ -2010,7 +2010,7 @@ Contact Us - `GitHub `__ -.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png +.. image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png :alt: Thank you for using diff --git a/docs/source/torchga.rst b/docs/source/torchga.rst index e49a2a2..6d35d4b 100644 --- a/docs/source/torchga.rst +++ b/docs/source/torchga.rst @@ -211,7 +211,7 @@ subsections discuss each part in the code. return solution_fitness - def callback_generation(ga_instance): + def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -243,7 +243,7 @@ subsections discuss each part in the code. [1.3], [2.5]]) - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = torch_ga.population_weights # Initial population of network weights @@ -252,7 +252,7 @@ subsections discuss each part in the code. num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) ga_instance.run() @@ -308,8 +308,6 @@ Change this number according to your needs. torch_ga = torchga.TorchGA(model=model, num_solutions=10) -.. _prepare-the-training-data-1: - Prepare the Training Data ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -372,11 +370,11 @@ The fifth step is to instantiate the ``pygad.GA`` class. Note how the the PyTorch models. For more information, please check the `parameters this class -accepts `__. +accepts `__. .. code:: python - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = torch_ga.population_weights # Initial population of network weights @@ -385,7 +383,7 @@ accepts `__ +Data `__ section of the ``pygad.cnn`` module. Simply download these 2 files and read them according to the next code. @@ -931,7 +929,7 @@ Simply download these 2 files and read them according to the next code. The next figure shows how the fitness value changes. -.. figure:: https://user-images.githubusercontent.com/16560492/103469887-c7c4c180-4d38-11eb-98a7-1c5e73e918d0.png +.. image:: https://user-images.githubusercontent.com/16560492/103469887-c7c4c180-4d38-11eb-98a7-1c5e73e918d0.png :alt: Here are some statistics about the trained model. The model accuracy is From a21c6ab9d21ff2d0a94c0aaf263fe6bc43980849 Mon Sep 17 00:00:00 2001 From: Ahmed Gad Date: Tue, 20 Jun 2023 11:35:27 -0400 Subject: [PATCH 072/220] More examples --- Tutorial Project/README.md | 19 +-- docs/source/conf.py | 2 +- docs/source/index.rst | 16 +- examples/cnn/example_image_classification.py | 72 ++++++++ examples/data/Fish.csv | 160 ++++++++++++++++++ examples/data/Fruit360/apple/0_100.jpg | Bin 0 -> 4773 bytes examples/data/Fruit360/apple/100_100.jpg | Bin 0 -> 4748 bytes examples/data/Fruit360/apple/101_100.jpg | Bin 0 -> 4755 bytes examples/data/Fruit360/apple/102_100.jpg | Bin 0 -> 4750 bytes examples/data/Fruit360/apple/103_100.jpg | Bin 0 -> 4717 bytes examples/data/Fruit360/apple/104_100.jpg | Bin 0 -> 4756 bytes examples/data/Fruit360/apple/105_100.jpg | Bin 0 -> 4742 bytes examples/data/Fruit360/apple/106_100.jpg | Bin 0 -> 4757 bytes examples/data/Fruit360/apple/107_100.jpg | Bin 0 -> 4787 bytes examples/data/Fruit360/apple/108_100.jpg | Bin 0 -> 4813 bytes examples/data/Fruit360/apple/109_100.jpg | Bin 0 -> 4750 bytes examples/data/Fruit360/apple/10_100.jpg | Bin 0 -> 4708 bytes examples/data/Fruit360/apple/110_100.jpg | Bin 0 -> 4711 bytes examples/data/Fruit360/apple/111_100.jpg | Bin 0 -> 4745 bytes examples/data/Fruit360/apple/112_100.jpg | Bin 0 -> 4743 bytes examples/data/Fruit360/apple/113_100.jpg | Bin 0 -> 4740 bytes examples/data/Fruit360/apple/114_100.jpg | Bin 0 -> 4705 bytes examples/data/Fruit360/apple/115_100.jpg | Bin 0 -> 4694 bytes examples/data/Fruit360/apple/116_100.jpg | Bin 0 -> 4710 bytes examples/data/Fruit360/apple/117_100.jpg | Bin 0 -> 4706 bytes examples/data/Fruit360/apple/118_100.jpg | Bin 0 -> 4674 bytes examples/data/Fruit360/apple/119_100.jpg | Bin 0 -> 4672 bytes examples/data/Fruit360/apple/11_100.jpg | Bin 0 -> 4774 bytes examples/data/Fruit360/apple/120_100.jpg | Bin 0 -> 4751 bytes examples/data/Fruit360/apple/121_100.jpg | Bin 0 -> 4690 bytes examples/data/Fruit360/apple/122_100.jpg | Bin 0 -> 4707 bytes examples/data/Fruit360/apple/123_100.jpg | Bin 0 -> 4717 bytes examples/data/Fruit360/apple/124_100.jpg | Bin 0 -> 4661 bytes examples/data/Fruit360/apple/125_100.jpg | Bin 0 -> 4629 bytes examples/data/Fruit360/apple/126_100.jpg | Bin 0 -> 4639 bytes examples/data/Fruit360/apple/127_100.jpg | Bin 0 -> 4588 bytes examples/data/Fruit360/apple/128_100.jpg | Bin 0 -> 4643 bytes examples/data/Fruit360/apple/129_100.jpg | Bin 0 -> 4632 bytes examples/data/Fruit360/apple/12_100.jpg | Bin 0 -> 4743 bytes examples/data/Fruit360/apple/130_100.jpg | Bin 0 -> 4689 bytes examples/data/Fruit360/apple/131_100.jpg | Bin 0 -> 4692 bytes examples/data/Fruit360/apple/132_100.jpg | Bin 0 -> 4685 bytes examples/data/Fruit360/apple/133_100.jpg | Bin 0 -> 4637 bytes examples/data/Fruit360/apple/134_100.jpg | Bin 0 -> 4670 bytes examples/data/Fruit360/apple/135_100.jpg | Bin 0 -> 4651 bytes examples/data/Fruit360/apple/136_100.jpg | Bin 0 -> 4639 bytes examples/data/Fruit360/apple/137_100.jpg | Bin 0 -> 4671 bytes examples/data/Fruit360/apple/138_100.jpg | Bin 0 -> 4679 bytes examples/data/Fruit360/apple/139_100.jpg | Bin 0 -> 4680 bytes examples/data/Fruit360/apple/13_100.jpg | Bin 0 -> 4766 bytes examples/data/Fruit360/apple/140_100.jpg | Bin 0 -> 4706 bytes examples/data/Fruit360/apple/141_100.jpg | Bin 0 -> 4700 bytes examples/data/Fruit360/apple/142_100.jpg | Bin 0 -> 4728 bytes examples/data/Fruit360/apple/143_100.jpg | Bin 0 -> 4707 bytes examples/data/Fruit360/apple/144_100.jpg | Bin 0 -> 4719 bytes examples/data/Fruit360/apple/145_100.jpg | Bin 0 -> 4677 bytes examples/data/Fruit360/apple/146_100.jpg | Bin 0 -> 4730 bytes examples/data/Fruit360/apple/147_100.jpg | Bin 0 -> 4692 bytes examples/data/Fruit360/apple/148_100.jpg | Bin 0 -> 4710 bytes examples/data/Fruit360/apple/149_100.jpg | Bin 0 -> 4716 bytes examples/data/Fruit360/apple/14_100.jpg | Bin 0 -> 4727 bytes examples/data/Fruit360/apple/150_100.jpg | Bin 0 -> 4676 bytes examples/data/Fruit360/apple/151_100.jpg | Bin 0 -> 4700 bytes examples/data/Fruit360/apple/152_100.jpg | Bin 0 -> 4726 bytes examples/data/Fruit360/apple/153_100.jpg | Bin 0 -> 4732 bytes examples/data/Fruit360/apple/154_100.jpg | Bin 0 -> 4741 bytes examples/data/Fruit360/apple/155_100.jpg | Bin 0 -> 4726 bytes examples/data/Fruit360/apple/156_100.jpg | Bin 0 -> 4766 bytes examples/data/Fruit360/apple/157_100.jpg | Bin 0 -> 4764 bytes examples/data/Fruit360/apple/158_100.jpg | Bin 0 -> 4792 bytes examples/data/Fruit360/apple/159_100.jpg | Bin 0 -> 4843 bytes examples/data/Fruit360/apple/15_100.jpg | Bin 0 -> 4707 bytes examples/data/Fruit360/apple/160_100.jpg | Bin 0 -> 4881 bytes examples/data/Fruit360/apple/161_100.jpg | Bin 0 -> 4894 bytes examples/data/Fruit360/apple/162_100.jpg | Bin 0 -> 4932 bytes examples/data/Fruit360/apple/163_100.jpg | Bin 0 -> 4903 bytes examples/data/Fruit360/apple/164_100.jpg | Bin 0 -> 4954 bytes examples/data/Fruit360/apple/165_100.jpg | Bin 0 -> 4955 bytes examples/data/Fruit360/apple/166_100.jpg | Bin 0 -> 4952 bytes examples/data/Fruit360/apple/167_100.jpg | Bin 0 -> 4926 bytes examples/data/Fruit360/apple/168_100.jpg | Bin 0 -> 4915 bytes examples/data/Fruit360/apple/169_100.jpg | Bin 0 -> 4913 bytes examples/data/Fruit360/apple/16_100.jpg | Bin 0 -> 4778 bytes examples/data/Fruit360/apple/170_100.jpg | Bin 0 -> 4937 bytes examples/data/Fruit360/apple/171_100.jpg | Bin 0 -> 4955 bytes examples/data/Fruit360/apple/172_100.jpg | Bin 0 -> 4982 bytes examples/data/Fruit360/apple/173_100.jpg | Bin 0 -> 5026 bytes examples/data/Fruit360/apple/174_100.jpg | Bin 0 -> 5013 bytes examples/data/Fruit360/apple/175_100.jpg | Bin 0 -> 5027 bytes examples/data/Fruit360/apple/176_100.jpg | Bin 0 -> 5074 bytes examples/data/Fruit360/apple/177_100.jpg | Bin 0 -> 5057 bytes examples/data/Fruit360/apple/178_100.jpg | Bin 0 -> 5003 bytes examples/data/Fruit360/apple/179_100.jpg | Bin 0 -> 4999 bytes examples/data/Fruit360/apple/17_100.jpg | Bin 0 -> 4742 bytes examples/data/Fruit360/apple/180_100.jpg | Bin 0 -> 4984 bytes examples/data/Fruit360/apple/181_100.jpg | Bin 0 -> 4970 bytes examples/data/Fruit360/apple/182_100.jpg | Bin 0 -> 5077 bytes examples/data/Fruit360/apple/183_100.jpg | Bin 0 -> 4988 bytes examples/data/Fruit360/apple/184_100.jpg | Bin 0 -> 5007 bytes examples/data/Fruit360/apple/185_100.jpg | Bin 0 -> 4978 bytes examples/data/Fruit360/apple/186_100.jpg | Bin 0 -> 5024 bytes examples/data/Fruit360/apple/187_100.jpg | Bin 0 -> 5035 bytes examples/data/Fruit360/apple/188_100.jpg | Bin 0 -> 4952 bytes examples/data/Fruit360/apple/189_100.jpg | Bin 0 -> 4931 bytes examples/data/Fruit360/apple/18_100.jpg | Bin 0 -> 4704 bytes examples/data/Fruit360/apple/190_100.jpg | Bin 0 -> 4861 bytes examples/data/Fruit360/apple/191_100.jpg | Bin 0 -> 4886 bytes examples/data/Fruit360/apple/192_100.jpg | Bin 0 -> 4849 bytes examples/data/Fruit360/apple/193_100.jpg | Bin 0 -> 4854 bytes examples/data/Fruit360/apple/194_100.jpg | Bin 0 -> 4923 bytes examples/data/Fruit360/apple/195_100.jpg | Bin 0 -> 4863 bytes examples/data/Fruit360/apple/196_100.jpg | Bin 0 -> 4907 bytes examples/data/Fruit360/apple/197_100.jpg | Bin 0 -> 4898 bytes examples/data/Fruit360/apple/198_100.jpg | Bin 0 -> 4921 bytes examples/data/Fruit360/apple/199_100.jpg | Bin 0 -> 4886 bytes examples/data/Fruit360/apple/19_100.jpg | Bin 0 -> 4737 bytes examples/data/Fruit360/apple/1_100.jpg | Bin 0 -> 4792 bytes examples/data/Fruit360/apple/200_100.jpg | Bin 0 -> 4881 bytes examples/data/Fruit360/apple/201_100.jpg | Bin 0 -> 4917 bytes examples/data/Fruit360/apple/202_100.jpg | Bin 0 -> 4926 bytes examples/data/Fruit360/apple/203_100.jpg | Bin 0 -> 4842 bytes examples/data/Fruit360/apple/204_100.jpg | Bin 0 -> 4809 bytes examples/data/Fruit360/apple/205_100.jpg | Bin 0 -> 4839 bytes examples/data/Fruit360/apple/206_100.jpg | Bin 0 -> 4794 bytes examples/data/Fruit360/apple/207_100.jpg | Bin 0 -> 4844 bytes examples/data/Fruit360/apple/208_100.jpg | Bin 0 -> 4862 bytes examples/data/Fruit360/apple/209_100.jpg | Bin 0 -> 4837 bytes examples/data/Fruit360/apple/20_100.jpg | Bin 0 -> 4687 bytes examples/data/Fruit360/apple/210_100.jpg | Bin 0 -> 4796 bytes examples/data/Fruit360/apple/211_100.jpg | Bin 0 -> 4772 bytes examples/data/Fruit360/apple/212_100.jpg | Bin 0 -> 4818 bytes examples/data/Fruit360/apple/213_100.jpg | Bin 0 -> 4826 bytes examples/data/Fruit360/apple/214_100.jpg | Bin 0 -> 4793 bytes examples/data/Fruit360/apple/215_100.jpg | Bin 0 -> 4869 bytes examples/data/Fruit360/apple/216_100.jpg | Bin 0 -> 4826 bytes examples/data/Fruit360/apple/217_100.jpg | Bin 0 -> 4835 bytes examples/data/Fruit360/apple/218_100.jpg | Bin 0 -> 4819 bytes examples/data/Fruit360/apple/219_100.jpg | Bin 0 -> 4782 bytes examples/data/Fruit360/apple/21_100.jpg | Bin 0 -> 4690 bytes examples/data/Fruit360/apple/220_100.jpg | Bin 0 -> 4791 bytes examples/data/Fruit360/apple/221_100.jpg | Bin 0 -> 4762 bytes examples/data/Fruit360/apple/222_100.jpg | Bin 0 -> 4801 bytes examples/data/Fruit360/apple/223_100.jpg | Bin 0 -> 4834 bytes examples/data/Fruit360/apple/224_100.jpg | Bin 0 -> 4794 bytes examples/data/Fruit360/apple/225_100.jpg | Bin 0 -> 4777 bytes examples/data/Fruit360/apple/226_100.jpg | Bin 0 -> 4782 bytes examples/data/Fruit360/apple/227_100.jpg | Bin 0 -> 4785 bytes examples/data/Fruit360/apple/228_100.jpg | Bin 0 -> 4786 bytes examples/data/Fruit360/apple/229_100.jpg | Bin 0 -> 4761 bytes examples/data/Fruit360/apple/22_100.jpg | Bin 0 -> 4661 bytes examples/data/Fruit360/apple/230_100.jpg | Bin 0 -> 4804 bytes examples/data/Fruit360/apple/231_100.jpg | Bin 0 -> 4734 bytes examples/data/Fruit360/apple/232_100.jpg | Bin 0 -> 4789 bytes examples/data/Fruit360/apple/233_100.jpg | Bin 0 -> 4743 bytes examples/data/Fruit360/apple/234_100.jpg | Bin 0 -> 4744 bytes examples/data/Fruit360/apple/235_100.jpg | Bin 0 -> 4752 bytes examples/data/Fruit360/apple/236_100.jpg | Bin 0 -> 4800 bytes examples/data/Fruit360/apple/237_100.jpg | Bin 0 -> 4789 bytes examples/data/Fruit360/apple/238_100.jpg | Bin 0 -> 4831 bytes examples/data/Fruit360/apple/239_100.jpg | Bin 0 -> 4829 bytes examples/data/Fruit360/apple/23_100.jpg | Bin 0 -> 4721 bytes examples/data/Fruit360/apple/240_100.jpg | Bin 0 -> 4795 bytes examples/data/Fruit360/apple/241_100.jpg | Bin 0 -> 4769 bytes examples/data/Fruit360/apple/242_100.jpg | Bin 0 -> 4780 bytes examples/data/Fruit360/apple/243_100.jpg | Bin 0 -> 4808 bytes examples/data/Fruit360/apple/244_100.jpg | Bin 0 -> 4807 bytes examples/data/Fruit360/apple/245_100.jpg | Bin 0 -> 4789 bytes examples/data/Fruit360/apple/246_100.jpg | Bin 0 -> 4801 bytes examples/data/Fruit360/apple/247_100.jpg | Bin 0 -> 4818 bytes examples/data/Fruit360/apple/248_100.jpg | Bin 0 -> 4807 bytes examples/data/Fruit360/apple/249_100.jpg | Bin 0 -> 4816 bytes examples/data/Fruit360/apple/24_100.jpg | Bin 0 -> 4719 bytes examples/data/Fruit360/apple/250_100.jpg | Bin 0 -> 4782 bytes examples/data/Fruit360/apple/251_100.jpg | Bin 0 -> 4782 bytes examples/data/Fruit360/apple/252_100.jpg | Bin 0 -> 4780 bytes examples/data/Fruit360/apple/253_100.jpg | Bin 0 -> 4835 bytes examples/data/Fruit360/apple/254_100.jpg | Bin 0 -> 4807 bytes examples/data/Fruit360/apple/255_100.jpg | Bin 0 -> 4811 bytes examples/data/Fruit360/apple/256_100.jpg | Bin 0 -> 4787 bytes examples/data/Fruit360/apple/257_100.jpg | Bin 0 -> 4729 bytes examples/data/Fruit360/apple/258_100.jpg | Bin 0 -> 4775 bytes examples/data/Fruit360/apple/259_100.jpg | Bin 0 -> 4794 bytes examples/data/Fruit360/apple/25_100.jpg | Bin 0 -> 4726 bytes examples/data/Fruit360/apple/260_100.jpg | Bin 0 -> 4819 bytes examples/data/Fruit360/apple/261_100.jpg | Bin 0 -> 4838 bytes examples/data/Fruit360/apple/262_100.jpg | Bin 0 -> 4771 bytes examples/data/Fruit360/apple/263_100.jpg | Bin 0 -> 4765 bytes examples/data/Fruit360/apple/264_100.jpg | Bin 0 -> 4789 bytes examples/data/Fruit360/apple/265_100.jpg | Bin 0 -> 4848 bytes examples/data/Fruit360/apple/266_100.jpg | Bin 0 -> 4812 bytes examples/data/Fruit360/apple/267_100.jpg | Bin 0 -> 4823 bytes examples/data/Fruit360/apple/268_100.jpg | Bin 0 -> 4866 bytes examples/data/Fruit360/apple/269_100.jpg | Bin 0 -> 4850 bytes examples/data/Fruit360/apple/26_100.jpg | Bin 0 -> 4710 bytes examples/data/Fruit360/apple/270_100.jpg | Bin 0 -> 4845 bytes examples/data/Fruit360/apple/271_100.jpg | Bin 0 -> 4873 bytes examples/data/Fruit360/apple/272_100.jpg | Bin 0 -> 4910 bytes examples/data/Fruit360/apple/273_100.jpg | Bin 0 -> 4906 bytes examples/data/Fruit360/apple/274_100.jpg | Bin 0 -> 4969 bytes examples/data/Fruit360/apple/275_100.jpg | Bin 0 -> 4934 bytes examples/data/Fruit360/apple/276_100.jpg | Bin 0 -> 4887 bytes examples/data/Fruit360/apple/277_100.jpg | Bin 0 -> 4931 bytes examples/data/Fruit360/apple/278_100.jpg | Bin 0 -> 4848 bytes examples/data/Fruit360/apple/279_100.jpg | Bin 0 -> 4856 bytes examples/data/Fruit360/apple/27_100.jpg | Bin 0 -> 4690 bytes examples/data/Fruit360/apple/280_100.jpg | Bin 0 -> 4837 bytes examples/data/Fruit360/apple/281_100.jpg | Bin 0 -> 4931 bytes examples/data/Fruit360/apple/282_100.jpg | Bin 0 -> 4891 bytes examples/data/Fruit360/apple/283_100.jpg | Bin 0 -> 4913 bytes examples/data/Fruit360/apple/284_100.jpg | Bin 0 -> 4909 bytes examples/data/Fruit360/apple/285_100.jpg | Bin 0 -> 4915 bytes examples/data/Fruit360/apple/286_100.jpg | Bin 0 -> 4882 bytes examples/data/Fruit360/apple/287_100.jpg | Bin 0 -> 4853 bytes examples/data/Fruit360/apple/288_100.jpg | Bin 0 -> 4847 bytes examples/data/Fruit360/apple/289_100.jpg | Bin 0 -> 4854 bytes examples/data/Fruit360/apple/28_100.jpg | Bin 0 -> 4698 bytes examples/data/Fruit360/apple/290_100.jpg | Bin 0 -> 4837 bytes examples/data/Fruit360/apple/291_100.jpg | Bin 0 -> 4880 bytes examples/data/Fruit360/apple/292_100.jpg | Bin 0 -> 4900 bytes examples/data/Fruit360/apple/293_100.jpg | Bin 0 -> 4859 bytes examples/data/Fruit360/apple/294_100.jpg | Bin 0 -> 4874 bytes examples/data/Fruit360/apple/295_100.jpg | Bin 0 -> 4853 bytes examples/data/Fruit360/apple/296_100.jpg | Bin 0 -> 4887 bytes examples/data/Fruit360/apple/297_100.jpg | Bin 0 -> 4834 bytes examples/data/Fruit360/apple/298_100.jpg | Bin 0 -> 4848 bytes examples/data/Fruit360/apple/299_100.jpg | Bin 0 -> 4859 bytes examples/data/Fruit360/apple/29_100.jpg | Bin 0 -> 4703 bytes examples/data/Fruit360/apple/2_100.jpg | Bin 0 -> 4800 bytes examples/data/Fruit360/apple/300_100.jpg | Bin 0 -> 4793 bytes examples/data/Fruit360/apple/301_100.jpg | Bin 0 -> 4804 bytes examples/data/Fruit360/apple/302_100.jpg | Bin 0 -> 4839 bytes examples/data/Fruit360/apple/303_100.jpg | Bin 0 -> 4837 bytes examples/data/Fruit360/apple/304_100.jpg | Bin 0 -> 4868 bytes examples/data/Fruit360/apple/305_100.jpg | Bin 0 -> 4847 bytes examples/data/Fruit360/apple/306_100.jpg | Bin 0 -> 4863 bytes examples/data/Fruit360/apple/307_100.jpg | Bin 0 -> 4882 bytes examples/data/Fruit360/apple/308_100.jpg | Bin 0 -> 4866 bytes examples/data/Fruit360/apple/309_100.jpg | Bin 0 -> 4880 bytes examples/data/Fruit360/apple/30_100.jpg | Bin 0 -> 4705 bytes examples/data/Fruit360/apple/310_100.jpg | Bin 0 -> 4850 bytes examples/data/Fruit360/apple/311_100.jpg | Bin 0 -> 4795 bytes examples/data/Fruit360/apple/312_100.jpg | Bin 0 -> 4804 bytes examples/data/Fruit360/apple/313_100.jpg | Bin 0 -> 4761 bytes examples/data/Fruit360/apple/314_100.jpg | Bin 0 -> 4795 bytes examples/data/Fruit360/apple/315_100.jpg | Bin 0 -> 4820 bytes examples/data/Fruit360/apple/316_100.jpg | Bin 0 -> 4843 bytes examples/data/Fruit360/apple/317_100.jpg | Bin 0 -> 4795 bytes examples/data/Fruit360/apple/318_100.jpg | Bin 0 -> 4830 bytes examples/data/Fruit360/apple/319_100.jpg | Bin 0 -> 4747 bytes examples/data/Fruit360/apple/31_100.jpg | Bin 0 -> 4727 bytes examples/data/Fruit360/apple/320_100.jpg | Bin 0 -> 4753 bytes examples/data/Fruit360/apple/r_0_100.jpg | Bin 0 -> 5394 bytes examples/data/Fruit360/apple/r_100_100.jpg | Bin 0 -> 5208 bytes examples/data/Fruit360/apple/r_101_100.jpg | Bin 0 -> 5180 bytes examples/data/Fruit360/apple/r_102_100.jpg | Bin 0 -> 5180 bytes examples/data/Fruit360/apple/r_103_100.jpg | Bin 0 -> 5132 bytes examples/data/Fruit360/apple/r_104_100.jpg | Bin 0 -> 5167 bytes examples/data/Fruit360/apple/r_105_100.jpg | Bin 0 -> 5213 bytes examples/data/Fruit360/apple/r_106_100.jpg | Bin 0 -> 5229 bytes examples/data/Fruit360/apple/r_107_100.jpg | Bin 0 -> 5240 bytes examples/data/Fruit360/apple/r_108_100.jpg | Bin 0 -> 5248 bytes examples/data/Fruit360/apple/r_109_100.jpg | Bin 0 -> 5161 bytes examples/data/Fruit360/apple/r_10_100.jpg | Bin 0 -> 5499 bytes examples/data/Fruit360/apple/r_110_100.jpg | Bin 0 -> 5309 bytes examples/data/Fruit360/apple/r_111_100.jpg | Bin 0 -> 5335 bytes examples/data/Fruit360/apple/r_112_100.jpg | Bin 0 -> 5284 bytes examples/data/Fruit360/apple/r_113_100.jpg | Bin 0 -> 5227 bytes examples/data/Fruit360/apple/r_114_100.jpg | Bin 0 -> 5380 bytes examples/data/Fruit360/apple/r_115_100.jpg | Bin 0 -> 5328 bytes examples/data/Fruit360/apple/r_116_100.jpg | Bin 0 -> 5281 bytes examples/data/Fruit360/apple/r_117_100.jpg | Bin 0 -> 5325 bytes examples/data/Fruit360/apple/r_118_100.jpg | Bin 0 -> 5382 bytes examples/data/Fruit360/apple/r_119_100.jpg | Bin 0 -> 5399 bytes examples/data/Fruit360/apple/r_11_100.jpg | Bin 0 -> 5497 bytes examples/data/Fruit360/apple/r_120_100.jpg | Bin 0 -> 5413 bytes examples/data/Fruit360/apple/r_121_100.jpg | Bin 0 -> 5465 bytes examples/data/Fruit360/apple/r_122_100.jpg | Bin 0 -> 5433 bytes examples/data/Fruit360/apple/r_123_100.jpg | Bin 0 -> 5416 bytes examples/data/Fruit360/apple/r_124_100.jpg | Bin 0 -> 5426 bytes examples/data/Fruit360/apple/r_125_100.jpg | Bin 0 -> 5462 bytes examples/data/Fruit360/apple/r_126_100.jpg | Bin 0 -> 5500 bytes examples/data/Fruit360/apple/r_127_100.jpg | Bin 0 -> 5453 bytes examples/data/Fruit360/apple/r_128_100.jpg | Bin 0 -> 5473 bytes examples/data/Fruit360/apple/r_129_100.jpg | Bin 0 -> 5432 bytes examples/data/Fruit360/apple/r_12_100.jpg | Bin 0 -> 5454 bytes examples/data/Fruit360/apple/r_130_100.jpg | Bin 0 -> 5537 bytes examples/data/Fruit360/apple/r_131_100.jpg | Bin 0 -> 5522 bytes examples/data/Fruit360/apple/r_132_100.jpg | Bin 0 -> 5550 bytes examples/data/Fruit360/apple/r_133_100.jpg | Bin 0 -> 5565 bytes examples/data/Fruit360/apple/r_134_100.jpg | Bin 0 -> 5552 bytes examples/data/Fruit360/apple/r_135_100.jpg | Bin 0 -> 5561 bytes examples/data/Fruit360/apple/r_136_100.jpg | Bin 0 -> 5541 bytes examples/data/Fruit360/apple/r_137_100.jpg | Bin 0 -> 5574 bytes examples/data/Fruit360/apple/r_138_100.jpg | Bin 0 -> 5533 bytes examples/data/Fruit360/apple/r_139_100.jpg | Bin 0 -> 5602 bytes examples/data/Fruit360/apple/r_13_100.jpg | Bin 0 -> 5447 bytes examples/data/Fruit360/apple/r_140_100.jpg | Bin 0 -> 5656 bytes examples/data/Fruit360/apple/r_141_100.jpg | Bin 0 -> 5594 bytes examples/data/Fruit360/apple/r_142_100.jpg | Bin 0 -> 5606 bytes examples/data/Fruit360/apple/r_143_100.jpg | Bin 0 -> 5591 bytes examples/data/Fruit360/apple/r_144_100.jpg | Bin 0 -> 5613 bytes examples/data/Fruit360/apple/r_145_100.jpg | Bin 0 -> 5584 bytes examples/data/Fruit360/apple/r_146_100.jpg | Bin 0 -> 5554 bytes examples/data/Fruit360/apple/r_147_100.jpg | Bin 0 -> 5580 bytes examples/data/Fruit360/apple/r_148_100.jpg | Bin 0 -> 5564 bytes examples/data/Fruit360/apple/r_149_100.jpg | Bin 0 -> 5597 bytes examples/data/Fruit360/apple/r_14_100.jpg | Bin 0 -> 5440 bytes examples/data/Fruit360/apple/r_150_100.jpg | Bin 0 -> 5606 bytes examples/data/Fruit360/apple/r_151_100.jpg | Bin 0 -> 5611 bytes examples/data/Fruit360/apple/r_152_100.jpg | Bin 0 -> 5599 bytes examples/data/Fruit360/apple/r_153_100.jpg | Bin 0 -> 5589 bytes examples/data/Fruit360/apple/r_154_100.jpg | Bin 0 -> 5572 bytes examples/data/Fruit360/apple/r_155_100.jpg | Bin 0 -> 5565 bytes examples/data/Fruit360/apple/r_156_100.jpg | Bin 0 -> 5584 bytes examples/data/Fruit360/apple/r_157_100.jpg | Bin 0 -> 5566 bytes examples/data/Fruit360/apple/r_158_100.jpg | Bin 0 -> 5538 bytes examples/data/Fruit360/apple/r_159_100.jpg | Bin 0 -> 5559 bytes examples/data/Fruit360/apple/r_15_100.jpg | Bin 0 -> 5474 bytes examples/data/Fruit360/apple/r_160_100.jpg | Bin 0 -> 5575 bytes examples/data/Fruit360/apple/r_161_100.jpg | Bin 0 -> 5576 bytes examples/data/Fruit360/apple/r_162_100.jpg | Bin 0 -> 5611 bytes examples/data/Fruit360/apple/r_163_100.jpg | Bin 0 -> 5627 bytes examples/data/Fruit360/apple/r_164_100.jpg | Bin 0 -> 5562 bytes examples/data/Fruit360/apple/r_165_100.jpg | Bin 0 -> 5529 bytes examples/data/Fruit360/apple/r_166_100.jpg | Bin 0 -> 5529 bytes examples/data/Fruit360/apple/r_167_100.jpg | Bin 0 -> 5502 bytes examples/data/Fruit360/apple/r_168_100.jpg | Bin 0 -> 5499 bytes examples/data/Fruit360/apple/r_169_100.jpg | Bin 0 -> 5460 bytes examples/data/Fruit360/apple/r_16_100.jpg | Bin 0 -> 5469 bytes examples/data/Fruit360/apple/r_170_100.jpg | Bin 0 -> 5410 bytes examples/data/Fruit360/apple/r_171_100.jpg | Bin 0 -> 5442 bytes examples/data/Fruit360/apple/r_172_100.jpg | Bin 0 -> 5396 bytes examples/data/Fruit360/apple/r_173_100.jpg | Bin 0 -> 5350 bytes examples/data/Fruit360/apple/r_174_100.jpg | Bin 0 -> 5391 bytes examples/data/Fruit360/apple/r_175_100.jpg | Bin 0 -> 5371 bytes examples/data/Fruit360/apple/r_176_100.jpg | Bin 0 -> 5383 bytes examples/data/Fruit360/apple/r_177_100.jpg | Bin 0 -> 5310 bytes examples/data/Fruit360/apple/r_178_100.jpg | Bin 0 -> 5315 bytes examples/data/Fruit360/apple/r_179_100.jpg | Bin 0 -> 5272 bytes examples/data/Fruit360/apple/r_17_100.jpg | Bin 0 -> 5465 bytes examples/data/Fruit360/apple/r_180_100.jpg | Bin 0 -> 5278 bytes examples/data/Fruit360/apple/r_181_100.jpg | Bin 0 -> 5251 bytes examples/data/Fruit360/apple/r_182_100.jpg | Bin 0 -> 5197 bytes examples/data/Fruit360/apple/r_183_100.jpg | Bin 0 -> 5149 bytes examples/data/Fruit360/apple/r_184_100.jpg | Bin 0 -> 5204 bytes examples/data/Fruit360/apple/r_185_100.jpg | Bin 0 -> 5116 bytes examples/data/Fruit360/apple/r_186_100.jpg | Bin 0 -> 5068 bytes examples/data/Fruit360/apple/r_187_100.jpg | Bin 0 -> 5086 bytes examples/data/Fruit360/apple/r_188_100.jpg | Bin 0 -> 5067 bytes examples/data/Fruit360/apple/r_189_100.jpg | Bin 0 -> 5090 bytes examples/data/Fruit360/apple/r_18_100.jpg | Bin 0 -> 5498 bytes examples/data/Fruit360/apple/r_190_100.jpg | Bin 0 -> 5044 bytes examples/data/Fruit360/apple/r_191_100.jpg | Bin 0 -> 4999 bytes examples/data/Fruit360/apple/r_192_100.jpg | Bin 0 -> 4974 bytes examples/data/Fruit360/apple/r_193_100.jpg | Bin 0 -> 4992 bytes examples/data/Fruit360/apple/r_194_100.jpg | Bin 0 -> 4953 bytes examples/data/Fruit360/apple/r_195_100.jpg | Bin 0 -> 4862 bytes examples/data/Fruit360/apple/r_196_100.jpg | Bin 0 -> 4852 bytes examples/data/Fruit360/apple/r_197_100.jpg | Bin 0 -> 4880 bytes examples/data/Fruit360/apple/r_198_100.jpg | Bin 0 -> 4878 bytes examples/data/Fruit360/apple/r_199_100.jpg | Bin 0 -> 4728 bytes examples/data/Fruit360/apple/r_19_100.jpg | Bin 0 -> 5460 bytes examples/data/Fruit360/apple/r_1_100.jpg | Bin 0 -> 5401 bytes examples/data/Fruit360/apple/r_200_100.jpg | Bin 0 -> 4724 bytes examples/data/Fruit360/apple/r_201_100.jpg | Bin 0 -> 4679 bytes examples/data/Fruit360/apple/r_202_100.jpg | Bin 0 -> 4701 bytes examples/data/Fruit360/apple/r_203_100.jpg | Bin 0 -> 4674 bytes examples/data/Fruit360/apple/r_204_100.jpg | Bin 0 -> 4686 bytes examples/data/Fruit360/apple/r_205_100.jpg | Bin 0 -> 4647 bytes examples/data/Fruit360/apple/r_206_100.jpg | Bin 0 -> 4641 bytes examples/data/Fruit360/apple/r_207_100.jpg | Bin 0 -> 4553 bytes examples/data/Fruit360/apple/r_208_100.jpg | Bin 0 -> 4588 bytes examples/data/Fruit360/apple/r_209_100.jpg | Bin 0 -> 4531 bytes examples/data/Fruit360/apple/r_20_100.jpg | Bin 0 -> 5470 bytes examples/data/Fruit360/apple/r_210_100.jpg | Bin 0 -> 4542 bytes examples/data/Fruit360/apple/r_211_100.jpg | Bin 0 -> 4546 bytes examples/data/Fruit360/apple/r_212_100.jpg | Bin 0 -> 4571 bytes examples/data/Fruit360/apple/r_213_100.jpg | Bin 0 -> 4651 bytes examples/data/Fruit360/apple/r_214_100.jpg | Bin 0 -> 4657 bytes examples/data/Fruit360/apple/r_215_100.jpg | Bin 0 -> 4687 bytes examples/data/Fruit360/apple/r_216_100.jpg | Bin 0 -> 4659 bytes examples/data/Fruit360/apple/r_217_100.jpg | Bin 0 -> 4650 bytes examples/data/Fruit360/apple/r_218_100.jpg | Bin 0 -> 4700 bytes examples/data/Fruit360/apple/r_219_100.jpg | Bin 0 -> 4666 bytes examples/data/Fruit360/apple/r_21_100.jpg | Bin 0 -> 5441 bytes examples/data/Fruit360/apple/r_220_100.jpg | Bin 0 -> 4668 bytes examples/data/Fruit360/apple/r_221_100.jpg | Bin 0 -> 4630 bytes examples/data/Fruit360/apple/r_222_100.jpg | Bin 0 -> 4590 bytes examples/data/Fruit360/apple/r_223_100.jpg | Bin 0 -> 4577 bytes examples/data/Fruit360/apple/r_224_100.jpg | Bin 0 -> 4721 bytes examples/data/Fruit360/apple/r_225_100.jpg | Bin 0 -> 4719 bytes examples/data/Fruit360/apple/r_226_100.jpg | Bin 0 -> 4705 bytes examples/data/Fruit360/apple/r_227_100.jpg | Bin 0 -> 4735 bytes examples/data/Fruit360/apple/r_228_100.jpg | Bin 0 -> 4719 bytes examples/data/Fruit360/apple/r_229_100.jpg | Bin 0 -> 4738 bytes examples/data/Fruit360/apple/r_22_100.jpg | Bin 0 -> 5459 bytes examples/data/Fruit360/apple/r_230_100.jpg | Bin 0 -> 4752 bytes examples/data/Fruit360/apple/r_231_100.jpg | Bin 0 -> 4759 bytes examples/data/Fruit360/apple/r_232_100.jpg | Bin 0 -> 4876 bytes examples/data/Fruit360/apple/r_233_100.jpg | Bin 0 -> 4849 bytes examples/data/Fruit360/apple/r_234_100.jpg | Bin 0 -> 4894 bytes examples/data/Fruit360/apple/r_235_100.jpg | Bin 0 -> 4869 bytes examples/data/Fruit360/apple/r_236_100.jpg | Bin 0 -> 4815 bytes examples/data/Fruit360/apple/r_237_100.jpg | Bin 0 -> 4868 bytes examples/data/Fruit360/apple/r_238_100.jpg | Bin 0 -> 4933 bytes examples/data/Fruit360/apple/r_239_100.jpg | Bin 0 -> 4970 bytes examples/data/Fruit360/apple/r_23_100.jpg | Bin 0 -> 5517 bytes examples/data/Fruit360/apple/r_240_100.jpg | Bin 0 -> 4947 bytes examples/data/Fruit360/apple/r_241_100.jpg | Bin 0 -> 4974 bytes examples/data/Fruit360/apple/r_242_100.jpg | Bin 0 -> 4976 bytes examples/data/Fruit360/apple/r_243_100.jpg | Bin 0 -> 4972 bytes examples/data/Fruit360/apple/r_244_100.jpg | Bin 0 -> 4994 bytes examples/data/Fruit360/apple/r_245_100.jpg | Bin 0 -> 5047 bytes examples/data/Fruit360/apple/r_246_100.jpg | Bin 0 -> 5011 bytes examples/data/Fruit360/apple/r_247_100.jpg | Bin 0 -> 5018 bytes examples/data/Fruit360/apple/r_248_100.jpg | Bin 0 -> 4994 bytes examples/data/Fruit360/apple/r_249_100.jpg | Bin 0 -> 5012 bytes examples/data/Fruit360/apple/r_24_100.jpg | Bin 0 -> 5496 bytes examples/data/Fruit360/apple/r_250_100.jpg | Bin 0 -> 4950 bytes examples/data/Fruit360/apple/r_251_100.jpg | Bin 0 -> 4968 bytes examples/data/Fruit360/apple/r_252_100.jpg | Bin 0 -> 4981 bytes examples/data/Fruit360/apple/r_253_100.jpg | Bin 0 -> 5053 bytes examples/data/Fruit360/apple/r_254_100.jpg | Bin 0 -> 5080 bytes examples/data/Fruit360/apple/r_255_100.jpg | Bin 0 -> 5029 bytes examples/data/Fruit360/apple/r_256_100.jpg | Bin 0 -> 5029 bytes examples/data/Fruit360/apple/r_257_100.jpg | Bin 0 -> 4992 bytes examples/data/Fruit360/apple/r_258_100.jpg | Bin 0 -> 5051 bytes examples/data/Fruit360/apple/r_259_100.jpg | Bin 0 -> 5045 bytes examples/data/Fruit360/apple/r_25_100.jpg | Bin 0 -> 5497 bytes examples/data/Fruit360/apple/r_260_100.jpg | Bin 0 -> 5034 bytes examples/data/Fruit360/apple/r_261_100.jpg | Bin 0 -> 5053 bytes examples/data/Fruit360/apple/r_262_100.jpg | Bin 0 -> 5069 bytes examples/data/Fruit360/apple/r_263_100.jpg | Bin 0 -> 5038 bytes examples/data/Fruit360/apple/r_264_100.jpg | Bin 0 -> 5029 bytes examples/data/Fruit360/apple/r_265_100.jpg | Bin 0 -> 5055 bytes examples/data/Fruit360/apple/r_266_100.jpg | Bin 0 -> 5027 bytes examples/data/Fruit360/apple/r_267_100.jpg | Bin 0 -> 5075 bytes examples/data/Fruit360/apple/r_268_100.jpg | Bin 0 -> 5066 bytes examples/data/Fruit360/apple/r_269_100.jpg | Bin 0 -> 5094 bytes examples/data/Fruit360/apple/r_26_100.jpg | Bin 0 -> 5495 bytes examples/data/Fruit360/apple/r_270_100.jpg | Bin 0 -> 5082 bytes examples/data/Fruit360/apple/r_271_100.jpg | Bin 0 -> 5084 bytes examples/data/Fruit360/apple/r_272_100.jpg | Bin 0 -> 5071 bytes examples/data/Fruit360/apple/r_273_100.jpg | Bin 0 -> 5067 bytes examples/data/Fruit360/apple/r_274_100.jpg | Bin 0 -> 5058 bytes examples/data/Fruit360/apple/r_275_100.jpg | Bin 0 -> 5096 bytes examples/data/Fruit360/apple/r_276_100.jpg | Bin 0 -> 5128 bytes examples/data/Fruit360/apple/r_277_100.jpg | Bin 0 -> 5084 bytes examples/data/Fruit360/apple/r_278_100.jpg | Bin 0 -> 5150 bytes examples/data/Fruit360/apple/r_279_100.jpg | Bin 0 -> 5150 bytes examples/data/Fruit360/apple/r_27_100.jpg | Bin 0 -> 5483 bytes examples/data/Fruit360/apple/r_280_100.jpg | Bin 0 -> 5135 bytes examples/data/Fruit360/apple/r_281_100.jpg | Bin 0 -> 5132 bytes examples/data/Fruit360/apple/r_282_100.jpg | Bin 0 -> 5098 bytes examples/data/Fruit360/apple/r_283_100.jpg | Bin 0 -> 5109 bytes examples/data/Fruit360/apple/r_284_100.jpg | Bin 0 -> 5115 bytes examples/data/Fruit360/apple/r_285_100.jpg | Bin 0 -> 5137 bytes examples/data/Fruit360/apple/r_286_100.jpg | Bin 0 -> 5149 bytes examples/data/Fruit360/apple/r_287_100.jpg | Bin 0 -> 5157 bytes examples/data/Fruit360/apple/r_288_100.jpg | Bin 0 -> 5141 bytes examples/data/Fruit360/apple/r_289_100.jpg | Bin 0 -> 5143 bytes examples/data/Fruit360/apple/r_28_100.jpg | Bin 0 -> 5409 bytes examples/data/Fruit360/apple/r_290_100.jpg | Bin 0 -> 5126 bytes examples/data/Fruit360/apple/r_291_100.jpg | Bin 0 -> 5201 bytes examples/data/Fruit360/apple/r_292_100.jpg | Bin 0 -> 5212 bytes examples/data/Fruit360/apple/r_293_100.jpg | Bin 0 -> 5209 bytes examples/data/Fruit360/apple/r_294_100.jpg | Bin 0 -> 5242 bytes examples/data/Fruit360/apple/r_295_100.jpg | Bin 0 -> 5284 bytes examples/data/Fruit360/apple/r_296_100.jpg | Bin 0 -> 5247 bytes examples/data/Fruit360/apple/r_297_100.jpg | Bin 0 -> 5251 bytes examples/data/Fruit360/apple/r_298_100.jpg | Bin 0 -> 5248 bytes examples/data/Fruit360/apple/r_299_100.jpg | Bin 0 -> 5293 bytes examples/data/Fruit360/apple/r_29_100.jpg | Bin 0 -> 5471 bytes examples/data/Fruit360/apple/r_2_100.jpg | Bin 0 -> 5458 bytes examples/data/Fruit360/apple/r_300_100.jpg | Bin 0 -> 5312 bytes examples/data/Fruit360/apple/r_301_100.jpg | Bin 0 -> 5283 bytes examples/data/Fruit360/apple/r_302_100.jpg | Bin 0 -> 5319 bytes examples/data/Fruit360/apple/r_303_100.jpg | Bin 0 -> 5325 bytes examples/data/Fruit360/apple/r_304_100.jpg | Bin 0 -> 5332 bytes examples/data/Fruit360/apple/r_305_100.jpg | Bin 0 -> 5321 bytes examples/data/Fruit360/apple/r_306_100.jpg | Bin 0 -> 5312 bytes examples/data/Fruit360/apple/r_307_100.jpg | Bin 0 -> 5338 bytes examples/data/Fruit360/apple/r_308_100.jpg | Bin 0 -> 5340 bytes examples/data/Fruit360/apple/r_309_100.jpg | Bin 0 -> 5327 bytes examples/data/Fruit360/apple/r_30_100.jpg | Bin 0 -> 5394 bytes examples/data/Fruit360/apple/r_310_100.jpg | Bin 0 -> 5334 bytes examples/data/Fruit360/apple/r_311_100.jpg | Bin 0 -> 5320 bytes examples/data/Fruit360/apple/r_312_100.jpg | Bin 0 -> 5405 bytes examples/data/Fruit360/apple/r_313_100.jpg | Bin 0 -> 5365 bytes examples/data/Fruit360/apple/r_314_100.jpg | Bin 0 -> 5397 bytes examples/data/Fruit360/apple/r_315_100.jpg | Bin 0 -> 5434 bytes examples/data/Fruit360/apple/r_316_100.jpg | Bin 0 -> 5388 bytes examples/data/Fruit360/apple/r_317_100.jpg | Bin 0 -> 5478 bytes examples/data/Fruit360/apple/r_318_100.jpg | Bin 0 -> 5480 bytes examples/data/Fruit360/apple/r_319_100.jpg | Bin 0 -> 5498 bytes examples/data/Fruit360/apple/r_31_100.jpg | Bin 0 -> 5386 bytes examples/data/Fruit360/apple/r_320_100.jpg | Bin 0 -> 5411 bytes examples/data/Fruit360/lemon/0_100.jpg | Bin 0 -> 4841 bytes examples/data/Fruit360/lemon/100_100.jpg | Bin 0 -> 4865 bytes examples/data/Fruit360/lemon/101_100.jpg | Bin 0 -> 4851 bytes examples/data/Fruit360/lemon/102_100.jpg | Bin 0 -> 4892 bytes examples/data/Fruit360/lemon/103_100.jpg | Bin 0 -> 4871 bytes examples/data/Fruit360/lemon/104_100.jpg | Bin 0 -> 4903 bytes examples/data/Fruit360/lemon/105_100.jpg | Bin 0 -> 4849 bytes examples/data/Fruit360/lemon/106_100.jpg | Bin 0 -> 4893 bytes examples/data/Fruit360/lemon/107_100.jpg | Bin 0 -> 4896 bytes examples/data/Fruit360/lemon/108_100.jpg | Bin 0 -> 4874 bytes examples/data/Fruit360/lemon/109_100.jpg | Bin 0 -> 4889 bytes examples/data/Fruit360/lemon/10_100.jpg | Bin 0 -> 4927 bytes examples/data/Fruit360/lemon/110_100.jpg | Bin 0 -> 4891 bytes examples/data/Fruit360/lemon/111_100.jpg | Bin 0 -> 4886 bytes examples/data/Fruit360/lemon/112_100.jpg | Bin 0 -> 4935 bytes examples/data/Fruit360/lemon/113_100.jpg | Bin 0 -> 4986 bytes examples/data/Fruit360/lemon/114_100.jpg | Bin 0 -> 4973 bytes examples/data/Fruit360/lemon/115_100.jpg | Bin 0 -> 4993 bytes examples/data/Fruit360/lemon/116_100.jpg | Bin 0 -> 5063 bytes examples/data/Fruit360/lemon/117_100.jpg | Bin 0 -> 5007 bytes examples/data/Fruit360/lemon/118_100.jpg | Bin 0 -> 5015 bytes examples/data/Fruit360/lemon/119_100.jpg | Bin 0 -> 5036 bytes examples/data/Fruit360/lemon/11_100.jpg | Bin 0 -> 4810 bytes examples/data/Fruit360/lemon/120_100.jpg | Bin 0 -> 5044 bytes examples/data/Fruit360/lemon/121_100.jpg | Bin 0 -> 5068 bytes examples/data/Fruit360/lemon/122_100.jpg | Bin 0 -> 5189 bytes examples/data/Fruit360/lemon/123_100.jpg | Bin 0 -> 5174 bytes examples/data/Fruit360/lemon/124_100.jpg | Bin 0 -> 5185 bytes examples/data/Fruit360/lemon/125_100.jpg | Bin 0 -> 5148 bytes examples/data/Fruit360/lemon/126_100.jpg | Bin 0 -> 5131 bytes examples/data/Fruit360/lemon/127_100.jpg | Bin 0 -> 5142 bytes examples/data/Fruit360/lemon/128_100.jpg | Bin 0 -> 5115 bytes examples/data/Fruit360/lemon/129_100.jpg | Bin 0 -> 5120 bytes examples/data/Fruit360/lemon/12_100.jpg | Bin 0 -> 4802 bytes examples/data/Fruit360/lemon/130_100.jpg | Bin 0 -> 5098 bytes examples/data/Fruit360/lemon/131_100.jpg | Bin 0 -> 5081 bytes examples/data/Fruit360/lemon/132_100.jpg | Bin 0 -> 5057 bytes examples/data/Fruit360/lemon/133_100.jpg | Bin 0 -> 5043 bytes examples/data/Fruit360/lemon/134_100.jpg | Bin 0 -> 5018 bytes examples/data/Fruit360/lemon/135_100.jpg | Bin 0 -> 5040 bytes examples/data/Fruit360/lemon/136_100.jpg | Bin 0 -> 4995 bytes examples/data/Fruit360/lemon/137_100.jpg | Bin 0 -> 4981 bytes examples/data/Fruit360/lemon/138_100.jpg | Bin 0 -> 4974 bytes examples/data/Fruit360/lemon/139_100.jpg | Bin 0 -> 4973 bytes examples/data/Fruit360/lemon/13_100.jpg | Bin 0 -> 4803 bytes examples/data/Fruit360/lemon/140_100.jpg | Bin 0 -> 4984 bytes examples/data/Fruit360/lemon/141_100.jpg | Bin 0 -> 4938 bytes examples/data/Fruit360/lemon/142_100.jpg | Bin 0 -> 4900 bytes examples/data/Fruit360/lemon/143_100.jpg | Bin 0 -> 4877 bytes examples/data/Fruit360/lemon/144_100.jpg | Bin 0 -> 4877 bytes examples/data/Fruit360/lemon/145_100.jpg | Bin 0 -> 4831 bytes examples/data/Fruit360/lemon/146_100.jpg | Bin 0 -> 4801 bytes examples/data/Fruit360/lemon/14_100.jpg | Bin 0 -> 4827 bytes examples/data/Fruit360/lemon/15_100.jpg | Bin 0 -> 4817 bytes examples/data/Fruit360/lemon/167_100.jpg | Bin 0 -> 4808 bytes examples/data/Fruit360/lemon/169_100.jpg | Bin 0 -> 4802 bytes examples/data/Fruit360/lemon/16_100.jpg | Bin 0 -> 4839 bytes examples/data/Fruit360/lemon/170_100.jpg | Bin 0 -> 4806 bytes examples/data/Fruit360/lemon/171_100.jpg | Bin 0 -> 4841 bytes examples/data/Fruit360/lemon/172_100.jpg | Bin 0 -> 4817 bytes examples/data/Fruit360/lemon/173_100.jpg | Bin 0 -> 4859 bytes examples/data/Fruit360/lemon/174_100.jpg | Bin 0 -> 4853 bytes examples/data/Fruit360/lemon/176_100.jpg | Bin 0 -> 4816 bytes examples/data/Fruit360/lemon/178_100.jpg | Bin 0 -> 4801 bytes examples/data/Fruit360/lemon/179_100.jpg | Bin 0 -> 4821 bytes examples/data/Fruit360/lemon/17_100.jpg | Bin 0 -> 4831 bytes examples/data/Fruit360/lemon/180_100.jpg | Bin 0 -> 4810 bytes examples/data/Fruit360/lemon/181_100.jpg | Bin 0 -> 4872 bytes examples/data/Fruit360/lemon/182_100.jpg | Bin 0 -> 4875 bytes examples/data/Fruit360/lemon/183_100.jpg | Bin 0 -> 4903 bytes examples/data/Fruit360/lemon/184_100.jpg | Bin 0 -> 4857 bytes examples/data/Fruit360/lemon/185_100.jpg | Bin 0 -> 4867 bytes examples/data/Fruit360/lemon/186_100.jpg | Bin 0 -> 4837 bytes examples/data/Fruit360/lemon/187_100.jpg | Bin 0 -> 4812 bytes examples/data/Fruit360/lemon/188_100.jpg | Bin 0 -> 4819 bytes examples/data/Fruit360/lemon/18_100.jpg | Bin 0 -> 4836 bytes examples/data/Fruit360/lemon/1_100.jpg | Bin 0 -> 4866 bytes examples/data/Fruit360/lemon/20_100.jpg | Bin 0 -> 4800 bytes examples/data/Fruit360/lemon/215_100.jpg | Bin 0 -> 4799 bytes examples/data/Fruit360/lemon/216_100.jpg | Bin 0 -> 4897 bytes examples/data/Fruit360/lemon/217_100.jpg | Bin 0 -> 4910 bytes examples/data/Fruit360/lemon/218_100.jpg | Bin 0 -> 4919 bytes examples/data/Fruit360/lemon/219_100.jpg | Bin 0 -> 4961 bytes examples/data/Fruit360/lemon/21_100.jpg | Bin 0 -> 4805 bytes examples/data/Fruit360/lemon/220_100.jpg | Bin 0 -> 4914 bytes examples/data/Fruit360/lemon/221_100.jpg | Bin 0 -> 4942 bytes examples/data/Fruit360/lemon/222_100.jpg | Bin 0 -> 4968 bytes examples/data/Fruit360/lemon/223_100.jpg | Bin 0 -> 4991 bytes examples/data/Fruit360/lemon/224_100.jpg | Bin 0 -> 5042 bytes examples/data/Fruit360/lemon/225_100.jpg | Bin 0 -> 5037 bytes examples/data/Fruit360/lemon/226_100.jpg | Bin 0 -> 5071 bytes examples/data/Fruit360/lemon/227_100.jpg | Bin 0 -> 5060 bytes examples/data/Fruit360/lemon/228_100.jpg | Bin 0 -> 5039 bytes examples/data/Fruit360/lemon/229_100.jpg | Bin 0 -> 5054 bytes examples/data/Fruit360/lemon/22_100.jpg | Bin 0 -> 4813 bytes examples/data/Fruit360/lemon/230_100.jpg | Bin 0 -> 5053 bytes examples/data/Fruit360/lemon/231_100.jpg | Bin 0 -> 5033 bytes examples/data/Fruit360/lemon/232_100.jpg | Bin 0 -> 5034 bytes examples/data/Fruit360/lemon/233_100.jpg | Bin 0 -> 4992 bytes examples/data/Fruit360/lemon/234_100.jpg | Bin 0 -> 4944 bytes examples/data/Fruit360/lemon/235_100.jpg | Bin 0 -> 5001 bytes examples/data/Fruit360/lemon/236_100.jpg | Bin 0 -> 4969 bytes examples/data/Fruit360/lemon/237_100.jpg | Bin 0 -> 4956 bytes examples/data/Fruit360/lemon/238_100.jpg | Bin 0 -> 4965 bytes examples/data/Fruit360/lemon/239_100.jpg | Bin 0 -> 4922 bytes examples/data/Fruit360/lemon/23_100.jpg | Bin 0 -> 4801 bytes examples/data/Fruit360/lemon/240_100.jpg | Bin 0 -> 4931 bytes examples/data/Fruit360/lemon/241_100.jpg | Bin 0 -> 4974 bytes examples/data/Fruit360/lemon/242_100.jpg | Bin 0 -> 4961 bytes examples/data/Fruit360/lemon/243_100.jpg | Bin 0 -> 4952 bytes examples/data/Fruit360/lemon/244_100.jpg | Bin 0 -> 4941 bytes examples/data/Fruit360/lemon/245_100.jpg | Bin 0 -> 4931 bytes examples/data/Fruit360/lemon/246_100.jpg | Bin 0 -> 4939 bytes examples/data/Fruit360/lemon/247_100.jpg | Bin 0 -> 4922 bytes examples/data/Fruit360/lemon/248_100.jpg | Bin 0 -> 4936 bytes examples/data/Fruit360/lemon/249_100.jpg | Bin 0 -> 4946 bytes examples/data/Fruit360/lemon/24_100.jpg | Bin 0 -> 4797 bytes examples/data/Fruit360/lemon/250_100.jpg | Bin 0 -> 4926 bytes examples/data/Fruit360/lemon/251_100.jpg | Bin 0 -> 4955 bytes examples/data/Fruit360/lemon/252_100.jpg | Bin 0 -> 4902 bytes examples/data/Fruit360/lemon/253_100.jpg | Bin 0 -> 4931 bytes examples/data/Fruit360/lemon/254_100.jpg | Bin 0 -> 4940 bytes examples/data/Fruit360/lemon/255_100.jpg | Bin 0 -> 4904 bytes examples/data/Fruit360/lemon/256_100.jpg | Bin 0 -> 4890 bytes examples/data/Fruit360/lemon/257_100.jpg | Bin 0 -> 4880 bytes examples/data/Fruit360/lemon/258_100.jpg | Bin 0 -> 4877 bytes examples/data/Fruit360/lemon/259_100.jpg | Bin 0 -> 4896 bytes examples/data/Fruit360/lemon/25_100.jpg | Bin 0 -> 4797 bytes examples/data/Fruit360/lemon/260_100.jpg | Bin 0 -> 4886 bytes examples/data/Fruit360/lemon/261_100.jpg | Bin 0 -> 4844 bytes examples/data/Fruit360/lemon/262_100.jpg | Bin 0 -> 4881 bytes examples/data/Fruit360/lemon/263_100.jpg | Bin 0 -> 4865 bytes examples/data/Fruit360/lemon/264_100.jpg | Bin 0 -> 4881 bytes examples/data/Fruit360/lemon/265_100.jpg | Bin 0 -> 4862 bytes examples/data/Fruit360/lemon/266_100.jpg | Bin 0 -> 4845 bytes examples/data/Fruit360/lemon/267_100.jpg | Bin 0 -> 4862 bytes examples/data/Fruit360/lemon/268_100.jpg | Bin 0 -> 4895 bytes examples/data/Fruit360/lemon/269_100.jpg | Bin 0 -> 4917 bytes examples/data/Fruit360/lemon/270_100.jpg | Bin 0 -> 4890 bytes examples/data/Fruit360/lemon/271_100.jpg | Bin 0 -> 4857 bytes examples/data/Fruit360/lemon/272_100.jpg | Bin 0 -> 4899 bytes examples/data/Fruit360/lemon/273_100.jpg | Bin 0 -> 4883 bytes examples/data/Fruit360/lemon/274_100.jpg | Bin 0 -> 4875 bytes examples/data/Fruit360/lemon/275_100.jpg | Bin 0 -> 4893 bytes examples/data/Fruit360/lemon/276_100.jpg | Bin 0 -> 4849 bytes examples/data/Fruit360/lemon/277_100.jpg | Bin 0 -> 4885 bytes examples/data/Fruit360/lemon/278_100.jpg | Bin 0 -> 4892 bytes examples/data/Fruit360/lemon/279_100.jpg | Bin 0 -> 4896 bytes examples/data/Fruit360/lemon/27_100.jpg | Bin 0 -> 4828 bytes examples/data/Fruit360/lemon/280_100.jpg | Bin 0 -> 4883 bytes examples/data/Fruit360/lemon/281_100.jpg | Bin 0 -> 4872 bytes examples/data/Fruit360/lemon/282_100.jpg | Bin 0 -> 4877 bytes examples/data/Fruit360/lemon/283_100.jpg | Bin 0 -> 4890 bytes examples/data/Fruit360/lemon/284_100.jpg | Bin 0 -> 4908 bytes examples/data/Fruit360/lemon/285_100.jpg | Bin 0 -> 4923 bytes examples/data/Fruit360/lemon/286_100.jpg | Bin 0 -> 4941 bytes examples/data/Fruit360/lemon/287_100.jpg | Bin 0 -> 4883 bytes examples/data/Fruit360/lemon/288_100.jpg | Bin 0 -> 4904 bytes examples/data/Fruit360/lemon/289_100.jpg | Bin 0 -> 4808 bytes examples/data/Fruit360/lemon/290_100.jpg | Bin 0 -> 4925 bytes examples/data/Fruit360/lemon/291_100.jpg | Bin 0 -> 4879 bytes examples/data/Fruit360/lemon/292_100.jpg | Bin 0 -> 4891 bytes examples/data/Fruit360/lemon/293_100.jpg | Bin 0 -> 4809 bytes examples/data/Fruit360/lemon/294_100.jpg | Bin 0 -> 4819 bytes examples/data/Fruit360/lemon/295_100.jpg | Bin 0 -> 4798 bytes examples/data/Fruit360/lemon/296_100.jpg | Bin 0 -> 4829 bytes examples/data/Fruit360/lemon/297_100.jpg | Bin 0 -> 4825 bytes examples/data/Fruit360/lemon/298_100.jpg | Bin 0 -> 4808 bytes examples/data/Fruit360/lemon/299_100.jpg | Bin 0 -> 4821 bytes examples/data/Fruit360/lemon/2_100.jpg | Bin 0 -> 4874 bytes examples/data/Fruit360/lemon/300_100.jpg | Bin 0 -> 4832 bytes examples/data/Fruit360/lemon/301_100.jpg | Bin 0 -> 4812 bytes examples/data/Fruit360/lemon/302_100.jpg | Bin 0 -> 4826 bytes examples/data/Fruit360/lemon/303_100.jpg | Bin 0 -> 4823 bytes examples/data/Fruit360/lemon/304_100.jpg | Bin 0 -> 4832 bytes examples/data/Fruit360/lemon/305_100.jpg | Bin 0 -> 4855 bytes examples/data/Fruit360/lemon/306_100.jpg | Bin 0 -> 4855 bytes examples/data/Fruit360/lemon/307_100.jpg | Bin 0 -> 4881 bytes examples/data/Fruit360/lemon/308_100.jpg | Bin 0 -> 4911 bytes examples/data/Fruit360/lemon/309_100.jpg | Bin 0 -> 4891 bytes examples/data/Fruit360/lemon/310_100.jpg | Bin 0 -> 4928 bytes examples/data/Fruit360/lemon/311_100.jpg | Bin 0 -> 4914 bytes examples/data/Fruit360/lemon/312_100.jpg | Bin 0 -> 4902 bytes examples/data/Fruit360/lemon/313_100.jpg | Bin 0 -> 4846 bytes examples/data/Fruit360/lemon/314_100.jpg | Bin 0 -> 4853 bytes examples/data/Fruit360/lemon/315_100.jpg | Bin 0 -> 4817 bytes examples/data/Fruit360/lemon/316_100.jpg | Bin 0 -> 4822 bytes examples/data/Fruit360/lemon/317_100.jpg | Bin 0 -> 4813 bytes examples/data/Fruit360/lemon/318_100.jpg | Bin 0 -> 4820 bytes examples/data/Fruit360/lemon/319_100.jpg | Bin 0 -> 4839 bytes examples/data/Fruit360/lemon/320_100.jpg | Bin 0 -> 4822 bytes examples/data/Fruit360/lemon/321_100.jpg | Bin 0 -> 4827 bytes examples/data/Fruit360/lemon/322_100.jpg | Bin 0 -> 4831 bytes examples/data/Fruit360/lemon/323_100.jpg | Bin 0 -> 4813 bytes examples/data/Fruit360/lemon/325_100.jpg | Bin 0 -> 4806 bytes examples/data/Fruit360/lemon/327_100.jpg | Bin 0 -> 4807 bytes examples/data/Fruit360/lemon/33_100.jpg | Bin 0 -> 4796 bytes examples/data/Fruit360/lemon/34_100.jpg | Bin 0 -> 4832 bytes examples/data/Fruit360/lemon/35_100.jpg | Bin 0 -> 4829 bytes examples/data/Fruit360/lemon/36_100.jpg | Bin 0 -> 4816 bytes examples/data/Fruit360/lemon/3_100.jpg | Bin 0 -> 4893 bytes examples/data/Fruit360/lemon/4_100.jpg | Bin 0 -> 4881 bytes examples/data/Fruit360/lemon/5_100.jpg | Bin 0 -> 4901 bytes examples/data/Fruit360/lemon/62_100.jpg | Bin 0 -> 4812 bytes examples/data/Fruit360/lemon/63_100.jpg | Bin 0 -> 4807 bytes examples/data/Fruit360/lemon/64_100.jpg | Bin 0 -> 4814 bytes examples/data/Fruit360/lemon/65_100.jpg | Bin 0 -> 4896 bytes examples/data/Fruit360/lemon/66_100.jpg | Bin 0 -> 4868 bytes examples/data/Fruit360/lemon/67_100.jpg | Bin 0 -> 4877 bytes examples/data/Fruit360/lemon/68_100.jpg | Bin 0 -> 4900 bytes examples/data/Fruit360/lemon/69_100.jpg | Bin 0 -> 4920 bytes examples/data/Fruit360/lemon/6_100.jpg | Bin 0 -> 4933 bytes examples/data/Fruit360/lemon/70_100.jpg | Bin 0 -> 4882 bytes examples/data/Fruit360/lemon/71_100.jpg | Bin 0 -> 4899 bytes examples/data/Fruit360/lemon/72_100.jpg | Bin 0 -> 4904 bytes examples/data/Fruit360/lemon/73_100.jpg | Bin 0 -> 4879 bytes examples/data/Fruit360/lemon/74_100.jpg | Bin 0 -> 4895 bytes examples/data/Fruit360/lemon/75_100.jpg | Bin 0 -> 4905 bytes examples/data/Fruit360/lemon/76_100.jpg | Bin 0 -> 4943 bytes examples/data/Fruit360/lemon/77_100.jpg | Bin 0 -> 4946 bytes examples/data/Fruit360/lemon/78_100.jpg | Bin 0 -> 4951 bytes examples/data/Fruit360/lemon/79_100.jpg | Bin 0 -> 4954 bytes examples/data/Fruit360/lemon/7_100.jpg | Bin 0 -> 4917 bytes examples/data/Fruit360/lemon/80_100.jpg | Bin 0 -> 4994 bytes examples/data/Fruit360/lemon/81_100.jpg | Bin 0 -> 4988 bytes examples/data/Fruit360/lemon/82_100.jpg | Bin 0 -> 4959 bytes examples/data/Fruit360/lemon/83_100.jpg | Bin 0 -> 4977 bytes examples/data/Fruit360/lemon/84_100.jpg | Bin 0 -> 4961 bytes examples/data/Fruit360/lemon/85_100.jpg | Bin 0 -> 4967 bytes examples/data/Fruit360/lemon/86_100.jpg | Bin 0 -> 4949 bytes examples/data/Fruit360/lemon/87_100.jpg | Bin 0 -> 4938 bytes examples/data/Fruit360/lemon/88_100.jpg | Bin 0 -> 4968 bytes examples/data/Fruit360/lemon/89_100.jpg | Bin 0 -> 4952 bytes examples/data/Fruit360/lemon/8_100.jpg | Bin 0 -> 4900 bytes examples/data/Fruit360/lemon/90_100.jpg | Bin 0 -> 4972 bytes examples/data/Fruit360/lemon/91_100.jpg | Bin 0 -> 4920 bytes examples/data/Fruit360/lemon/92_100.jpg | Bin 0 -> 4934 bytes examples/data/Fruit360/lemon/93_100.jpg | Bin 0 -> 4924 bytes examples/data/Fruit360/lemon/94_100.jpg | Bin 0 -> 4961 bytes examples/data/Fruit360/lemon/95_100.jpg | Bin 0 -> 4888 bytes examples/data/Fruit360/lemon/96_100.jpg | Bin 0 -> 4885 bytes examples/data/Fruit360/lemon/97_100.jpg | Bin 0 -> 4897 bytes examples/data/Fruit360/lemon/98_100.jpg | Bin 0 -> 4865 bytes examples/data/Fruit360/lemon/99_100.jpg | Bin 0 -> 4847 bytes examples/data/Fruit360/lemon/9_100.jpg | Bin 0 -> 4932 bytes examples/data/Fruit360/lemon/r_100_100.jpg | Bin 0 -> 5332 bytes examples/data/Fruit360/lemon/r_101_100.jpg | Bin 0 -> 5271 bytes examples/data/Fruit360/lemon/r_102_100.jpg | Bin 0 -> 5254 bytes examples/data/Fruit360/lemon/r_103_100.jpg | Bin 0 -> 5279 bytes examples/data/Fruit360/lemon/r_104_100.jpg | Bin 0 -> 5278 bytes examples/data/Fruit360/lemon/r_105_100.jpg | Bin 0 -> 5373 bytes examples/data/Fruit360/lemon/r_106_100.jpg | Bin 0 -> 5267 bytes examples/data/Fruit360/lemon/r_107_100.jpg | Bin 0 -> 5304 bytes examples/data/Fruit360/lemon/r_108_100.jpg | Bin 0 -> 5309 bytes examples/data/Fruit360/lemon/r_109_100.jpg | Bin 0 -> 5349 bytes examples/data/Fruit360/lemon/r_110_100.jpg | Bin 0 -> 5345 bytes examples/data/Fruit360/lemon/r_111_100.jpg | Bin 0 -> 5372 bytes examples/data/Fruit360/lemon/r_112_100.jpg | Bin 0 -> 5391 bytes examples/data/Fruit360/lemon/r_113_100.jpg | Bin 0 -> 5400 bytes examples/data/Fruit360/lemon/r_114_100.jpg | Bin 0 -> 5358 bytes examples/data/Fruit360/lemon/r_115_100.jpg | Bin 0 -> 5420 bytes examples/data/Fruit360/lemon/r_116_100.jpg | Bin 0 -> 5366 bytes examples/data/Fruit360/lemon/r_117_100.jpg | Bin 0 -> 5386 bytes examples/data/Fruit360/lemon/r_118_100.jpg | Bin 0 -> 5374 bytes examples/data/Fruit360/lemon/r_119_100.jpg | Bin 0 -> 5392 bytes examples/data/Fruit360/lemon/r_120_100.jpg | Bin 0 -> 5328 bytes examples/data/Fruit360/lemon/r_121_100.jpg | Bin 0 -> 5365 bytes examples/data/Fruit360/lemon/r_122_100.jpg | Bin 0 -> 5332 bytes examples/data/Fruit360/lemon/r_123_100.jpg | Bin 0 -> 5331 bytes examples/data/Fruit360/lemon/r_124_100.jpg | Bin 0 -> 5243 bytes examples/data/Fruit360/lemon/r_125_100.jpg | Bin 0 -> 5244 bytes examples/data/Fruit360/lemon/r_126_100.jpg | Bin 0 -> 5277 bytes examples/data/Fruit360/lemon/r_127_100.jpg | Bin 0 -> 5265 bytes examples/data/Fruit360/lemon/r_128_100.jpg | Bin 0 -> 5254 bytes examples/data/Fruit360/lemon/r_129_100.jpg | Bin 0 -> 5226 bytes examples/data/Fruit360/lemon/r_130_100.jpg | Bin 0 -> 5257 bytes examples/data/Fruit360/lemon/r_131_100.jpg | Bin 0 -> 5294 bytes examples/data/Fruit360/lemon/r_132_100.jpg | Bin 0 -> 5238 bytes examples/data/Fruit360/lemon/r_133_100.jpg | Bin 0 -> 5246 bytes examples/data/Fruit360/lemon/r_134_100.jpg | Bin 0 -> 5192 bytes examples/data/Fruit360/lemon/r_135_100.jpg | Bin 0 -> 5194 bytes examples/data/Fruit360/lemon/r_136_100.jpg | Bin 0 -> 5227 bytes examples/data/Fruit360/lemon/r_137_100.jpg | Bin 0 -> 5169 bytes examples/data/Fruit360/lemon/r_138_100.jpg | Bin 0 -> 5148 bytes examples/data/Fruit360/lemon/r_139_100.jpg | Bin 0 -> 5165 bytes examples/data/Fruit360/lemon/r_140_100.jpg | Bin 0 -> 5180 bytes examples/data/Fruit360/lemon/r_141_100.jpg | Bin 0 -> 5175 bytes examples/data/Fruit360/lemon/r_142_100.jpg | Bin 0 -> 5155 bytes examples/data/Fruit360/lemon/r_143_100.jpg | Bin 0 -> 5181 bytes examples/data/Fruit360/lemon/r_144_100.jpg | Bin 0 -> 5147 bytes examples/data/Fruit360/lemon/r_145_100.jpg | Bin 0 -> 5174 bytes examples/data/Fruit360/lemon/r_146_100.jpg | Bin 0 -> 5173 bytes examples/data/Fruit360/lemon/r_147_100.jpg | Bin 0 -> 5194 bytes examples/data/Fruit360/lemon/r_148_100.jpg | Bin 0 -> 5173 bytes examples/data/Fruit360/lemon/r_149_100.jpg | Bin 0 -> 5165 bytes examples/data/Fruit360/lemon/r_150_100.jpg | Bin 0 -> 5121 bytes examples/data/Fruit360/lemon/r_151_100.jpg | Bin 0 -> 5159 bytes examples/data/Fruit360/lemon/r_152_100.jpg | Bin 0 -> 5185 bytes examples/data/Fruit360/lemon/r_153_100.jpg | Bin 0 -> 5164 bytes examples/data/Fruit360/lemon/r_154_100.jpg | Bin 0 -> 5151 bytes examples/data/Fruit360/lemon/r_155_100.jpg | Bin 0 -> 5167 bytes examples/data/Fruit360/lemon/r_156_100.jpg | Bin 0 -> 5166 bytes examples/data/Fruit360/lemon/r_157_100.jpg | Bin 0 -> 5185 bytes examples/data/Fruit360/lemon/r_158_100.jpg | Bin 0 -> 5172 bytes examples/data/Fruit360/lemon/r_159_100.jpg | Bin 0 -> 5167 bytes examples/data/Fruit360/lemon/r_160_100.jpg | Bin 0 -> 5131 bytes examples/data/Fruit360/lemon/r_161_100.jpg | Bin 0 -> 5135 bytes examples/data/Fruit360/lemon/r_162_100.jpg | Bin 0 -> 5091 bytes examples/data/Fruit360/lemon/r_163_100.jpg | Bin 0 -> 5128 bytes examples/data/Fruit360/lemon/r_164_100.jpg | Bin 0 -> 5168 bytes examples/data/Fruit360/lemon/r_165_100.jpg | Bin 0 -> 5104 bytes examples/data/Fruit360/lemon/r_166_100.jpg | Bin 0 -> 5081 bytes examples/data/Fruit360/lemon/r_167_100.jpg | Bin 0 -> 5092 bytes examples/data/Fruit360/lemon/r_168_100.jpg | Bin 0 -> 5059 bytes examples/data/Fruit360/lemon/r_169_100.jpg | Bin 0 -> 4954 bytes examples/data/Fruit360/lemon/r_170_100.jpg | Bin 0 -> 4968 bytes examples/data/Fruit360/lemon/r_171_100.jpg | Bin 0 -> 4948 bytes examples/data/Fruit360/lemon/r_172_100.jpg | Bin 0 -> 4862 bytes examples/data/Fruit360/lemon/r_173_100.jpg | Bin 0 -> 4790 bytes examples/data/Fruit360/lemon/r_174_100.jpg | Bin 0 -> 4803 bytes examples/data/Fruit360/lemon/r_175_100.jpg | Bin 0 -> 4779 bytes examples/data/Fruit360/lemon/r_176_100.jpg | Bin 0 -> 4767 bytes examples/data/Fruit360/lemon/r_177_100.jpg | Bin 0 -> 4749 bytes examples/data/Fruit360/lemon/r_179_100.jpg | Bin 0 -> 4739 bytes examples/data/Fruit360/lemon/r_200_100.jpg | Bin 0 -> 4744 bytes examples/data/Fruit360/lemon/r_201_100.jpg | Bin 0 -> 4791 bytes examples/data/Fruit360/lemon/r_202_100.jpg | Bin 0 -> 4799 bytes examples/data/Fruit360/lemon/r_203_100.jpg | Bin 0 -> 4776 bytes examples/data/Fruit360/lemon/r_204_100.jpg | Bin 0 -> 4805 bytes examples/data/Fruit360/lemon/r_205_100.jpg | Bin 0 -> 4792 bytes examples/data/Fruit360/lemon/r_206_100.jpg | Bin 0 -> 4834 bytes examples/data/Fruit360/lemon/r_207_100.jpg | Bin 0 -> 4902 bytes examples/data/Fruit360/lemon/r_208_100.jpg | Bin 0 -> 4911 bytes examples/data/Fruit360/lemon/r_209_100.jpg | Bin 0 -> 4871 bytes examples/data/Fruit360/lemon/r_210_100.jpg | Bin 0 -> 4983 bytes examples/data/Fruit360/lemon/r_211_100.jpg | Bin 0 -> 5032 bytes examples/data/Fruit360/lemon/r_212_100.jpg | Bin 0 -> 5020 bytes examples/data/Fruit360/lemon/r_213_100.jpg | Bin 0 -> 5042 bytes examples/data/Fruit360/lemon/r_214_100.jpg | Bin 0 -> 5013 bytes examples/data/Fruit360/lemon/r_215_100.jpg | Bin 0 -> 5013 bytes examples/data/Fruit360/lemon/r_216_100.jpg | Bin 0 -> 4998 bytes examples/data/Fruit360/lemon/r_217_100.jpg | Bin 0 -> 5027 bytes examples/data/Fruit360/lemon/r_218_100.jpg | Bin 0 -> 5005 bytes examples/data/Fruit360/lemon/r_219_100.jpg | Bin 0 -> 5026 bytes examples/data/Fruit360/lemon/r_220_100.jpg | Bin 0 -> 5009 bytes examples/data/Fruit360/lemon/r_221_100.jpg | Bin 0 -> 5032 bytes examples/data/Fruit360/lemon/r_222_100.jpg | Bin 0 -> 5033 bytes examples/data/Fruit360/lemon/r_223_100.jpg | Bin 0 -> 5009 bytes examples/data/Fruit360/lemon/r_224_100.jpg | Bin 0 -> 5058 bytes examples/data/Fruit360/lemon/r_225_100.jpg | Bin 0 -> 5110 bytes examples/data/Fruit360/lemon/r_226_100.jpg | Bin 0 -> 5041 bytes examples/data/Fruit360/lemon/r_227_100.jpg | Bin 0 -> 5085 bytes examples/data/Fruit360/lemon/r_228_100.jpg | Bin 0 -> 5087 bytes examples/data/Fruit360/lemon/r_229_100.jpg | Bin 0 -> 5063 bytes examples/data/Fruit360/lemon/r_230_100.jpg | Bin 0 -> 5131 bytes examples/data/Fruit360/lemon/r_231_100.jpg | Bin 0 -> 5096 bytes examples/data/Fruit360/lemon/r_232_100.jpg | Bin 0 -> 5109 bytes examples/data/Fruit360/lemon/r_233_100.jpg | Bin 0 -> 5086 bytes examples/data/Fruit360/lemon/r_234_100.jpg | Bin 0 -> 5132 bytes examples/data/Fruit360/lemon/r_235_100.jpg | Bin 0 -> 5135 bytes examples/data/Fruit360/lemon/r_236_100.jpg | Bin 0 -> 5189 bytes examples/data/Fruit360/lemon/r_237_100.jpg | Bin 0 -> 5166 bytes examples/data/Fruit360/lemon/r_238_100.jpg | Bin 0 -> 5150 bytes examples/data/Fruit360/lemon/r_239_100.jpg | Bin 0 -> 5156 bytes examples/data/Fruit360/lemon/r_240_100.jpg | Bin 0 -> 5120 bytes examples/data/Fruit360/lemon/r_241_100.jpg | Bin 0 -> 5149 bytes examples/data/Fruit360/lemon/r_242_100.jpg | Bin 0 -> 5173 bytes examples/data/Fruit360/lemon/r_243_100.jpg | Bin 0 -> 5161 bytes examples/data/Fruit360/lemon/r_244_100.jpg | Bin 0 -> 5145 bytes examples/data/Fruit360/lemon/r_245_100.jpg | Bin 0 -> 5155 bytes examples/data/Fruit360/lemon/r_246_100.jpg | Bin 0 -> 5132 bytes examples/data/Fruit360/lemon/r_247_100.jpg | Bin 0 -> 5090 bytes examples/data/Fruit360/lemon/r_248_100.jpg | Bin 0 -> 5158 bytes examples/data/Fruit360/lemon/r_249_100.jpg | Bin 0 -> 5186 bytes examples/data/Fruit360/lemon/r_250_100.jpg | Bin 0 -> 5107 bytes examples/data/Fruit360/lemon/r_251_100.jpg | Bin 0 -> 5115 bytes examples/data/Fruit360/lemon/r_252_100.jpg | Bin 0 -> 5079 bytes examples/data/Fruit360/lemon/r_253_100.jpg | Bin 0 -> 5086 bytes examples/data/Fruit360/lemon/r_254_100.jpg | Bin 0 -> 5051 bytes examples/data/Fruit360/lemon/r_255_100.jpg | Bin 0 -> 5079 bytes examples/data/Fruit360/lemon/r_256_100.jpg | Bin 0 -> 5037 bytes examples/data/Fruit360/lemon/r_257_100.jpg | Bin 0 -> 5067 bytes examples/data/Fruit360/lemon/r_258_100.jpg | Bin 0 -> 5026 bytes examples/data/Fruit360/lemon/r_259_100.jpg | Bin 0 -> 5049 bytes examples/data/Fruit360/lemon/r_260_100.jpg | Bin 0 -> 5037 bytes examples/data/Fruit360/lemon/r_261_100.jpg | Bin 0 -> 4976 bytes examples/data/Fruit360/lemon/r_262_100.jpg | Bin 0 -> 4997 bytes examples/data/Fruit360/lemon/r_263_100.jpg | Bin 0 -> 4970 bytes examples/data/Fruit360/lemon/r_264_100.jpg | Bin 0 -> 4989 bytes examples/data/Fruit360/lemon/r_265_100.jpg | Bin 0 -> 4998 bytes examples/data/Fruit360/lemon/r_266_100.jpg | Bin 0 -> 4999 bytes examples/data/Fruit360/lemon/r_267_100.jpg | Bin 0 -> 5019 bytes examples/data/Fruit360/lemon/r_268_100.jpg | Bin 0 -> 5012 bytes examples/data/Fruit360/lemon/r_269_100.jpg | Bin 0 -> 5031 bytes examples/data/Fruit360/lemon/r_26_100.jpg | Bin 0 -> 4744 bytes examples/data/Fruit360/lemon/r_270_100.jpg | Bin 0 -> 5038 bytes examples/data/Fruit360/lemon/r_271_100.jpg | Bin 0 -> 5090 bytes examples/data/Fruit360/lemon/r_272_100.jpg | Bin 0 -> 5124 bytes examples/data/Fruit360/lemon/r_273_100.jpg | Bin 0 -> 5091 bytes examples/data/Fruit360/lemon/r_274_100.jpg | Bin 0 -> 5047 bytes examples/data/Fruit360/lemon/r_275_100.jpg | Bin 0 -> 5107 bytes examples/data/Fruit360/lemon/r_276_100.jpg | Bin 0 -> 5094 bytes examples/data/Fruit360/lemon/r_277_100.jpg | Bin 0 -> 5140 bytes examples/data/Fruit360/lemon/r_278_100.jpg | Bin 0 -> 5134 bytes examples/data/Fruit360/lemon/r_279_100.jpg | Bin 0 -> 5179 bytes examples/data/Fruit360/lemon/r_27_100.jpg | Bin 0 -> 4745 bytes examples/data/Fruit360/lemon/r_280_100.jpg | Bin 0 -> 5197 bytes examples/data/Fruit360/lemon/r_281_100.jpg | Bin 0 -> 5177 bytes examples/data/Fruit360/lemon/r_282_100.jpg | Bin 0 -> 5155 bytes examples/data/Fruit360/lemon/r_283_100.jpg | Bin 0 -> 5158 bytes examples/data/Fruit360/lemon/r_284_100.jpg | Bin 0 -> 5179 bytes examples/data/Fruit360/lemon/r_285_100.jpg | Bin 0 -> 5140 bytes examples/data/Fruit360/lemon/r_286_100.jpg | Bin 0 -> 5118 bytes examples/data/Fruit360/lemon/r_287_100.jpg | Bin 0 -> 5101 bytes examples/data/Fruit360/lemon/r_288_100.jpg | Bin 0 -> 5102 bytes examples/data/Fruit360/lemon/r_289_100.jpg | Bin 0 -> 5094 bytes examples/data/Fruit360/lemon/r_290_100.jpg | Bin 0 -> 5059 bytes examples/data/Fruit360/lemon/r_291_100.jpg | Bin 0 -> 5058 bytes examples/data/Fruit360/lemon/r_292_100.jpg | Bin 0 -> 5087 bytes examples/data/Fruit360/lemon/r_293_100.jpg | Bin 0 -> 5033 bytes examples/data/Fruit360/lemon/r_294_100.jpg | Bin 0 -> 5033 bytes examples/data/Fruit360/lemon/r_295_100.jpg | Bin 0 -> 4983 bytes examples/data/Fruit360/lemon/r_296_100.jpg | Bin 0 -> 4871 bytes examples/data/Fruit360/lemon/r_297_100.jpg | Bin 0 -> 4829 bytes examples/data/Fruit360/lemon/r_298_100.jpg | Bin 0 -> 4804 bytes examples/data/Fruit360/lemon/r_299_100.jpg | Bin 0 -> 4795 bytes examples/data/Fruit360/lemon/r_300_100.jpg | Bin 0 -> 4833 bytes examples/data/Fruit360/lemon/r_311_100.jpg | Bin 0 -> 4754 bytes examples/data/Fruit360/lemon/r_314_100.jpg | Bin 0 -> 4739 bytes examples/data/Fruit360/lemon/r_321_100.jpg | Bin 0 -> 4747 bytes examples/data/Fruit360/lemon/r_32_100.jpg | Bin 0 -> 4750 bytes examples/data/Fruit360/lemon/r_33_100.jpg | Bin 0 -> 4742 bytes examples/data/Fruit360/lemon/r_34_100.jpg | Bin 0 -> 4752 bytes examples/data/Fruit360/lemon/r_35_100.jpg | Bin 0 -> 4751 bytes examples/data/Fruit360/lemon/r_36_100.jpg | Bin 0 -> 4772 bytes examples/data/Fruit360/lemon/r_37_100.jpg | Bin 0 -> 4792 bytes examples/data/Fruit360/lemon/r_38_100.jpg | Bin 0 -> 4802 bytes examples/data/Fruit360/lemon/r_39_100.jpg | Bin 0 -> 4781 bytes examples/data/Fruit360/lemon/r_40_100.jpg | Bin 0 -> 4775 bytes examples/data/Fruit360/lemon/r_41_100.jpg | Bin 0 -> 4784 bytes examples/data/Fruit360/lemon/r_42_100.jpg | Bin 0 -> 4771 bytes examples/data/Fruit360/lemon/r_43_100.jpg | Bin 0 -> 4805 bytes examples/data/Fruit360/lemon/r_44_100.jpg | Bin 0 -> 4782 bytes examples/data/Fruit360/lemon/r_45_100.jpg | Bin 0 -> 4805 bytes examples/data/Fruit360/lemon/r_46_100.jpg | Bin 0 -> 4816 bytes examples/data/Fruit360/lemon/r_47_100.jpg | Bin 0 -> 4811 bytes examples/data/Fruit360/lemon/r_48_100.jpg | Bin 0 -> 4793 bytes examples/data/Fruit360/lemon/r_49_100.jpg | Bin 0 -> 4763 bytes examples/data/Fruit360/lemon/r_51_100.jpg | Bin 0 -> 4759 bytes examples/data/Fruit360/lemon/r_52_100.jpg | Bin 0 -> 4765 bytes examples/data/Fruit360/lemon/r_53_100.jpg | Bin 0 -> 4779 bytes examples/data/Fruit360/lemon/r_58_100.jpg | Bin 0 -> 4741 bytes examples/data/Fruit360/lemon/r_61_100.jpg | Bin 0 -> 4786 bytes examples/data/Fruit360/lemon/r_62_100.jpg | Bin 0 -> 4752 bytes examples/data/Fruit360/lemon/r_64_100.jpg | Bin 0 -> 4852 bytes examples/data/Fruit360/lemon/r_65_100.jpg | Bin 0 -> 4764 bytes examples/data/Fruit360/lemon/r_66_100.jpg | Bin 0 -> 4776 bytes examples/data/Fruit360/lemon/r_67_100.jpg | Bin 0 -> 4818 bytes examples/data/Fruit360/lemon/r_68_100.jpg | Bin 0 -> 4797 bytes examples/data/Fruit360/lemon/r_69_100.jpg | Bin 0 -> 4822 bytes examples/data/Fruit360/lemon/r_70_100.jpg | Bin 0 -> 4842 bytes examples/data/Fruit360/lemon/r_71_100.jpg | Bin 0 -> 4838 bytes examples/data/Fruit360/lemon/r_72_100.jpg | Bin 0 -> 4873 bytes examples/data/Fruit360/lemon/r_73_100.jpg | Bin 0 -> 4920 bytes examples/data/Fruit360/lemon/r_74_100.jpg | Bin 0 -> 4903 bytes examples/data/Fruit360/lemon/r_75_100.jpg | Bin 0 -> 4937 bytes examples/data/Fruit360/lemon/r_76_100.jpg | Bin 0 -> 4962 bytes examples/data/Fruit360/lemon/r_77_100.jpg | Bin 0 -> 4944 bytes examples/data/Fruit360/lemon/r_78_100.jpg | Bin 0 -> 4936 bytes examples/data/Fruit360/lemon/r_79_100.jpg | Bin 0 -> 4984 bytes examples/data/Fruit360/lemon/r_80_100.jpg | Bin 0 -> 4982 bytes examples/data/Fruit360/lemon/r_81_100.jpg | Bin 0 -> 5043 bytes examples/data/Fruit360/lemon/r_82_100.jpg | Bin 0 -> 5094 bytes examples/data/Fruit360/lemon/r_83_100.jpg | Bin 0 -> 5100 bytes examples/data/Fruit360/lemon/r_84_100.jpg | Bin 0 -> 5083 bytes examples/data/Fruit360/lemon/r_85_100.jpg | Bin 0 -> 5071 bytes examples/data/Fruit360/lemon/r_86_100.jpg | Bin 0 -> 5028 bytes examples/data/Fruit360/lemon/r_87_100.jpg | Bin 0 -> 5162 bytes examples/data/Fruit360/lemon/r_88_100.jpg | Bin 0 -> 5183 bytes examples/data/Fruit360/lemon/r_89_100.jpg | Bin 0 -> 5177 bytes examples/data/Fruit360/lemon/r_90_100.jpg | Bin 0 -> 5187 bytes examples/data/Fruit360/lemon/r_91_100.jpg | Bin 0 -> 5184 bytes examples/data/Fruit360/lemon/r_92_100.jpg | Bin 0 -> 5218 bytes examples/data/Fruit360/lemon/r_93_100.jpg | Bin 0 -> 5247 bytes examples/data/Fruit360/lemon/r_94_100.jpg | Bin 0 -> 5278 bytes examples/data/Fruit360/lemon/r_95_100.jpg | Bin 0 -> 5302 bytes examples/data/Fruit360/lemon/r_96_100.jpg | Bin 0 -> 5299 bytes examples/data/Fruit360/lemon/r_97_100.jpg | Bin 0 -> 5295 bytes examples/data/Fruit360/lemon/r_98_100.jpg | Bin 0 -> 5309 bytes examples/data/Fruit360/lemon/r_99_100.jpg | Bin 0 -> 5288 bytes examples/data/Fruit360/mango/100_100.jpg | Bin 0 -> 4425 bytes examples/data/Fruit360/mango/101_100.jpg | Bin 0 -> 4473 bytes examples/data/Fruit360/mango/102_100.jpg | Bin 0 -> 4498 bytes examples/data/Fruit360/mango/103_100.jpg | Bin 0 -> 4401 bytes examples/data/Fruit360/mango/104_100.jpg | Bin 0 -> 4418 bytes examples/data/Fruit360/mango/105_100.jpg | Bin 0 -> 4398 bytes examples/data/Fruit360/mango/106_100.jpg | Bin 0 -> 4407 bytes examples/data/Fruit360/mango/107_100.jpg | Bin 0 -> 4339 bytes examples/data/Fruit360/mango/108_100.jpg | Bin 0 -> 4369 bytes examples/data/Fruit360/mango/109_100.jpg | Bin 0 -> 4337 bytes examples/data/Fruit360/mango/110_100.jpg | Bin 0 -> 4397 bytes examples/data/Fruit360/mango/111_100.jpg | Bin 0 -> 4343 bytes examples/data/Fruit360/mango/112_100.jpg | Bin 0 -> 4330 bytes examples/data/Fruit360/mango/113_100.jpg | Bin 0 -> 4409 bytes examples/data/Fruit360/mango/114_100.jpg | Bin 0 -> 4417 bytes examples/data/Fruit360/mango/115_100.jpg | Bin 0 -> 4353 bytes examples/data/Fruit360/mango/116_100.jpg | Bin 0 -> 4340 bytes examples/data/Fruit360/mango/117_100.jpg | Bin 0 -> 4362 bytes examples/data/Fruit360/mango/118_100.jpg | Bin 0 -> 4325 bytes examples/data/Fruit360/mango/119_100.jpg | Bin 0 -> 4358 bytes examples/data/Fruit360/mango/120_100.jpg | Bin 0 -> 4356 bytes examples/data/Fruit360/mango/121_100.jpg | Bin 0 -> 4318 bytes examples/data/Fruit360/mango/122_100.jpg | Bin 0 -> 4339 bytes examples/data/Fruit360/mango/123_100.jpg | Bin 0 -> 4313 bytes examples/data/Fruit360/mango/124_100.jpg | Bin 0 -> 4301 bytes examples/data/Fruit360/mango/126_100.jpg | Bin 0 -> 4265 bytes examples/data/Fruit360/mango/127_100.jpg | Bin 0 -> 4334 bytes examples/data/Fruit360/mango/128_100.jpg | Bin 0 -> 4299 bytes examples/data/Fruit360/mango/129_100.jpg | Bin 0 -> 4317 bytes examples/data/Fruit360/mango/13_100.jpg | Bin 0 -> 4271 bytes examples/data/Fruit360/mango/154_100.jpg | Bin 0 -> 4278 bytes examples/data/Fruit360/mango/15_100.jpg | Bin 0 -> 4276 bytes examples/data/Fruit360/mango/160_100.jpg | Bin 0 -> 4276 bytes examples/data/Fruit360/mango/161_100.jpg | Bin 0 -> 4270 bytes examples/data/Fruit360/mango/163_100.jpg | Bin 0 -> 4279 bytes examples/data/Fruit360/mango/164_100.jpg | Bin 0 -> 4297 bytes examples/data/Fruit360/mango/165_100.jpg | Bin 0 -> 4297 bytes examples/data/Fruit360/mango/166_100.jpg | Bin 0 -> 4308 bytes examples/data/Fruit360/mango/167_100.jpg | Bin 0 -> 4285 bytes examples/data/Fruit360/mango/168_100.jpg | Bin 0 -> 4297 bytes examples/data/Fruit360/mango/169_100.jpg | Bin 0 -> 4314 bytes examples/data/Fruit360/mango/16_100.jpg | Bin 0 -> 4281 bytes examples/data/Fruit360/mango/170_100.jpg | Bin 0 -> 4311 bytes examples/data/Fruit360/mango/171_100.jpg | Bin 0 -> 4319 bytes examples/data/Fruit360/mango/172_100.jpg | Bin 0 -> 4313 bytes examples/data/Fruit360/mango/173_100.jpg | Bin 0 -> 4301 bytes examples/data/Fruit360/mango/174_100.jpg | Bin 0 -> 4327 bytes examples/data/Fruit360/mango/175_100.jpg | Bin 0 -> 4303 bytes examples/data/Fruit360/mango/176_100.jpg | Bin 0 -> 4342 bytes examples/data/Fruit360/mango/177_100.jpg | Bin 0 -> 4335 bytes examples/data/Fruit360/mango/178_100.jpg | Bin 0 -> 4331 bytes examples/data/Fruit360/mango/179_100.jpg | Bin 0 -> 4351 bytes examples/data/Fruit360/mango/17_100.jpg | Bin 0 -> 4276 bytes examples/data/Fruit360/mango/180_100.jpg | Bin 0 -> 4286 bytes examples/data/Fruit360/mango/181_100.jpg | Bin 0 -> 4396 bytes examples/data/Fruit360/mango/185_100.jpg | Bin 0 -> 4301 bytes examples/data/Fruit360/mango/186_100.jpg | Bin 0 -> 4321 bytes examples/data/Fruit360/mango/187_100.jpg | Bin 0 -> 4352 bytes examples/data/Fruit360/mango/188_100.jpg | Bin 0 -> 4359 bytes examples/data/Fruit360/mango/189_100.jpg | Bin 0 -> 4393 bytes examples/data/Fruit360/mango/18_100.jpg | Bin 0 -> 4320 bytes examples/data/Fruit360/mango/190_100.jpg | Bin 0 -> 4336 bytes examples/data/Fruit360/mango/191_100.jpg | Bin 0 -> 4401 bytes examples/data/Fruit360/mango/192_100.jpg | Bin 0 -> 4433 bytes examples/data/Fruit360/mango/193_100.jpg | Bin 0 -> 4430 bytes examples/data/Fruit360/mango/194_100.jpg | Bin 0 -> 4404 bytes examples/data/Fruit360/mango/195_100.jpg | Bin 0 -> 4449 bytes examples/data/Fruit360/mango/196_100.jpg | Bin 0 -> 4388 bytes examples/data/Fruit360/mango/197_100.jpg | Bin 0 -> 4303 bytes examples/data/Fruit360/mango/198_100.jpg | Bin 0 -> 4379 bytes examples/data/Fruit360/mango/199_100.jpg | Bin 0 -> 4455 bytes examples/data/Fruit360/mango/19_100.jpg | Bin 0 -> 4305 bytes examples/data/Fruit360/mango/200_100.jpg | Bin 0 -> 4414 bytes examples/data/Fruit360/mango/201_100.jpg | Bin 0 -> 4460 bytes examples/data/Fruit360/mango/202_100.jpg | Bin 0 -> 4456 bytes examples/data/Fruit360/mango/203_100.jpg | Bin 0 -> 4467 bytes examples/data/Fruit360/mango/204_100.jpg | Bin 0 -> 4459 bytes examples/data/Fruit360/mango/205_100.jpg | Bin 0 -> 4488 bytes examples/data/Fruit360/mango/206_100.jpg | Bin 0 -> 4457 bytes examples/data/Fruit360/mango/207_100.jpg | Bin 0 -> 4476 bytes examples/data/Fruit360/mango/208_100.jpg | Bin 0 -> 4569 bytes examples/data/Fruit360/mango/209_100.jpg | Bin 0 -> 4522 bytes examples/data/Fruit360/mango/20_100.jpg | Bin 0 -> 4331 bytes examples/data/Fruit360/mango/210_100.jpg | Bin 0 -> 4537 bytes examples/data/Fruit360/mango/211_100.jpg | Bin 0 -> 4542 bytes examples/data/Fruit360/mango/212_100.jpg | Bin 0 -> 4566 bytes examples/data/Fruit360/mango/213_100.jpg | Bin 0 -> 4524 bytes examples/data/Fruit360/mango/214_100.jpg | Bin 0 -> 4527 bytes examples/data/Fruit360/mango/215_100.jpg | Bin 0 -> 4549 bytes examples/data/Fruit360/mango/216_100.jpg | Bin 0 -> 4583 bytes examples/data/Fruit360/mango/217_100.jpg | Bin 0 -> 4555 bytes examples/data/Fruit360/mango/218_100.jpg | Bin 0 -> 4516 bytes examples/data/Fruit360/mango/219_100.jpg | Bin 0 -> 4550 bytes examples/data/Fruit360/mango/21_100.jpg | Bin 0 -> 4314 bytes examples/data/Fruit360/mango/220_100.jpg | Bin 0 -> 4527 bytes examples/data/Fruit360/mango/221_100.jpg | Bin 0 -> 4487 bytes examples/data/Fruit360/mango/222_100.jpg | Bin 0 -> 4403 bytes examples/data/Fruit360/mango/223_100.jpg | Bin 0 -> 4502 bytes examples/data/Fruit360/mango/224_100.jpg | Bin 0 -> 4463 bytes examples/data/Fruit360/mango/225_100.jpg | Bin 0 -> 4434 bytes examples/data/Fruit360/mango/226_100.jpg | Bin 0 -> 4419 bytes examples/data/Fruit360/mango/227_100.jpg | Bin 0 -> 4428 bytes examples/data/Fruit360/mango/228_100.jpg | Bin 0 -> 4411 bytes examples/data/Fruit360/mango/229_100.jpg | Bin 0 -> 4462 bytes examples/data/Fruit360/mango/22_100.jpg | Bin 0 -> 4299 bytes examples/data/Fruit360/mango/230_100.jpg | Bin 0 -> 4454 bytes examples/data/Fruit360/mango/231_100.jpg | Bin 0 -> 4499 bytes examples/data/Fruit360/mango/232_100.jpg | Bin 0 -> 4516 bytes examples/data/Fruit360/mango/233_100.jpg | Bin 0 -> 4553 bytes examples/data/Fruit360/mango/234_100.jpg | Bin 0 -> 4485 bytes examples/data/Fruit360/mango/235_100.jpg | Bin 0 -> 4425 bytes examples/data/Fruit360/mango/236_100.jpg | Bin 0 -> 4424 bytes examples/data/Fruit360/mango/237_100.jpg | Bin 0 -> 4411 bytes examples/data/Fruit360/mango/238_100.jpg | Bin 0 -> 4427 bytes examples/data/Fruit360/mango/239_100.jpg | Bin 0 -> 4432 bytes examples/data/Fruit360/mango/23_100.jpg | Bin 0 -> 4334 bytes examples/data/Fruit360/mango/240_100.jpg | Bin 0 -> 4462 bytes examples/data/Fruit360/mango/241_100.jpg | Bin 0 -> 4447 bytes examples/data/Fruit360/mango/242_100.jpg | Bin 0 -> 4454 bytes examples/data/Fruit360/mango/243_100.jpg | Bin 0 -> 4432 bytes examples/data/Fruit360/mango/244_100.jpg | Bin 0 -> 4430 bytes examples/data/Fruit360/mango/245_100.jpg | Bin 0 -> 4433 bytes examples/data/Fruit360/mango/246_100.jpg | Bin 0 -> 4431 bytes examples/data/Fruit360/mango/247_100.jpg | Bin 0 -> 4477 bytes examples/data/Fruit360/mango/248_100.jpg | Bin 0 -> 4419 bytes examples/data/Fruit360/mango/249_100.jpg | Bin 0 -> 4409 bytes examples/data/Fruit360/mango/24_100.jpg | Bin 0 -> 4284 bytes examples/data/Fruit360/mango/250_100.jpg | Bin 0 -> 4424 bytes examples/data/Fruit360/mango/251_100.jpg | Bin 0 -> 4439 bytes examples/data/Fruit360/mango/252_100.jpg | Bin 0 -> 4405 bytes examples/data/Fruit360/mango/253_100.jpg | Bin 0 -> 4401 bytes examples/data/Fruit360/mango/254_100.jpg | Bin 0 -> 4357 bytes examples/data/Fruit360/mango/255_100.jpg | Bin 0 -> 4287 bytes examples/data/Fruit360/mango/256_100.jpg | Bin 0 -> 4315 bytes examples/data/Fruit360/mango/257_100.jpg | Bin 0 -> 4304 bytes examples/data/Fruit360/mango/258_100.jpg | Bin 0 -> 4311 bytes examples/data/Fruit360/mango/259_100.jpg | Bin 0 -> 4320 bytes examples/data/Fruit360/mango/25_100.jpg | Bin 0 -> 4321 bytes examples/data/Fruit360/mango/263_100.jpg | Bin 0 -> 4262 bytes examples/data/Fruit360/mango/265_100.jpg | Bin 0 -> 4304 bytes examples/data/Fruit360/mango/266_100.jpg | Bin 0 -> 4322 bytes examples/data/Fruit360/mango/267_100.jpg | Bin 0 -> 4283 bytes examples/data/Fruit360/mango/268_100.jpg | Bin 0 -> 4290 bytes examples/data/Fruit360/mango/26_100.jpg | Bin 0 -> 4305 bytes examples/data/Fruit360/mango/271_100.jpg | Bin 0 -> 4284 bytes examples/data/Fruit360/mango/272_100.jpg | Bin 0 -> 4282 bytes examples/data/Fruit360/mango/275_100.jpg | Bin 0 -> 4288 bytes examples/data/Fruit360/mango/276_100.jpg | Bin 0 -> 4326 bytes examples/data/Fruit360/mango/277_100.jpg | Bin 0 -> 4299 bytes examples/data/Fruit360/mango/27_100.jpg | Bin 0 -> 4308 bytes examples/data/Fruit360/mango/280_100.jpg | Bin 0 -> 4283 bytes examples/data/Fruit360/mango/281_100.jpg | Bin 0 -> 4267 bytes examples/data/Fruit360/mango/282_100.jpg | Bin 0 -> 4261 bytes examples/data/Fruit360/mango/283_100.jpg | Bin 0 -> 4308 bytes examples/data/Fruit360/mango/284_100.jpg | Bin 0 -> 4297 bytes examples/data/Fruit360/mango/285_100.jpg | Bin 0 -> 4306 bytes examples/data/Fruit360/mango/286_100.jpg | Bin 0 -> 4301 bytes examples/data/Fruit360/mango/287_100.jpg | Bin 0 -> 4295 bytes examples/data/Fruit360/mango/288_100.jpg | Bin 0 -> 4323 bytes examples/data/Fruit360/mango/289_100.jpg | Bin 0 -> 4314 bytes examples/data/Fruit360/mango/28_100.jpg | Bin 0 -> 4344 bytes examples/data/Fruit360/mango/290_100.jpg | Bin 0 -> 4279 bytes examples/data/Fruit360/mango/291_100.jpg | Bin 0 -> 4293 bytes examples/data/Fruit360/mango/294_100.jpg | Bin 0 -> 4265 bytes examples/data/Fruit360/mango/295_100.jpg | Bin 0 -> 4296 bytes examples/data/Fruit360/mango/296_100.jpg | Bin 0 -> 4292 bytes examples/data/Fruit360/mango/297_100.jpg | Bin 0 -> 4309 bytes examples/data/Fruit360/mango/298_100.jpg | Bin 0 -> 4295 bytes examples/data/Fruit360/mango/29_100.jpg | Bin 0 -> 4322 bytes examples/data/Fruit360/mango/30_100.jpg | Bin 0 -> 4301 bytes examples/data/Fruit360/mango/311_100.jpg | Bin 0 -> 4270 bytes examples/data/Fruit360/mango/31_100.jpg | Bin 0 -> 4290 bytes examples/data/Fruit360/mango/322_100.jpg | Bin 0 -> 4264 bytes examples/data/Fruit360/mango/324_100.jpg | Bin 0 -> 4313 bytes examples/data/Fruit360/mango/325_100.jpg | Bin 0 -> 4339 bytes examples/data/Fruit360/mango/326_100.jpg | Bin 0 -> 4367 bytes examples/data/Fruit360/mango/327_100.jpg | Bin 0 -> 4347 bytes examples/data/Fruit360/mango/32_100.jpg | Bin 0 -> 4313 bytes examples/data/Fruit360/mango/33_100.jpg | Bin 0 -> 4299 bytes examples/data/Fruit360/mango/34_100.jpg | Bin 0 -> 4305 bytes examples/data/Fruit360/mango/35_100.jpg | Bin 0 -> 4287 bytes examples/data/Fruit360/mango/36_100.jpg | Bin 0 -> 4304 bytes examples/data/Fruit360/mango/37_100.jpg | Bin 0 -> 4343 bytes examples/data/Fruit360/mango/38_100.jpg | Bin 0 -> 4332 bytes examples/data/Fruit360/mango/39_100.jpg | Bin 0 -> 4313 bytes examples/data/Fruit360/mango/40_100.jpg | Bin 0 -> 4328 bytes examples/data/Fruit360/mango/41_100.jpg | Bin 0 -> 4332 bytes examples/data/Fruit360/mango/42_100.jpg | Bin 0 -> 4326 bytes examples/data/Fruit360/mango/43_100.jpg | Bin 0 -> 4325 bytes examples/data/Fruit360/mango/44_100.jpg | Bin 0 -> 4419 bytes examples/data/Fruit360/mango/45_100.jpg | Bin 0 -> 4346 bytes examples/data/Fruit360/mango/46_100.jpg | Bin 0 -> 4362 bytes examples/data/Fruit360/mango/47_100.jpg | Bin 0 -> 4370 bytes examples/data/Fruit360/mango/48_100.jpg | Bin 0 -> 4368 bytes examples/data/Fruit360/mango/49_100.jpg | Bin 0 -> 4352 bytes examples/data/Fruit360/mango/50_100.jpg | Bin 0 -> 4333 bytes examples/data/Fruit360/mango/51_100.jpg | Bin 0 -> 4400 bytes examples/data/Fruit360/mango/52_100.jpg | Bin 0 -> 4418 bytes examples/data/Fruit360/mango/53_100.jpg | Bin 0 -> 4410 bytes examples/data/Fruit360/mango/54_100.jpg | Bin 0 -> 4382 bytes examples/data/Fruit360/mango/55_100.jpg | Bin 0 -> 4440 bytes examples/data/Fruit360/mango/56_100.jpg | Bin 0 -> 4440 bytes examples/data/Fruit360/mango/57_100.jpg | Bin 0 -> 4489 bytes examples/data/Fruit360/mango/58_100.jpg | Bin 0 -> 4417 bytes examples/data/Fruit360/mango/59_100.jpg | Bin 0 -> 4431 bytes examples/data/Fruit360/mango/60_100.jpg | Bin 0 -> 4430 bytes examples/data/Fruit360/mango/61_100.jpg | Bin 0 -> 4444 bytes examples/data/Fruit360/mango/62_100.jpg | Bin 0 -> 4410 bytes examples/data/Fruit360/mango/63_100.jpg | Bin 0 -> 4442 bytes examples/data/Fruit360/mango/64_100.jpg | Bin 0 -> 4394 bytes examples/data/Fruit360/mango/65_100.jpg | Bin 0 -> 4394 bytes examples/data/Fruit360/mango/66_100.jpg | Bin 0 -> 4412 bytes examples/data/Fruit360/mango/67_100.jpg | Bin 0 -> 4455 bytes examples/data/Fruit360/mango/68_100.jpg | Bin 0 -> 4438 bytes examples/data/Fruit360/mango/69_100.jpg | Bin 0 -> 4495 bytes examples/data/Fruit360/mango/70_100.jpg | Bin 0 -> 4471 bytes examples/data/Fruit360/mango/71_100.jpg | Bin 0 -> 4459 bytes examples/data/Fruit360/mango/72_100.jpg | Bin 0 -> 4444 bytes examples/data/Fruit360/mango/73_100.jpg | Bin 0 -> 4476 bytes examples/data/Fruit360/mango/74_100.jpg | Bin 0 -> 4410 bytes examples/data/Fruit360/mango/75_100.jpg | Bin 0 -> 4452 bytes examples/data/Fruit360/mango/76_100.jpg | Bin 0 -> 4470 bytes examples/data/Fruit360/mango/77_100.jpg | Bin 0 -> 4452 bytes examples/data/Fruit360/mango/78_100.jpg | Bin 0 -> 4523 bytes examples/data/Fruit360/mango/79_100.jpg | Bin 0 -> 4547 bytes examples/data/Fruit360/mango/80_100.jpg | Bin 0 -> 4458 bytes examples/data/Fruit360/mango/81_100.jpg | Bin 0 -> 4431 bytes examples/data/Fruit360/mango/82_100.jpg | Bin 0 -> 4487 bytes examples/data/Fruit360/mango/83_100.jpg | Bin 0 -> 4539 bytes examples/data/Fruit360/mango/84_100.jpg | Bin 0 -> 4464 bytes examples/data/Fruit360/mango/85_100.jpg | Bin 0 -> 4457 bytes examples/data/Fruit360/mango/86_100.jpg | Bin 0 -> 4435 bytes examples/data/Fruit360/mango/87_100.jpg | Bin 0 -> 4537 bytes examples/data/Fruit360/mango/88_100.jpg | Bin 0 -> 4504 bytes examples/data/Fruit360/mango/89_100.jpg | Bin 0 -> 4506 bytes examples/data/Fruit360/mango/90_100.jpg | Bin 0 -> 4446 bytes examples/data/Fruit360/mango/91_100.jpg | Bin 0 -> 4452 bytes examples/data/Fruit360/mango/92_100.jpg | Bin 0 -> 4513 bytes examples/data/Fruit360/mango/93_100.jpg | Bin 0 -> 4477 bytes examples/data/Fruit360/mango/94_100.jpg | Bin 0 -> 4445 bytes examples/data/Fruit360/mango/95_100.jpg | Bin 0 -> 4469 bytes examples/data/Fruit360/mango/96_100.jpg | Bin 0 -> 4529 bytes examples/data/Fruit360/mango/97_100.jpg | Bin 0 -> 4501 bytes examples/data/Fruit360/mango/98_100.jpg | Bin 0 -> 4472 bytes examples/data/Fruit360/mango/99_100.jpg | Bin 0 -> 4488 bytes examples/data/Fruit360/mango/r_0_100.jpg | Bin 0 -> 4418 bytes examples/data/Fruit360/mango/r_100_100.jpg | Bin 0 -> 4412 bytes examples/data/Fruit360/mango/r_101_100.jpg | Bin 0 -> 4436 bytes examples/data/Fruit360/mango/r_102_100.jpg | Bin 0 -> 4431 bytes examples/data/Fruit360/mango/r_103_100.jpg | Bin 0 -> 4506 bytes examples/data/Fruit360/mango/r_104_100.jpg | Bin 0 -> 4526 bytes examples/data/Fruit360/mango/r_105_100.jpg | Bin 0 -> 4551 bytes examples/data/Fruit360/mango/r_106_100.jpg | Bin 0 -> 4522 bytes examples/data/Fruit360/mango/r_107_100.jpg | Bin 0 -> 4459 bytes examples/data/Fruit360/mango/r_108_100.jpg | Bin 0 -> 4491 bytes examples/data/Fruit360/mango/r_109_100.jpg | Bin 0 -> 4522 bytes examples/data/Fruit360/mango/r_10_100.jpg | Bin 0 -> 4361 bytes examples/data/Fruit360/mango/r_110_100.jpg | Bin 0 -> 4514 bytes examples/data/Fruit360/mango/r_111_100.jpg | Bin 0 -> 4494 bytes examples/data/Fruit360/mango/r_112_100.jpg | Bin 0 -> 4508 bytes examples/data/Fruit360/mango/r_113_100.jpg | Bin 0 -> 4472 bytes examples/data/Fruit360/mango/r_114_100.jpg | Bin 0 -> 4504 bytes examples/data/Fruit360/mango/r_115_100.jpg | Bin 0 -> 4489 bytes examples/data/Fruit360/mango/r_116_100.jpg | Bin 0 -> 4537 bytes examples/data/Fruit360/mango/r_117_100.jpg | Bin 0 -> 4491 bytes examples/data/Fruit360/mango/r_118_100.jpg | Bin 0 -> 4492 bytes examples/data/Fruit360/mango/r_119_100.jpg | Bin 0 -> 4490 bytes examples/data/Fruit360/mango/r_11_100.jpg | Bin 0 -> 4391 bytes examples/data/Fruit360/mango/r_120_100.jpg | Bin 0 -> 4466 bytes examples/data/Fruit360/mango/r_121_100.jpg | Bin 0 -> 4514 bytes examples/data/Fruit360/mango/r_122_100.jpg | Bin 0 -> 4569 bytes examples/data/Fruit360/mango/r_123_100.jpg | Bin 0 -> 4556 bytes examples/data/Fruit360/mango/r_124_100.jpg | Bin 0 -> 4564 bytes examples/data/Fruit360/mango/r_125_100.jpg | Bin 0 -> 4556 bytes examples/data/Fruit360/mango/r_126_100.jpg | Bin 0 -> 4571 bytes examples/data/Fruit360/mango/r_127_100.jpg | Bin 0 -> 4627 bytes examples/data/Fruit360/mango/r_128_100.jpg | Bin 0 -> 4573 bytes examples/data/Fruit360/mango/r_129_100.jpg | Bin 0 -> 4578 bytes examples/data/Fruit360/mango/r_12_100.jpg | Bin 0 -> 4386 bytes examples/data/Fruit360/mango/r_130_100.jpg | Bin 0 -> 4585 bytes examples/data/Fruit360/mango/r_131_100.jpg | Bin 0 -> 4561 bytes examples/data/Fruit360/mango/r_132_100.jpg | Bin 0 -> 4550 bytes examples/data/Fruit360/mango/r_133_100.jpg | Bin 0 -> 4624 bytes examples/data/Fruit360/mango/r_134_100.jpg | Bin 0 -> 4589 bytes examples/data/Fruit360/mango/r_135_100.jpg | Bin 0 -> 4597 bytes examples/data/Fruit360/mango/r_136_100.jpg | Bin 0 -> 4608 bytes examples/data/Fruit360/mango/r_137_100.jpg | Bin 0 -> 4585 bytes examples/data/Fruit360/mango/r_138_100.jpg | Bin 0 -> 4630 bytes examples/data/Fruit360/mango/r_139_100.jpg | Bin 0 -> 4576 bytes examples/data/Fruit360/mango/r_140_100.jpg | Bin 0 -> 4645 bytes examples/data/Fruit360/mango/r_141_100.jpg | Bin 0 -> 4650 bytes examples/data/Fruit360/mango/r_142_100.jpg | Bin 0 -> 4672 bytes examples/data/Fruit360/mango/r_143_100.jpg | Bin 0 -> 4656 bytes examples/data/Fruit360/mango/r_144_100.jpg | Bin 0 -> 4684 bytes examples/data/Fruit360/mango/r_145_100.jpg | Bin 0 -> 4685 bytes examples/data/Fruit360/mango/r_146_100.jpg | Bin 0 -> 4663 bytes examples/data/Fruit360/mango/r_147_100.jpg | Bin 0 -> 4686 bytes examples/data/Fruit360/mango/r_148_100.jpg | Bin 0 -> 4679 bytes examples/data/Fruit360/mango/r_149_100.jpg | Bin 0 -> 4707 bytes examples/data/Fruit360/mango/r_150_100.jpg | Bin 0 -> 4645 bytes examples/data/Fruit360/mango/r_151_100.jpg | Bin 0 -> 4696 bytes examples/data/Fruit360/mango/r_152_100.jpg | Bin 0 -> 4680 bytes examples/data/Fruit360/mango/r_153_100.jpg | Bin 0 -> 4712 bytes examples/data/Fruit360/mango/r_154_100.jpg | Bin 0 -> 4689 bytes examples/data/Fruit360/mango/r_155_100.jpg | Bin 0 -> 4677 bytes examples/data/Fruit360/mango/r_156_100.jpg | Bin 0 -> 4658 bytes examples/data/Fruit360/mango/r_157_100.jpg | Bin 0 -> 4711 bytes examples/data/Fruit360/mango/r_158_100.jpg | Bin 0 -> 4722 bytes examples/data/Fruit360/mango/r_159_100.jpg | Bin 0 -> 4717 bytes examples/data/Fruit360/mango/r_160_100.jpg | Bin 0 -> 4774 bytes examples/data/Fruit360/mango/r_161_100.jpg | Bin 0 -> 4764 bytes examples/data/Fruit360/mango/r_162_100.jpg | Bin 0 -> 4769 bytes examples/data/Fruit360/mango/r_163_100.jpg | Bin 0 -> 4761 bytes examples/data/Fruit360/mango/r_164_100.jpg | Bin 0 -> 4736 bytes examples/data/Fruit360/mango/r_165_100.jpg | Bin 0 -> 4770 bytes examples/data/Fruit360/mango/r_166_100.jpg | Bin 0 -> 4757 bytes examples/data/Fruit360/mango/r_167_100.jpg | Bin 0 -> 4768 bytes examples/data/Fruit360/mango/r_168_100.jpg | Bin 0 -> 4774 bytes examples/data/Fruit360/mango/r_169_100.jpg | Bin 0 -> 4791 bytes examples/data/Fruit360/mango/r_16_100.jpg | Bin 0 -> 4369 bytes examples/data/Fruit360/mango/r_170_100.jpg | Bin 0 -> 4859 bytes examples/data/Fruit360/mango/r_171_100.jpg | Bin 0 -> 4845 bytes examples/data/Fruit360/mango/r_172_100.jpg | Bin 0 -> 4837 bytes examples/data/Fruit360/mango/r_173_100.jpg | Bin 0 -> 4797 bytes examples/data/Fruit360/mango/r_174_100.jpg | Bin 0 -> 4802 bytes examples/data/Fruit360/mango/r_175_100.jpg | Bin 0 -> 4799 bytes examples/data/Fruit360/mango/r_176_100.jpg | Bin 0 -> 4818 bytes examples/data/Fruit360/mango/r_177_100.jpg | Bin 0 -> 4802 bytes examples/data/Fruit360/mango/r_178_100.jpg | Bin 0 -> 4820 bytes examples/data/Fruit360/mango/r_179_100.jpg | Bin 0 -> 4797 bytes examples/data/Fruit360/mango/r_17_100.jpg | Bin 0 -> 4469 bytes examples/data/Fruit360/mango/r_180_100.jpg | Bin 0 -> 4785 bytes examples/data/Fruit360/mango/r_181_100.jpg | Bin 0 -> 4765 bytes examples/data/Fruit360/mango/r_182_100.jpg | Bin 0 -> 4762 bytes examples/data/Fruit360/mango/r_183_100.jpg | Bin 0 -> 4757 bytes examples/data/Fruit360/mango/r_184_100.jpg | Bin 0 -> 4727 bytes examples/data/Fruit360/mango/r_185_100.jpg | Bin 0 -> 4766 bytes examples/data/Fruit360/mango/r_186_100.jpg | Bin 0 -> 4751 bytes examples/data/Fruit360/mango/r_187_100.jpg | Bin 0 -> 4732 bytes examples/data/Fruit360/mango/r_188_100.jpg | Bin 0 -> 4718 bytes examples/data/Fruit360/mango/r_189_100.jpg | Bin 0 -> 4727 bytes examples/data/Fruit360/mango/r_18_100.jpg | Bin 0 -> 4400 bytes examples/data/Fruit360/mango/r_190_100.jpg | Bin 0 -> 4705 bytes examples/data/Fruit360/mango/r_191_100.jpg | Bin 0 -> 4735 bytes examples/data/Fruit360/mango/r_192_100.jpg | Bin 0 -> 4711 bytes examples/data/Fruit360/mango/r_193_100.jpg | Bin 0 -> 4696 bytes examples/data/Fruit360/mango/r_194_100.jpg | Bin 0 -> 4639 bytes examples/data/Fruit360/mango/r_195_100.jpg | Bin 0 -> 4663 bytes examples/data/Fruit360/mango/r_196_100.jpg | Bin 0 -> 4632 bytes examples/data/Fruit360/mango/r_197_100.jpg | Bin 0 -> 4637 bytes examples/data/Fruit360/mango/r_198_100.jpg | Bin 0 -> 4618 bytes examples/data/Fruit360/mango/r_199_100.jpg | Bin 0 -> 4576 bytes examples/data/Fruit360/mango/r_19_100.jpg | Bin 0 -> 4370 bytes examples/data/Fruit360/mango/r_1_100.jpg | Bin 0 -> 4436 bytes examples/data/Fruit360/mango/r_200_100.jpg | Bin 0 -> 4519 bytes examples/data/Fruit360/mango/r_201_100.jpg | Bin 0 -> 4494 bytes examples/data/Fruit360/mango/r_202_100.jpg | Bin 0 -> 4479 bytes examples/data/Fruit360/mango/r_203_100.jpg | Bin 0 -> 4416 bytes examples/data/Fruit360/mango/r_204_100.jpg | Bin 0 -> 4401 bytes examples/data/Fruit360/mango/r_205_100.jpg | Bin 0 -> 4379 bytes examples/data/Fruit360/mango/r_206_100.jpg | Bin 0 -> 4370 bytes examples/data/Fruit360/mango/r_207_100.jpg | Bin 0 -> 4318 bytes examples/data/Fruit360/mango/r_208_100.jpg | Bin 0 -> 4341 bytes examples/data/Fruit360/mango/r_209_100.jpg | Bin 0 -> 4323 bytes examples/data/Fruit360/mango/r_20_100.jpg | Bin 0 -> 4364 bytes examples/data/Fruit360/mango/r_21_100.jpg | Bin 0 -> 4399 bytes examples/data/Fruit360/mango/r_22_100.jpg | Bin 0 -> 4367 bytes examples/data/Fruit360/mango/r_23_100.jpg | Bin 0 -> 4350 bytes examples/data/Fruit360/mango/r_24_100.jpg | Bin 0 -> 4351 bytes examples/data/Fruit360/mango/r_267_100.jpg | Bin 0 -> 4289 bytes examples/data/Fruit360/mango/r_268_100.jpg | Bin 0 -> 4315 bytes examples/data/Fruit360/mango/r_269_100.jpg | Bin 0 -> 4307 bytes examples/data/Fruit360/mango/r_26_100.jpg | Bin 0 -> 4315 bytes examples/data/Fruit360/mango/r_272_100.jpg | Bin 0 -> 4379 bytes examples/data/Fruit360/mango/r_276_100.jpg | Bin 0 -> 4322 bytes examples/data/Fruit360/mango/r_278_100.jpg | Bin 0 -> 4354 bytes examples/data/Fruit360/mango/r_279_100.jpg | Bin 0 -> 4365 bytes examples/data/Fruit360/mango/r_27_100.jpg | Bin 0 -> 4319 bytes examples/data/Fruit360/mango/r_280_100.jpg | Bin 0 -> 4350 bytes examples/data/Fruit360/mango/r_281_100.jpg | Bin 0 -> 4356 bytes examples/data/Fruit360/mango/r_282_100.jpg | Bin 0 -> 4332 bytes examples/data/Fruit360/mango/r_283_100.jpg | Bin 0 -> 4358 bytes examples/data/Fruit360/mango/r_284_100.jpg | Bin 0 -> 4365 bytes examples/data/Fruit360/mango/r_285_100.jpg | Bin 0 -> 4364 bytes examples/data/Fruit360/mango/r_286_100.jpg | Bin 0 -> 4321 bytes examples/data/Fruit360/mango/r_287_100.jpg | Bin 0 -> 4309 bytes examples/data/Fruit360/mango/r_288_100.jpg | Bin 0 -> 4334 bytes examples/data/Fruit360/mango/r_289_100.jpg | Bin 0 -> 4353 bytes examples/data/Fruit360/mango/r_28_100.jpg | Bin 0 -> 4314 bytes examples/data/Fruit360/mango/r_290_100.jpg | Bin 0 -> 4353 bytes examples/data/Fruit360/mango/r_291_100.jpg | Bin 0 -> 4306 bytes examples/data/Fruit360/mango/r_292_100.jpg | Bin 0 -> 4363 bytes examples/data/Fruit360/mango/r_293_100.jpg | Bin 0 -> 4351 bytes examples/data/Fruit360/mango/r_294_100.jpg | Bin 0 -> 4334 bytes examples/data/Fruit360/mango/r_295_100.jpg | Bin 0 -> 4354 bytes examples/data/Fruit360/mango/r_296_100.jpg | Bin 0 -> 4399 bytes examples/data/Fruit360/mango/r_297_100.jpg | Bin 0 -> 4379 bytes examples/data/Fruit360/mango/r_298_100.jpg | Bin 0 -> 4399 bytes examples/data/Fruit360/mango/r_299_100.jpg | Bin 0 -> 4387 bytes examples/data/Fruit360/mango/r_29_100.jpg | Bin 0 -> 4332 bytes examples/data/Fruit360/mango/r_2_100.jpg | Bin 0 -> 4457 bytes examples/data/Fruit360/mango/r_300_100.jpg | Bin 0 -> 4329 bytes examples/data/Fruit360/mango/r_301_100.jpg | Bin 0 -> 4382 bytes examples/data/Fruit360/mango/r_302_100.jpg | Bin 0 -> 4412 bytes examples/data/Fruit360/mango/r_303_100.jpg | Bin 0 -> 4395 bytes examples/data/Fruit360/mango/r_304_100.jpg | Bin 0 -> 4361 bytes examples/data/Fruit360/mango/r_305_100.jpg | Bin 0 -> 4446 bytes examples/data/Fruit360/mango/r_306_100.jpg | Bin 0 -> 4447 bytes examples/data/Fruit360/mango/r_307_100.jpg | Bin 0 -> 4458 bytes examples/data/Fruit360/mango/r_308_100.jpg | Bin 0 -> 4488 bytes examples/data/Fruit360/mango/r_309_100.jpg | Bin 0 -> 4451 bytes examples/data/Fruit360/mango/r_30_100.jpg | Bin 0 -> 4340 bytes examples/data/Fruit360/mango/r_310_100.jpg | Bin 0 -> 4434 bytes examples/data/Fruit360/mango/r_311_100.jpg | Bin 0 -> 4496 bytes examples/data/Fruit360/mango/r_312_100.jpg | Bin 0 -> 4505 bytes examples/data/Fruit360/mango/r_313_100.jpg | Bin 0 -> 4511 bytes examples/data/Fruit360/mango/r_314_100.jpg | Bin 0 -> 4464 bytes examples/data/Fruit360/mango/r_315_100.jpg | Bin 0 -> 4409 bytes examples/data/Fruit360/mango/r_316_100.jpg | Bin 0 -> 4428 bytes examples/data/Fruit360/mango/r_317_100.jpg | Bin 0 -> 4419 bytes examples/data/Fruit360/mango/r_318_100.jpg | Bin 0 -> 4384 bytes examples/data/Fruit360/mango/r_319_100.jpg | Bin 0 -> 4407 bytes examples/data/Fruit360/mango/r_31_100.jpg | Bin 0 -> 4386 bytes examples/data/Fruit360/mango/r_320_100.jpg | Bin 0 -> 4407 bytes examples/data/Fruit360/mango/r_324_100.jpg | Bin 0 -> 4392 bytes examples/data/Fruit360/mango/r_325_100.jpg | Bin 0 -> 4400 bytes examples/data/Fruit360/mango/r_326_100.jpg | Bin 0 -> 4484 bytes examples/data/Fruit360/mango/r_327_100.jpg | Bin 0 -> 4403 bytes examples/data/Fruit360/mango/r_32_100.jpg | Bin 0 -> 4424 bytes examples/data/Fruit360/mango/r_33_100.jpg | Bin 0 -> 4396 bytes examples/data/Fruit360/mango/r_34_100.jpg | Bin 0 -> 4342 bytes examples/data/Fruit360/mango/r_35_100.jpg | Bin 0 -> 4356 bytes examples/data/Fruit360/mango/r_36_100.jpg | Bin 0 -> 4461 bytes examples/data/Fruit360/mango/r_37_100.jpg | Bin 0 -> 4447 bytes examples/data/Fruit360/mango/r_38_100.jpg | Bin 0 -> 4412 bytes examples/data/Fruit360/mango/r_39_100.jpg | Bin 0 -> 4406 bytes examples/data/Fruit360/mango/r_3_100.jpg | Bin 0 -> 4499 bytes examples/data/Fruit360/mango/r_40_100.jpg | Bin 0 -> 4435 bytes examples/data/Fruit360/mango/r_41_100.jpg | Bin 0 -> 4437 bytes examples/data/Fruit360/mango/r_42_100.jpg | Bin 0 -> 4462 bytes examples/data/Fruit360/mango/r_43_100.jpg | Bin 0 -> 4443 bytes examples/data/Fruit360/mango/r_44_100.jpg | Bin 0 -> 4447 bytes examples/data/Fruit360/mango/r_45_100.jpg | Bin 0 -> 4446 bytes examples/data/Fruit360/mango/r_46_100.jpg | Bin 0 -> 4441 bytes examples/data/Fruit360/mango/r_47_100.jpg | Bin 0 -> 4410 bytes examples/data/Fruit360/mango/r_48_100.jpg | Bin 0 -> 4456 bytes examples/data/Fruit360/mango/r_49_100.jpg | Bin 0 -> 4411 bytes examples/data/Fruit360/mango/r_4_100.jpg | Bin 0 -> 4518 bytes examples/data/Fruit360/mango/r_50_100.jpg | Bin 0 -> 4457 bytes examples/data/Fruit360/mango/r_51_100.jpg | Bin 0 -> 4330 bytes examples/data/Fruit360/mango/r_52_100.jpg | Bin 0 -> 4302 bytes examples/data/Fruit360/mango/r_53_100.jpg | Bin 0 -> 4345 bytes examples/data/Fruit360/mango/r_54_100.jpg | Bin 0 -> 4356 bytes examples/data/Fruit360/mango/r_55_100.jpg | Bin 0 -> 4359 bytes examples/data/Fruit360/mango/r_56_100.jpg | Bin 0 -> 4357 bytes examples/data/Fruit360/mango/r_57_100.jpg | Bin 0 -> 4390 bytes examples/data/Fruit360/mango/r_58_100.jpg | Bin 0 -> 4380 bytes examples/data/Fruit360/mango/r_59_100.jpg | Bin 0 -> 4377 bytes examples/data/Fruit360/mango/r_5_100.jpg | Bin 0 -> 4530 bytes examples/data/Fruit360/mango/r_60_100.jpg | Bin 0 -> 4351 bytes examples/data/Fruit360/mango/r_61_100.jpg | Bin 0 -> 4410 bytes examples/data/Fruit360/mango/r_62_100.jpg | Bin 0 -> 4400 bytes examples/data/Fruit360/mango/r_63_100.jpg | Bin 0 -> 4439 bytes examples/data/Fruit360/mango/r_64_100.jpg | Bin 0 -> 4386 bytes examples/data/Fruit360/mango/r_65_100.jpg | Bin 0 -> 4441 bytes examples/data/Fruit360/mango/r_66_100.jpg | Bin 0 -> 4441 bytes examples/data/Fruit360/mango/r_67_100.jpg | Bin 0 -> 4414 bytes examples/data/Fruit360/mango/r_68_100.jpg | Bin 0 -> 4413 bytes examples/data/Fruit360/mango/r_69_100.jpg | Bin 0 -> 4363 bytes examples/data/Fruit360/mango/r_6_100.jpg | Bin 0 -> 4465 bytes examples/data/Fruit360/mango/r_70_100.jpg | Bin 0 -> 4357 bytes examples/data/Fruit360/mango/r_71_100.jpg | Bin 0 -> 4339 bytes examples/data/Fruit360/mango/r_72_100.jpg | Bin 0 -> 4307 bytes examples/data/Fruit360/mango/r_73_100.jpg | Bin 0 -> 4405 bytes examples/data/Fruit360/mango/r_74_100.jpg | Bin 0 -> 4394 bytes examples/data/Fruit360/mango/r_75_100.jpg | Bin 0 -> 4300 bytes examples/data/Fruit360/mango/r_76_100.jpg | Bin 0 -> 4303 bytes examples/data/Fruit360/mango/r_77_100.jpg | Bin 0 -> 4313 bytes examples/data/Fruit360/mango/r_7_100.jpg | Bin 0 -> 4453 bytes examples/data/Fruit360/mango/r_80_100.jpg | Bin 0 -> 4299 bytes examples/data/Fruit360/mango/r_8_100.jpg | Bin 0 -> 4441 bytes examples/data/Fruit360/mango/r_92_100.jpg | Bin 0 -> 4347 bytes examples/data/Fruit360/mango/r_93_100.jpg | Bin 0 -> 4329 bytes examples/data/Fruit360/mango/r_94_100.jpg | Bin 0 -> 4349 bytes examples/data/Fruit360/mango/r_95_100.jpg | Bin 0 -> 4320 bytes examples/data/Fruit360/mango/r_96_100.jpg | Bin 0 -> 4370 bytes examples/data/Fruit360/mango/r_97_100.jpg | Bin 0 -> 4382 bytes examples/data/Fruit360/mango/r_98_100.jpg | Bin 0 -> 4393 bytes examples/data/Fruit360/mango/r_99_100.jpg | Bin 0 -> 4403 bytes examples/data/Fruit360/mango/r_9_100.jpg | Bin 0 -> 4434 bytes examples/data/Fruit360/raspberry/0_100.jpg | Bin 0 -> 6927 bytes examples/data/Fruit360/raspberry/10_100.jpg | Bin 0 -> 7300 bytes examples/data/Fruit360/raspberry/113_100.jpg | Bin 0 -> 6885 bytes examples/data/Fruit360/raspberry/114_100.jpg | Bin 0 -> 6832 bytes examples/data/Fruit360/raspberry/115_100.jpg | Bin 0 -> 6930 bytes examples/data/Fruit360/raspberry/116_100.jpg | Bin 0 -> 6932 bytes examples/data/Fruit360/raspberry/117_100.jpg | Bin 0 -> 6882 bytes examples/data/Fruit360/raspberry/118_100.jpg | Bin 0 -> 6957 bytes examples/data/Fruit360/raspberry/119_100.jpg | Bin 0 -> 7089 bytes examples/data/Fruit360/raspberry/11_100.jpg | Bin 0 -> 7243 bytes examples/data/Fruit360/raspberry/120_100.jpg | Bin 0 -> 7163 bytes examples/data/Fruit360/raspberry/121_100.jpg | Bin 0 -> 7121 bytes examples/data/Fruit360/raspberry/122_100.jpg | Bin 0 -> 7249 bytes examples/data/Fruit360/raspberry/123_100.jpg | Bin 0 -> 7185 bytes examples/data/Fruit360/raspberry/124_100.jpg | Bin 0 -> 7258 bytes examples/data/Fruit360/raspberry/125_100.jpg | Bin 0 -> 7345 bytes examples/data/Fruit360/raspberry/126_100.jpg | Bin 0 -> 7385 bytes examples/data/Fruit360/raspberry/127_100.jpg | Bin 0 -> 7375 bytes examples/data/Fruit360/raspberry/128_100.jpg | Bin 0 -> 7407 bytes examples/data/Fruit360/raspberry/129_100.jpg | Bin 0 -> 7374 bytes examples/data/Fruit360/raspberry/12_100.jpg | Bin 0 -> 7197 bytes examples/data/Fruit360/raspberry/130_100.jpg | Bin 0 -> 7287 bytes examples/data/Fruit360/raspberry/131_100.jpg | Bin 0 -> 7416 bytes examples/data/Fruit360/raspberry/132_100.jpg | Bin 0 -> 7402 bytes examples/data/Fruit360/raspberry/133_100.jpg | Bin 0 -> 7312 bytes examples/data/Fruit360/raspberry/134_100.jpg | Bin 0 -> 7307 bytes examples/data/Fruit360/raspberry/135_100.jpg | Bin 0 -> 7307 bytes examples/data/Fruit360/raspberry/136_100.jpg | Bin 0 -> 7255 bytes examples/data/Fruit360/raspberry/137_100.jpg | Bin 0 -> 7224 bytes examples/data/Fruit360/raspberry/138_100.jpg | Bin 0 -> 7208 bytes examples/data/Fruit360/raspberry/139_100.jpg | Bin 0 -> 7352 bytes examples/data/Fruit360/raspberry/13_100.jpg | Bin 0 -> 7232 bytes examples/data/Fruit360/raspberry/140_100.jpg | Bin 0 -> 7363 bytes examples/data/Fruit360/raspberry/141_100.jpg | Bin 0 -> 7398 bytes examples/data/Fruit360/raspberry/142_100.jpg | Bin 0 -> 7335 bytes examples/data/Fruit360/raspberry/143_100.jpg | Bin 0 -> 7251 bytes examples/data/Fruit360/raspberry/144_100.jpg | Bin 0 -> 7274 bytes examples/data/Fruit360/raspberry/145_100.jpg | Bin 0 -> 7168 bytes examples/data/Fruit360/raspberry/146_100.jpg | Bin 0 -> 7277 bytes examples/data/Fruit360/raspberry/147_100.jpg | Bin 0 -> 7273 bytes examples/data/Fruit360/raspberry/148_100.jpg | Bin 0 -> 7182 bytes examples/data/Fruit360/raspberry/149_100.jpg | Bin 0 -> 7196 bytes examples/data/Fruit360/raspberry/14_100.jpg | Bin 0 -> 7368 bytes examples/data/Fruit360/raspberry/150_100.jpg | Bin 0 -> 7184 bytes examples/data/Fruit360/raspberry/151_100.jpg | Bin 0 -> 7203 bytes examples/data/Fruit360/raspberry/152_100.jpg | Bin 0 -> 7141 bytes examples/data/Fruit360/raspberry/153_100.jpg | Bin 0 -> 7192 bytes examples/data/Fruit360/raspberry/154_100.jpg | Bin 0 -> 7231 bytes examples/data/Fruit360/raspberry/155_100.jpg | Bin 0 -> 7339 bytes examples/data/Fruit360/raspberry/156_100.jpg | Bin 0 -> 7385 bytes examples/data/Fruit360/raspberry/157_100.jpg | Bin 0 -> 7423 bytes examples/data/Fruit360/raspberry/158_100.jpg | Bin 0 -> 7357 bytes examples/data/Fruit360/raspberry/159_100.jpg | Bin 0 -> 7336 bytes examples/data/Fruit360/raspberry/15_100.jpg | Bin 0 -> 7335 bytes examples/data/Fruit360/raspberry/160_100.jpg | Bin 0 -> 7333 bytes examples/data/Fruit360/raspberry/161_100.jpg | Bin 0 -> 7358 bytes examples/data/Fruit360/raspberry/162_100.jpg | Bin 0 -> 7163 bytes examples/data/Fruit360/raspberry/163_100.jpg | Bin 0 -> 7194 bytes examples/data/Fruit360/raspberry/164_100.jpg | Bin 0 -> 7226 bytes examples/data/Fruit360/raspberry/165_100.jpg | Bin 0 -> 7382 bytes examples/data/Fruit360/raspberry/166_100.jpg | Bin 0 -> 7324 bytes examples/data/Fruit360/raspberry/167_100.jpg | Bin 0 -> 7289 bytes examples/data/Fruit360/raspberry/168_100.jpg | Bin 0 -> 7285 bytes examples/data/Fruit360/raspberry/169_100.jpg | Bin 0 -> 7068 bytes examples/data/Fruit360/raspberry/16_100.jpg | Bin 0 -> 7321 bytes examples/data/Fruit360/raspberry/170_100.jpg | Bin 0 -> 7106 bytes examples/data/Fruit360/raspberry/171_100.jpg | Bin 0 -> 7379 bytes examples/data/Fruit360/raspberry/172_100.jpg | Bin 0 -> 7264 bytes examples/data/Fruit360/raspberry/173_100.jpg | Bin 0 -> 7247 bytes examples/data/Fruit360/raspberry/174_100.jpg | Bin 0 -> 7373 bytes examples/data/Fruit360/raspberry/175_100.jpg | Bin 0 -> 7402 bytes examples/data/Fruit360/raspberry/176_100.jpg | Bin 0 -> 7437 bytes examples/data/Fruit360/raspberry/177_100.jpg | Bin 0 -> 7385 bytes examples/data/Fruit360/raspberry/178_100.jpg | Bin 0 -> 7370 bytes examples/data/Fruit360/raspberry/179_100.jpg | Bin 0 -> 7434 bytes examples/data/Fruit360/raspberry/17_100.jpg | Bin 0 -> 7337 bytes examples/data/Fruit360/raspberry/180_100.jpg | Bin 0 -> 7334 bytes examples/data/Fruit360/raspberry/181_100.jpg | Bin 0 -> 7348 bytes examples/data/Fruit360/raspberry/182_100.jpg | Bin 0 -> 7352 bytes examples/data/Fruit360/raspberry/183_100.jpg | Bin 0 -> 7324 bytes examples/data/Fruit360/raspberry/184_100.jpg | Bin 0 -> 7334 bytes examples/data/Fruit360/raspberry/185_100.jpg | Bin 0 -> 7270 bytes examples/data/Fruit360/raspberry/186_100.jpg | Bin 0 -> 7259 bytes examples/data/Fruit360/raspberry/187_100.jpg | Bin 0 -> 7215 bytes examples/data/Fruit360/raspberry/188_100.jpg | Bin 0 -> 7197 bytes examples/data/Fruit360/raspberry/189_100.jpg | Bin 0 -> 7160 bytes examples/data/Fruit360/raspberry/18_100.jpg | Bin 0 -> 7283 bytes examples/data/Fruit360/raspberry/190_100.jpg | Bin 0 -> 6885 bytes examples/data/Fruit360/raspberry/191_100.jpg | Bin 0 -> 6893 bytes examples/data/Fruit360/raspberry/192_100.jpg | Bin 0 -> 6889 bytes examples/data/Fruit360/raspberry/193_100.jpg | Bin 0 -> 6869 bytes examples/data/Fruit360/raspberry/194_100.jpg | Bin 0 -> 6861 bytes examples/data/Fruit360/raspberry/195_100.jpg | Bin 0 -> 6868 bytes examples/data/Fruit360/raspberry/196_100.jpg | Bin 0 -> 6853 bytes examples/data/Fruit360/raspberry/197_100.jpg | Bin 0 -> 6884 bytes examples/data/Fruit360/raspberry/198_100.jpg | Bin 0 -> 6838 bytes examples/data/Fruit360/raspberry/19_100.jpg | Bin 0 -> 7370 bytes examples/data/Fruit360/raspberry/1_100.jpg | Bin 0 -> 6999 bytes examples/data/Fruit360/raspberry/201_100.jpg | Bin 0 -> 6842 bytes examples/data/Fruit360/raspberry/20_100.jpg | Bin 0 -> 7339 bytes examples/data/Fruit360/raspberry/21_100.jpg | Bin 0 -> 7282 bytes examples/data/Fruit360/raspberry/22_100.jpg | Bin 0 -> 7325 bytes examples/data/Fruit360/raspberry/23_100.jpg | Bin 0 -> 7254 bytes examples/data/Fruit360/raspberry/248_100.jpg | Bin 0 -> 6879 bytes examples/data/Fruit360/raspberry/249_100.jpg | Bin 0 -> 6869 bytes examples/data/Fruit360/raspberry/24_100.jpg | Bin 0 -> 7314 bytes examples/data/Fruit360/raspberry/250_100.jpg | Bin 0 -> 6887 bytes examples/data/Fruit360/raspberry/251_100.jpg | Bin 0 -> 6847 bytes examples/data/Fruit360/raspberry/252_100.jpg | Bin 0 -> 6874 bytes examples/data/Fruit360/raspberry/253_100.jpg | Bin 0 -> 6962 bytes examples/data/Fruit360/raspberry/254_100.jpg | Bin 0 -> 6977 bytes examples/data/Fruit360/raspberry/255_100.jpg | Bin 0 -> 6899 bytes examples/data/Fruit360/raspberry/256_100.jpg | Bin 0 -> 6907 bytes examples/data/Fruit360/raspberry/257_100.jpg | Bin 0 -> 7032 bytes examples/data/Fruit360/raspberry/258_100.jpg | Bin 0 -> 7044 bytes examples/data/Fruit360/raspberry/259_100.jpg | Bin 0 -> 7125 bytes examples/data/Fruit360/raspberry/25_100.jpg | Bin 0 -> 7278 bytes examples/data/Fruit360/raspberry/260_100.jpg | Bin 0 -> 7139 bytes examples/data/Fruit360/raspberry/261_100.jpg | Bin 0 -> 7124 bytes examples/data/Fruit360/raspberry/262_100.jpg | Bin 0 -> 7035 bytes examples/data/Fruit360/raspberry/263_100.jpg | Bin 0 -> 7189 bytes examples/data/Fruit360/raspberry/264_100.jpg | Bin 0 -> 7126 bytes examples/data/Fruit360/raspberry/265_100.jpg | Bin 0 -> 7229 bytes examples/data/Fruit360/raspberry/266_100.jpg | Bin 0 -> 7152 bytes examples/data/Fruit360/raspberry/267_100.jpg | Bin 0 -> 7221 bytes examples/data/Fruit360/raspberry/268_100.jpg | Bin 0 -> 7214 bytes examples/data/Fruit360/raspberry/269_100.jpg | Bin 0 -> 7287 bytes examples/data/Fruit360/raspberry/26_100.jpg | Bin 0 -> 7233 bytes examples/data/Fruit360/raspberry/270_100.jpg | Bin 0 -> 7329 bytes examples/data/Fruit360/raspberry/271_100.jpg | Bin 0 -> 7342 bytes examples/data/Fruit360/raspberry/272_100.jpg | Bin 0 -> 7415 bytes examples/data/Fruit360/raspberry/273_100.jpg | Bin 0 -> 7313 bytes examples/data/Fruit360/raspberry/274_100.jpg | Bin 0 -> 7311 bytes examples/data/Fruit360/raspberry/275_100.jpg | Bin 0 -> 7286 bytes examples/data/Fruit360/raspberry/276_100.jpg | Bin 0 -> 7300 bytes examples/data/Fruit360/raspberry/277_100.jpg | Bin 0 -> 7323 bytes examples/data/Fruit360/raspberry/278_100.jpg | Bin 0 -> 7340 bytes examples/data/Fruit360/raspberry/279_100.jpg | Bin 0 -> 7288 bytes examples/data/Fruit360/raspberry/27_100.jpg | Bin 0 -> 7101 bytes examples/data/Fruit360/raspberry/280_100.jpg | Bin 0 -> 7193 bytes examples/data/Fruit360/raspberry/281_100.jpg | Bin 0 -> 7115 bytes examples/data/Fruit360/raspberry/282_100.jpg | Bin 0 -> 7126 bytes examples/data/Fruit360/raspberry/283_100.jpg | Bin 0 -> 7138 bytes examples/data/Fruit360/raspberry/284_100.jpg | Bin 0 -> 7160 bytes examples/data/Fruit360/raspberry/285_100.jpg | Bin 0 -> 7238 bytes examples/data/Fruit360/raspberry/286_100.jpg | Bin 0 -> 7302 bytes examples/data/Fruit360/raspberry/287_100.jpg | Bin 0 -> 7227 bytes examples/data/Fruit360/raspberry/288_100.jpg | Bin 0 -> 7123 bytes examples/data/Fruit360/raspberry/289_100.jpg | Bin 0 -> 7256 bytes examples/data/Fruit360/raspberry/28_100.jpg | Bin 0 -> 7128 bytes examples/data/Fruit360/raspberry/290_100.jpg | Bin 0 -> 7265 bytes examples/data/Fruit360/raspberry/291_100.jpg | Bin 0 -> 7112 bytes examples/data/Fruit360/raspberry/292_100.jpg | Bin 0 -> 6893 bytes examples/data/Fruit360/raspberry/293_100.jpg | Bin 0 -> 7164 bytes examples/data/Fruit360/raspberry/294_100.jpg | Bin 0 -> 7184 bytes examples/data/Fruit360/raspberry/295_100.jpg | Bin 0 -> 7194 bytes examples/data/Fruit360/raspberry/296_100.jpg | Bin 0 -> 7187 bytes examples/data/Fruit360/raspberry/297_100.jpg | Bin 0 -> 7134 bytes examples/data/Fruit360/raspberry/298_100.jpg | Bin 0 -> 7264 bytes examples/data/Fruit360/raspberry/299_100.jpg | Bin 0 -> 7332 bytes examples/data/Fruit360/raspberry/29_100.jpg | Bin 0 -> 7120 bytes examples/data/Fruit360/raspberry/2_100.jpg | Bin 0 -> 6960 bytes examples/data/Fruit360/raspberry/300_100.jpg | Bin 0 -> 7192 bytes examples/data/Fruit360/raspberry/301_100.jpg | Bin 0 -> 7156 bytes examples/data/Fruit360/raspberry/302_100.jpg | Bin 0 -> 7181 bytes examples/data/Fruit360/raspberry/303_100.jpg | Bin 0 -> 7164 bytes examples/data/Fruit360/raspberry/304_100.jpg | Bin 0 -> 7186 bytes examples/data/Fruit360/raspberry/305_100.jpg | Bin 0 -> 6962 bytes examples/data/Fruit360/raspberry/306_100.jpg | Bin 0 -> 7302 bytes examples/data/Fruit360/raspberry/307_100.jpg | Bin 0 -> 7172 bytes examples/data/Fruit360/raspberry/308_100.jpg | Bin 0 -> 7267 bytes examples/data/Fruit360/raspberry/309_100.jpg | Bin 0 -> 7156 bytes examples/data/Fruit360/raspberry/30_100.jpg | Bin 0 -> 7301 bytes examples/data/Fruit360/raspberry/310_100.jpg | Bin 0 -> 7170 bytes examples/data/Fruit360/raspberry/311_100.jpg | Bin 0 -> 7112 bytes examples/data/Fruit360/raspberry/312_100.jpg | Bin 0 -> 6988 bytes examples/data/Fruit360/raspberry/313_100.jpg | Bin 0 -> 7234 bytes examples/data/Fruit360/raspberry/314_100.jpg | Bin 0 -> 7231 bytes examples/data/Fruit360/raspberry/315_100.jpg | Bin 0 -> 7168 bytes examples/data/Fruit360/raspberry/316_100.jpg | Bin 0 -> 7374 bytes examples/data/Fruit360/raspberry/317_100.jpg | Bin 0 -> 7321 bytes examples/data/Fruit360/raspberry/318_100.jpg | Bin 0 -> 7232 bytes examples/data/Fruit360/raspberry/319_100.jpg | Bin 0 -> 7283 bytes examples/data/Fruit360/raspberry/31_100.jpg | Bin 0 -> 7249 bytes examples/data/Fruit360/raspberry/320_100.jpg | Bin 0 -> 7315 bytes examples/data/Fruit360/raspberry/321_100.jpg | Bin 0 -> 7295 bytes examples/data/Fruit360/raspberry/322_100.jpg | Bin 0 -> 7246 bytes examples/data/Fruit360/raspberry/323_100.jpg | Bin 0 -> 7249 bytes examples/data/Fruit360/raspberry/324_100.jpg | Bin 0 -> 7210 bytes examples/data/Fruit360/raspberry/325_100.jpg | Bin 0 -> 7120 bytes examples/data/Fruit360/raspberry/326_100.jpg | Bin 0 -> 7144 bytes examples/data/Fruit360/raspberry/327_100.jpg | Bin 0 -> 7115 bytes examples/data/Fruit360/raspberry/32_100.jpg | Bin 0 -> 7318 bytes examples/data/Fruit360/raspberry/33_100.jpg | Bin 0 -> 7154 bytes examples/data/Fruit360/raspberry/34_100.jpg | Bin 0 -> 7274 bytes examples/data/Fruit360/raspberry/35_100.jpg | Bin 0 -> 7149 bytes examples/data/Fruit360/raspberry/36_100.jpg | Bin 0 -> 7302 bytes examples/data/Fruit360/raspberry/37_100.jpg | Bin 0 -> 7199 bytes examples/data/Fruit360/raspberry/38_100.jpg | Bin 0 -> 7200 bytes examples/data/Fruit360/raspberry/39_100.jpg | Bin 0 -> 7145 bytes examples/data/Fruit360/raspberry/3_100.jpg | Bin 0 -> 7158 bytes examples/data/Fruit360/raspberry/40_100.jpg | Bin 0 -> 7162 bytes examples/data/Fruit360/raspberry/41_100.jpg | Bin 0 -> 7197 bytes examples/data/Fruit360/raspberry/42_100.jpg | Bin 0 -> 7237 bytes examples/data/Fruit360/raspberry/43_100.jpg | Bin 0 -> 7366 bytes examples/data/Fruit360/raspberry/44_100.jpg | Bin 0 -> 7212 bytes examples/data/Fruit360/raspberry/45_100.jpg | Bin 0 -> 7355 bytes examples/data/Fruit360/raspberry/46_100.jpg | Bin 0 -> 7287 bytes examples/data/Fruit360/raspberry/47_100.jpg | Bin 0 -> 7286 bytes examples/data/Fruit360/raspberry/48_100.jpg | Bin 0 -> 7160 bytes examples/data/Fruit360/raspberry/49_100.jpg | Bin 0 -> 6983 bytes examples/data/Fruit360/raspberry/4_100.jpg | Bin 0 -> 7148 bytes examples/data/Fruit360/raspberry/50_100.jpg | Bin 0 -> 7346 bytes examples/data/Fruit360/raspberry/51_100.jpg | Bin 0 -> 7215 bytes examples/data/Fruit360/raspberry/52_100.jpg | Bin 0 -> 7166 bytes examples/data/Fruit360/raspberry/53_100.jpg | Bin 0 -> 7213 bytes examples/data/Fruit360/raspberry/54_100.jpg | Bin 0 -> 7269 bytes examples/data/Fruit360/raspberry/55_100.jpg | Bin 0 -> 7221 bytes examples/data/Fruit360/raspberry/56_100.jpg | Bin 0 -> 7265 bytes examples/data/Fruit360/raspberry/57_100.jpg | Bin 0 -> 7329 bytes examples/data/Fruit360/raspberry/58_100.jpg | Bin 0 -> 7365 bytes examples/data/Fruit360/raspberry/59_100.jpg | Bin 0 -> 7367 bytes examples/data/Fruit360/raspberry/5_100.jpg | Bin 0 -> 7165 bytes examples/data/Fruit360/raspberry/60_100.jpg | Bin 0 -> 7289 bytes examples/data/Fruit360/raspberry/61_100.jpg | Bin 0 -> 7215 bytes examples/data/Fruit360/raspberry/62_100.jpg | Bin 0 -> 7304 bytes examples/data/Fruit360/raspberry/63_100.jpg | Bin 0 -> 7261 bytes examples/data/Fruit360/raspberry/64_100.jpg | Bin 0 -> 7232 bytes examples/data/Fruit360/raspberry/65_100.jpg | Bin 0 -> 7288 bytes examples/data/Fruit360/raspberry/66_100.jpg | Bin 0 -> 7211 bytes examples/data/Fruit360/raspberry/67_100.jpg | Bin 0 -> 7149 bytes examples/data/Fruit360/raspberry/68_100.jpg | Bin 0 -> 7178 bytes examples/data/Fruit360/raspberry/69_100.jpg | Bin 0 -> 7104 bytes examples/data/Fruit360/raspberry/6_100.jpg | Bin 0 -> 7097 bytes examples/data/Fruit360/raspberry/70_100.jpg | Bin 0 -> 7123 bytes examples/data/Fruit360/raspberry/71_100.jpg | Bin 0 -> 7123 bytes examples/data/Fruit360/raspberry/72_100.jpg | Bin 0 -> 7001 bytes examples/data/Fruit360/raspberry/73_100.jpg | Bin 0 -> 7011 bytes examples/data/Fruit360/raspberry/74_100.jpg | Bin 0 -> 6994 bytes examples/data/Fruit360/raspberry/75_100.jpg | Bin 0 -> 6925 bytes examples/data/Fruit360/raspberry/76_100.jpg | Bin 0 -> 6878 bytes examples/data/Fruit360/raspberry/78_100.jpg | Bin 0 -> 6839 bytes examples/data/Fruit360/raspberry/7_100.jpg | Bin 0 -> 7167 bytes examples/data/Fruit360/raspberry/8_100.jpg | Bin 0 -> 7200 bytes examples/data/Fruit360/raspberry/9_100.jpg | Bin 0 -> 7178 bytes examples/data/Fruit360/raspberry/r_0_100.jpg | Bin 0 -> 5992 bytes .../data/Fruit360/raspberry/r_113_100.jpg | Bin 0 -> 5922 bytes examples/data/Fruit360/raspberry/r_11_100.jpg | Bin 0 -> 6090 bytes .../data/Fruit360/raspberry/r_123_100.jpg | Bin 0 -> 6002 bytes .../data/Fruit360/raspberry/r_124_100.jpg | Bin 0 -> 5986 bytes .../data/Fruit360/raspberry/r_125_100.jpg | Bin 0 -> 6018 bytes .../data/Fruit360/raspberry/r_126_100.jpg | Bin 0 -> 6031 bytes .../data/Fruit360/raspberry/r_127_100.jpg | Bin 0 -> 6069 bytes .../data/Fruit360/raspberry/r_128_100.jpg | Bin 0 -> 6001 bytes .../data/Fruit360/raspberry/r_129_100.jpg | Bin 0 -> 6021 bytes examples/data/Fruit360/raspberry/r_12_100.jpg | Bin 0 -> 5926 bytes .../data/Fruit360/raspberry/r_130_100.jpg | Bin 0 -> 6065 bytes .../data/Fruit360/raspberry/r_131_100.jpg | Bin 0 -> 6061 bytes .../data/Fruit360/raspberry/r_132_100.jpg | Bin 0 -> 6056 bytes .../data/Fruit360/raspberry/r_133_100.jpg | Bin 0 -> 6081 bytes .../data/Fruit360/raspberry/r_134_100.jpg | Bin 0 -> 6138 bytes .../data/Fruit360/raspberry/r_135_100.jpg | Bin 0 -> 6116 bytes .../data/Fruit360/raspberry/r_136_100.jpg | Bin 0 -> 6177 bytes .../data/Fruit360/raspberry/r_137_100.jpg | Bin 0 -> 6177 bytes .../data/Fruit360/raspberry/r_138_100.jpg | Bin 0 -> 6133 bytes .../data/Fruit360/raspberry/r_139_100.jpg | Bin 0 -> 6076 bytes examples/data/Fruit360/raspberry/r_13_100.jpg | Bin 0 -> 6064 bytes .../data/Fruit360/raspberry/r_140_100.jpg | Bin 0 -> 6117 bytes .../data/Fruit360/raspberry/r_141_100.jpg | Bin 0 -> 6064 bytes .../data/Fruit360/raspberry/r_142_100.jpg | Bin 0 -> 6101 bytes .../data/Fruit360/raspberry/r_143_100.jpg | Bin 0 -> 6326 bytes .../data/Fruit360/raspberry/r_144_100.jpg | Bin 0 -> 6297 bytes .../data/Fruit360/raspberry/r_145_100.jpg | Bin 0 -> 6313 bytes .../data/Fruit360/raspberry/r_146_100.jpg | Bin 0 -> 6293 bytes .../data/Fruit360/raspberry/r_147_100.jpg | Bin 0 -> 6309 bytes .../data/Fruit360/raspberry/r_148_100.jpg | Bin 0 -> 6341 bytes .../data/Fruit360/raspberry/r_149_100.jpg | Bin 0 -> 6348 bytes examples/data/Fruit360/raspberry/r_14_100.jpg | Bin 0 -> 6065 bytes .../data/Fruit360/raspberry/r_150_100.jpg | Bin 0 -> 6380 bytes .../data/Fruit360/raspberry/r_151_100.jpg | Bin 0 -> 6103 bytes .../data/Fruit360/raspberry/r_152_100.jpg | Bin 0 -> 6149 bytes .../data/Fruit360/raspberry/r_153_100.jpg | Bin 0 -> 6200 bytes .../data/Fruit360/raspberry/r_154_100.jpg | Bin 0 -> 6155 bytes .../data/Fruit360/raspberry/r_155_100.jpg | Bin 0 -> 6211 bytes .../data/Fruit360/raspberry/r_156_100.jpg | Bin 0 -> 6256 bytes .../data/Fruit360/raspberry/r_157_100.jpg | Bin 0 -> 6280 bytes .../data/Fruit360/raspberry/r_158_100.jpg | Bin 0 -> 6314 bytes .../data/Fruit360/raspberry/r_159_100.jpg | Bin 0 -> 6287 bytes examples/data/Fruit360/raspberry/r_15_100.jpg | Bin 0 -> 5940 bytes .../data/Fruit360/raspberry/r_160_100.jpg | Bin 0 -> 6311 bytes .../data/Fruit360/raspberry/r_161_100.jpg | Bin 0 -> 6162 bytes .../data/Fruit360/raspberry/r_162_100.jpg | Bin 0 -> 6179 bytes .../data/Fruit360/raspberry/r_163_100.jpg | Bin 0 -> 6254 bytes .../data/Fruit360/raspberry/r_164_100.jpg | Bin 0 -> 6259 bytes .../data/Fruit360/raspberry/r_165_100.jpg | Bin 0 -> 6261 bytes .../data/Fruit360/raspberry/r_166_100.jpg | Bin 0 -> 6174 bytes .../data/Fruit360/raspberry/r_167_100.jpg | Bin 0 -> 6237 bytes .../data/Fruit360/raspberry/r_168_100.jpg | Bin 0 -> 6224 bytes .../data/Fruit360/raspberry/r_169_100.jpg | Bin 0 -> 6164 bytes examples/data/Fruit360/raspberry/r_16_100.jpg | Bin 0 -> 5928 bytes .../data/Fruit360/raspberry/r_170_100.jpg | Bin 0 -> 6180 bytes .../data/Fruit360/raspberry/r_171_100.jpg | Bin 0 -> 6147 bytes .../data/Fruit360/raspberry/r_172_100.jpg | Bin 0 -> 6244 bytes .../data/Fruit360/raspberry/r_173_100.jpg | Bin 0 -> 6139 bytes .../data/Fruit360/raspberry/r_174_100.jpg | Bin 0 -> 6142 bytes .../data/Fruit360/raspberry/r_175_100.jpg | Bin 0 -> 6041 bytes .../data/Fruit360/raspberry/r_176_100.jpg | Bin 0 -> 6082 bytes .../data/Fruit360/raspberry/r_177_100.jpg | Bin 0 -> 6159 bytes .../data/Fruit360/raspberry/r_178_100.jpg | Bin 0 -> 6119 bytes .../data/Fruit360/raspberry/r_179_100.jpg | Bin 0 -> 6224 bytes examples/data/Fruit360/raspberry/r_17_100.jpg | Bin 0 -> 5922 bytes .../data/Fruit360/raspberry/r_180_100.jpg | Bin 0 -> 6170 bytes .../data/Fruit360/raspberry/r_181_100.jpg | Bin 0 -> 6207 bytes .../data/Fruit360/raspberry/r_182_100.jpg | Bin 0 -> 6247 bytes .../data/Fruit360/raspberry/r_183_100.jpg | Bin 0 -> 6259 bytes .../data/Fruit360/raspberry/r_184_100.jpg | Bin 0 -> 6026 bytes .../data/Fruit360/raspberry/r_185_100.jpg | Bin 0 -> 6018 bytes .../data/Fruit360/raspberry/r_186_100.jpg | Bin 0 -> 6055 bytes .../data/Fruit360/raspberry/r_187_100.jpg | Bin 0 -> 6080 bytes .../data/Fruit360/raspberry/r_188_100.jpg | Bin 0 -> 6064 bytes .../data/Fruit360/raspberry/r_189_100.jpg | Bin 0 -> 6113 bytes examples/data/Fruit360/raspberry/r_18_100.jpg | Bin 0 -> 5929 bytes .../data/Fruit360/raspberry/r_190_100.jpg | Bin 0 -> 6069 bytes .../data/Fruit360/raspberry/r_191_100.jpg | Bin 0 -> 6060 bytes .../data/Fruit360/raspberry/r_192_100.jpg | Bin 0 -> 6131 bytes .../data/Fruit360/raspberry/r_193_100.jpg | Bin 0 -> 6075 bytes .../data/Fruit360/raspberry/r_194_100.jpg | Bin 0 -> 6069 bytes .../data/Fruit360/raspberry/r_195_100.jpg | Bin 0 -> 6206 bytes .../data/Fruit360/raspberry/r_196_100.jpg | Bin 0 -> 6117 bytes .../data/Fruit360/raspberry/r_197_100.jpg | Bin 0 -> 6041 bytes .../data/Fruit360/raspberry/r_198_100.jpg | Bin 0 -> 6163 bytes .../data/Fruit360/raspberry/r_199_100.jpg | Bin 0 -> 6010 bytes examples/data/Fruit360/raspberry/r_1_100.jpg | Bin 0 -> 6194 bytes .../data/Fruit360/raspberry/r_200_100.jpg | Bin 0 -> 6221 bytes .../data/Fruit360/raspberry/r_201_100.jpg | Bin 0 -> 6222 bytes .../data/Fruit360/raspberry/r_202_100.jpg | Bin 0 -> 6236 bytes .../data/Fruit360/raspberry/r_203_100.jpg | Bin 0 -> 6176 bytes .../data/Fruit360/raspberry/r_204_100.jpg | Bin 0 -> 6188 bytes .../data/Fruit360/raspberry/r_205_100.jpg | Bin 0 -> 6202 bytes .../data/Fruit360/raspberry/r_206_100.jpg | Bin 0 -> 6018 bytes .../data/Fruit360/raspberry/r_207_100.jpg | Bin 0 -> 6061 bytes .../data/Fruit360/raspberry/r_208_100.jpg | Bin 0 -> 6061 bytes .../data/Fruit360/raspberry/r_209_100.jpg | Bin 0 -> 6084 bytes examples/data/Fruit360/raspberry/r_20_100.jpg | Bin 0 -> 5921 bytes .../data/Fruit360/raspberry/r_210_100.jpg | Bin 0 -> 6081 bytes .../data/Fruit360/raspberry/r_211_100.jpg | Bin 0 -> 6022 bytes .../data/Fruit360/raspberry/r_212_100.jpg | Bin 0 -> 6039 bytes .../data/Fruit360/raspberry/r_213_100.jpg | Bin 0 -> 6044 bytes .../data/Fruit360/raspberry/r_214_100.jpg | Bin 0 -> 6065 bytes .../data/Fruit360/raspberry/r_215_100.jpg | Bin 0 -> 5994 bytes .../data/Fruit360/raspberry/r_221_100.jpg | Bin 0 -> 5964 bytes .../data/Fruit360/raspberry/r_222_100.jpg | Bin 0 -> 5958 bytes .../data/Fruit360/raspberry/r_224_100.jpg | Bin 0 -> 5929 bytes .../data/Fruit360/raspberry/r_225_100.jpg | Bin 0 -> 5952 bytes .../data/Fruit360/raspberry/r_226_100.jpg | Bin 0 -> 5963 bytes .../data/Fruit360/raspberry/r_229_100.jpg | Bin 0 -> 5927 bytes examples/data/Fruit360/raspberry/r_23_100.jpg | Bin 0 -> 5937 bytes .../data/Fruit360/raspberry/r_241_100.jpg | Bin 0 -> 6018 bytes .../data/Fruit360/raspberry/r_242_100.jpg | Bin 0 -> 5973 bytes .../data/Fruit360/raspberry/r_243_100.jpg | Bin 0 -> 5965 bytes .../data/Fruit360/raspberry/r_244_100.jpg | Bin 0 -> 6000 bytes .../data/Fruit360/raspberry/r_245_100.jpg | Bin 0 -> 5988 bytes .../data/Fruit360/raspberry/r_246_100.jpg | Bin 0 -> 6011 bytes .../data/Fruit360/raspberry/r_247_100.jpg | Bin 0 -> 5939 bytes .../data/Fruit360/raspberry/r_249_100.jpg | Bin 0 -> 5920 bytes examples/data/Fruit360/raspberry/r_24_100.jpg | Bin 0 -> 5931 bytes .../data/Fruit360/raspberry/r_250_100.jpg | Bin 0 -> 5972 bytes .../data/Fruit360/raspberry/r_251_100.jpg | Bin 0 -> 5919 bytes .../data/Fruit360/raspberry/r_253_100.jpg | Bin 0 -> 5979 bytes .../data/Fruit360/raspberry/r_254_100.jpg | Bin 0 -> 6007 bytes .../data/Fruit360/raspberry/r_255_100.jpg | Bin 0 -> 5998 bytes .../data/Fruit360/raspberry/r_256_100.jpg | Bin 0 -> 6055 bytes .../data/Fruit360/raspberry/r_257_100.jpg | Bin 0 -> 6103 bytes .../data/Fruit360/raspberry/r_258_100.jpg | Bin 0 -> 6044 bytes .../data/Fruit360/raspberry/r_259_100.jpg | Bin 0 -> 6078 bytes .../data/Fruit360/raspberry/r_260_100.jpg | Bin 0 -> 6093 bytes .../data/Fruit360/raspberry/r_261_100.jpg | Bin 0 -> 6178 bytes .../data/Fruit360/raspberry/r_262_100.jpg | Bin 0 -> 6116 bytes .../data/Fruit360/raspberry/r_263_100.jpg | Bin 0 -> 6095 bytes .../data/Fruit360/raspberry/r_264_100.jpg | Bin 0 -> 6096 bytes .../data/Fruit360/raspberry/r_265_100.jpg | Bin 0 -> 6107 bytes .../data/Fruit360/raspberry/r_266_100.jpg | Bin 0 -> 6116 bytes .../data/Fruit360/raspberry/r_267_100.jpg | Bin 0 -> 6097 bytes .../data/Fruit360/raspberry/r_268_100.jpg | Bin 0 -> 6131 bytes .../data/Fruit360/raspberry/r_269_100.jpg | Bin 0 -> 6037 bytes .../data/Fruit360/raspberry/r_270_100.jpg | Bin 0 -> 6101 bytes .../data/Fruit360/raspberry/r_271_100.jpg | Bin 0 -> 6166 bytes .../data/Fruit360/raspberry/r_272_100.jpg | Bin 0 -> 6011 bytes .../data/Fruit360/raspberry/r_273_100.jpg | Bin 0 -> 6079 bytes .../data/Fruit360/raspberry/r_274_100.jpg | Bin 0 -> 6100 bytes .../data/Fruit360/raspberry/r_275_100.jpg | Bin 0 -> 6057 bytes .../data/Fruit360/raspberry/r_276_100.jpg | Bin 0 -> 6058 bytes .../data/Fruit360/raspberry/r_277_100.jpg | Bin 0 -> 6083 bytes .../data/Fruit360/raspberry/r_278_100.jpg | Bin 0 -> 6010 bytes .../data/Fruit360/raspberry/r_279_100.jpg | Bin 0 -> 6010 bytes examples/data/Fruit360/raspberry/r_27_100.jpg | Bin 0 -> 5949 bytes .../data/Fruit360/raspberry/r_280_100.jpg | Bin 0 -> 6120 bytes .../data/Fruit360/raspberry/r_281_100.jpg | Bin 0 -> 6050 bytes .../data/Fruit360/raspberry/r_282_100.jpg | Bin 0 -> 6022 bytes .../data/Fruit360/raspberry/r_283_100.jpg | Bin 0 -> 6199 bytes .../data/Fruit360/raspberry/r_284_100.jpg | Bin 0 -> 6283 bytes .../data/Fruit360/raspberry/r_285_100.jpg | Bin 0 -> 5963 bytes .../data/Fruit360/raspberry/r_286_100.jpg | Bin 0 -> 5992 bytes .../data/Fruit360/raspberry/r_287_100.jpg | Bin 0 -> 6189 bytes .../data/Fruit360/raspberry/r_288_100.jpg | Bin 0 -> 6215 bytes .../data/Fruit360/raspberry/r_289_100.jpg | Bin 0 -> 6199 bytes .../data/Fruit360/raspberry/r_290_100.jpg | Bin 0 -> 6159 bytes .../data/Fruit360/raspberry/r_291_100.jpg | Bin 0 -> 5923 bytes .../data/Fruit360/raspberry/r_292_100.jpg | Bin 0 -> 6007 bytes .../data/Fruit360/raspberry/r_293_100.jpg | Bin 0 -> 6092 bytes .../data/Fruit360/raspberry/r_294_100.jpg | Bin 0 -> 5946 bytes .../data/Fruit360/raspberry/r_296_100.jpg | Bin 0 -> 6120 bytes .../data/Fruit360/raspberry/r_297_100.jpg | Bin 0 -> 6008 bytes .../data/Fruit360/raspberry/r_298_100.jpg | Bin 0 -> 6037 bytes .../data/Fruit360/raspberry/r_299_100.jpg | Bin 0 -> 5964 bytes examples/data/Fruit360/raspberry/r_2_100.jpg | Bin 0 -> 6219 bytes .../data/Fruit360/raspberry/r_300_100.jpg | Bin 0 -> 5957 bytes .../data/Fruit360/raspberry/r_301_100.jpg | Bin 0 -> 5927 bytes .../data/Fruit360/raspberry/r_307_100.jpg | Bin 0 -> 5968 bytes .../data/Fruit360/raspberry/r_318_100.jpg | Bin 0 -> 6069 bytes .../data/Fruit360/raspberry/r_319_100.jpg | Bin 0 -> 6096 bytes .../data/Fruit360/raspberry/r_322_100.jpg | Bin 0 -> 5961 bytes .../data/Fruit360/raspberry/r_323_100.jpg | Bin 0 -> 6052 bytes .../data/Fruit360/raspberry/r_324_100.jpg | Bin 0 -> 6159 bytes .../data/Fruit360/raspberry/r_326_100.jpg | Bin 0 -> 6089 bytes .../data/Fruit360/raspberry/r_327_100.jpg | Bin 0 -> 6062 bytes examples/data/Fruit360/raspberry/r_39_100.jpg | Bin 0 -> 5950 bytes examples/data/Fruit360/raspberry/r_3_100.jpg | Bin 0 -> 6240 bytes examples/data/Fruit360/raspberry/r_40_100.jpg | Bin 0 -> 6142 bytes examples/data/Fruit360/raspberry/r_41_100.jpg | Bin 0 -> 5934 bytes examples/data/Fruit360/raspberry/r_43_100.jpg | Bin 0 -> 6087 bytes examples/data/Fruit360/raspberry/r_44_100.jpg | Bin 0 -> 6106 bytes examples/data/Fruit360/raspberry/r_45_100.jpg | Bin 0 -> 6069 bytes examples/data/Fruit360/raspberry/r_46_100.jpg | Bin 0 -> 6171 bytes examples/data/Fruit360/raspberry/r_47_100.jpg | Bin 0 -> 6227 bytes examples/data/Fruit360/raspberry/r_48_100.jpg | Bin 0 -> 5923 bytes examples/data/Fruit360/raspberry/r_49_100.jpg | Bin 0 -> 5935 bytes examples/data/Fruit360/raspberry/r_4_100.jpg | Bin 0 -> 6219 bytes examples/data/Fruit360/raspberry/r_50_100.jpg | Bin 0 -> 6192 bytes examples/data/Fruit360/raspberry/r_51_100.jpg | Bin 0 -> 6139 bytes examples/data/Fruit360/raspberry/r_52_100.jpg | Bin 0 -> 6199 bytes examples/data/Fruit360/raspberry/r_53_100.jpg | Bin 0 -> 6191 bytes examples/data/Fruit360/raspberry/r_54_100.jpg | Bin 0 -> 6264 bytes examples/data/Fruit360/raspberry/r_55_100.jpg | Bin 0 -> 6247 bytes examples/data/Fruit360/raspberry/r_56_100.jpg | Bin 0 -> 6354 bytes examples/data/Fruit360/raspberry/r_57_100.jpg | Bin 0 -> 6250 bytes examples/data/Fruit360/raspberry/r_58_100.jpg | Bin 0 -> 6192 bytes examples/data/Fruit360/raspberry/r_59_100.jpg | Bin 0 -> 6294 bytes examples/data/Fruit360/raspberry/r_5_100.jpg | Bin 0 -> 6075 bytes examples/data/Fruit360/raspberry/r_60_100.jpg | Bin 0 -> 6115 bytes examples/data/Fruit360/raspberry/r_61_100.jpg | Bin 0 -> 6357 bytes examples/data/Fruit360/raspberry/r_62_100.jpg | Bin 0 -> 6318 bytes examples/data/Fruit360/raspberry/r_63_100.jpg | Bin 0 -> 6395 bytes examples/data/Fruit360/raspberry/r_64_100.jpg | Bin 0 -> 6039 bytes examples/data/Fruit360/raspberry/r_65_100.jpg | Bin 0 -> 6034 bytes examples/data/Fruit360/raspberry/r_66_100.jpg | Bin 0 -> 6402 bytes examples/data/Fruit360/raspberry/r_67_100.jpg | Bin 0 -> 6379 bytes examples/data/Fruit360/raspberry/r_68_100.jpg | Bin 0 -> 6367 bytes examples/data/Fruit360/raspberry/r_69_100.jpg | Bin 0 -> 6313 bytes examples/data/Fruit360/raspberry/r_6_100.jpg | Bin 0 -> 6021 bytes examples/data/Fruit360/raspberry/r_70_100.jpg | Bin 0 -> 6262 bytes examples/data/Fruit360/raspberry/r_71_100.jpg | Bin 0 -> 6289 bytes examples/data/Fruit360/raspberry/r_72_100.jpg | Bin 0 -> 6328 bytes examples/data/Fruit360/raspberry/r_73_100.jpg | Bin 0 -> 6298 bytes examples/data/Fruit360/raspberry/r_74_100.jpg | Bin 0 -> 6283 bytes examples/data/Fruit360/raspberry/r_75_100.jpg | Bin 0 -> 6272 bytes examples/data/Fruit360/raspberry/r_76_100.jpg | Bin 0 -> 6226 bytes examples/data/Fruit360/raspberry/r_77_100.jpg | Bin 0 -> 6199 bytes examples/data/Fruit360/raspberry/r_78_100.jpg | Bin 0 -> 6222 bytes examples/data/Fruit360/raspberry/r_79_100.jpg | Bin 0 -> 6291 bytes examples/data/Fruit360/raspberry/r_7_100.jpg | Bin 0 -> 6017 bytes examples/data/Fruit360/raspberry/r_80_100.jpg | Bin 0 -> 6315 bytes examples/data/Fruit360/raspberry/r_81_100.jpg | Bin 0 -> 6251 bytes examples/data/Fruit360/raspberry/r_82_100.jpg | Bin 0 -> 6156 bytes examples/data/Fruit360/raspberry/r_83_100.jpg | Bin 0 -> 6203 bytes examples/data/Fruit360/raspberry/r_84_100.jpg | Bin 0 -> 5947 bytes examples/data/Fruit360/raspberry/r_85_100.jpg | Bin 0 -> 5951 bytes examples/data/Fruit360/raspberry/r_86_100.jpg | Bin 0 -> 5940 bytes examples/data/Fruit360/raspberry/r_87_100.jpg | Bin 0 -> 5934 bytes examples/data/Fruit360/raspberry/r_88_100.jpg | Bin 0 -> 6083 bytes examples/data/Fruit360/raspberry/r_8_100.jpg | Bin 0 -> 6172 bytes examples/data/Fruit360/raspberry/r_90_100.jpg | Bin 0 -> 5941 bytes examples/data/Fruit360/raspberry/r_91_100.jpg | Bin 0 -> 6026 bytes examples/data/Fruit360/raspberry/r_92_100.jpg | Bin 0 -> 6037 bytes examples/data/Fruit360/raspberry/r_93_100.jpg | Bin 0 -> 5969 bytes examples/data/Fruit360/raspberry/r_94_100.jpg | Bin 0 -> 5936 bytes examples/data/Fruit360/raspberry/r_97_100.jpg | Bin 0 -> 5982 bytes examples/data/Fruit360/raspberry/r_98_100.jpg | Bin 0 -> 6067 bytes examples/data/Fruit360/raspberry/r_99_100.jpg | Bin 0 -> 5918 bytes examples/data/Fruit360/raspberry/r_9_100.jpg | Bin 0 -> 5991 bytes .../gacnn/example_image_classification.py | 128 ++++++++++++++ examples/gann/example_XOR_classification.py | 123 ++++++++++++++ examples/gann/example_classification.py | 116 +++++++++++++ examples/gann/example_regression.py | 113 +++++++++++++ examples/gann/example_regression_fish.py | 114 +++++++++++++ examples/nn/example_XOR_classification.py | 51 ++++++ examples/nn/example_classification.py | 51 ++++++ examples/nn/example_regression.py | 46 +++++ examples/nn/example_regression_fish.py | 47 +++++ examples/nn/extract_features.py | 29 ++++ examples/{lifecycle.py => pygad_lifecycle.py} | 96 +++++------ 1978 files changed, 1110 insertions(+), 73 deletions(-) create mode 100644 examples/cnn/example_image_classification.py create mode 100644 examples/data/Fish.csv create mode 100644 examples/data/Fruit360/apple/0_100.jpg create mode 100644 examples/data/Fruit360/apple/100_100.jpg create mode 100644 examples/data/Fruit360/apple/101_100.jpg create mode 100644 examples/data/Fruit360/apple/102_100.jpg create mode 100644 examples/data/Fruit360/apple/103_100.jpg create mode 100644 examples/data/Fruit360/apple/104_100.jpg create mode 100644 examples/data/Fruit360/apple/105_100.jpg create mode 100644 examples/data/Fruit360/apple/106_100.jpg create mode 100644 examples/data/Fruit360/apple/107_100.jpg create mode 100644 examples/data/Fruit360/apple/108_100.jpg create mode 100644 examples/data/Fruit360/apple/109_100.jpg create mode 100644 examples/data/Fruit360/apple/10_100.jpg create mode 100644 examples/data/Fruit360/apple/110_100.jpg create mode 100644 examples/data/Fruit360/apple/111_100.jpg create mode 100644 examples/data/Fruit360/apple/112_100.jpg create mode 100644 examples/data/Fruit360/apple/113_100.jpg create mode 100644 examples/data/Fruit360/apple/114_100.jpg create mode 100644 examples/data/Fruit360/apple/115_100.jpg create mode 100644 examples/data/Fruit360/apple/116_100.jpg create mode 100644 examples/data/Fruit360/apple/117_100.jpg create mode 100644 examples/data/Fruit360/apple/118_100.jpg create mode 100644 examples/data/Fruit360/apple/119_100.jpg create mode 100644 examples/data/Fruit360/apple/11_100.jpg create mode 100644 examples/data/Fruit360/apple/120_100.jpg create mode 100644 examples/data/Fruit360/apple/121_100.jpg create mode 100644 examples/data/Fruit360/apple/122_100.jpg create mode 100644 examples/data/Fruit360/apple/123_100.jpg create mode 100644 examples/data/Fruit360/apple/124_100.jpg create mode 100644 examples/data/Fruit360/apple/125_100.jpg create mode 100644 examples/data/Fruit360/apple/126_100.jpg create mode 100644 examples/data/Fruit360/apple/127_100.jpg create mode 100644 examples/data/Fruit360/apple/128_100.jpg create mode 100644 examples/data/Fruit360/apple/129_100.jpg create mode 100644 examples/data/Fruit360/apple/12_100.jpg create mode 100644 examples/data/Fruit360/apple/130_100.jpg create mode 100644 examples/data/Fruit360/apple/131_100.jpg create mode 100644 examples/data/Fruit360/apple/132_100.jpg create mode 100644 examples/data/Fruit360/apple/133_100.jpg create mode 100644 examples/data/Fruit360/apple/134_100.jpg create mode 100644 examples/data/Fruit360/apple/135_100.jpg create mode 100644 examples/data/Fruit360/apple/136_100.jpg create mode 100644 examples/data/Fruit360/apple/137_100.jpg create mode 100644 examples/data/Fruit360/apple/138_100.jpg create mode 100644 examples/data/Fruit360/apple/139_100.jpg create mode 100644 examples/data/Fruit360/apple/13_100.jpg create mode 100644 examples/data/Fruit360/apple/140_100.jpg create mode 100644 examples/data/Fruit360/apple/141_100.jpg create mode 100644 examples/data/Fruit360/apple/142_100.jpg create mode 100644 examples/data/Fruit360/apple/143_100.jpg create mode 100644 examples/data/Fruit360/apple/144_100.jpg create mode 100644 examples/data/Fruit360/apple/145_100.jpg create mode 100644 examples/data/Fruit360/apple/146_100.jpg create mode 100644 examples/data/Fruit360/apple/147_100.jpg create mode 100644 examples/data/Fruit360/apple/148_100.jpg create mode 100644 examples/data/Fruit360/apple/149_100.jpg create mode 100644 examples/data/Fruit360/apple/14_100.jpg create mode 100644 examples/data/Fruit360/apple/150_100.jpg create mode 100644 examples/data/Fruit360/apple/151_100.jpg create mode 100644 examples/data/Fruit360/apple/152_100.jpg create mode 100644 examples/data/Fruit360/apple/153_100.jpg create mode 100644 examples/data/Fruit360/apple/154_100.jpg create mode 100644 examples/data/Fruit360/apple/155_100.jpg create mode 100644 examples/data/Fruit360/apple/156_100.jpg create mode 100644 examples/data/Fruit360/apple/157_100.jpg create mode 100644 examples/data/Fruit360/apple/158_100.jpg create mode 100644 examples/data/Fruit360/apple/159_100.jpg create mode 100644 examples/data/Fruit360/apple/15_100.jpg create mode 100644 examples/data/Fruit360/apple/160_100.jpg create mode 100644 examples/data/Fruit360/apple/161_100.jpg create mode 100644 examples/data/Fruit360/apple/162_100.jpg create mode 100644 examples/data/Fruit360/apple/163_100.jpg create mode 100644 examples/data/Fruit360/apple/164_100.jpg create mode 100644 examples/data/Fruit360/apple/165_100.jpg create mode 100644 examples/data/Fruit360/apple/166_100.jpg create mode 100644 examples/data/Fruit360/apple/167_100.jpg create mode 100644 examples/data/Fruit360/apple/168_100.jpg create mode 100644 examples/data/Fruit360/apple/169_100.jpg create mode 100644 examples/data/Fruit360/apple/16_100.jpg create mode 100644 examples/data/Fruit360/apple/170_100.jpg create mode 100644 examples/data/Fruit360/apple/171_100.jpg create mode 100644 examples/data/Fruit360/apple/172_100.jpg create mode 100644 examples/data/Fruit360/apple/173_100.jpg create mode 100644 examples/data/Fruit360/apple/174_100.jpg create mode 100644 examples/data/Fruit360/apple/175_100.jpg create mode 100644 examples/data/Fruit360/apple/176_100.jpg create mode 100644 examples/data/Fruit360/apple/177_100.jpg create mode 100644 examples/data/Fruit360/apple/178_100.jpg create mode 100644 examples/data/Fruit360/apple/179_100.jpg create mode 100644 examples/data/Fruit360/apple/17_100.jpg create mode 100644 examples/data/Fruit360/apple/180_100.jpg create mode 100644 examples/data/Fruit360/apple/181_100.jpg create mode 100644 examples/data/Fruit360/apple/182_100.jpg create mode 100644 examples/data/Fruit360/apple/183_100.jpg create mode 100644 examples/data/Fruit360/apple/184_100.jpg create mode 100644 examples/data/Fruit360/apple/185_100.jpg create mode 100644 examples/data/Fruit360/apple/186_100.jpg create mode 100644 examples/data/Fruit360/apple/187_100.jpg create mode 100644 examples/data/Fruit360/apple/188_100.jpg create mode 100644 examples/data/Fruit360/apple/189_100.jpg create mode 100644 examples/data/Fruit360/apple/18_100.jpg create mode 100644 examples/data/Fruit360/apple/190_100.jpg create mode 100644 examples/data/Fruit360/apple/191_100.jpg create mode 100644 examples/data/Fruit360/apple/192_100.jpg create mode 100644 examples/data/Fruit360/apple/193_100.jpg create mode 100644 examples/data/Fruit360/apple/194_100.jpg create mode 100644 examples/data/Fruit360/apple/195_100.jpg create mode 100644 examples/data/Fruit360/apple/196_100.jpg create mode 100644 examples/data/Fruit360/apple/197_100.jpg create mode 100644 examples/data/Fruit360/apple/198_100.jpg create mode 100644 examples/data/Fruit360/apple/199_100.jpg create mode 100644 examples/data/Fruit360/apple/19_100.jpg create mode 100644 examples/data/Fruit360/apple/1_100.jpg create mode 100644 examples/data/Fruit360/apple/200_100.jpg create mode 100644 examples/data/Fruit360/apple/201_100.jpg create mode 100644 examples/data/Fruit360/apple/202_100.jpg create mode 100644 examples/data/Fruit360/apple/203_100.jpg create mode 100644 examples/data/Fruit360/apple/204_100.jpg create mode 100644 examples/data/Fruit360/apple/205_100.jpg create mode 100644 examples/data/Fruit360/apple/206_100.jpg create mode 100644 examples/data/Fruit360/apple/207_100.jpg create mode 100644 examples/data/Fruit360/apple/208_100.jpg create mode 100644 examples/data/Fruit360/apple/209_100.jpg create mode 100644 examples/data/Fruit360/apple/20_100.jpg create mode 100644 examples/data/Fruit360/apple/210_100.jpg create mode 100644 examples/data/Fruit360/apple/211_100.jpg create mode 100644 examples/data/Fruit360/apple/212_100.jpg create mode 100644 examples/data/Fruit360/apple/213_100.jpg create mode 100644 examples/data/Fruit360/apple/214_100.jpg create mode 100644 examples/data/Fruit360/apple/215_100.jpg create mode 100644 examples/data/Fruit360/apple/216_100.jpg create mode 100644 examples/data/Fruit360/apple/217_100.jpg create mode 100644 examples/data/Fruit360/apple/218_100.jpg create mode 100644 examples/data/Fruit360/apple/219_100.jpg create mode 100644 examples/data/Fruit360/apple/21_100.jpg create mode 100644 examples/data/Fruit360/apple/220_100.jpg create mode 100644 examples/data/Fruit360/apple/221_100.jpg create mode 100644 examples/data/Fruit360/apple/222_100.jpg create mode 100644 examples/data/Fruit360/apple/223_100.jpg create mode 100644 examples/data/Fruit360/apple/224_100.jpg create mode 100644 examples/data/Fruit360/apple/225_100.jpg create mode 100644 examples/data/Fruit360/apple/226_100.jpg create mode 100644 examples/data/Fruit360/apple/227_100.jpg create mode 100644 examples/data/Fruit360/apple/228_100.jpg create mode 100644 examples/data/Fruit360/apple/229_100.jpg create mode 100644 examples/data/Fruit360/apple/22_100.jpg create mode 100644 examples/data/Fruit360/apple/230_100.jpg create mode 100644 examples/data/Fruit360/apple/231_100.jpg create mode 100644 examples/data/Fruit360/apple/232_100.jpg create mode 100644 examples/data/Fruit360/apple/233_100.jpg create mode 100644 examples/data/Fruit360/apple/234_100.jpg create mode 100644 examples/data/Fruit360/apple/235_100.jpg create mode 100644 examples/data/Fruit360/apple/236_100.jpg create mode 100644 examples/data/Fruit360/apple/237_100.jpg create mode 100644 examples/data/Fruit360/apple/238_100.jpg create mode 100644 examples/data/Fruit360/apple/239_100.jpg create mode 100644 examples/data/Fruit360/apple/23_100.jpg create mode 100644 examples/data/Fruit360/apple/240_100.jpg create mode 100644 examples/data/Fruit360/apple/241_100.jpg create mode 100644 examples/data/Fruit360/apple/242_100.jpg create mode 100644 examples/data/Fruit360/apple/243_100.jpg create mode 100644 examples/data/Fruit360/apple/244_100.jpg create mode 100644 examples/data/Fruit360/apple/245_100.jpg create mode 100644 examples/data/Fruit360/apple/246_100.jpg create mode 100644 examples/data/Fruit360/apple/247_100.jpg create mode 100644 examples/data/Fruit360/apple/248_100.jpg create mode 100644 examples/data/Fruit360/apple/249_100.jpg create mode 100644 examples/data/Fruit360/apple/24_100.jpg create mode 100644 examples/data/Fruit360/apple/250_100.jpg create mode 100644 examples/data/Fruit360/apple/251_100.jpg create mode 100644 examples/data/Fruit360/apple/252_100.jpg create mode 100644 examples/data/Fruit360/apple/253_100.jpg create mode 100644 examples/data/Fruit360/apple/254_100.jpg create mode 100644 examples/data/Fruit360/apple/255_100.jpg create mode 100644 examples/data/Fruit360/apple/256_100.jpg create mode 100644 examples/data/Fruit360/apple/257_100.jpg create mode 100644 examples/data/Fruit360/apple/258_100.jpg create mode 100644 examples/data/Fruit360/apple/259_100.jpg create mode 100644 examples/data/Fruit360/apple/25_100.jpg create mode 100644 examples/data/Fruit360/apple/260_100.jpg create mode 100644 examples/data/Fruit360/apple/261_100.jpg create mode 100644 examples/data/Fruit360/apple/262_100.jpg create mode 100644 examples/data/Fruit360/apple/263_100.jpg create mode 100644 examples/data/Fruit360/apple/264_100.jpg create mode 100644 examples/data/Fruit360/apple/265_100.jpg create mode 100644 examples/data/Fruit360/apple/266_100.jpg create mode 100644 examples/data/Fruit360/apple/267_100.jpg create mode 100644 examples/data/Fruit360/apple/268_100.jpg create mode 100644 examples/data/Fruit360/apple/269_100.jpg create mode 100644 examples/data/Fruit360/apple/26_100.jpg create mode 100644 examples/data/Fruit360/apple/270_100.jpg create mode 100644 examples/data/Fruit360/apple/271_100.jpg create mode 100644 examples/data/Fruit360/apple/272_100.jpg create mode 100644 examples/data/Fruit360/apple/273_100.jpg create mode 100644 examples/data/Fruit360/apple/274_100.jpg create mode 100644 examples/data/Fruit360/apple/275_100.jpg create mode 100644 examples/data/Fruit360/apple/276_100.jpg create mode 100644 examples/data/Fruit360/apple/277_100.jpg create mode 100644 examples/data/Fruit360/apple/278_100.jpg create mode 100644 examples/data/Fruit360/apple/279_100.jpg create mode 100644 examples/data/Fruit360/apple/27_100.jpg create mode 100644 examples/data/Fruit360/apple/280_100.jpg create mode 100644 examples/data/Fruit360/apple/281_100.jpg create mode 100644 examples/data/Fruit360/apple/282_100.jpg create mode 100644 examples/data/Fruit360/apple/283_100.jpg create mode 100644 examples/data/Fruit360/apple/284_100.jpg create mode 100644 examples/data/Fruit360/apple/285_100.jpg create mode 100644 examples/data/Fruit360/apple/286_100.jpg create mode 100644 examples/data/Fruit360/apple/287_100.jpg create mode 100644 examples/data/Fruit360/apple/288_100.jpg create mode 100644 examples/data/Fruit360/apple/289_100.jpg create mode 100644 examples/data/Fruit360/apple/28_100.jpg create mode 100644 examples/data/Fruit360/apple/290_100.jpg create mode 100644 examples/data/Fruit360/apple/291_100.jpg create mode 100644 examples/data/Fruit360/apple/292_100.jpg create mode 100644 examples/data/Fruit360/apple/293_100.jpg create mode 100644 examples/data/Fruit360/apple/294_100.jpg create mode 100644 examples/data/Fruit360/apple/295_100.jpg create mode 100644 examples/data/Fruit360/apple/296_100.jpg create mode 100644 examples/data/Fruit360/apple/297_100.jpg create mode 100644 examples/data/Fruit360/apple/298_100.jpg create mode 100644 examples/data/Fruit360/apple/299_100.jpg create mode 100644 examples/data/Fruit360/apple/29_100.jpg create mode 100644 examples/data/Fruit360/apple/2_100.jpg create mode 100644 examples/data/Fruit360/apple/300_100.jpg create mode 100644 examples/data/Fruit360/apple/301_100.jpg create mode 100644 examples/data/Fruit360/apple/302_100.jpg create mode 100644 examples/data/Fruit360/apple/303_100.jpg create mode 100644 examples/data/Fruit360/apple/304_100.jpg create mode 100644 examples/data/Fruit360/apple/305_100.jpg create mode 100644 examples/data/Fruit360/apple/306_100.jpg create mode 100644 examples/data/Fruit360/apple/307_100.jpg create mode 100644 examples/data/Fruit360/apple/308_100.jpg create mode 100644 examples/data/Fruit360/apple/309_100.jpg create mode 100644 examples/data/Fruit360/apple/30_100.jpg create mode 100644 examples/data/Fruit360/apple/310_100.jpg create mode 100644 examples/data/Fruit360/apple/311_100.jpg create mode 100644 examples/data/Fruit360/apple/312_100.jpg create mode 100644 examples/data/Fruit360/apple/313_100.jpg create mode 100644 examples/data/Fruit360/apple/314_100.jpg create mode 100644 examples/data/Fruit360/apple/315_100.jpg create mode 100644 examples/data/Fruit360/apple/316_100.jpg create mode 100644 examples/data/Fruit360/apple/317_100.jpg create mode 100644 examples/data/Fruit360/apple/318_100.jpg create mode 100644 examples/data/Fruit360/apple/319_100.jpg create mode 100644 examples/data/Fruit360/apple/31_100.jpg create mode 100644 examples/data/Fruit360/apple/320_100.jpg create mode 100644 examples/data/Fruit360/apple/r_0_100.jpg create mode 100644 examples/data/Fruit360/apple/r_100_100.jpg create mode 100644 examples/data/Fruit360/apple/r_101_100.jpg create mode 100644 examples/data/Fruit360/apple/r_102_100.jpg create mode 100644 examples/data/Fruit360/apple/r_103_100.jpg create mode 100644 examples/data/Fruit360/apple/r_104_100.jpg create mode 100644 examples/data/Fruit360/apple/r_105_100.jpg create mode 100644 examples/data/Fruit360/apple/r_106_100.jpg create mode 100644 examples/data/Fruit360/apple/r_107_100.jpg create mode 100644 examples/data/Fruit360/apple/r_108_100.jpg create mode 100644 examples/data/Fruit360/apple/r_109_100.jpg create mode 100644 examples/data/Fruit360/apple/r_10_100.jpg create mode 100644 examples/data/Fruit360/apple/r_110_100.jpg create mode 100644 examples/data/Fruit360/apple/r_111_100.jpg create mode 100644 examples/data/Fruit360/apple/r_112_100.jpg create mode 100644 examples/data/Fruit360/apple/r_113_100.jpg create mode 100644 examples/data/Fruit360/apple/r_114_100.jpg create mode 100644 examples/data/Fruit360/apple/r_115_100.jpg create mode 100644 examples/data/Fruit360/apple/r_116_100.jpg create mode 100644 examples/data/Fruit360/apple/r_117_100.jpg create mode 100644 examples/data/Fruit360/apple/r_118_100.jpg create mode 100644 examples/data/Fruit360/apple/r_119_100.jpg create mode 100644 examples/data/Fruit360/apple/r_11_100.jpg create mode 100644 examples/data/Fruit360/apple/r_120_100.jpg create mode 100644 examples/data/Fruit360/apple/r_121_100.jpg create mode 100644 examples/data/Fruit360/apple/r_122_100.jpg create mode 100644 examples/data/Fruit360/apple/r_123_100.jpg create mode 100644 examples/data/Fruit360/apple/r_124_100.jpg create mode 100644 examples/data/Fruit360/apple/r_125_100.jpg create mode 100644 examples/data/Fruit360/apple/r_126_100.jpg create mode 100644 examples/data/Fruit360/apple/r_127_100.jpg create mode 100644 examples/data/Fruit360/apple/r_128_100.jpg create mode 100644 examples/data/Fruit360/apple/r_129_100.jpg create mode 100644 examples/data/Fruit360/apple/r_12_100.jpg create mode 100644 examples/data/Fruit360/apple/r_130_100.jpg create mode 100644 examples/data/Fruit360/apple/r_131_100.jpg create mode 100644 examples/data/Fruit360/apple/r_132_100.jpg create mode 100644 examples/data/Fruit360/apple/r_133_100.jpg create mode 100644 examples/data/Fruit360/apple/r_134_100.jpg create mode 100644 examples/data/Fruit360/apple/r_135_100.jpg create mode 100644 examples/data/Fruit360/apple/r_136_100.jpg create mode 100644 examples/data/Fruit360/apple/r_137_100.jpg create mode 100644 examples/data/Fruit360/apple/r_138_100.jpg create mode 100644 examples/data/Fruit360/apple/r_139_100.jpg create mode 100644 examples/data/Fruit360/apple/r_13_100.jpg create mode 100644 examples/data/Fruit360/apple/r_140_100.jpg create mode 100644 examples/data/Fruit360/apple/r_141_100.jpg create mode 100644 examples/data/Fruit360/apple/r_142_100.jpg create mode 100644 examples/data/Fruit360/apple/r_143_100.jpg create mode 100644 examples/data/Fruit360/apple/r_144_100.jpg create mode 100644 examples/data/Fruit360/apple/r_145_100.jpg create mode 100644 examples/data/Fruit360/apple/r_146_100.jpg create mode 100644 examples/data/Fruit360/apple/r_147_100.jpg create mode 100644 examples/data/Fruit360/apple/r_148_100.jpg create mode 100644 examples/data/Fruit360/apple/r_149_100.jpg create mode 100644 examples/data/Fruit360/apple/r_14_100.jpg create mode 100644 examples/data/Fruit360/apple/r_150_100.jpg create mode 100644 examples/data/Fruit360/apple/r_151_100.jpg create mode 100644 examples/data/Fruit360/apple/r_152_100.jpg create mode 100644 examples/data/Fruit360/apple/r_153_100.jpg create mode 100644 examples/data/Fruit360/apple/r_154_100.jpg create mode 100644 examples/data/Fruit360/apple/r_155_100.jpg create mode 100644 examples/data/Fruit360/apple/r_156_100.jpg create mode 100644 examples/data/Fruit360/apple/r_157_100.jpg create mode 100644 examples/data/Fruit360/apple/r_158_100.jpg create mode 100644 examples/data/Fruit360/apple/r_159_100.jpg create mode 100644 examples/data/Fruit360/apple/r_15_100.jpg create mode 100644 examples/data/Fruit360/apple/r_160_100.jpg create mode 100644 examples/data/Fruit360/apple/r_161_100.jpg create mode 100644 examples/data/Fruit360/apple/r_162_100.jpg create mode 100644 examples/data/Fruit360/apple/r_163_100.jpg create mode 100644 examples/data/Fruit360/apple/r_164_100.jpg create mode 100644 examples/data/Fruit360/apple/r_165_100.jpg create mode 100644 examples/data/Fruit360/apple/r_166_100.jpg create mode 100644 examples/data/Fruit360/apple/r_167_100.jpg create mode 100644 examples/data/Fruit360/apple/r_168_100.jpg create mode 100644 examples/data/Fruit360/apple/r_169_100.jpg create mode 100644 examples/data/Fruit360/apple/r_16_100.jpg create mode 100644 examples/data/Fruit360/apple/r_170_100.jpg create mode 100644 examples/data/Fruit360/apple/r_171_100.jpg create mode 100644 examples/data/Fruit360/apple/r_172_100.jpg create mode 100644 examples/data/Fruit360/apple/r_173_100.jpg create mode 100644 examples/data/Fruit360/apple/r_174_100.jpg create mode 100644 examples/data/Fruit360/apple/r_175_100.jpg create mode 100644 examples/data/Fruit360/apple/r_176_100.jpg create mode 100644 examples/data/Fruit360/apple/r_177_100.jpg create mode 100644 examples/data/Fruit360/apple/r_178_100.jpg create mode 100644 examples/data/Fruit360/apple/r_179_100.jpg create mode 100644 examples/data/Fruit360/apple/r_17_100.jpg create mode 100644 examples/data/Fruit360/apple/r_180_100.jpg create mode 100644 examples/data/Fruit360/apple/r_181_100.jpg create mode 100644 examples/data/Fruit360/apple/r_182_100.jpg create mode 100644 examples/data/Fruit360/apple/r_183_100.jpg create mode 100644 examples/data/Fruit360/apple/r_184_100.jpg create mode 100644 examples/data/Fruit360/apple/r_185_100.jpg create mode 100644 examples/data/Fruit360/apple/r_186_100.jpg create mode 100644 examples/data/Fruit360/apple/r_187_100.jpg create mode 100644 examples/data/Fruit360/apple/r_188_100.jpg create mode 100644 examples/data/Fruit360/apple/r_189_100.jpg create mode 100644 examples/data/Fruit360/apple/r_18_100.jpg create mode 100644 examples/data/Fruit360/apple/r_190_100.jpg create mode 100644 examples/data/Fruit360/apple/r_191_100.jpg create mode 100644 examples/data/Fruit360/apple/r_192_100.jpg create mode 100644 examples/data/Fruit360/apple/r_193_100.jpg create mode 100644 examples/data/Fruit360/apple/r_194_100.jpg create mode 100644 examples/data/Fruit360/apple/r_195_100.jpg create mode 100644 examples/data/Fruit360/apple/r_196_100.jpg create mode 100644 examples/data/Fruit360/apple/r_197_100.jpg create mode 100644 examples/data/Fruit360/apple/r_198_100.jpg create mode 100644 examples/data/Fruit360/apple/r_199_100.jpg create mode 100644 examples/data/Fruit360/apple/r_19_100.jpg create mode 100644 examples/data/Fruit360/apple/r_1_100.jpg create mode 100644 examples/data/Fruit360/apple/r_200_100.jpg create mode 100644 examples/data/Fruit360/apple/r_201_100.jpg create mode 100644 examples/data/Fruit360/apple/r_202_100.jpg create mode 100644 examples/data/Fruit360/apple/r_203_100.jpg create mode 100644 examples/data/Fruit360/apple/r_204_100.jpg create mode 100644 examples/data/Fruit360/apple/r_205_100.jpg create mode 100644 examples/data/Fruit360/apple/r_206_100.jpg create mode 100644 examples/data/Fruit360/apple/r_207_100.jpg create mode 100644 examples/data/Fruit360/apple/r_208_100.jpg create mode 100644 examples/data/Fruit360/apple/r_209_100.jpg create mode 100644 examples/data/Fruit360/apple/r_20_100.jpg create mode 100644 examples/data/Fruit360/apple/r_210_100.jpg create mode 100644 examples/data/Fruit360/apple/r_211_100.jpg create mode 100644 examples/data/Fruit360/apple/r_212_100.jpg create mode 100644 examples/data/Fruit360/apple/r_213_100.jpg create mode 100644 examples/data/Fruit360/apple/r_214_100.jpg create mode 100644 examples/data/Fruit360/apple/r_215_100.jpg create mode 100644 examples/data/Fruit360/apple/r_216_100.jpg create mode 100644 examples/data/Fruit360/apple/r_217_100.jpg create mode 100644 examples/data/Fruit360/apple/r_218_100.jpg create mode 100644 examples/data/Fruit360/apple/r_219_100.jpg create mode 100644 examples/data/Fruit360/apple/r_21_100.jpg create mode 100644 examples/data/Fruit360/apple/r_220_100.jpg create mode 100644 examples/data/Fruit360/apple/r_221_100.jpg create mode 100644 examples/data/Fruit360/apple/r_222_100.jpg create mode 100644 examples/data/Fruit360/apple/r_223_100.jpg create mode 100644 examples/data/Fruit360/apple/r_224_100.jpg create mode 100644 examples/data/Fruit360/apple/r_225_100.jpg create mode 100644 examples/data/Fruit360/apple/r_226_100.jpg create mode 100644 examples/data/Fruit360/apple/r_227_100.jpg create mode 100644 examples/data/Fruit360/apple/r_228_100.jpg create mode 100644 examples/data/Fruit360/apple/r_229_100.jpg create mode 100644 examples/data/Fruit360/apple/r_22_100.jpg create mode 100644 examples/data/Fruit360/apple/r_230_100.jpg create mode 100644 examples/data/Fruit360/apple/r_231_100.jpg create mode 100644 examples/data/Fruit360/apple/r_232_100.jpg create mode 100644 examples/data/Fruit360/apple/r_233_100.jpg create mode 100644 examples/data/Fruit360/apple/r_234_100.jpg create mode 100644 examples/data/Fruit360/apple/r_235_100.jpg create mode 100644 examples/data/Fruit360/apple/r_236_100.jpg create mode 100644 examples/data/Fruit360/apple/r_237_100.jpg create mode 100644 examples/data/Fruit360/apple/r_238_100.jpg create mode 100644 examples/data/Fruit360/apple/r_239_100.jpg create mode 100644 examples/data/Fruit360/apple/r_23_100.jpg create mode 100644 examples/data/Fruit360/apple/r_240_100.jpg create mode 100644 examples/data/Fruit360/apple/r_241_100.jpg create mode 100644 examples/data/Fruit360/apple/r_242_100.jpg create mode 100644 examples/data/Fruit360/apple/r_243_100.jpg create mode 100644 examples/data/Fruit360/apple/r_244_100.jpg create mode 100644 examples/data/Fruit360/apple/r_245_100.jpg create mode 100644 examples/data/Fruit360/apple/r_246_100.jpg create mode 100644 examples/data/Fruit360/apple/r_247_100.jpg create mode 100644 examples/data/Fruit360/apple/r_248_100.jpg create mode 100644 examples/data/Fruit360/apple/r_249_100.jpg create mode 100644 examples/data/Fruit360/apple/r_24_100.jpg create mode 100644 examples/data/Fruit360/apple/r_250_100.jpg create mode 100644 examples/data/Fruit360/apple/r_251_100.jpg create mode 100644 examples/data/Fruit360/apple/r_252_100.jpg create mode 100644 examples/data/Fruit360/apple/r_253_100.jpg create mode 100644 examples/data/Fruit360/apple/r_254_100.jpg create mode 100644 examples/data/Fruit360/apple/r_255_100.jpg create mode 100644 examples/data/Fruit360/apple/r_256_100.jpg create mode 100644 examples/data/Fruit360/apple/r_257_100.jpg create mode 100644 examples/data/Fruit360/apple/r_258_100.jpg create mode 100644 examples/data/Fruit360/apple/r_259_100.jpg create mode 100644 examples/data/Fruit360/apple/r_25_100.jpg create mode 100644 examples/data/Fruit360/apple/r_260_100.jpg create mode 100644 examples/data/Fruit360/apple/r_261_100.jpg create mode 100644 examples/data/Fruit360/apple/r_262_100.jpg create mode 100644 examples/data/Fruit360/apple/r_263_100.jpg create mode 100644 examples/data/Fruit360/apple/r_264_100.jpg create mode 100644 examples/data/Fruit360/apple/r_265_100.jpg create mode 100644 examples/data/Fruit360/apple/r_266_100.jpg create mode 100644 examples/data/Fruit360/apple/r_267_100.jpg create mode 100644 examples/data/Fruit360/apple/r_268_100.jpg create mode 100644 examples/data/Fruit360/apple/r_269_100.jpg create mode 100644 examples/data/Fruit360/apple/r_26_100.jpg create mode 100644 examples/data/Fruit360/apple/r_270_100.jpg create mode 100644 examples/data/Fruit360/apple/r_271_100.jpg create mode 100644 examples/data/Fruit360/apple/r_272_100.jpg create mode 100644 examples/data/Fruit360/apple/r_273_100.jpg create mode 100644 examples/data/Fruit360/apple/r_274_100.jpg create mode 100644 examples/data/Fruit360/apple/r_275_100.jpg create mode 100644 examples/data/Fruit360/apple/r_276_100.jpg create mode 100644 examples/data/Fruit360/apple/r_277_100.jpg create mode 100644 examples/data/Fruit360/apple/r_278_100.jpg create mode 100644 examples/data/Fruit360/apple/r_279_100.jpg create mode 100644 examples/data/Fruit360/apple/r_27_100.jpg create mode 100644 examples/data/Fruit360/apple/r_280_100.jpg create mode 100644 examples/data/Fruit360/apple/r_281_100.jpg create mode 100644 examples/data/Fruit360/apple/r_282_100.jpg create mode 100644 examples/data/Fruit360/apple/r_283_100.jpg create mode 100644 examples/data/Fruit360/apple/r_284_100.jpg create mode 100644 examples/data/Fruit360/apple/r_285_100.jpg create mode 100644 examples/data/Fruit360/apple/r_286_100.jpg create mode 100644 examples/data/Fruit360/apple/r_287_100.jpg create mode 100644 examples/data/Fruit360/apple/r_288_100.jpg create mode 100644 examples/data/Fruit360/apple/r_289_100.jpg create mode 100644 examples/data/Fruit360/apple/r_28_100.jpg create mode 100644 examples/data/Fruit360/apple/r_290_100.jpg create mode 100644 examples/data/Fruit360/apple/r_291_100.jpg create mode 100644 examples/data/Fruit360/apple/r_292_100.jpg create mode 100644 examples/data/Fruit360/apple/r_293_100.jpg create mode 100644 examples/data/Fruit360/apple/r_294_100.jpg create mode 100644 examples/data/Fruit360/apple/r_295_100.jpg create mode 100644 examples/data/Fruit360/apple/r_296_100.jpg create mode 100644 examples/data/Fruit360/apple/r_297_100.jpg create mode 100644 examples/data/Fruit360/apple/r_298_100.jpg create mode 100644 examples/data/Fruit360/apple/r_299_100.jpg create mode 100644 examples/data/Fruit360/apple/r_29_100.jpg create mode 100644 examples/data/Fruit360/apple/r_2_100.jpg create mode 100644 examples/data/Fruit360/apple/r_300_100.jpg create mode 100644 examples/data/Fruit360/apple/r_301_100.jpg create mode 100644 examples/data/Fruit360/apple/r_302_100.jpg create mode 100644 examples/data/Fruit360/apple/r_303_100.jpg create mode 100644 examples/data/Fruit360/apple/r_304_100.jpg create mode 100644 examples/data/Fruit360/apple/r_305_100.jpg create mode 100644 examples/data/Fruit360/apple/r_306_100.jpg create mode 100644 examples/data/Fruit360/apple/r_307_100.jpg create mode 100644 examples/data/Fruit360/apple/r_308_100.jpg create mode 100644 examples/data/Fruit360/apple/r_309_100.jpg create mode 100644 examples/data/Fruit360/apple/r_30_100.jpg create mode 100644 examples/data/Fruit360/apple/r_310_100.jpg create mode 100644 examples/data/Fruit360/apple/r_311_100.jpg create mode 100644 examples/data/Fruit360/apple/r_312_100.jpg create mode 100644 examples/data/Fruit360/apple/r_313_100.jpg create mode 100644 examples/data/Fruit360/apple/r_314_100.jpg create mode 100644 examples/data/Fruit360/apple/r_315_100.jpg create mode 100644 examples/data/Fruit360/apple/r_316_100.jpg create mode 100644 examples/data/Fruit360/apple/r_317_100.jpg create mode 100644 examples/data/Fruit360/apple/r_318_100.jpg create mode 100644 examples/data/Fruit360/apple/r_319_100.jpg create mode 100644 examples/data/Fruit360/apple/r_31_100.jpg create mode 100644 examples/data/Fruit360/apple/r_320_100.jpg create mode 100644 examples/data/Fruit360/lemon/0_100.jpg create mode 100644 examples/data/Fruit360/lemon/100_100.jpg create mode 100644 examples/data/Fruit360/lemon/101_100.jpg create mode 100644 examples/data/Fruit360/lemon/102_100.jpg create mode 100644 examples/data/Fruit360/lemon/103_100.jpg create mode 100644 examples/data/Fruit360/lemon/104_100.jpg create mode 100644 examples/data/Fruit360/lemon/105_100.jpg create mode 100644 examples/data/Fruit360/lemon/106_100.jpg create mode 100644 examples/data/Fruit360/lemon/107_100.jpg create mode 100644 examples/data/Fruit360/lemon/108_100.jpg create mode 100644 examples/data/Fruit360/lemon/109_100.jpg create mode 100644 examples/data/Fruit360/lemon/10_100.jpg create mode 100644 examples/data/Fruit360/lemon/110_100.jpg create mode 100644 examples/data/Fruit360/lemon/111_100.jpg create mode 100644 examples/data/Fruit360/lemon/112_100.jpg create mode 100644 examples/data/Fruit360/lemon/113_100.jpg create mode 100644 examples/data/Fruit360/lemon/114_100.jpg create mode 100644 examples/data/Fruit360/lemon/115_100.jpg create mode 100644 examples/data/Fruit360/lemon/116_100.jpg create mode 100644 examples/data/Fruit360/lemon/117_100.jpg create mode 100644 examples/data/Fruit360/lemon/118_100.jpg create mode 100644 examples/data/Fruit360/lemon/119_100.jpg create mode 100644 examples/data/Fruit360/lemon/11_100.jpg create mode 100644 examples/data/Fruit360/lemon/120_100.jpg create mode 100644 examples/data/Fruit360/lemon/121_100.jpg create mode 100644 examples/data/Fruit360/lemon/122_100.jpg create mode 100644 examples/data/Fruit360/lemon/123_100.jpg create mode 100644 examples/data/Fruit360/lemon/124_100.jpg create mode 100644 examples/data/Fruit360/lemon/125_100.jpg create mode 100644 examples/data/Fruit360/lemon/126_100.jpg create mode 100644 examples/data/Fruit360/lemon/127_100.jpg create mode 100644 examples/data/Fruit360/lemon/128_100.jpg create mode 100644 examples/data/Fruit360/lemon/129_100.jpg create mode 100644 examples/data/Fruit360/lemon/12_100.jpg create mode 100644 examples/data/Fruit360/lemon/130_100.jpg create mode 100644 examples/data/Fruit360/lemon/131_100.jpg create mode 100644 examples/data/Fruit360/lemon/132_100.jpg create mode 100644 examples/data/Fruit360/lemon/133_100.jpg create mode 100644 examples/data/Fruit360/lemon/134_100.jpg create mode 100644 examples/data/Fruit360/lemon/135_100.jpg create mode 100644 examples/data/Fruit360/lemon/136_100.jpg create mode 100644 examples/data/Fruit360/lemon/137_100.jpg create mode 100644 examples/data/Fruit360/lemon/138_100.jpg create mode 100644 examples/data/Fruit360/lemon/139_100.jpg create mode 100644 examples/data/Fruit360/lemon/13_100.jpg create mode 100644 examples/data/Fruit360/lemon/140_100.jpg create mode 100644 examples/data/Fruit360/lemon/141_100.jpg create mode 100644 examples/data/Fruit360/lemon/142_100.jpg create mode 100644 examples/data/Fruit360/lemon/143_100.jpg create mode 100644 examples/data/Fruit360/lemon/144_100.jpg create mode 100644 examples/data/Fruit360/lemon/145_100.jpg create mode 100644 examples/data/Fruit360/lemon/146_100.jpg create mode 100644 examples/data/Fruit360/lemon/14_100.jpg create mode 100644 examples/data/Fruit360/lemon/15_100.jpg create mode 100644 examples/data/Fruit360/lemon/167_100.jpg create mode 100644 examples/data/Fruit360/lemon/169_100.jpg create mode 100644 examples/data/Fruit360/lemon/16_100.jpg create mode 100644 examples/data/Fruit360/lemon/170_100.jpg create mode 100644 examples/data/Fruit360/lemon/171_100.jpg create mode 100644 examples/data/Fruit360/lemon/172_100.jpg create mode 100644 examples/data/Fruit360/lemon/173_100.jpg create mode 100644 examples/data/Fruit360/lemon/174_100.jpg create mode 100644 examples/data/Fruit360/lemon/176_100.jpg create mode 100644 examples/data/Fruit360/lemon/178_100.jpg create mode 100644 examples/data/Fruit360/lemon/179_100.jpg create mode 100644 examples/data/Fruit360/lemon/17_100.jpg create mode 100644 examples/data/Fruit360/lemon/180_100.jpg create mode 100644 examples/data/Fruit360/lemon/181_100.jpg create mode 100644 examples/data/Fruit360/lemon/182_100.jpg create mode 100644 examples/data/Fruit360/lemon/183_100.jpg create mode 100644 examples/data/Fruit360/lemon/184_100.jpg create mode 100644 examples/data/Fruit360/lemon/185_100.jpg create mode 100644 examples/data/Fruit360/lemon/186_100.jpg create mode 100644 examples/data/Fruit360/lemon/187_100.jpg create mode 100644 examples/data/Fruit360/lemon/188_100.jpg create mode 100644 examples/data/Fruit360/lemon/18_100.jpg create mode 100644 examples/data/Fruit360/lemon/1_100.jpg create mode 100644 examples/data/Fruit360/lemon/20_100.jpg create mode 100644 examples/data/Fruit360/lemon/215_100.jpg create mode 100644 examples/data/Fruit360/lemon/216_100.jpg create mode 100644 examples/data/Fruit360/lemon/217_100.jpg create mode 100644 examples/data/Fruit360/lemon/218_100.jpg create mode 100644 examples/data/Fruit360/lemon/219_100.jpg create mode 100644 examples/data/Fruit360/lemon/21_100.jpg create mode 100644 examples/data/Fruit360/lemon/220_100.jpg create mode 100644 examples/data/Fruit360/lemon/221_100.jpg create mode 100644 examples/data/Fruit360/lemon/222_100.jpg create mode 100644 examples/data/Fruit360/lemon/223_100.jpg create mode 100644 examples/data/Fruit360/lemon/224_100.jpg create mode 100644 examples/data/Fruit360/lemon/225_100.jpg create mode 100644 examples/data/Fruit360/lemon/226_100.jpg create mode 100644 examples/data/Fruit360/lemon/227_100.jpg create mode 100644 examples/data/Fruit360/lemon/228_100.jpg create mode 100644 examples/data/Fruit360/lemon/229_100.jpg create mode 100644 examples/data/Fruit360/lemon/22_100.jpg create mode 100644 examples/data/Fruit360/lemon/230_100.jpg create mode 100644 examples/data/Fruit360/lemon/231_100.jpg create mode 100644 examples/data/Fruit360/lemon/232_100.jpg create mode 100644 examples/data/Fruit360/lemon/233_100.jpg create mode 100644 examples/data/Fruit360/lemon/234_100.jpg create mode 100644 examples/data/Fruit360/lemon/235_100.jpg create mode 100644 examples/data/Fruit360/lemon/236_100.jpg create mode 100644 examples/data/Fruit360/lemon/237_100.jpg create mode 100644 examples/data/Fruit360/lemon/238_100.jpg create mode 100644 examples/data/Fruit360/lemon/239_100.jpg create mode 100644 examples/data/Fruit360/lemon/23_100.jpg create mode 100644 examples/data/Fruit360/lemon/240_100.jpg create mode 100644 examples/data/Fruit360/lemon/241_100.jpg create mode 100644 examples/data/Fruit360/lemon/242_100.jpg create mode 100644 examples/data/Fruit360/lemon/243_100.jpg create mode 100644 examples/data/Fruit360/lemon/244_100.jpg create mode 100644 examples/data/Fruit360/lemon/245_100.jpg create mode 100644 examples/data/Fruit360/lemon/246_100.jpg create mode 100644 examples/data/Fruit360/lemon/247_100.jpg create mode 100644 examples/data/Fruit360/lemon/248_100.jpg create mode 100644 examples/data/Fruit360/lemon/249_100.jpg create mode 100644 examples/data/Fruit360/lemon/24_100.jpg create mode 100644 examples/data/Fruit360/lemon/250_100.jpg create mode 100644 examples/data/Fruit360/lemon/251_100.jpg create mode 100644 examples/data/Fruit360/lemon/252_100.jpg create mode 100644 examples/data/Fruit360/lemon/253_100.jpg create mode 100644 examples/data/Fruit360/lemon/254_100.jpg create mode 100644 examples/data/Fruit360/lemon/255_100.jpg create mode 100644 examples/data/Fruit360/lemon/256_100.jpg create mode 100644 examples/data/Fruit360/lemon/257_100.jpg create mode 100644 examples/data/Fruit360/lemon/258_100.jpg create mode 100644 examples/data/Fruit360/lemon/259_100.jpg create mode 100644 examples/data/Fruit360/lemon/25_100.jpg create mode 100644 examples/data/Fruit360/lemon/260_100.jpg create mode 100644 examples/data/Fruit360/lemon/261_100.jpg create mode 100644 examples/data/Fruit360/lemon/262_100.jpg create mode 100644 examples/data/Fruit360/lemon/263_100.jpg create mode 100644 examples/data/Fruit360/lemon/264_100.jpg create mode 100644 examples/data/Fruit360/lemon/265_100.jpg create mode 100644 examples/data/Fruit360/lemon/266_100.jpg create mode 100644 examples/data/Fruit360/lemon/267_100.jpg create mode 100644 examples/data/Fruit360/lemon/268_100.jpg create mode 100644 examples/data/Fruit360/lemon/269_100.jpg create mode 100644 examples/data/Fruit360/lemon/270_100.jpg create mode 100644 examples/data/Fruit360/lemon/271_100.jpg create mode 100644 examples/data/Fruit360/lemon/272_100.jpg create mode 100644 examples/data/Fruit360/lemon/273_100.jpg create mode 100644 examples/data/Fruit360/lemon/274_100.jpg create mode 100644 examples/data/Fruit360/lemon/275_100.jpg create mode 100644 examples/data/Fruit360/lemon/276_100.jpg create mode 100644 examples/data/Fruit360/lemon/277_100.jpg create mode 100644 examples/data/Fruit360/lemon/278_100.jpg create mode 100644 examples/data/Fruit360/lemon/279_100.jpg create mode 100644 examples/data/Fruit360/lemon/27_100.jpg create mode 100644 examples/data/Fruit360/lemon/280_100.jpg create mode 100644 examples/data/Fruit360/lemon/281_100.jpg create mode 100644 examples/data/Fruit360/lemon/282_100.jpg create mode 100644 examples/data/Fruit360/lemon/283_100.jpg create mode 100644 examples/data/Fruit360/lemon/284_100.jpg create mode 100644 examples/data/Fruit360/lemon/285_100.jpg create mode 100644 examples/data/Fruit360/lemon/286_100.jpg create mode 100644 examples/data/Fruit360/lemon/287_100.jpg create mode 100644 examples/data/Fruit360/lemon/288_100.jpg create mode 100644 examples/data/Fruit360/lemon/289_100.jpg create mode 100644 examples/data/Fruit360/lemon/290_100.jpg create mode 100644 examples/data/Fruit360/lemon/291_100.jpg create mode 100644 examples/data/Fruit360/lemon/292_100.jpg create mode 100644 examples/data/Fruit360/lemon/293_100.jpg create mode 100644 examples/data/Fruit360/lemon/294_100.jpg create mode 100644 examples/data/Fruit360/lemon/295_100.jpg create mode 100644 examples/data/Fruit360/lemon/296_100.jpg create mode 100644 examples/data/Fruit360/lemon/297_100.jpg create mode 100644 examples/data/Fruit360/lemon/298_100.jpg create mode 100644 examples/data/Fruit360/lemon/299_100.jpg create mode 100644 examples/data/Fruit360/lemon/2_100.jpg create mode 100644 examples/data/Fruit360/lemon/300_100.jpg create mode 100644 examples/data/Fruit360/lemon/301_100.jpg create mode 100644 examples/data/Fruit360/lemon/302_100.jpg create mode 100644 examples/data/Fruit360/lemon/303_100.jpg create mode 100644 examples/data/Fruit360/lemon/304_100.jpg create mode 100644 examples/data/Fruit360/lemon/305_100.jpg create mode 100644 examples/data/Fruit360/lemon/306_100.jpg create mode 100644 examples/data/Fruit360/lemon/307_100.jpg create mode 100644 examples/data/Fruit360/lemon/308_100.jpg create mode 100644 examples/data/Fruit360/lemon/309_100.jpg create mode 100644 examples/data/Fruit360/lemon/310_100.jpg create mode 100644 examples/data/Fruit360/lemon/311_100.jpg create mode 100644 examples/data/Fruit360/lemon/312_100.jpg create mode 100644 examples/data/Fruit360/lemon/313_100.jpg create mode 100644 examples/data/Fruit360/lemon/314_100.jpg create mode 100644 examples/data/Fruit360/lemon/315_100.jpg create mode 100644 examples/data/Fruit360/lemon/316_100.jpg create mode 100644 examples/data/Fruit360/lemon/317_100.jpg create mode 100644 examples/data/Fruit360/lemon/318_100.jpg create mode 100644 examples/data/Fruit360/lemon/319_100.jpg create mode 100644 examples/data/Fruit360/lemon/320_100.jpg create mode 100644 examples/data/Fruit360/lemon/321_100.jpg create mode 100644 examples/data/Fruit360/lemon/322_100.jpg create mode 100644 examples/data/Fruit360/lemon/323_100.jpg create mode 100644 examples/data/Fruit360/lemon/325_100.jpg create mode 100644 examples/data/Fruit360/lemon/327_100.jpg create mode 100644 examples/data/Fruit360/lemon/33_100.jpg create mode 100644 examples/data/Fruit360/lemon/34_100.jpg create mode 100644 examples/data/Fruit360/lemon/35_100.jpg create mode 100644 examples/data/Fruit360/lemon/36_100.jpg create mode 100644 examples/data/Fruit360/lemon/3_100.jpg create mode 100644 examples/data/Fruit360/lemon/4_100.jpg create mode 100644 examples/data/Fruit360/lemon/5_100.jpg create mode 100644 examples/data/Fruit360/lemon/62_100.jpg create mode 100644 examples/data/Fruit360/lemon/63_100.jpg create mode 100644 examples/data/Fruit360/lemon/64_100.jpg create mode 100644 examples/data/Fruit360/lemon/65_100.jpg create mode 100644 examples/data/Fruit360/lemon/66_100.jpg create mode 100644 examples/data/Fruit360/lemon/67_100.jpg create mode 100644 examples/data/Fruit360/lemon/68_100.jpg create mode 100644 examples/data/Fruit360/lemon/69_100.jpg create mode 100644 examples/data/Fruit360/lemon/6_100.jpg create mode 100644 examples/data/Fruit360/lemon/70_100.jpg create mode 100644 examples/data/Fruit360/lemon/71_100.jpg create mode 100644 examples/data/Fruit360/lemon/72_100.jpg create mode 100644 examples/data/Fruit360/lemon/73_100.jpg create mode 100644 examples/data/Fruit360/lemon/74_100.jpg create mode 100644 examples/data/Fruit360/lemon/75_100.jpg create mode 100644 examples/data/Fruit360/lemon/76_100.jpg create mode 100644 examples/data/Fruit360/lemon/77_100.jpg create mode 100644 examples/data/Fruit360/lemon/78_100.jpg create mode 100644 examples/data/Fruit360/lemon/79_100.jpg create mode 100644 examples/data/Fruit360/lemon/7_100.jpg create mode 100644 examples/data/Fruit360/lemon/80_100.jpg create mode 100644 examples/data/Fruit360/lemon/81_100.jpg create mode 100644 examples/data/Fruit360/lemon/82_100.jpg create mode 100644 examples/data/Fruit360/lemon/83_100.jpg create mode 100644 examples/data/Fruit360/lemon/84_100.jpg create mode 100644 examples/data/Fruit360/lemon/85_100.jpg create mode 100644 examples/data/Fruit360/lemon/86_100.jpg create mode 100644 examples/data/Fruit360/lemon/87_100.jpg create mode 100644 examples/data/Fruit360/lemon/88_100.jpg create mode 100644 examples/data/Fruit360/lemon/89_100.jpg create mode 100644 examples/data/Fruit360/lemon/8_100.jpg create mode 100644 examples/data/Fruit360/lemon/90_100.jpg create mode 100644 examples/data/Fruit360/lemon/91_100.jpg create mode 100644 examples/data/Fruit360/lemon/92_100.jpg create mode 100644 examples/data/Fruit360/lemon/93_100.jpg create mode 100644 examples/data/Fruit360/lemon/94_100.jpg create mode 100644 examples/data/Fruit360/lemon/95_100.jpg create mode 100644 examples/data/Fruit360/lemon/96_100.jpg create mode 100644 examples/data/Fruit360/lemon/97_100.jpg create mode 100644 examples/data/Fruit360/lemon/98_100.jpg create mode 100644 examples/data/Fruit360/lemon/99_100.jpg create mode 100644 examples/data/Fruit360/lemon/9_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_100_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_101_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_102_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_103_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_104_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_105_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_106_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_107_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_108_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_109_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_110_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_111_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_112_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_113_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_114_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_115_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_116_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_117_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_118_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_119_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_120_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_121_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_122_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_123_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_124_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_125_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_126_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_127_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_128_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_129_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_130_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_131_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_132_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_133_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_134_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_135_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_136_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_137_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_138_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_139_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_140_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_141_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_142_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_143_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_144_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_145_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_146_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_147_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_148_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_149_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_150_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_151_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_152_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_153_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_154_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_155_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_156_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_157_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_158_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_159_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_160_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_161_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_162_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_163_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_164_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_165_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_166_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_167_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_168_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_169_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_170_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_171_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_172_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_173_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_174_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_175_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_176_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_177_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_179_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_200_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_201_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_202_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_203_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_204_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_205_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_206_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_207_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_208_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_209_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_210_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_211_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_212_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_213_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_214_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_215_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_216_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_217_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_218_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_219_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_220_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_221_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_222_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_223_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_224_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_225_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_226_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_227_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_228_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_229_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_230_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_231_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_232_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_233_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_234_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_235_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_236_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_237_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_238_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_239_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_240_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_241_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_242_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_243_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_244_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_245_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_246_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_247_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_248_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_249_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_250_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_251_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_252_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_253_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_254_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_255_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_256_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_257_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_258_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_259_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_260_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_261_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_262_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_263_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_264_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_265_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_266_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_267_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_268_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_269_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_26_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_270_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_271_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_272_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_273_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_274_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_275_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_276_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_277_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_278_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_279_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_27_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_280_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_281_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_282_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_283_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_284_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_285_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_286_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_287_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_288_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_289_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_290_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_291_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_292_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_293_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_294_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_295_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_296_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_297_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_298_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_299_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_300_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_311_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_314_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_321_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_32_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_33_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_34_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_35_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_36_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_37_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_38_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_39_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_40_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_41_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_42_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_43_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_44_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_45_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_46_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_47_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_48_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_49_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_51_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_52_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_53_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_58_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_61_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_62_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_64_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_65_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_66_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_67_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_68_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_69_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_70_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_71_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_72_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_73_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_74_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_75_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_76_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_77_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_78_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_79_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_80_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_81_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_82_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_83_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_84_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_85_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_86_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_87_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_88_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_89_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_90_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_91_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_92_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_93_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_94_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_95_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_96_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_97_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_98_100.jpg create mode 100644 examples/data/Fruit360/lemon/r_99_100.jpg create mode 100644 examples/data/Fruit360/mango/100_100.jpg create mode 100644 examples/data/Fruit360/mango/101_100.jpg create mode 100644 examples/data/Fruit360/mango/102_100.jpg create mode 100644 examples/data/Fruit360/mango/103_100.jpg create mode 100644 examples/data/Fruit360/mango/104_100.jpg create mode 100644 examples/data/Fruit360/mango/105_100.jpg create mode 100644 examples/data/Fruit360/mango/106_100.jpg create mode 100644 examples/data/Fruit360/mango/107_100.jpg create mode 100644 examples/data/Fruit360/mango/108_100.jpg create mode 100644 examples/data/Fruit360/mango/109_100.jpg create mode 100644 examples/data/Fruit360/mango/110_100.jpg create mode 100644 examples/data/Fruit360/mango/111_100.jpg create mode 100644 examples/data/Fruit360/mango/112_100.jpg create mode 100644 examples/data/Fruit360/mango/113_100.jpg create mode 100644 examples/data/Fruit360/mango/114_100.jpg create mode 100644 examples/data/Fruit360/mango/115_100.jpg create mode 100644 examples/data/Fruit360/mango/116_100.jpg create mode 100644 examples/data/Fruit360/mango/117_100.jpg create mode 100644 examples/data/Fruit360/mango/118_100.jpg create mode 100644 examples/data/Fruit360/mango/119_100.jpg create mode 100644 examples/data/Fruit360/mango/120_100.jpg create mode 100644 examples/data/Fruit360/mango/121_100.jpg create mode 100644 examples/data/Fruit360/mango/122_100.jpg create mode 100644 examples/data/Fruit360/mango/123_100.jpg create mode 100644 examples/data/Fruit360/mango/124_100.jpg create mode 100644 examples/data/Fruit360/mango/126_100.jpg create mode 100644 examples/data/Fruit360/mango/127_100.jpg create mode 100644 examples/data/Fruit360/mango/128_100.jpg create mode 100644 examples/data/Fruit360/mango/129_100.jpg create mode 100644 examples/data/Fruit360/mango/13_100.jpg create mode 100644 examples/data/Fruit360/mango/154_100.jpg create mode 100644 examples/data/Fruit360/mango/15_100.jpg create mode 100644 examples/data/Fruit360/mango/160_100.jpg create mode 100644 examples/data/Fruit360/mango/161_100.jpg create mode 100644 examples/data/Fruit360/mango/163_100.jpg create mode 100644 examples/data/Fruit360/mango/164_100.jpg create mode 100644 examples/data/Fruit360/mango/165_100.jpg create mode 100644 examples/data/Fruit360/mango/166_100.jpg create mode 100644 examples/data/Fruit360/mango/167_100.jpg create mode 100644 examples/data/Fruit360/mango/168_100.jpg create mode 100644 examples/data/Fruit360/mango/169_100.jpg create mode 100644 examples/data/Fruit360/mango/16_100.jpg create mode 100644 examples/data/Fruit360/mango/170_100.jpg create mode 100644 examples/data/Fruit360/mango/171_100.jpg create mode 100644 examples/data/Fruit360/mango/172_100.jpg create mode 100644 examples/data/Fruit360/mango/173_100.jpg create mode 100644 examples/data/Fruit360/mango/174_100.jpg create mode 100644 examples/data/Fruit360/mango/175_100.jpg create mode 100644 examples/data/Fruit360/mango/176_100.jpg create mode 100644 examples/data/Fruit360/mango/177_100.jpg create mode 100644 examples/data/Fruit360/mango/178_100.jpg create mode 100644 examples/data/Fruit360/mango/179_100.jpg create mode 100644 examples/data/Fruit360/mango/17_100.jpg create mode 100644 examples/data/Fruit360/mango/180_100.jpg create mode 100644 examples/data/Fruit360/mango/181_100.jpg create mode 100644 examples/data/Fruit360/mango/185_100.jpg create mode 100644 examples/data/Fruit360/mango/186_100.jpg create mode 100644 examples/data/Fruit360/mango/187_100.jpg create mode 100644 examples/data/Fruit360/mango/188_100.jpg create mode 100644 examples/data/Fruit360/mango/189_100.jpg create mode 100644 examples/data/Fruit360/mango/18_100.jpg create mode 100644 examples/data/Fruit360/mango/190_100.jpg create mode 100644 examples/data/Fruit360/mango/191_100.jpg create mode 100644 examples/data/Fruit360/mango/192_100.jpg create mode 100644 examples/data/Fruit360/mango/193_100.jpg create mode 100644 examples/data/Fruit360/mango/194_100.jpg create mode 100644 examples/data/Fruit360/mango/195_100.jpg create mode 100644 examples/data/Fruit360/mango/196_100.jpg create mode 100644 examples/data/Fruit360/mango/197_100.jpg create mode 100644 examples/data/Fruit360/mango/198_100.jpg create mode 100644 examples/data/Fruit360/mango/199_100.jpg create mode 100644 examples/data/Fruit360/mango/19_100.jpg create mode 100644 examples/data/Fruit360/mango/200_100.jpg create mode 100644 examples/data/Fruit360/mango/201_100.jpg create mode 100644 examples/data/Fruit360/mango/202_100.jpg create mode 100644 examples/data/Fruit360/mango/203_100.jpg create mode 100644 examples/data/Fruit360/mango/204_100.jpg create mode 100644 examples/data/Fruit360/mango/205_100.jpg create mode 100644 examples/data/Fruit360/mango/206_100.jpg create mode 100644 examples/data/Fruit360/mango/207_100.jpg create mode 100644 examples/data/Fruit360/mango/208_100.jpg create mode 100644 examples/data/Fruit360/mango/209_100.jpg create mode 100644 examples/data/Fruit360/mango/20_100.jpg create mode 100644 examples/data/Fruit360/mango/210_100.jpg create mode 100644 examples/data/Fruit360/mango/211_100.jpg create mode 100644 examples/data/Fruit360/mango/212_100.jpg create mode 100644 examples/data/Fruit360/mango/213_100.jpg create mode 100644 examples/data/Fruit360/mango/214_100.jpg create mode 100644 examples/data/Fruit360/mango/215_100.jpg create mode 100644 examples/data/Fruit360/mango/216_100.jpg create mode 100644 examples/data/Fruit360/mango/217_100.jpg create mode 100644 examples/data/Fruit360/mango/218_100.jpg create mode 100644 examples/data/Fruit360/mango/219_100.jpg create mode 100644 examples/data/Fruit360/mango/21_100.jpg create mode 100644 examples/data/Fruit360/mango/220_100.jpg create mode 100644 examples/data/Fruit360/mango/221_100.jpg create mode 100644 examples/data/Fruit360/mango/222_100.jpg create mode 100644 examples/data/Fruit360/mango/223_100.jpg create mode 100644 examples/data/Fruit360/mango/224_100.jpg create mode 100644 examples/data/Fruit360/mango/225_100.jpg create mode 100644 examples/data/Fruit360/mango/226_100.jpg create mode 100644 examples/data/Fruit360/mango/227_100.jpg create mode 100644 examples/data/Fruit360/mango/228_100.jpg create mode 100644 examples/data/Fruit360/mango/229_100.jpg create mode 100644 examples/data/Fruit360/mango/22_100.jpg create mode 100644 examples/data/Fruit360/mango/230_100.jpg create mode 100644 examples/data/Fruit360/mango/231_100.jpg create mode 100644 examples/data/Fruit360/mango/232_100.jpg create mode 100644 examples/data/Fruit360/mango/233_100.jpg create mode 100644 examples/data/Fruit360/mango/234_100.jpg create mode 100644 examples/data/Fruit360/mango/235_100.jpg create mode 100644 examples/data/Fruit360/mango/236_100.jpg create mode 100644 examples/data/Fruit360/mango/237_100.jpg create mode 100644 examples/data/Fruit360/mango/238_100.jpg create mode 100644 examples/data/Fruit360/mango/239_100.jpg create mode 100644 examples/data/Fruit360/mango/23_100.jpg create mode 100644 examples/data/Fruit360/mango/240_100.jpg create mode 100644 examples/data/Fruit360/mango/241_100.jpg create mode 100644 examples/data/Fruit360/mango/242_100.jpg create mode 100644 examples/data/Fruit360/mango/243_100.jpg create mode 100644 examples/data/Fruit360/mango/244_100.jpg create mode 100644 examples/data/Fruit360/mango/245_100.jpg create mode 100644 examples/data/Fruit360/mango/246_100.jpg create mode 100644 examples/data/Fruit360/mango/247_100.jpg create mode 100644 examples/data/Fruit360/mango/248_100.jpg create mode 100644 examples/data/Fruit360/mango/249_100.jpg create mode 100644 examples/data/Fruit360/mango/24_100.jpg create mode 100644 examples/data/Fruit360/mango/250_100.jpg create mode 100644 examples/data/Fruit360/mango/251_100.jpg create mode 100644 examples/data/Fruit360/mango/252_100.jpg create mode 100644 examples/data/Fruit360/mango/253_100.jpg create mode 100644 examples/data/Fruit360/mango/254_100.jpg create mode 100644 examples/data/Fruit360/mango/255_100.jpg create mode 100644 examples/data/Fruit360/mango/256_100.jpg create mode 100644 examples/data/Fruit360/mango/257_100.jpg create mode 100644 examples/data/Fruit360/mango/258_100.jpg create mode 100644 examples/data/Fruit360/mango/259_100.jpg create mode 100644 examples/data/Fruit360/mango/25_100.jpg create mode 100644 examples/data/Fruit360/mango/263_100.jpg create mode 100644 examples/data/Fruit360/mango/265_100.jpg create mode 100644 examples/data/Fruit360/mango/266_100.jpg create mode 100644 examples/data/Fruit360/mango/267_100.jpg create mode 100644 examples/data/Fruit360/mango/268_100.jpg create mode 100644 examples/data/Fruit360/mango/26_100.jpg create mode 100644 examples/data/Fruit360/mango/271_100.jpg create mode 100644 examples/data/Fruit360/mango/272_100.jpg create mode 100644 examples/data/Fruit360/mango/275_100.jpg create mode 100644 examples/data/Fruit360/mango/276_100.jpg create mode 100644 examples/data/Fruit360/mango/277_100.jpg create mode 100644 examples/data/Fruit360/mango/27_100.jpg create mode 100644 examples/data/Fruit360/mango/280_100.jpg create mode 100644 examples/data/Fruit360/mango/281_100.jpg create mode 100644 examples/data/Fruit360/mango/282_100.jpg create mode 100644 examples/data/Fruit360/mango/283_100.jpg create mode 100644 examples/data/Fruit360/mango/284_100.jpg create mode 100644 examples/data/Fruit360/mango/285_100.jpg create mode 100644 examples/data/Fruit360/mango/286_100.jpg create mode 100644 examples/data/Fruit360/mango/287_100.jpg create mode 100644 examples/data/Fruit360/mango/288_100.jpg create mode 100644 examples/data/Fruit360/mango/289_100.jpg create mode 100644 examples/data/Fruit360/mango/28_100.jpg create mode 100644 examples/data/Fruit360/mango/290_100.jpg create mode 100644 examples/data/Fruit360/mango/291_100.jpg create mode 100644 examples/data/Fruit360/mango/294_100.jpg create mode 100644 examples/data/Fruit360/mango/295_100.jpg create mode 100644 examples/data/Fruit360/mango/296_100.jpg create mode 100644 examples/data/Fruit360/mango/297_100.jpg create mode 100644 examples/data/Fruit360/mango/298_100.jpg create mode 100644 examples/data/Fruit360/mango/29_100.jpg create mode 100644 examples/data/Fruit360/mango/30_100.jpg create mode 100644 examples/data/Fruit360/mango/311_100.jpg create mode 100644 examples/data/Fruit360/mango/31_100.jpg create mode 100644 examples/data/Fruit360/mango/322_100.jpg create mode 100644 examples/data/Fruit360/mango/324_100.jpg create mode 100644 examples/data/Fruit360/mango/325_100.jpg create mode 100644 examples/data/Fruit360/mango/326_100.jpg create mode 100644 examples/data/Fruit360/mango/327_100.jpg create mode 100644 examples/data/Fruit360/mango/32_100.jpg create mode 100644 examples/data/Fruit360/mango/33_100.jpg create mode 100644 examples/data/Fruit360/mango/34_100.jpg create mode 100644 examples/data/Fruit360/mango/35_100.jpg create mode 100644 examples/data/Fruit360/mango/36_100.jpg create mode 100644 examples/data/Fruit360/mango/37_100.jpg create mode 100644 examples/data/Fruit360/mango/38_100.jpg create mode 100644 examples/data/Fruit360/mango/39_100.jpg create mode 100644 examples/data/Fruit360/mango/40_100.jpg create mode 100644 examples/data/Fruit360/mango/41_100.jpg create mode 100644 examples/data/Fruit360/mango/42_100.jpg create mode 100644 examples/data/Fruit360/mango/43_100.jpg create mode 100644 examples/data/Fruit360/mango/44_100.jpg create mode 100644 examples/data/Fruit360/mango/45_100.jpg create mode 100644 examples/data/Fruit360/mango/46_100.jpg create mode 100644 examples/data/Fruit360/mango/47_100.jpg create mode 100644 examples/data/Fruit360/mango/48_100.jpg create mode 100644 examples/data/Fruit360/mango/49_100.jpg create mode 100644 examples/data/Fruit360/mango/50_100.jpg create mode 100644 examples/data/Fruit360/mango/51_100.jpg create mode 100644 examples/data/Fruit360/mango/52_100.jpg create mode 100644 examples/data/Fruit360/mango/53_100.jpg create mode 100644 examples/data/Fruit360/mango/54_100.jpg create mode 100644 examples/data/Fruit360/mango/55_100.jpg create mode 100644 examples/data/Fruit360/mango/56_100.jpg create mode 100644 examples/data/Fruit360/mango/57_100.jpg create mode 100644 examples/data/Fruit360/mango/58_100.jpg create mode 100644 examples/data/Fruit360/mango/59_100.jpg create mode 100644 examples/data/Fruit360/mango/60_100.jpg create mode 100644 examples/data/Fruit360/mango/61_100.jpg create mode 100644 examples/data/Fruit360/mango/62_100.jpg create mode 100644 examples/data/Fruit360/mango/63_100.jpg create mode 100644 examples/data/Fruit360/mango/64_100.jpg create mode 100644 examples/data/Fruit360/mango/65_100.jpg create mode 100644 examples/data/Fruit360/mango/66_100.jpg create mode 100644 examples/data/Fruit360/mango/67_100.jpg create mode 100644 examples/data/Fruit360/mango/68_100.jpg create mode 100644 examples/data/Fruit360/mango/69_100.jpg create mode 100644 examples/data/Fruit360/mango/70_100.jpg create mode 100644 examples/data/Fruit360/mango/71_100.jpg create mode 100644 examples/data/Fruit360/mango/72_100.jpg create mode 100644 examples/data/Fruit360/mango/73_100.jpg create mode 100644 examples/data/Fruit360/mango/74_100.jpg create mode 100644 examples/data/Fruit360/mango/75_100.jpg create mode 100644 examples/data/Fruit360/mango/76_100.jpg create mode 100644 examples/data/Fruit360/mango/77_100.jpg create mode 100644 examples/data/Fruit360/mango/78_100.jpg create mode 100644 examples/data/Fruit360/mango/79_100.jpg create mode 100644 examples/data/Fruit360/mango/80_100.jpg create mode 100644 examples/data/Fruit360/mango/81_100.jpg create mode 100644 examples/data/Fruit360/mango/82_100.jpg create mode 100644 examples/data/Fruit360/mango/83_100.jpg create mode 100644 examples/data/Fruit360/mango/84_100.jpg create mode 100644 examples/data/Fruit360/mango/85_100.jpg create mode 100644 examples/data/Fruit360/mango/86_100.jpg create mode 100644 examples/data/Fruit360/mango/87_100.jpg create mode 100644 examples/data/Fruit360/mango/88_100.jpg create mode 100644 examples/data/Fruit360/mango/89_100.jpg create mode 100644 examples/data/Fruit360/mango/90_100.jpg create mode 100644 examples/data/Fruit360/mango/91_100.jpg create mode 100644 examples/data/Fruit360/mango/92_100.jpg create mode 100644 examples/data/Fruit360/mango/93_100.jpg create mode 100644 examples/data/Fruit360/mango/94_100.jpg create mode 100644 examples/data/Fruit360/mango/95_100.jpg create mode 100644 examples/data/Fruit360/mango/96_100.jpg create mode 100644 examples/data/Fruit360/mango/97_100.jpg create mode 100644 examples/data/Fruit360/mango/98_100.jpg create mode 100644 examples/data/Fruit360/mango/99_100.jpg create mode 100644 examples/data/Fruit360/mango/r_0_100.jpg create mode 100644 examples/data/Fruit360/mango/r_100_100.jpg create mode 100644 examples/data/Fruit360/mango/r_101_100.jpg create mode 100644 examples/data/Fruit360/mango/r_102_100.jpg create mode 100644 examples/data/Fruit360/mango/r_103_100.jpg create mode 100644 examples/data/Fruit360/mango/r_104_100.jpg create mode 100644 examples/data/Fruit360/mango/r_105_100.jpg create mode 100644 examples/data/Fruit360/mango/r_106_100.jpg create mode 100644 examples/data/Fruit360/mango/r_107_100.jpg create mode 100644 examples/data/Fruit360/mango/r_108_100.jpg create mode 100644 examples/data/Fruit360/mango/r_109_100.jpg create mode 100644 examples/data/Fruit360/mango/r_10_100.jpg create mode 100644 examples/data/Fruit360/mango/r_110_100.jpg create mode 100644 examples/data/Fruit360/mango/r_111_100.jpg create mode 100644 examples/data/Fruit360/mango/r_112_100.jpg create mode 100644 examples/data/Fruit360/mango/r_113_100.jpg create mode 100644 examples/data/Fruit360/mango/r_114_100.jpg create mode 100644 examples/data/Fruit360/mango/r_115_100.jpg create mode 100644 examples/data/Fruit360/mango/r_116_100.jpg create mode 100644 examples/data/Fruit360/mango/r_117_100.jpg create mode 100644 examples/data/Fruit360/mango/r_118_100.jpg create mode 100644 examples/data/Fruit360/mango/r_119_100.jpg create mode 100644 examples/data/Fruit360/mango/r_11_100.jpg create mode 100644 examples/data/Fruit360/mango/r_120_100.jpg create mode 100644 examples/data/Fruit360/mango/r_121_100.jpg create mode 100644 examples/data/Fruit360/mango/r_122_100.jpg create mode 100644 examples/data/Fruit360/mango/r_123_100.jpg create mode 100644 examples/data/Fruit360/mango/r_124_100.jpg create mode 100644 examples/data/Fruit360/mango/r_125_100.jpg create mode 100644 examples/data/Fruit360/mango/r_126_100.jpg create mode 100644 examples/data/Fruit360/mango/r_127_100.jpg create mode 100644 examples/data/Fruit360/mango/r_128_100.jpg create mode 100644 examples/data/Fruit360/mango/r_129_100.jpg create mode 100644 examples/data/Fruit360/mango/r_12_100.jpg create mode 100644 examples/data/Fruit360/mango/r_130_100.jpg create mode 100644 examples/data/Fruit360/mango/r_131_100.jpg create mode 100644 examples/data/Fruit360/mango/r_132_100.jpg create mode 100644 examples/data/Fruit360/mango/r_133_100.jpg create mode 100644 examples/data/Fruit360/mango/r_134_100.jpg create mode 100644 examples/data/Fruit360/mango/r_135_100.jpg create mode 100644 examples/data/Fruit360/mango/r_136_100.jpg create mode 100644 examples/data/Fruit360/mango/r_137_100.jpg create mode 100644 examples/data/Fruit360/mango/r_138_100.jpg create mode 100644 examples/data/Fruit360/mango/r_139_100.jpg create mode 100644 examples/data/Fruit360/mango/r_140_100.jpg create mode 100644 examples/data/Fruit360/mango/r_141_100.jpg create mode 100644 examples/data/Fruit360/mango/r_142_100.jpg create mode 100644 examples/data/Fruit360/mango/r_143_100.jpg create mode 100644 examples/data/Fruit360/mango/r_144_100.jpg create mode 100644 examples/data/Fruit360/mango/r_145_100.jpg create mode 100644 examples/data/Fruit360/mango/r_146_100.jpg create mode 100644 examples/data/Fruit360/mango/r_147_100.jpg create mode 100644 examples/data/Fruit360/mango/r_148_100.jpg create mode 100644 examples/data/Fruit360/mango/r_149_100.jpg create mode 100644 examples/data/Fruit360/mango/r_150_100.jpg create mode 100644 examples/data/Fruit360/mango/r_151_100.jpg create mode 100644 examples/data/Fruit360/mango/r_152_100.jpg create mode 100644 examples/data/Fruit360/mango/r_153_100.jpg create mode 100644 examples/data/Fruit360/mango/r_154_100.jpg create mode 100644 examples/data/Fruit360/mango/r_155_100.jpg create mode 100644 examples/data/Fruit360/mango/r_156_100.jpg create mode 100644 examples/data/Fruit360/mango/r_157_100.jpg create mode 100644 examples/data/Fruit360/mango/r_158_100.jpg create mode 100644 examples/data/Fruit360/mango/r_159_100.jpg create mode 100644 examples/data/Fruit360/mango/r_160_100.jpg create mode 100644 examples/data/Fruit360/mango/r_161_100.jpg create mode 100644 examples/data/Fruit360/mango/r_162_100.jpg create mode 100644 examples/data/Fruit360/mango/r_163_100.jpg create mode 100644 examples/data/Fruit360/mango/r_164_100.jpg create mode 100644 examples/data/Fruit360/mango/r_165_100.jpg create mode 100644 examples/data/Fruit360/mango/r_166_100.jpg create mode 100644 examples/data/Fruit360/mango/r_167_100.jpg create mode 100644 examples/data/Fruit360/mango/r_168_100.jpg create mode 100644 examples/data/Fruit360/mango/r_169_100.jpg create mode 100644 examples/data/Fruit360/mango/r_16_100.jpg create mode 100644 examples/data/Fruit360/mango/r_170_100.jpg create mode 100644 examples/data/Fruit360/mango/r_171_100.jpg create mode 100644 examples/data/Fruit360/mango/r_172_100.jpg create mode 100644 examples/data/Fruit360/mango/r_173_100.jpg create mode 100644 examples/data/Fruit360/mango/r_174_100.jpg create mode 100644 examples/data/Fruit360/mango/r_175_100.jpg create mode 100644 examples/data/Fruit360/mango/r_176_100.jpg create mode 100644 examples/data/Fruit360/mango/r_177_100.jpg create mode 100644 examples/data/Fruit360/mango/r_178_100.jpg create mode 100644 examples/data/Fruit360/mango/r_179_100.jpg create mode 100644 examples/data/Fruit360/mango/r_17_100.jpg create mode 100644 examples/data/Fruit360/mango/r_180_100.jpg create mode 100644 examples/data/Fruit360/mango/r_181_100.jpg create mode 100644 examples/data/Fruit360/mango/r_182_100.jpg create mode 100644 examples/data/Fruit360/mango/r_183_100.jpg create mode 100644 examples/data/Fruit360/mango/r_184_100.jpg create mode 100644 examples/data/Fruit360/mango/r_185_100.jpg create mode 100644 examples/data/Fruit360/mango/r_186_100.jpg create mode 100644 examples/data/Fruit360/mango/r_187_100.jpg create mode 100644 examples/data/Fruit360/mango/r_188_100.jpg create mode 100644 examples/data/Fruit360/mango/r_189_100.jpg create mode 100644 examples/data/Fruit360/mango/r_18_100.jpg create mode 100644 examples/data/Fruit360/mango/r_190_100.jpg create mode 100644 examples/data/Fruit360/mango/r_191_100.jpg create mode 100644 examples/data/Fruit360/mango/r_192_100.jpg create mode 100644 examples/data/Fruit360/mango/r_193_100.jpg create mode 100644 examples/data/Fruit360/mango/r_194_100.jpg create mode 100644 examples/data/Fruit360/mango/r_195_100.jpg create mode 100644 examples/data/Fruit360/mango/r_196_100.jpg create mode 100644 examples/data/Fruit360/mango/r_197_100.jpg create mode 100644 examples/data/Fruit360/mango/r_198_100.jpg create mode 100644 examples/data/Fruit360/mango/r_199_100.jpg create mode 100644 examples/data/Fruit360/mango/r_19_100.jpg create mode 100644 examples/data/Fruit360/mango/r_1_100.jpg create mode 100644 examples/data/Fruit360/mango/r_200_100.jpg create mode 100644 examples/data/Fruit360/mango/r_201_100.jpg create mode 100644 examples/data/Fruit360/mango/r_202_100.jpg create mode 100644 examples/data/Fruit360/mango/r_203_100.jpg create mode 100644 examples/data/Fruit360/mango/r_204_100.jpg create mode 100644 examples/data/Fruit360/mango/r_205_100.jpg create mode 100644 examples/data/Fruit360/mango/r_206_100.jpg create mode 100644 examples/data/Fruit360/mango/r_207_100.jpg create mode 100644 examples/data/Fruit360/mango/r_208_100.jpg create mode 100644 examples/data/Fruit360/mango/r_209_100.jpg create mode 100644 examples/data/Fruit360/mango/r_20_100.jpg create mode 100644 examples/data/Fruit360/mango/r_21_100.jpg create mode 100644 examples/data/Fruit360/mango/r_22_100.jpg create mode 100644 examples/data/Fruit360/mango/r_23_100.jpg create mode 100644 examples/data/Fruit360/mango/r_24_100.jpg create mode 100644 examples/data/Fruit360/mango/r_267_100.jpg create mode 100644 examples/data/Fruit360/mango/r_268_100.jpg create mode 100644 examples/data/Fruit360/mango/r_269_100.jpg create mode 100644 examples/data/Fruit360/mango/r_26_100.jpg create mode 100644 examples/data/Fruit360/mango/r_272_100.jpg create mode 100644 examples/data/Fruit360/mango/r_276_100.jpg create mode 100644 examples/data/Fruit360/mango/r_278_100.jpg create mode 100644 examples/data/Fruit360/mango/r_279_100.jpg create mode 100644 examples/data/Fruit360/mango/r_27_100.jpg create mode 100644 examples/data/Fruit360/mango/r_280_100.jpg create mode 100644 examples/data/Fruit360/mango/r_281_100.jpg create mode 100644 examples/data/Fruit360/mango/r_282_100.jpg create mode 100644 examples/data/Fruit360/mango/r_283_100.jpg create mode 100644 examples/data/Fruit360/mango/r_284_100.jpg create mode 100644 examples/data/Fruit360/mango/r_285_100.jpg create mode 100644 examples/data/Fruit360/mango/r_286_100.jpg create mode 100644 examples/data/Fruit360/mango/r_287_100.jpg create mode 100644 examples/data/Fruit360/mango/r_288_100.jpg create mode 100644 examples/data/Fruit360/mango/r_289_100.jpg create mode 100644 examples/data/Fruit360/mango/r_28_100.jpg create mode 100644 examples/data/Fruit360/mango/r_290_100.jpg create mode 100644 examples/data/Fruit360/mango/r_291_100.jpg create mode 100644 examples/data/Fruit360/mango/r_292_100.jpg create mode 100644 examples/data/Fruit360/mango/r_293_100.jpg create mode 100644 examples/data/Fruit360/mango/r_294_100.jpg create mode 100644 examples/data/Fruit360/mango/r_295_100.jpg create mode 100644 examples/data/Fruit360/mango/r_296_100.jpg create mode 100644 examples/data/Fruit360/mango/r_297_100.jpg create mode 100644 examples/data/Fruit360/mango/r_298_100.jpg create mode 100644 examples/data/Fruit360/mango/r_299_100.jpg create mode 100644 examples/data/Fruit360/mango/r_29_100.jpg create mode 100644 examples/data/Fruit360/mango/r_2_100.jpg create mode 100644 examples/data/Fruit360/mango/r_300_100.jpg create mode 100644 examples/data/Fruit360/mango/r_301_100.jpg create mode 100644 examples/data/Fruit360/mango/r_302_100.jpg create mode 100644 examples/data/Fruit360/mango/r_303_100.jpg create mode 100644 examples/data/Fruit360/mango/r_304_100.jpg create mode 100644 examples/data/Fruit360/mango/r_305_100.jpg create mode 100644 examples/data/Fruit360/mango/r_306_100.jpg create mode 100644 examples/data/Fruit360/mango/r_307_100.jpg create mode 100644 examples/data/Fruit360/mango/r_308_100.jpg create mode 100644 examples/data/Fruit360/mango/r_309_100.jpg create mode 100644 examples/data/Fruit360/mango/r_30_100.jpg create mode 100644 examples/data/Fruit360/mango/r_310_100.jpg create mode 100644 examples/data/Fruit360/mango/r_311_100.jpg create mode 100644 examples/data/Fruit360/mango/r_312_100.jpg create mode 100644 examples/data/Fruit360/mango/r_313_100.jpg create mode 100644 examples/data/Fruit360/mango/r_314_100.jpg create mode 100644 examples/data/Fruit360/mango/r_315_100.jpg create mode 100644 examples/data/Fruit360/mango/r_316_100.jpg create mode 100644 examples/data/Fruit360/mango/r_317_100.jpg create mode 100644 examples/data/Fruit360/mango/r_318_100.jpg create mode 100644 examples/data/Fruit360/mango/r_319_100.jpg create mode 100644 examples/data/Fruit360/mango/r_31_100.jpg create mode 100644 examples/data/Fruit360/mango/r_320_100.jpg create mode 100644 examples/data/Fruit360/mango/r_324_100.jpg create mode 100644 examples/data/Fruit360/mango/r_325_100.jpg create mode 100644 examples/data/Fruit360/mango/r_326_100.jpg create mode 100644 examples/data/Fruit360/mango/r_327_100.jpg create mode 100644 examples/data/Fruit360/mango/r_32_100.jpg create mode 100644 examples/data/Fruit360/mango/r_33_100.jpg create mode 100644 examples/data/Fruit360/mango/r_34_100.jpg create mode 100644 examples/data/Fruit360/mango/r_35_100.jpg create mode 100644 examples/data/Fruit360/mango/r_36_100.jpg create mode 100644 examples/data/Fruit360/mango/r_37_100.jpg create mode 100644 examples/data/Fruit360/mango/r_38_100.jpg create mode 100644 examples/data/Fruit360/mango/r_39_100.jpg create mode 100644 examples/data/Fruit360/mango/r_3_100.jpg create mode 100644 examples/data/Fruit360/mango/r_40_100.jpg create mode 100644 examples/data/Fruit360/mango/r_41_100.jpg create mode 100644 examples/data/Fruit360/mango/r_42_100.jpg create mode 100644 examples/data/Fruit360/mango/r_43_100.jpg create mode 100644 examples/data/Fruit360/mango/r_44_100.jpg create mode 100644 examples/data/Fruit360/mango/r_45_100.jpg create mode 100644 examples/data/Fruit360/mango/r_46_100.jpg create mode 100644 examples/data/Fruit360/mango/r_47_100.jpg create mode 100644 examples/data/Fruit360/mango/r_48_100.jpg create mode 100644 examples/data/Fruit360/mango/r_49_100.jpg create mode 100644 examples/data/Fruit360/mango/r_4_100.jpg create mode 100644 examples/data/Fruit360/mango/r_50_100.jpg create mode 100644 examples/data/Fruit360/mango/r_51_100.jpg create mode 100644 examples/data/Fruit360/mango/r_52_100.jpg create mode 100644 examples/data/Fruit360/mango/r_53_100.jpg create mode 100644 examples/data/Fruit360/mango/r_54_100.jpg create mode 100644 examples/data/Fruit360/mango/r_55_100.jpg create mode 100644 examples/data/Fruit360/mango/r_56_100.jpg create mode 100644 examples/data/Fruit360/mango/r_57_100.jpg create mode 100644 examples/data/Fruit360/mango/r_58_100.jpg create mode 100644 examples/data/Fruit360/mango/r_59_100.jpg create mode 100644 examples/data/Fruit360/mango/r_5_100.jpg create mode 100644 examples/data/Fruit360/mango/r_60_100.jpg create mode 100644 examples/data/Fruit360/mango/r_61_100.jpg create mode 100644 examples/data/Fruit360/mango/r_62_100.jpg create mode 100644 examples/data/Fruit360/mango/r_63_100.jpg create mode 100644 examples/data/Fruit360/mango/r_64_100.jpg create mode 100644 examples/data/Fruit360/mango/r_65_100.jpg create mode 100644 examples/data/Fruit360/mango/r_66_100.jpg create mode 100644 examples/data/Fruit360/mango/r_67_100.jpg create mode 100644 examples/data/Fruit360/mango/r_68_100.jpg create mode 100644 examples/data/Fruit360/mango/r_69_100.jpg create mode 100644 examples/data/Fruit360/mango/r_6_100.jpg create mode 100644 examples/data/Fruit360/mango/r_70_100.jpg create mode 100644 examples/data/Fruit360/mango/r_71_100.jpg create mode 100644 examples/data/Fruit360/mango/r_72_100.jpg create mode 100644 examples/data/Fruit360/mango/r_73_100.jpg create mode 100644 examples/data/Fruit360/mango/r_74_100.jpg create mode 100644 examples/data/Fruit360/mango/r_75_100.jpg create mode 100644 examples/data/Fruit360/mango/r_76_100.jpg create mode 100644 examples/data/Fruit360/mango/r_77_100.jpg create mode 100644 examples/data/Fruit360/mango/r_7_100.jpg create mode 100644 examples/data/Fruit360/mango/r_80_100.jpg create mode 100644 examples/data/Fruit360/mango/r_8_100.jpg create mode 100644 examples/data/Fruit360/mango/r_92_100.jpg create mode 100644 examples/data/Fruit360/mango/r_93_100.jpg create mode 100644 examples/data/Fruit360/mango/r_94_100.jpg create mode 100644 examples/data/Fruit360/mango/r_95_100.jpg create mode 100644 examples/data/Fruit360/mango/r_96_100.jpg create mode 100644 examples/data/Fruit360/mango/r_97_100.jpg create mode 100644 examples/data/Fruit360/mango/r_98_100.jpg create mode 100644 examples/data/Fruit360/mango/r_99_100.jpg create mode 100644 examples/data/Fruit360/mango/r_9_100.jpg create mode 100644 examples/data/Fruit360/raspberry/0_100.jpg create mode 100644 examples/data/Fruit360/raspberry/10_100.jpg create mode 100644 examples/data/Fruit360/raspberry/113_100.jpg create mode 100644 examples/data/Fruit360/raspberry/114_100.jpg create mode 100644 examples/data/Fruit360/raspberry/115_100.jpg create mode 100644 examples/data/Fruit360/raspberry/116_100.jpg create mode 100644 examples/data/Fruit360/raspberry/117_100.jpg create mode 100644 examples/data/Fruit360/raspberry/118_100.jpg create mode 100644 examples/data/Fruit360/raspberry/119_100.jpg create mode 100644 examples/data/Fruit360/raspberry/11_100.jpg create mode 100644 examples/data/Fruit360/raspberry/120_100.jpg create mode 100644 examples/data/Fruit360/raspberry/121_100.jpg create mode 100644 examples/data/Fruit360/raspberry/122_100.jpg create mode 100644 examples/data/Fruit360/raspberry/123_100.jpg create mode 100644 examples/data/Fruit360/raspberry/124_100.jpg create mode 100644 examples/data/Fruit360/raspberry/125_100.jpg create mode 100644 examples/data/Fruit360/raspberry/126_100.jpg create mode 100644 examples/data/Fruit360/raspberry/127_100.jpg create mode 100644 examples/data/Fruit360/raspberry/128_100.jpg create mode 100644 examples/data/Fruit360/raspberry/129_100.jpg create mode 100644 examples/data/Fruit360/raspberry/12_100.jpg create mode 100644 examples/data/Fruit360/raspberry/130_100.jpg create mode 100644 examples/data/Fruit360/raspberry/131_100.jpg create mode 100644 examples/data/Fruit360/raspberry/132_100.jpg create mode 100644 examples/data/Fruit360/raspberry/133_100.jpg create mode 100644 examples/data/Fruit360/raspberry/134_100.jpg create mode 100644 examples/data/Fruit360/raspberry/135_100.jpg create mode 100644 examples/data/Fruit360/raspberry/136_100.jpg create mode 100644 examples/data/Fruit360/raspberry/137_100.jpg create mode 100644 examples/data/Fruit360/raspberry/138_100.jpg create mode 100644 examples/data/Fruit360/raspberry/139_100.jpg create mode 100644 examples/data/Fruit360/raspberry/13_100.jpg create mode 100644 examples/data/Fruit360/raspberry/140_100.jpg create mode 100644 examples/data/Fruit360/raspberry/141_100.jpg create mode 100644 examples/data/Fruit360/raspberry/142_100.jpg create mode 100644 examples/data/Fruit360/raspberry/143_100.jpg create mode 100644 examples/data/Fruit360/raspberry/144_100.jpg create mode 100644 examples/data/Fruit360/raspberry/145_100.jpg create mode 100644 examples/data/Fruit360/raspberry/146_100.jpg create mode 100644 examples/data/Fruit360/raspberry/147_100.jpg create mode 100644 examples/data/Fruit360/raspberry/148_100.jpg create mode 100644 examples/data/Fruit360/raspberry/149_100.jpg create mode 100644 examples/data/Fruit360/raspberry/14_100.jpg create mode 100644 examples/data/Fruit360/raspberry/150_100.jpg create mode 100644 examples/data/Fruit360/raspberry/151_100.jpg create mode 100644 examples/data/Fruit360/raspberry/152_100.jpg create mode 100644 examples/data/Fruit360/raspberry/153_100.jpg create mode 100644 examples/data/Fruit360/raspberry/154_100.jpg create mode 100644 examples/data/Fruit360/raspberry/155_100.jpg create mode 100644 examples/data/Fruit360/raspberry/156_100.jpg create mode 100644 examples/data/Fruit360/raspberry/157_100.jpg create mode 100644 examples/data/Fruit360/raspberry/158_100.jpg create mode 100644 examples/data/Fruit360/raspberry/159_100.jpg create mode 100644 examples/data/Fruit360/raspberry/15_100.jpg create mode 100644 examples/data/Fruit360/raspberry/160_100.jpg create mode 100644 examples/data/Fruit360/raspberry/161_100.jpg create mode 100644 examples/data/Fruit360/raspberry/162_100.jpg create mode 100644 examples/data/Fruit360/raspberry/163_100.jpg create mode 100644 examples/data/Fruit360/raspberry/164_100.jpg create mode 100644 examples/data/Fruit360/raspberry/165_100.jpg create mode 100644 examples/data/Fruit360/raspberry/166_100.jpg create mode 100644 examples/data/Fruit360/raspberry/167_100.jpg create mode 100644 examples/data/Fruit360/raspberry/168_100.jpg create mode 100644 examples/data/Fruit360/raspberry/169_100.jpg create mode 100644 examples/data/Fruit360/raspberry/16_100.jpg create mode 100644 examples/data/Fruit360/raspberry/170_100.jpg create mode 100644 examples/data/Fruit360/raspberry/171_100.jpg create mode 100644 examples/data/Fruit360/raspberry/172_100.jpg create mode 100644 examples/data/Fruit360/raspberry/173_100.jpg create mode 100644 examples/data/Fruit360/raspberry/174_100.jpg create mode 100644 examples/data/Fruit360/raspberry/175_100.jpg create mode 100644 examples/data/Fruit360/raspberry/176_100.jpg create mode 100644 examples/data/Fruit360/raspberry/177_100.jpg create mode 100644 examples/data/Fruit360/raspberry/178_100.jpg create mode 100644 examples/data/Fruit360/raspberry/179_100.jpg create mode 100644 examples/data/Fruit360/raspberry/17_100.jpg create mode 100644 examples/data/Fruit360/raspberry/180_100.jpg create mode 100644 examples/data/Fruit360/raspberry/181_100.jpg create mode 100644 examples/data/Fruit360/raspberry/182_100.jpg create mode 100644 examples/data/Fruit360/raspberry/183_100.jpg create mode 100644 examples/data/Fruit360/raspberry/184_100.jpg create mode 100644 examples/data/Fruit360/raspberry/185_100.jpg create mode 100644 examples/data/Fruit360/raspberry/186_100.jpg create mode 100644 examples/data/Fruit360/raspberry/187_100.jpg create mode 100644 examples/data/Fruit360/raspberry/188_100.jpg create mode 100644 examples/data/Fruit360/raspberry/189_100.jpg create mode 100644 examples/data/Fruit360/raspberry/18_100.jpg create mode 100644 examples/data/Fruit360/raspberry/190_100.jpg create mode 100644 examples/data/Fruit360/raspberry/191_100.jpg create mode 100644 examples/data/Fruit360/raspberry/192_100.jpg create mode 100644 examples/data/Fruit360/raspberry/193_100.jpg create mode 100644 examples/data/Fruit360/raspberry/194_100.jpg create mode 100644 examples/data/Fruit360/raspberry/195_100.jpg create mode 100644 examples/data/Fruit360/raspberry/196_100.jpg create mode 100644 examples/data/Fruit360/raspberry/197_100.jpg create mode 100644 examples/data/Fruit360/raspberry/198_100.jpg create mode 100644 examples/data/Fruit360/raspberry/19_100.jpg create mode 100644 examples/data/Fruit360/raspberry/1_100.jpg create mode 100644 examples/data/Fruit360/raspberry/201_100.jpg create mode 100644 examples/data/Fruit360/raspberry/20_100.jpg create mode 100644 examples/data/Fruit360/raspberry/21_100.jpg create mode 100644 examples/data/Fruit360/raspberry/22_100.jpg create mode 100644 examples/data/Fruit360/raspberry/23_100.jpg create mode 100644 examples/data/Fruit360/raspberry/248_100.jpg create mode 100644 examples/data/Fruit360/raspberry/249_100.jpg create mode 100644 examples/data/Fruit360/raspberry/24_100.jpg create mode 100644 examples/data/Fruit360/raspberry/250_100.jpg create mode 100644 examples/data/Fruit360/raspberry/251_100.jpg create mode 100644 examples/data/Fruit360/raspberry/252_100.jpg create mode 100644 examples/data/Fruit360/raspberry/253_100.jpg create mode 100644 examples/data/Fruit360/raspberry/254_100.jpg create mode 100644 examples/data/Fruit360/raspberry/255_100.jpg create mode 100644 examples/data/Fruit360/raspberry/256_100.jpg create mode 100644 examples/data/Fruit360/raspberry/257_100.jpg create mode 100644 examples/data/Fruit360/raspberry/258_100.jpg create mode 100644 examples/data/Fruit360/raspberry/259_100.jpg create mode 100644 examples/data/Fruit360/raspberry/25_100.jpg create mode 100644 examples/data/Fruit360/raspberry/260_100.jpg create mode 100644 examples/data/Fruit360/raspberry/261_100.jpg create mode 100644 examples/data/Fruit360/raspberry/262_100.jpg create mode 100644 examples/data/Fruit360/raspberry/263_100.jpg create mode 100644 examples/data/Fruit360/raspberry/264_100.jpg create mode 100644 examples/data/Fruit360/raspberry/265_100.jpg create mode 100644 examples/data/Fruit360/raspberry/266_100.jpg create mode 100644 examples/data/Fruit360/raspberry/267_100.jpg create mode 100644 examples/data/Fruit360/raspberry/268_100.jpg create mode 100644 examples/data/Fruit360/raspberry/269_100.jpg create mode 100644 examples/data/Fruit360/raspberry/26_100.jpg create mode 100644 examples/data/Fruit360/raspberry/270_100.jpg create mode 100644 examples/data/Fruit360/raspberry/271_100.jpg create mode 100644 examples/data/Fruit360/raspberry/272_100.jpg create mode 100644 examples/data/Fruit360/raspberry/273_100.jpg create mode 100644 examples/data/Fruit360/raspberry/274_100.jpg create mode 100644 examples/data/Fruit360/raspberry/275_100.jpg create mode 100644 examples/data/Fruit360/raspberry/276_100.jpg create mode 100644 examples/data/Fruit360/raspberry/277_100.jpg create mode 100644 examples/data/Fruit360/raspberry/278_100.jpg create mode 100644 examples/data/Fruit360/raspberry/279_100.jpg create mode 100644 examples/data/Fruit360/raspberry/27_100.jpg create mode 100644 examples/data/Fruit360/raspberry/280_100.jpg create mode 100644 examples/data/Fruit360/raspberry/281_100.jpg create mode 100644 examples/data/Fruit360/raspberry/282_100.jpg create mode 100644 examples/data/Fruit360/raspberry/283_100.jpg create mode 100644 examples/data/Fruit360/raspberry/284_100.jpg create mode 100644 examples/data/Fruit360/raspberry/285_100.jpg create mode 100644 examples/data/Fruit360/raspberry/286_100.jpg create mode 100644 examples/data/Fruit360/raspberry/287_100.jpg create mode 100644 examples/data/Fruit360/raspberry/288_100.jpg create mode 100644 examples/data/Fruit360/raspberry/289_100.jpg create mode 100644 examples/data/Fruit360/raspberry/28_100.jpg create mode 100644 examples/data/Fruit360/raspberry/290_100.jpg create mode 100644 examples/data/Fruit360/raspberry/291_100.jpg create mode 100644 examples/data/Fruit360/raspberry/292_100.jpg create mode 100644 examples/data/Fruit360/raspberry/293_100.jpg create mode 100644 examples/data/Fruit360/raspberry/294_100.jpg create mode 100644 examples/data/Fruit360/raspberry/295_100.jpg create mode 100644 examples/data/Fruit360/raspberry/296_100.jpg create mode 100644 examples/data/Fruit360/raspberry/297_100.jpg create mode 100644 examples/data/Fruit360/raspberry/298_100.jpg create mode 100644 examples/data/Fruit360/raspberry/299_100.jpg create mode 100644 examples/data/Fruit360/raspberry/29_100.jpg create mode 100644 examples/data/Fruit360/raspberry/2_100.jpg create mode 100644 examples/data/Fruit360/raspberry/300_100.jpg create mode 100644 examples/data/Fruit360/raspberry/301_100.jpg create mode 100644 examples/data/Fruit360/raspberry/302_100.jpg create mode 100644 examples/data/Fruit360/raspberry/303_100.jpg create mode 100644 examples/data/Fruit360/raspberry/304_100.jpg create mode 100644 examples/data/Fruit360/raspberry/305_100.jpg create mode 100644 examples/data/Fruit360/raspberry/306_100.jpg create mode 100644 examples/data/Fruit360/raspberry/307_100.jpg create mode 100644 examples/data/Fruit360/raspberry/308_100.jpg create mode 100644 examples/data/Fruit360/raspberry/309_100.jpg create mode 100644 examples/data/Fruit360/raspberry/30_100.jpg create mode 100644 examples/data/Fruit360/raspberry/310_100.jpg create mode 100644 examples/data/Fruit360/raspberry/311_100.jpg create mode 100644 examples/data/Fruit360/raspberry/312_100.jpg create mode 100644 examples/data/Fruit360/raspberry/313_100.jpg create mode 100644 examples/data/Fruit360/raspberry/314_100.jpg create mode 100644 examples/data/Fruit360/raspberry/315_100.jpg create mode 100644 examples/data/Fruit360/raspberry/316_100.jpg create mode 100644 examples/data/Fruit360/raspberry/317_100.jpg create mode 100644 examples/data/Fruit360/raspberry/318_100.jpg create mode 100644 examples/data/Fruit360/raspberry/319_100.jpg create mode 100644 examples/data/Fruit360/raspberry/31_100.jpg create mode 100644 examples/data/Fruit360/raspberry/320_100.jpg create mode 100644 examples/data/Fruit360/raspberry/321_100.jpg create mode 100644 examples/data/Fruit360/raspberry/322_100.jpg create mode 100644 examples/data/Fruit360/raspberry/323_100.jpg create mode 100644 examples/data/Fruit360/raspberry/324_100.jpg create mode 100644 examples/data/Fruit360/raspberry/325_100.jpg create mode 100644 examples/data/Fruit360/raspberry/326_100.jpg create mode 100644 examples/data/Fruit360/raspberry/327_100.jpg create mode 100644 examples/data/Fruit360/raspberry/32_100.jpg create mode 100644 examples/data/Fruit360/raspberry/33_100.jpg create mode 100644 examples/data/Fruit360/raspberry/34_100.jpg create mode 100644 examples/data/Fruit360/raspberry/35_100.jpg create mode 100644 examples/data/Fruit360/raspberry/36_100.jpg create mode 100644 examples/data/Fruit360/raspberry/37_100.jpg create mode 100644 examples/data/Fruit360/raspberry/38_100.jpg create mode 100644 examples/data/Fruit360/raspberry/39_100.jpg create mode 100644 examples/data/Fruit360/raspberry/3_100.jpg create mode 100644 examples/data/Fruit360/raspberry/40_100.jpg create mode 100644 examples/data/Fruit360/raspberry/41_100.jpg create mode 100644 examples/data/Fruit360/raspberry/42_100.jpg create mode 100644 examples/data/Fruit360/raspberry/43_100.jpg create mode 100644 examples/data/Fruit360/raspberry/44_100.jpg create mode 100644 examples/data/Fruit360/raspberry/45_100.jpg create mode 100644 examples/data/Fruit360/raspberry/46_100.jpg create mode 100644 examples/data/Fruit360/raspberry/47_100.jpg create mode 100644 examples/data/Fruit360/raspberry/48_100.jpg create mode 100644 examples/data/Fruit360/raspberry/49_100.jpg create mode 100644 examples/data/Fruit360/raspberry/4_100.jpg create mode 100644 examples/data/Fruit360/raspberry/50_100.jpg create mode 100644 examples/data/Fruit360/raspberry/51_100.jpg create mode 100644 examples/data/Fruit360/raspberry/52_100.jpg create mode 100644 examples/data/Fruit360/raspberry/53_100.jpg create mode 100644 examples/data/Fruit360/raspberry/54_100.jpg create mode 100644 examples/data/Fruit360/raspberry/55_100.jpg create mode 100644 examples/data/Fruit360/raspberry/56_100.jpg create mode 100644 examples/data/Fruit360/raspberry/57_100.jpg create mode 100644 examples/data/Fruit360/raspberry/58_100.jpg create mode 100644 examples/data/Fruit360/raspberry/59_100.jpg create mode 100644 examples/data/Fruit360/raspberry/5_100.jpg create mode 100644 examples/data/Fruit360/raspberry/60_100.jpg create mode 100644 examples/data/Fruit360/raspberry/61_100.jpg create mode 100644 examples/data/Fruit360/raspberry/62_100.jpg create mode 100644 examples/data/Fruit360/raspberry/63_100.jpg create mode 100644 examples/data/Fruit360/raspberry/64_100.jpg create mode 100644 examples/data/Fruit360/raspberry/65_100.jpg create mode 100644 examples/data/Fruit360/raspberry/66_100.jpg create mode 100644 examples/data/Fruit360/raspberry/67_100.jpg create mode 100644 examples/data/Fruit360/raspberry/68_100.jpg create mode 100644 examples/data/Fruit360/raspberry/69_100.jpg create mode 100644 examples/data/Fruit360/raspberry/6_100.jpg create mode 100644 examples/data/Fruit360/raspberry/70_100.jpg create mode 100644 examples/data/Fruit360/raspberry/71_100.jpg create mode 100644 examples/data/Fruit360/raspberry/72_100.jpg create mode 100644 examples/data/Fruit360/raspberry/73_100.jpg create mode 100644 examples/data/Fruit360/raspberry/74_100.jpg create mode 100644 examples/data/Fruit360/raspberry/75_100.jpg create mode 100644 examples/data/Fruit360/raspberry/76_100.jpg create mode 100644 examples/data/Fruit360/raspberry/78_100.jpg create mode 100644 examples/data/Fruit360/raspberry/7_100.jpg create mode 100644 examples/data/Fruit360/raspberry/8_100.jpg create mode 100644 examples/data/Fruit360/raspberry/9_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_0_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_113_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_11_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_123_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_124_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_125_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_126_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_127_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_128_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_129_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_12_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_130_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_131_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_132_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_133_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_134_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_135_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_136_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_137_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_138_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_139_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_13_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_140_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_141_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_142_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_143_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_144_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_145_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_146_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_147_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_148_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_149_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_14_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_150_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_151_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_152_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_153_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_154_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_155_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_156_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_157_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_158_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_159_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_15_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_160_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_161_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_162_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_163_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_164_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_165_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_166_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_167_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_168_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_169_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_16_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_170_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_171_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_172_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_173_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_174_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_175_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_176_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_177_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_178_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_179_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_17_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_180_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_181_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_182_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_183_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_184_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_185_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_186_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_187_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_188_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_189_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_18_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_190_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_191_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_192_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_193_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_194_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_195_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_196_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_197_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_198_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_199_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_1_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_200_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_201_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_202_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_203_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_204_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_205_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_206_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_207_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_208_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_209_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_20_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_210_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_211_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_212_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_213_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_214_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_215_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_221_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_222_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_224_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_225_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_226_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_229_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_23_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_241_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_242_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_243_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_244_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_245_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_246_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_247_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_249_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_24_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_250_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_251_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_253_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_254_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_255_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_256_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_257_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_258_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_259_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_260_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_261_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_262_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_263_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_264_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_265_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_266_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_267_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_268_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_269_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_270_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_271_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_272_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_273_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_274_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_275_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_276_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_277_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_278_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_279_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_27_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_280_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_281_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_282_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_283_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_284_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_285_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_286_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_287_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_288_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_289_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_290_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_291_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_292_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_293_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_294_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_296_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_297_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_298_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_299_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_2_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_300_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_301_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_307_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_318_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_319_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_322_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_323_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_324_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_326_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_327_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_39_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_3_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_40_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_41_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_43_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_44_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_45_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_46_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_47_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_48_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_49_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_4_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_50_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_51_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_52_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_53_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_54_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_55_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_56_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_57_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_58_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_59_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_5_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_60_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_61_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_62_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_63_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_64_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_65_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_66_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_67_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_68_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_69_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_6_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_70_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_71_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_72_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_73_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_74_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_75_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_76_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_77_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_78_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_79_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_7_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_80_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_81_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_82_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_83_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_84_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_85_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_86_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_87_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_88_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_8_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_90_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_91_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_92_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_93_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_94_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_97_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_98_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_99_100.jpg create mode 100644 examples/data/Fruit360/raspberry/r_9_100.jpg create mode 100644 examples/gacnn/example_image_classification.py create mode 100644 examples/gann/example_XOR_classification.py create mode 100644 examples/gann/example_classification.py create mode 100644 examples/gann/example_regression.py create mode 100644 examples/gann/example_regression_fish.py create mode 100644 examples/nn/example_XOR_classification.py create mode 100644 examples/nn/example_classification.py create mode 100644 examples/nn/example_regression.py create mode 100644 examples/nn/example_regression_fish.py create mode 100644 examples/nn/extract_features.py rename examples/{lifecycle.py => pygad_lifecycle.py} (96%) diff --git a/Tutorial Project/README.md b/Tutorial Project/README.md index e9e32eb..3b2f2fb 100644 --- a/Tutorial Project/README.md +++ b/Tutorial Project/README.md @@ -1,24 +1,11 @@ # GeneticAlgorithmPython -Genetic algorithm implementation in Python - -This folder under the project has the code built in the tutorial titled [**Genetic Algorithm Implementation in Python**](https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad) which is available in these links: +This folder has the code for the tutorial titled [**Genetic Algorithm Implementation in Python**](https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad) which is available at these links: * https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad * https://towardsdatascience.com/genetic-algorithm-implementation-in-python-5ab67bb124a6 * https://www.kdnuggets.com/2018/07/genetic-algorithm-implementation-python.html -The `ga.py` file holds the implementation of the GA operations such as mutation and crossover. The other file gives an example of using the GA.py file. - -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. - -## For Contacting the Author +The `ga.py` file has the implementation of the GA operations such as mutation and crossover. It is a primitive implementation of the genetic algorithm. The other file gives an example of using the ga.py file. -* E-mail: ahmed.f.gad@gmail.com -* [LinkedIn](https://www.linkedin.com/in/ahmedfgad) -* [Amazon Author Page](https://amazon.com/author/ahmedgad) -* [Paperspace](https://blog.paperspace.com/author/ahmed) -* [Hearbeat](https://heartbeat.fritz.ai/@ahmedfgad) -* [KDnuggets](https://kdnuggets.com/author/ahmed-gad) -* [TowardsDataScience](https://towardsdatascience.com/@ahmedfgad) -* [GitHub](https://github.com/ahmedfgad) +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. Check [PyGAD](https://pygad.readthedocs.io/en) for extensive features. diff --git a/docs/source/conf.py b/docs/source/conf.py index 7fd05aa..806bb02 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -22,7 +22,7 @@ author = 'Ahmed Fawzy Gad' # The full version, including alpha/beta/rc tags -release = '3.0.1' +release = '3.1.0' master_doc = 'index' diff --git a/docs/source/index.rst b/docs/source/index.rst index b346229..3bd6ad6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -247,7 +247,7 @@ pygad Module :maxdepth: 4 :caption: pygad Module TOC - README_pygad_ReadTheDocs.rst + pygad.rst @@ -262,7 +262,7 @@ pygad.nn Module :maxdepth: 4 :caption: pygad.nn Module TOC - README_pygad_nn_ReadTheDocs.rst + nn.rst @@ -278,7 +278,7 @@ pygad.gann Module :maxdepth: 4 :caption: pygad.gann Module TOC - README_pygad_gann_ReadTheDocs.rst + gann.rst @@ -298,7 +298,7 @@ pygad.cnn Module :maxdepth: 4 :caption: pygad.cnn Module TOC - README_pygad_cnn_ReadTheDocs.rst + cnn.rst @@ -318,7 +318,7 @@ pygad.gacnn Module :maxdepth: 4 :caption: pygad.gacnn Module TOC - README_pygad_gacnn_ReadTheDocs.rst + gacnn.rst @@ -333,7 +333,7 @@ pygad.kerasga Module :maxdepth: 4 :caption: pygad.kerasga Module TOC - README_pygad_kerasga_ReadTheDocs.rst + kerasga.rst @@ -348,7 +348,7 @@ pygad.torchga Module :maxdepth: 4 :caption: pygad.torchga Module TOC - README_pygad_torchga_ReadTheDocs.rst + torchga.rst @@ -363,7 +363,7 @@ More Information :maxdepth: 4 :caption: More Information - Footer.rst + releases.rst diff --git a/examples/cnn/example_image_classification.py b/examples/cnn/example_image_classification.py new file mode 100644 index 0000000..9b90a8b --- /dev/null +++ b/examples/cnn/example_image_classification.py @@ -0,0 +1,72 @@ +import numpy +import pygad.cnn + +""" +Convolutional neural network implementation using NumPy +A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: + https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad + https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a + https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html +It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 +""" + +train_inputs = numpy.load("../data/dataset_inputs.npy") +train_outputs = numpy.load("../data/dataset_outputs.npy") + +sample_shape = train_inputs.shape[1:] +num_classes = 4 + +input_layer = pygad.cnn.Input2D(input_shape=sample_shape) +conv_layer1 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function=None) +relu_layer1 = pygad.cnn.Sigmoid(previous_layer=conv_layer1) +average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer1, + stride=2) + +conv_layer2 = pygad.cnn.Conv2D(num_filters=3, + kernel_size=3, + previous_layer=average_pooling_layer, + activation_function=None) +relu_layer2 = pygad.cnn.ReLU(previous_layer=conv_layer2) +max_pooling_layer = pygad.cnn.MaxPooling2D(pool_size=2, + previous_layer=relu_layer2, + stride=2) + +conv_layer3 = pygad.cnn.Conv2D(num_filters=1, + kernel_size=3, + previous_layer=max_pooling_layer, + activation_function=None) +relu_layer3 = pygad.cnn.ReLU(previous_layer=conv_layer3) +pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer3, + stride=2) + +flatten_layer = pygad.cnn.Flatten(previous_layer=pooling_layer) +dense_layer1 = pygad.cnn.Dense(num_neurons=100, + previous_layer=flatten_layer, + activation_function="relu") +dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, + previous_layer=dense_layer1, + activation_function="softmax") + +model = pygad.cnn.Model(last_layer=dense_layer2, + epochs=1, + learning_rate=0.01) + +model.summary() + +model.train(train_inputs=train_inputs, + train_outputs=train_outputs) + +predictions = model.predict(data_inputs=train_inputs) +print(predictions) + +num_wrong = numpy.where(predictions != train_outputs)[0] +num_correct = train_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/train_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/examples/data/Fish.csv b/examples/data/Fish.csv new file mode 100644 index 0000000..a0bbd32 --- /dev/null +++ b/examples/data/Fish.csv @@ -0,0 +1,160 @@ +Species,Weight,Length1,Length2,Length3,Height,Width +Bream,242,23.2,25.4,30,11.52,4.02 +Bream,290,24,26.3,31.2,12.48,4.3056 +Bream,340,23.9,26.5,31.1,12.3778,4.6961 +Bream,363,26.3,29,33.5,12.73,4.4555 +Bream,430,26.5,29,34,12.444,5.134 +Bream,450,26.8,29.7,34.7,13.6024,4.9274 +Bream,500,26.8,29.7,34.5,14.1795,5.2785 +Bream,390,27.6,30,35,12.67,4.69 +Bream,450,27.6,30,35.1,14.0049,4.8438 +Bream,500,28.5,30.7,36.2,14.2266,4.9594 +Bream,475,28.4,31,36.2,14.2628,5.1042 +Bream,500,28.7,31,36.2,14.3714,4.8146 +Bream,500,29.1,31.5,36.4,13.7592,4.368 +Bream,340,29.5,32,37.3,13.9129,5.0728 +Bream,600,29.4,32,37.2,14.9544,5.1708 +Bream,600,29.4,32,37.2,15.438,5.58 +Bream,700,30.4,33,38.3,14.8604,5.2854 +Bream,700,30.4,33,38.5,14.938,5.1975 +Bream,610,30.9,33.5,38.6,15.633,5.1338 +Bream,650,31,33.5,38.7,14.4738,5.7276 +Bream,575,31.3,34,39.5,15.1285,5.5695 +Bream,685,31.4,34,39.2,15.9936,5.3704 +Bream,620,31.5,34.5,39.7,15.5227,5.2801 +Bream,680,31.8,35,40.6,15.4686,6.1306 +Bream,700,31.9,35,40.5,16.2405,5.589 +Bream,725,31.8,35,40.9,16.36,6.0532 +Bream,720,32,35,40.6,16.3618,6.09 +Bream,714,32.7,36,41.5,16.517,5.8515 +Bream,850,32.8,36,41.6,16.8896,6.1984 +Bream,1000,33.5,37,42.6,18.957,6.603 +Bream,920,35,38.5,44.1,18.0369,6.3063 +Bream,955,35,38.5,44,18.084,6.292 +Bream,925,36.2,39.5,45.3,18.7542,6.7497 +Bream,975,37.4,41,45.9,18.6354,6.7473 +Bream,950,38,41,46.5,17.6235,6.3705 +Roach,40,12.9,14.1,16.2,4.1472,2.268 +Roach,69,16.5,18.2,20.3,5.2983,2.8217 +Roach,78,17.5,18.8,21.2,5.5756,2.9044 +Roach,87,18.2,19.8,22.2,5.6166,3.1746 +Roach,120,18.6,20,22.2,6.216,3.5742 +Roach,0,19,20.5,22.8,6.4752,3.3516 +Roach,110,19.1,20.8,23.1,6.1677,3.3957 +Roach,120,19.4,21,23.7,6.1146,3.2943 +Roach,150,20.4,22,24.7,5.8045,3.7544 +Roach,145,20.5,22,24.3,6.6339,3.5478 +Roach,160,20.5,22.5,25.3,7.0334,3.8203 +Roach,140,21,22.5,25,6.55,3.325 +Roach,160,21.1,22.5,25,6.4,3.8 +Roach,169,22,24,27.2,7.5344,3.8352 +Roach,161,22,23.4,26.7,6.9153,3.6312 +Roach,200,22.1,23.5,26.8,7.3968,4.1272 +Roach,180,23.6,25.2,27.9,7.0866,3.906 +Roach,290,24,26,29.2,8.8768,4.4968 +Roach,272,25,27,30.6,8.568,4.7736 +Roach,390,29.5,31.7,35,9.485,5.355 +Whitefish,270,23.6,26,28.7,8.3804,4.2476 +Whitefish,270,24.1,26.5,29.3,8.1454,4.2485 +Whitefish,306,25.6,28,30.8,8.778,4.6816 +Whitefish,540,28.5,31,34,10.744,6.562 +Whitefish,800,33.7,36.4,39.6,11.7612,6.5736 +Whitefish,1000,37.3,40,43.5,12.354,6.525 +Parkki,55,13.5,14.7,16.5,6.8475,2.3265 +Parkki,60,14.3,15.5,17.4,6.5772,2.3142 +Parkki,90,16.3,17.7,19.8,7.4052,2.673 +Parkki,120,17.5,19,21.3,8.3922,2.9181 +Parkki,150,18.4,20,22.4,8.8928,3.2928 +Parkki,140,19,20.7,23.2,8.5376,3.2944 +Parkki,170,19,20.7,23.2,9.396,3.4104 +Parkki,145,19.8,21.5,24.1,9.7364,3.1571 +Parkki,200,21.2,23,25.8,10.3458,3.6636 +Parkki,273,23,25,28,11.088,4.144 +Parkki,300,24,26,29,11.368,4.234 +Perch,5.9,7.5,8.4,8.8,2.112,1.408 +Perch,32,12.5,13.7,14.7,3.528,1.9992 +Perch,40,13.8,15,16,3.824,2.432 +Perch,51.5,15,16.2,17.2,4.5924,2.6316 +Perch,70,15.7,17.4,18.5,4.588,2.9415 +Perch,100,16.2,18,19.2,5.2224,3.3216 +Perch,78,16.8,18.7,19.4,5.1992,3.1234 +Perch,80,17.2,19,20.2,5.6358,3.0502 +Perch,85,17.8,19.6,20.8,5.1376,3.0368 +Perch,85,18.2,20,21,5.082,2.772 +Perch,110,19,21,22.5,5.6925,3.555 +Perch,115,19,21,22.5,5.9175,3.3075 +Perch,125,19,21,22.5,5.6925,3.6675 +Perch,130,19.3,21.3,22.8,6.384,3.534 +Perch,120,20,22,23.5,6.11,3.4075 +Perch,120,20,22,23.5,5.64,3.525 +Perch,130,20,22,23.5,6.11,3.525 +Perch,135,20,22,23.5,5.875,3.525 +Perch,110,20,22,23.5,5.5225,3.995 +Perch,130,20.5,22.5,24,5.856,3.624 +Perch,150,20.5,22.5,24,6.792,3.624 +Perch,145,20.7,22.7,24.2,5.9532,3.63 +Perch,150,21,23,24.5,5.2185,3.626 +Perch,170,21.5,23.5,25,6.275,3.725 +Perch,225,22,24,25.5,7.293,3.723 +Perch,145,22,24,25.5,6.375,3.825 +Perch,188,22.6,24.6,26.2,6.7334,4.1658 +Perch,180,23,25,26.5,6.4395,3.6835 +Perch,197,23.5,25.6,27,6.561,4.239 +Perch,218,25,26.5,28,7.168,4.144 +Perch,300,25.2,27.3,28.7,8.323,5.1373 +Perch,260,25.4,27.5,28.9,7.1672,4.335 +Perch,265,25.4,27.5,28.9,7.0516,4.335 +Perch,250,25.4,27.5,28.9,7.2828,4.5662 +Perch,250,25.9,28,29.4,7.8204,4.2042 +Perch,300,26.9,28.7,30.1,7.5852,4.6354 +Perch,320,27.8,30,31.6,7.6156,4.7716 +Perch,514,30.5,32.8,34,10.03,6.018 +Perch,556,32,34.5,36.5,10.2565,6.3875 +Perch,840,32.5,35,37.3,11.4884,7.7957 +Perch,685,34,36.5,39,10.881,6.864 +Perch,700,34,36,38.3,10.6091,6.7408 +Perch,700,34.5,37,39.4,10.835,6.2646 +Perch,690,34.6,37,39.3,10.5717,6.3666 +Perch,900,36.5,39,41.4,11.1366,7.4934 +Perch,650,36.5,39,41.4,11.1366,6.003 +Perch,820,36.6,39,41.3,12.4313,7.3514 +Perch,850,36.9,40,42.3,11.9286,7.1064 +Perch,900,37,40,42.5,11.73,7.225 +Perch,1015,37,40,42.4,12.3808,7.4624 +Perch,820,37.1,40,42.5,11.135,6.63 +Perch,1100,39,42,44.6,12.8002,6.8684 +Perch,1000,39.8,43,45.2,11.9328,7.2772 +Perch,1100,40.1,43,45.5,12.5125,7.4165 +Perch,1000,40.2,43.5,46,12.604,8.142 +Perch,1000,41.1,44,46.6,12.4888,7.5958 +Pike,200,30,32.3,34.8,5.568,3.3756 +Pike,300,31.7,34,37.8,5.7078,4.158 +Pike,300,32.7,35,38.8,5.9364,4.3844 +Pike,300,34.8,37.3,39.8,6.2884,4.0198 +Pike,430,35.5,38,40.5,7.29,4.5765 +Pike,345,36,38.5,41,6.396,3.977 +Pike,456,40,42.5,45.5,7.28,4.3225 +Pike,510,40,42.5,45.5,6.825,4.459 +Pike,540,40.1,43,45.8,7.786,5.1296 +Pike,500,42,45,48,6.96,4.896 +Pike,567,43.2,46,48.7,7.792,4.87 +Pike,770,44.8,48,51.2,7.68,5.376 +Pike,950,48.3,51.7,55.1,8.9262,6.1712 +Pike,1250,52,56,59.7,10.6863,6.9849 +Pike,1600,56,60,64,9.6,6.144 +Pike,1550,56,60,64,9.6,6.144 +Pike,1650,59,63.4,68,10.812,7.48 +Smelt,6.7,9.3,9.8,10.8,1.7388,1.0476 +Smelt,7.5,10,10.5,11.6,1.972,1.16 +Smelt,7,10.1,10.6,11.6,1.7284,1.1484 +Smelt,9.7,10.4,11,12,2.196,1.38 +Smelt,9.8,10.7,11.2,12.4,2.0832,1.2772 +Smelt,8.7,10.8,11.3,12.6,1.9782,1.2852 +Smelt,10,11.3,11.8,13.1,2.2139,1.2838 +Smelt,9.9,11.3,11.8,13.1,2.2139,1.1659 +Smelt,9.8,11.4,12,13.2,2.2044,1.1484 +Smelt,12.2,11.5,12.2,13.4,2.0904,1.3936 +Smelt,13.4,11.7,12.4,13.5,2.43,1.269 +Smelt,12.2,12.1,13,13.8,2.277,1.2558 +Smelt,19.7,13.2,14.3,15.2,2.8728,2.0672 +Smelt,19.9,13.8,15,16.2,2.9322,1.8792 diff --git a/examples/data/Fruit360/apple/0_100.jpg b/examples/data/Fruit360/apple/0_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0dee8fae785e3d9b941f5eb3efeeea1b564d8be GIT binary patch literal 4773 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 ~Y5>U03AMBAwI zjIlS(zC6Xt@QH>N8~Eaz*w3*EDQP>o+Wi9E-Qz27n-m8bbVG(K!(=j+vIZLB9(&dU znTq{R&c4&abZr}|o9V5Mw`rIsTGOet_Hzc&2l$tYIY<$wNje$7^n*dQqdP2q0C(e9 z-9vWYOse&M4STLC3qgibGZ-as{aXv#Q9J=H!x8W43)O^TJ|HT=@oKWceR@l(%nRR| z^3AiDEY<7elq`_2F5A~jo?$WvufC$(2>@o6Cv@g-8ww}n7XA|QW4i+$bFpb&tC^Zy zp)C*%M#suMb5+E|JCwHS$*kH7_jM7+)BZ(I9ike%RX=|X&y!soiR| zsYaT4Z^nuQib&Zt1sUMHlLxuPz6(4L^&XsBTiTxc^mOz$+}hNr1-qIpRN6^xE>7Wo zwUUVh6tBUuvc?8==5a_VIQ5NEft5pA^NftldycFNu>D;tW7IZ|oG-w_8A}R01JOt8 z->BSFyZNo|9R4i~7Ku3)HT9}4byuGN|H=)MfP`>{T5cngl@?pozOl^p9177+Fvsoq z$cqUZ#q>ANf+By#CYW`NxmgLCn7w)ynpiRva5jF+($hTPslD=Fk{>FehlMFK=*A?b z_&kuqfD;Rqcx;jFq-7L5K|gX2wP>M|bH9zY4Y{MI?i@c^mY1@U9GG#sXO6T~-(pO0 z@Hp6JS1ffliZ}LoEh?ZmaI219_kK~9MCy__1yZra^=TE`$b)=t4-=(NKZG56RHK|m z#}iUK_X-!P<|u`;I657j3SA zo-SLbTyDKlw}?5=Nbt2lg`rl?KOcsAoWHE=o2u7h#Werr5h2C`XXi!k=&}qATdu{( zLnRN(Am@cB`?A;bH3Z=ME#lb~#U^{Tv9ghKYv((?(sv9g6WqM8zL(3}$X-RNO#4K8 z2*lXop_ME2T;ZYNYA);Zgq7V3YDOaTCT{wS1Fw<(Jy;DJfi|&VzcCECPpauw(ve90 z$FHXXBdGHEm@Fza?!cE=;^Dbt{>=qb)%anF z_W0+9+NRg?=&6AbnBg)gX_gvabY4yTgQlAF*fuyu9`DK>?K+p0^J^tAB+6 z8Y-Hru;;YF_WII_kcGv{+Ifho-l+6LrB?-oCM_IimTE5+#Ahtb6U6e_G03?pH&+3A z;mp8XYVFWLg{9me0#HmG2B>+gVXr`1H+0(HF-`6!vTIRXK`d28vcFA1)eo5Lvt}l$ zNJG_Sbqq3ZT&JBx*+V&dgT7g+u-?c; zDdD^sbCDM*bZp0XlFGIm(>DQGj(lOrrr#_be>8^M#q@MbM42@?%&Fm?mEwX=Mee1m zdTD~5mukj%%k3(~K3_BN zzA?oRqCtz;KZK0Xy>Fq-2H*a5cfCw%K@y$-#l52a76t=EF2A_AVfnpw9FuC&yAyCp-U5rg09q<*>EQXR`Q)^gahIxxOTDJ;bmLkR&GqwU_=;mo(BC z94}ECT}^y+pXK?p`&acz{?ozAi--s)4c@T;;Rx?pXbms2IJp}cMtAtE& zYFQ|w#+kRLxewua7D}Mnm8LW_x^n%z(NY_~7)X$z10r9u^XI=i5tp{17Wo=-=}^M- Fe*hU%`5^!R literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/101_100.jpg b/examples/data/Fruit360/apple/101_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..041dc8378b1e4b33538d818335a0a17cb982ed87 GIT binary patch literal 4755 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 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/104_100.jpg b/examples/data/Fruit360/apple/104_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12b16928d223c8df8ffbee277e0acc780230750d GIT binary patch literal 4756 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 D7rGGN literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/106_100.jpg b/examples/data/Fruit360/apple/106_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c650148971c8ac59e2cceb459fa6c314561af57 GIT binary patch literal 4757 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 X!(Qs{@N#y{$bB8Y+jKN%KAHRvQ>Yp5 literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/107_100.jpg b/examples/data/Fruit360/apple/107_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80cffdf1dba313128367c2d09312369acfba2e0e GIT binary patch literal 4787 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 GKK&m_x+R|g literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/108_100.jpg b/examples/data/Fruit360/apple/108_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a91e833d847d49964b27a97516dcede30dca2098 GIT binary patch literal 4813 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 Tx`FjZ5#@OF;y)#V&L;l@kzP1Y literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/109_100.jpg b/examples/data/Fruit360/apple/109_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbfda498c781774f61589a0590af10595123dabc GIT binary patch literal 4750 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 Q`J~BWss;RU6lwau0EVpk`2YX_ literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/10_100.jpg b/examples/data/Fruit360/apple/10_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..988971a245a24badaa3aa2282ed4e4a7332499ca GIT binary patch literal 4708 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 J;6VEHe*hsB7v2B> literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/110_100.jpg b/examples/data/Fruit360/apple/110_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f80718913318eccb1d662a3fecb3d64f662f151d GIT binary patch literal 4711 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 cqRqn|7n+M#N%5}w`aM>>wW#2!!l2dLEervLx| literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/111_100.jpg b/examples/data/Fruit360/apple/111_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..218e71a0011f74384d0f96d678488b7a09b6af53 GIT binary patch literal 4745 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 DHA^C` literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/113_100.jpg b/examples/data/Fruit360/apple/113_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0fa8d9742156aaf4735c413b30b8a9ac37f67b6 GIT binary patch literal 4740 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 Q@tfH~9cKLGaENdN!< literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/115_100.jpg b/examples/data/Fruit360/apple/115_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de47f01e7cdd3bf765e2e8bda6d4292aba81b23f GIT binary patch literal 4694 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 GW9(mkm;oFB literal 0 HcmV?d00001 diff --git a/examples/data/Fruit360/apple/116_100.jpg b/examples/data/Fruit360/apple/116_100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c94ade6405244ef58fc76ce97fd329b931b96a38 GIT binary patch literal 4710 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ÍUrqkzr_}i)-trS(CqK>D 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

$nMhfOD)PA)Wiac*%Hv?uV*>=XxFZ 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 z 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 G(_c9$Y&P?}9IN$93N$KhZnnY2=Nmyyt=Q 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

-=n3U@KlKOgHW?m3X_>wKIu&lxwa#GSXNNnZaF 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%0Ar5tFCvSACjNpSDteOr=D7GPwg=Nwh|Y3)+0PK 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

aX0a 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� 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 z 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