現在、Sklearnモデルオブジェクトをサーバー側からクライアント側に移動しようとしています。私はジャンゴには新しいので、私は強く苦しんでいます。DjangoのHttpRequestでpickledオブジェクトを渡す
オプションは、すべてのモデルパラメータをjsonifyし、それらを渡し、それらのパラメータで新しいモデルオブジェクトを再構築することです。
しかし、単純化して、ジャンゴについて少し学ぶ私の試みでは、私はピクルされたオブジェクトを渡して失敗しています。私はシンプル
pickle.loads(api_res)
をした場合、私は、フロントエンドAPIからそれを得た
result = pickle.dumps({'test':'test'}, pickle.HIGHEST_PROTOCOL)
return HttpResponse(pkl)
私は型インスタンスのエラーを取得:
私はもともとのような単純なものを試してみました。私がするとき:
pickle.loads(api_res.read())
それは私にEOFエラーを与える。
文字列バージョンの代わりにpickle.dumpを使用する可能性があることは知っていますが、私はちょうど途中でぎこちない言い訳をするようです。
ケーキ上の不幸なアイシングは、オブジェクトのシリアル化とdjangoでの返り値を返す人々のインスタンスを見つけることは明らかに困難です。ほとんどすべての結果は、djangoオブジェクト自体のシリアライズ/ピックリングに関するものです。
ヘルプ/リンクをいただければ幸いです。
サーバー側からクライアント側にスケルトンモデルオブジェクトを渡す方法について他に提案がありますか?それが最終的に私がやろうとしていることです。私たちはモデルサーバー側を訓練していますが、現在、開発者がさまざまなデータ処理のためにノートブックのクライアント側にアクセスする方法はありません。 – Lzkatz
私はJSONかCBORが良い選択だと言います。オブジェクトをアンピクルするには、アーキテクチャに依存しない方法でシリアル化する必要があります。 しかし、それをノートブックに統合するのが最善の方法だとは思っていません。 – lig