{
string param_str;
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): unable to read "
"file %s\n", tuning_params_file.c_str());
return false;
}
vector<string> str_vec;
if (str_vec.size() < 8) {
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): number of rows "
"in parameter file is too low\n");
return false;
}
for (int entry = 0; entry < str_vec.size(); entry++) {
vector<string> str_tok;
if (str_tok.size() != 2) {
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): invalid format in "
"line: %s.\n", str_vec[entry].c_str());
return false;
}
double val = 0;
char peekchar = (str_tok[1].c_str())[0];
if ((peekchar >= '0' && peekchar <= '9') ||
peekchar == '-' || peekchar == '+' ||
peekchar == '.') {
if (sscanf(str_tok[1].c_str(), "%lf", &val) != 1) {
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): invalid format "
"in line: %s.\n", str_vec[entry].c_str());
return false;
}
}
if (str_tok[0] == "RecoWgt") {
} else if (str_tok[0] == "SizeWgt") {
} else if (str_tok[0] == "CharBigramsWgt") {
} else if (str_tok[0] == "WordUnigramsWgt") {
} else if (str_tok[0] == "MaxSegPerChar") {
} else if (str_tok[0] == "BeamWidth") {
} else if (str_tok[0] == "Classifier") {
if (str_tok[1] == "NN") {
} else if (str_tok[1] == "HYBRID_NN") {
} else {
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): invalid "
"classifier type in line: %s.\n", str_vec[entry].c_str());
return false;
}
} else if (str_tok[0] == "FeatureType") {
if (str_tok[1] == "BMP") {
} else if (str_tok[1] == "CHEBYSHEV") {
} else if (str_tok[1] == "HYBRID") {
} else {
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): invalid feature "
"type in line: %s.\n", str_vec[entry].c_str());
return false;
}
} else if (str_tok[0] == "ConvGridSize") {
} else if (str_tok[0] == "HistWindWid") {
} else if (str_tok[0] == "MinConCompSize") {
} else if (str_tok[0] == "MaxWordAspectRatio") {
} else if (str_tok[0] == "MinSpaceHeightRatio") {
} else if (str_tok[0] == "MaxSpaceHeightRatio") {
} else if (str_tok[0] == "CombinerRunThresh") {
} else if (str_tok[0] == "CombinerClassifierThresh") {
} else if (str_tok[0] == "OODWgt") {
ood_wgt_ = val;
} else if (str_tok[0] == "NumWgt") {
num_wgt_ = val;
} else {
fprintf(stderr, "Cube ERROR (CubeTuningParams::Load): unknown parameter "
"in line: %s.\n", str_vec[entry].c_str());
return false;
}
}
return true;
}