2016-08-14 8 views
2

Tensorflowを使用すると、tf.train.write_graphメソッドを使用してモデルの構造を保存/ロードすることができ、将来的に復元してトレーニングセッションを続けることができます。しかし、私はモジュールを作成することができます(GraphDefinition.pyなど)し、このモジュールを使用してモデルを再作成できるので、これが必要な場合には不思議です。 これは、モデル構造を保存するためのより良い方法ですか、モデルを保存する際にどのような方法で使用すべきかを示唆する経験則がありますか?テンソルフローでのモデルの保存

+0

いくつかのコード例を教えてください。またはそれ以上の情報? TensorFlowモデルの重みを節約するために、なぜモジュールを作成するのが得策ではないのですか?グラフ全体を保存することもできます(オーバーヘッドがある場合は、オーバーヘッドがあります)、または保存するウェイトを指定します。しかし、使用されたメモリにもかかわらず、それほど大きな違いはありません。 – daniel451

答えて

3

まずテンソルフローグラフには現在の重みがないことを理解しておく必要があります(グラフを手動で保存するまで)。graph.pbからモデル構造を読み込むと、最初から訓練を開始します。しかし、訓練を続けたり訓練を受けたモデルを使用したい場合は、構造だけでなく、変数の値をチェックポイント(tf Saverを使用)に保存する必要があります。 このトレッドを確認してください:Tensorflow: How to restore a previously saved model (python)

+0

うん。体重を節約するためにtf.Saverを使用する必要があることを理解しています。私が得ることができなかったことは、モデル構造をgraph.pbに保存し、そのファイルからグラフをリロードする必要があるか、自分でグラフを再作成する必要があるかということです。 – user3425082

+0

グラフとチェックポイントの重要な操作と変数については、同じ名前(python \ C++の名前ではなく、tf、つまりa:tf.Variable(値、名前= '定義名 - 名前 - ここ')) ファイルを正しくロードすることができますが、これを取得する方法は完全にあなた次第です。グラフ定義ファイルを保存したり復元したり、コードで再作成することができます。 –

関連する問題