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.
Files changed (167) hide show
  1. {nkululeko-0.82.4 → nkululeko-0.83.1}/CHANGELOG.md +8 -0
  2. {nkululeko-0.82.4/nkululeko.egg-info → nkululeko-0.83.1}/PKG-INFO +9 -1
  3. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/constants.py +1 -1
  4. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/experiment.py +4 -3
  5. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/modelrunner.py +4 -6
  6. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/nkuluflag.py +19 -6
  7. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/reporter.py +7 -3
  8. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/test.py +20 -15
  9. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/test_predictor.py +21 -7
  10. {nkululeko-0.82.4 → nkululeko-0.83.1/nkululeko.egg-info}/PKG-INFO +9 -1
  11. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/SOURCES.txt +0 -2
  12. nkululeko-0.82.4/meta/demos/multiple_exeriments/do_experiments.py +0 -35
  13. nkululeko-0.82.4/nkululeko/reporter.py +0 -332
  14. {nkululeko-0.82.4 → nkululeko-0.83.1}/LICENSE +0 -0
  15. {nkululeko-0.82.4 → nkululeko-0.83.1}/README.md +0 -0
  16. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/aesdd/process_database.py +0 -0
  17. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/androids/process_database.py +0 -0
  18. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/androids_orig/process_database.py +0 -0
  19. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/androids_test/process_database.py +0 -0
  20. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ased/process_database.py +0 -0
  21. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/asvp-esd/process_database.py +0 -0
  22. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/baved/process_database.py +0 -0
  23. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/cafe/process_database.py +0 -0
  24. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/clac/process_database.py +0 -0
  25. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/cmu-mosei/process_database.py +0 -0
  26. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/demos/process_database.py +0 -0
  27. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ekorpus/process_database.py +0 -0
  28. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emns/process_database.py +0 -0
  29. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emofilm/convert_to_16k.py +0 -0
  30. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emofilm/process_database.py +0 -0
  31. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emorynlp/process_database.py +0 -0
  32. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emov-db/process_database.py +0 -0
  33. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emovo/process_database.py +0 -0
  34. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/emozionalmente/create.py +0 -0
  35. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/enterface/process_database.py +0 -0
  36. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/esd/process_database.py +0 -0
  37. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/gerparas/process_database.py +0 -0
  38. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/iemocap/process_database.py +0 -0
  39. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/jl/process_database.py +0 -0
  40. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/jtes/process_database.py +0 -0
  41. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/meld/process_database.py +0 -0
  42. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/mesd/process_database.py +0 -0
  43. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/mess/process_database.py +0 -0
  44. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/mlendsnd/process_database.py +0 -0
  45. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/msp-improv/process_database2.py +0 -0
  46. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/msp-podcast/process_database.py +0 -0
  47. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/oreau2/process_database.py +0 -0
  48. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/portuguese/process_database.py +0 -0
  49. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ravdess/process_database.py +0 -0
  50. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/ravdess/process_database_speaker.py +0 -0
  51. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/savee/process_database.py +0 -0
  52. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/shemo/process_database.py +0 -0
  53. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/subesco/process_database.py +0 -0
  54. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/tess/process_database.py +0 -0
  55. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/thorsten-emotional/process_database.py +0 -0
  56. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/urdu/process_database.py +0 -0
  57. {nkululeko-0.82.4 → nkululeko-0.83.1}/data/vivae/process_database.py +0 -0
  58. {nkululeko-0.82.4 → nkululeko-0.83.1}/docs/source/conf.py +0 -0
  59. {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/demo_best_model.py +0 -0
  60. {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/my_experiment.py +0 -0
  61. {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/my_experiment_local.py +0 -0
  62. {nkululeko-0.82.4 → nkululeko-0.83.1}/meta/demos/plot_faster_anim.py +0 -0
  63. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/__init__.py +0 -0
  64. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/aug_train.py +0 -0
  65. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augment.py +0 -0
  66. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/__init__.py +0 -0
  67. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/augmenter.py +0 -0
  68. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/randomsplicer.py +0 -0
  69. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/randomsplicing.py +0 -0
  70. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/augmenting/resampler.py +0 -0
  71. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/__init__.py +0 -0
  72. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_age.py +0 -0
  73. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_arousal.py +0 -0
  74. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_dominance.py +0 -0
  75. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_gender.py +0 -0
  76. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_mos.py +0 -0
  77. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_pesq.py +0 -0
  78. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_sdr.py +0 -0
  79. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_snr.py +0 -0
  80. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_stoi.py +0 -0
  81. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/ap_valence.py +0 -0
  82. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/autopredict/estimate_snr.py +0 -0
  83. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/cacheddataset.py +0 -0
  84. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/data/__init__.py +0 -0
  85. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/data/dataset.py +0 -0
  86. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/data/dataset_csv.py +0 -0
  87. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/demo.py +0 -0
  88. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/demo_feats.py +0 -0
  89. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/demo_predictor.py +0 -0
  90. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/explore.py +0 -0
  91. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/export.py +0 -0
  92. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/__init__.py +0 -0
  93. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_agender.py +0 -0
  94. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
  95. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_analyser.py +0 -0
  96. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_auddim.py +0 -0
  97. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_audmodel.py +0 -0
  98. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_clap.py +0 -0
  99. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_hubert.py +0 -0
  100. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_import.py +0 -0
  101. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_mld.py +0 -0
  102. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_mos.py +0 -0
  103. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_opensmile.py +0 -0
  104. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_oxbow.py +0 -0
  105. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_praat.py +0 -0
  106. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_snr.py +0 -0
  107. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_spectra.py +0 -0
  108. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_spkrec.py +0 -0
  109. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_squim.py +0 -0
  110. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_trill.py +0 -0
  111. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
  112. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_wavlm.py +0 -0
  113. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feats_whisper.py +0 -0
  114. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/featureset.py +0 -0
  115. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feat_extract/feinberg_praat.py +0 -0
  116. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/feature_extractor.py +0 -0
  117. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/file_checker.py +0 -0
  118. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/filter_data.py +0 -0
  119. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/glob_conf.py +0 -0
  120. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/losses/__init__.py +0 -0
  121. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/losses/loss_ccc.py +0 -0
  122. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/losses/loss_softf1loss.py +0 -0
  123. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/__init__.py +0 -0
  124. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model.py +0 -0
  125. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_bayes.py +0 -0
  126. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_cnn.py +0 -0
  127. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_gmm.py +0 -0
  128. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_knn.py +0 -0
  129. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_knn_reg.py +0 -0
  130. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_lin_reg.py +0 -0
  131. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_mlp.py +0 -0
  132. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_mlp_regression.py +0 -0
  133. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_svm.py +0 -0
  134. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_svr.py +0 -0
  135. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_tree.py +0 -0
  136. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_tree_reg.py +0 -0
  137. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_xgb.py +0 -0
  138. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/models/model_xgr.py +0 -0
  139. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/multidb.py +0 -0
  140. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/nkululeko.py +0 -0
  141. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/plots.py +0 -0
  142. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/predict.py +0 -0
  143. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/__init__.py +0 -0
  144. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/defines.py +0 -0
  145. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/latex_writer.py +0 -0
  146. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/report.py +0 -0
  147. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/report_item.py +0 -0
  148. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/reporting/result.py +0 -0
  149. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/resample.py +0 -0
  150. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/runmanager.py +0 -0
  151. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/scaler.py +0 -0
  152. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segment.py +0 -0
  153. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segmenting/__init__.py +0 -0
  154. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
  155. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/segmenting/seg_silero.py +0 -0
  156. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/syllable_nuclei.py +0 -0
  157. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/__init__.py +0 -0
  158. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/files.py +0 -0
  159. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/stats.py +0 -0
  160. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko/utils/util.py +0 -0
  161. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/dependency_links.txt +0 -0
  162. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/requires.txt +0 -0
  163. {nkululeko-0.82.4 → nkululeko-0.83.1}/nkululeko.egg-info/top_level.txt +0 -0
  164. {nkululeko-0.82.4 → nkululeko-0.83.1}/pyproject.toml +0 -0
  165. {nkululeko-0.82.4 → nkululeko-0.83.1}/setup.cfg +0 -0
  166. {nkululeko-0.82.4 → nkululeko-0.83.1}/setup.py +0 -0
  167. {nkululeko-0.82.4 → nkululeko-0.83.1}/venv/bin/activate_this.py +0 -0
@@ -1,6 +1,14 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ Version 0.83.1
5
+ --------------
6
+ * add test module to nkuluflag
7
+
8
+ Version 0.83.0
9
+ --------------
10
+ * test module now prints out reports
11
+
4
12
  Version 0.82.4
5
13
  --------------
6
14
  * fixed bug in wavlm
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.82.4
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.82.4"
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 Test_predictor
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 = 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
- import nkululeko.glob_conf as glob_conf
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 do_it(src_dir):
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 = nkulu(tmp_config)
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
- cwd = os.path.dirname(os.path.abspath(__file__))
95
- do_it(cwd) # sys.argv[1])
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 main(src_dir):
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(args.outfile)
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
- """ test_predictor.py
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 nkululeko.glob_conf as glob_conf
7
- from nkululeko.utils.util import Util
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
- import numpy as np
13
- from sklearn.preprocessing import LabelEncoder
17
+ from nkululeko.utils.util import Util
14
18
 
15
19
 
16
- class Test_predictor:
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.82.4
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}")