The title says it all. Is there any way to serialize a function generated by sympy.lambdify?:
import sympy as sym
import pickle
import dill
a, b = sym.symbol
Indeed - pickle, cPickle, and even dill fail on this example with default settings.
But cloudpickle does not fail!
pip install cloudpickle
or
https://github.com/cloudpipe/cloudpickle
import sympy as sym
from cloudpickle import dumps, loads
a, b = sym.symbols("a, b")
expr = sym.sin(a) + sym.cos(b)
lambdified_expr = sym.lambdify((a, b), expr, modules="numpy")
var=dumps(lambdified_expr)
a1=lambdified_expr(10,10)
del lambdified_expr
lambdified_expr=loads(var)
a2=lambdified_expr(10,10)
a1==a2 # True