私はDBN(ディープビリーフネットワーク)を使用しています学習しないscikit-learn に基づいています。
データを非常にうまく分類できるネットワークをすでに構築しており、モデルを展開用にエクスポートすることに興味がありますが、方法がわかりません (何かを予測するたびに DBN をトレーニングしています)。matlab
重みマトリックスをエクスポートして、別のマシンにインポートするだけです。
モデル全体を再度トレーニングする必要なく、モデル/重みマトリックスをエクスポートしてインポートする方法を知っている人はいますか?
ベストアンサー1
まずインストールジョブライブラリ。
以下を使用できます:
>>> import joblib
>>> joblib.dump(clf, 'my_model.pkl', compress=9)
その後、予測サーバーで次の操作が行われます。
>>> import joblib
>>> model_clone = joblib.load('my_model.pkl')
これは基本的に、大規模な numpy 配列の処理を最適化した Python pickle です。コードの変更に関しては、通常の pickle と同じ制限があります。pickle オブジェクトのクラス構造が変更されると、新しいバージョンの nolearn または scikit-learn でオブジェクトを unpickle できなくなる可能性があります。
モデルパラメータを長期にわたって堅牢に保存したい場合は、独自のIOレイヤーを作成する必要があるかもしれません(たとえば、プロトコルバッファやAvroなどのバイナリ形式のシリアル化ツールを使用するか、非効率的ですが移植性の高いテキスト/ json / xml表現など)。PMML)。