私はオートエンコーダーで作業しています。私のテンソルフローグラフは、(入力画像)--conv2d - >(圧縮表現)--deconv2d - >(再構成画像)のようになります。TensorFlowでデフォルトのプレースホルダのグラデーションを取得する方法は?
圧縮表現テンソルをplaceholder_with_defaultに変更しました。これにより、必要な値をプラグインして再構築されたものを見ることができます。 圧縮表現が供給されないときに使用されるデフォルト値は、conv2dの結果です。
しかし、オプティマイザは、と文句を言い:
LookupError: gradient registry has no entry for: PlaceholderWithDefault
私はグラフだけで最適化の段階で、通常の勾配を使用することを知らせることができますどのように? 圧縮された表現がプレースホルダーでない場合、すべて正常に動作します。
ネットワークの一部をプレースホルダに置き換えた場合、なぜオプティマイザを使用していますか?あなたのネットワークはすでに訓練されていると思います。 –
私は、表現の最適化と探索の両方のために働かなければならないと考えてグラフを作成しました。どのように訓練を受けた後、グラフの構造を変更することができますか?プレースホルダと計算部分の間を簡単に戻すことができるので、トレーニングと探索を切り替えることはできますか? – iramusa
エンコーダ、表現、およびデコーダを別々に保存することができます。あるいは、別のデコーダネットワークを構築し、 'get_variable()'関数を使って訓練された変数を再利用することもできます。 –