Serialises a pigauto_fit object to disk, including the torch
model state. The saved file can be loaded on any machine with the
same pigauto version.
Arguments
- fit
pigauto_fit object, or a
pigauto_resultfromimpute(its$fitis saved).- path
character. File path to save to (recommended extension:
.pigauto).- compress
logical. Use gzip compression (default
TRUE).
Details
Standard saveRDS() does not work for pigauto fits because
torch tensor states cannot be serialised by R's native mechanism.
This function converts the model state to a portable raw format
before saving.
Examples
# \donttest{
data(avonet300, tree300)
tree <- ape::keep.tip(tree300, tree300$tip.label[seq_len(30L)])
traits <- avonet300[match(tree$tip.label, avonet300$Species_Key),
c("Mass", "Wing.Length"), drop = FALSE]
rownames(traits) <- tree$tip.label
traits$Mass[seq_len(3L)] <- NA_real_
fit <- impute(traits, tree, epochs = 5L, verbose = FALSE)$fit
#> Warning: Small validation set for 2 trait(s): Mass (n=2), Wing.Length (n=5). Calibrated gate and conformal scores will be noisy for these trait(s). 95% split-conformal coverage is NOT achievable for 2 trait(s) with fewer than 19 validation cells (Mass (n=2), Wing.Length (n=5)): the achievable ceiling is n_val / (n_val + 1), which only reaches 0.95 at n_val >= 19. See `?fit_pigauto` under 'Calibration at small n' for smoothing options.
path <- tempfile(fileext = ".pigauto")
save_pigauto(fit, path)
#> Model saved to /tmp/RtmpVdQWpe/file1f2137664dd4.pigauto (10,562 bytes)
fit2 <- load_pigauto(path)
# }
