britekit 0.0.9__tar.gz → 0.0.11__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 britekit might be problematic. Click here for more details.
- {britekit-0.0.9 → britekit-0.0.11}/PKG-INFO +2 -2
- {britekit-0.0.9 → britekit-0.0.11}/README.md +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/__about__.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_analyze.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_ckpt_ops.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_db_add.py +4 -4
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_db_delete.py +7 -7
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_embed.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_ensemble.py +3 -13
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_extract.py +2 -2
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_find_dup.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_pickle.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_plot.py +3 -3
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_reextract.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_reports.py +4 -4
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_search.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_train.py +2 -2
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_tune.py +5 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/analyzer.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/audio.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/config_loader.py +13 -7
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/data_module.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/dataset.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/pickler.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/plot.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/predictor.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/reextractor.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/trainer.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/tuner.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/util.py +3 -3
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/base_model.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/model_loader.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/timm_model.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/testing/per_minute_tester.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/testing/per_recording_tester.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/testing/per_segment_tester.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/training_db/extractor.py +1 -1
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/training_db/training_db.py +0 -2
- {britekit-0.0.9 → britekit-0.0.11}/.gitignore +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/LICENSE.txt +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/__init__.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/__init__.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_audioset.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_calibrate.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_inat.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_init.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_wav2mp3.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_xeno.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/commands/_youtube.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/core/__init__.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/class_inclusion.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/class_list.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/aircraft.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/car.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/chainsaw.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/cow.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/cricket.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/dog.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/rain.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/rooster.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/sheep.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/siren.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/speech.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/truck.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/curated/wind.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/unbalanced_train_segments.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/classes.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/ignore.txt +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/base_config.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/cfg_infer.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/train_dla.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/train_effnet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/train_gernet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/train_hgnet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/train_timm.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/train_vovnet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/tune_dropout.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/tune_learning_rate.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/tune_optimizer.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/britekit/install/yaml/samples/tune_smooth.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/class_inclusion.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/class_list.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/aircraft.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/car.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/chainsaw.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/cow.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/cricket.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/dog.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/rain.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/rooster.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/sheep.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/siren.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/speech.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/truck.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/curated/wind.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/audioset/unbalanced_train_segments.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/classes.csv +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/data/ignore.txt +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/base_config.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/cfg_infer.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/train_dla.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/train_effnet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/train_gernet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/train_hgnet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/train_timm.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/train_vovnet.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/tune_dropout.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/tune_learning_rate.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/tune_optimizer.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/install/yaml/samples/tune_smooth.yaml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/pyproject.toml +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/cli.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/augmentation.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/base_config.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/core/exceptions.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/dla.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/effnet.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/gernet.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/head_factory.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/hgnet.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/models/vovnet.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/occurrence_db/occurrence_data_provider.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/occurrence_db/occurrence_db.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/testing/base_tester.py +0 -0
- {britekit-0.0.9 → britekit-0.0.11}/src/britekit/training_db/training_data_provider.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: britekit
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.11
|
|
4
4
|
Summary: Core functions for bioacoustic recognizers.
|
|
5
5
|
Project-URL: Documentation, https://github.com/jhuus/BriteKit#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/jhuus/BriteKit/issues
|
|
@@ -120,7 +120,7 @@ train:
|
|
|
120
120
|
This overrides the default values for model_type, learning_rate, drop_rate and num_epochs. When using the API, you can update configuration parameters like this:
|
|
121
121
|
```
|
|
122
122
|
import britekit as bk
|
|
123
|
-
cfg
|
|
123
|
+
cfg = bk.get_config()
|
|
124
124
|
cfg.train.model_type = "effnet.4"
|
|
125
125
|
```
|
|
126
126
|
## Downloading Recordings
|
|
@@ -81,7 +81,7 @@ train:
|
|
|
81
81
|
This overrides the default values for model_type, learning_rate, drop_rate and num_epochs. When using the API, you can update configuration parameters like this:
|
|
82
82
|
```
|
|
83
83
|
import britekit as bk
|
|
84
|
-
cfg
|
|
84
|
+
cfg = bk.get_config()
|
|
85
85
|
cfg.train.model_type = "effnet.4"
|
|
86
86
|
```
|
|
87
87
|
## Downloading Recordings
|
|
@@ -47,7 +47,7 @@ def analyze(
|
|
|
47
47
|
from britekit.core.analyzer import Analyzer
|
|
48
48
|
|
|
49
49
|
util.set_logging()
|
|
50
|
-
cfg
|
|
50
|
+
cfg = get_config(cfg_path)
|
|
51
51
|
try:
|
|
52
52
|
if rtype not in {"audacity", "csv", "both"}:
|
|
53
53
|
logging.error(f"Error. invalid rtype value: {rtype}")
|
|
@@ -142,7 +142,7 @@ def ckpt_onnx(
|
|
|
142
142
|
import torch
|
|
143
143
|
from britekit.models.model_loader import load_from_checkpoint
|
|
144
144
|
|
|
145
|
-
cfg
|
|
145
|
+
cfg = get_config(cfg_path)
|
|
146
146
|
base, _ = os.path.splitext(input_path)
|
|
147
147
|
output_path = base + ".onnx"
|
|
148
148
|
model = load_from_checkpoint(input_path)
|
|
@@ -23,7 +23,7 @@ def add_cat(db_path: Optional[str]=None, name: str="") -> None:
|
|
|
23
23
|
"""
|
|
24
24
|
from britekit.training_db.training_db import TrainingDatabase
|
|
25
25
|
|
|
26
|
-
cfg
|
|
26
|
+
cfg = get_config()
|
|
27
27
|
if db_path is None:
|
|
28
28
|
db_path = cfg.train.train_db
|
|
29
29
|
|
|
@@ -63,7 +63,7 @@ def add_stype(db_path: Optional[str]=None, name: str="") -> None:
|
|
|
63
63
|
"""
|
|
64
64
|
from britekit.training_db.training_db import TrainingDatabase
|
|
65
65
|
|
|
66
|
-
cfg
|
|
66
|
+
cfg = get_config()
|
|
67
67
|
if db_path is None:
|
|
68
68
|
db_path = cfg.train.train_db
|
|
69
69
|
|
|
@@ -103,7 +103,7 @@ def add_src(db_path: Optional[str]=None, name: str="") -> None:
|
|
|
103
103
|
"""
|
|
104
104
|
from britekit.training_db.training_db import TrainingDatabase
|
|
105
105
|
|
|
106
|
-
cfg
|
|
106
|
+
cfg = get_config()
|
|
107
107
|
if db_path is None:
|
|
108
108
|
db_path = cfg.train.train_db
|
|
109
109
|
|
|
@@ -154,7 +154,7 @@ def add_class(
|
|
|
154
154
|
"""
|
|
155
155
|
from britekit.training_db.training_db import TrainingDatabase
|
|
156
156
|
|
|
157
|
-
cfg
|
|
157
|
+
cfg = get_config()
|
|
158
158
|
if db_path is None:
|
|
159
159
|
db_path = cfg.train.train_db
|
|
160
160
|
|
|
@@ -25,7 +25,7 @@ def del_cat(db_path: Optional[str]=None, name: Optional[str]=None) -> None:
|
|
|
25
25
|
"""
|
|
26
26
|
from britekit.training_db.training_db import TrainingDatabase
|
|
27
27
|
|
|
28
|
-
cfg
|
|
28
|
+
cfg = get_config()
|
|
29
29
|
if db_path is None:
|
|
30
30
|
db_path = cfg.train.train_db
|
|
31
31
|
|
|
@@ -78,7 +78,7 @@ def del_class(db_path: Optional[str]=None, name: Optional[str]=None) -> None:
|
|
|
78
78
|
"""
|
|
79
79
|
from britekit.training_db.training_db import TrainingDatabase
|
|
80
80
|
|
|
81
|
-
cfg
|
|
81
|
+
cfg = get_config()
|
|
82
82
|
if db_path is None:
|
|
83
83
|
db_path = cfg.train.train_db
|
|
84
84
|
|
|
@@ -128,7 +128,7 @@ def del_rec(db_path: Optional[str]=None, file_name: Optional[str]=None) -> None:
|
|
|
128
128
|
"""
|
|
129
129
|
from britekit.training_db.training_db import TrainingDatabase
|
|
130
130
|
|
|
131
|
-
cfg
|
|
131
|
+
cfg = get_config()
|
|
132
132
|
if db_path is None:
|
|
133
133
|
db_path = cfg.train.train_db
|
|
134
134
|
|
|
@@ -172,7 +172,7 @@ def del_sgroup(db_path: Optional[str]=None, name: Optional[str]=None) -> None:
|
|
|
172
172
|
"""
|
|
173
173
|
from britekit.training_db.training_db import TrainingDatabase
|
|
174
174
|
|
|
175
|
-
cfg
|
|
175
|
+
cfg = get_config()
|
|
176
176
|
if db_path is None:
|
|
177
177
|
db_path = cfg.train.train_db
|
|
178
178
|
|
|
@@ -217,7 +217,7 @@ def del_stype(db_path: Optional[str]=None, name: Optional[str]=None) -> None:
|
|
|
217
217
|
"""
|
|
218
218
|
from britekit.training_db.training_db import TrainingDatabase
|
|
219
219
|
|
|
220
|
-
cfg
|
|
220
|
+
cfg = get_config()
|
|
221
221
|
if db_path is None:
|
|
222
222
|
db_path = cfg.train.train_db
|
|
223
223
|
|
|
@@ -262,7 +262,7 @@ def del_src(db_path: Optional[str]=None, name: Optional[str]=None) -> None:
|
|
|
262
262
|
"""
|
|
263
263
|
from britekit.training_db.training_db import TrainingDatabase
|
|
264
264
|
|
|
265
|
-
cfg
|
|
265
|
+
cfg = get_config()
|
|
266
266
|
if db_path is None:
|
|
267
267
|
db_path = cfg.train.train_db
|
|
268
268
|
|
|
@@ -311,7 +311,7 @@ def del_seg(db_path: Optional[str]=None, class_name: Optional[str]=None, dir_pat
|
|
|
311
311
|
"""
|
|
312
312
|
from britekit.training_db.training_db import TrainingDatabase
|
|
313
313
|
|
|
314
|
-
cfg
|
|
314
|
+
cfg = get_config()
|
|
315
315
|
if db_path is None:
|
|
316
316
|
db_path = cfg.train.train_db
|
|
317
317
|
|
|
@@ -57,7 +57,7 @@ def embed(
|
|
|
57
57
|
from britekit.models.model_loader import load_from_checkpoint
|
|
58
58
|
from britekit.training_db.training_db import TrainingDatabase
|
|
59
59
|
|
|
60
|
-
cfg
|
|
60
|
+
cfg = get_config(cfg_path)
|
|
61
61
|
if db_path is None:
|
|
62
62
|
db_path = cfg.train.train_db
|
|
63
63
|
|
|
@@ -68,7 +68,6 @@ def ensemble(
|
|
|
68
68
|
metric: str = "micro_roc",
|
|
69
69
|
annotations_path: str = "",
|
|
70
70
|
recordings_path: Optional[str] = None,
|
|
71
|
-
output_path: str = "",
|
|
72
71
|
) -> None:
|
|
73
72
|
"""
|
|
74
73
|
Find the best ensemble of a given size from a group of checkpoints.
|
|
@@ -84,7 +83,6 @@ def ensemble(
|
|
|
84
83
|
metric (str): Metric to use to compare ensembles (default=micro_roc).
|
|
85
84
|
annotations_path (str): Path to CSV file containing ground truth annotations.
|
|
86
85
|
recordings_path (str, optional): Directory containing audio recordings. Defaults to annotations directory.
|
|
87
|
-
output_path (str): Directory where reports will be saved.
|
|
88
86
|
"""
|
|
89
87
|
import glob
|
|
90
88
|
import itertools
|
|
@@ -95,7 +93,7 @@ def ensemble(
|
|
|
95
93
|
logging.error(f"Error: invalid metric ({metric})")
|
|
96
94
|
return
|
|
97
95
|
|
|
98
|
-
cfg
|
|
96
|
+
cfg = get_config(cfg_path)
|
|
99
97
|
ckpt_paths = sorted(glob.glob(os.path.join(ckpt_path, "*.ckpt")))
|
|
100
98
|
num_ckpts = len(ckpt_paths)
|
|
101
99
|
if num_ckpts == 0:
|
|
@@ -145,6 +143,7 @@ def ensemble(
|
|
|
145
143
|
|
|
146
144
|
logging.info(f"Best score = {best_score:.4f}")
|
|
147
145
|
|
|
146
|
+
assert best_ensemble is not None
|
|
148
147
|
best_names = [Path(ckpt_path).name for ckpt_path in best_ensemble]
|
|
149
148
|
logging.info(f"Best ensemble = {best_names}")
|
|
150
149
|
|
|
@@ -215,14 +214,6 @@ def ensemble(
|
|
|
215
214
|
required=False,
|
|
216
215
|
help="Recordings directory. Default is directory containing annotations file.",
|
|
217
216
|
)
|
|
218
|
-
@click.option(
|
|
219
|
-
"-o",
|
|
220
|
-
"--output",
|
|
221
|
-
"output_path",
|
|
222
|
-
type=click.Path(file_okay=False, dir_okay=True),
|
|
223
|
-
required=True,
|
|
224
|
-
help="Path to output directory.",
|
|
225
|
-
)
|
|
226
217
|
def _ensemble_cmd(
|
|
227
218
|
cfg_path: Optional[str],
|
|
228
219
|
ckpt_path: str,
|
|
@@ -231,7 +222,6 @@ def _ensemble_cmd(
|
|
|
231
222
|
metric: str,
|
|
232
223
|
annotations_path: str,
|
|
233
224
|
recordings_path: Optional[str],
|
|
234
|
-
output_path: str,
|
|
235
225
|
) -> None:
|
|
236
226
|
util.set_logging()
|
|
237
|
-
ensemble(cfg_path, ckpt_path, ensemble_size, num_tries, metric, annotations_path, recordings_path
|
|
227
|
+
ensemble(cfg_path, ckpt_path, ensemble_size, num_tries, metric, annotations_path, recordings_path)
|
|
@@ -42,7 +42,7 @@ def extract_all(
|
|
|
42
42
|
from britekit.training_db.extractor import Extractor
|
|
43
43
|
from britekit.training_db.training_db import TrainingDatabase
|
|
44
44
|
|
|
45
|
-
cfg
|
|
45
|
+
cfg = get_config(cfg_path)
|
|
46
46
|
if db_path is not None:
|
|
47
47
|
cfg.train.train_db = db_path
|
|
48
48
|
|
|
@@ -172,7 +172,7 @@ def extract_by_image(
|
|
|
172
172
|
from britekit.training_db.extractor import Extractor
|
|
173
173
|
from britekit.training_db.training_db import TrainingDatabase
|
|
174
174
|
|
|
175
|
-
cfg
|
|
175
|
+
cfg = get_config(cfg_path)
|
|
176
176
|
if db_path is not None:
|
|
177
177
|
cfg.train.train_db = db_path
|
|
178
178
|
|
|
@@ -89,7 +89,7 @@ def plot_db(
|
|
|
89
89
|
from britekit.core.plot import plot_spec
|
|
90
90
|
from britekit.training_db.training_db import TrainingDatabase
|
|
91
91
|
|
|
92
|
-
cfg
|
|
92
|
+
cfg = get_config(cfg_path)
|
|
93
93
|
if power is not None:
|
|
94
94
|
cfg.audio.power = power
|
|
95
95
|
|
|
@@ -247,7 +247,7 @@ def plot_dir(
|
|
|
247
247
|
"""
|
|
248
248
|
from britekit.core.audio import Audio
|
|
249
249
|
|
|
250
|
-
cfg
|
|
250
|
+
cfg = get_config(cfg_path)
|
|
251
251
|
if power is not None:
|
|
252
252
|
cfg.audio.power = power
|
|
253
253
|
|
|
@@ -363,7 +363,7 @@ def plot_rec(
|
|
|
363
363
|
"""
|
|
364
364
|
from britekit.core.audio import Audio
|
|
365
365
|
|
|
366
|
-
cfg
|
|
366
|
+
cfg = get_config(cfg_path)
|
|
367
367
|
if power is not None:
|
|
368
368
|
cfg.audio.power = power
|
|
369
369
|
|
|
@@ -38,7 +38,7 @@ def reextract(
|
|
|
38
38
|
spec_group (str): Spectrogram group name for storing the extracted spectrograms. Defaults to 'default'.
|
|
39
39
|
"""
|
|
40
40
|
from britekit.core.reextractor import Reextractor
|
|
41
|
-
cfg
|
|
41
|
+
cfg = get_config(cfg_path)
|
|
42
42
|
|
|
43
43
|
if class_name and classes_path:
|
|
44
44
|
logging.error("Only one of --name and --classes may be specified.")
|
|
@@ -143,7 +143,7 @@ def rpt_db(cfg_path: Optional[str] = None,
|
|
|
143
143
|
from britekit.training_db.training_db import TrainingDatabase
|
|
144
144
|
from britekit.training_db.training_data_provider import TrainingDataProvider
|
|
145
145
|
|
|
146
|
-
cfg
|
|
146
|
+
cfg = get_config(cfg_path)
|
|
147
147
|
if db_path is not None:
|
|
148
148
|
cfg.train.train_db = db_path
|
|
149
149
|
|
|
@@ -214,7 +214,7 @@ def rpt_epochs(
|
|
|
214
214
|
from britekit.core.analyzer import Analyzer
|
|
215
215
|
from britekit.testing.per_segment_tester import PerSegmentTester
|
|
216
216
|
|
|
217
|
-
cfg
|
|
217
|
+
cfg = get_config(cfg_path)
|
|
218
218
|
ckpt_paths = glob.glob(str(Path(input_path) / "*.ckpt"))
|
|
219
219
|
if len(ckpt_paths) == 0:
|
|
220
220
|
logging.error(f"No checkpoint files found in {input_path}")
|
|
@@ -403,7 +403,7 @@ def rpt_labels(
|
|
|
403
403
|
"""
|
|
404
404
|
import pandas as pd
|
|
405
405
|
|
|
406
|
-
cfg
|
|
406
|
+
cfg = get_config()
|
|
407
407
|
if min_score is None:
|
|
408
408
|
min_score = cfg.infer.min_score
|
|
409
409
|
|
|
@@ -556,7 +556,7 @@ def rpt_test(
|
|
|
556
556
|
from britekit.testing.per_recording_tester import PerRecordingTester
|
|
557
557
|
from britekit.testing.per_segment_tester import PerSegmentTester
|
|
558
558
|
|
|
559
|
-
cfg
|
|
559
|
+
cfg = get_config()
|
|
560
560
|
try:
|
|
561
561
|
if not recordings_path:
|
|
562
562
|
recordings_path = str(Path(annotations_path).parent)
|
|
@@ -62,7 +62,7 @@ def search(
|
|
|
62
62
|
from britekit.models.model_loader import load_from_checkpoint
|
|
63
63
|
from britekit.training_db.training_db import TrainingDatabase
|
|
64
64
|
|
|
65
|
-
cfg
|
|
65
|
+
cfg = get_config(cfg_path)
|
|
66
66
|
|
|
67
67
|
if not os.path.exists(output_path):
|
|
68
68
|
os.makedirs(output_path)
|
|
@@ -31,7 +31,7 @@ def train(
|
|
|
31
31
|
"""
|
|
32
32
|
from britekit.core.trainer import Trainer
|
|
33
33
|
|
|
34
|
-
cfg
|
|
34
|
+
cfg = get_config(cfg_path)
|
|
35
35
|
try:
|
|
36
36
|
start_time = time.time()
|
|
37
37
|
Trainer().run()
|
|
@@ -89,7 +89,7 @@ def find_lr(cfg_path: str, num_batches: int):
|
|
|
89
89
|
"""
|
|
90
90
|
from britekit.core.trainer import Trainer
|
|
91
91
|
|
|
92
|
-
cfg
|
|
92
|
+
cfg = get_config(cfg_path)
|
|
93
93
|
try:
|
|
94
94
|
suggested_lr, fig = Trainer().find_lr(num_batches)
|
|
95
95
|
fig.savefig("learning_rates.jpeg")
|
|
@@ -58,7 +58,7 @@ def tune(
|
|
|
58
58
|
from britekit.core.tuner import Tuner
|
|
59
59
|
|
|
60
60
|
try:
|
|
61
|
-
cfg
|
|
61
|
+
cfg = get_config(cfg_path)
|
|
62
62
|
if extract and skip_training:
|
|
63
63
|
logging.error(
|
|
64
64
|
"Performing spectrogram extract is incompatible with skipping training."
|
|
@@ -104,6 +104,10 @@ def tune(
|
|
|
104
104
|
to_path = os.path.join(output_path, Path(cfg_path).name)
|
|
105
105
|
shutil.copy(cfg_path, to_path)
|
|
106
106
|
|
|
107
|
+
if param_path:
|
|
108
|
+
to_path = os.path.join(output_path, Path(param_path).name)
|
|
109
|
+
shutil.copy(param_path, to_path)
|
|
110
|
+
|
|
107
111
|
elapsed_time = util.format_elapsed_time(start_time, time.time())
|
|
108
112
|
logging.info(f"Elapsed time = {elapsed_time}")
|
|
109
113
|
|
|
@@ -6,7 +6,7 @@ _base_config: Optional[BaseConfig] = None
|
|
|
6
6
|
_func_config: Optional[FunctionConfig] = None
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
def get_config(cfg_path: Optional[str] = None) ->
|
|
9
|
+
def get_config(cfg_path: Optional[str] = None) -> BaseConfig:
|
|
10
10
|
from omegaconf import OmegaConf, DictConfig
|
|
11
11
|
|
|
12
12
|
if cfg_path is None:
|
|
@@ -16,21 +16,27 @@ def get_config(cfg_path: Optional[str] = None) -> tuple[BaseConfig, FunctionConf
|
|
|
16
16
|
return get_config_with_dict(yaml_cfg)
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
def
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
def get_func_config() -> FunctionConfig:
|
|
20
|
+
global _func_config
|
|
21
|
+
if _func_config is None:
|
|
22
|
+
_func_config = FunctionConfig()
|
|
23
|
+
|
|
24
|
+
return _func_config
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def get_config_with_dict(cfg_dict=None) -> BaseConfig:
|
|
22
28
|
from omegaconf import OmegaConf
|
|
23
29
|
|
|
24
|
-
global _base_config
|
|
30
|
+
global _base_config
|
|
25
31
|
if _base_config is None:
|
|
26
32
|
_base_config = OmegaConf.structured(BaseConfig())
|
|
27
|
-
|
|
33
|
+
|
|
28
34
|
# allow late merges/overrides even if already initialized
|
|
29
35
|
if cfg_dict is not None:
|
|
30
36
|
_base_config = cast(
|
|
31
37
|
BaseConfig, OmegaConf.merge(_base_config, OmegaConf.create(cfg_dict))
|
|
32
38
|
)
|
|
33
|
-
return
|
|
39
|
+
return _base_config
|
|
34
40
|
|
|
35
41
|
|
|
36
42
|
def set_base_config(cfg: BaseConfig) -> None:
|
|
@@ -30,7 +30,7 @@ class Pickler:
|
|
|
30
30
|
):
|
|
31
31
|
from britekit.training_db.training_db import TrainingDatabase
|
|
32
32
|
|
|
33
|
-
self.cfg
|
|
33
|
+
self.cfg = get_config()
|
|
34
34
|
self.classes_path = classes_path
|
|
35
35
|
self.output_path = output_path
|
|
36
36
|
self.max_per_class = max_per_class
|
|
@@ -14,7 +14,7 @@ class Trainer:
|
|
|
14
14
|
import pytorch_lightning as pl
|
|
15
15
|
import torch
|
|
16
16
|
|
|
17
|
-
self.cfg
|
|
17
|
+
self.cfg = get_config()
|
|
18
18
|
torch.set_float32_matmul_precision("medium")
|
|
19
19
|
if self.cfg.train.seed is not None:
|
|
20
20
|
pl.seed_everything(self.cfg.train.seed, workers=True)
|
|
@@ -42,7 +42,7 @@ class Tuner:
|
|
|
42
42
|
from britekit.core.pickler import Pickler
|
|
43
43
|
from britekit.core.reextractor import Reextractor
|
|
44
44
|
|
|
45
|
-
self.cfg
|
|
45
|
+
self.cfg = get_config()
|
|
46
46
|
self.original_seed = self.cfg.train.seed
|
|
47
47
|
self.recording_dir = recording_dir
|
|
48
48
|
self.output_dir = output_dir
|
|
@@ -101,7 +101,7 @@ def get_device() -> str:
|
|
|
101
101
|
"""Return the device for pytorch to use."""
|
|
102
102
|
import torch
|
|
103
103
|
|
|
104
|
-
cfg
|
|
104
|
+
cfg = get_config()
|
|
105
105
|
if cfg.misc.force_cpu:
|
|
106
106
|
return "cpu" # for performance comparisons
|
|
107
107
|
elif torch.cuda.is_available():
|
|
@@ -362,7 +362,7 @@ def get_source_name(filename: str) -> str:
|
|
|
362
362
|
if not filename:
|
|
363
363
|
return "default"
|
|
364
364
|
|
|
365
|
-
cfg
|
|
365
|
+
cfg = get_config()
|
|
366
366
|
if not cfg.misc.source_regexes:
|
|
367
367
|
return "default"
|
|
368
368
|
|
|
@@ -432,7 +432,7 @@ def expand_spectrogram(spec: bytes):
|
|
|
432
432
|
raise TypeError("spec must be bytes")
|
|
433
433
|
|
|
434
434
|
try:
|
|
435
|
-
cfg
|
|
435
|
+
cfg = get_config()
|
|
436
436
|
bytes_data = zlib.decompress(spec)
|
|
437
437
|
spec_array = np.frombuffer(bytes_data, dtype=np.uint8) / 255
|
|
438
438
|
spec_array = spec_array.astype(np.float32)
|
|
@@ -39,7 +39,7 @@ class TimmModel(BaseModel):
|
|
|
39
39
|
|
|
40
40
|
# head replacement is not supported here since it
|
|
41
41
|
# would be very complicated with so many model types
|
|
42
|
-
cfg
|
|
42
|
+
cfg = get_config()
|
|
43
43
|
assert model_type.startswith("timm.")
|
|
44
44
|
self.backbone = timm.create_model(
|
|
45
45
|
model_type[5:], # strip off the "timm." prefix
|
|
@@ -62,7 +62,7 @@ class PerMinuteTester(BaseTester):
|
|
|
62
62
|
self.threshold = threshold
|
|
63
63
|
self.gen_pr_table = gen_pr_table
|
|
64
64
|
|
|
65
|
-
self.cfg
|
|
65
|
+
self.cfg = get_config()
|
|
66
66
|
|
|
67
67
|
# ============================================================================
|
|
68
68
|
# Public methods - Main execution
|
|
@@ -56,7 +56,7 @@ class PerRecordingTester(BaseTester):
|
|
|
56
56
|
self.tp_secs_at_precision = tp_secs_at_precision
|
|
57
57
|
self.per_recording = True
|
|
58
58
|
|
|
59
|
-
self.cfg
|
|
59
|
+
self.cfg = get_config()
|
|
60
60
|
|
|
61
61
|
# ============================================================================
|
|
62
62
|
# Public methods - Main execution
|
|
@@ -6,7 +6,6 @@ from types import SimpleNamespace
|
|
|
6
6
|
from typing import Optional
|
|
7
7
|
|
|
8
8
|
from britekit.core.exceptions import DatabaseError
|
|
9
|
-
from britekit.core.config_loader import get_config
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class TrainingDatabase:
|
|
@@ -20,7 +19,6 @@ class TrainingDatabase:
|
|
|
20
19
|
|
|
21
20
|
def __init__(self, db_path: str = os.path.join("data", "training.db")):
|
|
22
21
|
self.today = datetime.today().strftime("%Y-%m-%d")
|
|
23
|
-
_, self.fn_cfg = get_config()
|
|
24
22
|
try:
|
|
25
23
|
self.conn = sqlite3.connect(db_path)
|
|
26
24
|
self.conn.execute("PRAGMA foreign_keys = ON")
|
|
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
|
{britekit-0.0.9 → britekit-0.0.11}/britekit/install/data/audioset/unbalanced_train_segments.csv
RENAMED
|
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
|