pyerualjetwork 4.0.2__tar.gz → 4.0.3b0__tar.gz

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.
Files changed (27) hide show
  1. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/PKG-INFO +10 -5
  2. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/README.md +9 -4
  3. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/__init__.py +2 -12
  4. pyerualjetwork-4.0.3b0/pyerualjetwork/activation_functions_cuda.py +367 -0
  5. pyerualjetwork-4.0.3b0/pyerualjetwork/data_operations_cuda.py +426 -0
  6. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/help.py +1 -1
  7. pyerualjetwork-4.0.3b0/pyerualjetwork/loss_functions_cuda.py +21 -0
  8. pyerualjetwork-4.0.3b0/pyerualjetwork/metrics_cuda.py +190 -0
  9. pyerualjetwork-4.0.3b0/pyerualjetwork/model_operations_cuda.py +405 -0
  10. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/plan.py +59 -76
  11. pyerualjetwork-4.0.3b0/pyerualjetwork/plan_cuda.py +618 -0
  12. pyerualjetwork-4.0.3b0/pyerualjetwork/planeat_cuda.py +727 -0
  13. pyerualjetwork-4.0.3b0/pyerualjetwork/visualizations_cuda.py +799 -0
  14. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork.egg-info/PKG-INFO +10 -5
  15. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork.egg-info/SOURCES.txt +8 -0
  16. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/setup.py +3 -3
  17. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/activation_functions.py +0 -0
  18. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/data_operations.py +0 -0
  19. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/loss_functions.py +0 -0
  20. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/metrics.py +0 -0
  21. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/model_operations.py +0 -0
  22. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/planeat.py +0 -0
  23. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/ui.py +0 -0
  24. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork/visualizations.py +0 -0
  25. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork.egg-info/dependency_links.txt +0 -0
  26. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/pyerualjetwork.egg-info/top_level.txt +0 -0
  27. {pyerualjetwork-4.0.2 → pyerualjetwork-4.0.3b0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyerualjetwork
3
- Version: 4.0.2
3
+ Version: 4.0.3b0
4
4
  Summary: PyerualJetwork is a machine learning library written in Python for professionals, incorporating advanced, unique, new, and modern techniques.
5
5
  Author: Hasan Can Beydili
6
6
  Author-email: tchasancan@gmail.com
@@ -9,8 +9,7 @@ Description-Content-Type: text/markdown
9
9
 
10
10
  # PyerualJetwork [![Socket Badge](https://socket.dev/api/badge/pypi/package/anaplan/2.5.0?artifact_id=tar-gz)](https://socket.dev/pypi/package/anaplan/overview/2.5.0/tar-gz) [![CodeFactor](https://www.codefactor.io/repository/github/hcb06/anaplan/badge)](https://www.codefactor.io/repository/github/hcb06/anaplan) [![PyPI Downloads](https://static.pepy.tech/badge/anaplan)](https://pepy.tech/projects/anaplan) + [![PyPI Downloads](https://static.pepy.tech/badge/pyerualjetwork)](https://pepy.tech/projects/pyerualjetwork) [![PyPI Downloads](https://static.pepy.tech/badge/anaplan/month)](https://pepy.tech/projects/anaplan) [![PyPI Downloads](https://static.pepy.tech/badge/anaplan/week)](https://pepy.tech/projects/anaplan) [![PyPI version](https://img.shields.io/pypi/v/pyerualjetwork.svg)](https://pypi.org/project/pyerualjetwork/)
11
11
 
12
- Note: This library will support the name 'anaplan' until January 10, 2025. However, starting from January 10, 2025, it will begin supporting the name 'pyerualjetwork.' Instead of using pip install anaplan, you will need to use 'pip install pyerualjetwork' and then 'from pyerualjetwork import anaplan_module'. The name 'anaplan' will no longer be in use.
13
- REASON: https://github.com/HCB06/Anaplan/blob/main/CHANGES
12
+ Note: anaplan old name of pyerualjetwork
14
13
 
15
14
  https://libraries.io/pypi/pyerualjetwork
16
15
 
@@ -22,6 +21,11 @@ https://libraries.io/pypi/pyerualjetwork
22
21
  from pyerualjetwork import data_operations
23
22
  from pyerualjetwork import model_operations
24
23
 
24
+ from pyerualjetwork import plan_cuda
25
+ from pyerualjetwork import planeat_cuda
26
+ from pyerualjetwork import data_operations_cuda
27
+ from pyerualjetwork import model_operations_cuda
28
+
25
29
  Optimized for Visual Studio Code
26
30
 
27
31
  requires=[
@@ -33,11 +37,12 @@ https://libraries.io/pypi/pyerualjetwork
33
37
  'networkx==3.3',
34
38
  'numpy==1.26.4',
35
39
  'matplotlib==3.9.0',
36
- 'colorama==0.4.6'
40
+ 'colorama==0.4.6',
41
+ 'cupy-cuda12x'
37
42
  ]
38
43
 
39
44
  matplotlib, seaborn, networkx (optional).
40
- PyerualJetwork checks and install all dependencies (with optional ones) for every runing.
45
+ PyerualJetwork checks and install all dependencies (with optional ones but except cupy) for every runing.
41
46
  If your version is higher or lower, PyerualJetwork automaticly delete other versions and installs this versions.
42
47
 
43
48
  ##############################
@@ -1,7 +1,6 @@
1
1
  # PyerualJetwork [![Socket Badge](https://socket.dev/api/badge/pypi/package/anaplan/2.5.0?artifact_id=tar-gz)](https://socket.dev/pypi/package/anaplan/overview/2.5.0/tar-gz) [![CodeFactor](https://www.codefactor.io/repository/github/hcb06/anaplan/badge)](https://www.codefactor.io/repository/github/hcb06/anaplan) [![PyPI Downloads](https://static.pepy.tech/badge/anaplan)](https://pepy.tech/projects/anaplan) + [![PyPI Downloads](https://static.pepy.tech/badge/pyerualjetwork)](https://pepy.tech/projects/pyerualjetwork) [![PyPI Downloads](https://static.pepy.tech/badge/anaplan/month)](https://pepy.tech/projects/anaplan) [![PyPI Downloads](https://static.pepy.tech/badge/anaplan/week)](https://pepy.tech/projects/anaplan) [![PyPI version](https://img.shields.io/pypi/v/pyerualjetwork.svg)](https://pypi.org/project/pyerualjetwork/)
2
2
 
3
- Note: This library will support the name 'anaplan' until January 10, 2025. However, starting from January 10, 2025, it will begin supporting the name 'pyerualjetwork.' Instead of using pip install anaplan, you will need to use 'pip install pyerualjetwork' and then 'from pyerualjetwork import anaplan_module'. The name 'anaplan' will no longer be in use.
4
- REASON: https://github.com/HCB06/Anaplan/blob/main/CHANGES
3
+ Note: anaplan old name of pyerualjetwork
5
4
 
6
5
  https://libraries.io/pypi/pyerualjetwork
7
6
 
@@ -13,6 +12,11 @@ https://libraries.io/pypi/pyerualjetwork
13
12
  from pyerualjetwork import data_operations
14
13
  from pyerualjetwork import model_operations
15
14
 
15
+ from pyerualjetwork import plan_cuda
16
+ from pyerualjetwork import planeat_cuda
17
+ from pyerualjetwork import data_operations_cuda
18
+ from pyerualjetwork import model_operations_cuda
19
+
16
20
  Optimized for Visual Studio Code
17
21
 
18
22
  requires=[
@@ -24,11 +28,12 @@ https://libraries.io/pypi/pyerualjetwork
24
28
  'networkx==3.3',
25
29
  'numpy==1.26.4',
26
30
  'matplotlib==3.9.0',
27
- 'colorama==0.4.6'
31
+ 'colorama==0.4.6',
32
+ 'cupy-cuda12x'
28
33
  ]
29
34
 
30
35
  matplotlib, seaborn, networkx (optional).
31
- PyerualJetwork checks and install all dependencies (with optional ones) for every runing.
36
+ PyerualJetwork checks and install all dependencies (with optional ones but except cupy) for every runing.
32
37
  If your version is higher or lower, PyerualJetwork automaticly delete other versions and installs this versions.
33
38
 
34
39
  ##############################
@@ -46,18 +46,8 @@ for package_name in package_names:
46
46
 
47
47
  print(f"PyerualJetwork is ready to use with {err} errors")
48
48
 
49
- target_date = datetime(2025, 1, 10, 0, 0, 0)
50
-
51
- now = datetime.now()
52
-
53
- remaining_time = target_date - now
54
-
55
- days, seconds = divmod(remaining_time.total_seconds(), 86400)
56
- hours, seconds = divmod(seconds, 3600)
57
- minutes, seconds = divmod(seconds, 60)
58
-
59
- __version__ = "4.0.2"
60
- __update__ = f"\033[33m --- IMPORTANT NOTE! --- \n 'anaplan' name changed to 'pyerualjetwork'. Full 'pyerualjetwork' support starting January 10, 2025. TIME REMAINING TO END OF SUPPORT ANAPLAN: {int(days)} days, {int(hours):02} hours, {int(minutes):02} minutes, {int(seconds):02} seconds\033[0m\n* Changes: https://github.com/HCB06/Anaplan/blob/main/CHANGES\n* PyerualJetwork document: https://github.com/HCB06/Anaplan/blob/main/PyerualJetwork/PYERUALJETWORK_USER_MANUEL_AND_LEGAL_INFORMATION(EN).pdf.\n* YouTube tutorials: https://www.youtube.com/@HasanCanBeydili"
49
+ __version__ = "4.0.3b0"
50
+ __update__ = "* Note: CUDA modules need cupy. Enter this command in your terminal: 'pip install cupy-cuda12x' or your cuda version.\n* Changes: https://github.com/HCB06/PyerualJetwork/blob/main/CHANGES\n* PyerualJetwork document: https://github.com/HCB06/Anaplan/blob/main/Welcome_to_PyerualJetwork/PYERUALJETWORK_USER_MANUEL_AND_LEGAL_INFORMATION(EN).pdf\n* YouTube tutorials: https://www.youtube.com/@HasanCanBeydili"
61
51
 
62
52
  def print_version(__version__):
63
53
  print(f"PyerualJetwork Version {__version__}" + '\n')
@@ -0,0 +1,367 @@
1
+ import cupy as cp
2
+ from scipy.special import expit, softmax
3
+
4
+ # ACTIVATION FUNCTIONS ----
5
+
6
+ def all_activations():
7
+
8
+ activations_list = ['linear', 'sigmoid', 'relu', 'tanh', 'circular', 'spiral', 'swish', 'sin_plus', 'mod_circular', 'tanh_circular', 'leaky_relu', 'softplus', 'elu', 'gelu', 'selu', 'sinakt', 'p_squared', 'sglu', 'dlrelu', 'exsig', 'acos', 'gla', 'srelu', 'qelu', 'isra', 'waveakt', 'arctan', 'bent_identity', 'sech', 'softsign', 'pwl', 'cubic', 'gaussian', 'sine', 'tanh_square', 'mod_sigmoid', 'quartic', 'square_quartic', 'cubic_quadratic', 'exp_cubic', 'sine_square', 'logarithmic', 'scaled_cubic', 'sine_offset']
9
+
10
+ return activations_list
11
+
12
+ def spiral_activation(x):
13
+
14
+ r = cp.sqrt(cp.sum(x**2))
15
+
16
+ theta = cp.arctan2(x[1:], x[:-1])
17
+
18
+ spiral_x = r * cp.cos(theta + r)
19
+ spiral_y = r * cp.sin(theta + r)
20
+
21
+
22
+ spiral_output = cp.concatenate(([spiral_x[0]], spiral_y))
23
+
24
+ return spiral_output
25
+
26
+
27
+ def Softmax(
28
+ x # num: Input data to be transformed using softmax function.
29
+ ):
30
+ """
31
+ Applies the softmax function to the input data.
32
+
33
+ Args:
34
+ (num): Input data to be transformed using softmax function.
35
+
36
+ Returns:
37
+ (num): Transformed data after applying softmax function.
38
+ """
39
+
40
+ return cp.array(softmax(x.get()))
41
+
42
+
43
+ def Sigmoid(
44
+ x # num: Input data to be transformed using sigmoid function.
45
+ ):
46
+ """
47
+ Applies the sigmoid function to the input data.
48
+
49
+ Args:
50
+ (num): Input data to be transformed using sigmoid function.
51
+
52
+ Returns:
53
+ (num): Transformed data after applying sigmoid function.
54
+ """
55
+ return expit(x)
56
+
57
+
58
+ def Relu(
59
+ x # num: Input data to be transformed using ReLU function.
60
+ ):
61
+ """
62
+ Applies the Rectified Linear Unit (ReLU) function to the input data.
63
+
64
+ Args:
65
+ (num): Input data to be transformed using ReLU function.
66
+
67
+ Returns:
68
+ (num): Transformed data after applying ReLU function.
69
+ """
70
+
71
+ return cp.maximum(0, x)
72
+
73
+
74
+ def tanh(x):
75
+ return cp.tanh(x)
76
+
77
+ def swish(x):
78
+ return x * (1 / (1 + cp.exp(-x)))
79
+
80
+ def sin_plus(x):
81
+ return (cp.sin(x) + 1) / 2
82
+
83
+ def modular_circular_activation(x, period=2*cp.pi):
84
+ return cp.mod(x, period) / period
85
+
86
+ def tanh_circular_activation(x):
87
+ return (cp.tanh(x) + 1) / 2
88
+
89
+ def leaky_relu(x, alpha=0.01):
90
+ return cp.where(x > 0, x, alpha * x)
91
+
92
+ def softplus(x):
93
+ return cp.log(1 + cp.exp(x))
94
+
95
+ def elu(x, alpha=1.0):
96
+ return cp.where(x > 0, x, alpha * (cp.exp(x) - 1))
97
+
98
+ def gelu(x):
99
+ return 0.5 * x * (1 + cp.tanh(cp.sqrt(2 / cp.pi) * (x + 0.044715 * cp.power(x, 3))))
100
+
101
+ def selu(x, lambda_=1.0507, alpha=1.6733):
102
+ return lambda_ * cp.where(x > 0, x, alpha * (cp.exp(x) - 1))
103
+
104
+ def sinakt(x):
105
+ return cp.sin(x) + cp.cos(x)
106
+
107
+ def p_squared(x, alpha=1.0, beta=0.0):
108
+ return alpha * x**2 + beta * x
109
+
110
+ def sglu(x, alpha=1.0):
111
+ return cp.array(softmax(alpha * x.get())) * x
112
+
113
+ # 4. Double Leaky ReLU (DLReLU)
114
+ def dlrelu(x):
115
+ return cp.maximum(0.01 * x, x) + cp.minimum(0.01 * x, 0.1 * x)
116
+
117
+ # 5. Exponential Sigmoid (ExSig)
118
+ def exsig(x):
119
+ return 1 / (1 + cp.exp(-x**2))
120
+
121
+ # 6. Adaptive Cosine Activation (ACos)
122
+ def acos(x, alpha=1.0, beta=0.0):
123
+ return cp.cos(alpha * x + beta)
124
+
125
+ # 7. Gaussian-like Activation (GLA)
126
+ def gla(x, alpha=1.0, mu=0.0):
127
+ return cp.exp(-alpha * (x - mu)**2)
128
+
129
+ # 8. Swish ReLU (SReLU)
130
+ def srelu(x):
131
+ return x * (1 / (1 + cp.exp(-x))) + cp.maximum(0, x)
132
+
133
+ # 9. Quadratic Exponential Linear Unit (QELU)
134
+ def qelu(x):
135
+ return x**2 * cp.exp(x) - 1
136
+
137
+ # 10. Inverse Square Root Activation (ISRA)
138
+ def isra(x):
139
+ return x / cp.sqrt(cp.abs(x) + 1)
140
+
141
+ def waveakt(x, alpha=1.0, beta=2.0, gamma=3.0):
142
+ return cp.sin(alpha * x) * cp.cos(beta * x) * cp.sin(gamma * x)
143
+
144
+ def arctan(x):
145
+ return cp.arctan(x)
146
+
147
+ def bent_identity(x):
148
+ return (cp.sqrt(x**2 + 1) - 1) / 2 + x
149
+
150
+ def circular_activation(x, scale=2.0, frequency=1.0, shift=0.0):
151
+
152
+ n_features = x.shape[0]
153
+
154
+ circular_output = cp.zeros_like(x)
155
+
156
+ for i in range(n_features):
157
+
158
+ r = cp.sqrt(cp.sum(x**2))
159
+ theta = 2 * cp.pi * (i / n_features) + shift
160
+
161
+ circular_x = r * cp.cos(theta + frequency * r) * scale
162
+ circular_y = r * cp.sin(theta + frequency * r) * scale
163
+
164
+ if i % 2 == 0:
165
+ circular_output[i] = circular_x
166
+ else:
167
+ circular_output[i] = circular_y
168
+
169
+ return circular_output
170
+
171
+ def sech(x):
172
+ return 2 / (cp.exp(x) + cp.exp(-x))
173
+
174
+ def softsign(x):
175
+ return x / (1 + cp.abs(x))
176
+
177
+ def pwl(x, alpha=0.5, beta=1.5):
178
+ return cp.where(x <= 0, alpha * x, beta * x)
179
+
180
+ def cubic(x):
181
+ return x**3
182
+
183
+ def gaussian(x, alpha=1.0, mu=0.0):
184
+ return cp.exp(-alpha * (x - mu)**2)
185
+
186
+ def sine(x, alpha=1.0):
187
+ return cp.sin(alpha * x)
188
+
189
+ def tanh_square(x):
190
+ return cp.tanh(x)**2
191
+
192
+ def mod_sigmoid(x, alpha=1.0, beta=0.0):
193
+ return 1 / (1 + cp.exp(-alpha * x + beta))
194
+
195
+ def quartic(x):
196
+ return x**4
197
+
198
+ def square_quartic(x):
199
+ return (x**2)**2
200
+
201
+ def cubic_quadratic(x):
202
+ return x**3 * (x**2)
203
+
204
+ def exp_cubic(x):
205
+ return cp.exp(x**3)
206
+
207
+ def sine_square(x):
208
+ return cp.sin(x)**2
209
+
210
+ def logarithmic(x):
211
+ return cp.log(x**2 + 1)
212
+
213
+ def scaled_cubic(x, alpha=1.0):
214
+ return alpha * x**3
215
+
216
+ def sine_offset(x, beta=0.0):
217
+ return cp.sin(x + beta)
218
+
219
+ def apply_activation(Input, activation_list):
220
+ """
221
+ Applies a sequence of activation functions to the input.
222
+
223
+ Args:
224
+ Input (array-like): The input to apply activations to.
225
+ activation_list (list): A list of activation function names to apply.
226
+
227
+ Returns:
228
+ numpy.ndarray: The input after all activations have been applied.
229
+ """
230
+
231
+ origin_input = cp.copy(Input)
232
+
233
+ for i in range(len(activation_list)):
234
+
235
+ if activation_list[i] == 'sigmoid':
236
+ Input += Sigmoid(origin_input)
237
+
238
+ elif activation_list[i] == 'swish':
239
+ Input += swish(origin_input)
240
+
241
+ elif activation_list[i] == 'mod_circular':
242
+ Input += modular_circular_activation(origin_input)
243
+
244
+ elif activation_list[i] == 'tanh_circular':
245
+ Input += tanh_circular_activation(origin_input)
246
+
247
+ elif activation_list[i] == 'leaky_relu':
248
+ Input += leaky_relu(origin_input)
249
+
250
+ elif activation_list[i] == 'relu':
251
+ Input += Relu(origin_input)
252
+
253
+ elif activation_list[i] == 'softplus':
254
+ Input += softplus(origin_input)
255
+
256
+ elif activation_list[i] == 'elu':
257
+ Input += elu(origin_input)
258
+
259
+ elif activation_list[i] == 'gelu':
260
+ Input += gelu(origin_input)
261
+
262
+ elif activation_list[i] == 'selu':
263
+ Input += selu(origin_input)
264
+
265
+ elif activation_list[i] == 'tanh':
266
+ Input += tanh(origin_input)
267
+
268
+ elif activation_list[i] == 'sinakt':
269
+ Input += sinakt(origin_input)
270
+
271
+ elif activation_list[i] == 'p_squared':
272
+ Input += p_squared(origin_input)
273
+
274
+ elif activation_list[i] == 'sglu':
275
+ Input += sglu(origin_input, alpha=1.0)
276
+
277
+ elif activation_list[i] == 'dlrelu':
278
+ Input += dlrelu(origin_input)
279
+
280
+ elif activation_list[i] == 'exsig':
281
+ Input += exsig(origin_input)
282
+
283
+ elif activation_list[i] == 'sin_plus':
284
+ Input += sin_plus(origin_input)
285
+
286
+ elif activation_list[i] == 'acos':
287
+ Input += acos(origin_input, alpha=1.0, beta=0.0)
288
+
289
+ elif activation_list[i] == 'gla':
290
+ Input += gla(origin_input, alpha=1.0, mu=0.0)
291
+
292
+ elif activation_list[i] == 'srelu':
293
+ Input += srelu(origin_input)
294
+
295
+ elif activation_list[i] == 'qelu':
296
+ Input += qelu(origin_input)
297
+
298
+ elif activation_list[i] == 'isra':
299
+ Input += isra(origin_input)
300
+
301
+ elif activation_list[i] == 'waveakt':
302
+ Input += waveakt(origin_input)
303
+
304
+ elif activation_list[i] == 'arctan':
305
+ Input += arctan(origin_input)
306
+
307
+ elif activation_list[i] == 'bent_identity':
308
+ Input += bent_identity(origin_input)
309
+
310
+ elif activation_list[i] == 'sech':
311
+ Input += sech(origin_input)
312
+
313
+ elif activation_list[i] == 'softsign':
314
+ Input += softsign(origin_input)
315
+
316
+ elif activation_list[i] == 'pwl':
317
+ Input += pwl(origin_input)
318
+
319
+ elif activation_list[i] == 'cubic':
320
+ Input += cubic(origin_input)
321
+
322
+ elif activation_list[i] == 'gaussian':
323
+ Input += gaussian(origin_input)
324
+
325
+ elif activation_list[i] == 'sine':
326
+ Input += sine(origin_input)
327
+
328
+ elif activation_list[i] == 'tanh_square':
329
+ Input += tanh_square(origin_input)
330
+
331
+ elif activation_list[i] == 'mod_sigmoid':
332
+ Input += mod_sigmoid(origin_input)
333
+
334
+ elif activation_list[i] == 'linear':
335
+ Input += origin_input
336
+
337
+ elif activation_list[i] == 'quartic':
338
+ Input += quartic(origin_input)
339
+
340
+ elif activation_list[i] == 'square_quartic':
341
+ Input += square_quartic(origin_input)
342
+
343
+ elif activation_list[i] == 'cubic_quadratic':
344
+ Input += cubic_quadratic(origin_input)
345
+
346
+ elif activation_list[i] == 'exp_cubic':
347
+ Input += exp_cubic(origin_input)
348
+
349
+ elif activation_list[i] == 'sine_square':
350
+ Input += sine_square(origin_input)
351
+
352
+ elif activation_list[i] == 'logarithmic':
353
+ Input += logarithmic(origin_input)
354
+
355
+ elif activation_list[i] == 'scaled_cubic':
356
+ Input += scaled_cubic(origin_input, 1.0)
357
+
358
+ elif activation_list[i] == 'sine_offset':
359
+ Input += sine_offset(origin_input, 1.0)
360
+
361
+ elif activation_list[i] == 'spiral':
362
+ Input += spiral_activation(origin_input)
363
+
364
+ elif activation_list[i] == 'circular':
365
+ Input += circular_activation(origin_input)
366
+
367
+ return Input