pyerualjetwork 5.21b3__py3-none-any.whl → 5.23__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.
- pyerualjetwork/__init__.py +1 -1
- pyerualjetwork/activation_functions_cuda.py +12 -5
- pyerualjetwork/ene_cpu.py +4 -4
- pyerualjetwork/ene_cuda.py +3 -3
- pyerualjetwork/neu_cpu.py +5 -5
- pyerualjetwork/neu_cuda.py +4 -4
- {pyerualjetwork-5.21b3.dist-info → pyerualjetwork-5.23.dist-info}/METADATA +1 -1
- {pyerualjetwork-5.21b3.dist-info → pyerualjetwork-5.23.dist-info}/RECORD +10 -10
- {pyerualjetwork-5.21b3.dist-info → pyerualjetwork-5.23.dist-info}/WHEEL +0 -0
- {pyerualjetwork-5.21b3.dist-info → pyerualjetwork-5.23.dist-info}/top_level.txt +0 -0
pyerualjetwork/__init__.py
CHANGED
@@ -42,7 +42,7 @@ PyerualJetwork document: https://github.com/HCB06/PyerualJetwork/blob/main/Welco
|
|
42
42
|
- Contact: tchasancan@gmail.com
|
43
43
|
"""
|
44
44
|
|
45
|
-
__version__ = "5.
|
45
|
+
__version__ = "5.23"
|
46
46
|
__update__ = """* Changes: https://github.com/HCB06/PyerualJetwork/blob/main/CHANGES
|
47
47
|
* PyerualJetwork Homepage: https://github.com/HCB06/PyerualJetwork/tree/main
|
48
48
|
* PyerualJetwork document: https://github.com/HCB06/PyerualJetwork/blob/main/Welcome_to_PyerualJetwork/PYERUALJETWORK_USER_MANUEL_AND_LEGAL_INFORMATION(EN).pdf
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import cupy as cp
|
2
|
+
import numpy as np
|
2
3
|
from scipy.special import expit, softmax
|
3
4
|
import warnings
|
4
5
|
|
@@ -198,10 +199,16 @@ def apply_activation(Input, activation_list):
|
|
198
199
|
'spiral': spiral_activation,
|
199
200
|
'circular': circular_activation
|
200
201
|
}
|
202
|
+
|
203
|
+
try:
|
204
|
+
|
205
|
+
valid_mask = cp.array([act in activation_functions for act in activation_list])
|
206
|
+
valid_activations = np.array(activation_list)[valid_mask.get()]
|
201
207
|
|
202
|
-
|
203
|
-
valid_activations = cp.array(activation_list)[valid_mask]
|
204
|
-
|
205
|
-
activation_outputs = cp.array([activation_functions[act](origin_input) for act in valid_activations])
|
208
|
+
activation_outputs = cp.array([activation_functions[act](origin_input) for act in valid_activations])
|
206
209
|
|
207
|
-
|
210
|
+
return cp.sum(activation_outputs, axis=0)
|
211
|
+
|
212
|
+
except Exception as e:
|
213
|
+
warnings.warn(f"Error in activation processing: {str(e)}", RuntimeWarning)
|
214
|
+
return Input
|
pyerualjetwork/ene_cpu.py
CHANGED
@@ -350,14 +350,14 @@ def evolver(weights,
|
|
350
350
|
|
351
351
|
good_weights = weights[slice_center:]
|
352
352
|
bad_weights = weights[:slice_center]
|
353
|
-
|
353
|
+
best_w = np.copy(good_weights[-1]) if is_mlp is False else copy.deepcopy(good_weights[-1])
|
354
354
|
|
355
355
|
good_activations = list(activations[slice_center:])
|
356
356
|
bad_activations = list(activations[:slice_center])
|
357
357
|
best_activations = good_activations[-1].copy() if isinstance(good_activations[-1], list) else good_activations[-1]
|
358
358
|
|
359
359
|
|
360
|
-
###
|
360
|
+
### ENE IS APPLIED ACCORDING TO THE SPECIFIED POLICY, STRATEGY, AND PROBABILITY CONFIGURATION:
|
361
361
|
|
362
362
|
bar_format = loading_bars()[0]
|
363
363
|
|
@@ -377,7 +377,7 @@ def evolver(weights,
|
|
377
377
|
for i in range(len(bad_weights)):
|
378
378
|
|
379
379
|
if policy == 'aggressive':
|
380
|
-
first_parent_W = np.copy(
|
380
|
+
first_parent_W = np.copy(best_w)
|
381
381
|
first_parent_act = best_activations
|
382
382
|
first_parent_fitness = best_fitness
|
383
383
|
|
@@ -489,7 +489,7 @@ def evolver(weights,
|
|
489
489
|
activations = child_act + mutated_act
|
490
490
|
|
491
491
|
if save_best_genome:
|
492
|
-
weights[0] =
|
492
|
+
weights[0] = best_w
|
493
493
|
activations[0] = best_activations
|
494
494
|
|
495
495
|
### INFO PRINTING CONSOLE
|
pyerualjetwork/ene_cuda.py
CHANGED
@@ -359,7 +359,7 @@ def evolver(weights,
|
|
359
359
|
|
360
360
|
good_weights = weights[slice_center:]
|
361
361
|
bad_weights = weights[:slice_center]
|
362
|
-
|
362
|
+
best_w = cp.copy(good_weights[-1])
|
363
363
|
|
364
364
|
good_activations = list(activations[slice_center:])
|
365
365
|
bad_activations = list(activations[:slice_center])
|
@@ -386,7 +386,7 @@ def evolver(weights,
|
|
386
386
|
for i in range(len(bad_weights)):
|
387
387
|
|
388
388
|
if policy == 'aggressive':
|
389
|
-
first_parent_W =
|
389
|
+
first_parent_W = best_w
|
390
390
|
first_parent_act = best_activations
|
391
391
|
first_parent_fitness = best_fitness
|
392
392
|
|
@@ -507,7 +507,7 @@ def evolver(weights,
|
|
507
507
|
activations = child_act + mutated_act
|
508
508
|
|
509
509
|
if save_best_genome:
|
510
|
-
weights[0] =
|
510
|
+
weights[0] = best_w
|
511
511
|
activations[0] = best_activations
|
512
512
|
|
513
513
|
### INFO PRINTING CONSOLE
|
pyerualjetwork/neu_cpu.py
CHANGED
@@ -340,17 +340,17 @@ def learn(x_train, y_train, optimizer, gen, pop_size, fit_start=True, batch_size
|
|
340
340
|
|
341
341
|
if fitness >= best_fitness:
|
342
342
|
|
343
|
-
best_fitness = fitness
|
344
|
-
best_acc = acc
|
345
|
-
best_loss = train_loss
|
343
|
+
best_fitness = copy.copy(fitness)
|
344
|
+
best_acc = copy.copy(acc)
|
345
|
+
best_loss = copy.copy(train_loss)
|
346
346
|
best_weight = np.copy(weight_pop[j]) if model_type == 'PLAN' else copy.deepcopy(weight_pop[j])
|
347
|
-
best_model = model
|
347
|
+
best_model = copy.deepcopy(model)
|
348
348
|
|
349
349
|
final_activations = act_pop[j].copy() if isinstance(act_pop[j], list) else act_pop[j]
|
350
350
|
if model_type == 'PLAN': final_activations = [final_activations[0]] if len(set(final_activations)) == 1 else final_activations # removing if all same
|
351
351
|
|
352
352
|
if batch_size == 1:
|
353
|
-
postfix_dict[f"{data} Accuracy"] = np.round(best_acc
|
353
|
+
postfix_dict[f"{data} Accuracy"] = np.round(best_acc)
|
354
354
|
postfix_dict[f"{data} Loss"] = np.round(train_loss, 4)
|
355
355
|
progress.set_postfix(postfix_dict)
|
356
356
|
|
pyerualjetwork/neu_cuda.py
CHANGED
@@ -351,11 +351,11 @@ def learn(x_train, y_train, optimizer, gen, pop_size, fit_start=True, batch_size
|
|
351
351
|
|
352
352
|
if fitness >= best_fitness:
|
353
353
|
|
354
|
-
best_fitness = fitness
|
355
|
-
best_acc = acc
|
356
|
-
best_loss = train_loss
|
354
|
+
best_fitness = copy.copy(fitness)
|
355
|
+
best_acc = copy.copy(acc)
|
356
|
+
best_loss = copy.copy(train_loss)
|
357
357
|
best_weight = cp.copy(weight_pop[j]) if model_type == 'PLAN' else copy.deepcopy(weight_pop[j])
|
358
|
-
best_model = model
|
358
|
+
best_model = copy.deepcopy(model)
|
359
359
|
|
360
360
|
final_activations = act_pop[j].copy() if isinstance(act_pop[j], list) else act_pop[j]
|
361
361
|
if model_type == 'PLAN': final_activations = [final_activations[0]] if len(set(final_activations)) == 1 else final_activations # removing if all same
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pyerualjetwork
|
3
|
-
Version: 5.
|
3
|
+
Version: 5.23
|
4
4
|
Summary: PyereualJetwork is a GPU-accelerated machine learning library in Python for professionals and researchers. It features PLAN, MLP, Deep Learning training, and ENE (Eugenic NeuroEvolution) for genetic optimization, applicable to genetic algorithms or Reinforcement Learning (RL). The library includes data pre-processing, visualizations, model saving/loading, prediction, evaluation, training, and detailed or simplified memory management.
|
5
5
|
Author: Hasan Can Beydili
|
6
6
|
Author-email: tchasancan@gmail.com
|
@@ -1,10 +1,10 @@
|
|
1
|
-
pyerualjetwork/__init__.py,sha256=
|
1
|
+
pyerualjetwork/__init__.py,sha256=qIF9HJ9AxMRQJGKHVldVEvqUGLLxXWsE9a5APx8bdFg,2733
|
2
2
|
pyerualjetwork/activation_functions_cpu.py,sha256=qP_Ipi2-c5tyJ7Jb9gWJZCj2AgeOIzLBdoEqQOUXD-s,5885
|
3
|
-
pyerualjetwork/activation_functions_cuda.py,sha256=
|
3
|
+
pyerualjetwork/activation_functions_cuda.py,sha256=7ZN54w4VP0MtFh0LjAUHsuPNgVOxrKeqEwa_zNbRp4g,5699
|
4
4
|
pyerualjetwork/data_operations_cpu.py,sha256=HemqiYfSdlQKTTYNzpCh_9lTtS3AimMI4DvqJBAGjGw,16186
|
5
5
|
pyerualjetwork/data_operations_cuda.py,sha256=5zgyJGPjQuHyx6IHNkRwMguYhm-GcI6Hal49WNvw-bM,18536
|
6
|
-
pyerualjetwork/ene_cpu.py,sha256=
|
7
|
-
pyerualjetwork/ene_cuda.py,sha256=
|
6
|
+
pyerualjetwork/ene_cpu.py,sha256=EI0GmfSNwfebQ11Qdc8KPD7-Gp7578uWSei5mzdf3pk,45148
|
7
|
+
pyerualjetwork/ene_cuda.py,sha256=5OvuIlEKnoXlv7AGkWbFLDO0EtN343ZHRpDWwC4KzwQ,45658
|
8
8
|
pyerualjetwork/fitness_functions.py,sha256=D9JVCr9DFid_xXgBD4uCKxdW2k10MVDE5HZRSOK4Igg,1237
|
9
9
|
pyerualjetwork/help.py,sha256=FcX8mxo1_mvoqONVXY0Kn7S09CDkhi0jwNmn8g9mYZc,804
|
10
10
|
pyerualjetwork/issue_solver.py,sha256=iY6hSsBxYI5l82RwnXQp2DrRUJyksk_7U9GUSnt2YfU,3117
|
@@ -15,12 +15,12 @@ pyerualjetwork/metrics_cpu.py,sha256=vbfMwS0ay2heMSa0GNo-ydLjQ8cfexbLwaREp4FKAtY
|
|
15
15
|
pyerualjetwork/metrics_cuda.py,sha256=PWyJyexeqlPKb09LAcF55JvhZVeXLCu3P_siYq5m2gg,5065
|
16
16
|
pyerualjetwork/model_operations_cpu.py,sha256=Y0uPkLVbdodP7lC-fOPdja3RWi2J9z2rwWIS2pxzotU,20523
|
17
17
|
pyerualjetwork/model_operations_cuda.py,sha256=B6vNYmqvrEJ3ZMGE1RWeJYn3V-JCsXhCHvS-aX4bWuU,21254
|
18
|
-
pyerualjetwork/neu_cpu.py,sha256=
|
19
|
-
pyerualjetwork/neu_cuda.py,sha256=
|
18
|
+
pyerualjetwork/neu_cpu.py,sha256=X-AyTRSqBi29c3zxXO0nI2QRVZy8_UGR_nLkW06RCzE,31242
|
19
|
+
pyerualjetwork/neu_cuda.py,sha256=wrgFSCaQeF6b3Bu7teLjCaYVNT9rdU4mVk3tYSKuG54,32402
|
20
20
|
pyerualjetwork/ui.py,sha256=JBTFYz5R24XwNKhA3GSW-oYAoiIBxAE3kFGXkvm5gqw,656
|
21
21
|
pyerualjetwork/visualizations_cpu.py,sha256=StyD1Hl1Gt55EMqR6tO3yVJZdPyGkOgCnQ75Zn8K6J8,28252
|
22
22
|
pyerualjetwork/visualizations_cuda.py,sha256=7lYrkOdrjwQGB3T4k_vI8UDxsm_TRjzaSSg9GhlNczs,28667
|
23
|
-
pyerualjetwork-5.
|
24
|
-
pyerualjetwork-5.
|
25
|
-
pyerualjetwork-5.
|
26
|
-
pyerualjetwork-5.
|
23
|
+
pyerualjetwork-5.23.dist-info/METADATA,sha256=ER2rHvFUdwwB8SUtRtV4EaimhnrlHrA1G_6erLB17Rg,8133
|
24
|
+
pyerualjetwork-5.23.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
25
|
+
pyerualjetwork-5.23.dist-info/top_level.txt,sha256=BRyt62U_r3ZmJpj-wXNOoA345Bzamrj6RbaWsyW4tRg,15
|
26
|
+
pyerualjetwork-5.23.dist-info/RECORD,,
|
File without changes
|
File without changes
|