[mlpack-git] master: Fail when invalid labels are specified. (fa89192)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Fri Nov 20 13:23:17 EST 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/fdd2ae00c4359e1f394abb8afbf7a6bb44277272...fa8919245e69fb9dbfa98e43f6c060213e6a1937
>---------------------------------------------------------------
commit fa8919245e69fb9dbfa98e43f6c060213e6a1937
Author: Ryan Curtin <ryan at ratml.org>
Date: Fri Nov 20 10:23:03 2015 -0800
Fail when invalid labels are specified.
>---------------------------------------------------------------
fa8919245e69fb9dbfa98e43f6c060213e6a1937
src/mlpack/methods/hmm/hmm_train_main.cpp | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/src/mlpack/methods/hmm/hmm_train_main.cpp b/src/mlpack/methods/hmm/hmm_train_main.cpp
index 00057dd..ae40991 100644
--- a/src/mlpack/methods/hmm/hmm_train_main.cpp
+++ b/src/mlpack/methods/hmm/hmm_train_main.cpp
@@ -114,6 +114,18 @@ struct Train
if (label.n_cols > 1)
Log::Fatal << "Invalid labels; must be one-dimensional." << endl;
+ // Check all of the labels.
+ for (size_t i = 0; i < label.n_rows; ++i)
+ {
+ if (label[i] >= hmm.Transition().n_cols)
+ {
+ Log::Fatal << "HMM has " << hmm.Transition().n_cols << " hidden "
+ << "states, but label on line " << i << " of '" << lineBuf
+ << "' is " << label[i] << " (should be between 0 and "
+ << (hmm.Transition().n_cols - 1) << ")!" << endl;
+ }
+ }
+
labelSeq.push_back(label.col(0));
f.getline(lineBuf, 1024, '\n');
@@ -139,6 +151,18 @@ struct Train
<< " the same number of points as observation sequence "
<< labelSeq.size() << "!" << endl;
+ // Check all of the labels.
+ for (size_t i = 0; i < label.n_rows; ++i)
+ {
+ if (label[i] >= hmm.Transition().n_cols)
+ {
+ Log::Fatal << "HMM has " << hmm.Transition().n_cols << " hidden "
+ << "states, but label on line " << i << " of '" << labelsFile
+ << "' is " << label[i] << " (should be between 0 and "
+ << (hmm.Transition().n_cols - 1) << ")!" << endl;
+ }
+ }
+
labelSeq.push_back(label.col(0));
}
More information about the mlpack-git
mailing list