Training completed, but code exited before evaluating (test from weights?)

Hello,

I have a script that I am using that is truly just a minimally edited version of the example TMVAClassification.C. The only changes made were to point it to trees in some ROOT files I created for the signal and background, change the variables and spectators appropriately, and select which subset of methods I wanted to test.

The code exited silently at the start of training for the second to last method (Boosted Decision Tree with the Fischer Discriminant, with RuleFit being the last one). This means that the TestAllMethods() and EvaluateAllMethods() steps were never called. However, all of the methods that ran before the code exited did output their weights in xml files.

Is there a way to load in these weights in order to proceed to the test and evaluate steps without redoing the training process? I assume that this would require the data sets being split between training and validation the same way, which I believe should be the case if I leave the splitseed as default since the manual states that there is a default value.

I see that the TMVA::Factory class has a member function BookMethodWeightfile (that comes with a warning that it may load already trained methods). However, it is marked private and, as far as I can tell, there is no way to access it without changing it to public in the header file and then recompiling at least that part of ROOT.

At this point, I really just want the output from these test and evaluate steps so that I can do some very high-level checks of which methods are worth putting more work into for this project. I could run the trainings again, but I’d prefer not to since that requires leaving my laptop sitting there running for ~36 hours to get back to where I was.

Thanks!

Tyler

Hi @TJHague , can @moneta maybe help here?