Closed rcarboni closed 4 years ago
This is pretty strange. I can reproduce with future.apply
but can't seem to easy get it to break with just pure futures. CC @HenrikBengtsson since I have a future.apply example. I tried for awhile but can't figure out how to trace it backwards to an original source. It stops happening after calling the function twice in the same cluster, so that makes me think it might be related to some kind of Stan compilation thing.
library(prophet)
library(future.apply)
data <- list(
data.frame(
ds = seq.Date(as.Date("2017/1/1"), as.Date("2017/1/5"), by = "day"),
y = seq(1000, 5000, by = 1000)
)
)
model <- list(
prophet(growth = 'linear', daily.seasonality = FALSE, yearly.seasonality = FALSE, weekly.seasonality = FALSE, n.changepoints = 3)
)
plan(multisession)
# prints garbage twice, then nothing
str(future_mapply(fit.prophet, model, data, SIMPLIFY = FALSE))
str(future_mapply(fit.prophet, model, data, SIMPLIFY = FALSE))
str(future_mapply(fit.prophet, model, data, SIMPLIFY = FALSE))
# resetting the plan will retrigger this problem
plan(multisession)
str(future_mapply(fit.prophet, model, data, SIMPLIFY = FALSE))
The full output is here, but its really long and is more manageable to read in your own session:
Fitting a
prophet
model withfuture_map2()
prints a bunch of garbage out to screen. The code wasn't previously doing that, and I isolated it to thefuture
package getting updated to v 1.13.Below is the reproducible code - runs well with future v1.12 and starts printing garbage with v1.13 (reproduces consistently when installing one version or the other on a fresh R session).
sessionInfo()
Sample of the garbage that gets printed: