私はニューラルネットワークをトレーニングしています。私はそれらをコードに依存しない方法で保存して、別のソフトウェアを使用している人が読み込めるようにしたいと思います。コードに依存しないシリアライズのためのシステム/規約
ピクルがコードが変更または移動された環境(常にそうである)にロードされていると、ピクルが壊れてしまいます。
私はオブジェクトをプリミティブ型の辞書に変換しています。私はこれらのdictsをオブジェクトに戻すことができるモジュールを維持しています(オブジェクトのタイプはdictの "class"キーで定義されています)。私の現在の解決策は面倒です。
「コードに依存しないシリアライズ」のこの種を処理するために作られているいくつかのパッケージやデザインパターンがあるかどうだから私はあなたのプロジェクトのためにnumpyの/ scipyのダウンロードを使用している場合、あなたはあなたの体重のマトリクスを救うことができる
ランタイムフォーマットからストレージフォーマットを分離する必要があります(おそらく、何らかの種類の強度をjson方言にまで減らすか、サイズが重要な場合はバイナリフォーマットにする必要があります)。その後、安定したAPIを得るためにシリアライズコードを分離する必要があります。 APIをバージョン管理する必要があります。新しいバージョンを作成するたびに、古いバージョンを残して古いファイルを読み込む必要があります。また、バージョンxをバージョンx + 1にアップグレードする機能が必要です(古いファイル、新しいファイルを書く)。 – thebjorn