【发布时间】:2015-03-16 14:54:18
【问题描述】:
想象以下三个步骤:
- 我使用 sympy 构建了一个大型且有些复杂的表达式(此过程需要花费大量时间)。
- 然后使用
sympy.lambdify(也很慢)将该表达式转换为 lambda 函数。 - 然后评估所述函数(快速)
理想情况下,步骤 1 和 2 只执行一次,而步骤 3 将被评估多次。不幸的是,第 3 步的评估随着时间的推移而分散(以及不同的 python 会话!)
我正在寻找一种将“lambdified”表达式保存到磁盘的方法,以便稍后加载和使用它们。不幸的是,pickle 不支持 lambda 函数。我的 lambda 函数也使用 numpy。
我当然可以手动创建一个匹配函数并使用它,但这似乎效率低且容易出错。
【问题讨论】: