sleap-nn 0.1.0a2__py3-none-any.whl → 0.1.0a3__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.
- sleap_nn/__init__.py +1 -1
- sleap_nn/cli.py +36 -0
- sleap_nn/evaluation.py +8 -0
- sleap_nn/export/__init__.py +21 -0
- sleap_nn/export/cli.py +1778 -0
- sleap_nn/export/exporters/__init__.py +51 -0
- sleap_nn/export/exporters/onnx_exporter.py +80 -0
- sleap_nn/export/exporters/tensorrt_exporter.py +291 -0
- sleap_nn/export/metadata.py +225 -0
- sleap_nn/export/predictors/__init__.py +63 -0
- sleap_nn/export/predictors/base.py +22 -0
- sleap_nn/export/predictors/onnx.py +154 -0
- sleap_nn/export/predictors/tensorrt.py +312 -0
- sleap_nn/export/utils.py +307 -0
- sleap_nn/export/wrappers/__init__.py +25 -0
- sleap_nn/export/wrappers/base.py +96 -0
- sleap_nn/export/wrappers/bottomup.py +243 -0
- sleap_nn/export/wrappers/bottomup_multiclass.py +195 -0
- sleap_nn/export/wrappers/centered_instance.py +56 -0
- sleap_nn/export/wrappers/centroid.py +58 -0
- sleap_nn/export/wrappers/single_instance.py +83 -0
- sleap_nn/export/wrappers/topdown.py +180 -0
- sleap_nn/export/wrappers/topdown_multiclass.py +304 -0
- sleap_nn/inference/postprocessing.py +284 -0
- sleap_nn/predict.py +29 -0
- sleap_nn/train.py +64 -0
- sleap_nn/training/callbacks.py +62 -20
- sleap_nn/training/lightning_modules.py +332 -30
- sleap_nn/training/model_trainer.py +35 -67
- {sleap_nn-0.1.0a2.dist-info → sleap_nn-0.1.0a3.dist-info}/METADATA +12 -1
- {sleap_nn-0.1.0a2.dist-info → sleap_nn-0.1.0a3.dist-info}/RECORD +35 -14
- {sleap_nn-0.1.0a2.dist-info → sleap_nn-0.1.0a3.dist-info}/WHEEL +0 -0
- {sleap_nn-0.1.0a2.dist-info → sleap_nn-0.1.0a3.dist-info}/entry_points.txt +0 -0
- {sleap_nn-0.1.0a2.dist-info → sleap_nn-0.1.0a3.dist-info}/licenses/LICENSE +0 -0
- {sleap_nn-0.1.0a2.dist-info → sleap_nn-0.1.0a3.dist-info}/top_level.txt +0 -0
|
@@ -23,7 +23,6 @@ from sleap_nn.data.utils import check_cache_memory
|
|
|
23
23
|
from lightning.pytorch.callbacks import (
|
|
24
24
|
ModelCheckpoint,
|
|
25
25
|
EarlyStopping,
|
|
26
|
-
LearningRateMonitor,
|
|
27
26
|
)
|
|
28
27
|
from lightning.pytorch.profilers import (
|
|
29
28
|
SimpleProfiler,
|
|
@@ -494,13 +493,10 @@ class ModelTrainer:
|
|
|
494
493
|
if run_name is None or run_name == "" or run_name == "None":
|
|
495
494
|
sum_train_lfs = sum([len(train_label) for train_label in self.train_labels])
|
|
496
495
|
sum_val_lfs = sum([len(val_label) for val_label in self.val_labels])
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
datetime.now().strftime("%y%m%d_%H%M%S")
|
|
502
|
-
+ f".{self.model_type}.n={sum_train_lfs + sum_val_lfs}"
|
|
503
|
-
)
|
|
496
|
+
run_name = (
|
|
497
|
+
datetime.now().strftime("%y%m%d_%H%M%S")
|
|
498
|
+
+ f".{self.model_type}.n={sum_train_lfs + sum_val_lfs}"
|
|
499
|
+
)
|
|
504
500
|
|
|
505
501
|
# If checkpoint path already exists, add suffix to prevent overwriting
|
|
506
502
|
if (Path(ckpt_dir) / run_name).exists() and (
|
|
@@ -643,10 +639,6 @@ class ModelTrainer:
|
|
|
643
639
|
if self.config.trainer_config.wandb.prv_runid == "":
|
|
644
640
|
self.config.trainer_config.wandb.prv_runid = None
|
|
645
641
|
|
|
646
|
-
# Default wandb run name to trainer run_name if not specified
|
|
647
|
-
if self.config.trainer_config.wandb.name is None:
|
|
648
|
-
self.config.trainer_config.wandb.name = self.config.trainer_config.run_name
|
|
649
|
-
|
|
650
642
|
# compute preprocessing parameters from the labels objects and fill in the config
|
|
651
643
|
self._setup_preprocessing_config()
|
|
652
644
|
|
|
@@ -696,9 +688,14 @@ class ModelTrainer:
|
|
|
696
688
|
)
|
|
697
689
|
)
|
|
698
690
|
|
|
699
|
-
# setup checkpoint path
|
|
691
|
+
# setup checkpoint path (generates run_name if not specified)
|
|
700
692
|
self._setup_ckpt_path()
|
|
701
693
|
|
|
694
|
+
# Default wandb run name to trainer run_name if not specified
|
|
695
|
+
# Note: This must come after _setup_ckpt_path() which generates run_name
|
|
696
|
+
if self.config.trainer_config.wandb.name is None:
|
|
697
|
+
self.config.trainer_config.wandb.name = self.config.trainer_config.run_name
|
|
698
|
+
|
|
702
699
|
# verify input_channels in model_config based on input image and pretrained model weights
|
|
703
700
|
self._verify_model_input_channels()
|
|
704
701
|
|
|
@@ -838,7 +835,7 @@ class ModelTrainer:
|
|
|
838
835
|
/ self.config.trainer_config.run_name
|
|
839
836
|
).as_posix(),
|
|
840
837
|
filename="best",
|
|
841
|
-
monitor="
|
|
838
|
+
monitor="val/loss",
|
|
842
839
|
mode="min",
|
|
843
840
|
)
|
|
844
841
|
callbacks.append(checkpoint_callback)
|
|
@@ -846,18 +843,20 @@ class ModelTrainer:
|
|
|
846
843
|
# csv log callback
|
|
847
844
|
csv_log_keys = [
|
|
848
845
|
"epoch",
|
|
849
|
-
"
|
|
850
|
-
"
|
|
846
|
+
"train/loss",
|
|
847
|
+
"val/loss",
|
|
851
848
|
"learning_rate",
|
|
852
|
-
"
|
|
853
|
-
"
|
|
849
|
+
"train/time",
|
|
850
|
+
"val/time",
|
|
854
851
|
]
|
|
855
852
|
if self.model_type in [
|
|
856
853
|
"single_instance",
|
|
857
854
|
"centered_instance",
|
|
858
855
|
"multi_class_topdown",
|
|
859
856
|
]:
|
|
860
|
-
csv_log_keys.extend(
|
|
857
|
+
csv_log_keys.extend(
|
|
858
|
+
[f"train/confmaps/{name}" for name in self.skeletons[0].node_names]
|
|
859
|
+
)
|
|
861
860
|
csv_logger = CSVLoggerCallback(
|
|
862
861
|
filepath=Path(self.config.trainer_config.ckpt_dir)
|
|
863
862
|
/ self.config.trainer_config.run_name
|
|
@@ -870,7 +869,7 @@ class ModelTrainer:
|
|
|
870
869
|
# early stopping callback
|
|
871
870
|
callbacks.append(
|
|
872
871
|
EarlyStopping(
|
|
873
|
-
monitor="
|
|
872
|
+
monitor="val/loss",
|
|
874
873
|
mode="min",
|
|
875
874
|
verbose=False,
|
|
876
875
|
min_delta=self.config.trainer_config.early_stopping.min_delta,
|
|
@@ -910,10 +909,6 @@ class ModelTrainer:
|
|
|
910
909
|
"To keep logs, set trainer_config.wandb.delete_local_logs=false"
|
|
911
910
|
)
|
|
912
911
|
|
|
913
|
-
# Learning rate monitor callback - logs LR at each step for dynamic schedulers
|
|
914
|
-
# Only added when wandb is enabled since it requires a logger
|
|
915
|
-
callbacks.append(LearningRateMonitor(logging_interval="step"))
|
|
916
|
-
|
|
917
912
|
# save the configs as yaml in the checkpoint dir
|
|
918
913
|
# Mask API key in both configs to prevent saving to disk
|
|
919
914
|
self.config.trainer_config.wandb.api_key = ""
|
|
@@ -1281,28 +1276,21 @@ class ModelTrainer:
|
|
|
1281
1276
|
# Define custom x-axes for wandb metrics
|
|
1282
1277
|
# Epoch-level metrics use epoch as x-axis, step-level use default global_step
|
|
1283
1278
|
wandb.define_metric("epoch")
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
wandb.define_metric("
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
wandb.define_metric("
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
wandb.define_metric("
|
|
1299
|
-
wandb.define_metric("val_oks_voc_mAP", step_metric="epoch")
|
|
1300
|
-
wandb.define_metric("val_oks_voc_mAR", step_metric="epoch")
|
|
1301
|
-
wandb.define_metric("val_avg_distance", step_metric="epoch")
|
|
1302
|
-
wandb.define_metric("val_p50_distance", step_metric="epoch")
|
|
1303
|
-
wandb.define_metric("val_mPCK", step_metric="epoch")
|
|
1304
|
-
wandb.define_metric("val_visibility_precision", step_metric="epoch")
|
|
1305
|
-
wandb.define_metric("val_visibility_recall", step_metric="epoch")
|
|
1279
|
+
|
|
1280
|
+
# Training metrics (train/ prefix for grouping) - all use epoch x-axis
|
|
1281
|
+
wandb.define_metric("train/*", step_metric="epoch")
|
|
1282
|
+
wandb.define_metric("train/confmaps/*", step_metric="epoch")
|
|
1283
|
+
|
|
1284
|
+
# Validation metrics (val/ prefix for grouping)
|
|
1285
|
+
wandb.define_metric("val/*", step_metric="epoch")
|
|
1286
|
+
|
|
1287
|
+
# Evaluation metrics (eval/ prefix for grouping)
|
|
1288
|
+
wandb.define_metric("eval/*", step_metric="epoch")
|
|
1289
|
+
|
|
1290
|
+
# Visualization images (need explicit nested paths)
|
|
1291
|
+
wandb.define_metric("viz/*", step_metric="epoch")
|
|
1292
|
+
wandb.define_metric("viz/train/*", step_metric="epoch")
|
|
1293
|
+
wandb.define_metric("viz/val/*", step_metric="epoch")
|
|
1306
1294
|
|
|
1307
1295
|
self.config.trainer_config.wandb.current_run_id = wandb.run.id
|
|
1308
1296
|
wandb.config["run_name"] = self.config.trainer_config.wandb.name
|
|
@@ -1345,27 +1333,7 @@ class ModelTrainer:
|
|
|
1345
1333
|
logger.info(
|
|
1346
1334
|
f"Finished training loop. [{(time.time() - start_train_time) / 60:.1f} min]"
|
|
1347
1335
|
)
|
|
1348
|
-
|
|
1349
|
-
wandb.finish()
|
|
1350
|
-
|
|
1351
|
-
# Delete local wandb logs if configured
|
|
1352
|
-
wandb_config = self.config.trainer_config.wandb
|
|
1353
|
-
should_delete_wandb_logs = wandb_config.delete_local_logs is True or (
|
|
1354
|
-
wandb_config.delete_local_logs is None
|
|
1355
|
-
and wandb_config.wandb_mode != "offline"
|
|
1356
|
-
)
|
|
1357
|
-
if should_delete_wandb_logs:
|
|
1358
|
-
wandb_dir = (
|
|
1359
|
-
Path(self.config.trainer_config.ckpt_dir)
|
|
1360
|
-
/ self.config.trainer_config.run_name
|
|
1361
|
-
/ "wandb"
|
|
1362
|
-
)
|
|
1363
|
-
if wandb_dir.exists():
|
|
1364
|
-
logger.info(
|
|
1365
|
-
f"Deleting local wandb logs at {wandb_dir}... "
|
|
1366
|
-
"(set trainer_config.wandb.delete_local_logs=false to disable)"
|
|
1367
|
-
)
|
|
1368
|
-
shutil.rmtree(wandb_dir, ignore_errors=True)
|
|
1336
|
+
# Note: wandb.finish() is called in train.py after post-training evaluation
|
|
1369
1337
|
|
|
1370
1338
|
# delete image disk caching
|
|
1371
1339
|
if (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sleap-nn
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.0a3
|
|
4
4
|
Summary: Neural network backend for training and inference for animal pose estimation.
|
|
5
5
|
Author-email: Divya Seshadri Murali <dimurali@salk.edu>, Elizabeth Berrigan <eberrigan@salk.edu>, Vincent Tu <vitu@ucsd.edu>, Liezl Maree <lmaree@salk.edu>, David Samy <davidasamy@gmail.com>, Talmo Pereira <talmo@salk.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -47,6 +47,17 @@ Requires-Dist: torchvision>=0.20.0; extra == "torch-cuda128"
|
|
|
47
47
|
Provides-Extra: torch-cuda130
|
|
48
48
|
Requires-Dist: torch; extra == "torch-cuda130"
|
|
49
49
|
Requires-Dist: torchvision>=0.20.0; extra == "torch-cuda130"
|
|
50
|
+
Provides-Extra: export
|
|
51
|
+
Requires-Dist: onnx>=1.15.0; extra == "export"
|
|
52
|
+
Requires-Dist: onnxruntime>=1.16.0; extra == "export"
|
|
53
|
+
Requires-Dist: onnxscript>=0.1.0; extra == "export"
|
|
54
|
+
Provides-Extra: export-gpu
|
|
55
|
+
Requires-Dist: onnx>=1.15.0; extra == "export-gpu"
|
|
56
|
+
Requires-Dist: onnxruntime-gpu>=1.16.0; extra == "export-gpu"
|
|
57
|
+
Requires-Dist: onnxscript>=0.1.0; extra == "export-gpu"
|
|
58
|
+
Provides-Extra: tensorrt
|
|
59
|
+
Requires-Dist: tensorrt>=10.0.0; extra == "tensorrt"
|
|
60
|
+
Requires-Dist: torch-tensorrt>=2.0.0; extra == "tensorrt"
|
|
50
61
|
Dynamic: license-file
|
|
51
62
|
|
|
52
63
|
# sleap-nn
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
sleap_nn/.DS_Store,sha256=HY8amA79eHkt7o5VUiNsMxkc9YwW6WIPyZbYRj_JdSU,6148
|
|
2
|
-
sleap_nn/__init__.py,sha256=
|
|
3
|
-
sleap_nn/cli.py,sha256=
|
|
4
|
-
sleap_nn/evaluation.py,sha256=
|
|
2
|
+
sleap_nn/__init__.py,sha256=rBA8WZU2_28NOBxfsqkSeA1hMG4pKEPiB2_yZYmhCIg,1362
|
|
3
|
+
sleap_nn/cli.py,sha256=O_edfRK6imWE8KFECQ-Ux0sqlLLbsyQYQjTLtQ63ry4,22295
|
|
4
|
+
sleap_nn/evaluation.py,sha256=SRO3qNOyyGoNBLLA2OKIUhvwyk0oI2ax1rtYmccx6m0,33785
|
|
5
5
|
sleap_nn/legacy_models.py,sha256=8aGK30DZv3pW2IKDBEWH1G2mrytjaxPQD4miPUehj0M,20258
|
|
6
|
-
sleap_nn/predict.py,sha256=
|
|
6
|
+
sleap_nn/predict.py,sha256=B0YhCdJ35TLOydpVvc3gHdkN45pf_ruhi7jZ_6Rrfqs,37089
|
|
7
7
|
sleap_nn/system_info.py,sha256=7tWe3y6s872nDbrZoHIdSs-w4w46Z4dEV2qCV-Fe7No,14711
|
|
8
|
-
sleap_nn/train.py,sha256=
|
|
8
|
+
sleap_nn/train.py,sha256=PEaK2B0S7DoImf8vt2cvJQS-n2NBw_pUJHmXy0J4NT0,30712
|
|
9
9
|
sleap_nn/architectures/__init__.py,sha256=w0XxQcx-CYyooszzvxRkKWiJkUg-26IlwQoGna8gn40,46
|
|
10
10
|
sleap_nn/architectures/common.py,sha256=MLv-zdHsWL5Q2ct_Wv6SQbRS-5hrFtjK_pvBEfwx-vU,3660
|
|
11
11
|
sleap_nn/architectures/convnext.py,sha256=l9lMJDxIMb-9MI3ShOtVwbOUMuwOLtSQlxiVyYHqjvE,13953
|
|
@@ -34,11 +34,32 @@ sleap_nn/data/normalization.py,sha256=5xEvcguG-fvAGObl4nWPZ9TEM5gvv0uYPGDuni34XI
|
|
|
34
34
|
sleap_nn/data/providers.py,sha256=0x6GFP1s1c08ji4p0M5V6p-dhT4Z9c-SI_Aw1DWX-uM,14272
|
|
35
35
|
sleap_nn/data/resizing.py,sha256=YFpSQduIBkRK39FYmrqDL-v8zMySlEs6TJxh6zb_0ZU,5076
|
|
36
36
|
sleap_nn/data/utils.py,sha256=rT0w7KMOTlzaeKWq1TqjbgC4Lvjz_G96McllvEOqXx8,5641
|
|
37
|
+
sleap_nn/export/__init__.py,sha256=E5FN_dG7583V_poTMS8jthL0Bf07qFCUA0kY2iewlvk,574
|
|
38
|
+
sleap_nn/export/cli.py,sha256=UcXrefi7YKunaIzbW97QeBQmbG3_-7Xa4XZgcwOGd9k,63568
|
|
39
|
+
sleap_nn/export/metadata.py,sha256=ory-smt2tpgObmld7WicxEFFHM03hl6yasl4N3KVTmA,7427
|
|
40
|
+
sleap_nn/export/utils.py,sha256=oSVf_PCG1IUZd6ZpgwOMPgqVkMxaO50tt2C-cTUMGg4,11414
|
|
41
|
+
sleap_nn/export/exporters/__init__.py,sha256=zBZMEjqzjGDq1KvIiKSVrHPplE4zVtUW3MHQ5kGg1M4,1459
|
|
42
|
+
sleap_nn/export/exporters/onnx_exporter.py,sha256=i3GWYn9NH2i_SJd2OmVHZgUfJJW9w-Swms1YDM-HhEc,2129
|
|
43
|
+
sleap_nn/export/exporters/tensorrt_exporter.py,sha256=5v_wnkal7bPKgrhQRL8akYikmQ_8PdqVr1ajpmU1oGo,9069
|
|
44
|
+
sleap_nn/export/predictors/__init__.py,sha256=xmDFeK05eHO9-Obue3jhBy4VMBW0NZjyGXSuL3RMhJY,1772
|
|
45
|
+
sleap_nn/export/predictors/base.py,sha256=5uJjMSuG4p-I3YPY9tpn6m8HdENcPqFtjpehL5mNuAg,584
|
|
46
|
+
sleap_nn/export/predictors/onnx.py,sha256=uiFIrCQBxZ_pK4x0JUx2N2k6qzN8KqfQtXAa4FkqVIs,5125
|
|
47
|
+
sleap_nn/export/predictors/tensorrt.py,sha256=lrYjw_lasjbGIku8aM5b26G92bXdvQaVAKrT6U4Xcco,10805
|
|
48
|
+
sleap_nn/export/wrappers/__init__.py,sha256=OeMCP8UCXNwmAYCrudKX-Gt4nhr9z13bzkdrZHjUNnk,984
|
|
49
|
+
sleap_nn/export/wrappers/base.py,sha256=sd55SCkjOdMYut9Yh8Yi1MMF8EY0U9oYtXadmi7xD80,3462
|
|
50
|
+
sleap_nn/export/wrappers/bottomup.py,sha256=rh4-wu4Oc8JWWW3K3xLhiTkyQ3dqhJ9QfMrPY65ck4Y,9237
|
|
51
|
+
sleap_nn/export/wrappers/bottomup_multiclass.py,sha256=r0-LJxv8zYTUr94ytlj1rp0GDuodY6CugLIl93IVhRA,7495
|
|
52
|
+
sleap_nn/export/wrappers/centered_instance.py,sha256=PShtVAlJhSbyuAVmRNjIM3PnOngaRFX3LtX-wO91Qqs,1704
|
|
53
|
+
sleap_nn/export/wrappers/centroid.py,sha256=3nbbysCkzHS9pRC2-37z4Z1Ol5XEdvYahyR4Gm25dqc,1840
|
|
54
|
+
sleap_nn/export/wrappers/single_instance.py,sha256=ZoQICK5_tuPjA19wsDmq8ljhM1Qus2_O8ZCDq6yd2L4,2826
|
|
55
|
+
sleap_nn/export/wrappers/topdown.py,sha256=_HAtEASBSfLTfFO9Q7honIpm4ECNoMR76JLkWyO-PF8,6809
|
|
56
|
+
sleap_nn/export/wrappers/topdown_multiclass.py,sha256=fJ3SC76BdB5QWOvMobCoKqf1OQBJGoi5MS0Bv6_gQmY,11920
|
|
37
57
|
sleap_nn/inference/__init__.py,sha256=eVkCmKrxHlDFJIlZTf8B5XEOcSyw-gPQymXMY5uShOM,170
|
|
38
58
|
sleap_nn/inference/bottomup.py,sha256=3s90aRlpIcRnSNe-R5-qiuX3S48kCWMpCl8YuNnTEDI,17084
|
|
39
59
|
sleap_nn/inference/identity.py,sha256=GjNDL9MfGqNyQaK4AE8JQCAE8gpMuE_Y-3r3Gpa53CE,6540
|
|
40
60
|
sleap_nn/inference/paf_grouping.py,sha256=7Fo9lCAj-zcHgv5rI5LIMYGcixCGNt_ZbSNs8Dik7l8,69973
|
|
41
61
|
sleap_nn/inference/peak_finding.py,sha256=L9LdYKt_Bfw7cxo6xEpgF8wXcZAwq5plCfmKJ839N40,13014
|
|
62
|
+
sleap_nn/inference/postprocessing.py,sha256=ZM_OH7_WIprieaujZ2Rk_34JhSDDzCry6Pq2YM_u5sg,8998
|
|
42
63
|
sleap_nn/inference/predictors.py,sha256=U114RlgOXKGm5iz1lnTfE3aN9S0WCh6gWhVP3KVewfc,158046
|
|
43
64
|
sleap_nn/inference/provenance.py,sha256=0BekXyvpLMb0Vv6DjpctlLduG9RN-Q8jt5zDm783eZE,11204
|
|
44
65
|
sleap_nn/inference/single_instance.py,sha256=rOns_5TsJ1rb-lwmHG3ZY-pOhXGN2D-SfW9RmBxxzcI,4089
|
|
@@ -52,14 +73,14 @@ sleap_nn/tracking/candidates/__init__.py,sha256=1O7NObIwshM7j1rLHmImbFphvkM9wY1j
|
|
|
52
73
|
sleap_nn/tracking/candidates/fixed_window.py,sha256=D80KMlTnenuQveQVVhk9j0G8yx6K324C7nMLHgG76e0,6296
|
|
53
74
|
sleap_nn/tracking/candidates/local_queues.py,sha256=Nx3R5wwEwq0gbfH-fi3oOumfkQo8_sYe5GN47pD9Be8,7305
|
|
54
75
|
sleap_nn/training/__init__.py,sha256=vNTKsIJPZHJwFSKn5PmjiiRJunR_9e7y4_v0S6rdF8U,32
|
|
55
|
-
sleap_nn/training/callbacks.py,sha256=
|
|
56
|
-
sleap_nn/training/lightning_modules.py,sha256=
|
|
76
|
+
sleap_nn/training/callbacks.py,sha256=7FvYLLoOxbjIu9v9zjDmzHZC4TW6y_P-N9J9GliHlSc,37944
|
|
77
|
+
sleap_nn/training/lightning_modules.py,sha256=z98NBTrNy-GfCw4zatummJhVUO1fdjv_kPweAKcoaXc,108394
|
|
57
78
|
sleap_nn/training/losses.py,sha256=gbdinUURh4QUzjmNd2UJpt4FXwecqKy9gHr65JZ1bZk,1632
|
|
58
|
-
sleap_nn/training/model_trainer.py,sha256=
|
|
79
|
+
sleap_nn/training/model_trainer.py,sha256=LHBIpjcI6WCJUxAHFKA-DSesNT3Nk4-RhSKlDaP4Fz4,58715
|
|
59
80
|
sleap_nn/training/utils.py,sha256=ivdkZEI0DkTCm6NPszsaDOh9jSfozkONZdl6TvvQUWI,20398
|
|
60
|
-
sleap_nn-0.1.
|
|
61
|
-
sleap_nn-0.1.
|
|
62
|
-
sleap_nn-0.1.
|
|
63
|
-
sleap_nn-0.1.
|
|
64
|
-
sleap_nn-0.1.
|
|
65
|
-
sleap_nn-0.1.
|
|
81
|
+
sleap_nn-0.1.0a3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
82
|
+
sleap_nn-0.1.0a3.dist-info/METADATA,sha256=nx3yU6SNyPf_hNqCO1183zj3OEuxX3frrMqIr0MfNbo,6145
|
|
83
|
+
sleap_nn-0.1.0a3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
84
|
+
sleap_nn-0.1.0a3.dist-info/entry_points.txt,sha256=zfl5Y3hidZxWBvo8qXvu5piJAXJ_l6v7xVFm0gNiUoI,46
|
|
85
|
+
sleap_nn-0.1.0a3.dist-info/top_level.txt,sha256=Kz68iQ55K75LWgSeqz4V4SCMGeFFYH-KGBOyhQh3xZE,9
|
|
86
|
+
sleap_nn-0.1.0a3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|