torchzero 0.1.3__py3-none-any.whl → 0.1.5__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.
- torchzero/core/__init__.py +1 -1
- torchzero/core/module.py +72 -49
- torchzero/core/tensorlist_optimizer.py +1 -1
- torchzero/modules/adaptive/adaptive.py +11 -11
- torchzero/modules/experimental/experimental.py +41 -41
- torchzero/modules/experimental/quad_interp.py +8 -8
- torchzero/modules/experimental/subspace.py +37 -37
- torchzero/modules/gradient_approximation/base_approximator.py +19 -24
- torchzero/modules/gradient_approximation/fdm.py +1 -1
- torchzero/modules/gradient_approximation/newton_fdm.py +13 -13
- torchzero/modules/gradient_approximation/rfdm.py +1 -1
- torchzero/modules/line_search/armijo.py +8 -8
- torchzero/modules/line_search/base_ls.py +8 -8
- torchzero/modules/line_search/directional_newton.py +14 -14
- torchzero/modules/line_search/grid_ls.py +7 -7
- torchzero/modules/line_search/scipy_minimize_scalar.py +3 -3
- torchzero/modules/meta/alternate.py +4 -4
- torchzero/modules/meta/grafting.py +23 -23
- torchzero/modules/meta/optimizer_wrapper.py +14 -14
- torchzero/modules/meta/return_overrides.py +8 -8
- torchzero/modules/misc/accumulate.py +6 -6
- torchzero/modules/misc/basic.py +16 -16
- torchzero/modules/misc/lr.py +2 -2
- torchzero/modules/misc/multistep.py +7 -7
- torchzero/modules/misc/on_increase.py +9 -9
- torchzero/modules/momentum/momentum.py +4 -4
- torchzero/modules/operations/multi.py +44 -44
- torchzero/modules/operations/reduction.py +28 -28
- torchzero/modules/operations/singular.py +9 -9
- torchzero/modules/optimizers/adagrad.py +1 -1
- torchzero/modules/optimizers/adam.py +8 -8
- torchzero/modules/optimizers/lion.py +1 -1
- torchzero/modules/optimizers/rmsprop.py +1 -1
- torchzero/modules/optimizers/rprop.py +1 -1
- torchzero/modules/optimizers/sgd.py +2 -2
- torchzero/modules/orthogonalization/newtonschulz.py +3 -3
- torchzero/modules/orthogonalization/svd.py +1 -1
- torchzero/modules/regularization/dropout.py +1 -1
- torchzero/modules/regularization/noise.py +3 -3
- torchzero/modules/regularization/normalization.py +5 -5
- torchzero/modules/regularization/ortho_grad.py +1 -1
- torchzero/modules/regularization/weight_decay.py +1 -1
- torchzero/modules/scheduling/lr_schedulers.py +2 -2
- torchzero/modules/scheduling/step_size.py +8 -8
- torchzero/modules/second_order/newton.py +12 -12
- torchzero/modules/smoothing/__init__.py +1 -1
- torchzero/modules/smoothing/gaussian_smoothing.py +7 -7
- torchzero/modules/smoothing/laplacian_smoothing.py +1 -1
- torchzero/modules/weight_averaging/ema.py +3 -3
- torchzero/modules/weight_averaging/swa.py +8 -8
- torchzero/optim/first_order/forward_gradient.py +1 -1
- torchzero/optim/modular.py +4 -4
- torchzero/tensorlist.py +8 -1
- {torchzero-0.1.3.dist-info → torchzero-0.1.5.dist-info}/METADATA +1 -1
- torchzero-0.1.5.dist-info/RECORD +104 -0
- torchzero-0.1.3.dist-info/RECORD +0 -104
- {torchzero-0.1.3.dist-info → torchzero-0.1.5.dist-info}/LICENSE +0 -0
- {torchzero-0.1.3.dist-info → torchzero-0.1.5.dist-info}/WHEEL +0 -0
- {torchzero-0.1.3.dist-info → torchzero-0.1.5.dist-info}/top_level.txt +0 -0
|
@@ -30,24 +30,24 @@ class PolyakStepSize(OptimizerModule):
|
|
|
30
30
|
self.use_grad = use_grad
|
|
31
31
|
self.parameterwise = parameterwise
|
|
32
32
|
|
|
33
|
-
def _update(self,
|
|
34
|
-
if
|
|
35
|
-
if
|
|
33
|
+
def _update(self, vars, ascent):
|
|
34
|
+
if vars.closure is None: raise ValueError("PolyakStepSize requires closure")
|
|
35
|
+
if vars.fx0 is None: vars.fx0 = vars.closure(False) # can only happen when placed after SPSA
|
|
36
36
|
|
|
37
37
|
alpha = self.get_group_key('alpha')
|
|
38
38
|
|
|
39
39
|
if self.parameterwise:
|
|
40
|
-
if self.use_grad: denom = (ascent*
|
|
40
|
+
if self.use_grad: denom = (ascent*vars.maybe_compute_grad_(self.get_params())).mean()
|
|
41
41
|
else: denom = ascent.pow(2).mean()
|
|
42
|
-
polyak_step_size: TensorList | Any = (
|
|
42
|
+
polyak_step_size: TensorList | Any = (vars.fx0 - self.min_obj_value) / denom.where(denom!=0, 1) # type:ignore
|
|
43
43
|
polyak_step_size = polyak_step_size.where(denom != 0, 0)
|
|
44
44
|
if self.max is not None: polyak_step_size = polyak_step_size.clamp_max(self.max)
|
|
45
45
|
|
|
46
46
|
else:
|
|
47
|
-
if self.use_grad: denom = (ascent*
|
|
47
|
+
if self.use_grad: denom = (ascent*vars.maybe_compute_grad_(self.get_params())).total_mean()
|
|
48
48
|
else: denom = ascent.pow(2).total_mean()
|
|
49
49
|
if denom == 0: polyak_step_size = 0 # we converged
|
|
50
|
-
else: polyak_step_size = (
|
|
50
|
+
else: polyak_step_size = (vars.fx0 - self.min_obj_value) / denom
|
|
51
51
|
|
|
52
52
|
if self.max is not None:
|
|
53
53
|
if polyak_step_size > self.max: polyak_step_size = self.max
|
|
@@ -72,7 +72,7 @@ class RandomStepSize(OptimizerModule):
|
|
|
72
72
|
self.low = low; self.high = high
|
|
73
73
|
self.parameterwise = parameterwise
|
|
74
74
|
|
|
75
|
-
def _update(self,
|
|
75
|
+
def _update(self, vars, ascent):
|
|
76
76
|
if self.parameterwise:
|
|
77
77
|
lr = [random.uniform(self.low, self.high) for _ in range(len(ascent))]
|
|
78
78
|
else:
|
|
@@ -121,16 +121,16 @@ class ExactNewton(OptimizerModule):
|
|
|
121
121
|
self.diag = diag
|
|
122
122
|
|
|
123
123
|
@torch.no_grad
|
|
124
|
-
def step(self,
|
|
125
|
-
if
|
|
124
|
+
def step(self, vars):
|
|
125
|
+
if vars.closure is None: raise ValueError("Newton requires a closure to compute the gradient.")
|
|
126
126
|
|
|
127
127
|
params = self.get_params()
|
|
128
128
|
|
|
129
129
|
# exact hessian via autograd
|
|
130
130
|
with torch.enable_grad():
|
|
131
|
-
|
|
132
|
-
grads, hessian = jacobian_and_hessian([
|
|
133
|
-
|
|
131
|
+
vars.fx0 = vars.closure(False)
|
|
132
|
+
grads, hessian = jacobian_and_hessian([vars.fx0], params) # type:ignore
|
|
133
|
+
vars.grad = grads = TensorList(grads).squeeze_(0)
|
|
134
134
|
gvec = grads.to_vec()
|
|
135
135
|
hessian = hessian_list_to_mat(hessian)
|
|
136
136
|
|
|
@@ -148,18 +148,18 @@ class ExactNewton(OptimizerModule):
|
|
|
148
148
|
newton_step, success = _fallback_gd(hessian, gvec)
|
|
149
149
|
|
|
150
150
|
# apply the `_update` method
|
|
151
|
-
|
|
151
|
+
vars.ascent = grads.from_vec(newton_step.squeeze_().nan_to_num_(0,0,0))
|
|
152
152
|
|
|
153
153
|
# validate if newton step decreased loss
|
|
154
154
|
if self.validate:
|
|
155
155
|
|
|
156
|
-
params.sub_(
|
|
157
|
-
fx1 =
|
|
158
|
-
params.add_(
|
|
156
|
+
params.sub_(vars.ascent)
|
|
157
|
+
fx1 = vars.closure(False)
|
|
158
|
+
params.add_(vars.ascent)
|
|
159
159
|
|
|
160
160
|
# if loss increases, set ascent direction to grad times lr
|
|
161
|
-
if (not fx1.isfinite()) or fx1 -
|
|
162
|
-
|
|
161
|
+
if (not fx1.isfinite()) or fx1 - vars.fx0 > vars.fx0 * self.tol: # type:ignore
|
|
162
|
+
vars.ascent = grads.div_(grads.total_vector_norm(2) / self.gd_lr)
|
|
163
163
|
|
|
164
164
|
# peform an update with the ascent direction, or pass it to the child.
|
|
165
|
-
return self._update_params_or_step_with_next(
|
|
165
|
+
return self._update_params_or_step_with_next(vars, params=params)
|
|
@@ -5,7 +5,7 @@ import torch
|
|
|
5
5
|
|
|
6
6
|
from ...tensorlist import TensorList, Distributions, mean as tlmean
|
|
7
7
|
from ...utils.python_tools import _ScalarLoss
|
|
8
|
-
from ...core import _ClosureType,
|
|
8
|
+
from ...core import _ClosureType, OptimizationVars, OptimizerModule, _maybe_pass_backward
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def _numpy_or_torch_mean(losses: list):
|
|
@@ -14,7 +14,7 @@ def _numpy_or_torch_mean(losses: list):
|
|
|
14
14
|
return torch.mean(torch.stack(losses))
|
|
15
15
|
return np.mean(losses).item()
|
|
16
16
|
|
|
17
|
-
class
|
|
17
|
+
class GaussianHomotopy(OptimizerModule):
|
|
18
18
|
"""Samples and averages value and gradients in multiple random points around current position.
|
|
19
19
|
This effectively applies smoothing to the function.
|
|
20
20
|
|
|
@@ -43,9 +43,9 @@ class GaussianSmoothing(OptimizerModule):
|
|
|
43
43
|
self.sample_x0 = sample_x0
|
|
44
44
|
|
|
45
45
|
@torch.no_grad()
|
|
46
|
-
def step(self,
|
|
47
|
-
if
|
|
48
|
-
closure =
|
|
46
|
+
def step(self, vars: OptimizationVars):
|
|
47
|
+
if vars.closure is None: raise ValueError('GaussianSmoothing requires closure.')
|
|
48
|
+
closure = vars.closure
|
|
49
49
|
params = self.get_params()
|
|
50
50
|
sigmas = self.get_group_key('sigma')
|
|
51
51
|
|
|
@@ -83,8 +83,8 @@ class GaussianSmoothing(OptimizerModule):
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
self.current_step += 1
|
|
86
|
-
|
|
87
|
-
return self._update_params_or_step_with_next(
|
|
86
|
+
vars.closure = smooth_closure
|
|
87
|
+
return self._update_params_or_step_with_next(vars)
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
# todo single loop gaussian homotopy?
|
|
@@ -50,7 +50,7 @@ class SwitchEMA(OptimizerModule):
|
|
|
50
50
|
params.set_(self.orig_params)
|
|
51
51
|
|
|
52
52
|
@torch.no_grad
|
|
53
|
-
def step(self,
|
|
53
|
+
def step(self, vars):
|
|
54
54
|
# if self.next_module is not None:
|
|
55
55
|
# warn(f'EMA should usually be the last module, but {self.next_module.__class__.__name__} is after it.')
|
|
56
56
|
self.cur_step += 1
|
|
@@ -58,7 +58,7 @@ class SwitchEMA(OptimizerModule):
|
|
|
58
58
|
params = self.get_params()
|
|
59
59
|
# state.maybe_use_grad_(params)
|
|
60
60
|
# update params with the child. Averaging is always applied at the end.
|
|
61
|
-
ret = self._update_params_or_step_with_next(
|
|
61
|
+
ret = self._update_params_or_step_with_next(vars, params)
|
|
62
62
|
|
|
63
63
|
ema = self.get_state_key('ema', init = 'params', params=params)
|
|
64
64
|
momentum = self.get_group_key('momentum')
|
|
@@ -67,6 +67,6 @@ class SwitchEMA(OptimizerModule):
|
|
|
67
67
|
|
|
68
68
|
if (self.update_every is not None) and (self.cur_step % self.update_every == 0):
|
|
69
69
|
params.set_(ema.clone())
|
|
70
|
-
if self._reset_stats:
|
|
70
|
+
if self._reset_stats: vars.add_post_step_hook(_reset_stats_hook)
|
|
71
71
|
|
|
72
72
|
return ret
|
|
@@ -55,10 +55,10 @@ class PeriodicSWA(OptimizerModule):
|
|
|
55
55
|
self.swa_cur = 0
|
|
56
56
|
self.n_models = 0
|
|
57
57
|
|
|
58
|
-
def step(self,
|
|
58
|
+
def step(self, vars):
|
|
59
59
|
swa = None
|
|
60
60
|
params = self.get_params()
|
|
61
|
-
ret = self._update_params_or_step_with_next(
|
|
61
|
+
ret = self._update_params_or_step_with_next(vars, params)
|
|
62
62
|
|
|
63
63
|
# start first period after `pswa_start` steps
|
|
64
64
|
if self.cur >= self.pswa_start:
|
|
@@ -88,7 +88,7 @@ class PeriodicSWA(OptimizerModule):
|
|
|
88
88
|
|
|
89
89
|
params.set_(swa)
|
|
90
90
|
# add a hook that resets momentum, which also deletes `swa` in this module
|
|
91
|
-
if self._reset_stats:
|
|
91
|
+
if self._reset_stats: vars.add_post_step_hook(_reset_stats_hook)
|
|
92
92
|
|
|
93
93
|
return ret
|
|
94
94
|
|
|
@@ -127,13 +127,13 @@ class CyclicSWA(OptimizerModule):
|
|
|
127
127
|
|
|
128
128
|
self.cur_lr = self.init_lr
|
|
129
129
|
|
|
130
|
-
def step(self,
|
|
130
|
+
def step(self, vars):
|
|
131
131
|
params = self.get_params()
|
|
132
132
|
|
|
133
133
|
# start first period after `cswa_start` steps
|
|
134
134
|
if self.cur >= self.cswa_start:
|
|
135
135
|
|
|
136
|
-
ascent =
|
|
136
|
+
ascent = vars.maybe_use_grad_(params)
|
|
137
137
|
|
|
138
138
|
# determine the lr
|
|
139
139
|
point = self.cycle_cur / self.cycle_length
|
|
@@ -146,7 +146,7 @@ class CyclicSWA(OptimizerModule):
|
|
|
146
146
|
lr = init_lr * (1-p2) + peak_lr * p2
|
|
147
147
|
|
|
148
148
|
ascent *= lr
|
|
149
|
-
ret = self._update_params_or_step_with_next(
|
|
149
|
+
ret = self._update_params_or_step_with_next(vars, params)
|
|
150
150
|
|
|
151
151
|
if self.sample_all or self.cycle_cur in (0, self.cycle_length, self.cycle_length // 2):
|
|
152
152
|
swa = self.get_state_key('swa')
|
|
@@ -159,12 +159,12 @@ class CyclicSWA(OptimizerModule):
|
|
|
159
159
|
self.cycle_cur = -1
|
|
160
160
|
|
|
161
161
|
params.set_(swa)
|
|
162
|
-
if self._reset_stats:
|
|
162
|
+
if self._reset_stats: vars.add_post_step_hook(_reset_stats_hook)
|
|
163
163
|
|
|
164
164
|
self.cycle_cur += 1
|
|
165
165
|
|
|
166
166
|
else:
|
|
167
|
-
ret = self._update_params_or_step_with_next(
|
|
167
|
+
ret = self._update_params_or_step_with_next(vars, params)
|
|
168
168
|
|
|
169
169
|
self.cur += 1
|
|
170
170
|
|
|
@@ -2,7 +2,7 @@ from typing import Literal
|
|
|
2
2
|
|
|
3
3
|
import torch
|
|
4
4
|
|
|
5
|
-
from ...core import
|
|
5
|
+
from ...core import OptimizationVars, OptimizerModule
|
|
6
6
|
from ...modules import ForwardGradient as _ForwardGradient, SGD, WeightDecay, LR
|
|
7
7
|
from ...tensorlist import Distributions
|
|
8
8
|
from ..modular import Modular
|
torchzero/optim/modular.py
CHANGED
|
@@ -3,7 +3,7 @@ import warnings
|
|
|
3
3
|
from inspect import cleandoc
|
|
4
4
|
import torch
|
|
5
5
|
|
|
6
|
-
from ..core import OptimizerModule, TensorListOptimizer,
|
|
6
|
+
from ..core import OptimizerModule, TensorListOptimizer, OptimizationVars, _Chain, _Chainable
|
|
7
7
|
from ..utils.python_tools import flatten
|
|
8
8
|
|
|
9
9
|
def _unroll_modules(flat_modules: list[OptimizerModule], nested) -> list[OptimizerModule]:
|
|
@@ -126,7 +126,7 @@ class Modular(TensorListOptimizer):
|
|
|
126
126
|
raise ValueError(f'No modules out of {", ".join(m.__class__.__name__ for m in modules)} match "{name}".')
|
|
127
127
|
|
|
128
128
|
def step(self, closure=None): # type:ignore
|
|
129
|
-
|
|
130
|
-
res = self.chain.step(
|
|
131
|
-
for hook in
|
|
129
|
+
vars = OptimizationVars(closure, self.model)
|
|
130
|
+
res = self.chain.step(vars)
|
|
131
|
+
for hook in vars.post_step_hooks: hook(self, vars)
|
|
132
132
|
return res
|
torchzero/tensorlist.py
CHANGED
|
@@ -10,7 +10,7 @@ in an optimizer when you have to create one from parameters on each step. The so
|
|
|
10
10
|
it once beforehand, but then you won't be able to easily support parameter groups and per-parameter states.
|
|
11
11
|
"""
|
|
12
12
|
import builtins
|
|
13
|
-
from collections.abc import Callable, Sequence, Iterable, Generator
|
|
13
|
+
from collections.abc import Callable, Sequence, Iterable, Generator, Iterator
|
|
14
14
|
import math
|
|
15
15
|
import operator
|
|
16
16
|
from typing import Any, Literal, TypedDict
|
|
@@ -744,6 +744,13 @@ class NumberList(TensorList):
|
|
|
744
744
|
Note that this only supports basic arithmetic operations that are overloaded.
|
|
745
745
|
|
|
746
746
|
Can't use a numpy array because _foreach methods do not work with it."""
|
|
747
|
+
# remove torch.Tensor from return values
|
|
748
|
+
def __getitem__(self, i) -> Any:
|
|
749
|
+
return super().__getitem__(i)
|
|
750
|
+
|
|
751
|
+
def __iter__(self) -> Iterator[Any]:
|
|
752
|
+
return super().__iter__()
|
|
753
|
+
|
|
747
754
|
def _set_to_method_result_(self, method: str, *args, **kwargs):
|
|
748
755
|
"""Sets each element of the tensorlist to the result of calling the specified method on the corresponding element.
|
|
749
756
|
This is used to support/mimic in-place operations."""
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
torchzero/__init__.py,sha256=CCIYfhGNYMnRP_cdXL7DgocxkEWYUZYgB3Sf1T5tdYY,203
|
|
2
|
+
torchzero/tensorlist.py,sha256=V9m5zJ44PtiJxTOiM7cADxYaWK-ogv5Tk_KnyQqm1oo,41601
|
|
3
|
+
torchzero/core/__init__.py,sha256=hab7HAep0JIVeJ-EQhcOAB9oKIIo2MuCVn7yS3BFVYA,266
|
|
4
|
+
torchzero/core/module.py,sha256=Dhf8Rn6zKpzzO3rzyxzJnRAe_tOKS35AgH-FQQKR16A,22362
|
|
5
|
+
torchzero/core/tensorlist_optimizer.py,sha256=MenRzyNPQJWx26j4Tj2vbX2pEcRu_26HQPIpUu_nsFc,9957
|
|
6
|
+
torchzero/modules/__init__.py,sha256=5f8kt2mMn1eo9YcjXc3ESW-bqMQIRf646V3zlr8UAO4,571
|
|
7
|
+
torchzero/modules/adaptive/__init__.py,sha256=YBVDXCosr4-C-GFCoreHS3DFyHiYMhCbOWgdhVVaZ_E,161
|
|
8
|
+
torchzero/modules/adaptive/adaptive.py,sha256=Zp6cBbuLIeyEDcZJxgpdXPVnw7sjhkBSe9Pd3HHkHXk,6477
|
|
9
|
+
torchzero/modules/experimental/__init__.py,sha256=dRLPbhTO8efkRQHB-8Z29dKS3BEleCso1dsXxgccFgM,647
|
|
10
|
+
torchzero/modules/experimental/experimental.py,sha256=4w3WyBL43WWwYL1ZdoCAdtBHnJfTrUYe9NBmmqTxYes,9808
|
|
11
|
+
torchzero/modules/experimental/quad_interp.py,sha256=6Nsvpv580KpSujPYHxK-qB5m6b7C_dFdBxCXE49VHAQ,4106
|
|
12
|
+
torchzero/modules/experimental/subspace.py,sha256=6n0INUqya24RR4Onm7bGNAPsdqw4lPYIGqT6OCwXNOU,11766
|
|
13
|
+
torchzero/modules/gradient_approximation/__init__.py,sha256=q8rNkk2PK6Y9zk42Mq8pY2YF6fHt5QuJd7BK-RTFKpg,179
|
|
14
|
+
torchzero/modules/gradient_approximation/_fd_formulas.py,sha256=mXqRwsDYjXi3pnI4mkpwwtJE85omYEvcmtbJAOfpg9o,82
|
|
15
|
+
torchzero/modules/gradient_approximation/base_approximator.py,sha256=VjQ_NNLElDnk4kGPYy8iK9A6f2Y6yo6H1axpXkkAeSw,3632
|
|
16
|
+
torchzero/modules/gradient_approximation/fdm.py,sha256=1FVPe3J3tOBgktCKlcd-wOv3bo_FynuF9U4RKbsz-CY,4976
|
|
17
|
+
torchzero/modules/gradient_approximation/forward_gradient.py,sha256=3CC-tcUIAL0d422WHUQLPx0UMcU5URQ5uYCNbgpi19M,6456
|
|
18
|
+
torchzero/modules/gradient_approximation/newton_fdm.py,sha256=BqkNZp00pUBJLWAXKNTk2eggbE4o6u-eLmvWw55zihg,7100
|
|
19
|
+
torchzero/modules/gradient_approximation/rfdm.py,sha256=2nYl_Pu6Lc3gUjTu0GqTImoMSCX5MPFKmvoagpdrf0w,4966
|
|
20
|
+
torchzero/modules/line_search/__init__.py,sha256=hYysFi5b9a5g0jcRNkgZYGRcZ1V7_JacBVWMR7idP38,1380
|
|
21
|
+
torchzero/modules/line_search/armijo.py,sha256=Iw7bsx2yhDhZ0POvD2lc28tv_b5zphOq3MPed8dAYLk,1955
|
|
22
|
+
torchzero/modules/line_search/base_ls.py,sha256=tPlJxZ_CVGPxVrG_jxud8LRbgceZKMf-ZBbDv0jJX2Q,5319
|
|
23
|
+
torchzero/modules/line_search/directional_newton.py,sha256=PMNjjj6n1GVuMe9fwGGYnxbA9Tw5CQxLXgJNhNiwURs,9148
|
|
24
|
+
torchzero/modules/line_search/grid_ls.py,sha256=tCrDxE1OMIXMisYdyiBF56XBRP16mbSs5SFDRcy1vCw,5603
|
|
25
|
+
torchzero/modules/line_search/scipy_minimize_scalar.py,sha256=STGvMuCPcqxw9iaiD6jLsI6YgxAvEic0tfqDQ90qAiA,2196
|
|
26
|
+
torchzero/modules/meta/__init__.py,sha256=ARVR3Vzvq50n-3uFMNxcGUDd2r4Euamay5UYtpIxXNg,407
|
|
27
|
+
torchzero/modules/meta/alternate.py,sha256=kJB3Y507u_a_dra7N0Wo4uTQhbMSfizG0mmmuISzeH8,2119
|
|
28
|
+
torchzero/modules/meta/grafting.py,sha256=IenyBO0FmJDO6st_mfFAUnu98UlChm4Io4aKARsDI0s,7560
|
|
29
|
+
torchzero/modules/meta/optimizer_wrapper.py,sha256=x1nkKoqGK6-lgiuRYzVFcTNUCYeiwFet0MZoaQ3kv8U,6432
|
|
30
|
+
torchzero/modules/meta/return_overrides.py,sha256=Amp4_yiMtXNM8_JgnAKK71BP-NrqvkYha4wt8mA-Nb4,2023
|
|
31
|
+
torchzero/modules/misc/__init__.py,sha256=P43XRz1nnOuJbpq_bQboLJ7hip80SQmvhua2baPdJ-c,390
|
|
32
|
+
torchzero/modules/misc/accumulate.py,sha256=M66TaL0XBioC-2WkPOj8crKoQrWx-np-Im4I2pzvwHU,1324
|
|
33
|
+
torchzero/modules/misc/basic.py,sha256=EnuS6nZwyRXjWytyQef3f5885NC2b79wiQeZSU-urYA,3475
|
|
34
|
+
torchzero/modules/misc/lr.py,sha256=xG1TCPeZazp1SBkAdwxY3tbt9-Tgufzq0noPlcsZkO4,3523
|
|
35
|
+
torchzero/modules/misc/multistep.py,sha256=Jnbs1upMpvabhSkju10ciOuPzMd0CD5UoK4ueUrh048,1770
|
|
36
|
+
torchzero/modules/misc/on_increase.py,sha256=WT86io0qtTk4UbrNAQlXyPD7ad61EagKqhr2mrrRcYA,1998
|
|
37
|
+
torchzero/modules/momentum/__init__.py,sha256=Cj_3KJ76RLX-WQ7xsOoLY9mucQvnkyudTeVH8fnvdwc,138
|
|
38
|
+
torchzero/modules/momentum/momentum.py,sha256=3zpmhzOI7KLX2nbaWivGEquo9nboEmkIyAO8k8SmWdw,3931
|
|
39
|
+
torchzero/modules/operations/__init__.py,sha256=4SxIQMh-ixEqEDXWdizeGOzfhFw-af4Wz0A-00ypmg0,378
|
|
40
|
+
torchzero/modules/operations/multi.py,sha256=3T0mqrnKrdE1G7wayolCZVjWWjLG7geafu1vbClmz3Y,10273
|
|
41
|
+
torchzero/modules/operations/reduction.py,sha256=mMqxW-PO7T-azTnbx2vFnfOVTHfw7u7BzZveoaaCfxc,4621
|
|
42
|
+
torchzero/modules/operations/singular.py,sha256=J1_0HKPi6Tu0j-25lMP4FPRwgjm8drM5QRcUCmvQNV8,3560
|
|
43
|
+
torchzero/modules/optimizers/__init__.py,sha256=QZu8yvqy7ouY45Xju5Z2oHWJiFa1CslknodhWWRZRms,247
|
|
44
|
+
torchzero/modules/optimizers/adagrad.py,sha256=7SQiQBtkN72nhZ6a22p4KCCwzxUYcvt1qPRgT_y2I7w,2014
|
|
45
|
+
torchzero/modules/optimizers/adam.py,sha256=17HJl5VHtUDHPVSW8nTVb9XrjuXQ1H6lFLAaGUkq028,4714
|
|
46
|
+
torchzero/modules/optimizers/lion.py,sha256=DRm09OpQSs2YjFx21OMA5ADp6dVYLPN6uu61GkxyF6o,904
|
|
47
|
+
torchzero/modules/optimizers/rmsprop.py,sha256=vcPjGh1krMLGX97sNKgKc5rx0-tT_cQznSwgmEtlq0w,2152
|
|
48
|
+
torchzero/modules/optimizers/rprop.py,sha256=OjLmHhhPjfRe0KxdPSKduIQs5atwoCvbNLLoDbFWAfI,3603
|
|
49
|
+
torchzero/modules/optimizers/sgd.py,sha256=t31zfKuV6tJRzIOEtZBX0gH_KGdRi4ddvKhYibK5eCM,2242
|
|
50
|
+
torchzero/modules/orthogonalization/__init__.py,sha256=brvrj57U_1qKKU8AUqbe9lyY9jsfzZvUGnvsU4wjDSQ,151
|
|
51
|
+
torchzero/modules/orthogonalization/newtonschulz.py,sha256=gXSkONee9GC5oTODWde2d2HaxTVWbSZMIG1ZD9p5LRE,7517
|
|
52
|
+
torchzero/modules/orthogonalization/svd.py,sha256=HO72YUP4Jlk-WeCoVpT3kqPLuiUwcApNvsXx3-PMFAI,3651
|
|
53
|
+
torchzero/modules/quasi_newton/__init__.py,sha256=G5lW-q0pI47SJ2AZuY4qkjbqfYzJS0qATDo7V0BGzD4,124
|
|
54
|
+
torchzero/modules/regularization/__init__.py,sha256=FD_KERcYY4bdVR22OuKXUUVt63jyfE9V84evwDC1edo,498
|
|
55
|
+
torchzero/modules/regularization/dropout.py,sha256=Wt0rHQxMt2t28fNaNkfNlXVcbcf3TlqWhKzWi1kz6lU,1003
|
|
56
|
+
torchzero/modules/regularization/noise.py,sha256=LFSG4Ga5W2VuT1jzkApKodMiDsHbi8zYJ9N_ZnsLMoI,3026
|
|
57
|
+
torchzero/modules/regularization/normalization.py,sha256=LxegX6Wf0QYZPSxjtUsx7x6IO9UCGc_SBYRfFp3EJHk,12152
|
|
58
|
+
torchzero/modules/regularization/ortho_grad.py,sha256=TLaF8GIM6_tbHHvUhi9XUKJvTdPgF9RM364HXYmVliw,3126
|
|
59
|
+
torchzero/modules/regularization/weight_decay.py,sha256=AjR1RuUDa2DM1PbHx-wBT41XaaAs2w5PKLjRRpV3JrU,3624
|
|
60
|
+
torchzero/modules/scheduling/__init__.py,sha256=NxR1cpKXtZSbVqPRlzzzgH3_JBMuxQCf3nUhmxBN2Cc,89
|
|
61
|
+
torchzero/modules/scheduling/lr_schedulers.py,sha256=MYcQ13YexvyTSD9AHxdu54DSu_neTxY-BImUwBFc7Iw,4963
|
|
62
|
+
torchzero/modules/scheduling/step_size.py,sha256=NTHOFO34GroEE_O2IWmZprRpD9wiyLu7iNvaAUlfVbc,3664
|
|
63
|
+
torchzero/modules/second_order/__init__.py,sha256=oRyRy8mCjurMINHNdsxjlptLbQNU0VnstkDm1Ccv_80,182
|
|
64
|
+
torchzero/modules/second_order/newton.py,sha256=iVNawkyiz-Yj8_cAKi1BYeffk9P0G9UoddnVTBogR64,6751
|
|
65
|
+
torchzero/modules/smoothing/__init__.py,sha256=sKc9P7QJUNEyuoQXjhMkAELFdqe11tB1HnnKeMI4ciQ,194
|
|
66
|
+
torchzero/modules/smoothing/gaussian_smoothing.py,sha256=kP72r-f0prGEEzgaVeY1RLFLTfx05L_SOtLMCrkXeOs,3827
|
|
67
|
+
torchzero/modules/smoothing/laplacian_smoothing.py,sha256=ehb0lj479RRKZTJ5_9FGDXwidWF5soo9hw8vquqrl5s,5552
|
|
68
|
+
torchzero/modules/weight_averaging/__init__.py,sha256=nJJRs68AV2G4rGwiiHNRfm6XmtM-xUev1pCtzNIVfa8,66
|
|
69
|
+
torchzero/modules/weight_averaging/ema.py,sha256=xdVnKC8PxCQCec4ad3ncvznvVsQM5O6EVfsOKsRr18k,2854
|
|
70
|
+
torchzero/modules/weight_averaging/swa.py,sha256=syio5qq1vf76d5bAJU-I8Zc8U12bR2n8C9hEznCgr7s,6764
|
|
71
|
+
torchzero/optim/__init__.py,sha256=vk6pIYJHWAGYJMdtJ1otsmVph-pdL5HwBg-CTeBCGso,253
|
|
72
|
+
torchzero/optim/modular.py,sha256=tiuKXpLqq6jWwWWrfC_QU9XkErl2Saaw_xGau0frwzQ,6060
|
|
73
|
+
torchzero/optim/experimental/__init__.py,sha256=RqNzJu5mVl3T0u7cf4TBzSiA20M1kxTZVYWjSVhEHuU,585
|
|
74
|
+
torchzero/optim/experimental/experimental.py,sha256=tMHZVbEXm3s6mMr7unFSvk_Jks3uAaAG0fzsH6gr098,10928
|
|
75
|
+
torchzero/optim/experimental/ray_search.py,sha256=GYyssL64D6RiImrZ2tchoZJ04x9rX-Bp1y2nQXEGxX0,2662
|
|
76
|
+
torchzero/optim/first_order/__init__.py,sha256=CRT4farcwi8sO1qqDGxXv1856zOwuKlJKBIAIvpL2Z0,336
|
|
77
|
+
torchzero/optim/first_order/cautious.py,sha256=XBeqrLQ4gFKVUYnJI5ROmF9wQJGhY90HR6UG5IS7vYk,6610
|
|
78
|
+
torchzero/optim/first_order/forward_gradient.py,sha256=8u_ya0NuFSopPPhOiqqSov35irg8tF3LeHYg-qthTG0,3065
|
|
79
|
+
torchzero/optim/first_order/optimizers.py,sha256=jYmU6YDsYRGMRsCNkYc6AlvOf3wlU7Uv1xUrzl0o8zo,24501
|
|
80
|
+
torchzero/optim/quasi_newton/__init__.py,sha256=0X83dl-85_j3ck8itWxJR49ZbFeOcWurW6FI8J12F1w,49
|
|
81
|
+
torchzero/optim/quasi_newton/directional_newton.py,sha256=oZ-If8SRcFXTDFKS_zlAcJnif-v5dTCR9HXqmfvsvNA,2595
|
|
82
|
+
torchzero/optim/second_order/__init__.py,sha256=3Gt0dR4NzBK07TV0NF8KZImUGHbI8E2zncDmhIC377I,31
|
|
83
|
+
torchzero/optim/second_order/newton.py,sha256=-DqJrS8JPea6Y9jp5lDV14KyP8A24YKiPxJ32Vsfiv4,3848
|
|
84
|
+
torchzero/optim/wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
+
torchzero/optim/wrappers/nevergrad.py,sha256=4PLqfs2L9XJhveyX6l7kJu1cIPl6uv7_UD76amIlP7I,4733
|
|
86
|
+
torchzero/optim/wrappers/nlopt.py,sha256=fGDOZ82sRI2VLH3hKIAhZY4EuKSdu_g217c-NZvD_rs,7104
|
|
87
|
+
torchzero/optim/wrappers/scipy.py,sha256=_BQwFDQ7SBqIA5i1SJ29Xj0jDXVV8MQ_9RcsPT3U6VQ,18047
|
|
88
|
+
torchzero/optim/zeroth_order/__init__.py,sha256=_6T0znO6V63Niq7DMhJPgUuMc_nPvAGxjCjMdf-r64U,218
|
|
89
|
+
torchzero/optim/zeroth_order/fdm.py,sha256=5iJc_F_tRR4cGQfy2Jr8PmAnCGrPva89ZWczSdcBkFk,3686
|
|
90
|
+
torchzero/optim/zeroth_order/newton_fdm.py,sha256=-5E1FGzeJMr8_IougzE_FEOPFt9pEjQxID4Y89Hpmh0,6537
|
|
91
|
+
torchzero/optim/zeroth_order/rfdm.py,sha256=_Y7yiF1bsVRlXt5IK-3zQccwVl95JF0-Xw-fl8Q_7y4,10529
|
|
92
|
+
torchzero/optim/zeroth_order/rs.py,sha256=3w2nnPGWPecourEdUG583vchcqdNxC6Q_PBL3l0PvCk,3333
|
|
93
|
+
torchzero/random/__init__.py,sha256=8EowQhC4yTZuF8w1ZDl73YZtLej8SuhxCk1Bkifbkms,93
|
|
94
|
+
torchzero/random/random.py,sha256=Oq4GvM_6AOsabg5ke6b8h51V9npyHVxp8ob_wC5D-Aw,2829
|
|
95
|
+
torchzero/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
+
torchzero/utils/compile.py,sha256=pYEyX8P26iCb_hFqAXC8IP2SSQrRfC7ZDhXS0vVCsfY,1257
|
|
97
|
+
torchzero/utils/derivatives.py,sha256=koLmuUcVcX41SrH_9rvfJyMXyHyocNLuZ-C8Kr2B7hk,4844
|
|
98
|
+
torchzero/utils/python_tools.py,sha256=kkyDhoP695HhapfKrdjcrRbRAbcvB0ArP1pkxuVUlf0,1192
|
|
99
|
+
torchzero/utils/torch_tools.py,sha256=sSBY5Bmk9LOAgPtaq-6TK4wDgPXsg6FIWxv8CVDx82k,3580
|
|
100
|
+
torchzero-0.1.5.dist-info/LICENSE,sha256=r9ZciAoZoqKC_FNADE0ORukj1p1XhLXEbegdsAyqhJs,1087
|
|
101
|
+
torchzero-0.1.5.dist-info/METADATA,sha256=h7RXRQD3U-Gfa6gFJtE-ErJ_bYT8h0EdYsqkNg8kIUs,6096
|
|
102
|
+
torchzero-0.1.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
103
|
+
torchzero-0.1.5.dist-info/top_level.txt,sha256=isztuDR1ZGo8p2tORLa-vNuomcbLj7Xd208lhd-pVPs,10
|
|
104
|
+
torchzero-0.1.5.dist-info/RECORD,,
|
torchzero-0.1.3.dist-info/RECORD
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
torchzero/__init__.py,sha256=CCIYfhGNYMnRP_cdXL7DgocxkEWYUZYgB3Sf1T5tdYY,203
|
|
2
|
-
torchzero/tensorlist.py,sha256=5XvutWeZdyUcAVVkoEXbgSjvTiDe0f1806wsINfzlRg,41387
|
|
3
|
-
torchzero/core/__init__.py,sha256=aw2p6Gt0qrtUM8x2msspAG8JHMaD2ma11sMhXm-rC90,267
|
|
4
|
-
torchzero/core/module.py,sha256=msvh-e7cE3vArXb5PLrrsG3j7d-94GG3V4aBXYKFZTo,21254
|
|
5
|
-
torchzero/core/tensorlist_optimizer.py,sha256=hIQIW7uBwddlJxXhR4-xnll0ixY9ZJY0i0oH-wqxfX0,9963
|
|
6
|
-
torchzero/modules/__init__.py,sha256=5f8kt2mMn1eo9YcjXc3ESW-bqMQIRf646V3zlr8UAO4,571
|
|
7
|
-
torchzero/modules/adaptive/__init__.py,sha256=YBVDXCosr4-C-GFCoreHS3DFyHiYMhCbOWgdhVVaZ_E,161
|
|
8
|
-
torchzero/modules/adaptive/adaptive.py,sha256=msQkLlxqt3fFWMLGyr1Pi77bGPv-QAyfDfQ1Oipl5Yo,6473
|
|
9
|
-
torchzero/modules/experimental/__init__.py,sha256=dRLPbhTO8efkRQHB-8Z29dKS3BEleCso1dsXxgccFgM,647
|
|
10
|
-
torchzero/modules/experimental/experimental.py,sha256=Z7g3AhZ5udtjIF_3a5-GdvtMOSt_uMmyJF8AKshw9i0,9853
|
|
11
|
-
torchzero/modules/experimental/quad_interp.py,sha256=iAP6r2uHp2BDsGNFYhpIHuv1l5z7ZXQZLZU1E-VO7eE,4117
|
|
12
|
-
torchzero/modules/experimental/subspace.py,sha256=KgTIdzv75hlmPFs9nCMV0M3NWa7zcp9IK0OLFsl5UrU,11801
|
|
13
|
-
torchzero/modules/gradient_approximation/__init__.py,sha256=q8rNkk2PK6Y9zk42Mq8pY2YF6fHt5QuJd7BK-RTFKpg,179
|
|
14
|
-
torchzero/modules/gradient_approximation/_fd_formulas.py,sha256=mXqRwsDYjXi3pnI4mkpwwtJE85omYEvcmtbJAOfpg9o,82
|
|
15
|
-
torchzero/modules/gradient_approximation/base_approximator.py,sha256=lNDrbGrsfhru7u40w2EDd5Xccv9oQxRaEDOLoVnBJdk,3975
|
|
16
|
-
torchzero/modules/gradient_approximation/fdm.py,sha256=yBvWmkKJqVMd0TUSZcEr6_ulNTtlZbE7rl0uLI7BADY,4977
|
|
17
|
-
torchzero/modules/gradient_approximation/forward_gradient.py,sha256=3CC-tcUIAL0d422WHUQLPx0UMcU5URQ5uYCNbgpi19M,6456
|
|
18
|
-
torchzero/modules/gradient_approximation/newton_fdm.py,sha256=foEjnOUn-9Til6IP6x6E7-wVoAnKGMfbyk1hfmuRYcI,7116
|
|
19
|
-
torchzero/modules/gradient_approximation/rfdm.py,sha256=iA2ydwkk9iRVPYcaECqUupprj6nrgmRKPVN0936gYf4,4967
|
|
20
|
-
torchzero/modules/line_search/__init__.py,sha256=hYysFi5b9a5g0jcRNkgZYGRcZ1V7_JacBVWMR7idP38,1380
|
|
21
|
-
torchzero/modules/line_search/armijo.py,sha256=2-tErIpO8p3XhY9uKrwGsaohEAN6h5tZ847_hXTPjxs,1966
|
|
22
|
-
torchzero/modules/line_search/base_ls.py,sha256=uRHg6n9lcLrBrIAUZLuEiJuWaZDQR-rqNO0ZxZYGAXo,5330
|
|
23
|
-
torchzero/modules/line_search/directional_newton.py,sha256=LLMjDu9nzy-WiqXb2Kzc4kRzhCoQOFc-1j_9hOyxt00,9168
|
|
24
|
-
torchzero/modules/line_search/grid_ls.py,sha256=PLpi8R_KIc8xZ6IxJmeLgKPJQPSgd5M4T-pj33ykLnw,5614
|
|
25
|
-
torchzero/modules/line_search/scipy_minimize_scalar.py,sha256=6JS603_sphNxj4Ji2Ia4gWcyqIM326MVGMHLWaQDXBA,2201
|
|
26
|
-
torchzero/modules/meta/__init__.py,sha256=ARVR3Vzvq50n-3uFMNxcGUDd2r4Euamay5UYtpIxXNg,407
|
|
27
|
-
torchzero/modules/meta/alternate.py,sha256=6LOYJI6_Q2X5MKAnFcymoJP8i4lcarhaPRp9Sm0eQS0,2124
|
|
28
|
-
torchzero/modules/meta/grafting.py,sha256=tWazkxlqw2brkJjkaugasoh3XGaAsR4xOqyjQMEv5uQ,7583
|
|
29
|
-
torchzero/modules/meta/optimizer_wrapper.py,sha256=cVe63uXMLLIbuj4wkSQyj0mBmKVx9SqSVzqsgcczbzA,6448
|
|
30
|
-
torchzero/modules/meta/return_overrides.py,sha256=6bveA6P0jgNiWu-P2NumAjfrAtpOL_uoIHBljOu-aYs,2031
|
|
31
|
-
torchzero/modules/misc/__init__.py,sha256=P43XRz1nnOuJbpq_bQboLJ7hip80SQmvhua2baPdJ-c,390
|
|
32
|
-
torchzero/modules/misc/accumulate.py,sha256=qN0xJ-wnhH6pyr8OY5g0N-ObYJrPyiYgVjX11Sss10s,1330
|
|
33
|
-
torchzero/modules/misc/basic.py,sha256=dWLMkj32bp4FN44wFrF5VP1_fyN7Xxb9FTVtWP_4EWw,3492
|
|
34
|
-
torchzero/modules/misc/lr.py,sha256=V6W5AU9upjpSVpFtlXVar-zJ-qZAgY2Bts-ibeKf4bk,3525
|
|
35
|
-
torchzero/modules/misc/multistep.py,sha256=L526iSNWg8UbXdulRT09r4qcOm6jHXi4v3Ho8PjkCPQ,1781
|
|
36
|
-
torchzero/modules/misc/on_increase.py,sha256=XoMzB6VWOIKpujL030fpwQcVyW_QSls-ipCwjoveMF0,2012
|
|
37
|
-
torchzero/modules/momentum/__init__.py,sha256=Cj_3KJ76RLX-WQ7xsOoLY9mucQvnkyudTeVH8fnvdwc,138
|
|
38
|
-
torchzero/modules/momentum/momentum.py,sha256=Tywb6g0PNY4gIfXRHxEIYxgH56qoAnAtE5MzPAJh7VU,3935
|
|
39
|
-
torchzero/modules/operations/__init__.py,sha256=4SxIQMh-ixEqEDXWdizeGOzfhFw-af4Wz0A-00ypmg0,378
|
|
40
|
-
torchzero/modules/operations/multi.py,sha256=XValEBe90w1uXY94kX_DItWvjchmOrAfpUa6hsi0sxk,10317
|
|
41
|
-
torchzero/modules/operations/reduction.py,sha256=uIRrqG2V-NOvljZVrJegjfjcCSQ4pI1rN9bQnZt-EW4,4652
|
|
42
|
-
torchzero/modules/operations/singular.py,sha256=Y6ImnsUB3CJPpe_7UkT1vq9diGWXf7XKpuA7Ev7Hq2g,3569
|
|
43
|
-
torchzero/modules/optimizers/__init__.py,sha256=QZu8yvqy7ouY45Xju5Z2oHWJiFa1CslknodhWWRZRms,247
|
|
44
|
-
torchzero/modules/optimizers/adagrad.py,sha256=20r1ghs67NfCED0Z0xPZflen1gLaG3tOLiTg0WEYsNU,2015
|
|
45
|
-
torchzero/modules/optimizers/adam.py,sha256=6Lq69rsyE_UI54z8T0HRyHqo0nXLwjCv35u6BsnpVSg,4722
|
|
46
|
-
torchzero/modules/optimizers/lion.py,sha256=LkXedRYK_IxJ1Xebn9dzOOMOnozM_OXVD20_wqOIB2w,905
|
|
47
|
-
torchzero/modules/optimizers/rmsprop.py,sha256=pqeaGxec-IY1i4Io5_iMZaef8nOKVZPVblVdibaWy40,2153
|
|
48
|
-
torchzero/modules/optimizers/rprop.py,sha256=nvv-PPvEpGJs0imJNr0BPRV0X_bMrEY2TaUeF986sa0,3604
|
|
49
|
-
torchzero/modules/optimizers/sgd.py,sha256=dCSQ1UwiycAR8-nSTLnk0G8sieiNAgUyChZsCwgvEOY,2246
|
|
50
|
-
torchzero/modules/orthogonalization/__init__.py,sha256=brvrj57U_1qKKU8AUqbe9lyY9jsfzZvUGnvsU4wjDSQ,151
|
|
51
|
-
torchzero/modules/orthogonalization/newtonschulz.py,sha256=IEqA_Udi2E5AbG2K_XZEz0O8GbGuKjNmQ1GVdEZP0xs,7520
|
|
52
|
-
torchzero/modules/orthogonalization/svd.py,sha256=SsuPFjODwM7uJzOxXW8LbLAbU-4hlLBmp1Fh5xWDCW4,3652
|
|
53
|
-
torchzero/modules/quasi_newton/__init__.py,sha256=G5lW-q0pI47SJ2AZuY4qkjbqfYzJS0qATDo7V0BGzD4,124
|
|
54
|
-
torchzero/modules/regularization/__init__.py,sha256=FD_KERcYY4bdVR22OuKXUUVt63jyfE9V84evwDC1edo,498
|
|
55
|
-
torchzero/modules/regularization/dropout.py,sha256=YlJmmYOVaYIoeQQW2z8kXZfRyXntZfg4tX0m6_w6JDo,1004
|
|
56
|
-
torchzero/modules/regularization/noise.py,sha256=Z_BrotV5QE5HY4E6DhIpoSjsqejaCNm_n393euTtA3o,3014
|
|
57
|
-
torchzero/modules/regularization/normalization.py,sha256=FE51Ww-aDXTQSJr-qj2YxBHRCOjluZC7TqCmXF3Xagc,12142
|
|
58
|
-
torchzero/modules/regularization/ortho_grad.py,sha256=DnUYXAc8VCMSOS5NoZSf1XrU9TStdyt8QpU8bhBzYqE,3127
|
|
59
|
-
torchzero/modules/regularization/weight_decay.py,sha256=4QeTpTra52MLyTrgCSaeaB8JxN-l8gVDq4JIwNoL41k,3625
|
|
60
|
-
torchzero/modules/scheduling/__init__.py,sha256=NxR1cpKXtZSbVqPRlzzzgH3_JBMuxQCf3nUhmxBN2Cc,89
|
|
61
|
-
torchzero/modules/scheduling/lr_schedulers.py,sha256=8zEK_wtE9IqnhHtS3FYNdh_f83q8V90YqLa1zWVzEW4,4965
|
|
62
|
-
torchzero/modules/scheduling/step_size.py,sha256=UOE2ZIcVTX7FHlO8BUqtMy31_jmOKQMpgkkc-WgLfZs,3674
|
|
63
|
-
torchzero/modules/second_order/__init__.py,sha256=oRyRy8mCjurMINHNdsxjlptLbQNU0VnstkDm1Ccv_80,182
|
|
64
|
-
torchzero/modules/second_order/newton.py,sha256=RPn0kHg6ZCAZLQLFW82eQAh7B1-U6d70xTb-CHbJLUs,6765
|
|
65
|
-
torchzero/modules/smoothing/__init__.py,sha256=-mxey48zc72aGV0dv4TLHeFpf98QZjlxMu5Pct1LI_Y,195
|
|
66
|
-
torchzero/modules/smoothing/gaussian_smoothing.py,sha256=9oxVMv--B0ESzOrhEaqQQeTWaVrSIqJXcU77VaRB2KE,3835
|
|
67
|
-
torchzero/modules/smoothing/laplacian_smoothing.py,sha256=TXy2IgVqZehH97PQWn655mK7nDlNEr3EeeCkKEVT0tA,5553
|
|
68
|
-
torchzero/modules/weight_averaging/__init__.py,sha256=nJJRs68AV2G4rGwiiHNRfm6XmtM-xUev1pCtzNIVfa8,66
|
|
69
|
-
torchzero/modules/weight_averaging/ema.py,sha256=tun6TNOMQWeAZyvkbJEDLf3tGgvJPhhWAAA5ScBsT08,2857
|
|
70
|
-
torchzero/modules/weight_averaging/swa.py,sha256=A4nRGQyMnZ2CaOW20iVfAs_iqV3lnULt7t--mjs9-TY,6772
|
|
71
|
-
torchzero/optim/__init__.py,sha256=vk6pIYJHWAGYJMdtJ1otsmVph-pdL5HwBg-CTeBCGso,253
|
|
72
|
-
torchzero/optim/modular.py,sha256=B1ypLnbGY87nUdylPcbukdNoXvKa5GHCl-_14XRqLWs,6066
|
|
73
|
-
torchzero/optim/experimental/__init__.py,sha256=RqNzJu5mVl3T0u7cf4TBzSiA20M1kxTZVYWjSVhEHuU,585
|
|
74
|
-
torchzero/optim/experimental/experimental.py,sha256=tMHZVbEXm3s6mMr7unFSvk_Jks3uAaAG0fzsH6gr098,10928
|
|
75
|
-
torchzero/optim/experimental/ray_search.py,sha256=GYyssL64D6RiImrZ2tchoZJ04x9rX-Bp1y2nQXEGxX0,2662
|
|
76
|
-
torchzero/optim/first_order/__init__.py,sha256=CRT4farcwi8sO1qqDGxXv1856zOwuKlJKBIAIvpL2Z0,336
|
|
77
|
-
torchzero/optim/first_order/cautious.py,sha256=XBeqrLQ4gFKVUYnJI5ROmF9wQJGhY90HR6UG5IS7vYk,6610
|
|
78
|
-
torchzero/optim/first_order/forward_gradient.py,sha256=EM6W8MezS6iUtW36lxozdo2U4aqlDKE7Zf-0s1LACXQ,3066
|
|
79
|
-
torchzero/optim/first_order/optimizers.py,sha256=jYmU6YDsYRGMRsCNkYc6AlvOf3wlU7Uv1xUrzl0o8zo,24501
|
|
80
|
-
torchzero/optim/quasi_newton/__init__.py,sha256=0X83dl-85_j3ck8itWxJR49ZbFeOcWurW6FI8J12F1w,49
|
|
81
|
-
torchzero/optim/quasi_newton/directional_newton.py,sha256=oZ-If8SRcFXTDFKS_zlAcJnif-v5dTCR9HXqmfvsvNA,2595
|
|
82
|
-
torchzero/optim/second_order/__init__.py,sha256=3Gt0dR4NzBK07TV0NF8KZImUGHbI8E2zncDmhIC377I,31
|
|
83
|
-
torchzero/optim/second_order/newton.py,sha256=-DqJrS8JPea6Y9jp5lDV14KyP8A24YKiPxJ32Vsfiv4,3848
|
|
84
|
-
torchzero/optim/wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
-
torchzero/optim/wrappers/nevergrad.py,sha256=4PLqfs2L9XJhveyX6l7kJu1cIPl6uv7_UD76amIlP7I,4733
|
|
86
|
-
torchzero/optim/wrappers/nlopt.py,sha256=fGDOZ82sRI2VLH3hKIAhZY4EuKSdu_g217c-NZvD_rs,7104
|
|
87
|
-
torchzero/optim/wrappers/scipy.py,sha256=_BQwFDQ7SBqIA5i1SJ29Xj0jDXVV8MQ_9RcsPT3U6VQ,18047
|
|
88
|
-
torchzero/optim/zeroth_order/__init__.py,sha256=_6T0znO6V63Niq7DMhJPgUuMc_nPvAGxjCjMdf-r64U,218
|
|
89
|
-
torchzero/optim/zeroth_order/fdm.py,sha256=5iJc_F_tRR4cGQfy2Jr8PmAnCGrPva89ZWczSdcBkFk,3686
|
|
90
|
-
torchzero/optim/zeroth_order/newton_fdm.py,sha256=-5E1FGzeJMr8_IougzE_FEOPFt9pEjQxID4Y89Hpmh0,6537
|
|
91
|
-
torchzero/optim/zeroth_order/rfdm.py,sha256=_Y7yiF1bsVRlXt5IK-3zQccwVl95JF0-Xw-fl8Q_7y4,10529
|
|
92
|
-
torchzero/optim/zeroth_order/rs.py,sha256=3w2nnPGWPecourEdUG583vchcqdNxC6Q_PBL3l0PvCk,3333
|
|
93
|
-
torchzero/random/__init__.py,sha256=8EowQhC4yTZuF8w1ZDl73YZtLej8SuhxCk1Bkifbkms,93
|
|
94
|
-
torchzero/random/random.py,sha256=Oq4GvM_6AOsabg5ke6b8h51V9npyHVxp8ob_wC5D-Aw,2829
|
|
95
|
-
torchzero/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
-
torchzero/utils/compile.py,sha256=pYEyX8P26iCb_hFqAXC8IP2SSQrRfC7ZDhXS0vVCsfY,1257
|
|
97
|
-
torchzero/utils/derivatives.py,sha256=koLmuUcVcX41SrH_9rvfJyMXyHyocNLuZ-C8Kr2B7hk,4844
|
|
98
|
-
torchzero/utils/python_tools.py,sha256=kkyDhoP695HhapfKrdjcrRbRAbcvB0ArP1pkxuVUlf0,1192
|
|
99
|
-
torchzero/utils/torch_tools.py,sha256=sSBY5Bmk9LOAgPtaq-6TK4wDgPXsg6FIWxv8CVDx82k,3580
|
|
100
|
-
torchzero-0.1.3.dist-info/LICENSE,sha256=r9ZciAoZoqKC_FNADE0ORukj1p1XhLXEbegdsAyqhJs,1087
|
|
101
|
-
torchzero-0.1.3.dist-info/METADATA,sha256=AEBDfBalgFdxHAYaGaEV5SMtP_AOu915DzB5Kw0Qtho,6096
|
|
102
|
-
torchzero-0.1.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
103
|
-
torchzero-0.1.3.dist-info/top_level.txt,sha256=isztuDR1ZGo8p2tORLa-vNuomcbLj7Xd208lhd-pVPs,10
|
|
104
|
-
torchzero-0.1.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|