nkululeko 0.82.4__tar.gz → 0.83.1__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.
- {nkululeko-0.82.4 → nkululeko-0.83.1}/CHANGELOG.md +8 -0
- {nkululeko-0.82.4/nkululeko.egg-info → nkululeko-0.83.1}/PKG-INFO +9 -1
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/constants.py +1 -1
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/experiment.py +4 -3
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/modelrunner.py +4 -6
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/nkuluflag.py +19 -6
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/reporter.py +7 -3
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/test.py +20 -15
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/test_predictor.py +21 -7
- {nkululeko-0.82.4 → nkululeko-0.83.1/nkululeko.egg-info}/PKG-INFO +9 -1
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/SOURCES.txt +0 -2
- nkululeko-0.82.4/meta/demos/multiple_exeriments/do_experiments.py +0 -35
- nkululeko-0.82.4/nkululeko/reporter.py +0 -332
- {nkululeko-0.82.4 → nkululeko-0.83.1}/LICENSE +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/README.md +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/aesdd/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/androids/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/androids_orig/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/androids_test/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ased/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/asvp-esd/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/baved/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/cafe/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/clac/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/cmu-mosei/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/demos/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ekorpus/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emns/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emofilm/convert_to_16k.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emofilm/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emorynlp/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emov-db/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emovo/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emozionalmente/create.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/enterface/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/esd/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/gerparas/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/iemocap/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/jl/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/jtes/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/meld/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/mesd/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/mess/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/mlendsnd/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/msp-improv/process_database2.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/msp-podcast/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/oreau2/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/portuguese/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ravdess/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ravdess/process_database_speaker.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/savee/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/shemo/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/subesco/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/tess/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/thorsten-emotional/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/urdu/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/data/vivae/process_database.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/docs/source/conf.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/demo_best_model.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/my_experiment.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/my_experiment_local.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/plot_faster_anim.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/aug_train.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augment.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/augmenter.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/randomsplicer.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/randomsplicing.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/resampler.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_age.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_arousal.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_dominance.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_gender.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_mos.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_pesq.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_sdr.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_snr.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_stoi.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_valence.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/estimate_snr.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/cacheddataset.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/data/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/data/dataset.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/data/dataset_csv.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/demo.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/demo_feats.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/demo_predictor.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/explore.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/export.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_agender.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_analyser.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_auddim.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_audmodel.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_clap.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_hubert.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_import.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_mld.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_mos.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_opensmile.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_oxbow.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_praat.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_snr.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_spectra.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_spkrec.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_squim.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_trill.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_wavlm.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_whisper.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/featureset.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feinberg_praat.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feature_extractor.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/file_checker.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/filter_data.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/glob_conf.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/losses/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/losses/loss_ccc.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/losses/loss_softf1loss.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_bayes.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_cnn.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_gmm.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_knn.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_knn_reg.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_lin_reg.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_mlp.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_mlp_regression.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_svm.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_svr.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_tree.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_tree_reg.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_xgb.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_xgr.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/multidb.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/nkululeko.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/plots.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/predict.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/defines.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/latex_writer.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/report.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/report_item.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/result.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/resample.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/runmanager.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/scaler.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segment.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segmenting/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segmenting/seg_silero.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/syllable_nuclei.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/__init__.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/files.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/stats.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/util.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/dependency_links.txt +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/requires.txt +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/top_level.txt +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/pyproject.toml +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/setup.cfg +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/setup.py +0 -0
- {nkululeko-0.82.4 → nkululeko-0.83.1}/venv/bin/activate_this.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nkululeko
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.83.1
|
4
4
|
Summary: Machine learning audio prediction experiments based on templates
|
5
5
|
Home-page: https://github.com/felixbur/nkululeko
|
6
6
|
Author: Felix Burkhardt
|
@@ -333,6 +333,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
|
|
333
333
|
Changelog
|
334
334
|
=========
|
335
335
|
|
336
|
+
Version 0.83.1
|
337
|
+
--------------
|
338
|
+
* add test module to nkuluflag
|
339
|
+
|
340
|
+
Version 0.83.0
|
341
|
+
--------------
|
342
|
+
* test module now prints out reports
|
343
|
+
|
336
344
|
Version 0.82.4
|
337
345
|
--------------
|
338
346
|
* fixed bug in wavlm
|
@@ -1,2 +1,2 @@
|
|
1
|
-
VERSION="0.
|
1
|
+
VERSION="0.83.1"
|
2
2
|
SAMPLING_RATE = 16000
|
@@ -23,7 +23,7 @@ from nkululeko.plots import Plots
|
|
23
23
|
from nkululeko.reporting.report import Report
|
24
24
|
from nkululeko.runmanager import Runmanager
|
25
25
|
from nkululeko.scaler import Scaler
|
26
|
-
from nkululeko.test_predictor import
|
26
|
+
from nkululeko.test_predictor import TestPredictor
|
27
27
|
from nkululeko.utils.util import Util
|
28
28
|
|
29
29
|
|
@@ -672,10 +672,11 @@ class Experiment:
|
|
672
672
|
def predict_test_and_save(self, result_name):
|
673
673
|
model = self.runmgr.get_best_model()
|
674
674
|
model.set_testdata(self.df_test, self.feats_test)
|
675
|
-
test_predictor =
|
675
|
+
test_predictor = TestPredictor(
|
676
676
|
model, self.df_test, self.label_encoder, result_name
|
677
677
|
)
|
678
|
-
test_predictor.predict_and_store()
|
678
|
+
result = test_predictor.predict_and_store()
|
679
|
+
return result
|
679
680
|
|
680
681
|
def load(self, filename):
|
681
682
|
f = open(filename, "rb")
|
@@ -2,18 +2,16 @@
|
|
2
2
|
|
3
3
|
import pandas as pd
|
4
4
|
|
5
|
-
from nkululeko.utils.util import Util
|
6
5
|
from nkululeko import glob_conf
|
7
|
-
|
6
|
+
from nkululeko.utils.util import Util
|
8
7
|
|
9
8
|
|
10
9
|
class Modelrunner:
|
11
|
-
"""
|
12
|
-
Class to model one run
|
13
|
-
"""
|
10
|
+
"""Class to model one run."""
|
14
11
|
|
15
12
|
def __init__(self, df_train, df_test, feats_train, feats_test, run):
|
16
|
-
"""Constructor setting up the dataframes
|
13
|
+
"""Constructor setting up the dataframes.
|
14
|
+
|
17
15
|
Args:
|
18
16
|
df_train: train dataframe
|
19
17
|
df_test: test dataframe
|
@@ -2,13 +2,16 @@ import argparse
|
|
2
2
|
import configparser
|
3
3
|
import os
|
4
4
|
import os.path
|
5
|
+
import sys
|
5
6
|
|
6
7
|
from nkululeko.nkululeko import doit as nkulu
|
8
|
+
from nkululeko.test import do_it as test_mod
|
7
9
|
|
8
10
|
|
9
|
-
def
|
11
|
+
def doit(cla):
|
10
12
|
parser = argparse.ArgumentParser(description="Call the nkululeko framework.")
|
11
13
|
parser.add_argument("--config", help="The base configuration")
|
14
|
+
parser.add_argument("--mod", default="nkulu", help="Which nkululeko module to call")
|
12
15
|
parser.add_argument("--data", help="The databases", nargs="*", action="append")
|
13
16
|
parser.add_argument(
|
14
17
|
"--label", nargs="*", help="The labels for the target", action="append"
|
@@ -25,20 +28,23 @@ def do_it(src_dir):
|
|
25
28
|
parser.add_argument("--model", default="xgb", help="The model type")
|
26
29
|
parser.add_argument("--feat", default="['os']", help="The feature type")
|
27
30
|
parser.add_argument("--set", help="The opensmile set")
|
28
|
-
parser.add_argument("--with_os", help="To add os features")
|
29
31
|
parser.add_argument("--target", help="The target designation")
|
30
32
|
parser.add_argument("--epochs", help="The number of epochs")
|
31
33
|
parser.add_argument("--runs", help="The number of runs")
|
32
34
|
parser.add_argument("--learning_rate", help="The learning rate")
|
33
35
|
parser.add_argument("--drop", help="The dropout rate [0:1]")
|
34
36
|
|
35
|
-
args = parser.parse_args()
|
37
|
+
args = parser.parse_args(cla)
|
36
38
|
|
37
39
|
if args.config is not None:
|
38
40
|
config_file = args.config
|
39
41
|
else:
|
40
42
|
print("ERROR: need config file")
|
41
43
|
quit(-1)
|
44
|
+
|
45
|
+
if args.mod is not None:
|
46
|
+
nkulu_mod = args.mod
|
47
|
+
|
42
48
|
# test if config is there
|
43
49
|
if not os.path.isfile(config_file):
|
44
50
|
print(f"ERROR: no such file {config_file}")
|
@@ -86,10 +92,17 @@ def do_it(src_dir):
|
|
86
92
|
with open(tmp_config, "w") as tmp_file:
|
87
93
|
config.write(tmp_file)
|
88
94
|
|
89
|
-
result, last_epoch =
|
95
|
+
result, last_epoch = 0, 0
|
96
|
+
if nkulu_mod == "nkulu":
|
97
|
+
result, last_epoch = nkulu(tmp_config)
|
98
|
+
elif nkulu_mod == "test":
|
99
|
+
result, last_epoch = test_mod(tmp_config, "test_results.csv")
|
100
|
+
else:
|
101
|
+
print(f"ERROR: unknown module: {nkulu_mod}, should be [nkulu | test]")
|
90
102
|
return result, last_epoch
|
91
103
|
|
92
104
|
|
93
105
|
if __name__ == "__main__":
|
94
|
-
|
95
|
-
|
106
|
+
cla = sys.argv
|
107
|
+
cla.pop(0)
|
108
|
+
doit(cla) # sys.argv[1])
|
@@ -55,6 +55,7 @@ class Reporter:
|
|
55
55
|
self.run = run
|
56
56
|
self.epoch = epoch
|
57
57
|
self.__set_measure()
|
58
|
+
self.filenameadd = ""
|
58
59
|
self.cont_to_cat = False
|
59
60
|
if len(self.truths) > 0 and len(self.preds) > 0:
|
60
61
|
if self.util.exp_is_classification():
|
@@ -206,7 +207,7 @@ class Reporter:
|
|
206
207
|
f"Confusion Matrix, UAR: {uar_str} "
|
207
208
|
+ f"(+-{up_str}/{low_str}) {reg_res}"
|
208
209
|
)
|
209
|
-
img_path = f"{fig_dir}{plot_name}.{self.format}"
|
210
|
+
img_path = f"{fig_dir}{plot_name}{self.filenameadd}.{self.format}"
|
210
211
|
plt.savefig(img_path)
|
211
212
|
fig.clear()
|
212
213
|
plt.close(fig)
|
@@ -228,14 +229,17 @@ class Reporter:
|
|
228
229
|
)
|
229
230
|
# print(rpt)
|
230
231
|
self.util.debug(rpt)
|
231
|
-
file_name = f"{res_dir}{self.util.get_exp_name()}_conf.txt"
|
232
|
+
file_name = f"{res_dir}{self.util.get_exp_name()}{self.filenameadd}_conf.txt"
|
232
233
|
with open(file_name, "w") as text_file:
|
233
234
|
text_file.write(rpt)
|
234
235
|
|
236
|
+
def set_filename_add(self, my_string):
|
237
|
+
self.filenameadd = f"_{my_string}"
|
238
|
+
|
235
239
|
def print_results(self, epoch):
|
236
240
|
"""Print all evaluation values to text file."""
|
237
241
|
res_dir = self.util.get_path("res_dir")
|
238
|
-
file_name = f"{res_dir}{self.util.get_exp_name()}_{epoch}.txt"
|
242
|
+
file_name = f"{res_dir}{self.util.get_exp_name()}_{epoch}{self.filenameadd}.txt"
|
239
243
|
if self.util.exp_is_classification():
|
240
244
|
labels = glob_conf.labels
|
241
245
|
try:
|
@@ -10,20 +10,7 @@ from nkululeko.experiment import Experiment
|
|
10
10
|
from nkululeko.utils.util import Util
|
11
11
|
|
12
12
|
|
13
|
-
def
|
14
|
-
parser = argparse.ArgumentParser(
|
15
|
-
description="Call the nkululeko TEST framework.")
|
16
|
-
parser.add_argument("--config", default="exp.ini",
|
17
|
-
help="The base configuration")
|
18
|
-
parser.add_argument(
|
19
|
-
"--outfile",
|
20
|
-
default="my_results.csv",
|
21
|
-
help="File name to store the predictions",
|
22
|
-
)
|
23
|
-
|
24
|
-
args = parser.parse_args()
|
25
|
-
|
26
|
-
config_file = args.config
|
13
|
+
def do_it(config_file, outfile):
|
27
14
|
|
28
15
|
# test if the configuration file exists
|
29
16
|
if not os.path.isfile(config_file):
|
@@ -48,10 +35,28 @@ def main(src_dir):
|
|
48
35
|
expr.load(f"{util.get_save_name()}")
|
49
36
|
expr.fill_tests()
|
50
37
|
expr.extract_test_feats()
|
51
|
-
expr.predict_test_and_save(
|
38
|
+
result = expr.predict_test_and_save(outfile)
|
52
39
|
|
53
40
|
print("DONE")
|
54
41
|
|
42
|
+
return result, 0
|
43
|
+
|
44
|
+
|
45
|
+
def main(src_dir):
|
46
|
+
parser = argparse.ArgumentParser(description="Call the nkululeko TEST framework.")
|
47
|
+
parser.add_argument("--config", default="exp.ini", help="The base configuration")
|
48
|
+
parser.add_argument(
|
49
|
+
"--outfile",
|
50
|
+
default="my_results.csv",
|
51
|
+
help="File name to store the predictions",
|
52
|
+
)
|
53
|
+
args = parser.parse_args()
|
54
|
+
if args.config is not None:
|
55
|
+
config_file = args.config
|
56
|
+
else:
|
57
|
+
config_file = f"{src_dir}/exp.ini"
|
58
|
+
do_it(config_file, args.outfile)
|
59
|
+
|
55
60
|
|
56
61
|
if __name__ == "__main__":
|
57
62
|
cwd = os.path.dirname(os.path.abspath(__file__))
|
@@ -1,21 +1,25 @@
|
|
1
|
-
"""
|
1
|
+
"""test_predictor.py.
|
2
|
+
|
2
3
|
Predict targets from a model and save as csv file.
|
3
4
|
|
4
5
|
"""
|
5
6
|
|
6
|
-
import
|
7
|
-
|
7
|
+
import ast
|
8
|
+
|
9
|
+
import numpy as np
|
8
10
|
import pandas as pd
|
11
|
+
from sklearn.preprocessing import LabelEncoder
|
12
|
+
|
9
13
|
from nkululeko.data.dataset import Dataset
|
10
14
|
from nkululeko.feature_extractor import FeatureExtractor
|
15
|
+
import nkululeko.glob_conf as glob_conf
|
11
16
|
from nkululeko.scaler import Scaler
|
12
|
-
|
13
|
-
from sklearn.preprocessing import LabelEncoder
|
17
|
+
from nkululeko.utils.util import Util
|
14
18
|
|
15
19
|
|
16
|
-
class
|
20
|
+
class TestPredictor:
|
17
21
|
def __init__(self, model, orig_df, labenc, name):
|
18
|
-
"""Constructor setting up name and configuration"""
|
22
|
+
"""Constructor setting up name and configuration."""
|
19
23
|
self.model = model
|
20
24
|
self.orig_df = orig_df
|
21
25
|
self.label_encoder = labenc
|
@@ -25,6 +29,7 @@ class Test_predictor:
|
|
25
29
|
|
26
30
|
def predict_and_store(self):
|
27
31
|
label_data = self.util.config_val("DATA", "label_data", False)
|
32
|
+
result = 0
|
28
33
|
if label_data:
|
29
34
|
data = Dataset(label_data)
|
30
35
|
data.load()
|
@@ -49,7 +54,15 @@ class Test_predictor:
|
|
49
54
|
df[self.target] = labelenc.inverse_transform(predictions.tolist())
|
50
55
|
df.to_csv(self.name)
|
51
56
|
else:
|
57
|
+
test_dbs = ast.literal_eval(glob_conf.config["DATA"]["tests"])
|
58
|
+
test_dbs_string = "_".join(test_dbs)
|
52
59
|
predictions = self.model.get_predictions()
|
60
|
+
report = self.model.predict()
|
61
|
+
result = report.result.get_result()
|
62
|
+
report.set_filename_add(f"test-{test_dbs_string}")
|
63
|
+
self.util.print_best_results([report])
|
64
|
+
report.plot_confmatrix(self.util.get_plot_name(), 0)
|
65
|
+
report.print_results(0)
|
53
66
|
# print(predictions)
|
54
67
|
# df = pd.DataFrame(index=self.orig_df.index)
|
55
68
|
# df["speaker"] = self.orig_df["speaker"]
|
@@ -63,3 +76,4 @@ class Test_predictor:
|
|
63
76
|
df = df.rename(columns={"class_label": target})
|
64
77
|
df.to_csv(self.name)
|
65
78
|
self.util.debug(f"results stored in {self.name}")
|
79
|
+
return result
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nkululeko
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.83.1
|
4
4
|
Summary: Machine learning audio prediction experiments based on templates
|
5
5
|
Home-page: https://github.com/felixbur/nkululeko
|
6
6
|
Author: Felix Burkhardt
|
@@ -333,6 +333,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
|
|
333
333
|
Changelog
|
334
334
|
=========
|
335
335
|
|
336
|
+
Version 0.83.1
|
337
|
+
--------------
|
338
|
+
* add test module to nkuluflag
|
339
|
+
|
340
|
+
Version 0.83.0
|
341
|
+
--------------
|
342
|
+
* test module now prints out reports
|
343
|
+
|
336
344
|
Version 0.82.4
|
337
345
|
--------------
|
338
346
|
* fixed bug in wavlm
|
@@ -51,7 +51,6 @@ meta/demos/demo_best_model.py
|
|
51
51
|
meta/demos/my_experiment.py
|
52
52
|
meta/demos/my_experiment_local.py
|
53
53
|
meta/demos/plot_faster_anim.py
|
54
|
-
meta/demos/multiple_exeriments/do_experiments.py
|
55
54
|
nkululeko/__init__.py
|
56
55
|
nkululeko/aug_train.py
|
57
56
|
nkululeko/augment.py
|
@@ -73,7 +72,6 @@ nkululeko/nkuluflag.py
|
|
73
72
|
nkululeko/nkululeko.py
|
74
73
|
nkululeko/plots.py
|
75
74
|
nkululeko/predict.py
|
76
|
-
nkululeko/reporter.py
|
77
75
|
nkululeko/resample.py
|
78
76
|
nkululeko/runmanager.py
|
79
77
|
nkululeko/scaler.py
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
|
3
|
-
|
4
|
-
classifiers = [
|
5
|
-
{"--model": "mlp", "--layers": "\"{'l1':64,'l2':16}\"", "--epochs": 100},
|
6
|
-
{
|
7
|
-
"--model": "mlp",
|
8
|
-
"--layers": "\"{'l1':128,'l2':64,'l3':16}\"",
|
9
|
-
"--learning_rate": ".01",
|
10
|
-
"--drop": ".3",
|
11
|
-
"--epochs": 100,
|
12
|
-
},
|
13
|
-
{"--model": "xgb", "--epochs": 1},
|
14
|
-
{"--model": "svm", "--epochs": 1},
|
15
|
-
]
|
16
|
-
|
17
|
-
features = [
|
18
|
-
{"--feat": "os"},
|
19
|
-
# {'--feat': 'os',
|
20
|
-
# '--set': 'ComParE_2016',
|
21
|
-
# },
|
22
|
-
{"--feat": "praat"},
|
23
|
-
]
|
24
|
-
|
25
|
-
|
26
|
-
for c in classifiers:
|
27
|
-
for f in features:
|
28
|
-
cmd = "python -m nkululeko.nkuluflag --config exp.ini "
|
29
|
-
for item in c:
|
30
|
-
cmd += f"{item} {c[item]} "
|
31
|
-
for item in f:
|
32
|
-
cmd += f"{item} {f[item]} "
|
33
|
-
print(cmd)
|
34
|
-
os.system(cmd)
|
35
|
-
# print(f"results: {result}, {last_epoch}")
|