openml / automlbenchmark

OpenML AutoML Benchmarking Framework
https://openml.github.io/automlbenchmark
MIT License
399 stars 132 forks source link

fixes #432 add precision to runtimes in results.csv #433

Closed ledell closed 2 years ago

ledell commented 2 years ago

Fixes: https://github.com/openml/automlbenchmark/issues/432

ledell commented 2 years ago

@PGijsbers @sebhrusen I committed Seb's suggested change. Then I changed the base branch from master to stable-v2. I tried to rebase my branch on top of stable-v2, but I am having conflicts related to the version number in amlb/__version__.py. I manually fixed it (my local was saying 2.0, so i changed to 2.0.3). However, when i git rebase --continue it's applying the "Update version to 2.0" commit, so that creates a conflict again and it seems like I am stuck in a loop. Could one of you please give it a try to see if you can get the rebase working? git merge works ok but I think we want to rebase, not merge. I think I am making a mistake here...

First this:

me ~/code/github-shared/backup_automlbenchmark $ git checkout stable-v2
me ~/code/github-shared/backup_automlbenchmark $ git pull
Already up to date.
me ~/code/github-shared/backup_automlbenchmark $ git checkout issue/432
Branch 'issue/432' set up to track remote branch 'issue/432' from 'origin'.
Switched to a new branch 'issue/432'
me ~/code/github-shared/backup_automlbenchmark $ git rebase stable-v2
First, rewinding head to replay your work on top of it...
Applying: Add a workflow to tag latest `v*` release as `stable` (#399)
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
Applying: Bump auto-sklearn to 0.14.0 (#400)
Using index info to reconstruct a base tree...
M   resources/frameworks_2021Q3.yaml
Falling back to patching base and 3-way merge...
Auto-merging resources/frameworks_2021Q3.yaml
No changes -- Patch already applied.
Applying: Update version to 2.0
Using index info to reconstruct a base tree...
M   amlb/__version__.py
Falling back to patching base and 3-way merge...
Auto-merging amlb/__version__.py
CONFLICT (content): Merge conflict in amlb/__version__.py
error: Failed to merge in the changes.
Patch failed at 0003 Update version to 2.0
hint: Use 'git am --show-current-patch' to see the failed patch

Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".

After manually editing, I try to continue the rebase:

me ~/code/github-shared/backup_automlbenchmark $ open amlb/__version__.py
me ~/code/github-shared/backup_automlbenchmark $ git add amlb/__version__.py
me ~/code/github-shared/backup_automlbenchmark $ git rebase --continue
Applying: Update version to 2.0
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
sebhrusen commented 2 years ago

@ledell this is not the right way to rebase: when you create your branch on top of branch A (in your case issue/432 was created on top of master) and then rebase on top of branch B (in your case stable-v2), you're not only simply bringing your own commits on top of B, but rather first all the commits of B on top of A, followed by your own commits… hence the mess here with the commits on stable-v2 brought on top of master.

what you should have done is git rebase --onto stable-v2 master : this would add on top of stable-v2 all the commits that you previously added on top of master.

now to fix the current state, don't try the command above, it's too late: maybe you can try git rebase --onto stable-v2 HEAD~2: it should rebase on top of stable-v2 only your last 2 commits, ignoring the rest

sebhrusen commented 2 years ago

@ledell FYI, I did the rebase as mentioned above so that I can approve this.