Closed asinghvi17 closed 4 years ago
Generic functions need to be redefined manually in new sessions. Anonymous functions should be fine.
Looks like that works...thanks @ChrisRackauckas!
@logankilpatrick I wonder if we could use JLSO, which is essentially a wrapper around Serialization with a Manifest cached as BSON, for short term storage, and materialize everything for a long term solution.
OK, so it looks like the short-term, local situation is solved. However, we do still need to figure out a long term solution for storage, which probably can't involve serialization of any sort.
JLSO looks interesting. I know we discussed in on the call, but just for the record: using a serialized format for long term storage is fine as long as people in the future are okay with using old versions of Julia(Pro) to load it. The problem is that it's not portable to more recent versions of Julia and Pumas. In my opinion, it's fine that the portable solution is simply the script with the Pumas program, the data (or some way to query it), and a Manifest. I.e. you'd then have to rerun the program.
Session 1:
Session 2 (immediately after session 1):
Serialization also fails with a different error. It looks like both of the "trivial" options are not going to work.
This leaves us with the alternative of storing the source code, and materializing all possible measurements at the time we save, so that we don't run into issues with data being unavailable.
If we save the source code of the model and the parameters, could we "reconstitute" an FPM?
cc: @vjd @ChrisRackauckas @andreasnoack @logankilpatrick