標準のサポートベクター回帰コンポーネントとフィーチャを作成するカスタムトランスフォーマーを組み合わせたsklearn pipelineを構築しました。このパイプラインは、訓練され、次に漬けられた物体に入れられる(this seems to be the recommended way)。 unpickledオブジェクトは、予測を行うために使用されます。カスタムsklearnパイプラインを維持(ピクル)するための推奨される方法は何ですか?
配布の場合、これはpyinstallerの実行可能ファイルに変換されます。
ユニットテストからunpickled回帰オブジェクトを呼び出すと、正常に動作します。私は予測を行うためにpyInstallerのバイナリを使用しようとすると
しかし、私はで終わる長いstack trace取得:
module = loader.load_module(fullname) File "messagestream.pxd", line 5, in init scipy.optimize._trlib._trlib ImportError: No module named 'scipy._lib.messagestream'
これはおそらくに、酸洗エラーのいくつかの種類のように感じています酸洗いとpyinstallerとの相互作用。どのようにして私のコードをリファクタリングして、私のカスタムパイプラインが、unpicklingの後に標準のsklearn regressorと同じくらい簡単かつ堅牢に動作するようにすることができますか?
に関連するいくつかの他の隠された輸入品を必要とあなたはjoblibであなたのモデルを漬けていますか? –
いいえ、私はpickleで酸洗していますが、私もjoblibを試しましたが、無駄にしません。 –
誰かが同じ問題を抱えています:https://stackoverflow.com/questions/47055712/error-when-executing-compiled-file-no-module-named-scipy-lib-messagestream –