-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce DeepDoubleX V2 #30016
Introduce DeepDoubleX V2 #30016
Conversation
The code-checks are being triggered in jenkins. |
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30016/15708
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
@slava77 bump |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a real review, just pointing out a few thing that jumped on my eyes while scrolling the differences
++idx; | ||
} | ||
} | ||
|
||
// run prediction | ||
outputs = globalCache()->run(input_names_, data_, output_names_, batch_size)[0]; | ||
|
||
// DEBUG: Dump inputs to file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Has this debug to remain in the producer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can gate it by a debug_ bool, but I would prefer to keep it here as it helps a lot with catching problems when syncing with the outside framework.
What is the purpose of back compatibility with V1? Do you plan to use both V1 and V2 at the same time, or just allow finishing some analysis which already started with V1? That decision has to be taken in the the POG: please summarize here the result of the discussion in the POG. If the two version must be kept available at the same time, at the first glance it does not seem to me too much complicated to factorize out the differences and make them configurable inside the same producer: code duplication doesn't seem neededd here, and normally better to be avoided. |
@perrotta Thanks for getting back to me. This is supposed to supersede V1, I am asking from maintenance and backcomp point of view. From POG POV V2 could replace V1. |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30016/15948
|
A new Pull Request was created by @andrzejnovak (Andrzej Novak) for master. It involves the following packages: DataFormats/BTauReco @perrotta, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
The code-checks are being triggered in jenkins. |
Comparison is ready Comparison Summary:
|
|
sorry, I meant that Andrea is not available this week. |
@andrzejnovak thank you for providing your performance results in #30016 (comment) and #30016 (comment). With which workflow were they obtained? Looking at them, I see that both V1 and V2 behaves rather similarly for what timing and memory are concerned: timing seems well manageable, and also for the memory usage some 9 Mb MEM_LIVE footprint for each version seems affordable. @slava77 please comment if you disagree; but given the measured performances I believe that both V1 and V2 could be run simultaneously, so that full studies can be performed on V2 before finally switching to it as default suggested version for analyses. This would require reverting the effect of the commit in which you removed V2 from the list of versions saved in miniAOD output. |
related to #30016 (comment)
I see in my recent (IB, not this PR) that in 136.888, using JetHT inputs, the times per event are typically around 1 ms/ev per JetTags modules, which is about a factor of 40 larger than the values above. |
Hmm, fair point. The sample processed certainly had some passing jets, but it's not majority. If the times get averaged it could be biased. Though both tests were on the same sample. @perrotta The igprof results are from running the test_deep_doublex file. I think actually think it's fine as is - not running v2 by default in mini. The values can be calculated when producing the validation tuples/nano. I think that will make for a cleaner switch even if it wouldn't be too expensive to keep both temporarily. |
'file:72164088-CB67-E811-9D0D-008CFA197AC4.root', ? |
@slava77 There are certainly some, but not many. I've rerun both on a dedicated higher pt H tagger training samples, which improves the stats a bit, though it is still far off having a passing jet in every event. http://test-anovak.web.cern.ch/test-anovak/cgi-bin/igprof-navigator/DDX/new/igreport_perf_ticks http://test-anovak.web.cern.ch/test-anovak/cgi-bin/igprof-navigator/DDX/new/igreport_mem_live |
+1
|
merge |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will be automatically merged. |
This PR introduces V2 of DeepDoubleX. Required changes w.r.t. V1 of DeepDoubleX producer include adding a new group of variables, add more variables to existing groups and reordering some of them.
Input x-check in training FW and CMSSW - ✅.
Evaluation x-check - ✅