gradboard 0.1.13__tar.gz → 0.1.15__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.

Potentially problematic release.


This version of gradboard might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gradboard
3
- Version: 0.1.13
3
+ Version: 0.1.15
4
4
  Summary: Easily snowboard down gnarly loss gradients
5
5
  License: MIT
6
6
  Author: Nicholas Bailey
@@ -37,7 +37,7 @@ 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:
40
+ def quarter_circle(step: int, total_steps: int) -> float:
41
41
  """
42
42
  Get a sequence of numbers between 0 and 1 in the shape of a semi-circle with
43
43
  diameter `total_steps'.
@@ -51,14 +51,6 @@ def semicircle(step: int, total_steps: int) -> float:
51
51
  return math.sqrt(y_squared)
52
52
 
53
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
-
62
54
  def half_cosine(step: int, total_steps: int) -> float:
63
55
  """
64
56
  Get a sequence of numbers between 0 and 1 in the shape of the descending
@@ -7,6 +7,7 @@ import copy
7
7
  import math
8
8
 
9
9
  from scipy.ndimage import gaussian_filter1d
10
+ import scipy.constants as sc
10
11
 
11
12
  from torch.amp import GradScaler
12
13
 
@@ -159,16 +160,19 @@ class PASS:
159
160
  """
160
161
  range_test_results = self._smoothed_range_test(self.range_test_results)
161
162
  minimum = min(range_test_results, key=lambda x: x[1])
162
- points_left_of_min = [p for p in range_test_results if p[0] < minimum[0]]
163
- highest_point_left_of_min = max(points_left_of_min, key=lambda x: x[1])
164
- halfway = (highest_point_left_of_min[1] + minimum[1]) / 2
165
- for r in range_test_results:
166
- if r[1] < halfway:
167
- self.max_lr = r[0] * 3
168
- self.cool_point = r[0] / 3
169
- print("High LR", self.max_lr)
170
- print("Cool point", self.cool_point)
171
- break
163
+ self.max_lr = minimum[0] / sc.golden
164
+ self.cool_point = self.max_lr / 100
165
+ # self.cool_point = r[0] / 3
166
+ # points_left_of_min = [p for p in range_test_results if p[0] < minimum[0]]
167
+ # highest_point_left_of_min = max(points_left_of_min, key=lambda x: x[1])
168
+ # halfway = (highest_point_left_of_min[1] + minimum[1]) / 2
169
+ # for r in range_test_results:
170
+ # if r[1] < halfway:
171
+ # self.max_lr = r[0] * 3
172
+ # self.cool_point = r[0] / 3
173
+ # print("High LR", self.max_lr)
174
+ # print("Cool point", self.cool_point)
175
+ # break
172
176
 
173
177
  def update_learning_rates(self):
174
178
  if self.finished:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gradboard"
3
- version = "0.1.13"
3
+ version = "0.1.15"
4
4
  description = "Easily snowboard down gnarly loss gradients"
5
5
  authors = [
6
6
  {name = "Nicholas Bailey"}
File without changes
File without changes