Fix/task publish estimation procedure - #1756
RugvedBane wants to merge 4 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1756 +/- ##
==========================================
- Coverage 81.50% 81.36% -0.14%
==========================================
Files 63 63
Lines 5238 5242 +4
==========================================
- Hits 4269 4265 -4
- Misses 969 977 +8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Hi @L-Agbaria, just wanted to check in. The 3 failing checks appear to be pre-existing failures unrelated to this PR. I checked two other PRs opened around the same time and they have the same 3 failures on the same Python/sklearn matrix combinations. Happy to investigate further if needed, but wanted to flag this in case it is blocking the review. Let me know if there is anything else you would like me to address! |
|
Hello @RugvedBane, I will look into your implementation soon. The test fail due to the rate limit issue #1757, this will be addressed later and should not delay this PR. |
|
No issue at all, I just wanted to make sure there was nothing blocking from my side. Take your time! |
Fix
Closes #1751
After
create_task()+publish(), the task object hadestimation_procedure = Noneand no
data_splits_url, makingget_split_dimensions()fail.Root cause
OpenMLTask._parse_publish_response()only assignedtask_idfrom the serverresponse. The fields
estimation_procedure_type,estimation_parameters, anddata_splits_urlwere never populated, because the publish endpoint does notreturn them.
Fix
After setting
task_idin_parse_publish_response(), immediately fetch thecomplete task from the server using
_get_task_description(task_id)and copyestimation_procedureandestimation_procedure_idontoself.The import of
_get_task_descriptionis kept local to avoid a circular import(
functions.pyimports fromtask.pyat the top level).Changes
openml/tasks/task.py— 3 lines added to_parse_publish_response()tests/test_tasks/test_task_functions.py— regression test addedtests/files/mock_responses/tasks/task_upload_successful.xml— mock fixture