pyerualjetwork 4.3.8.dev7__py3-none-any.whl → 4.3.8.dev8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- __version__ = "4.3.8dev7"
1
+ __version__ = "4.3.8dev8"
2
2
  __update__ = "* Changes: https://github.com/HCB06/PyerualJetwork/blob/main/CHANGES\n* PyerualJetwork Homepage: https://github.com/HCB06/PyerualJetwork/tree/main\n* PyerualJetwork document: https://github.com/HCB06/PyerualJetwork/blob/main/Welcome_to_PyerualJetwork/PYERUALJETWORK_USER_MANUEL_AND_LEGAL_INFORMATION(EN).pdf\n* YouTube tutorials: https://www.youtube.com/@HasanCanBeydili"
3
3
 
4
4
  def print_version(__version__):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyerualjetwork
3
- Version: 4.3.8.dev7
3
+ Version: 4.3.8.dev8
4
4
  Summary: PyerualJetwork is a machine learning library supported with GPU(CUDA) acceleration written in Python for professionals and researchers including with PLAN algorithm, PLANEAT algorithm (genetic optimization). Also includes data pre-process and memory manegament
5
5
  Author: Hasan Can Beydili
6
6
  Author-email: tchasancan@gmail.com
@@ -1,4 +1,4 @@
1
- pyerualjetwork/__init__.py,sha256=HowxR2llE7gO7c6BoUT1yyLWgSoisDOa2ylmIi8igVs,643
1
+ pyerualjetwork/__init__.py,sha256=zfc7DhJ830NhikbydkRIIf0Kbji_veR8aEskZeY6XEo,643
2
2
  pyerualjetwork/activation_functions.py,sha256=AR91fQV2W2rc-Qb4Yp7b8ucYpGjwyQUewO-M-lyEMs8,7729
3
3
  pyerualjetwork/activation_functions_cuda.py,sha256=ztIw6rMR4t1289_TPIGYwE6qarl_YbSOGj5Ep3rUMqs,11803
4
4
  pyerualjetwork/data_operations.py,sha256=Flteouu6rfSo2uHMqBHuzO02dXmbNa-I5qWmUpGTZ5Y,14760
@@ -18,7 +18,7 @@ pyerualjetwork/planeat_cuda.py,sha256=QNHCQLkR0MNFqyN2iHAtC7cbf8qZiD3p_54YH3lnMF
18
18
  pyerualjetwork/ui.py,sha256=wu2BhU1k-w3Kcho5Jtq4SEKe68ftaUeRGneUOSCVDjU,575
19
19
  pyerualjetwork/visualizations.py,sha256=VL00sX2DZz83F__PyEJH9s1LizuXpOBzWjnoSjMJIJ0,28770
20
20
  pyerualjetwork/visualizations_cuda.py,sha256=KbMhfsLlxujy_i3QrwCf734Q-k6d7Zn_7CEbm3gzK9w,29186
21
- pyerualjetwork_afterburner/__init__.py,sha256=Mag29KN2NawRveT49RB0KDofeL86cS0BZFK9qRatYiA,655
21
+ pyerualjetwork_afterburner/__init__.py,sha256=rurrD8ySN0khMCA992NnKKgZYs01mFhyZprHSE-7ROw,655
22
22
  pyerualjetwork_afterburner/activation_functions.py,sha256=bKf00lsuuLJNO-4vVp4OqBi4zJ-qZ8L3v-vl52notkY,7721
23
23
  pyerualjetwork_afterburner/activation_functions_cuda.py,sha256=5y1Ti3GDfDteQDCUmODwe7tAyDAUlDTKmIikChQ8d6g,7772
24
24
  pyerualjetwork_afterburner/data_operations.py,sha256=Flteouu6rfSo2uHMqBHuzO02dXmbNa-I5qWmUpGTZ5Y,14760
@@ -34,11 +34,11 @@ pyerualjetwork_afterburner/model_operations_cuda.py,sha256=NT01BK5nrDYE7H1x3KnSI
34
34
  pyerualjetwork_afterburner/plan.py,sha256=EOXngujG7DQRf3cooFigKB7heQsEoK96JtrcKivT_pE,22449
35
35
  pyerualjetwork_afterburner/plan_cuda.py,sha256=fg5YunEuBE7sK6q9paP_yAGONr9x0e19oF0J0DucejM,23380
36
36
  pyerualjetwork_afterburner/planeat.py,sha256=Lq5R0aMS4UIdZdbUKsKDv5g0WLwYryomR3IQYb8vAa4,37573
37
- pyerualjetwork_afterburner/planeat_cuda.py,sha256=BCVF-SIj1tynmm-g2D20qCAwujU7IfvPxLO24c_LsTI,40028
37
+ pyerualjetwork_afterburner/planeat_cuda.py,sha256=IS1d36f7d3aRcGH_7ne3gEnG67MAOyYFs2jnHBT-coI,39672
38
38
  pyerualjetwork_afterburner/ui.py,sha256=wu2BhU1k-w3Kcho5Jtq4SEKe68ftaUeRGneUOSCVDjU,575
39
39
  pyerualjetwork_afterburner/visualizations.py,sha256=1SKMZaJ80OD2qHUyMxW1IOv8zwmxzMPxclfbeq1Xr4g,28772
40
40
  pyerualjetwork_afterburner/visualizations_cuda.py,sha256=KbMhfsLlxujy_i3QrwCf734Q-k6d7Zn_7CEbm3gzK9w,29186
41
- pyerualjetwork-4.3.8.dev7.dist-info/METADATA,sha256=6gkuwOb1LWVNKmr-a-cXnkP6vOpouafpgZm6fzYpyyI,8384
42
- pyerualjetwork-4.3.8.dev7.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
43
- pyerualjetwork-4.3.8.dev7.dist-info/top_level.txt,sha256=uK64ge08QQoPuXM3aiRVPgiQQtl8Fxm2-HieIut5Lwo,42
44
- pyerualjetwork-4.3.8.dev7.dist-info/RECORD,,
41
+ pyerualjetwork-4.3.8.dev8.dist-info/METADATA,sha256=GefOazSptWtgfbBRqQfm8S1MwAGh_kuaHu0MydzllUE,8384
42
+ pyerualjetwork-4.3.8.dev8.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
43
+ pyerualjetwork-4.3.8.dev8.dist-info/top_level.txt,sha256=uK64ge08QQoPuXM3aiRVPgiQQtl8Fxm2-HieIut5Lwo,42
44
+ pyerualjetwork-4.3.8.dev8.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
- __version__ = "4.3.8dev7-afterburner"
1
+ __version__ = "4.3.8dev8-afterburner"
2
2
  __update__ = "* Changes: https://github.com/HCB06/PyerualJetwork/blob/main/CHANGES\n* PyerualJetwork Homepage: https://github.com/HCB06/PyerualJetwork/tree/main\n* PyerualJetwork document: https://github.com/HCB06/PyerualJetwork/blob/main/Welcome_to_PyerualJetwork/PYERUALJETWORK_USER_MANUEL_AND_LEGAL_INFORMATION(EN).pdf\n* YouTube tutorials: https://www.youtube.com/@HasanCanBeydili"
3
3
 
4
4
  def print_version(__version__):
@@ -322,7 +322,14 @@ def evolver(weights,
322
322
  weight_mutate_threshold=weight_mutate_threshold,
323
323
  activation_mutate_threshold=activation_mutate_threshold)
324
324
 
325
- pool.map(process_func, range(len(bad_weights)))
325
+ with mp.Pool() as pool:
326
+ results = pool.map(process_func, range(len(bad_weights)))
327
+
328
+ for i, new_child_W, new_child_act, new_mutated_W, new_mutated_act in results:
329
+ child_W[i] = new_child_W
330
+ child_act[i] = new_child_act
331
+ mutated_W[i] = new_mutated_W
332
+ mutated_act[i] = new_mutated_act
326
333
 
327
334
  child_W[0] = best_weight
328
335
  child_act[0] = best_activations
@@ -367,39 +374,47 @@ def evolver(weights,
367
374
  return weights, activation_potentiations
368
375
 
369
376
 
370
- def process_single(i, policy, best_weight, best_activations, good_weights, good_activations,
371
- bad_weights, bad_activations, best_fitness, normalized_fitness, child_W, child_act,
372
- mutated_W, mutated_act, cross_over_mode,
373
- activation_selection_add_prob, activation_selection_change_prob,
374
- activation_selection_threshold, bad_genomes_selection_prob, fitness_bias,
375
- epsilon, bad_genomes_mutation_prob, activation_mutate_prob,
376
- activation_mutate_add_prob, activation_mutate_delete_prob,
377
- activation_mutate_change_prob, weight_mutate_prob, weight_mutate_threshold,
378
- activation_mutate_threshold):
377
+ def process_single(i, policy, best_weight, best_activations,
378
+ good_weights, good_activations,
379
+ bad_weights, bad_activations,
380
+ best_fitness, normalized_fitness,
381
+ cross_over_mode,
382
+ activation_selection_add_prob, activation_selection_change_prob,
383
+ activation_selection_threshold,
384
+ bad_genomes_selection_prob, fitness_bias,
385
+ epsilon, bad_genomes_mutation_prob,
386
+ activation_mutate_prob, activation_mutate_add_prob,
387
+ activation_mutate_delete_prob, activation_mutate_change_prob,
388
+ weight_mutate_prob, weight_mutate_threshold,
389
+ activation_mutate_threshold):
390
+
379
391
  if policy == 'aggressive':
380
392
  first_parent_W = best_weight
381
393
  first_parent_act = best_activations
382
394
  elif policy == 'explorer':
383
395
  first_parent_W = good_weights[i]
384
396
  first_parent_act = good_activations[i]
385
- else:
397
+ else:
386
398
  raise ValueError("policy parameter must be: 'aggressive' or 'explorer'")
387
399
 
388
- second_parent_W, second_parent_act, s_i = second_parent_selection(good_weights, bad_weights, good_activations, bad_activations, bad_genomes_selection_prob)
389
- child_W[i], child_act[i] = cross_over(first_parent_W,
390
- second_parent_W,
391
- first_parent_act,
392
- second_parent_act,
393
- cross_over_mode=cross_over_mode,
394
- activation_selection_add_prob=activation_selection_add_prob,
395
- activation_selection_change_prob=activation_selection_change_prob,
396
- activation_selection_threshold=activation_selection_threshold,
397
- bad_genomes_selection_prob=bad_genomes_selection_prob,
398
- first_parent_fitness=best_fitness,
399
- fitness_bias=fitness_bias,
400
- second_parent_fitness=normalized_fitness[s_i],
401
- epsilon=epsilon
402
- )
400
+ second_parent_W, second_parent_act, s_i = second_parent_selection(
401
+ good_weights, bad_weights, good_activations, bad_activations, bad_genomes_selection_prob)
402
+
403
+ new_child_W, new_child_act = cross_over(
404
+ first_parent_W,
405
+ second_parent_W,
406
+ first_parent_act,
407
+ second_parent_act,
408
+ cross_over_mode=cross_over_mode,
409
+ activation_selection_add_prob=activation_selection_add_prob,
410
+ activation_selection_change_prob=activation_selection_change_prob,
411
+ activation_selection_threshold=activation_selection_threshold,
412
+ bad_genomes_selection_prob=bad_genomes_selection_prob,
413
+ first_parent_fitness=best_fitness,
414
+ fitness_bias=fitness_bias,
415
+ second_parent_fitness=normalized_fitness[s_i],
416
+ epsilon=epsilon
417
+ )
403
418
 
404
419
  mutation_prob = random.uniform(0, 1)
405
420
  if mutation_prob > bad_genomes_mutation_prob:
@@ -411,18 +426,22 @@ def process_single(i, policy, best_weight, best_activations, good_weights, good_
411
426
  genome_act = bad_activations[i]
412
427
  fitness_index = i
413
428
 
414
- mutated_W[i], mutated_act[i] = mutation(genome_W,
415
- genome_act,
416
- activation_mutate_prob=activation_mutate_prob,
417
- activation_add_prob=activation_mutate_add_prob,
418
- activation_delete_prob=activation_mutate_delete_prob,
419
- activation_change_prob=activation_mutate_change_prob,
420
- weight_mutate_prob=weight_mutate_prob,
421
- weight_mutate_threshold=weight_mutate_threshold,
422
- genome_fitness=normalized_fitness[fitness_index],
423
- activation_mutate_threshold=activation_mutate_threshold,
424
- epsilon=epsilon
425
- )
429
+ new_mutated_W, new_mutated_act = mutation(
430
+ genome_W,
431
+ genome_act,
432
+ activation_mutate_prob=activation_mutate_prob,
433
+ activation_add_prob=activation_mutate_add_prob,
434
+ activation_delete_prob=activation_mutate_delete_prob,
435
+ activation_change_prob=activation_mutate_change_prob,
436
+ weight_mutate_prob=weight_mutate_prob,
437
+ weight_mutate_threshold=weight_mutate_threshold,
438
+ genome_fitness=normalized_fitness[fitness_index],
439
+ activation_mutate_threshold=activation_mutate_threshold,
440
+ epsilon=epsilon
441
+ )
442
+
443
+ return (i, new_child_W, new_child_act, new_mutated_W, new_mutated_act)
444
+
426
445
 
427
446
  def evaluate(x_population, weights, activation_potentiations):
428
447
  """