-
-
Notifications
You must be signed in to change notification settings - Fork 85
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
Using exports from mlr3fselect during multisession execution fails due to non-loaded package #1183
Comments
Hey, sorry for the late reply. Our team was on vacation. Thanks for reporting this bug. A workaround should be to load only the required packages. library(mlr3)
library(mlr3pipelines) |
Thanks for getting back! It's actually happening in a package, i.e. without explicit imports so not sure how to implement this workaround? From what I can gather the issue is that po("select") causes an import from mlr3fselect, which has an |
Yes, it has something to do with it. When mlr3verse is loaded, mlr3fselect is also loaded which adds a new col_role. However, mlr3fselect does not appear in your workflow, which is why mlr3fselect is not loaded on the worker. There is then an error on the worker because the new col_role of the task is not known. There is fix now. You can test the new versions with |
😲 so fast and an elegant fix thank you!
Sky Syzygy
Pronouns: She/They
Associate Director of Analytics & Insights
BAM (Brooklyn Academy of Music)
…
Peter Jay Sharp Building
30 Lafayette Ave, Brooklyn, NY 11217
…
P: 718.636.4194 x 8234
E: ***@***.******@***.***>
…
Help adventurous art thrive in Brooklyn!
BAM.org/support<https://www.bam.org/support?utm_source=internal&utm_medium=email-x&utm_content=mem-internal-support-e-x&utm_campaign=mem>
[https://lh6.googleusercontent.com/H-0wlRLvbmb9YABxfZGGmRl9YQU8d1A-wn8ch4YdLDwnQkP4sg6lleX5obu_00ZHvkr5pumGinQf7rjfwAnvKvUgWBrLrA00jp6PVnWrPsv52-JBzUf3y-iEGVqg0chK6MH1JSTo]<https://www.bam.org/support?utm_source=internal&utm_medium=email-x&utm_content=mem-internal-support-e-x&utm_campaign=mem>
…________________________________
From: Marc Becker ***@***.***>
Sent: Friday, October 18, 2024 1:13 AM
To: mlr-org/mlr3 ***@***.***>
Cc: Sky Syzygy ***@***.***>; Author ***@***.***>
Subject: Re: [mlr-org/mlr3] Using exports from mlr3fselect during multisession execution fails due to non-loaded package (Issue #1183)
Yes, it has something to do with it. When mlr3verse is loaded, mlr3fselect is also loaded which adds a new col_role. However, mlr3fselect does not appear in your workflow, which is why mlr3fselect is not loaded on the worker. There is then an error on the worker because the new col_role of the task is not known.
There is fix now. You can test the new versions with pak::pak(c("mlr-org/mlr3, "mlr-org/mlr3fselect")).
—
Reply to this email directly, view it on GitHub<#1183 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ANAFCX7IRSYOTHO4QX6DRTLZ4CKJBAVCNFSM6AAAAABO72D7R2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRRGM4TINZQHA>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
mlr3fselect adds
always_include
to mlr_reflection$col_roles on package load.This causes failures when training in with
future::plan("multisession")
, as the parallel workers don't seem to loadmlr3fselect
and complain about the existence ofalways_include
in the col_roles for the task.Here is a working (sequential) MWE:
And a failing (multisession) MWE:
Here are the package versions I'm using
The text was updated successfully, but these errors were encountered: