/// <summary> /// save specific model into final model location, delete temporary models and return model path /// </summary> /// <param name="trParams">Training parameters</param> /// <param name="tpl">Temporary stored model information</param> /// <returns></returns> private static string saveModel(TrainingParameters trParams, Tuple <double, double, string> tpl) { //extract file name from temp_models dir var tempModelsDir = Path.GetDirectoryName(tpl.Item3); var dirInfo = new DirectoryInfo(tempModelsDir); //folder for final model var finDir = trParams.ModelFinalLocation; //in case directory doesn't exist if (!Directory.Exists(finDir)) { Directory.CreateDirectory(finDir); } //copy best model to final location var fName = Path.GetFileName(tpl.Item3); var fullPath = Path.Combine(finDir, fName); File.Copy(tpl.Item3, fullPath); //delete temp_modes folder MLFactory.DeleteAllFiles(tempModelsDir); var bestModelPath = $"{MLFactory.m_MLModelFolder}\\{fName}";//return always relative path return(bestModelPath); }