オートエンコーダーを実装したい(正確にスタックされた畳み込みオートエンコーダーにする)
ここでは、最初に各レイヤーを事前トレーニングしてから微調整したいと思います
そこで、各レイヤーの重みの変数を作成しました
元。最初のレイヤーの W_1 = tf.Variable(initial_value, name,trainable=True など)
そして、最初のレイヤーの W_1 を事前トレーニングしました
次に、2 番目のレイヤー (W_2) の重みを事前トレーニングします。
ここでは、2 番目のレイヤーの入力を計算するために W_1 を使用する必要があります。
ただし、W_1 はトレーニング可能であるため、W_1 を直接使用すると、tensorflow が W_1 を一緒にトレーニングする可能性があります。
したがって、W_1 の値を保持するが訓練可能ではない W_1_out を作成する必要があります
正直なところ、このサイトのコードを変更しようとしました
https://github.com/cmgreen210/TensorFlowDeepAutoencoder/blob/master/code/ae/autoencoder.py
102行目で、次のコードで変数を作成します
self[name_w + "_fixed"] = tf.Variable(tf.identity(self[name_w]),
name=name_w + "_fixed",
trainable=False)
ただし、エラーが発生するため、初期化されていない値が使用されます
変数をコピーするが、次のレイヤーを事前トレーニングするためにトレーニングできないようにするにはどうすればよいですか??