lucid-dl 2.7.8__tar.gz → 2.7.9__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.
- {lucid_dl-2.7.8/lucid_dl.egg-info → lucid_dl-2.7.9}/PKG-INFO +3 -3
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/README.md +2 -2
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/lr_scheduler/_schedulers.py +34 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9/lucid_dl.egg-info}/PKG-INFO +3 -3
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/setup.py +1 -1
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/LICENSE +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_backend/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_backend/core.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_backend/metal.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_func/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_func/bfunc.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_func/gfunc.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_func/ufunc.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_tensor/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_tensor/tensor.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_tensor/tensor_ops.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_util/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/_util/func.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/data/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/data/_base.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/data/_util.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/datasets/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/datasets/_base.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/datasets/cifar.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/datasets/mnist.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/einops/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/einops/_func.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/error.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/linalg/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/linalg/_func.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/alex.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/coatnet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/convnext.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/crossvit.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/cspnet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/cvt.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/dense.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/efficient.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/efficientformer.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/inception.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/inception_next.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/inception_res.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/lenet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/maxvit.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/mobile.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/pvt.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/resnest.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/resnet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/resnext.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/senet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/sknet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/swin.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/vgg.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/vit.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/xception.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imgclf/zfnet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imggen/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imggen/ddpm.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/imggen/vae.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/detr.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/efficientdet.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/fast_rcnn.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/faster_rcnn.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/rcnn.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/util.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/yolo/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/yolo/yolo_v1.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/yolo/yolo_v2.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/yolo/yolo_v3.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/objdet/yolo/yolo_v4.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/seq2seq/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/seq2seq/transformer.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/models/util.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_activation.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_attention.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_conv.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_drop.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_linear.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_loss.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_norm.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_pool.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_spatial.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/functional/_util.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/fused.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/init/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/init/_dist.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/module.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/activation.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/attention.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/conv.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/drop.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/einops.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/linear.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/loss.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/norm.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/pool.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/sparse.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/transformer.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/modules/vision.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/parameter.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/nn/util.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/_base.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/ada.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/adam.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/lr_scheduler/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/lr_scheduler/_base.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/prop.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/optim/sgd.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/port.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/random/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/random/_func.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/transforms/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/transforms/_base.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/transforms/image.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/types.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/visual/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/visual/graph.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/weights/__init__.py +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid/weights/__init__.pyi +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid_dl.egg-info/SOURCES.txt +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid_dl.egg-info/dependency_links.txt +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid_dl.egg-info/requires.txt +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/lucid_dl.egg-info/top_level.txt +0 -0
- {lucid_dl-2.7.8 → lucid_dl-2.7.9}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lucid-dl
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.9
|
|
4
4
|
Summary: Lumerico's Comprehensive Interface for Deep Learning
|
|
5
5
|
Home-page: https://github.com/ChanLumerico/lucid
|
|
6
6
|
Author: ChanLumerico
|
|
@@ -30,10 +30,10 @@ Dynamic: summary
|
|
|
30
30
|
|
|
31
31
|

|
|
32
32
|

|
|
33
|
-

|
|
34
34
|

|
|
35
35
|

|
|
36
|
-

|
|
37
37
|
|
|
38
38
|
**Lucid** is a minimalist deep learning framework built entirely from scratch in Python. It offers a pedagogically rich environment to explore the foundations of modern deep learning systems, including autodiff, neural network modules, and GPU acceleration — all while staying lightweight, readable, and free of complex dependencies.
|
|
39
39
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|

|
|
5
|
-

|
|
6
6
|

|
|
7
7
|

|
|
8
|
-

|
|
9
9
|
|
|
10
10
|
**Lucid** is a minimalist deep learning framework built entirely from scratch in Python. It offers a pedagogically rich environment to explore the foundations of modern deep learning systems, including autodiff, neural network modules, and GPU acceleration — all while staying lightweight, readable, and free of complex dependencies.
|
|
11
11
|
|
|
@@ -13,6 +13,7 @@ __all__ = [
|
|
|
13
13
|
"CosineAnnealingLR",
|
|
14
14
|
"ReduceLROnPlateau",
|
|
15
15
|
"CyclicLR",
|
|
16
|
+
"NoamScheduler",
|
|
16
17
|
]
|
|
17
18
|
|
|
18
19
|
|
|
@@ -265,3 +266,36 @@ class CyclicLR(LRScheduler):
|
|
|
265
266
|
for _ in self.base_lrs
|
|
266
267
|
]
|
|
267
268
|
return new_lrs
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
class NoamScheduler(LRScheduler):
|
|
272
|
+
def __init__(
|
|
273
|
+
self,
|
|
274
|
+
optimizer: Optimizer,
|
|
275
|
+
model_size: int,
|
|
276
|
+
warmup_steps: int,
|
|
277
|
+
factor: float = 1.0,
|
|
278
|
+
last_epoch: int = -1,
|
|
279
|
+
verbose: bool = False,
|
|
280
|
+
) -> None:
|
|
281
|
+
if model_size <= 0:
|
|
282
|
+
raise ValueError("model_size must be a positive integer.")
|
|
283
|
+
if warmup_steps <= 0:
|
|
284
|
+
raise ValueError("warmup_steps must be a positive integer.")
|
|
285
|
+
if factor <= 0:
|
|
286
|
+
raise ValueError("factor must be a positive float.")
|
|
287
|
+
|
|
288
|
+
self.model_size = model_size
|
|
289
|
+
self.warmup_steps = warmup_steps
|
|
290
|
+
self.factor = factor
|
|
291
|
+
super().__init__(optimizer, last_epoch, verbose)
|
|
292
|
+
|
|
293
|
+
def get_lr(self) -> list[float]:
|
|
294
|
+
step_num = max(self.last_epoch, 1)
|
|
295
|
+
scale = self.factor * (self.model_size**-0.5)
|
|
296
|
+
|
|
297
|
+
warmup_term = step_num * (self.warmup_steps**-1.5)
|
|
298
|
+
decay_term = step_num**-0.5
|
|
299
|
+
lr_factor = scale * min(decay_term, warmup_term)
|
|
300
|
+
|
|
301
|
+
return [base_lr * lr_factor for base_lr in self.base_lrs]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lucid-dl
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.9
|
|
4
4
|
Summary: Lumerico's Comprehensive Interface for Deep Learning
|
|
5
5
|
Home-page: https://github.com/ChanLumerico/lucid
|
|
6
6
|
Author: ChanLumerico
|
|
@@ -30,10 +30,10 @@ Dynamic: summary
|
|
|
30
30
|
|
|
31
31
|

|
|
32
32
|

|
|
33
|
-

|
|
34
34
|

|
|
35
35
|

|
|
36
|
-

|
|
37
37
|
|
|
38
38
|
**Lucid** is a minimalist deep learning framework built entirely from scratch in Python. It offers a pedagogically rich environment to explore the foundations of modern deep learning systems, including autodiff, neural network modules, and GPU acceleration — all while staying lightweight, readable, and free of complex dependencies.
|
|
39
39
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|