nkululeko 0.93.14__py3-none-any.whl → 0.94.0__py3-none-any.whl

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/runmanager.py CHANGED
@@ -22,7 +22,8 @@ class Runmanager:
22
22
  ) # The dataframes
23
23
  reports = []
24
24
 
25
- def __init__(self, df_train, df_test, feats_train, feats_test):
25
+ def __init__(self, df_train, df_test, feats_train,
26
+ feats_test, dev_x=None, dev_y=None):
26
27
  """Constructor setting up the dataframes.
27
28
 
28
29
  Args:
@@ -38,11 +39,10 @@ class Runmanager:
38
39
  feats_train,
39
40
  feats_test,
40
41
  )
42
+ self.df_dev, self.feats_dev = dev_x, dev_y
41
43
  self.util = Util("runmanager")
42
44
  self.target = glob_conf.config["DATA"]["target"]
43
- # intialize a new model
44
- # model_type = glob_conf.config['MODEL']['type']
45
- # self._select_model(model_type)
45
+ self.split3 = eval(self.util.config_val("EXP", "traindevtest", "False"))
46
46
 
47
47
  def do_runs(self):
48
48
  """Start the runs."""
@@ -55,14 +55,34 @@ class Runmanager:
55
55
  )
56
56
  # set the run index as global variable for reporting
57
57
  self.util.set_config_val("EXP", "run", run)
58
- self.modelrunner = Modelrunner(
59
- self.df_train,
60
- self.df_test,
61
- self.feats_train,
62
- self.feats_test,
63
- run,
58
+ if self.df_dev is not None:
59
+ self.modelrunner = Modelrunner(
60
+ self.df_train,
61
+ self.df_dev,
62
+ self.feats_train,
63
+ self.feats_dev,
64
+ run,
65
+ )
66
+ self.reports, last_epoch = self.modelrunner.do_epochs()
67
+ else:
68
+ self.modelrunner = Modelrunner(
69
+ self.df_train,
70
+ self.df_test,
71
+ self.feats_train,
72
+ self.feats_test,
73
+ run,
74
+ )
75
+ self.reports, last_epoch = self.modelrunner.do_epochs()
76
+
77
+ last_report = self.reports[-1]
78
+ plot_name_suggest = self.util.get_exp_name()
79
+ plot_name = (
80
+ self.util.config_val("PLOT", "name", plot_name_suggest)
81
+ + f"_last_{last_report.run}_{last_report.epoch:03d}"
64
82
  )
65
- self.reports, last_epoch = self.modelrunner.do_epochs()
83
+ # finally, print out the numbers for this run
84
+ self.print_report(last_report, plot_name)
85
+
66
86
  # wrap up the run
67
87
  plot_anim_progression = self.util.config_val("PLOT", "anim_progression", 0)
68
88
  if plot_anim_progression:
@@ -82,7 +102,6 @@ class Runmanager:
82
102
  # possibly this value has not been set
83
103
  epoch_num = 1
84
104
  if epoch_num > 1 and plot_epoch_progression:
85
- plot_name_suggest = self.util.get_exp_name()
86
105
  plot_name = (
87
106
  self.util.config_val("PLOT", "name", plot_name_suggest)
88
107
  + "_epoch_progression"
@@ -91,25 +110,24 @@ class Runmanager:
91
110
  self.reports[-1].plot_epoch_progression(self.reports, plot_name)
92
111
  # remember the best run
93
112
  best_report = self.get_best_result(self.reports)
94
- plot_best_model = self.util.config_val("PLOT", "best_model", False)
95
-
96
- if epoch_num > 1 and plot_best_model:
97
- plot_name_suggest = self.util.get_exp_name()
98
- plot_name = (
99
- self.util.config_val("PLOT", "name", plot_name_suggest)
100
- + f"_BEST_{best_report.run}_{best_report.epoch:03d}_BEST_cnf"
101
- )
102
- self.util.debug(
103
- f"best result with run {best_report.run} and epoch"
104
- f" {best_report.epoch}:"
105
- f" {best_report.result.get_test_result()}"
106
- )
107
- self.print_model(best_report, plot_name)
113
+ plot_name = (
114
+ self.util.config_val("PLOT", "name", plot_name_suggest)
115
+ + f"_BEST-dev_{best_report.run}_{best_report.epoch:03d}"
116
+ )
108
117
  # finally, print out the numbers for this run
109
- best_report.print_results(best_report.epoch)
110
- best_report.print_probabilities()
118
+ self.print_report(best_report, plot_name)
111
119
  self.best_results.append(best_report)
112
120
  self.last_epochs.append(last_epoch)
121
+ if self.split3:
122
+ best_model = self.get_best_model()
123
+ self.test_report = self.modelrunner.eval_specific_model(
124
+ best_model, self.df_test, self.feats_test)
125
+ self.test_report.epoch = best_report.epoch
126
+ plot_name = (
127
+ self.util.config_val("PLOT", "name", plot_name_suggest)
128
+ + f"_test_{best_report.run}_{best_report.epoch:03d}"
129
+ )
130
+ self.print_report(self.test_report, plot_name)
113
131
 
114
132
  def print_best_result_runs(self):
115
133
  """Print the best result for all runs."""
@@ -123,7 +141,7 @@ class Runmanager:
123
141
  self.util.config_val("PLOT", "name", plot_name_suggest)
124
142
  + f"_BEST_{best_report.run}_{best_report.epoch:03d}_BEST_cnf"
125
143
  )
126
- self.print_model(best_report, plot_name)
144
+ self.print_report(best_report, plot_name)
127
145
 
128
146
  def print_given_result(self, run, epoch):
129
147
  """Print a result (confusion matrix) for a given epoch and run.
@@ -141,9 +159,9 @@ class Runmanager:
141
159
  self.util.config_val("PLOT", "name", plot_name_suggest)
142
160
  + f"_extra_{run}_{epoch:03d}_cnf"
143
161
  )
144
- self.print_model(report, plot_name)
162
+ self.print_report(report, plot_name)
145
163
 
146
- def print_model(self, reporter, plot_name):
164
+ def print_report(self, report, plot_name):
147
165
  """Print a confusion matrix for a special report.
148
166
 
149
167
  Args:
@@ -153,8 +171,10 @@ class Runmanager:
153
171
  # self.load_model(report)
154
172
  # report = self.model.predict()
155
173
  self.util.debug(f"plotting conf matrix to {plot_name}")
156
- reporter.plot_confmatrix(plot_name)
157
- reporter.print_results()
174
+ report.plot_confmatrix(plot_name, epoch = report.epoch)
175
+ report.print_results(report.epoch, file_name = plot_name)
176
+ report.print_probabilities(file_name=plot_name)
177
+
158
178
 
159
179
  def load_model(self, report):
160
180
  """Load a model from disk for a specific run and epoch and evaluate it.
nkululeko/scaler.py CHANGED
@@ -8,23 +8,20 @@ from nkululeko.utils.util import Util
8
8
 
9
9
 
10
10
  class Scaler:
11
- """
12
- class to normalize speech features
13
- """
11
+ """Class to normalize speech features."""
14
12
 
15
13
  def __init__(
16
- self, train_data_df, test_data_df, train_feats, test_feats, scaler_type
14
+ self, train_data_df, test_data_df, train_feats, test_feats, scaler_type, dev_x = None, dev_y = None
17
15
  ):
18
- """
19
- Initializer.
16
+ """Constructor.
20
17
 
21
- Parameters:
22
- train_data_df (pd.DataFrame): The training dataframe with speakers.
23
- only needed for speaker normalization
24
- test_data_df (pd.DataFrame): The test dataframe with speakers
25
- only needed for speaker normalization
26
- train_feats (pd.DataFrame): The train features dataframe
27
- test_feats (pd.DataFrame): The test features dataframe (can be None)
18
+ Parameters:
19
+ train_data_df (pd.DataFrame): The training dataframe with speakers.
20
+ only needed for speaker normalization
21
+ test_data_df (pd.DataFrame): The test dataframe with speakers
22
+ only needed for speaker normalization
23
+ train_feats (pd.DataFrame): The train features dataframe
24
+ test_feats (pd.DataFrame): The test features dataframe (can be None)
28
25
  """
29
26
  self.util = Util("scaler")
30
27
  if scaler_type == "standard":
@@ -42,14 +39,18 @@ class Scaler:
42
39
  self.data_train = train_data_df
43
40
  self.feats_test = test_feats
44
41
  self.data_test = test_data_df
45
-
42
+ if dev_x is not None:
43
+ self.feats_dev = dev_y
44
+ self.data_dev = dev_x
45
+ else:
46
+ self.feats_dev = None
47
+ self.data_dev = None
46
48
  def scale(self):
47
- """
48
- Actually scales/normalizes.
49
+ """Actually scales/normalizes.
49
50
 
50
- Returns:
51
- train_feats (pd.DataFrame): The scaled train features dataframe
52
- test_feats (pd.DataFrame): The scaled test features dataframe (can be None)
51
+ Returns:
52
+ train_feats (pd.DataFrame): The scaled train features dataframe
53
+ test_feats (pd.DataFrame): The scaled test features dataframe (can be None)
53
54
  """
54
55
  if self.scaler_type != "speaker":
55
56
  self.util.debug("scaling features based on training set")
@@ -64,12 +65,17 @@ class Scaler:
64
65
  self.feats_train = self.scale_df(self.feats_train)
65
66
  if self.feats_test is not None:
66
67
  self.feats_test = self.scale_df(self.feats_test)
68
+ if self.feats_dev is not None:
69
+ self.feats_dev = self.scale_df(self.feats_dev)
67
70
  else:
68
71
  self.bin_to_three()
69
- return self.feats_train, self.feats_test
72
+ if self.feats_dev is not None:
73
+ return self.feats_train, self.feats_dev, self.feats_test
74
+ else:
75
+ return self.feats_train, self.feats_test
70
76
 
71
77
  def scale_df(self, df):
72
- scaled_features = self.scaler.fit_transform(df.values)
78
+ scaled_features = self.scaler.transform(df.values)
73
79
  df = pd.DataFrame(scaled_features, index=df.index, columns=df.columns)
74
80
  return df
75
81
 
@@ -77,7 +83,11 @@ class Scaler:
77
83
  self.feats_train = self.speaker_scale_df(self.data_train, self.feats_train)
78
84
  if self.feats_test is not None:
79
85
  self.feats_test = self.speaker_scale_df(self.data_test, self.feats_test)
80
- return [self.feats_train, self.feats_test]
86
+ if self.feats_dev is not None:
87
+ self.feats_dev = self.speaker_scale_df(self.data_dev, self.feats_dev)
88
+ return [self.feats_train, self.feats_dev, self.feats_test]
89
+ else:
90
+ return [self.feats_train, self.feats_test]
81
91
 
82
92
  def speaker_scale_df(self, df, feats_df):
83
93
  for speaker in df["speaker"].unique():
@@ -97,12 +107,19 @@ class Scaler:
97
107
  feats_bin_test[c] = self._bin(self.feats_test[c].values, b1, b2).values
98
108
  self.feats_train = feats_bin_train
99
109
  self.feats_test = feats_bin_test
110
+ if self.feats_dev is not None:
111
+ feats_bin_dev = pd.DataFrame(index=self.feats_dev.index)
112
+ for c in self.feats_train.columns:
113
+ b1 = np.quantile(self.feats_train[c], 0.33)
114
+ b2 = np.quantile(self.feats_train[c], 0.66)
115
+ feats_bin_dev[c] = self._bin(self.feats_dev[c].values, b1, b2).values
116
+ self.feats_dev = feats_bin_dev
100
117
 
101
118
  def _bin(self, series, b1, b2):
102
119
  bins = [-1000000, b1, b2, 1000000]
103
120
  labels = [0, 0.5, 1]
104
121
  result = np.digitize(series, bins) - 1
105
122
  result = pd.Series(result)
106
- for i, l in enumerate(labels):
107
- result = result.replace(i, str(l))
123
+ for index, lab in enumerate(labels):
124
+ result = result.replace(index, str(lab))
108
125
  return result
nkululeko/utils/util.py CHANGED
@@ -158,7 +158,7 @@ class Util:
158
158
  results_dir = self.get_path("res_dir")
159
159
  target = self.get_target_name()
160
160
  pred_name = self.get_model_description()
161
- return f"{results_dir}/pred_{target}_{pred_name}.csv"
161
+ return f"{results_dir}/pred_{target}_{pred_name}"
162
162
 
163
163
  def print_results_to_store(self, name: str, contents: str) -> str:
164
164
  """Write contents to a result file.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: nkululeko
3
- Version: 0.93.14
3
+ Version: 0.94.0
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
@@ -37,3 +37,4 @@ Requires-Dist: transformers
37
37
  Requires-Dist: umap-learn
38
38
  Requires-Dist: xgboost
39
39
  Requires-Dist: pylatex
40
+ Dynamic: license-file
@@ -1,14 +1,14 @@
1
1
  nkululeko/__init__.py,sha256=62f8HiEzJ8rG2QlTFJXUCMpvuH3fKI33DoJSj33mscc,63
2
- nkululeko/aug_train.py,sha256=FoMbBrfyOZd4QAw7oIHl3X6-UpsqAKWVDIolCA7qOWs,3196
2
+ nkululeko/aug_train.py,sha256=wpiHCJ7zsW38kumg3ypwXZe2HQrhUblAnv7P2QeJnAc,3525
3
3
  nkululeko/augment.py,sha256=3RzaxB3gRxovgJVjHXi0glprW01J7RaHhUkqotW2T3U,2955
4
4
  nkululeko/cacheddataset.py,sha256=XFpWZmbJRg0pvhnIgYf0TkclxllD-Fctu-Ol0PF_00c,969
5
- nkululeko/constants.py,sha256=o5ER1luWQ6hCEUmTnLGYzK-uGjv9VCnzzDYq2KIxo0o,40
5
+ nkululeko/constants.py,sha256=DRvpIz4j-jN2zlnm3kODLo5WQQDhDpq5rHADx1vRvAY,39
6
6
  nkululeko/demo-ft.py,sha256=iD9Pzp9QjyAv31q1cDZ75vPez7Ve8A4Cfukv5yfZdrQ,770
7
7
  nkululeko/demo.py,sha256=4Yzhg6pCPBYPGJrP7JX2TysVosl_R1llpVDKc2P_gUA,4955
8
8
  nkululeko/demo_feats.py,sha256=BvZjeNFTlERIRlq34OHM4Z96jdDQAhB01BGQAUcX9dM,2026
9
9
  nkululeko/demo_predictor.py,sha256=lDF-xOxRdEAclOmbepAYg-BQXQdGkHfq2n74PTIoop8,4872
10
10
  nkululeko/ensemble.py,sha256=71V-rre61H3J4sh7lu-OTo4I2_g7mm_rQxwW1ARDHgY,12782
11
- nkululeko/experiment.py,sha256=0xe_mrGtO6q8HF6dZ7slXca7BvSoyIh6j61U9mtcS_o,31785
11
+ nkululeko/experiment.py,sha256=ywswsCdSDUQLWIHn055wT1N40hFBSBUB3NnS5Hq6aMk,36210
12
12
  nkululeko/explore.py,sha256=FPM2CS-LKgcDV-LnjYlD6pEv7HuCQpH_C3KyyiOCdk4,3589
13
13
  nkululeko/export.py,sha256=U-V4acxtuL6qKt6oAsVcM5TTeWogYUJ3GU-lA6rq6d4,4336
14
14
  nkululeko/feature_extractor.py,sha256=UnspIWz3XrNhKnBBhWZkH2bHvD-sROtrQVqB1JvkUyw,4088
@@ -16,15 +16,15 @@ nkululeko/file_checker.py,sha256=xJY0Q6w47pnmgJVK5rcAKPYBrCpV7eBT4_3YBzTx-H8,345
16
16
  nkululeko/filter_data.py,sha256=5AYDtqs_GWGr4V5CbbYQkVVgCD3kq2dpKu8rF3V87NI,7224
17
17
  nkululeko/fixedsegment.py,sha256=Tb92QiuiyMsOO3WRWwuGjZGibS8hbHHCrcWAXGk7g04,2868
18
18
  nkululeko/glob_conf.py,sha256=KL9YJQTHvTztxo1vr25qRRgaPnx4NTg0XrdbovKGMmw,525
19
- nkululeko/modelrunner.py,sha256=lJy-xM4QfDDWeL0dLTE_VIb4sYrnd_Z_yJRK3wwohQA,11199
19
+ nkululeko/modelrunner.py,sha256=NpDgXfKkn8dOrQzhUiEfGI56Qrb1sOtWTD31II4Zgbk,11550
20
20
  nkululeko/multidb.py,sha256=sO6OwJn8sn1-C-ig3thsIL8QMWHdV9SnJhDodKjeKrI,6876
21
21
  nkululeko/nkuluflag.py,sha256=PGWSmZz-PiiHLgcZJAoGOI_Y-sZDVI1ksB8p5r7riWM,3725
22
- nkululeko/nkululeko.py,sha256=M7baIq2nAoi6dEoBL4ATEuqAs5U1fvl_hyqAl5DybAQ,2040
23
- nkululeko/plots.py,sha256=jutO1nC7EMXGEPXCivVGhgrk3I0WrYrvIWyClm7ASaE,26440
22
+ nkululeko/nkululeko.py,sha256=0RMce-dOyt7ldvo5pHGTL5R7H5NPPVklhMtRmWoZh1I,1952
23
+ nkululeko/plots.py,sha256=i9VIkviBWLgncfnyK44TUMzg2Xa0_UhfL0LnMF1vHTw,27022
24
24
  nkululeko/predict.py,sha256=MLnHEyFmSiHLLs-HDczag8Vu3zKF5T1rXLKdZZJ6py8,2083
25
25
  nkululeko/resample.py,sha256=rn3-M1A-iwVGibfQNGyeYNa7briD24lIN9Szq_1uTJo,5194
26
- nkululeko/runmanager.py,sha256=AswmORVUkCIH0gTx6zEyufvFATQBS8C5TXo2erSNdVg,7611
27
- nkululeko/scaler.py,sha256=7VOZ4sREMoQtahfETt9RyuR29Fb7PCwxlYVjBbdCVFc,4101
26
+ nkululeko/runmanager.py,sha256=2jAUsWA5A13xTwEb4M3TmGLJsAUAZB2i4K41F6AAZYo,8478
27
+ nkululeko/scaler.py,sha256=D3x4waIfTqt1vGBKd__uJslyss1kSNd9BUtj4_4eG_8,5105
28
28
  nkululeko/segment.py,sha256=7UrJEwdLmh9wDL5iBwpdJyJm9dwSxidHrHt-_D2qtxw,4949
29
29
  nkululeko/syllable_nuclei.py,sha256=5w_naKxNxz66a_qLkraemi2fggM-gWesiiBPS47iFcE,9931
30
30
  nkululeko/test.py,sha256=1w624vo5KTzmFC8BUStGlLDmIEAFuJUz7J0W-gp7AxI,1677
@@ -49,7 +49,7 @@ nkululeko/autopredict/ap_stoi.py,sha256=UEQg1ZV0meAsxgdWB8ieRs9GPXHqArmsaOyCGRwp
49
49
  nkululeko/autopredict/ap_valence.py,sha256=WrW4Ltqi_odW49_4QEVKkfnrcztLIVZ4cXIEHu4dBN8,1026
50
50
  nkululeko/autopredict/estimate_snr.py,sha256=1k9-XadABudnsNOeFZD_Fg0E64-GUQVS7JEp82MLQS4,4995
51
51
  nkululeko/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
- nkululeko/data/dataset.py,sha256=G6RFK2msSVHxpzDm8gZSAD4GK6ieMS5fTbqVS-NOFuY,30081
52
+ nkululeko/data/dataset.py,sha256=JLbBYGniUrjwxs-HtbIyhqO3Cv-ELfpmlq7jzij4dBc,41759
53
53
  nkululeko/data/dataset_csv.py,sha256=AIbtB6pGk5BSQGIgfokZ7tEGFjmuOq5w2XumRSimVWs,4833
54
54
  nkululeko/feat_extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  nkululeko/feat_extract/feats_agender.py,sha256=onfAQ6-xx_mFMJXEF1IX8cHBmGtGeX6weJmxbkfh1_o,3184
@@ -63,14 +63,15 @@ nkululeko/feat_extract/feats_hubert.py,sha256=F3vrPCkx8EimJjFWYCZ7Yg9uo1G3NjYt4U
63
63
  nkululeko/feat_extract/feats_import.py,sha256=cPi4XRuRs71npB8YGXr7rYOvkeTU_oZEl3GrGncdiqY,2222
64
64
  nkululeko/feat_extract/feats_mld.py,sha256=5aRoYiGDm5ApoFntxAMQYPjEelXHHRBHZcAJR9dxaeI,1945
65
65
  nkululeko/feat_extract/feats_mos.py,sha256=3UXCKe86F49yHpZMQnLfDWXx9XdmlXHOy8efoa3WaOk,4138
66
- nkululeko/feat_extract/feats_opensmile.py,sha256=BLj5sUaBPz7vLPfNlt9LdQurSypmViqgSpPK-6aXGhQ,4029
66
+ nkululeko/feat_extract/feats_opensmile copy.py,sha256=BLj5sUaBPz7vLPfNlt9LdQurSypmViqgSpPK-6aXGhQ,4029
67
+ nkululeko/feat_extract/feats_opensmile.py,sha256=HwbGs0EaPxZ7DznQZFem8RYgyQWz02oya77uVY7KhZE,9203
67
68
  nkululeko/feat_extract/feats_oxbow.py,sha256=TRoEJx5EKZiqoPoPRibHc0vkBMoZcKlGoGNq4NbyHZw,4895
68
69
  nkululeko/feat_extract/feats_praat.py,sha256=jZ-XXbP3iy25QQIzA4Hrv0HxsYvJNPavoCW2FyJNKMg,3064
69
70
  nkululeko/feat_extract/feats_snr.py,sha256=5uEm10d89TQPf0s-CuVpQ3ftc0bLEeuB8aGuufsjAbs,2762
70
71
  nkululeko/feat_extract/feats_spectra.py,sha256=6WhFUpB0WTutg7OFMlAw9lSwVU5OBYCDcPRxaiH-Qn8,3621
71
72
  nkululeko/feat_extract/feats_spkrec.py,sha256=o_6bdU4lIkj64S5Kdjf1iyuo1VASeYxE4XdxV94a8gE,4732
72
73
  nkululeko/feat_extract/feats_squim.py,sha256=yJifsp9kj9iJjW_UAKr3LlvVhX5rv7el4bepn0wN2a8,4578
73
- nkululeko/feat_extract/feats_trill.py,sha256=JgyUQ8ihIL5PlUpxjchlbC9547GI0SyUwkFEquya85Q,3197
74
+ nkululeko/feat_extract/feats_trill.py,sha256=VpyRgygMDIcUHBr1LriloJ_wEtFpuXmw5BuuCX1djOY,3193
74
75
  nkululeko/feat_extract/feats_wav2vec2.py,sha256=q1QzMD3KbhF2SOmxdwI7CiViRmhlFRyghxN_6SmUc0E,5297
75
76
  nkululeko/feat_extract/feats_wavlm.py,sha256=O9cfc39VF5aPJRRATKb37pHT4W11i2cu5O1mY9LOjIA,4755
76
77
  nkululeko/feat_extract/feats_whisper.py,sha256=n3ESZtva7wshs8E8diBlQYa9xCH_P0UY1DncSrxz-FY,4508
@@ -88,7 +89,7 @@ nkululeko/models/model_gmm.py,sha256=mhHFNtTzHuJvqYSA0h5YhvjA--KhnN6MTU_S0G3-d1c
88
89
  nkululeko/models/model_knn.py,sha256=ByQlHIU_fNtSCGCvsrMEoLVJ9q2hUC4edtpp5rVS1B8,600
89
90
  nkululeko/models/model_knn_reg.py,sha256=kaVP1xGNgktUGuQARi7uoJ0hmdPGHDpv2ugDesYN7RU,611
90
91
  nkululeko/models/model_lin_reg.py,sha256=xqvf-06LhBkjHRdyXFqcYD8ozYPoAsZfGqfNEtuFQLc,423
91
- nkululeko/models/model_mlp.py,sha256=v-ntFqXbyotA8_wGwtDICQy18IAqtGNjwitZeVeKWLU,10671
92
+ nkululeko/models/model_mlp.py,sha256=E1gtBAGkrt5gUWCqyk3Qm7m_S1-SeJ8P7AzgHjKQ4J4,10739
92
93
  nkululeko/models/model_mlp_regression.py,sha256=j8Y1nRHU9YJSQuBKpZb-JL-5seHGr6N5OX1biKj3Xa0,10297
93
94
  nkululeko/models/model_svm.py,sha256=zP8ykLhCZTYvwSqw06XHuzq9qMBtsiYpxjUpWDAnMyA,995
94
95
  nkululeko/models/model_svr.py,sha256=FEwYRdgqwgGhZdkpRnT7Ef12lklWi6GZL28PyV99xWs,726
@@ -102,7 +103,7 @@ nkululeko/reporting/defines.py,sha256=0vh-Tlx4fAPpk1o6mP_4x3EkIoqzYMr38IZnj-JM5z
102
103
  nkululeko/reporting/latex_writer.py,sha256=NGwSIfd4nfslDkNUOSZSdqY_VDLA8634thyhe-vj1bY,1824
103
104
  nkululeko/reporting/report.py,sha256=bYN8B66gg3IWHAyfd6uIVjpYKy3rOI6aEwgfXU0LSAY,1006
104
105
  nkululeko/reporting/report_item.py,sha256=AqKD40AlZpRuHLbggn5PkH6ctGJwh9rGNBNgOvgUODg,534
105
- nkululeko/reporting/reporter.py,sha256=CxRXXDfil5C7K0LyaGJZGFDUwfqxdd6Eun8QRTs-Ckk,20875
106
+ nkululeko/reporting/reporter.py,sha256=VLLlu8KhploXtvYiaqYlY2lte32aA6Ep9knUGa56NkY,20138
106
107
  nkululeko/reporting/result.py,sha256=G63a2tHCwHhM6NBJgYzsWKWJm4Yu3r4hsCHA2Km7eHU,1073
107
108
  nkululeko/segmenting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
109
  nkululeko/segmenting/seg_inaspeechsegmenter.py,sha256=b3t0zdpJYofKWMyKRMtMMX91xeR-k8d5pbnNaQHcsOE,1902
@@ -111,10 +112,10 @@ nkululeko/segmenting/seg_silero.py,sha256=ulodnvtRq5MLHDxy_RmAK4tJg6h1d-mPq-uCPF
111
112
  nkululeko/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
113
  nkululeko/utils/files.py,sha256=SrrYaU7AB80MZHiV1jcB0h_zigvYLYgSVNTXV4ao38g,4593
113
114
  nkululeko/utils/stats.py,sha256=3Fyx8q8BSKYmiufT6OkRug9RATWmGrr9BaX_y8jziWo,3074
114
- nkululeko/utils/util.py,sha256=J_dmqkOVAW63Q7IFUBj0BgygKzMXA0nORxY62-o8z_g,17360
115
- nkululeko-0.93.14.dist-info/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
116
- nkululeko-0.93.14.dist-info/METADATA,sha256=2cqjRLPed00dMPGG8SDMHG9k0w1gx0bItfrYsGk4rR4,1148
117
- nkululeko-0.93.14.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
118
- nkululeko-0.93.14.dist-info/entry_points.txt,sha256=lNTkFEdh6Kjo5o95ZAWf_0Lq-4ztGoAoMVSDuPtuyS0,442
119
- nkululeko-0.93.14.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
120
- nkululeko-0.93.14.dist-info/RECORD,,
115
+ nkululeko/utils/util.py,sha256=nZJtWqzFx3Zdp6Pve_ZAbb01yRTpIsgBXnoPy1VgtRE,17356
116
+ nkululeko-0.94.0.dist-info/licenses/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
117
+ nkululeko-0.94.0.dist-info/METADATA,sha256=3_HyNuaXzSYp4P6BMf1yWWd3JsT6SS2Yx3XodZtK1NA,1169
118
+ nkululeko-0.94.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
119
+ nkululeko-0.94.0.dist-info/entry_points.txt,sha256=lNTkFEdh6Kjo5o95ZAWf_0Lq-4ztGoAoMVSDuPtuyS0,442
120
+ nkululeko-0.94.0.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
121
+ nkululeko-0.94.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5