以下に定義された独自のパラメータの更新を実装する際に問題があります。私はAdamOptimizerを使用するときに動作する畳み込みニューラルネットワークのためにこれを実行しようとしています。 重量およびバイアス値のヒストグラムを表示すると、損失が変化したにもかかわらず、繰り返しの変化は見られません。前もって感謝します。テンソルフローのカスタムパラメータの更新が機能しない
私は後でfeed_dict = minibatchsess.run(gradient_upgrade(gradient, .001, 1), feed_dict = feed_dict)
重みとバイアスにsess.runを呼び出して、それぞれ次の形式である
def gradient_upgrade(gradients, base_rate, rate_multiplier):
with tf.name_scope('gradient-update'):
for i in range(len(weights)):
weights[i].assign(tf.subtract(weights[i], tf.multiply(gradients[i], base_rate * rate_multiplier)))
biases[i].assign(tf.subtract(biases[i], tf.multiply(gradients[len(weights)+i], base_rate * rate_multiplier)))
return weights, biases
gradient = tf.gradients(cost, [*weights, *biases])
tf.Variable(tf.truncated_normal(shape, stddev=0.05))
tf.Variable(tf.constant(0.05, shape=[length]))
だけで、それは無用であるworking' 'ではないことを言って:
擬似コードは次のようになります。あなたの質問を編集して_うまくいかないことを説明してください。あなたは何を期待していますか?それは現在何をしていますか?エラーは何ですか?詳細の不足のために投票を閉じる –
うまくいけば、これでもう少し明確になるはずです@MattClark –