Skip to content

Conversation

@mammadhajili
Copy link

Mulltiprocessing of Hyper Parameter Optimisation, Cross Validation and Variable Importance

@phsft-bot
Copy link

Can one of the admins verify this patch?

@lmoneta
Copy link
Member

lmoneta commented Aug 15, 2017

@phsft-bot build

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@lmoneta
Copy link
Member

lmoneta commented Aug 16, 2017

Hi Mammad,

Can you please update your Pull request with the fixes for the formatting (clang-format) and also
ass a tutorial program showing the usage of these 3 features in parallel.

Thank you

Lorenzo

@martinmine
Copy link
Contributor

@phsft-bot build

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

Copy link
Contributor

@ashlaban ashlaban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, Thanks for your hard work Mammad! I include some general comments on how to improve the code and better integrate it into TMVA.

I didn't go through every line, so some comments might be applicable to more places than I indicated :)

};
vector<map<TString,Double_t>> res;
auto nWorkers = TMVA::gConfig().NWorkers();
cout << "Number of Workers : " << TMVA::gConfig().NWorkers() << endl;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These seem like debug print outs, please use Log() << kDEBUG << ... << Endl; for these kind of messages.

fFomType("Separation"),
fFitType("Minuit"),
fNumFolds(5),
fNumFolds(4),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer to change as little as possible (makes it easier to merge with other people's work!). I'd keep this as the old value unless there is a good motivation for this change. (This principle applies to more places)

#pragma link C++ function TMVA::CreateVariableTransform;
#pragma link C++ function TMVA::DataLoaderCopy;

#pragma link C++ function TMVA::DataLoaderCopy;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also export the DataLoaderMP copy here?

res = workers.Map(workItem, ROOT::TSeqI(fNumFolds));
}

else {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the structure

if () {
   ...
} else {
   ...
}

des->AddBackgroundTree((*treeinfo).GetTree(), (*treeinfo).GetWeight(),(*treeinfo).GetTreeType());
}
}
std::vector<std::shared_ptr<TFile>> TMVA::DataLoaderCopyMP(TMVA::DataLoader *des, TMVA::DataLoader *src)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add some documentation on what the method does, information about assumptions if there are any etc.

des->AddBackgroundTree(backgTree);
vec_files.push_back(sfile);
vec_files.push_back(bfile);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can these commented out lines be removed?

ClassDef(DataLoader,3);
};
void DataLoaderCopy(TMVA::DataLoader* des, TMVA::DataLoader* src);
std::vector<std::shared_ptr<TFile>> DataLoaderCopyMP(TMVA::DataLoader *des, TMVA::DataLoader *src);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do these need to be public? Would it be better to use private with Envelope as a friend? I think the intention is that only the Envelope should be able to use it. I would then propose that we enforce this. We can always open the interface up later, but not the other way around.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mammadhajili could you answer the comments of @ashlaban please?

@ashlaban
Copy link
Contributor

@phsft-bot build!

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@ashlaban
Copy link
Contributor

@phsft-bot build!

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@martinmine
Copy link
Contributor

@phsft-bot build!

@martinmine
Copy link
Contributor

You might want to squash or fixup your clang-format commits.

@martinmine
Copy link
Contributor

@phsft-bot build

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@phsft-bot
Copy link

Build failed on ubuntu14/native.
See console output.

Failing tests:

@martinmine
Copy link
Contributor

@phsft-bot build

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@bellenot
Copy link
Member

@lmoneta can you take care of this (or close it)

@etejedor
Copy link
Collaborator

@lmoneta @ashlaban all checks pass but there are some comments to be addressed, could you make sure this is followed or close the PR if not needed anymore?

@ashlaban
Copy link
Contributor

Sorry for the late response. Yes, we'll make sure to follow up on this PR.

@etejedor
Copy link
Collaborator

@lmoneta @ashlaban any progress on merging this PR since our last chat?

1 similar comment
@etejedor
Copy link
Collaborator

@lmoneta @ashlaban any progress on merging this PR since our last chat?

@ashlaban
Copy link
Contributor

ashlaban commented Jul 26, 2018

Cross validation has been integrated through a different PR. Remaining are the Hyper param opt and variable importance.
I refer to @lmoneta for the future plan there.

It is my understanding however that if we integrate them we do it through new PR’s, indicating that this PR can be closed.

I will make sure to update the PR after discussion with Lorenzo during next week.

@ashlaban
Copy link
Contributor

ashlaban commented Aug 7, 2018

These changes will be implemented in separate PR's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants