It is very important to know how to save the entire current session like local variables, objects etc when we are working with AI projects using Python because it is very difficult to run the entire python code every time to initialise the objects, Models, variables etc.
To overcome this problem we have pickle to take care of it but some times it fails to deserialise the pickled objects so,
dill library can be implemented to quickly store and retrieve the current session.
Here is a quick introduction to dill:-
dill extends pythonβs pickle module for serializing and de-serializing python objects to the majority of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse of which is converting a byte stream back to a python object hierarchy.
dill provides the user the same interface as the pickle module, and also includes some additional features. In addition to pickling python objects, dill provides the ability to save the state of an interpreter session in a single command. Hence, it would be feasable to save an interpreter session, close the interpreter, ship the pickled file to another computer, open a new interpreter, unpickle the session and thus continue from the βsavedβ state of the original interpreter session.
Therefore, the following code can be implemented to save the current session:-
##### User's python code #####
# pip install dill (or) conda install dill
import dill;
# Save the entire session by creating a new pickle file
dill.dump_session('./your_bk_dill.pkl');
# Restore the entire session
dill.load_session('./your_bk_dill.pkl');
From, above it is clear that implementing dill is very easy and also it provides function like dill.detect to investigate the failed attributes inside that object.
Top comments (3)
Glad I know it before. Ty
didn't know about this earlier. Thanks!
πππ