-
Notifications
You must be signed in to change notification settings - Fork 1
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
WIP: Main loop api and singlelogparser class #22
Conversation
fix #14: error when log has no tree section
This appears at the end of the log, so moved from header to termination. Added timelimit status for termination parser.
Added various post-processing steps for summary dataframe. Updated regression test data.
Remove feather files and test directly against existing code. Mark unimplemented cases as failed.
Added further comments for single log parser and main api
Also - integrating the termination parser with the different termination messages from barrier and nodelogs is looking tricky. Switching the termination parser settings on the fly once we determine the model type doesn't seem to fit very well. What do you think of the following?
In the case of a MIP where barrier solves the relaxation but the node processing times out, when merging all the log info, Status="TIME_LIMIT" from the status parser would then taken precedence over Status="OPTIMAL" coming from the barrier parser, and we would get the right result. |
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.
Thanks for all the work! It looks very great!
I looked at the two modules api.py
and single_log_parser.py
and wrote three comments. In one of the comments, you will find a possible idea for addressing the termination parser.
There are a few TODOs in these tow files:
- TODO fill_default_parameters could be much cleaner now, without column regexes
- TODO extend this to also check multiple logs from one file.
- TODO extend this with other args from the old api
- Termination parser
I can take care of some of these. For example, if you agree with the termination idea, I can give it a try. I can also work on extending the logic to multiple logs in one file. We can probably turn the remaining TODOs into issues and work on them.
There are some inconsistency in the docstrings formats that we can take care of it at the very end.
This adds:
parse("*.log").summary()
andget_dataframe(["*.log"])
alternatives for compatibility with the old API@maliheha there is still a bit to do here but could you take a look at single_log_parser.py and api.py?
Some other changes: