まず、私がやりたいワークフローの概要は次のとおりです。 1. sympy を使用して「数学を実行」し、いくつかの式を作成します 2. 対応する式をラムダ化します 3. 対応するラムダ関数をファイルに保存します 4. それらをロードします私のコードの独立した部分で
ステップ3まではすべてうまくいきます。私はさまざまなことを試しました。特に、これを読んだ後、これは私が機能させたい最小限の例です:
import sympy as sp
import dill as pickle
x, y = sp.symbols("x, y")
f_example = 2*x**2 + 2*x*y
f_lbda= sp.lambdify((x, y),f_example )
pickle.settings['recurse'] = True
fileW = open('file_where_I_dump.dill', 'wb')
# the following line crashes
pickle.dump([f_lbda, f_lbda], fileW)
fileR = open('file_where_I_dump.dill', 'rb')
f_lbda_loaded = pickle.load(fileR)
このエラーが発生します(重要な数の後にDuring handling of the above exception, another exception occurred:
ValueError: 'axis' entry is out of bounds
ここで重要な何かが欠けていますか?
注: 代わりに sympy 式をダンプし、pickle.load の後で関数をラム化すると、すべてうまくいきます。しかし、これはまさに私が必要とするワークフローではありません!
ご協力いただきありがとうございます !