Is the range of weights in the optimized neural network in the genetic algorithm between 9 and -9 correct?
The range of the weights exceeds the initial range (-1 to 1) because of the mutation. You can control the mutation in PyGAD using these 2 simple ways:

Set the mutation_by_replacement parameter to True. In this case, no gene will exceed the -1 to 1 range.
Set  init_range_low=-0.5  and  init_range_high=0.5 but also set the 2 parameters random_mutation_min_val and  random_mutation_max_val to small values. For example, random_mutation_min_val=-0.2 and  random_mutation_max_val=0.2. This option just tries to lower down the values created out of mutation. But there is possibility that the values get outside the -1 to 1 range.
In fact, I use a neural network consisting of four layers of input and two hidden one for exit and I had 17 features to enter in order to classify or predict something, but the range of weights in the network should be between 1 and -1 and I used the pygad library but when I print the solutions it gives me the range  Between 9 and -9, I used the activation function ReLu for the two hidden layers and sigmoid strong text for the exit layer. Please help