nkululeko 0.95.3__tar.gz → 0.95.4__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.95.3 → nkululeko-0.95.4}/CHANGELOG.md +5 -0
- {nkululeko-0.95.3/nkululeko.egg-info → nkululeko-0.95.4}/PKG-INFO +2 -2
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/constants.py +1 -1
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/data/dataset.py +14 -1
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/experiment.py +1 -1
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/modelrunner.py +10 -5
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_mlp_regression.py +3 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/nkuluflag.py +1 -1
- nkululeko-0.95.4/nkululeko/optim.py +63 -0
- nkululeko-0.95.3/nkululeko/optim.py → nkululeko-0.95.4/nkululeko/optimizationrunner.py +304 -117
- nkululeko-0.95.3/nkululeko/test.py → nkululeko-0.95.4/nkululeko/testing.py +4 -3
- nkululeko-0.95.3/nkululeko/test_predictor.py → nkululeko-0.95.4/nkululeko/testing_predictor.py +2 -2
- nkululeko-0.95.3/nkululeko/test_pretrain.py → nkululeko-0.95.4/nkululeko/testing_pretrain.py +2 -5
- {nkululeko-0.95.3 → nkululeko-0.95.4/nkululeko.egg-info}/PKG-INFO +2 -2
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/SOURCES.txt +4 -3
- {nkululeko-0.95.3 → nkululeko-0.95.4}/pyproject.toml +3 -3
- {nkululeko-0.95.3 → nkululeko-0.95.4}/setup.py +1 -1
- {nkululeko-0.95.3 → nkululeko-0.95.4}/LICENSE +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/README.md +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/aesdd/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ased/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/asvp-esd/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/baved/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/cafe/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/clac/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/cmu-mosei/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/demos/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ekorpus/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emns/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emofilm/convert_to_16k.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emofilm/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emorynlp/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emov-db/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emovo/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emozionalmente/create.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/enterface/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/esd/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/gerparas/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/iemocap/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/jl/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/jtes/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/meld/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/mesd/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/mess/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/mlendsnd/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/msp-improv/process_database2.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/msp-podcast/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/oreau2/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/portuguese/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ravdess/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ravdess/process_database_speaker.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/savee/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/shemo/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/subesco/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/tess/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/thorsten-emotional/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/urdu/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/data/vivae/process_database.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/docs/source/conf.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/examples/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/demo_best_model.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/my_experiment.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/my_experiment_local.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/plot_faster_anim.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/aug_train.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augment.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/augmenter.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/randomsplicer.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/randomsplicing.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/resampler.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_age.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_arousal.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_dominance.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_emotion.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_gender.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_mos.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_pesq.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_sdr.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_sid.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_snr.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_stoi.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_text.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_valence.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/estimate_snr.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/tests/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/tests/test_whisper_transcriber.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/whisper_transcriber.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/balance.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/cacheddataset.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/data/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/data/dataset_csv.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo-ft.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo_feats.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo_predictor.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/ensemble.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/explore.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/export.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_agender.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_analyser.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_ast.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_auddim.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_audmodel.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_clap.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_emotion2vec.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_hubert.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_import.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_mld.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_mos.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_opensmile.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_oxbow.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_praat.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_praat_core.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_snr.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_spectra.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_spkrec.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_squim.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_trill.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_wavlm.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_whisper.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/featureset.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/tests/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/tests/test_feats_opensmile.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/tests/test_feats_praat_core.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/transformer_feature_extractor.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feature_extractor.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/file_checker.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/filter_data.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/fixedsegment.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/glob_conf.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/losses/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/losses/loss_ccc.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/losses/loss_softf1loss.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_bayes.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_cnn.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_gmm.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_knn.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_knn_reg.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_lin_reg.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_mlp.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_svm.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_svr.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_tree.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_tree_reg.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_tuned.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_xgb.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_xgr.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_knn.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_mlp.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_svm.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_xgb.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/multidb.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/nkululeko.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/plots.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/predict.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/defines.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/latex_writer.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/report.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/report_item.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/reporter.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/result.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/resample.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/runmanager.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/scaler.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segment.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/seg_pyannote.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/seg_silero.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/syllable_nuclei.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/tests/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/tests/test_balancing.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/tests/test_optim.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/__init__.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/files.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/stats.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/unzip.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/util.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/dependency_links.txt +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/entry_points.txt +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/requires.txt +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/top_level.txt +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/setup.cfg +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/tests/test_install.py +0 -0
- {nkululeko-0.95.3 → nkululeko-0.95.4}/tests/test_modules.py +0 -0
@@ -1,6 +1,11 @@
|
|
1
1
|
Changelog
|
2
2
|
=========
|
3
3
|
|
4
|
+
Version 0.95.4 (25-07-08)
|
5
|
+
--------------------------
|
6
|
+
* add supercategory label mapping e.g. angry, sad -> negative
|
7
|
+
* fix bug that mlp_reg might crash with CCC (no variance in training batch)
|
8
|
+
|
4
9
|
Version 0.95.3 (25-07-03)
|
5
10
|
--------------------------
|
6
11
|
* fix bug with classifying integers
|
@@ -1,10 +1,10 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nkululeko
|
3
|
-
Version: 0.95.
|
3
|
+
Version: 0.95.4
|
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
|
7
|
-
Author-email: Felix Burkhardt <fxburk@gmail.com>, Bagus Tris Atmaja <
|
7
|
+
Author-email: Felix Burkhardt <fxburk@gmail.com>, Bagus Tris Atmaja <btatmaja@gmail.com>
|
8
8
|
License: MIT
|
9
9
|
Project-URL: Homepage, https://github.com/felixbur/nkululeko
|
10
10
|
Project-URL: Repository, https://github.com/felixbur/nkululeko
|
@@ -1,2 +1,2 @@
|
|
1
|
-
VERSION="0.95.
|
1
|
+
VERSION="0.95.4"
|
2
2
|
SAMPLING_RATE = 16000
|
@@ -6,7 +6,6 @@ from random import sample
|
|
6
6
|
|
7
7
|
import numpy as np
|
8
8
|
import pandas as pd
|
9
|
-
|
10
9
|
import audformat
|
11
10
|
|
12
11
|
from nkululeko.filter_data import DataFilter
|
@@ -905,6 +904,20 @@ class Dataset:
|
|
905
904
|
mappings = self.util.config_val_data(self.name, "mapping", False)
|
906
905
|
if mappings:
|
907
906
|
mapping = ast.literal_eval(mappings)
|
907
|
+
# mapping should be a dictionary, the keys might encode lists.
|
908
|
+
keys = list(mapping.keys())
|
909
|
+
for key in keys:
|
910
|
+
# a comma in the key means that the key is a list of labels
|
911
|
+
if "," in key:
|
912
|
+
# split the key and create a list
|
913
|
+
key_list = [k.strip() for k in key.split(",")]
|
914
|
+
# create a new mapping for each key
|
915
|
+
for k in key_list:
|
916
|
+
mapping[k] = mapping[key]
|
917
|
+
# remove the old key
|
918
|
+
del mapping[key]
|
919
|
+
if pd.api.types.is_numeric_dtype(df[target]):
|
920
|
+
df[target] = df[target].astype("string")
|
908
921
|
df[target] = df[target].map(mapping)
|
909
922
|
# remove any exiting nan values after mapping
|
910
923
|
df = df.dropna()
|
@@ -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.
|
26
|
+
from nkululeko.testing_predictor import TestPredictor
|
27
27
|
from nkululeko.utils.util import Util
|
28
28
|
|
29
29
|
|
@@ -250,14 +250,19 @@ class Modelrunner:
|
|
250
250
|
balancing = self.util.config_val("FEATS", "balancing", False)
|
251
251
|
if balancing:
|
252
252
|
self.util.debug("Applying feature balancing using DataBalancer")
|
253
|
-
|
254
|
-
#
|
255
|
-
|
256
|
-
|
253
|
+
|
254
|
+
# Get random state from config, fallback to 42 for backward compatibility
|
255
|
+
random_state = int(
|
256
|
+
self.util.config_val("FEATS", "balancing_random_state", 42)
|
257
|
+
)
|
258
|
+
|
259
|
+
# Initialize the data balancer with configurable random state
|
260
|
+
balancer = DataBalancer(random_state=random_state)
|
261
|
+
|
257
262
|
# Apply balancing
|
258
263
|
self.df_train, self.feats_train = balancer.balance_features(
|
259
264
|
df_train=self.df_train,
|
260
265
|
feats_train=self.feats_train,
|
261
266
|
target_column=self.target,
|
262
|
-
method=balancing
|
267
|
+
method=balancing,
|
263
268
|
)
|
@@ -174,6 +174,9 @@ class MLP_Reg_model(Model):
|
|
174
174
|
logits = model(features.to(device)).reshape(-1)
|
175
175
|
loss = self.criterion(logits, labels.to(device))
|
176
176
|
# print(f'loss: {loss.item()}')
|
177
|
+
if torch.isnan(loss):
|
178
|
+
# possible that ccc returns NaN if batch contains only one value
|
179
|
+
continue
|
177
180
|
losses.append(loss.item())
|
178
181
|
optimizer.zero_grad()
|
179
182
|
loss.backward()
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
|
3
|
+
import argparse
|
4
|
+
import configparser
|
5
|
+
import os
|
6
|
+
import sys
|
7
|
+
import time
|
8
|
+
|
9
|
+
from nkululeko.constants import VERSION
|
10
|
+
|
11
|
+
# Import the OptimizationRunner class from the dedicated module
|
12
|
+
from nkululeko.optimizationrunner import OptimizationRunner
|
13
|
+
|
14
|
+
|
15
|
+
def doit(config_file):
|
16
|
+
"""Run hyperparameter optimization experiment."""
|
17
|
+
if not os.path.isfile(config_file):
|
18
|
+
print(f"ERROR: no such file: {config_file}")
|
19
|
+
sys.exit(1)
|
20
|
+
|
21
|
+
config = configparser.ConfigParser()
|
22
|
+
config.read(config_file)
|
23
|
+
|
24
|
+
optimizer = OptimizationRunner(config)
|
25
|
+
|
26
|
+
# Start timing the optimization
|
27
|
+
start_time = time.time()
|
28
|
+
|
29
|
+
# Run optimization using the unified approach
|
30
|
+
try:
|
31
|
+
best_params, best_result, all_results = optimizer.run_optimization()
|
32
|
+
except Exception as e:
|
33
|
+
print(f"Optimization failed: {e}")
|
34
|
+
return None, None
|
35
|
+
|
36
|
+
# Calculate optimization time
|
37
|
+
end_time = time.time()
|
38
|
+
optimization_time = end_time - start_time
|
39
|
+
|
40
|
+
optimizer.util.debug(
|
41
|
+
f"Optimization time: {optimization_time:.2f} seconds ({optimization_time/60:.2f} minutes)"
|
42
|
+
)
|
43
|
+
print("DONE")
|
44
|
+
return best_params, best_result
|
45
|
+
|
46
|
+
|
47
|
+
def main():
|
48
|
+
"""Main entry point for optimization module."""
|
49
|
+
parser = argparse.ArgumentParser(
|
50
|
+
description="Run nkululeko hyperparameter optimization."
|
51
|
+
)
|
52
|
+
parser.add_argument("--version", action="version", version=f"Nkululeko {VERSION}")
|
53
|
+
parser.add_argument(
|
54
|
+
"--config", default="exp.ini", help="The optimization configuration file"
|
55
|
+
)
|
56
|
+
args = parser.parse_args()
|
57
|
+
|
58
|
+
config_file = args.config
|
59
|
+
doit(config_file)
|
60
|
+
|
61
|
+
|
62
|
+
if __name__ == "__main__":
|
63
|
+
main()
|