nkululeko 0.94.2__tar.gz → 0.94.3__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 (179) hide show
  1. {nkululeko-0.94.2 → nkululeko-0.94.3}/CHANGELOG.md +6 -0
  2. {nkululeko-0.94.2/nkululeko.egg-info → nkululeko-0.94.3}/PKG-INFO +1 -1
  3. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/augmenting/resampler.py +22 -14
  4. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/constants.py +1 -1
  5. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model.py +42 -4
  6. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_xgb.py +1 -1
  7. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/nkululeko.py +9 -0
  8. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/runmanager.py +1 -1
  9. {nkululeko-0.94.2 → nkululeko-0.94.3/nkululeko.egg-info}/PKG-INFO +1 -1
  10. {nkululeko-0.94.2 → nkululeko-0.94.3}/LICENSE +0 -0
  11. {nkululeko-0.94.2 → nkululeko-0.94.3}/README.md +0 -0
  12. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/aesdd/process_database.py +0 -0
  13. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/ased/process_database.py +0 -0
  14. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/asvp-esd/process_database.py +0 -0
  15. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/baved/process_database.py +0 -0
  16. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/cafe/process_database.py +0 -0
  17. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/clac/process_database.py +0 -0
  18. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/cmu-mosei/process_database.py +0 -0
  19. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/demos/process_database.py +0 -0
  20. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/ekorpus/process_database.py +0 -0
  21. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emns/process_database.py +0 -0
  22. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emofilm/convert_to_16k.py +0 -0
  23. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emofilm/process_database.py +0 -0
  24. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emorynlp/process_database.py +0 -0
  25. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emov-db/process_database.py +0 -0
  26. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emovo/process_database.py +0 -0
  27. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/emozionalmente/create.py +0 -0
  28. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/enterface/process_database.py +0 -0
  29. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/esd/process_database.py +0 -0
  30. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/gerparas/process_database.py +0 -0
  31. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/iemocap/process_database.py +0 -0
  32. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/jl/process_database.py +0 -0
  33. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/jtes/process_database.py +0 -0
  34. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/meld/process_database.py +0 -0
  35. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/mesd/process_database.py +0 -0
  36. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/mess/process_database.py +0 -0
  37. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/mlendsnd/process_database.py +0 -0
  38. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/msp-improv/process_database2.py +0 -0
  39. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/msp-podcast/process_database.py +0 -0
  40. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/oreau2/process_database.py +0 -0
  41. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/portuguese/process_database.py +0 -0
  42. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/ravdess/process_database.py +0 -0
  43. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/ravdess/process_database_speaker.py +0 -0
  44. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/savee/process_database.py +0 -0
  45. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/shemo/process_database.py +0 -0
  46. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/subesco/process_database.py +0 -0
  47. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/tess/process_database.py +0 -0
  48. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/thorsten-emotional/process_database.py +0 -0
  49. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/urdu/process_database.py +0 -0
  50. {nkululeko-0.94.2 → nkululeko-0.94.3}/data/vivae/process_database.py +0 -0
  51. {nkululeko-0.94.2 → nkululeko-0.94.3}/docs/source/conf.py +0 -0
  52. {nkululeko-0.94.2 → nkululeko-0.94.3}/examples/__init__.py +0 -0
  53. {nkululeko-0.94.2 → nkululeko-0.94.3}/meta/demos/demo_best_model.py +0 -0
  54. {nkululeko-0.94.2 → nkululeko-0.94.3}/meta/demos/my_experiment.py +0 -0
  55. {nkululeko-0.94.2 → nkululeko-0.94.3}/meta/demos/my_experiment_local.py +0 -0
  56. {nkululeko-0.94.2 → nkululeko-0.94.3}/meta/demos/plot_faster_anim.py +0 -0
  57. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/__init__.py +0 -0
  58. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/aug_train.py +0 -0
  59. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/augment.py +0 -0
  60. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/augmenting/__init__.py +0 -0
  61. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/augmenting/augmenter.py +0 -0
  62. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/augmenting/randomsplicer.py +0 -0
  63. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/augmenting/randomsplicing.py +0 -0
  64. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/__init__.py +0 -0
  65. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_age.py +0 -0
  66. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_arousal.py +0 -0
  67. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_dominance.py +0 -0
  68. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_gender.py +0 -0
  69. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_mos.py +0 -0
  70. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_pesq.py +0 -0
  71. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_sdr.py +0 -0
  72. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_sid.py +0 -0
  73. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_snr.py +0 -0
  74. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_stoi.py +0 -0
  75. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/ap_valence.py +0 -0
  76. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/autopredict/estimate_snr.py +0 -0
  77. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/cacheddataset.py +0 -0
  78. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/data/__init__.py +0 -0
  79. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/data/dataset.py +0 -0
  80. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/data/dataset_csv.py +0 -0
  81. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/demo-ft.py +0 -0
  82. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/demo.py +0 -0
  83. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/demo_feats.py +0 -0
  84. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/demo_predictor.py +0 -0
  85. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/ensemble.py +0 -0
  86. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/experiment.py +0 -0
  87. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/explore.py +0 -0
  88. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/export.py +0 -0
  89. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/__init__.py +0 -0
  90. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_agender.py +0 -0
  91. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
  92. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_analyser.py +0 -0
  93. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_ast.py +0 -0
  94. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_auddim.py +0 -0
  95. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_audmodel.py +0 -0
  96. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_clap.py +0 -0
  97. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_emotion2vec.py +0 -0
  98. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_hubert.py +0 -0
  99. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_import.py +0 -0
  100. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_mld.py +0 -0
  101. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_mos.py +0 -0
  102. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_opensmile copy.py +0 -0
  103. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_opensmile.py +0 -0
  104. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_oxbow.py +0 -0
  105. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_praat.py +0 -0
  106. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_snr.py +0 -0
  107. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_spectra.py +0 -0
  108. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_spkrec.py +0 -0
  109. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_squim.py +0 -0
  110. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_trill.py +0 -0
  111. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
  112. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_wavlm.py +0 -0
  113. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feats_whisper.py +0 -0
  114. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/featureset.py +0 -0
  115. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/feinberg_praat.py +0 -0
  116. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feat_extract/transformer_feature_extractor.py +0 -0
  117. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/feature_extractor.py +0 -0
  118. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/file_checker.py +0 -0
  119. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/filter_data.py +0 -0
  120. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/fixedsegment.py +0 -0
  121. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/glob_conf.py +0 -0
  122. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/losses/__init__.py +0 -0
  123. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/losses/loss_ccc.py +0 -0
  124. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/losses/loss_softf1loss.py +0 -0
  125. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/modelrunner.py +0 -0
  126. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/__init__.py +0 -0
  127. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_bayes.py +0 -0
  128. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_cnn.py +0 -0
  129. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_gmm.py +0 -0
  130. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_knn.py +0 -0
  131. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_knn_reg.py +0 -0
  132. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_lin_reg.py +0 -0
  133. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_mlp.py +0 -0
  134. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_mlp_regression.py +0 -0
  135. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_svm.py +0 -0
  136. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_svr.py +0 -0
  137. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_tree.py +0 -0
  138. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_tree_reg.py +0 -0
  139. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_tuned.py +0 -0
  140. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/model_xgr.py +0 -0
  141. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/tests/__init__.py +0 -0
  142. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/models/tests/test_model_svm.py +0 -0
  143. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/multidb.py +0 -0
  144. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/nkuluflag.py +0 -0
  145. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/plots.py +0 -0
  146. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/predict.py +0 -0
  147. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/__init__.py +0 -0
  148. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/defines.py +0 -0
  149. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/latex_writer.py +0 -0
  150. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/report.py +0 -0
  151. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/report_item.py +0 -0
  152. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/reporter.py +0 -0
  153. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/reporting/result.py +0 -0
  154. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/resample.py +0 -0
  155. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/scaler.py +0 -0
  156. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/segment.py +0 -0
  157. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/segmenting/__init__.py +0 -0
  158. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
  159. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/segmenting/seg_pyannote.py +0 -0
  160. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/segmenting/seg_silero.py +0 -0
  161. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/syllable_nuclei.py +0 -0
  162. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/test.py +0 -0
  163. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/test_predictor.py +0 -0
  164. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/test_pretrain.py +0 -0
  165. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/utils/__init__.py +0 -0
  166. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/utils/files.py +0 -0
  167. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/utils/stats.py +0 -0
  168. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/utils/unzip.py +0 -0
  169. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko/utils/util.py +0 -0
  170. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko.egg-info/SOURCES.txt +0 -0
  171. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko.egg-info/dependency_links.txt +0 -0
  172. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko.egg-info/entry_points.txt +0 -0
  173. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko.egg-info/requires.txt +0 -0
  174. {nkululeko-0.94.2 → nkululeko-0.94.3}/nkululeko.egg-info/top_level.txt +0 -0
  175. {nkululeko-0.94.2 → nkululeko-0.94.3}/pyproject.toml +0 -0
  176. {nkululeko-0.94.2 → nkululeko-0.94.3}/setup.cfg +0 -0
  177. {nkululeko-0.94.2 → nkululeko-0.94.3}/setup.py +0 -0
  178. {nkululeko-0.94.2 → nkululeko-0.94.3}/tests/test_install.py +0 -0
  179. {nkululeko-0.94.2 → nkululeko-0.94.3}/tests/test_modules.py +0 -0
@@ -1,6 +1,12 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ Version 0.94.3 (25-07-22)
5
+ --------------------------
6
+ * adding the following features (related to dementia/alzheimer):
7
+ * pause_lognorm_mu, pause_lognorm_sigma, pause_lognorm_ks_pvalue
8
+ * pause_mean_duration, pause_std_duration, pause_cv, proportion_pause_duration (
9
+
4
10
  Version 0.94.2 (25-06-02)
5
11
  --------------------------
6
12
  * added better error message: util.py might not have a logger
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nkululeko
3
- Version: 0.94.2
3
+ Version: 0.94.3
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
@@ -17,7 +17,7 @@ class Resampler:
17
17
  def __init__(self, df, replace, not_testing=True):
18
18
  self.SAMPLING_RATE = 16000
19
19
  self.df = df
20
- self.util = Util("resampler", has_config=not_testing)
20
+ self.util = Util("resampler", has_config=not not_testing)
21
21
  self.util.warn(f"all files might be resampled to {self.SAMPLING_RATE}")
22
22
  self.not_testing = not_testing
23
23
  self.replace = (
@@ -30,7 +30,7 @@ class Resampler:
30
30
  files = self.df.index.get_level_values(0).values
31
31
  # replace = eval(self.util.config_val("RESAMPLE", "replace", "False"))
32
32
  replace = self.replace
33
- if self.not_testing:
33
+ if not self.not_testing:
34
34
  store = self.util.get_path("store")
35
35
  else:
36
36
  store = "./"
@@ -67,17 +67,25 @@ class Resampler:
67
67
  self.df = self.df.set_index(
68
68
  self.df.index.set_levels(new_files, level="file")
69
69
  )
70
- target_file = self.util.config_val("RESAMPLE", "target", "resampled.csv")
71
- # remove encoded labels
72
- target = self.util.config_val("DATA", "target", "emotion")
73
- if "class_label" in self.df.columns:
74
- self.df = self.df.drop(columns=[target])
75
- self.df = self.df.rename(columns={"class_label": target})
76
- # save file
77
- self.df.to_csv(target_file)
78
- self.util.debug(
79
- "saved resampled list of files to" f" {os.path.abspath(target_file)}"
80
- )
70
+ if not self.not_testing:
71
+ target_file = self.util.config_val("RESAMPLE", "target", "resampled.csv")
72
+ # remove encoded labels
73
+ target = self.util.config_val("DATA", "target", "emotion")
74
+ if "class_label" in self.df.columns:
75
+ self.df = self.df.drop(columns=[target])
76
+ self.df = self.df.rename(columns={"class_label": target})
77
+ # save file
78
+ self.df.to_csv(target_file)
79
+ self.util.debug(
80
+ "saved resampled list of files to" f" {os.path.abspath(target_file)}"
81
+ )
82
+ else:
83
+ # When running from command line, save to simple resampled.csv
84
+ target_file = "resampled.csv"
85
+ self.df.to_csv(target_file)
86
+ self.util.debug(
87
+ f"saved resampled list of files to {os.path.abspath(target_file)}"
88
+ )
81
89
  self.util.debug(f"resampled {succes} files, {error} errors")
82
90
 
83
91
 
@@ -91,7 +99,7 @@ def main():
91
99
  df_sample.index, allow_nat=False
92
100
  )
93
101
  df_sample.head(10)
94
- resampler = Resampler(df_sample, not_testing=False)
102
+ resampler = Resampler(df_sample, False, not_testing=False)
95
103
  resampler.resample()
96
104
  shutil.copyfile(testfile, "tmp.resample_result.wav")
97
105
  shutil.copyfile("tmp.wav", testfile)
@@ -1,2 +1,2 @@
1
- VERSION="0.94.2"
1
+ VERSION="0.94.3"
2
2
  SAMPLING_RATE = 16000
@@ -3,11 +3,15 @@ import ast
3
3
  import pickle
4
4
  import random
5
5
 
6
+ from joblib import parallel_backend
6
7
  import numpy as np
7
8
  import pandas as pd
9
+ from sklearn.model_selection import GridSearchCV
10
+ from sklearn.model_selection import LeaveOneGroupOut
11
+ from sklearn.model_selection import StratifiedKFold
8
12
  import sklearn.utils
9
- from joblib import parallel_backend
10
- from sklearn.model_selection import GridSearchCV, LeaveOneGroupOut, StratifiedKFold
13
+
14
+ import audeer
11
15
 
12
16
  import nkululeko.glob_conf as glob_conf
13
17
  from nkululeko.reporting.reporter import Reporter
@@ -301,8 +305,15 @@ class Model:
301
305
  def get_type(self):
302
306
  return "generic"
303
307
 
304
- def predict_sample(self, features):
305
- """Predict one sample"""
308
+ def predict_sample(self, features: np.ndarray) -> dict | float:
309
+ """Predict a single sample using the trained model.
310
+
311
+ Args:
312
+ features (np.ndarray): The feature vector of the sample to predict.
313
+
314
+ Returns:
315
+ dict: A dictionary containing the predicted class probabilities or value.
316
+ """
306
317
  prediction = {}
307
318
  if self.util.exp_is_classification():
308
319
  # get the class probabilities
@@ -336,3 +347,30 @@ class Model:
336
347
  self.set_id(run, epoch)
337
348
  with open(path, "rb") as handle:
338
349
  self.clf = pickle.load(handle)
350
+
351
+ # next function exports the model to onnx
352
+ def export_onnx(self, onnx_path, input_shape=None):
353
+ """Export the trained sklearn model to ONNX format.
354
+
355
+ Args:
356
+ onnx_path (str): Path to save the ONNX model.
357
+ input_shape (tuple, optional): Shape of the input features. If None, inferred from feats_train.
358
+ """
359
+ import skl2onnx
360
+ from skl2onnx import convert_sklearn
361
+ from skl2onnx.common.data_types import FloatTensorType
362
+
363
+ if not hasattr(self, "clf"):
364
+ self.util.error("No trained model found to export.")
365
+ return
366
+
367
+ if input_shape is None:
368
+ n_features = self.feats_train.shape[1]
369
+ initial_type = [("input", FloatTensorType([None, n_features]))]
370
+ else:
371
+ initial_type = [("input", FloatTensorType(input_shape))]
372
+
373
+ onnx_model = convert_sklearn(self.clf, initial_types=initial_type)
374
+ with open(audeer.path(onnx_path), "wb") as f:
375
+ f.write(onnx_model.SerializeToString())
376
+ self.util.debug(f"Model exported to ONNX at {onnx_path}")
@@ -1,4 +1,4 @@
1
- # xgbmodel.py
1
+ # model_xgb.py
2
2
 
3
3
  from xgboost import XGBClassifier
4
4
 
@@ -54,6 +54,15 @@ def doit(config_file):
54
54
  reports, last_epochs = expr.run()
55
55
  result = expr.get_best_report(reports).result.test
56
56
  expr.store_report()
57
+
58
+ # check if we want to export the model
59
+ o_path = util.config_val("EXP", "export_onnx", "False")
60
+ if eval(o_path):
61
+ print(f"Exporting ONNX model to {o_path}")
62
+ o_path = o_path.replace('"', '')
63
+ expr.runmgr.get_best_model().export_onnx(str(o_path))
64
+
65
+
57
66
  print("DONE")
58
67
  return result, int(np.asarray(last_epochs).min())
59
68
 
@@ -181,7 +181,7 @@ class Runmanager:
181
181
  """
182
182
  # self.load_model(report)
183
183
  # report = self.model.predict()
184
- self.util.debug(f"plotting conf matrix to {plot_name}")
184
+ self.util.debug(f"plotting conf matrix as {plot_name}")
185
185
  report.plot_confmatrix(plot_name, epoch=report.epoch)
186
186
  report.print_results(report.epoch, file_name=plot_name)
187
187
  report.print_probabilities(file_name=plot_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nkululeko
3
- Version: 0.94.2
3
+ Version: 0.94.3
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes