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.
Files changed (195) hide show
  1. {nkululeko-0.95.3 → nkululeko-0.95.4}/CHANGELOG.md +5 -0
  2. {nkululeko-0.95.3/nkululeko.egg-info → nkululeko-0.95.4}/PKG-INFO +2 -2
  3. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/constants.py +1 -1
  4. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/data/dataset.py +14 -1
  5. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/experiment.py +1 -1
  6. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/modelrunner.py +10 -5
  7. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_mlp_regression.py +3 -0
  8. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/nkuluflag.py +1 -1
  9. nkululeko-0.95.4/nkululeko/optim.py +63 -0
  10. nkululeko-0.95.3/nkululeko/optim.py → nkululeko-0.95.4/nkululeko/optimizationrunner.py +304 -117
  11. nkululeko-0.95.3/nkululeko/test.py → nkululeko-0.95.4/nkululeko/testing.py +4 -3
  12. nkululeko-0.95.3/nkululeko/test_predictor.py → nkululeko-0.95.4/nkululeko/testing_predictor.py +2 -2
  13. nkululeko-0.95.3/nkululeko/test_pretrain.py → nkululeko-0.95.4/nkululeko/testing_pretrain.py +2 -5
  14. {nkululeko-0.95.3 → nkululeko-0.95.4/nkululeko.egg-info}/PKG-INFO +2 -2
  15. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/SOURCES.txt +4 -3
  16. {nkululeko-0.95.3 → nkululeko-0.95.4}/pyproject.toml +3 -3
  17. {nkululeko-0.95.3 → nkululeko-0.95.4}/setup.py +1 -1
  18. {nkululeko-0.95.3 → nkululeko-0.95.4}/LICENSE +0 -0
  19. {nkululeko-0.95.3 → nkululeko-0.95.4}/README.md +0 -0
  20. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/aesdd/process_database.py +0 -0
  21. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ased/process_database.py +0 -0
  22. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/asvp-esd/process_database.py +0 -0
  23. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/baved/process_database.py +0 -0
  24. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/cafe/process_database.py +0 -0
  25. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/clac/process_database.py +0 -0
  26. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/cmu-mosei/process_database.py +0 -0
  27. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/demos/process_database.py +0 -0
  28. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ekorpus/process_database.py +0 -0
  29. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emns/process_database.py +0 -0
  30. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emofilm/convert_to_16k.py +0 -0
  31. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emofilm/process_database.py +0 -0
  32. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emorynlp/process_database.py +0 -0
  33. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emov-db/process_database.py +0 -0
  34. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emovo/process_database.py +0 -0
  35. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/emozionalmente/create.py +0 -0
  36. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/enterface/process_database.py +0 -0
  37. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/esd/process_database.py +0 -0
  38. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/gerparas/process_database.py +0 -0
  39. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/iemocap/process_database.py +0 -0
  40. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/jl/process_database.py +0 -0
  41. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/jtes/process_database.py +0 -0
  42. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/meld/process_database.py +0 -0
  43. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/mesd/process_database.py +0 -0
  44. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/mess/process_database.py +0 -0
  45. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/mlendsnd/process_database.py +0 -0
  46. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/msp-improv/process_database2.py +0 -0
  47. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/msp-podcast/process_database.py +0 -0
  48. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/oreau2/process_database.py +0 -0
  49. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/portuguese/process_database.py +0 -0
  50. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ravdess/process_database.py +0 -0
  51. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/ravdess/process_database_speaker.py +0 -0
  52. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/savee/process_database.py +0 -0
  53. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/shemo/process_database.py +0 -0
  54. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/subesco/process_database.py +0 -0
  55. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/tess/process_database.py +0 -0
  56. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/thorsten-emotional/process_database.py +0 -0
  57. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/urdu/process_database.py +0 -0
  58. {nkululeko-0.95.3 → nkululeko-0.95.4}/data/vivae/process_database.py +0 -0
  59. {nkululeko-0.95.3 → nkululeko-0.95.4}/docs/source/conf.py +0 -0
  60. {nkululeko-0.95.3 → nkululeko-0.95.4}/examples/__init__.py +0 -0
  61. {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/demo_best_model.py +0 -0
  62. {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/my_experiment.py +0 -0
  63. {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/my_experiment_local.py +0 -0
  64. {nkululeko-0.95.3 → nkululeko-0.95.4}/meta/demos/plot_faster_anim.py +0 -0
  65. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/__init__.py +0 -0
  66. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/aug_train.py +0 -0
  67. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augment.py +0 -0
  68. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/__init__.py +0 -0
  69. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/augmenter.py +0 -0
  70. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/randomsplicer.py +0 -0
  71. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/randomsplicing.py +0 -0
  72. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/augmenting/resampler.py +0 -0
  73. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/__init__.py +0 -0
  74. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_age.py +0 -0
  75. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_arousal.py +0 -0
  76. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_dominance.py +0 -0
  77. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_emotion.py +0 -0
  78. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_gender.py +0 -0
  79. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_mos.py +0 -0
  80. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_pesq.py +0 -0
  81. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_sdr.py +0 -0
  82. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_sid.py +0 -0
  83. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_snr.py +0 -0
  84. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_stoi.py +0 -0
  85. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_text.py +0 -0
  86. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/ap_valence.py +0 -0
  87. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/estimate_snr.py +0 -0
  88. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/tests/__init__.py +0 -0
  89. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/tests/test_whisper_transcriber.py +0 -0
  90. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/autopredict/whisper_transcriber.py +0 -0
  91. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/balance.py +0 -0
  92. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/cacheddataset.py +0 -0
  93. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/data/__init__.py +0 -0
  94. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/data/dataset_csv.py +0 -0
  95. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo-ft.py +0 -0
  96. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo.py +0 -0
  97. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo_feats.py +0 -0
  98. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/demo_predictor.py +0 -0
  99. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/ensemble.py +0 -0
  100. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/explore.py +0 -0
  101. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/export.py +0 -0
  102. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/__init__.py +0 -0
  103. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_agender.py +0 -0
  104. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
  105. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_analyser.py +0 -0
  106. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_ast.py +0 -0
  107. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_auddim.py +0 -0
  108. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_audmodel.py +0 -0
  109. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_clap.py +0 -0
  110. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_emotion2vec.py +0 -0
  111. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_hubert.py +0 -0
  112. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_import.py +0 -0
  113. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_mld.py +0 -0
  114. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_mos.py +0 -0
  115. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_opensmile.py +0 -0
  116. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_oxbow.py +0 -0
  117. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_praat.py +0 -0
  118. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_praat_core.py +0 -0
  119. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_snr.py +0 -0
  120. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_spectra.py +0 -0
  121. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_spkrec.py +0 -0
  122. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_squim.py +0 -0
  123. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_trill.py +0 -0
  124. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
  125. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_wavlm.py +0 -0
  126. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/feats_whisper.py +0 -0
  127. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/featureset.py +0 -0
  128. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/tests/__init__.py +0 -0
  129. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/tests/test_feats_opensmile.py +0 -0
  130. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/tests/test_feats_praat_core.py +0 -0
  131. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feat_extract/transformer_feature_extractor.py +0 -0
  132. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/feature_extractor.py +0 -0
  133. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/file_checker.py +0 -0
  134. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/filter_data.py +0 -0
  135. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/fixedsegment.py +0 -0
  136. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/glob_conf.py +0 -0
  137. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/losses/__init__.py +0 -0
  138. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/losses/loss_ccc.py +0 -0
  139. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/losses/loss_softf1loss.py +0 -0
  140. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/__init__.py +0 -0
  141. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model.py +0 -0
  142. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_bayes.py +0 -0
  143. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_cnn.py +0 -0
  144. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_gmm.py +0 -0
  145. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_knn.py +0 -0
  146. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_knn_reg.py +0 -0
  147. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_lin_reg.py +0 -0
  148. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_mlp.py +0 -0
  149. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_svm.py +0 -0
  150. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_svr.py +0 -0
  151. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_tree.py +0 -0
  152. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_tree_reg.py +0 -0
  153. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_tuned.py +0 -0
  154. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_xgb.py +0 -0
  155. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/model_xgr.py +0 -0
  156. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/__init__.py +0 -0
  157. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_knn.py +0 -0
  158. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_mlp.py +0 -0
  159. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_svm.py +0 -0
  160. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/models/tests/test_model_xgb.py +0 -0
  161. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/multidb.py +0 -0
  162. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/nkululeko.py +0 -0
  163. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/plots.py +0 -0
  164. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/predict.py +0 -0
  165. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/__init__.py +0 -0
  166. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/defines.py +0 -0
  167. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/latex_writer.py +0 -0
  168. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/report.py +0 -0
  169. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/report_item.py +0 -0
  170. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/reporter.py +0 -0
  171. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/reporting/result.py +0 -0
  172. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/resample.py +0 -0
  173. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/runmanager.py +0 -0
  174. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/scaler.py +0 -0
  175. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segment.py +0 -0
  176. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/__init__.py +0 -0
  177. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
  178. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/seg_pyannote.py +0 -0
  179. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/segmenting/seg_silero.py +0 -0
  180. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/syllable_nuclei.py +0 -0
  181. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/tests/__init__.py +0 -0
  182. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/tests/test_balancing.py +0 -0
  183. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/tests/test_optim.py +0 -0
  184. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/__init__.py +0 -0
  185. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/files.py +0 -0
  186. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/stats.py +0 -0
  187. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/unzip.py +0 -0
  188. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko/utils/util.py +0 -0
  189. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/dependency_links.txt +0 -0
  190. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/entry_points.txt +0 -0
  191. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/requires.txt +0 -0
  192. {nkululeko-0.95.3 → nkululeko-0.95.4}/nkululeko.egg-info/top_level.txt +0 -0
  193. {nkululeko-0.95.3 → nkululeko-0.95.4}/setup.cfg +0 -0
  194. {nkululeko-0.95.3 → nkululeko-0.95.4}/tests/test_install.py +0 -0
  195. {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
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 <bagus@ep.its.ac.id>
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.3"
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.test_predictor import TestPredictor
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
- # Initialize the data balancer
255
- balancer = DataBalancer(random_state=42)
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()
@@ -5,7 +5,7 @@ import os.path
5
5
  import sys
6
6
 
7
7
  from nkululeko.nkululeko import doit as nkulu
8
- from nkululeko.test import do_it as test_mod
8
+ from nkululeko.testing import do_it as test_mod
9
9
 
10
10
 
11
11
  def doit(cla):
@@ -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()