gradboard 0.1.11__py3-none-any.whl → 0.1.13__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.
Potentially problematic release.
This version of gradboard might be problematic. Click here for more details.
- gradboard/cycles.py +25 -13
- {gradboard-0.1.11.dist-info → gradboard-0.1.13.dist-info}/METADATA +1 -1
- gradboard-0.1.13.dist-info/RECORD +8 -0
- gradboard-0.1.11.dist-info/RECORD +0 -8
- {gradboard-0.1.11.dist-info → gradboard-0.1.13.dist-info}/LICENSE +0 -0
- {gradboard-0.1.11.dist-info → gradboard-0.1.13.dist-info}/WHEEL +0 -0
gradboard/cycles.py
CHANGED
|
@@ -37,6 +37,28 @@ def cosine(step: int, total_steps: int) -> float:
|
|
|
37
37
|
return round((math.cos(angle) + 1) / 2, 8)
|
|
38
38
|
|
|
39
39
|
|
|
40
|
+
def semicircle(step: int, total_steps: int) -> float:
|
|
41
|
+
"""
|
|
42
|
+
Get a sequence of numbers between 0 and 1 in the shape of a semi-circle with
|
|
43
|
+
diameter `total_steps'.
|
|
44
|
+
"""
|
|
45
|
+
assert total_steps != 0
|
|
46
|
+
x = step / (total_steps - 0.999)
|
|
47
|
+
# x^2 + y^2 = r^2 = 1
|
|
48
|
+
# Therefore y^2 = 1 - x^2
|
|
49
|
+
# Therefore y^2 = (1 + x)(1 - x)
|
|
50
|
+
y_squared = (1 - x) * (1 + x)
|
|
51
|
+
return math.sqrt(y_squared)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def half_semicircle(step: int, total_steps: int) -> float:
|
|
55
|
+
"""
|
|
56
|
+
Get a sequence of numbers between 0 and 1 in the shape of the descending
|
|
57
|
+
half of a cosine wave with wavelength 2*`total_steps`.
|
|
58
|
+
"""
|
|
59
|
+
return semicircle(step, (total_steps * 2) - 1)
|
|
60
|
+
|
|
61
|
+
|
|
40
62
|
def half_cosine(step: int, total_steps: int) -> float:
|
|
41
63
|
"""
|
|
42
64
|
Get a sequence of numbers between 0 and 1 in the shape of the descending
|
|
@@ -112,23 +134,13 @@ class Cycle:
|
|
|
112
134
|
|
|
113
135
|
self.reflect = reflect
|
|
114
136
|
|
|
115
|
-
if callable(generating_function):
|
|
116
|
-
self._generating_function = generating_function
|
|
117
|
-
elif generating_function == "ascent":
|
|
118
|
-
self._generating_function = ascent
|
|
119
|
-
elif generating_function == "triangle":
|
|
120
|
-
self._generating_function = triangle
|
|
121
|
-
elif generating_function == "cosine":
|
|
122
|
-
self._generating_function = cosine
|
|
123
|
-
elif generating_function == "half_cosine":
|
|
124
|
-
self._generating_function = half_cosine
|
|
125
|
-
elif generating_function == "half_cycloid":
|
|
126
|
-
self._generating_function = half_cycloid
|
|
127
|
-
else:
|
|
137
|
+
if not callable(generating_function):
|
|
128
138
|
raise NotImplementedError(
|
|
129
139
|
"`generating_function` must be a callable object or one of "
|
|
130
140
|
'"ascent", "triangle", "cosine", "half_cosine" or "half_cycloid"'
|
|
131
141
|
)
|
|
142
|
+
else:
|
|
143
|
+
self._generating_function = generating_function
|
|
132
144
|
|
|
133
145
|
def _get_window(self, step):
|
|
134
146
|
windows = self._windows()
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
gradboard/__init__.py,sha256=57AkHusYwLCsusiVnajH5pMFKioRCj-3IjF9qpdOzE0,69
|
|
2
|
+
gradboard/cycles.py,sha256=WFEkmNxRxayzpnM7PmhcYDjoakXKLT1bcLS0dKERIDA,10209
|
|
3
|
+
gradboard/optimiser.py,sha256=Iw1piQkQkWdNUW8d9f3iPrvP9qEGVxEKmerK7ATDgOI,6189
|
|
4
|
+
gradboard/scheduler.py,sha256=W146MgdTYz113R3M0qhVpk8kr6L1ioPS3pCFc3MhKYg,6507
|
|
5
|
+
gradboard-0.1.13.dist-info/LICENSE,sha256=0BAzJE5BqQ7Iixp_AFdB2W1uO-HCRX-Qfun8PHt6yVM,1073
|
|
6
|
+
gradboard-0.1.13.dist-info/METADATA,sha256=5f4aMHtVscTV8SdyvABKgbXNtmwrGm10kOu5XhXSN9U,2174
|
|
7
|
+
gradboard-0.1.13.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
8
|
+
gradboard-0.1.13.dist-info/RECORD,,
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
gradboard/__init__.py,sha256=57AkHusYwLCsusiVnajH5pMFKioRCj-3IjF9qpdOzE0,69
|
|
2
|
-
gradboard/cycles.py,sha256=e_me_9b_995VboDBgDISLLtipEDk03c-_BUgGY4D72Y,10019
|
|
3
|
-
gradboard/optimiser.py,sha256=Iw1piQkQkWdNUW8d9f3iPrvP9qEGVxEKmerK7ATDgOI,6189
|
|
4
|
-
gradboard/scheduler.py,sha256=W146MgdTYz113R3M0qhVpk8kr6L1ioPS3pCFc3MhKYg,6507
|
|
5
|
-
gradboard-0.1.11.dist-info/LICENSE,sha256=0BAzJE5BqQ7Iixp_AFdB2W1uO-HCRX-Qfun8PHt6yVM,1073
|
|
6
|
-
gradboard-0.1.11.dist-info/METADATA,sha256=C9GXzAG88an5j6E2BuJG6ui-er8hN_cqaR0OShXMmmU,2174
|
|
7
|
-
gradboard-0.1.11.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
8
|
-
gradboard-0.1.11.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|