public static paramModel_t ParamModelHyperParamLoader(string ParamModelHyperParamFileName)
{
paramModel_t ParamModel = new paramModel_t();
using(StreamReader ParamModelFile = new StreamReader(ParamModelHyperParamFileName))
{
string StrLine;
while((StrLine = ParamModelFile.ReadLine())!=null)
{
string[] StrLineSplit = StrLine.Split('\t');
string Key = StrLineSplit[0];
string Val = StrLineSplit[1];
switch (Key)
{
case "nHid":
ParamModel.nHid = int.Parse(Val);
break;
case "nHidLayer":
ParamModel.nHidLayer = int.Parse(Val);
break;
case "To":
ParamModel.To = float.Parse(Val);
break;
case "nOutput":
ParamModel.nOutput = int.Parse(Val);
break;
case "nInput":
ParamModel.nInput = int.Parse(Val);
break;
case "eta":
ParamModel.eta = float.Parse(Val);
break;
case "alpha":
ParamModel.alpha = float.Parse(Val);
break;
case "beta":
ParamModel.beta = float.Parse(Val);
break;
case "T_value":
ParamModel.T_value = float.Parse(Val);
break;
case "OutputType":
ParamModel.OutputType = Val;
break;
default:
throw new Exception("Unknown type of Key in hyperparameter file.");
}
}
ParamModel.T = new float[ParamModel.nHidLayer];
for (int Idx = 0; Idx<ParamModel.T.Length; ++Idx)
{
ParamModel.T[Idx] = ParamModel.T_value;
}
ParamModel.b = new DenseColumnVector(ParamModel.nHid, ParamModel.alpha - 1.0f);
}
return ParamModel;
}
}