예제 코드를 고려하십시오 .
그라디언트가 폭발 할 가능성이있는 RNN에서이 네트워크에 그라디언트 클리핑을 적용하는 방법을 알고 싶습니다.
tf.clip_by_value(t, clip_value_min, clip_value_max, name=None)
이것은 사용할 수있는 예이지만 어디에서 소개해야합니까? RNN의 정의
lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0)
# Split data because rnn cell needs a list of inputs for the RNN inner loop
_X = tf.split(0, n_steps, _X) # n_steps
tf.clip_by_value(_X, -1, 1, name=None)
그러나 이것은 텐서 _X가 입력이고 무엇을 잘라야 할 졸업생이 아니기 때문에 의미가 없습니다.
이를 위해 고유 한 Optimizer를 정의해야합니까? 아니면 더 간단한 옵션이 있습니까?
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
다음과 같이 인스턴스화되고 옵티마이 저의 반복이 수행optimizer.run()
되지만optimizer.run()
이 경우 사용이 작동하지 않는 것 같습니다.