2016-10-11 7 views
2

Tensorflow에서 다음 교육 단계의 이전 교육 단계에서 네트워크의 일부 변수를 사용하고 싶습니다. 좀 더 구체적으로 말하면 이전 훈련 단계의 일부 네트워크 텐서를 사용하는 2 차 비용 함수를 계산하고자합니다.Tensorflow : 교육 단계에서 지연 변수

이 질문은 RNN 코드 조각으로 대답 할 수 있지만 아직 방법을 찾지 못했습니다. 나는 How can I feed last output y(t-1) as input for generating y(t) in tensorflow RNN?Tensorflow: How to pass output from previous time-step as input to next timestep뿐만 아니라 TensorFlow: Remember LSTM state for next batch (stateful LSTM)을 찾고있었습니다. 그래서, (예를 들어 h_old에 저장) 나는 훈련 기간 동안 샘플을 처리 한 후 텐서 시간을 보존 할 수있는 방법을

h = tf.nn.relu(tf.matmul(h_previous,W_previous)) 

:

는 시간이 이전의 여러 레이어 신경망의 마지막 층 예라고 가정 I를 계산하기위한 다음의 트레이닝 단계에서 사용할 수있는이 같은 본 실시 예 H에서

d = tf.sub(h,h_old) 

현재 트레이닝 샘플 업데이트되며 h_old 이전 트레이닝 샘플을 계산 하였다 텐서이다. 이 문제에 대한 몇 가지 아이디어가 좋습니다!

답변

0

h_old을 변수로 만드는 것은 어떻습니까?

h_old = tf.Variable(tf.zeros(<some-shape>)) 

. 
. 

h = tf.nn.relu(tf.matmul(h_previous,W_previous)) 
d = tf.sub(h,h_old) 
h_old.assign(h) 
+0

답장을 보내 주시면 감사하겠습니다. 최대한 빨리 답변 드리겠습니다. 이것이이 문제에 실제로 적용되는지 알려 드리겠습니다. – Scoolar

+0

@Scoolar 예상대로 작동 했습니까? – Visionscaper

관련 문제