Closed dfuchsgruber closed 1 year ago
Thanks a lot for the great contribution! I did not yet have the time to fully review but here are a few things I noticed.
For seml list
:
seml list
fails if a collection is not created by seml or contains non-seml items.logging.info
instead of print
pandas
for pretty printing since we already have it as a requirement?For print-fail-trace
:
logging.info
instead of print
Thanks for the feedback, I hope I addressed your points. Remaining remarks:
- Should we just use
pandas
for pretty printing since we already have it as a requirement?
I implemented it this way now and removed the prettytable dependency, but imho I find the result visually less appealing. A matter of taste in the end. It now looks like this:
seml list .*pneuma
WARNING: Status of RUNNING experiments may not reflect if they have died or been canceled. Use `seml ... status` instead.
STAGED PENDING RUNNING FAILED KILLED INTERRUPTED COMPLETED Total
Collection
gat_pneuma 0 0 0 7 0 0 65 72
gcn_pneuma 0 0 2 1 0 0 45 48
hpo_pneuma 0 0 0 24 49 0 47 120
pneuma 0 0 1 0 0 0 9 10
pneuma_spatial 0 0 0 2 1 0 13 16
What does this implement/fix?
This PR adds two convenience functions to SEML:
Listing
seml list [pattern]
will list all collections in the database that matches an (optional) RegEx pattern. It will also print the state counts for all experiments in the collection. Note that in contrast toseml {collection} status
, it does not verify that experiments with stateRUNNING
are actually still running and have not died or been interupted. This is to ensure the command runs quickly.Example output:
Fail Trace Printing
seml {collection} print-fail-trace
will print the fail trace of all experiments with "failed states" (FAILED
,KILLED
,INTERRUPTED
). This way, you don't have to use a MongoDB client everytime you want to inspect error logs.Example output (shortened, to only show the output format):