私は小さなネットワークを持っています。 [多くの時間]訓練を受け、チェックポイントに保存されました。 これで、チェックポイントから別のスクリプトに復元して使用したいと思います。 セッションを再作成します。ネットワーク全体を構築します。トレーニングの前に行ったのとまったく同じコードを使用して、すべての操作が再び作成されます。 このコードは、time.time() [実行ごとに異なる]を使用して、TFのランダムシードを設定します。Tensorflowは確定的ではありません。どこにあるべきですか
次に、チェックポイントから復元します。私はネットワークを稼働させ、復元されたネットワークを実行するたびに異なる数(小さいながら意味のある違い)を取得します。重要な点は、入力が固定されていることです。 ランダムシードをある値に固定すると、非決定的な振る舞いがなくなります。
リストア[変数が保存されていないので、すべてのグラフがチェックポイントされていると見なしている]と思って困惑しています。初期化などは、復元されたチェックポイントによって上書きされますが、これは前方実行のみです。
これは可能ですか?理にかなっている?グラフのどの変数や要因がリストアされたチェックポイントによって設定されていないかを調べる方法はありますか?
これは、乱数を使用するop(shuffle_batch、dropout、random_contrast)があることを示しています。あなたの作戦のいずれかが作戦時に 'シード'を受け入れるかどうかを見てください。自動的に変数の初期化を実行してはならず、 'initialize_all_variables'を実行しないと、次に変数を使用しようとすると例外が発生します –
ドロップアウトを使いましたか? –
「フォワードラン」とは、復元されたネットワークを予測権としてのみ使用しているということですか?その場合、トレーニング中にドロップアウトが使用されたかどうかは重要ですか?私はそう思わないだろうが、私は専門家ではない。 – Aenimated1